diff --git a/odex25_dms/.gitignore b/odex25_dms/.gitignore new file mode 100644 index 000000000..e3695b424 --- /dev/null +++ b/odex25_dms/.gitignore @@ -0,0 +1,128 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +parts/ +sdist/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + + + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# github action +.github/workflows/*yaml diff --git a/odex25_dms/README.md b/odex25_dms/README.md new file mode 100644 index 000000000..2897e9a2e --- /dev/null +++ b/odex25_dms/README.md @@ -0,0 +1 @@ +# zuhair-project \ No newline at end of file diff --git a/odex25_dms/dms/README.rst b/odex25_dms/dms/README.rst new file mode 100644 index 000000000..78599646f --- /dev/null +++ b/odex25_dms/dms/README.rst @@ -0,0 +1,166 @@ +========================== +Document Management System +========================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdms-lightgray.png?logo=github + :target: https://github.com/OCA/dms/tree/14.0/dms + :alt: OCA/dms +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/dms-14-0/dms-14-0-dms + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/292/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +DMS is a module for creating, managing and viewing document files directly +within Odoo. +This module is only the basis for an entire ecosystem of apps that extend and +seamlessly integrate with the document management system. + +This module adds portal functionality for directories and files for allowed users, both portal or internal users. You can get as well a tokenized link from a directory or a file for sharing it with any anonymous user. + +**Table of contents** + +.. contents:: + :local: + +Installation +============ + +Preview +~~~~~~~ + +`mail_preview_base` is required for DMS but it is recommended to install all +the other `mail_preview` modules from `social` OCA repository +in order to improve the preview of files. + +Configuration +============= + +To configure this module, you need to: + +#. Go to *Documents -> Configuration -> Storages*. +#. Create a new document storage. You can choose between two options on `Save Type`: + * `Database`: Store the files on the database as a field + * `Attachment`: Store the files as attachments +#. Afterwards go to *Documents -> Directories*. +#. Create a new directory, mark it as root and select the previously created setting. +#. On the Directory you can also define the access groups that will be able to: + * read + * create + * write + * delete + + +Migration +~~~~~~~~~ + +If you need to modify the storage Save Type you might want to migrate the file data. +In order to achieve it you need to: + +#. Go to *Documents -> Configuration -> Storage* and select the storage you want to modify +#. Modify the save type +#. Press the button `Migrate files` if you want to migrate all the files at once +#. Press the button `Manual File Migration` in order to specify files one by one + +You can check all the files that still needs to be migrated from all storages +and migrate them manually on *Documents -> Configuration -> Migration* + +Usage +===== + +The best way to manage the documents is to switch to the Documents view. +Existing documents can be managed there and new documents can be created. + +Portal functionality +~~~~~~~~~~~~~~~~~~~~ + +You can add any portal user to DMS access groups, and then allow that group in directories, so they will see in the portal such directories and their files. +Another possibility is to click on "Share" button inside a directory or a file for obtaining a tokenized link for single access to that resource, no matter if logged or not. + +Known issues / Roadmap +====================== + +- Files preview in portal +- Allow to download folder in portal and create zip file with all content +- Save in cache own_root directories and update in every create/write/unlink function +- Add a migration procedure for converting an storage to attachment one for populating existing records with attachments as folders +- Add a link from attachment view in chatter to linked documents +- If Inherit permissions from related record (the inherit_access_from_parent_record field from storage) is changed when directories already exist, inconsistencies may occur because groups defined in the directories and subdirectories will still exist, all groups in these directories should be removed before changing. +- Since portal users can read ``dms.storage`` records, if your module extends this model to another storage backend that needs using secrets, remember to forbid access to the secrets fields by other means. It would be nice to be able to remove that rule at some point. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* MuK IT +* Tecnativa + +Contributors +~~~~~~~~~~~~ + +* Mathias Markl +* Enric Tobella +* Antoni Romera +* Gelu Boros + +* `Tecnativa `_: + + * Víctor Martínez + * Pedro M. Baeza + * Jairo Llopis + +Other credits +~~~~~~~~~~~~~ + +Some pictures are based on or inspired by: + +* `Roundicons `_ +* `Smashicons `_ + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. Adding new features by an Expert Co. + + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://exp-sa.com + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/dms `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odex25_dms/dms/__init__.py b/odex25_dms/dms/__init__.py new file mode 100644 index 000000000..e4f4917ae --- /dev/null +++ b/odex25_dms/dms/__init__.py @@ -0,0 +1,3 @@ +from . import controllers +from . import models +from . import wizard diff --git a/odex25_dms/dms/__manifest__.py b/odex25_dms/dms/__manifest__.py new file mode 100644 index 000000000..9dcb31114 --- /dev/null +++ b/odex25_dms/dms/__manifest__.py @@ -0,0 +1,54 @@ +# Copyright 2017-2019 MuK IT GmbH +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +{ + "name": "Document Management System", + "summary": """Document Management System for Odex25""", + "version": "14.0.4.0.0", + "category": "Odex25-DMS/Odex25-DMS", + "license": "LGPL-3", + "website": "https://github.com/OCA/dms", + "author": "MuK IT, Tecnativa, Odoo Community Association (OCA)", + "depends": [ + 'base', + 'web', + 'attachment_indexation', + 'digest', + "web_drop_target", + "mail", + "http_routing", + "portal", + "mail_preview_base", + "project", + "board", + 'documents' + ], + "data": [ + "security/security.xml", + "security/ir.model.access.csv", + "actions/file.xml", + "data/documents_data.xml", + "data/mail_templates.xml", + "template/assets.xml", + "template/onboarding.xml", + "views/documents_views.xml", + # 'views/assets.xml', + 'views/templates.xml', + 'views/activity_views.xml', + "views/menu.xml", + "views/tag.xml", + "views/category.xml", + # "views/dms_file.xml", + "views/directory.xml", + "views/attach.xml", + "views/storage.xml", + "views/settings_view.xml", + "views/dms_access_groups_views.xml", + "views/res_config_settings.xml", + "views/dms_portal_templates.xml", + 'wizard/request_activity_views.xml', + ], + "qweb": ["static/src/xml/views.xml"], + "images": ["static/description/banner.png"], + "application": True, +} diff --git a/odex25_dms/dms/actions/file.xml b/odex25_dms/dms/actions/file.xml new file mode 100644 index 000000000..f7cb50b13 --- /dev/null +++ b/odex25_dms/dms/actions/file.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + diff --git a/odex25_dms/dms/controllers/__init__.py b/odex25_dms/dms/controllers/__init__.py new file mode 100644 index 000000000..984e838ae --- /dev/null +++ b/odex25_dms/dms/controllers/__init__.py @@ -0,0 +1,2 @@ +from . import main +from . import portal diff --git a/odex25_dms/dms/controllers/main.py b/odex25_dms/dms/controllers/main.py new file mode 100644 index 000000000..16f3288b8 --- /dev/null +++ b/odex25_dms/dms/controllers/main.py @@ -0,0 +1,517 @@ +# Copyright 2017-2019 MuK IT GmbH +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +from odoo import http +import base64 +import zipfile +import io +import json +import logging +import os +from contextlib import ExitStack +from odoo.exceptions import AccessError +from odoo.http import request, content_disposition +from odoo.tools.translate import _ +from odoo.tools import image_process +from odoo.addons.web.controllers.main import Binary + +logger = logging.getLogger(__name__) + + +class OnboardingController(http.Controller): + @http.route("/dms/document_onboarding/directory", auth="user", type="json") + def document_onboarding_directory(self): + company = request.env.user.company_id + closed = company.documents_onboarding_state == "closed" + check = request.env.user.has_group("dms.group_dms_manager") + if check and not closed: + return { + "html": request.env.ref( + "dms.document_onboarding_directory_panel" + )._render( + { + "state": company.get_and_update_documents_onboarding_state(), + "company": company, + } + ) + } + return {} + + @http.route("/dms/document_onboarding/file", auth="user", type="json") + def document_onboarding_file(self): + company = request.env.user.company_id + closed = company.documents_onboarding_state == "closed" + check = request.env.user.has_group("dms.group_dms_manager") + if check and not closed: + return { + "html": request.env.ref("dms.document_onboarding_file_panel")._render( + { + "state": company.get_and_update_documents_onboarding_state(), + "company": company, + } + ) + } + return {} + + @http.route("/config/dms.forbidden_extensions", type="json", auth="user") + def forbidden_extensions(self, **_kwargs): + params = request.env["ir.config_parameter"].sudo() + return { + "forbidden_extensions": params.get_param( + "dms.forbidden_extensions", default="" + ) + } + + +class ShareRoute(http.Controller): + + # util methods ################################################################################# + + def binary_content(self, id, env=None, field='datas', share_id=None, share_token=None, + download=False, unique=False, filename_field='name'): + env = env or request.env + record = env['documents.document'].browse(int(id)) + filehash = None + + if share_id: + share = env['documents.share'].sudo().browse(int(share_id)) + record = share._get_documents_and_check_access(share_token, [int(id)], operation='read') + if not record or not record.exists(): + return (404, [], None) + + #check access right + try: + last_update = record['__last_update'] + except AccessError: + return (404, [], None) + + mimetype = False + if record.type == 'url' and record.url: + module_resource_path = record.url + filename = os.path.basename(module_resource_path) + status = 301 + content = module_resource_path + else: + status, content, filename, mimetype, filehash = env['ir.http']._binary_record_content( + record, field=field, filename=None, filename_field=filename_field, + default_mimetype='application/octet-stream') + status, headers, content = env['ir.http']._binary_set_headers( + status, content, filename, mimetype, unique, filehash=filehash, download=download) + + return status, headers, content + + def _get_file_response(self, id, field='datas', share_id=None, share_token=None): + """ + returns the http response to download one file. + + """ + + status, headers, content = self.binary_content( + id, field=field, share_id=share_id, share_token=share_token, download=True) + + if status != 200: + return request.env['ir.http']._response_by_status(status, headers, content) + else: + content_base64 = base64.b64decode(content) + headers.append(('Content-Length', len(content_base64))) + response = request.make_response(content_base64, headers) + + return response + + def _make_zip(self, name, documents): + """returns zip files for the Document Inspector and the portal. + + :param name: the name to give to the zip file. + :param documents: files (documents.document) to be zipped. + :return: a http response to download a zip file. + """ + stream = io.BytesIO() + try: + with zipfile.ZipFile(stream, 'w') as doc_zip: + for document in documents: + if document.type != 'binary': + continue + status, content, filename, mimetype, filehash = request.env['ir.http']._binary_record_content( + document, field='datas', filename=None, filename_field='name', + default_mimetype='application/octet-stream') + doc_zip.writestr(filename, base64.b64decode(content), + compress_type=zipfile.ZIP_DEFLATED) + except zipfile.BadZipfile: + logger.exception("BadZipfile exception") + + content = stream.getvalue() + headers = [ + ('Content-Type', 'zip'), + ('X-Content-Type-Options', 'nosniff'), + ('Content-Length', len(content)), + ('Content-Disposition', content_disposition(name)) + ] + return request.make_response(content, headers) + + # Download & upload routes ##################################################################### + + @http.route('/documents/upload_attachment', type='http', methods=['POST'], auth="user") + def upload_document(self, folder_id, ufile, document_id=False, partner_id=False, owner_id=False): + try: + files = request.httprequest.files.getlist('ufile') + result = {'success': _("All files uploaded")} + tag_ids = request.params.pop('tag_ids', None) + tag_ids = tag_ids.split(',') if tag_ids else [] + if document_id: + document = request.env['documents.document'].browse(int(document_id)) + ufile = files[0] + try: + data = base64.encodebytes(ufile.read()) + mimetype = ufile.content_type + document.write({ + 'name': ufile.filename, + 'datas': data, + 'mimetype': mimetype, + }) + except Exception as e: + logger.exception("Fail to upload document %s" % ufile.filename) + result = {'error': str(e)} + else: + vals_list = [] + for ufile in files: + try: + mimetype = ufile.content_type + datas = base64.encodebytes(ufile.read()) + vals = { + 'name': ufile.filename, + 'mimetype': mimetype, + 'datas': datas, + 'folder_id': int(folder_id), + 'tag_ids': tag_ids, + 'partner_id': int(partner_id) + } + if owner_id: + vals['owner_id'] = int(owner_id) + vals_list.append(vals) + except Exception as e: + logger.exception("Fail to upload document %s" % ufile.filename) + result = {'error': str(e)} + cids = request.httprequest.cookies.get('cids', str(request.env.user.company_id.id)) + allowed_company_ids = [int(cid) for cid in cids.split(',')] + documents = request.env['documents.document'].with_context(allowed_company_ids=allowed_company_ids).create(vals_list) + result['ids'] = documents.ids + + return json.dumps(result) + except Exception as e: + msg = "Fail to upload document %s" % str(e) + result = {'error': msg} + logger.exception(msg) + # return json.dumps(result) + + @http.route('/documents/pdf_split', type='http', methods=['POST'], auth="user") + def pdf_split(self, new_files=None, ufile=None, archive=False, vals=None): + """Used to split and/or merge pdf documents. + + The data can come from different sources: multiple existing documents + (at least one must be provided) and any number of extra uploaded files. + + :param new_files: the array that represents the new pdf structure: + [{ + 'name': 'New File Name', + 'new_pages': [{ + 'old_file_type': 'document' or 'file', + 'old_file_index': document_id or index in ufile, + 'old_page_number': 5, + }], + }] + :param ufile: extra uploaded files that are not existing documents + :param archive: whether to archive the original documents + :param vals: values for the create of the new documents. + """ + vals = json.loads(vals) + new_files = json.loads(new_files) + # find original documents + document_ids = set() + for new_file in new_files: + for page in new_file['new_pages']: + if page['old_file_type'] == 'document': + document_ids.add(page['old_file_index']) + documents = request.env['documents.document'].browse(document_ids) + + with ExitStack() as stack: + files = request.httprequest.files.getlist('ufile') + open_files = [stack.enter_context(io.BytesIO(file.read())) for file in files] + + # merge together data from existing documents and from extra uploads + document_id_index_map = {} + current_index = len(open_files) + for document in documents: + open_files.append(stack.enter_context(io.BytesIO(base64.b64decode(document.datas)))) + document_id_index_map[document.id] = current_index + current_index += 1 + + # update new_files structure with the new indices from documents + for new_file in new_files: + for page in new_file['new_pages']: + if page.pop('old_file_type') == 'document': + page['old_file_index'] = document_id_index_map[page['old_file_index']] + + # apply the split/merge + new_documents = documents._pdf_split(new_files=new_files, open_files=open_files, vals=vals) + + # archive original documents if needed + if archive == 'true': + documents.write({'active': False}) + + response = request.make_response(json.dumps(new_documents.ids), [('Content-Type', 'application/json')]) + return response + + @http.route(['/documents/content/'], type='http', auth='user') + def documents_content(self, id): + return self._get_file_response(id) + + @http.route(['/documents/image/', + '/documents/image//x', + ], type='http', auth="public") + def content_image(self, id=None, field='datas', share_id=None, width=0, height=0, crop=False, share_token=None, + unique=False, **kwargs): + status, headers, image_base64 = self.binary_content( + id=id, field=field, share_id=share_id, share_token=share_token, unique=unique) + if status != 200: + return request.env['ir.http']._response_by_status(status, headers, image_base64) + + try: + image_base64 = image_process(image_base64, size=(int(width), int(height)), crop=crop) + except Exception: + return request.not_found() + + if not image_base64: + return request.not_found() + + content = base64.b64decode(image_base64) + headers = http.set_safe_image_headers(headers, content) + response = request.make_response(content, headers) + response.status_code = status + return response + + @http.route(['/document/zip'], type='http', auth='user') + def get_zip(self, file_ids=None, zip_name=None, token=None, **kwargs): + """Route to get the zip file of the selection in the document's Kanban view. + + :param file_ids: IDs of the files to zip (either comma-separated or list format). + :param zip_name: Name of the zip file. + :param token: Optional token for file tracking. + """ + if not file_ids: + # If file_ids is None, check for list-style query parameters + file_ids = request.httprequest.args.getlist('file_ids[]') + + if file_ids: + if isinstance(file_ids, list): # Case: file_ids[]=1262&file_ids[]=1256 + ids_list = [int(x) for x in file_ids] + else: # Case: file_ids=1262,1256,1261 + ids_list = [int(x) for x in file_ids.split(',')] + else: + ids_list = [] + + env = request.env + response = self._make_zip(zip_name, env['documents.document'].browse(ids_list)) + + if token: + response.set_cookie('fileToken', token) + + return response + + @http.route(["/document/download/all//"], type='http', auth='public') + def share_download_all(self, access_token=None, share_id=None): + """ + :param share_id: id of the share, the name of the share will be the name of the zip file share. + :param access_token: share access token + :returns the http response for a zip file if the token and the ID are valid. + """ + env = request.env + try: + share = env['documents.share'].sudo().browse(share_id) + documents = share._get_documents_and_check_access(access_token, operation='read') + if documents: + return self._make_zip((share.name or 'unnamed-link') + '.zip', documents) + else: + return request.not_found() + except Exception: + logger.exception("Failed to zip share link id: %s" % share_id) + return request.not_found() + + @http.route(["/document/avatar//"], type='http', auth='public') + def get_avatar(self, access_token=None, share_id=None): + """ + :param share_id: id of the share. + :param access_token: share access token + :returns the picture of the share author for the front-end view. + """ + try: + env = request.env + share = env['documents.share'].sudo().browse(share_id) + if share._get_documents_and_check_access(access_token, document_ids=[], operation='read') is not False: + image = env['res.users'].sudo().browse(share.create_uid.id).image_128 + + if not image: + binary = Binary() + return binary.placeholder() + + return base64.b64decode(image) + else: + return request.not_found() + except Exception: + logger.exception("Failed to download portrait") + return request.not_found() + + @http.route(["/document/thumbnail///"], + type='http', auth='public') + def get_thumbnail(self, id=None, access_token=None, share_id=None): + """ + :param id: id of the document + :param access_token: token of the share link + :param share_id: id of the share link + :return: the thumbnail of the document for the portal view. + """ + try: + thumbnail = self._get_file_response(id, share_id=share_id, share_token=access_token, field='thumbnail') + return thumbnail + except Exception: + logger.exception("Failed to download thumbnail id: %s" % id) + return request.not_found() + + # single file download route. + @http.route(["/document/download///"], + type='http', auth='public') + def download_one(self, id=None, access_token=None, share_id=None, **kwargs): + """ + used to download a single file from the portal multi-file page. + + :param id: id of the file + :param access_token: token of the share link + :param share_id: id of the share link + :return: a portal page to preview and download a single file. + """ + try: + document = self._get_file_response(id, share_id=share_id, share_token=access_token, field='datas') + return document or request.not_found() + except Exception: + logger.exception("Failed to download document %s" % id) + + return request.not_found() + + # Upload file(s) route. + @http.route(["/document/upload///", + "/document/upload///"], + type='http', auth='public', methods=['POST'], csrf=False) + def upload_attachment(self, share_id, token, document_id=None, **kwargs): + """ + Allows public upload if provided with the right token and share_Link. + + :param share_id: id of the share. + :param token: share access token. + :param document_id: id of a document request to directly upload its content + :return if files are uploaded, recalls the share portal with the updated content. + """ + share = http.request.env['documents.share'].sudo().browse(share_id) + if not share.can_upload or (not document_id and share.action != 'downloadupload'): + return http.request.not_found() + + available_documents = share._get_documents_and_check_access( + token, [document_id] if document_id else [], operation='write') + folder = share.folder_id + folder_id = folder.id or False + button_text = share.name or _('Share link') + chatter_message = _(''' File uploaded by: %s
+ Link created by: %s
+ + %s + + ''') % ( + http.request.env.user.name, + share.create_uid.name, + share_id, + button_text, + ) + if document_id and available_documents: + if available_documents.type != 'empty': + return http.request.not_found() + try: + file = request.httprequest.files.getlist('requestFile')[0] + data = file.read() + mimetype = file.content_type + write_vals = { + 'mimetype': mimetype, + 'name': file.filename, + 'type': 'binary', + 'datas': base64.b64encode(data), + } + except Exception: + logger.exception("Failed to read uploaded file") + else: + available_documents.with_context(binary_field_real_user=http.request.env.user).write(write_vals) + available_documents.message_post(body=chatter_message) + elif not document_id and available_documents is not False: + try: + for file in request.httprequest.files.getlist('files'): + data = file.read() + mimetype = file.content_type + document_dict = { + 'mimetype': mimetype, + 'name': file.filename, + 'datas': base64.b64encode(data), + 'tag_ids': [(6, 0, share.tag_ids.ids)], + 'partner_id': share.partner_id.id, + 'owner_id': share.owner_id.id, + 'folder_id': folder_id, + } + document = request.env['documents.document'].with_user(share.create_uid).with_context(binary_field_real_user=http.request.env.user).create(document_dict) + document.message_post(body=chatter_message) + if share.activity_option: + document.documents_set_activity(settings_record=share) + + except Exception: + logger.exception("Failed to upload document") + else: + return http.request.not_found() + return """""" % (share_id, token) + + # Frontend portals ############################################################################# + + # share portals route. + @http.route(['/document/share//'], type='http', auth='public') + def share_portal(self, share_id=None, token=None): + """ + Leads to a public portal displaying downloadable files for anyone with the token. + + :param share_id: id of the share link + :param token: share access token + """ + try: + share = http.request.env['documents.share'].sudo().browse(share_id) + available_documents = share._get_documents_and_check_access(token, operation='read') + if available_documents is False: + if share._check_token(token): + options = { + 'expiration_date': share.date_deadline, + 'author': share.create_uid.name, + } + return request.render('dms.not_available', options) + else: + return request.not_found() + + options = { + 'base_url': http.request.env["ir.config_parameter"].sudo().get_param("web.base.url"), + 'token': str(token), + 'upload': share.action == 'downloadupload', + 'share_id': str(share.id), + 'author': share.create_uid.name, + } + if share.type == 'ids' and len(available_documents) == 1: + options.update(document=available_documents[0], request_upload=True) + return request.render('dms.share_single', options) + else: + options.update(all_button='binary' in [document.type for document in available_documents], + document_ids=available_documents, + request_upload=share.action == 'downloadupload' or share.type == 'ids') + return request.render('dms.share_page', options) + except Exception: + logger.exception("Failed to generate the multi file share portal") + return request.not_found() \ No newline at end of file diff --git a/odex25_dms/dms/controllers/portal.py b/odex25_dms/dms/controllers/portal.py new file mode 100644 index 000000000..28ef11517 --- /dev/null +++ b/odex25_dms/dms/controllers/portal.py @@ -0,0 +1,201 @@ +# Copyright 2020-2021 Tecnativa - Víctor Martínez +import base64 + +from odoo import _, http +from odoo.http import request +from odoo.osv.expression import OR + +from odoo.addons.portal.controllers.portal import CustomerPortal +from odoo.addons.web.controllers.main import content_disposition, ensure_db + + +class CustomerPortal(CustomerPortal): + def _dms_check_access(self, model, res_id, access_token=None): + item = request.env[model].browse(res_id) + if access_token: + item = item.sudo() + if not item.check_access_token(access_token): + return False + else: + if not item.permission_read: + return False + return item + + def _prepare_portal_layout_values(self): + values = super()._prepare_portal_layout_values() + ids = request.env["dms.directory"]._get_own_root_directories() + values.update({"dms_directory_count": len(ids)}) + return values + + @http.route(["/my/dms"], type="http", auth="user", website=True) + def portal_my_dms( + self, sortby=None, filterby=None, search=None, search_in="name", **kw + ): + values = self._prepare_portal_layout_values() + searchbar_sortings = {"name": {"label": _("Name"), "order": "name asc"}} + # default sortby br + if not sortby: + sortby = "name" + sort_br = searchbar_sortings[sortby]["order"] + # search + searchbar_inputs = { + "name": {"input": "name", "label": _("Name")}, + } + if not filterby: + filterby = "name" + # domain + domain = [ + ( + "id", + "in", + request.env["dms.directory"]._get_own_root_directories(), + ) + ] + # search + if search and search_in: + search_domain = [] + if search_in == "name": + search_domain = OR([search_domain, [("name", "ilike", search)]]) + domain += search_domain + # content according to pager and archive selected + items = request.env["dms.directory"].search(domain, order=sort_br) + request.session["my_dms_folder_history"] = items.ids + # values + values.update( + { + "dms_directories": items, + "page_name": "dms_directory", + "default_url": "/my/dms", + "searchbar_sortings": searchbar_sortings, + "searchbar_inputs": searchbar_inputs, + "search_in": search_in, + "sortby": sortby, + "filterby": filterby, + "access_token": None, + } + ) + return request.render("dms.portal_my_dms", values) + + @http.route( + ["/my/dms/directory/"], + type="http", + auth="public", + website=True, + ) + def portal_my_dms_directory( + self, + dms_directory_id=False, + sortby=None, + filterby=None, + search=None, + search_in="name", + access_token=None, + **kw + ): + ensure_db() + # operations + searchbar_sortings = {"name": {"label": _("Name"), "order": "name asc"}} + # default sortby br + if not sortby: + sortby = "name" + sort_br = searchbar_sortings[sortby]["order"] + # search + searchbar_inputs = { + "name": {"input": "name", "label": _("Name")}, + } + if not filterby: + filterby = "name" + # domain + domain = [("is_hidden", "=", False), ("parent_id", "=", dms_directory_id)] + # search + if search and search_in: + search_domain = [] + if search_in == "name": + search_domain = OR([search_domain, [("name", "ilike", search)]]) + domain += search_domain + # content according to pager and archive selected + if access_token: + dms_directory_items = ( + request.env["dms.directory"].sudo().search(domain, order=sort_br) + ) + else: + dms_directory_items = request.env["dms.directory"].search( + domain, order=sort_br + ) + request.session["my_dms_folder_history"] = dms_directory_items.ids + res = self._dms_check_access("dms.directory", dms_directory_id, access_token) + if not res: + if access_token: + return request.redirect("/") + else: + return request.redirect("/my") + dms_directory_sudo = res + # dms_files_count + domain = [ + ("is_hidden", "=", False), + ("directory_id", "=", dms_directory_id), + ] + # search + if search and search_in: + search_domain = [] + if search_in == "name": + search_domain = OR([search_domain, [("name", "ilike", search)]]) + domain += search_domain + # items + if access_token: + dms_file_items = ( + request.env["dms.file"].sudo().search(domain, order=sort_br) + ) + else: + dms_file_items = request.env["dms.file"].search(domain, order=sort_br) + request.session["my_dms_file_history"] = dms_file_items.ids + dms_parent_categories = dms_directory_sudo.sudo()._get_parent_categories( + access_token + ) + # values + values = { + "dms_directories": dms_directory_items, + "page_name": "dms_directory", + "default_url": "/my/dms", + "searchbar_sortings": searchbar_sortings, + "searchbar_inputs": searchbar_inputs, + "search_in": search_in, + "sortby": sortby, + "filterby": filterby, + "access_token": access_token, + "dms_directory": dms_directory_sudo, + "dms_files": dms_file_items, + "dms_parent_categories": dms_parent_categories, + } + return request.render("dms.portal_my_dms", values) + + @http.route( + ["/my/dms/file//download"], + type="http", + auth="public", + website=True, + ) + def portal_my_dms_file_download(self, dms_file_id, access_token=None, **kw): + """Process user's consent acceptance or rejection.""" + ensure_db() + # operations + res = self._dms_check_access("dms.file", dms_file_id, access_token) + if not res: + if access_token: + return request.redirect("/") + else: + return request.redirect("/my") + + dms_file_sudo = res + # It's necessary to prevent AccessError in ir_attachment .check() function + if dms_file_sudo.attachment_id and request.env.user.has_group( + "base.group_portal" + ): + dms_file_sudo = dms_file_sudo.sudo() + filecontent = base64.b64decode(dms_file_sudo.content) + content_type = ["Content-Type", "application/octet-stream"] + disposition_content = [ + "Content-Disposition", + content_disposition(dms_file_sudo.name), + ] + return request.make_response(filecontent, [content_type, disposition_content]) diff --git a/odex25_dms/dms/data/digest_data.xml b/odex25_dms/dms/data/digest_data.xml new file mode 100644 index 000000000..bd02bcca3 --- /dev/null +++ b/odex25_dms/dms/data/digest_data.xml @@ -0,0 +1,22 @@ + + + + + Tip: Become a paperless company + 300 + + +
+ % set record = object.env['documents.share'].search([('alias_name', '!=', False)], limit=1) + Tip: Become a paperless company + % if record and record.alias_domain +

An easy way to process incoming mails is to configure your scanner to send PDFs to ${record.alias_id.display_name}. Scanned files will appear automatically in your workspace. Then, process your documents in bulk with the split tool: launch user defined actions, request a signature, convert to vendor bills with AI, etc.

+ % else +

An easy way to process incoming mails is to configure your scanner to send PDFs to your workspace email. Scanned files will appear automatically in your workspace. Then, process your documents in bulk with the split tool: launch user defined actions, request a signature, convert to vendor bills with AI, etc.

+ % endif + +
+
+
+
+
diff --git a/odex25_dms/dms/data/documents_data.xml b/odex25_dms/dms/data/documents_data.xml new file mode 100644 index 000000000..ea88ee536 --- /dev/null +++ b/odex25_dms/dms/data/documents_data.xml @@ -0,0 +1,296 @@ + + + + + + + + Inbox + + + + + To validate + + + + + Requested Document + upload_file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/odex25_dms/dms/data/files/Mails_inbox.pdf b/odex25_dms/dms/data/files/Mails_inbox.pdf new file mode 100644 index 000000000..84ceac834 Binary files /dev/null and b/odex25_dms/dms/data/files/Mails_inbox.pdf differ diff --git a/odex25_dms/dms/data/files/invoice.png b/odex25_dms/dms/data/files/invoice.png new file mode 100644 index 000000000..75017721c Binary files /dev/null and b/odex25_dms/dms/data/files/invoice.png differ diff --git a/odex25_dms/dms/data/files_data.xml b/odex25_dms/dms/data/files_data.xml new file mode 100644 index 000000000..917047f50 --- /dev/null +++ b/odex25_dms/dms/data/files_data.xml @@ -0,0 +1,32 @@ + + + + + + + + + Video: Odoo Documents + url + https://youtu.be/Ayab6wZ_U1A + + + + + + Mails_inbox.pdf + + + + + + + invoice.png + + + + + + + diff --git a/odex25_dms/dms/data/mail_templates.xml b/odex25_dms/dms/data/mail_templates.xml new file mode 100644 index 000000000..e8e13dc4e --- /dev/null +++ b/odex25_dms/dms/data/mail_templates.xml @@ -0,0 +1,120 @@ + + + + + + Document Request: Send by email + + Document Request ${object.name != False and ': '+ object.name or ''} + ${object.owner_id.email_formatted | safe} + + + + +
+ + + + + + + + + + + + + + + +
+ + + +
+ + Document Request:
+ % if object.name: + + ${object.name | safe} + + % endif +

+
+ ${object.create_uid.company_id.name} +
+
+
+
+ + + +
+
+ Hello ${object.owner_id.name}, +

+ ${object.create_uid.name} (${object.create_uid.email}) asks you to provide the following document: +

+
+
+ % if object.name: + ${object.name | safe} + % endif +
+
+ % if object.activity_note: + ${object.activity_note | safe} + % endif +
+
+ +

+ Please provide us with the missing document before the link expires (planned on ${object.date_deadline}). + % if user and user.signature: +
+ ${user.signature | safe} +
+ % endif +
+
+
+
+
+ + + +
+ ${object.create_uid.company_id.name} +
+ ${object.create_uid.company_id.phone} + % if object.create_uid.company_id.email + | ${object.create_uid.company_id.email} + % endif + % if object.create_uid.company_id.website + | + ${object.create_uid.company_id.website} + + % endif +
+
+
+ + +
+ % if object.date_deadline: + This link expires on ${object.date_deadline}.
+ % endif + Powered by Odoo Documents +
+
+
+ ${object.owner_id.lang} + +
+
+
diff --git a/odex25_dms/dms/data/workflow_data.xml b/odex25_dms/dms/data/workflow_data.xml new file mode 100644 index 000000000..25ca155e1 --- /dev/null +++ b/odex25_dms/dms/data/workflow_data.xml @@ -0,0 +1,204 @@ + + + + + + + + + + + + + Deprecate + 7 + True + + + + + + + replace + + + + + + + + Mark As Draft + 5 + domain + + True + + + + + + replace + + + + + + + + Send to Legal + 5 + domain + + + True + + + + + + replace + + + + + + + add + + + + + + + + 2 + Mark As Bill + domain + + True + + + + + + + add + + + + + + + add + + + + + + + + + + 6 + Validate + domain + + True + + + + + + replace + + + + + + + + 7 + Ask for Validation + domain + + + True + + + + + + + replace + + + + + + + + 7 + Move To Inbox + domain + + + True + + + + + + + replace + + + + + + + + 8 + + + + True + + + + + + + replace + + + + + + + replace + + + + + + + replace + + + + + + diff --git a/odex25_dms/dms/i18n/ar_001.po b/odex25_dms/dms/i18n/ar_001.po new file mode 100644 index 000000000..098d9ebd6 --- /dev/null +++ b/odex25_dms/dms/i18n/ar_001.po @@ -0,0 +1,3672 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * dms +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0-20231205\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-02 11:11+0000\n" +"PO-Revision-Date: 2025-01-02 11:11+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: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_process +msgid "" +" Define how incoming emails are processed:\n" +"\n" +" - Single Files: The email gets attached to the directory and\n" +" all attachments are created as files.\n" +"\n" +" - Subdirectory: A new subdirectory is created for each email\n" +" and the mail is attached to this subdirectory. The attachments\n" +" are created as files of the subdirectory.\n" +" " +msgstr "" +" تحديد كيفية معالجة رسائل البريد الإلكتروني الواردة:\n" +"\n" +" - الملفات الفردية: يتم إرفاق البريد الإلكتروني للمدير\n" +" ويتم إنشاء كافة المرفقات كملفات.\n" +"\n" +" - الدليل الفرعي: يتم إنشاء دليل فرعي جديد لكل بريد إلكتروني\n" +" ويتم إرفاق البريد بهذا الدليل الفرعي. المرفقات\n" +" يتم إنشاؤها كملفات الدليل الفرعي.\n" +" " + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Files" +msgstr "" + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Subdirectories" +msgstr "%s المجلدات الفرعية" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +msgid "" +" \n" +" ${object.create_uid.company_id.email}\n" +" % endif\n" +" % if object.create_uid.company_id.website\n" +" | \n" +" ${object.create_uid.company_id.website}\n" +" \n" +" % endif\n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +" \n" +"
\n" +" % if object.date_deadline:\n" +" This link expires on ${object.date_deadline}.
\n" +" % endif\n" +" Powered by Odoo Documents\n" +"
\n" +" \n" +" \n" +" " +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_defaults +#: model:ir.model.fields,help:dms.field_documents_share__alias_defaults +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" +"قاموس Python سيتم تقديره لتوفير قيم افتراضية عند إنشاء سجلات جديدة لهذا " +"الاسم المستعار." + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory can't be a root and have a parent directory." +msgstr "لا يمكن أن يكون المجلد جذرًا وله مجلد أصلي." + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have a parent directory." +msgstr "يجب أن يحتوي المجلد على مجلد أصلي." + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have model in attachment storage." +msgstr "يجب أن يحتوي المجلد على نموذج في مخزن المرفقات." + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory with the same name already exists." +msgstr "يوجد مجلد بنفس الاسم بالفعل." + +#. module: dms +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file must have model and resource ID in attachment storage." +msgstr "يجب أن يحتوي الملف على معرف النموذج والمورد في مخزن المرفقات." + +#. module: dms +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file with the same name already exists." +msgstr "يوجد ملف بنفس الاسم بالفعل." + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A root directory has to have a storage." +msgstr "يجب أن يحتوي المجلد الجذر على مساحة تخزين." + +#. module: dms +#: model:ir.model,name:dms.model_documents_workflow_rule +msgid "" +"A set of condition and actions which will be available to all attachments " +"matching the conditions" +msgstr "" +"مجموعة الشروط والإجراءات التي ستكون متاحة لجميع المرفقات المطابقة للشروط" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__parent_folder_id +msgid "A workspace will inherit the tags of its parent workspace" +msgstr "سوف ترث مساحة العمل علامات مساحة العمل الأصلية الخاصة بها" + +#. module: dms +#: model:ir.model,name:dms.model_abstract_dms_mixin +msgid "Abstract Dms Mixin" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Accept Emails from" +msgstr "قبول رسائل البريد الإلكتروني من" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +msgid "Access" +msgstr "الوصول" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_access_groups +#: model:ir.model.fields,field_description:dms.field_documents_document__group_ids +#: model:ir.ui.menu,name:dms.menu_dms_access_groups +msgid "Access Groups" +msgstr "مجموعة الوصول" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Access Information" +msgstr "معلومات الوصول" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__access_token +msgid "Access Token" +msgstr "كلمة السر" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_warning +#: model:ir.model.fields,field_description:dms.field_dms_file__access_warning +#: model:ir.model.fields,field_description:dms.field_documents_document__access_warning +msgid "Access warning" +msgstr "تحذير من خطأ بالوصول" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.board_my_dash_view2 +msgid "Account" +msgstr "حساب" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_action__action +msgid "Action" +msgstr "إجراء" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__name +msgid "Action Button Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction +#: model:ir.model.fields,field_description:dms.field_documents_document__message_needaction +#: model:ir.model.fields,field_description:dms.field_documents_share__message_needaction +msgid "Action Needed" +msgstr "إجراء مطلوب" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.workflow_rule_form_view +msgid "Actions" +msgstr "الإجراءات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__active +#: model:ir.model.fields,field_description:dms.field_dms_tag__active +#: model:ir.model.fields,field_description:dms.field_documents_document__active +msgid "Active" +msgstr "نشط" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_ids +#: model:ir.model.fields,field_description:dms.field_documents_document__activity_ids +#: model_terms:ir.ui.view,arch_db:dms.workflow_rule_form_view +msgid "Activities" +msgstr "الأنشطة" + +#. module: dms +#: model:ir.model,name:dms.model_mail_activity +#: model_terms:ir.ui.view,arch_db:dms.share_view_form +#: model_terms:ir.ui.view,arch_db:dms.share_view_form_popup +msgid "Activity" +msgstr "النشاط" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_decoration +#: model:ir.model.fields,field_description:dms.field_documents_document__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "زخرفة استثناء النشاط" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__activity_note +msgid "Activity Note" +msgstr "ملاحظة النشاط" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_state +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_state +#: model:ir.model.fields,field_description:dms.field_documents_document__activity_state +msgid "Activity State" +msgstr "حالة النشاط" + +#. module: dms +#: model:ir.model,name:dms.model_mail_activity_type +msgid "Activity Type" +msgstr "نوع النشاط" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_icon +#: model:ir.model.fields,field_description:dms.field_documents_document__activity_type_icon +msgid "Activity Type Icon" +msgstr "أيقونة نوع النشاط" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__activity_type_id +#: model:ir.model.fields,field_description:dms.field_documents_share__activity_type_id +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__activity_type_id +msgid "Activity type" +msgstr "نوع النشاط" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__documents_workflow_action__action__add +#: model_terms:ir.ui.view,arch_db:dms.documents_upload_url_view +msgid "Add" +msgstr "إضافة" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_url_form +msgid "Add Url" +msgstr "إضافة رابط" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "Add a new Directory." +msgstr "إضافة مجلد جديد" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file2 +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_account +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_hr +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_internal +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_sale_order +msgid "Add a new File." +msgstr "إضافة ملف جديد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_id +#: model:ir.model.fields,field_description:dms.field_documents_share__alias_id +msgid "Alias" +msgstr "لقب" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_contact +#: model:ir.model.fields,field_description:dms.field_documents_share__alias_contact +msgid "Alias Contact Security" +msgstr "الاسم المستعار للاتصال بالأمن" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_name +#: model:ir.model.fields,field_description:dms.field_documents_share__alias_name +msgid "Alias Name" +msgstr "اسم اللقب" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Alias Setting" +msgstr "إعدادات الاسم المستعار" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain +#: model:ir.model.fields,field_description:dms.field_documents_share__alias_domain +msgid "Alias domain" +msgstr "نطاق اللقب" + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Alias-Mail-Extraction" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_model_id +#: model:ir.model.fields,field_description:dms.field_documents_share__alias_model_id +msgid "Aliased Model" +msgstr "نموذج مستعار" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +msgid "All" +msgstr "الكــل" + +#. module: dms +#: code:addons/dms/controllers/main.py:0 +#, python-format +msgid "All files uploaded" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__action +msgid "Allows to" +msgstr "السماح ب" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +msgid "Archive" +msgstr "أرشفة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__active +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +msgid "Archived" +msgstr "مؤرشف" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__attach_id +msgid "Attach" +msgstr "يربط" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +msgid "Attached To" +msgstr "مرفق بـ" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_file2 +#: model:ir.actions.act_window,name:dms.action_dms_file_account +#: model:ir.actions.act_window,name:dms.action_dms_file_hr +#: model:ir.actions.act_window,name:dms.action_dms_file_internal +#: model:ir.actions.act_window,name:dms.action_dms_file_sale_order +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_attaches +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_attaches2 +msgid "Attaches" +msgstr "ارتباطات" + +#. module: dms +#: code:addons/dms/models/storage.py:0 +#: model:ir.actions.act_window,name:dms.open_board_my_dash_action2 +#: model:ir.model,name:dms.model_ir_attachment +#: model:ir.model.fields,field_description:dms.field_documents_document__attachment_id +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__attachment +#, python-format +msgid "Attachment" +msgstr "مرفقات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_dms_file__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_documents_document__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_documents_share__message_attachment_count +msgid "Attachment Count" +msgstr "عدد المرفقات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__description +msgid "Attachment Description" +msgstr "وصف المرفق" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__attachment_id +msgid "Attachment File" +msgstr "الملف المرفق" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__attachment_name +msgid "Attachment Name" +msgstr "اسم المرفق" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__attachment_type +msgid "Attachment Type" +msgstr "نوع المرفق" + +#. module: dms +#: model:ir.ui.menu,name:dms.menu_dms_attachment +#: model_terms:ir.ui.view,arch_db:dms.board_my_dash_view2 +msgid "Attachments" +msgstr "مرفقات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__available_rule_ids +msgid "Available Rules" +msgstr "القواعد المتاحة" + +#. module: dms +#: model:ir.model,name:dms.model_base +msgid "Base" +msgstr "أساس" + +#. module: dms +#: model:ir.model.fields,help:dms.field_mail_activity_type__folder_id +msgid "By defining a folder, the upload activities will generate a document" +msgstr "من خلال تحديد مجلد، ستقوم أنشطة التحميل بإنشاء مستند" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__can_upload +msgid "Can Upload" +msgstr "تستطيع الرفع" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.documents_request_form_view +#: model_terms:ir.ui.view,arch_db:dms.documents_upload_url_view +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +msgid "Cancel" +msgstr "إلغاء" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_category +#: model:ir.ui.menu,name:dms.menu_dms_category +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Categories" +msgstr "التصنيفات" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Categories are used to categorize Documents." +msgstr "يتم استخدام الفئات لتصنيف المستندات." + +#. module: dms +#: model:ir.model,name:dms.model_documents_facet +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__category_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__category_id +#: model:ir.model.fields,field_description:dms.field_dms_file__category_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__category_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__facet_id +#: model:ir.model.fields,field_description:dms.field_documents_document__category_id +#: model:ir.model.fields,field_description:dms.field_documents_tag__category_id +#: model:ir.model.fields,field_description:dms.field_documents_tag__facet_id +#: model:ir.model.fields,field_description:dms.field_documents_workflow_action__facet_id +#: model_terms:ir.ui.view,arch_db:dms.facet_view_tree +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.tag_view_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Category" +msgstr "التصنيف" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_category_name_uniq +msgid "Category name already exists!" +msgstr "اسم التصنيف موجود بالفعل" + +#. module: dms +#: code:addons/dms/models/dms_settings.py:0 +#, python-format +msgid "Changing the save settings can cause a heavy migration process." +msgstr "يمكن أن يؤدي تغيير إعدادات الحفظ إلى حدوث عملية ترحيل كثيفة." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__checksum +#: model:ir.model.fields,field_description:dms.field_documents_document__checksum +msgid "Checksum/SHA1" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__child_category_ids +msgid "Child Categories" +msgstr "التصنيفات الفرعية" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__child_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Child Groups" +msgstr "المجموعات الفرعية" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_settings +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +msgid "Click to add a new directory." +msgstr "انقر لإضافة مجلد جديد." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_settings +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Click to add a new file." +msgstr "انقر لإضافة ملف جديد" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_settings +msgid "Click to create a new Settings object." +msgstr "انقر لإنشاء موضوع إعدادات جديد." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Click to create a new tag." +msgstr "انقر لإنشاء علامة وسام جديدة." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__closed +msgid "Closed" +msgstr "مغلق" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_documents_document_file_code_uniq +msgid "Code already exists!" +msgstr "الكود بالفعل موجود" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__color +#: model:ir.model.fields,field_description:dms.field_dms_directory__color +#: model:ir.model.fields,field_description:dms.field_dms_file__color +#: model:ir.model.fields,field_description:dms.field_documents_document__color +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Color" +msgstr "اللون" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__color +#: model:ir.model.fields,field_description:dms.field_documents_tag__color +msgid "Color Index" +msgstr "معرف اللون" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__company_id +#: model:ir.model.fields,field_description:dms.field_dms_file__company_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__company_id +#: model:ir.model.fields,field_description:dms.field_documents_document__company_id +msgid "Company" +msgstr "الشركة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Complete Groups" +msgstr "مجموعات كاملة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__complete_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_name +msgid "Complete Name" +msgstr "الاسم الكامل" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__complete_directory_ids +msgid "Complete directories" +msgstr "المجلدات كاملة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__condition_type +msgid "Condition type" +msgstr "نوع الشرط" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.workflow_rule_form_view +msgid "Conditions" +msgstr "الشروط" + +#. module: dms +#: model:ir.model,name:dms.model_res_config_settings +msgid "Config Settings" +msgstr "ضبط الاعدادات" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config +msgid "Configuration" +msgstr "إعدادات التكوين" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__partner_id +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__partner_id +#: model:ir.model.fields,field_description:dms.field_documents_share__partner_id +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__criteria_partner_id +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +msgid "Contact" +msgstr "جهة الاتصال" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.workflow_rule_form_view +msgid "Contains" +msgstr "يحتوي" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content +#: model:ir.model.fields,field_description:dms.field_documents_document__content +msgid "Content" +msgstr "محتوى" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_binary +#: model:ir.model.fields,field_description:dms.field_documents_document__content_binary +msgid "Content Binary" +msgstr "المحتوى الثنائي" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_file +msgid "Content File" +msgstr "ملف المحتوى" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__content_text +msgid "Content Text" +msgstr "نص المحتوى" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_category__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_directories +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_directories +#: model:ir.model.fields,field_description:dms.field_documents_tag__count_directories +msgid "Count Directories" +msgstr "عدد المجلدات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_elements +msgid "Count Elements" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_files +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files_title +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_files +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_files +#: model:ir.model.fields,field_description:dms.field_documents_tag__count_files +msgid "Count Files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files +msgid "Count Files Title" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_categories +msgid "Count Subcategories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories_title +msgid "Count Subdirectories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories +msgid "Count Subdirectories Title" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_tags +msgid "Count Tags" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__create_model +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +msgid "Create" +msgstr "إنشاء" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_create +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_create +#: model:ir.model.fields,field_description:dms.field_documents_document__permission_create +msgid "Create Access" +msgstr "إمكانية اﻹنشاء" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.onboarding_directory_step +msgid "Create Directory" +msgstr "إنشاء مجلد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__create_share_id +msgid "Create Share" +msgstr "إنشاء مشاركة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.onboarding_storage_step +msgid "Create Storage" +msgstr "انشاء تخزين" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Create a new Category." +msgstr "إنشاء تصنيف جديد" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.onboarding_storage_step +msgid "Create a new Document Storage." +msgstr "قم بإنشاء مخزن مستندات جديد." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.onboarding_directory_step +msgid "Create a new Root Directory." +msgstr "قم بإنشاء مجلد جذر جديد." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Create a new Storage object." +msgstr "قم بإنشاء موضوع تخزين جديد." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__activity_option +msgid "Create a new activity" +msgstr "إنشاء نشاط جديد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__include_message_attachments +msgid "Create files from message attachments" +msgstr "إنشاء ملفات من مرفقات الرسائل" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_file_attach__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_settings__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_uid +#: model:ir.model.fields,field_description:dms.field_documents_document__create_uid +#: model:ir.model.fields,field_description:dms.field_documents_facet__create_uid +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__create_uid +#: model:ir.model.fields,field_description:dms.field_documents_share__create_uid +#: model:ir.model.fields,field_description:dms.field_documents_tag__create_uid +#: model:ir.model.fields,field_description:dms.field_documents_workflow_action__create_uid +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__create_uid +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_date +#: model:ir.model.fields,field_description:dms.field_dms_category__create_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_date +#: model:ir.model.fields,field_description:dms.field_dms_file__create_date +#: model:ir.model.fields,field_description:dms.field_dms_file_attach__create_date +#: model:ir.model.fields,field_description:dms.field_dms_settings__create_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_date +#: model:ir.model.fields,field_description:dms.field_documents_document__create_date +#: model:ir.model.fields,field_description:dms.field_documents_facet__create_date +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__create_date +#: model:ir.model.fields,field_description:dms.field_documents_share__create_date +#: model:ir.model.fields,field_description:dms.field_documents_tag__create_date +#: model:ir.model.fields,field_description:dms.field_documents_workflow_action__create_date +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Creation Date" +msgstr "تاريخ الإنشاء" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__documents_workflow_rule__condition_type__criteria +msgid "Criteria" +msgstr "معايير" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__save_type +msgid "Current Save Type" +msgstr "نوع الحفظ الحالي" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_bounced_content +#: model:ir.model.fields,field_description:dms.field_documents_share__alias_bounced_content +msgid "Custom Bounced Message" +msgstr "رسالة مرتدة مخصصة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Customer" +msgstr "العميل" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__access_url +#: model:ir.model.fields,help:dms.field_dms_file__access_url +#: model:ir.model.fields,help:dms.field_documents_document__access_url +msgid "Customer Portal URL" +msgstr "رابط بوابة العميل" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "DMS" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_security_mixin +msgid "DMS Security Mixin" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_mixins_thumbnail +msgid "DMS thumbnail and icon mixin" +msgstr "" + +#. module: dms +#: code:addons/dms/models/document.py:0 +#: model:ir.model.fields.selection,name:dms.selection__documents_document__reference__muk_dms_data +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#, python-format +msgid "Data" +msgstr "بيانات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__reference +msgid "Data Reference" +msgstr "مرجع البيانات" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_settings_form +msgid "Data Settings" +msgstr "إعدادات البيانات" + +#. module: dms +#: code:addons/dms/models/dms_settings.py:0 +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_settings__save_type__database +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__database +#, python-format +msgid "Database" +msgstr "قاعدة البيانات" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_attaches +msgid "Date Created" +msgstr "تاريخ الإنشاء" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__documents_request_wizard__activity_date_deadline_range_type__days +#: model:ir.model.fields.selection,name:dms.selection__documents_share__activity_date_deadline_range_type__days +#: model:ir.model.fields.selection,name:dms.selection__documents_workflow_rule__activity_date_deadline_range_type__days +msgid "Days" +msgstr "الأيام" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_mail_activity_type__default_user_id +msgid "Default User" +msgstr "المستخدم الافتراضي" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_defaults +#: model:ir.model.fields,field_description:dms.field_documents_share__alias_defaults +msgid "Default Values" +msgstr "القيم الافتراضية" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.share_view_form +#: model_terms:ir.ui.view,arch_db:dms.share_view_form_popup +msgid "Default values for uploaded documents" +msgstr "القيم الافتراضية للمستندات التي تم تحميلها" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define forbidden file extensions" +msgstr "تحديد امتدادات الملفات المحظورة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "" +"Define the maximum upload size of a\n" +" file in MB" +msgstr "تحديد الحد الأقصى لحجم تحميل الملف بالميجابايت" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Defines a list of forbidden file extensions. (Example: 'exe,msi')" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_binary_max_size +msgid "Defines the maximum upload size in MB. Default (25MB)" +msgstr "يحدد الحد الأقصى لحجم التحميل بالميجابايت. الافتراضي (25 ميجابايت)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_unlink +#: model:ir.model.fields,field_description:dms.field_documents_document__permission_unlink +msgid "Delete Access" +msgstr "صلاحيات الحذف" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__description +msgid "Description" +msgstr "الوصف" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_settings +#: model:ir.actions.act_window,name:dms.action_dms_directories_storage +#: model:ir.actions.act_window,name:dms.action_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_access_group__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_category__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_settings__count_settings_directories +#: model:ir.model.fields,field_description:dms.field_dms_settings__settings_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_directory_ids +#: model:ir.model.fields,field_description:dms.field_documents_tag__directory_ids +#: model:ir.ui.menu,name:dms.menu_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_settings_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Directories" +msgstr "المجلدات" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_settings +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "" +"Directories can be used to structure and organize\n" +" files directly in Odoo." +msgstr "" +"يمكن استخدام المجلدات للهيكلة وتنظيم\n" +" الملفات المباشرة في Odex." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_settings__top_directories +msgid "" +"Directories which have no parent or the user has no access right to those " +"parents." +msgstr "" +"المجلدات التي ليس لها أصل أو ليس لدى المستخدم حق الوصول إلى أصول المجلدات." + +#. module: dms +#: model:ir.model,name:dms.model_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_file__directory_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__directory_ids +#: model_terms:ir.ui.view,arch_db:dms.onboarding_directory_step +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Directory" +msgstr "مجلد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__display_name +#: model:ir.model.fields,field_description:dms.field_dms_access_group__display_name +#: model:ir.model.fields,field_description:dms.field_dms_category__display_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__display_name +#: model:ir.model.fields,field_description:dms.field_dms_file__display_name +#: model:ir.model.fields,field_description:dms.field_dms_file_attach__display_name +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__display_name +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__display_name +#: model:ir.model.fields,field_description:dms.field_dms_settings__display_name +#: model:ir.model.fields,field_description:dms.field_dms_storage__display_name +#: model:ir.model.fields,field_description:dms.field_dms_tag__display_name +#: model:ir.model.fields,field_description:dms.field_documents_document__display_name +#: model:ir.model.fields,field_description:dms.field_documents_facet__display_name +#: model:ir.model.fields,field_description:dms.field_documents_mixin__display_name +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__display_name +#: model:ir.model.fields,field_description:dms.field_documents_share__display_name +#: model:ir.model.fields,field_description:dms.field_documents_tag__display_name +#: model:ir.model.fields,field_description:dms.field_documents_workflow_action__display_name +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__display_name +msgid "Display Name" +msgstr "الاسم المعروض" + +#. module: dms +#: model:ir.model,name:dms.model_documents_document +#: model_terms:ir.ui.view,arch_db:dms.document_view_kanban +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +#: model_terms:ir.ui.view,arch_db:dms.documents_view_list +msgid "Document" +msgstr "المستند" + +#. module: dms +#: model:ir.model,name:dms.model_dms_category +msgid "Document Category" +msgstr "فئة المستند" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_partner__document_count +#: model:ir.model.fields,field_description:dms.field_res_users__document_count +msgid "Document Count" +msgstr "عدد المستندات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__owner_id +msgid "Document Owner" +msgstr "مالك المستند" + +#. module: dms +#: model:ir.model,name:dms.model_documents_request_wizard +msgid "Document Request" +msgstr "طلب مستند" + +#. module: dms +#: model:mail.template,subject:dms.mail_template_document_request +msgid "Document Request ${object.name != False and ': '+ object.name or ''}" +msgstr "" + +#. module: dms +#: code:addons/dms/models/document.py:0 code:addons/dms/models/document.py:0 +#: code:addons/dms/models/mail_activity.py:0 +#, python-format +msgid "Document Request: %s Uploaded by: %s" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_settings_form +msgid "Document Setting" +msgstr "إعدادات المستندات" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_settings_tree +msgid "Document Settings" +msgstr "إعدادات المستندات" + +#. module: dms +#: model:ir.model,name:dms.model_dms_tag +msgid "Document Tag" +msgstr "وسام المستند" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_kanban +msgid "Document Thumbnail" +msgstr "صورة مصغرة للوثيقة" + +#. module: dms +#: model:ir.model,name:dms.model_documents_workflow_action +msgid "Document Workflow Tag Action" +msgstr "إجراء علامة سير عمل المستند" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__documents_share__type__ids +msgid "Document list" +msgstr "قائمة المستند" + +#. module: dms +#: code:addons/dms/models/res_partner.py:0 +#: model:ir.actions.act_window,name:dms.document_action +#: model:ir.module.category,name:dms.category_dms_security +#: model:ir.ui.menu,name:dms.main_menu_dms +#: model_terms:ir.ui.view,arch_db:dms.action_view_search +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +#: model_terms:ir.ui.view,arch_db:dms.portal_my_home_dms +#, python-format +msgid "Documents" +msgstr "الوثائق" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_directory_state +msgid "Documents Onboarding Directory State" +msgstr "حالة تأهيل مجلد المستندات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_file_state +msgid "Documents Onboarding File State" +msgstr "حالة تأهيل ملف المستندات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_state +msgid "Documents Onboarding State" +msgstr "حالة تأهيل المستند" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_storage_state +msgid "Documents Onboarding Storage State" +msgstr "حالة تأهيل تخزين المستند" + +#. module: dms +#: model:ir.model,name:dms.model_documents_share +msgid "Documents Share" +msgstr "نشر الملفات" + +#. module: dms +#: model:ir.model,name:dms.model_documents_mixin +msgid "Documents creation mixin" +msgstr "مزيج إنشاء المستندات" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.workflow_rule_form_view +msgid "Does not contain" +msgstr "لا يحتوي" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__domain +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__domain +#: model:ir.model.fields.selection,name:dms.selection__documents_share__type__domain +#: model:ir.model.fields.selection,name:dms.selection__documents_workflow_rule__condition_type__domain +#: model_terms:ir.ui.view,arch_db:dms.workflow_rule_form_view +msgid "Domain" +msgstr "النطاق" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__done +#: model_terms:ir.ui.view,arch_db:dms.share_view_form_popup +msgid "Done" +msgstr "المنتهية" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.share_page +msgid "Downlaod all files" +msgstr "تحميل جميع الملفات" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__documents_share__action__download +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +msgid "Download" +msgstr "التنزيل" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_download +msgid "Download Access" +msgstr "تنزيل الملف" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__perm_download +msgid "Download Access" +msgstr "تنزيل الملف" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.share_page +msgid "Download all files" +msgstr "تحميل جميل الملفات" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__documents_share__action__downloadupload +msgid "Download and Upload" +msgstr "التنزيل والرفع" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "Dropdown menu" +msgstr "القائمة المنسدلة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__activity_date_deadline_range +#: model:ir.model.fields,field_description:dms.field_documents_share__activity_date_deadline_range +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__activity_date_deadline_range +msgid "Due Date In" +msgstr "تاريخ الاستحقاق في" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__activity_date_deadline_range_type +#: model:ir.model.fields,field_description:dms.field_documents_share__activity_date_deadline_range_type +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__activity_date_deadline_range_type +msgid "Due type" +msgstr "نوع الاستحقاق" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.documents_request_form_view +msgid "E.g. Missing Expense" +msgstr "على سبيل المثال نفقة مفقودة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.facet_view_form +msgid "E.g. Status" +msgstr "على سبيل المثال حالة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.workflow_rule_form_view +msgid "E.g. Validate document" +msgstr "على سبيل المثال التحقق من صحة الوثيقة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_lock_editor +msgid "Editor" +msgstr "محرر" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Elements" +msgstr "عناصر" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Email Alias" +msgstr "لقب البريد الإلكتروني" + +#. module: dms +#: model:ir.model,name:dms.model_mail_thread +msgid "Email Thread" +msgstr "المحادثة البريدية" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__email_cc +msgid "Email cc" +msgstr "البريد الإلكتروني cc" + +#. module: dms +#: code:addons/dms/models/category.py:0 +#, python-format +msgid "Error! You cannot create recursive categories." +msgstr "خطأ! لا يمكنك إنشاء فئات متكررة." + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Error! You cannot create recursive directories." +msgstr "خطأ! لا يمكنك إنشاء أدلة متكررة." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__excluded_tag_ids +msgid "Excluded Tags" +msgstr "العلامات المستبعدة" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__documents_share__state__expired +msgid "Expired" +msgstr "منتهي" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__explicit_user_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Explicit Users" +msgstr "المستخدمين الصريحين" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__extension +msgid "Extension" +msgstr "امتداد الملف" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Extensions" +msgstr "امتدادات الملفات" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_documents_facet_name_unique +msgid "Facet already exists in this folder" +msgstr "الواجهة موجودة بالفعل في هذا المجلد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__favorited_ids +msgid "Favorite of" +msgstr "المفضلة" + +#. module: dms +#: model:ir.model,name:dms.model_dms_file +#: model:ir.model,name:dms.model_dms_file_attach +#: model:ir.model.fields,field_description:dms.field_dms_tag__file_ids +#: model:ir.model.fields.selection,name:dms.selection__documents_document__type__binary +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +#: model_terms:ir.ui.view,arch_db:dms.onboarding_file_step +msgid "File" +msgstr "ملف" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__file_code +#: model:ir.model.fields,field_description:dms.field_documents_document__file_code +msgid "File Code" +msgstr "رمز الملف" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__datas +msgid "File Content (base64)" +msgstr "محتوى الملف (base64) " + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file_attach__file_project_ids +msgid "File Project" +msgstr "مشروع الملف" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__file_size +msgid "File Size" +msgstr "حجم الملف" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file_attach__file_transaction_ids +msgid "File Transaction" +msgstr "معاملة الملف" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Upload" +msgstr "رفع الملف" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__version +#: model:ir.model.fields,field_description:dms.field_documents_document__version +msgid "File version" +msgstr "إصدار الملف" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_files_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_settings +#: model:ir.actions.act_window,name:dms.action_dms_files_storage +#: model:ir.model.fields,field_description:dms.field_dms_category__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_settings__count_settings_files +#: model:ir.model.fields,field_description:dms.field_dms_settings__settings_files +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_file_ids +#: model:ir.model.fields,field_description:dms.field_documents_tag__file_ids +#: model:ir.ui.menu,name:dms.menu_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_settings_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Files" +msgstr "الملفات" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file2 +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_account +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_hr +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_internal +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_sale_order +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_settings +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Files are used to save content directly in Odoo." +msgstr "تُستخدم الملفات لحفظ المحتوى مباشرة في Odex." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_settings__top_files +msgid "Files which parent aren't readable by the user." +msgstr "الملفات التي لا يمكن للمستخدم قراءتها." + +#. module: dms +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__file +#, python-format +msgid "Filestore" +msgstr "مخزن الملفات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__folder_id +#: model:ir.model.fields,field_description:dms.field_mail_activity_type__folder_id +msgid "Folder" +msgstr "مجلد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_documents_document__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_documents_share__message_follower_ids +msgid "Followers" +msgstr "المتابعون" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_channel_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_channel_ids +#: model:ir.model.fields,field_description:dms.field_documents_document__message_channel_ids +#: model:ir.model.fields,field_description:dms.field_documents_share__message_channel_ids +msgid "Followers (Channels)" +msgstr "المتابعون (القنوات)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_documents_document__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_documents_share__message_partner_ids +msgid "Followers (Partners)" +msgstr "المتابعون (الشركاء)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_type_icon +#: model:ir.model.fields,help:dms.field_documents_document__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "رمز الخط الرائع ، على سبيل المثال FA- المهام" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_settings_general +#: model:ir.ui.menu,name:dms.menu_dms_settings_general +msgid "General Settings" +msgstr "الاعدادات العامة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Group" +msgstr "المجموعة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +#: model_terms:ir.ui.view,arch_db:dms.facet_view_search +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Group By" +msgstr "تجميع حسب" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__name +msgid "Group Name" +msgstr "اسم المجموعة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__users +msgid "Group Users" +msgstr "مستخدمين المجموعة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__group_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Groups" +msgstr "المجموعات" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.board_my_dash_view2 +msgid "HR" +msgstr "الموارد البشرية" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__has_business_option +msgid "Has Business Option" +msgstr "لديه خيار الأعمال" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__previous_attachment_ids +msgid "History" +msgstr "سجل التاريخ" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__id +#: model:ir.model.fields,field_description:dms.field_dms_access_group__id +#: model:ir.model.fields,field_description:dms.field_dms_category__id +#: model:ir.model.fields,field_description:dms.field_dms_directory__id +#: model:ir.model.fields,field_description:dms.field_dms_file__id +#: model:ir.model.fields,field_description:dms.field_dms_file_attach__id +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__id +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__id +#: model:ir.model.fields,field_description:dms.field_dms_settings__id +#: model:ir.model.fields,field_description:dms.field_dms_storage__id +#: model:ir.model.fields,field_description:dms.field_dms_tag__id +#: model:ir.model.fields,field_description:dms.field_documents_document__id +#: model:ir.model.fields,field_description:dms.field_documents_facet__id +#: model:ir.model.fields,field_description:dms.field_documents_mixin__id +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__id +#: model:ir.model.fields,field_description:dms.field_documents_share__id +#: model:ir.model.fields,field_description:dms.field_documents_tag__id +#: model:ir.model.fields,field_description:dms.field_documents_workflow_action__id +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__id +msgid "ID" +msgstr "المُعرف" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_thread_id +#: model:ir.model.fields,help:dms.field_documents_share__alias_parent_thread_id +msgid "" +"ID of the parent record holding the alias (example: project holding the task" +" creation alias)" +msgstr "" +"معرف السجل الأصل الذي يحمل الاسم المستعار (مثال: مشروع يحمل الاسم المستعار " +"لإنشاء المهمة)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_icon +#: model:ir.model.fields,field_description:dms.field_documents_document__activity_exception_icon +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Icon" +msgstr "الأيقونة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_file__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__icon_url +#: model:ir.model.fields,field_description:dms.field_documents_document__icon_url +msgid "Icon URL" +msgstr "رابط الأيقونة" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_icon +#: model:ir.model.fields,help:dms.field_documents_document__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "الأيقونة للإشارة إلى استثناء النشاط" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_file__active +msgid "If a file is set to archived, it is not displayed, but still exists." +msgstr "إذا تم تعيين ملف على الوضع المؤرشف، فلن يتم عرضه، ولكنه يظل موجودًا." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,help:dms.field_dms_directory__message_unread +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction +#: model:ir.model.fields,help:dms.field_dms_file__message_unread +#: model:ir.model.fields,help:dms.field_documents_document__message_needaction +#: model:ir.model.fields,help:dms.field_documents_document__message_unread +#: model:ir.model.fields,help:dms.field_documents_share__message_needaction +#: model:ir.model.fields,help:dms.field_documents_share__message_unread +msgid "If checked, new messages require your attention." +msgstr "إذا كان محددًا، فهناك رسائل جديدة تحتاج لرؤيتها." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_sms_error +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error +#: model:ir.model.fields,help:dms.field_dms_file__message_has_sms_error +#: model:ir.model.fields,help:dms.field_documents_document__message_has_error +#: model:ir.model.fields,help:dms.field_documents_document__message_has_sms_error +#: model:ir.model.fields,help:dms.field_documents_share__message_has_error +#: model:ir.model.fields,help:dms.field_documents_share__message_has_sms_error +msgid "If checked, some messages have a delivery error." +msgstr "إذا كان محددًا، فقد حدث خطأ في تسليم بعض الرسائل." + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,help:dms.field_dms_directory__company_id +#: model:ir.model.fields,help:dms.field_dms_file__company_id +#: model:ir.model.fields,help:dms.field_dms_storage__company_id +#: model:ir.model.fields,help:dms.field_documents_document__company_id +msgid "" +"If set, directories and files will only be available for the selected " +"company." +msgstr "في حالة التعيين، ستكون الدلائل والملفات متاحة فقط للشركة المحددة." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_bounced_content +#: model:ir.model.fields,help:dms.field_documents_share__alias_bounced_content +msgid "" +"If set, this content will automatically be sent out to unauthorized users " +"instead of the default message." +msgstr "" +"إذا تم تعيينه، فسيتم إرسال هذا المحتوى تلقائيًا إلى مستخدمين غير مصرح لهم " +"بدلاً من الرسالة الافتراضية." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1920 +#: model:ir.model.fields,field_description:dms.field_documents_document__image_1920 +msgid "Image" +msgstr "صورة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1024 +#: model:ir.model.fields,field_description:dms.field_documents_document__image_1024 +msgid "Image 1024" +msgstr "صورة 1024" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_128 +#: model:ir.model.fields,field_description:dms.field_documents_document__image_128 +msgid "Image 128" +msgstr "صورة 128" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_256 +#: model:ir.model.fields,field_description:dms.field_documents_document__image_256 +msgid "Image 256" +msgstr "صورة 256" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_512 +#: model:ir.model.fields,field_description:dms.field_documents_document__image_512 +msgid "Image 512" +msgstr "صورة 512" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +msgid "Image/Video" +msgstr "صور/فيديو" + +#. module: dms +#: model:mail.activity.type,name:dms.mail_documents_activity_data_Inbox +msgid "Inbox" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__index_content +msgid "Indexed Content" +msgstr "المحتوى المفهرس" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,help:dms.field_dms_storage__inherit_access_from_parent_record +msgid "" +"Indicate if directories and files access work only with related model access" +" (for example, if some directories are related with any sale, only users " +"with read access to these sale can acess)" +msgstr "" +"وضح ما إذا كان الوصول إلى المجلدات والملفات يعمل فقط مع الوصول إلى النماذج " +"ذات الصلة (على سبيل المثال، إذا كانت بعض المجلدات مرتبطة بأي عملية بيع، " +"فيمكن فقط للمستخدمين الذين لديهم حق الوصول للقراءة إلى هذه المبيعات الوصول)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_storage__include_message_attachments +msgid "" +"Indicate if directories and files auto-create in mail composition process " +"too" +msgstr "" +"وضح ما إذا كان يتم إنشاء المجلدات والملفات تلقائيًا في عملية تكوين البريد " +"أيضًا" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,help:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,help:dms.field_dms_file__is_hidden +#: model:ir.model.fields,help:dms.field_dms_storage__is_hidden +#: model:ir.model.fields,help:dms.field_documents_document__is_hidden +msgid "Indicates if directories and files are hidden by default." +msgstr "يشير إلى ما إذا كانت المجلدات والملفات مخفية بشكل افتراضي." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_settings__show_tree +msgid "" +"Indicates if directories inside of this settings object are visible on " +"document views." +msgstr "" +"يشير إلى ما إذا كانت المجلدات الموجودة داخل كائن الإعدادات هذه مرئية في طرق " +"عرض المستند." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_settings__system_locks +msgid "" +"Indicates if files and directories should be automatically locked while " +"system operations take place." +msgstr "" +"يشير إلى ما إذا كان يجب قفل الملفات المجلدات تلقائيًا أثناء إجراء عمليات " +"النظام." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__is_root_directory +msgid "" +"Indicates if the directory is a root directory.\n" +" A root directory has a settings object, while a directory with a set\n" +" parent inherits the settings form its parent." +msgstr "" +"يشير إلى ما إذا كان المجلد هو مجلد الجذر.\n" +" يحتوي مجلد الجذر على موضوع إعدادات، بينما يحتوي المجلد على مجموعة\n" +" يرث الأصل الإعدادات من أصله." + +#. module: dms +#: code:addons/dms/models/dms_settings.py:0 +#, python-format +msgid "Information" +msgstr "معلومات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__inherit_group_ids +msgid "Inherit Groups" +msgstr "وراثة المجموعات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,field_description:dms.field_dms_storage__inherit_access_from_parent_record +msgid "Inherit permissions from related record" +msgstr "وراثة الأذونات من السجل ذي الصلة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_create +msgid "Inherited Create Access" +msgstr "وراثة صلاحيات الانشاء" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_unlink +msgid "Inherited Unlink Access" +msgstr "وراثة صلحيات الغاء الربط" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_write +msgid "Inherited Write Access" +msgstr "وراثة صلحيات الكتابة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +msgid "Internal / Human Resource" +msgstr "وراثة الموارد البشرية" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Invoices" +msgstr "الفواتير" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__is_favorited +msgid "Is Favorited" +msgstr "مفضل" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_is_follower +#: model:ir.model.fields,field_description:dms.field_dms_file__message_is_follower +#: model:ir.model.fields,field_description:dms.field_documents_document__message_is_follower +#: model:ir.model.fields,field_description:dms.field_documents_share__message_is_follower +msgid "Is Follower" +msgstr "متابع" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_root_directory +msgid "Is Root Directory" +msgstr "هو المجلد الأصل" + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change parent to other storage." +msgstr "ليس من الممكن تغيير الأصل إلى وحدة تخزين أخرى." + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change the storage." +msgstr "ليس من الممكن تغيير التخزين." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__just_done +msgid "Just done" +msgstr "انتهت للتو" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__key_words +msgid "Key Words" +msgstr "الكلمات المفتاحية" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin____last_update +#: model:ir.model.fields,field_description:dms.field_dms_access_group____last_update +#: model:ir.model.fields,field_description:dms.field_dms_category____last_update +#: model:ir.model.fields,field_description:dms.field_dms_directory____last_update +#: model:ir.model.fields,field_description:dms.field_dms_file____last_update +#: model:ir.model.fields,field_description:dms.field_dms_file_attach____last_update +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail____last_update +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin____last_update +#: model:ir.model.fields,field_description:dms.field_dms_settings____last_update +#: model:ir.model.fields,field_description:dms.field_dms_storage____last_update +#: model:ir.model.fields,field_description:dms.field_dms_tag____last_update +#: model:ir.model.fields,field_description:dms.field_documents_document____last_update +#: model:ir.model.fields,field_description:dms.field_documents_facet____last_update +#: model:ir.model.fields,field_description:dms.field_documents_mixin____last_update +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard____last_update +#: model:ir.model.fields,field_description:dms.field_documents_share____last_update +#: model:ir.model.fields,field_description:dms.field_documents_tag____last_update +#: model:ir.model.fields,field_description:dms.field_documents_workflow_action____last_update +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule____last_update +msgid "Last Modified on" +msgstr "آخر تعديل في" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_file_attach__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_settings__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_uid +#: model:ir.model.fields,field_description:dms.field_documents_document__write_uid +#: model:ir.model.fields,field_description:dms.field_documents_facet__write_uid +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__write_uid +#: model:ir.model.fields,field_description:dms.field_documents_share__write_uid +#: model:ir.model.fields,field_description:dms.field_documents_tag__write_uid +#: model:ir.model.fields,field_description:dms.field_documents_workflow_action__write_uid +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_date +#: model:ir.model.fields,field_description:dms.field_dms_category__write_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_date +#: model:ir.model.fields,field_description:dms.field_dms_file__write_date +#: model:ir.model.fields,field_description:dms.field_dms_file_attach__write_date +#: model:ir.model.fields,field_description:dms.field_dms_settings__write_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_date +#: model:ir.model.fields,field_description:dms.field_documents_document__write_date +#: model:ir.model.fields,field_description:dms.field_documents_facet__write_date +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__write_date +#: model:ir.model.fields,field_description:dms.field_documents_share__write_date +#: model:ir.model.fields,field_description:dms.field_documents_tag__write_date +#: model:ir.model.fields,field_description:dms.field_documents_workflow_action__write_date +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Last update" +msgstr "اخر تحديث" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__user_specific +msgid "Limit Read Groups to the documents of which they are owner." +msgstr "قصر مجموعات القراءة على المستندات التي يملكونها." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__allowed_model_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__model_ids +msgid "Linked Models" +msgstr "النماذج المرتبطة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_model +#: model:ir.model.fields,field_description:dms.field_dms_file__res_model +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_model +msgid "Linked attachments model" +msgstr "نموذج المرفقات المرتبطة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_id +#: model:ir.model.fields,field_description:dms.field_dms_file__res_id +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_id +msgid "Linked attachments record ID" +msgstr "معرف سجل المرفقات المرتبطة" + +#. module: dms +#: model:ir.model.fields,help:dms.field_documents_document__email_cc +msgid "List of cc from incoming emails." +msgstr "قائمة cc من رسائل البريد الإلكتروني الواردة." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__documents_share__state__live +msgid "Live" +msgstr "مباشر" + +#. module: dms +#. openerp-web +#: code:addons/dms/static/src/xml/views.xml:0 +#: code:addons/dms/static/src/xml/views.xml:0 +#: model_terms:ir.ui.view,arch_db:dms.share_single +#, python-format +msgid "Loading" +msgstr "تحميل" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +msgid "Lock" +msgstr "غلق" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_locked +#: model:ir.model.fields,field_description:dms.field_documents_document__is_locked +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +msgid "Locked" +msgstr "مغلق" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__locked_by +#: model:ir.model.fields,field_description:dms.field_documents_document__lock_uid +msgid "Locked by" +msgstr "مغلق بواسطة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.share_view_form +#: model_terms:ir.ui.view,arch_db:dms.share_view_form_popup +#: model_terms:ir.ui.view,arch_db:dms.workflow_rule_form_view +msgid "Log a note..." +msgstr "تسجيل ملاحظة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.public_page_layout +msgid "Login" +msgstr "تسجيل الدخول" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.public_page_layout +msgid "Logout" +msgstr "تسجيل خروج" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_main_attachment_id +#: model:ir.model.fields,field_description:dms.field_dms_file__message_main_attachment_id +#: model:ir.model.fields,field_description:dms.field_documents_document__message_main_attachment_id +#: model:ir.model.fields,field_description:dms.field_documents_share__message_main_attachment_id +msgid "Main Attachment" +msgstr "المرفق الرئيسي" + +#. module: dms +#: model:res.groups,name:dms.group_dms_manager +msgid "Manager" +msgstr "المدير" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__remove_activities +msgid "Mark all as Done" +msgstr "وضع علامة \"تم\" على الكل" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error +#: model:ir.model.fields,field_description:dms.field_documents_document__message_has_error +#: model:ir.model.fields,field_description:dms.field_documents_share__message_has_error +msgid "Message Delivery error" +msgstr "خطأ في تسليم الرسائل" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_ids +#: model:ir.model.fields,field_description:dms.field_documents_document__message_ids +#: model:ir.model.fields,field_description:dms.field_documents_share__message_ids +msgid "Messages" +msgstr "الرسائل" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Meta Information" +msgstr "المعلومات الوصفية" + +#. module: dms +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Migrate File %s of %s [ %s ]" +msgstr "ترحيل الملف%s of %s [ %s ]" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__migration +msgid "Migration Status" +msgstr "حالات الترحيل" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__mimetype +msgid "Mime Type" +msgstr "نوع تنسيق الملف" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.workflow_rule_form_view +msgid "Miscellaneous" +msgstr "متنوعة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__model_id +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +msgid "Model" +msgstr "الكائن" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Modification Date" +msgstr "تاريخ التعديل" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__documents_request_wizard__activity_date_deadline_range_type__months +#: model:ir.model.fields.selection,name:dms.selection__documents_share__activity_date_deadline_range_type__months +#: model:ir.model.fields.selection,name:dms.selection__documents_workflow_rule__activity_date_deadline_range_type__months +msgid "Months" +msgstr "شهور" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__folder_id +msgid "Move to Workspace" +msgstr "انتقل إلى مساحة العمل" + +#. module: dms +#: model:ir.model,name:dms.model_dms_settings +msgid "MuK Documents Settings" +msgstr "إعدادات مستندات MuK" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__my_activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__my_activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_documents_document__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "نهاية الوقت المعين للنشاط" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "My Directories" +msgstr "مجلداتي" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "My Documents" +msgstr "ملفاتي" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +msgid "My Favorites" +msgstr "المفضلة" + +#. module: dms +#: code:addons/dms/controllers/portal.py:0 +#: code:addons/dms/controllers/portal.py:0 +#: code:addons/dms/controllers/portal.py:0 +#: code:addons/dms/controllers/portal.py:0 +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__name +#: model:ir.model.fields,field_description:dms.field_dms_category__name +#: model:ir.model.fields,field_description:dms.field_dms_directory__name +#: model:ir.model.fields,field_description:dms.field_dms_file__name +#: model:ir.model.fields,field_description:dms.field_dms_settings__name +#: model:ir.model.fields,field_description:dms.field_dms_storage__name +#: model:ir.model.fields,field_description:dms.field_dms_tag__name +#: model:ir.model.fields,field_description:dms.field_documents_document__name +#: model:ir.model.fields,field_description:dms.field_documents_facet__name +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__name +#: model:ir.model.fields,field_description:dms.field_documents_share__name +#: model:ir.model.fields,field_description:dms.field_documents_tag__name +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#, python-format +msgid "Name" +msgstr "الاسم" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.share_view_form +#: model_terms:ir.ui.view,arch_db:dms.share_view_form_popup +msgid "Name of the share link" +msgstr "اسم رابط المشاركة" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directory_new +msgid "New Root Directory" +msgstr "مجلد رئيسي جديد" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage_new +msgid "New Storage" +msgstr "تخزين جديد" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_file_new +msgid "New file" +msgstr "ملف جديد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_documents_document__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "الموعد النهائي للنشاط التالي" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_summary +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_summary +#: model:ir.model.fields,field_description:dms.field_documents_document__activity_summary +msgid "Next Activity Summary" +msgstr "ملخص النشاط التالي" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_id +#: model:ir.model.fields,field_description:dms.field_documents_document__activity_type_id +msgid "Next Activity Type" +msgstr "نوع النشاط التالي" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.share_action +msgid "No shared links" +msgstr "لا يوجد روابط مشتركه" + +#. module: dms +#: code:addons/dms/models/document.py:0 +#, python-format +msgid "Not a file" +msgstr "ليس ملفا" + +#. module: dms +#: code:addons/dms/models/document.py:0 +#, python-format +msgid "Not attached" +msgstr "غير مرفق" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__not_done +msgid "Not done" +msgstr "غير منتهية" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Not results" +msgstr "ليست نتائج" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__activity_note +#: model:ir.model.fields,field_description:dms.field_documents_share__activity_note +msgid "Note" +msgstr "الملاحظات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_documents_document__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_documents_share__message_needaction_counter +msgid "Number of Actions" +msgstr "عدد الإجراءات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_documents_document__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_documents_share__message_has_error_counter +msgid "Number of errors" +msgstr "عدد الاخطاء" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction_counter +#: model:ir.model.fields,help:dms.field_documents_document__message_needaction_counter +#: model:ir.model.fields,help:dms.field_documents_share__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "عدد الرسائل التي تتطلب إجراء" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error_counter +#: model:ir.model.fields,help:dms.field_documents_document__message_has_error_counter +#: model:ir.model.fields,help:dms.field_documents_share__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "عدد الرسائل الحادث بها خطأ في التسليم" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_unread_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_unread_counter +#: model:ir.model.fields,help:dms.field_documents_document__message_unread_counter +#: model:ir.model.fields,help:dms.field_documents_share__message_unread_counter +msgid "Number of unread messages" +msgstr "عدد الرسائل الجديدة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.public_page_layout +msgid "Odoo Logo" +msgstr "لوجو اودو" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.public_page_layout +msgid "Odoo Website" +msgstr "موقع اودو" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__limited_to_single_record +msgid "One record limit" +msgstr "حد سجل واحد" + +#. module: dms +#: code:addons/dms/models/document.py:0 +#, python-format +msgid "Only admins can upload SVG files." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_force_thread_id +#: model:ir.model.fields,help:dms.field_documents_share__alias_force_thread_id +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" +"معرف اختياري للموضوع (السجل) الذي سيتم إرفاق جميع الرسائل الواردة به، حتى لو" +" لم يتم الرد عليه. إذا تم تعيينه، فسيؤدي ذلك إلى تعطيل إنشاء سجلات جديدة " +"تمامًا." + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_organizing +msgid "Organizing" +msgstr "تنظيم" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__user_specific +msgid "Own Documents Only" +msgstr "ملفاتي الخاصة فقظ" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_user_id +#: model:ir.model.fields,field_description:dms.field_documents_document__owner_id +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__owner_id +#: model:ir.model.fields,field_description:dms.field_documents_share__alias_user_id +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__criteria_owner_id +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_attaches +msgid "Owner" +msgstr "المالك" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.share_page +msgid "Owner: #{document.create_uid.name}" +msgstr "المالك: #{document.create_uid.name}" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +msgid "PDF/Document" +msgstr "PDF/وثيقة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_id +msgid "Parent Category" +msgstr "الفئة الأم" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_id +msgid "Parent Directory" +msgstr "المجلد الأب" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_group_id +msgid "Parent Group" +msgstr "المجموعة الرئيسية" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_model_id +#: model:ir.model.fields,field_description:dms.field_documents_share__alias_parent_model_id +msgid "Parent Model" +msgstr "النموزج الرئيسي" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_path +msgid "Parent Path" +msgstr "المسار الأصلي" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_thread_id +#: model:ir.model.fields,field_description:dms.field_documents_share__alias_parent_thread_id +msgid "Parent Record Thread ID" +msgstr "معرف مؤشر ترابط السجل الأصلي" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_folder_id +msgid "Parent Workspace" +msgstr "مساحة عمل الرئيسية" + +#. module: dms +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "Parent group '%(parent)s' is child of '%(current)s'." +msgstr "المجموعة الرئيسية '%(parent)s' الفرعية'%(current)s'." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_model_id +#: model:ir.model.fields,help:dms.field_documents_share__alias_parent_model_id +msgid "" +"Parent model holding the alias. The model holding the alias reference is not" +" necessarily the model given by alias_model_id (example: project " +"(parent_model) and task (model))" +msgstr "" +"النموذج الأصلي يحمل الاسم المستعار. النموذج الذي يحمل مرجع الاسم المستعار " +"ليس بالضرورة النموذج المقدم بواسطة alias_model_id (على سبيل المثال: المشروع " +"(parent_model) والمهمة (النموذج))" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_json +msgid "Path Json" +msgstr "مسار جيسون" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_names +msgid "Path Names" +msgstr "اسم المسار" + +#. module: dms +#: model:res.groups,name:dms.group_dms_delete_file +msgid "Permission to delete Files" +msgstr "صلاحية حذف الملفات" + +#. module: dms +#: model:res.groups,name:dms.group_dms_delete_directory +msgid "Permission to delete Folders/Directories" +msgstr "صلاحية حذف المجلدات" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_contact +#: model:ir.model.fields,help:dms.field_documents_share__alias_contact +msgid "" +"Policy to post a message on the document using the mailgateway.\n" +"- everyone: everyone can post\n" +"- partners: only authenticated partners\n" +"- followers: only followers of the related document or members of following channels\n" +msgstr "" +"سياسة نشر رسالة على المستند باستخدام بوابة البريد..\n" +" - الجميع: يمكن للجميع النشر\n" +"- الشركاء: الشركاء المعتمدون فقط\n" +"- المتابعين: فقط متابعو الوثيقة ذات الصلة أو أعضاء القنوات التالية\n" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_url +#: model:ir.model.fields,field_description:dms.field_dms_file__access_url +#: model:ir.model.fields,field_description:dms.field_documents_document__access_url +msgid "Portal Access URL" +msgstr "رابط الوصول لبوابة العملاء" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__project_id +#: model_terms:ir.ui.view,arch_db:dms.board_my_dash_view2 +msgid "Project" +msgstr "المشروع" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_read +#: model:ir.model.fields,field_description:dms.field_documents_document__permission_read +msgid "Read Access" +msgstr "صلاحيات القراءة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__reason +#: model:ir.model.fields,field_description:dms.field_dms_file__reason +#: model:ir.model.fields,field_description:dms.field_documents_document__reason +#: model:ir.model.fields,field_description:dms.field_documents_share__reason +msgid "Reason/Justification" +msgstr "السببظ المبرر" + +#. module: dms +#: model:ir.model,name:dms.model_dms_access_group +msgid "Record Access Groups" +msgstr "سجل مجموعات الوصول" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_file__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__record_ref +#: model:ir.model.fields,field_description:dms.field_documents_document__record_ref +msgid "Record Referenced" +msgstr "سجل المشار إليه" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_force_thread_id +#: model:ir.model.fields,field_description:dms.field_documents_share__alias_force_thread_id +msgid "Record Thread ID" +msgstr "سجل معرف الموضوع" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__domain_folder_id +msgid "Related Workspace" +msgstr "مساحة العمل ذات الصلة" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__documents_workflow_action__action__remove +msgid "Remove" +msgstr "إزالة" + +#. module: dms +#: model:ir.model,name:dms.model_res_partner +msgid "Renter" +msgstr "المستأجر" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__documents_workflow_action__action__replace +msgid "Replace by" +msgstr "استبدل بواسطة" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__documents_document__type__empty +#: model_terms:ir.ui.view,arch_db:dms.documents_request_form_view +msgid "Request" +msgstr "طلب" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__request_activity_id +msgid "Request Activity" +msgstr "الأنشطة المطلوبة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.documents_request_form_view +msgid "Request To" +msgstr "الطلب إلى" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_request_form +msgid "Request a file" +msgstr "طلب ملف" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +#: model_terms:ir.ui.view,arch_db:dms.share_single +msgid "Requested" +msgstr "قدم الطلب" + +#. module: dms +#: model:mail.activity.type,name:dms.mail_documents_activity_data_md +msgid "Requested Document" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__require_migration +msgid "Require Migration" +msgstr "طلب تهجير" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__required_tag_ids +msgid "Required Tags" +msgstr "علامات وسام مطلوبة" + +#. module: dms +#: model:ir.model,name:dms.model_res_company +msgid "Res Company SMS Configuration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__res_model_name +msgid "Res Model Name" +msgstr "اسم النموذج الدقة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__res_id +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__res_id +msgid "Resource ID" +msgstr "معرف المصدر" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__res_model +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__res_model +msgid "Resource Model" +msgstr "نموذج الموارد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__res_name +msgid "Resource Name" +msgstr "اسم المصدر" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__activity_user_id +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__activity_user_id +msgid "Responsible" +msgstr "المسئول" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_user_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_user_id +#: model:ir.model.fields,field_description:dms.field_documents_document__activity_user_id +msgid "Responsible User" +msgstr "المستخدم المسؤول" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +msgid "Restore" +msgstr "استعادة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_settings__root_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__root_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_settings_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Root Directories" +msgstr "المجلدات الأساسية" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_sms_error +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_sms_error +#: model:ir.model.fields,field_description:dms.field_documents_document__message_has_sms_error +#: model:ir.model.fields,field_description:dms.field_documents_share__message_has_sms_error +msgid "SMS Delivery error" +msgstr "خطأ في تسليم الرسائل القصيرة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.board_my_dash_view2 +msgid "Sale Order" +msgstr "أمر البيع" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_settings_form +msgid "Save Settings" +msgstr "احفظ التغييرات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_settings__save_type +#: model:ir.model.fields,field_description:dms.field_dms_storage__save_type +#: model:ir.model.fields,field_description:dms.field_documents_document__storage_id_save_type +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +msgid "Save Type" +msgstr "نوع الحفظ" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__activity_option +msgid "Schedule Activity" +msgstr "جدولل الأنشطة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_token +#: model:ir.model.fields,field_description:dms.field_dms_file__access_token +#: model:ir.model.fields,field_description:dms.field_documents_document__access_token +msgid "Security Token" +msgstr "رمز الحماية" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__self_id +msgid "Self Directory" +msgstr "المجلد الذاتي" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__sequence +#: model:ir.model.fields,field_description:dms.field_documents_facet__sequence +#: model:ir.model.fields,field_description:dms.field_documents_tag__sequence +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__sequence +msgid "Sequence" +msgstr "المسلسل" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__partner_id +msgid "Set Contact" +msgstr "ضبط جهة الاتصال" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__user_id +msgid "Set Owner" +msgstr "ضبط المالك" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__tag_action_ids +msgid "Set Tags" +msgstr "ضبط الوسام" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__has_owner_activity +msgid "Set the activity on the document owner" +msgstr "قم بتعيين النشاط على مالك المستند" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_settings +#: model:ir.actions.act_window,name:dms.configuration_action +#: model:ir.actions.act_window,name:dms.settings_action +#: model:ir.model.fields,field_description:dms.field_dms_directory__settings +#: model:ir.model.fields,field_description:dms.field_dms_file__settings +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Settings" +msgstr "الإعدادات" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_settings +msgid "Settings are used to configure the Documents." +msgstr "يتم استخدام الإعدادات لتكوين المستندات." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Share" +msgstr "مشاركة" + +#. module: dms +#: code:addons/dms/models/share.py:0 +#, python-format +msgid "Share domain" +msgstr "مشاركة الملفات" + +#. module: dms +#: code:addons/dms/controllers/main.py:0 +#, python-format +msgid "Share link" +msgstr "مشاركة الرابط" + +#. module: dms +#: model:ir.actions.act_window,name:dms.share_action +msgid "Share links" +msgstr "مشاركة الروابط" + +#. module: dms +#: code:addons/dms/models/share.py:0 +#, python-format +msgid "Share selected records" +msgstr "مشاركة السجلات المختارة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__type +msgid "Share type" +msgstr "نوع المشاركة" + +#. module: dms +#: model:ir.model.fields,help:dms.field_documents_document__create_share_id +msgid "Share used to create this document" +msgstr "المشاركة المستخدمة لإنشاء هذه الوثيقة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.share_view_form_popup +msgid "Shared" +msgstr "مشارك" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__document_ids +msgid "Shared Documents" +msgstr "الملفات المتشارك بها" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__tag_ids +msgid "Shared Tags" +msgstr "علامات الوسام المشاركة" + +#. module: dms +#: model:ir.ui.menu,name:dms.share_menu +msgid "Shares & Emails" +msgstr "المشاركات ورسائل البريد الإلكتروني" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_settings__show_tree +msgid "Show Structure" +msgstr "عرض الهيكل" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Show storages" +msgstr "اظهار أماكن التخزين" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__files +msgid "Single Files" +msgstr "الملفات المفردة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__size +#: model:ir.model.fields,field_description:dms.field_dms_file__size +#: model:ir.model.fields,field_description:dms.field_documents_document__size +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_binary_max_size +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Size" +msgstr "الحجم" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__starred +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Starred" +msgstr "نجمة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Starred Directories" +msgstr "المجلدات المميزة بنجمة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__user_star_ids +msgid "Stars" +msgstr "نجوم" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__state +msgid "Status" +msgstr "الحالة" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_state +#: model:ir.model.fields,help:dms.field_dms_file__activity_state +#: model:ir.model.fields,help:dms.field_documents_document__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"الحالة على أساس الأنشطة\n" +"المتأخرة: تاريخ الاستحقاق مر\n" +"اليوم: تاريخ النشاط هو اليوم\n" +"المخطط: الأنشطة المستقبلية." + +#. module: dms +#: model:ir.model,name:dms.model_dms_storage +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id +#: model:ir.model.fields,field_description:dms.field_documents_document__storage_id +#: model_terms:ir.ui.view,arch_db:dms.onboarding_storage_step +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Storage" +msgstr "مكان التخزين" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_file__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_storage__is_hidden +#: model:ir.model.fields,field_description:dms.field_documents_document__is_hidden +msgid "Storage is Hidden" +msgstr "إخفاء مكان التخزين" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage +#: model:ir.ui.menu,name:dms.menu_dms_storage +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_tree +msgid "Storages" +msgstr "أماكن الحفظ" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Storages are used to configure your Documents." +msgstr "يتم استخدام المخازن لتكوين المستندات الخاصة بك." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Subcategories" +msgstr "التصنيفات الفرعية" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_directories_directory +#: model:ir.model.fields,field_description:dms.field_dms_directory__child_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Subdirectories" +msgstr "المجلدات الفرعية" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__directory +msgid "Subdirectory" +msgstr "المجلد الفرعي" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__activity_summary +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__activity_summary +msgid "Summary" +msgstr "الملخص" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_system +msgid "System" +msgstr "النظام" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_settings__system_locks +msgid "System Locks" +msgstr "أقفال النظام" + +#. module: dms +#: model:ir.model,name:dms.model_documents_tag +#: model:ir.model.fields,field_description:dms.field_documents_facet__tag_ids +#: model:ir.model.fields,field_description:dms.field_documents_workflow_action__tag_id +#: model:ir.model.fields,field_description:dms.field_mail_activity_type__tag_ids +#: model_terms:ir.ui.view,arch_db:dms.tag_view_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Tag" +msgstr "وسام" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_documents_tag_facet_name_unique +msgid "Tag already exists for this facet" +msgstr "العلامة الوسام موجودة بالفعل لهذه الواجهة" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "اسم الوسم مستخدم بالفعل!" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_tag +#: model:ir.actions.act_window,name:dms.facet_action +#: model:ir.model.fields,field_description:dms.field_dms_category__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__tag_ids +#: model:ir.model.fields,field_description:dms.field_documents_document__tag_ids +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__tag_ids +#: model:ir.ui.menu,name:dms.menu_dms_tag +#: model_terms:ir.ui.view,arch_db:dms.facet_view_form +#: model_terms:ir.ui.view,arch_db:dms.facet_view_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_tree +#: model_terms:ir.ui.view,arch_db:dms.workflow_rule_form_view +msgid "Tags" +msgstr "علامات الوسام" + +#. module: dms +#: model:ir.ui.menu,name:dms.category_menu +msgid "Tags Group" +msgstr "مجموعة العلامات" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Tags are used to categorize Documents." +msgstr "يتم استخدام العلامات لتصنيف المستندات." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +msgid "Tags..." +msgstr "الوسوم..." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +msgid "Technical Information" +msgstr "معلومات تقنية" + +#. module: dms +#: model:ir.model.fields,help:dms.field_documents_facet__tooltip +msgid "Text shown when hovering on this tag category or its tags" +msgstr "النص الذي يظهر عند المرور فوق فئة العلامة هذه أو علاماتها" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "الحقل النشط يمكنك من إخفاء الفئة دون حذفها." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_tag__active +msgid "The active field allows you to hide the tag without removing it." +msgstr "يسمح لك الحقل النشط بإخفاء العلامة دون إزالتها." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_onboarding_directory_panel +#: model_terms:ir.ui.view,arch_db:dms.document_onboarding_file_panel +msgid "The configuration is done!" +msgstr "تم الاعدادات!" + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "The directory name is invalid." +msgstr "اسم المجلد غير صالح." + +#. module: dms +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file has a forbidden file extension." +msgstr "الملف له امتداد ملف محظور." + +#. module: dms +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file name is invalid." +msgstr "اسم الملف غير صالح." + +#. module: dms +#: code:addons/dms/models/dms_file.py:0 code:addons/dms/models/document.py:0 +#, python-format +msgid "The maximum upload size is %s MB)." +msgstr "الحد الأقصى لحجم التحميل هو %s ميغابايت)." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_model_id +#: model:ir.model.fields,help:dms.field_documents_share__alias_model_id +msgid "" +"The model (Odoo Document Kind) to which this alias corresponds. Any incoming" +" email that does not reply to an existing record will cause the creation of " +"a new record of this model (e.g. a Project Task)" +msgstr "" +"النموذج (نوع مستند Odex) الذي يتوافق معه هذا الاسم المستعار. أي بريد " +"إلكتروني وارد لا يرد على سجل موجود سيؤدي إلى إنشاء سجل جديد لهذا النموذج " +"(على سبيل المثال، مهمة مشروع)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_name +#: model:ir.model.fields,help:dms.field_documents_share__alias_name +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_access_group_name_uniq +msgid "The name of the group must be unique!" +msgstr "يجب أن يكون اسم المجموعة فريدًا!" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_user_id +#: model:ir.model.fields,help:dms.field_documents_share__alias_user_id +msgid "" +"The owner of records created upon receiving emails on this alias. If this " +"field is not set the system will attempt to find the right owner based on " +"the sender (From) address, or will use the Administrator account if no " +"system user is found for that address." +msgstr "" +"مالك السجلات المنشأة عند استلام رسائل بريد إلكتروني على هذا اللقب. إذا لم " +"يتم تعيين قيمة لهذا الحقل، سيحاول النظام معرفة المالك الصحيح حسب عنوان " +"البريد الإلكتروني للمرسل، أو سيستخدم حساب المشرف إذا لم يجد حسابًا مرتبطًا " +"بعنوان البريد الإلكتروني." + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_storage__save_type +#: model:ir.model.fields,help:dms.field_documents_document__storage_id_save_type +msgid "" +"The save type is used to determine how a file is saved by the\n" +" system. If you change this setting, you can migrate existing files\n" +" manually by triggering the action." +msgstr "" +"يتم استخدام نوع الحفظ لتحديد كيفية حفظ الملف بواسطة الملف\n" +" نظام. إذا قمت بتغيير هذا الإعداد، يمكنك ترحيل الملفات الموجودة\n" +" يدويًا عن طريق تشغيل الإجراء." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_settings__save_type +msgid "The save type is used to determine how a file is saved to the system." +msgstr "يتم استخدام نوع الحفظ لتحديد كيفية حفظ الملف في النظام." + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_documents_share_share_unique +msgid "This access token already exists" +msgstr "رمز الوصول هذا موجود بالفعل" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_documents_document_attachment_unique +msgid "This attachment is already a document" +msgstr "هذا المرفق هو مستند بالفعل" + +#. module: dms +#: model:ir.model.fields,help:dms.field_documents_document__group_ids +msgid "This attachment will only be available for the selected user groups" +msgstr "سيكون هذا المرفق متاحًا فقط لمجموعات المستخدمين المحددة" + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "This directory needs to be associated to a record." +msgstr "يجب أن يكون هذا الدليل مرتبطًا بسجل." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.share_single +msgid "" +"This document has been requested.\n" +" Upload it." +msgstr "" +"لقد تم طلب هذه الوثيقة.\n" +" رفع المستند." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.not_available +msgid "This link has expired" +msgstr "انتهت صلاحية هذا الرابط" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__thumbnail +msgid "Thumbnail" +msgstr "ظفري" + +#. module: dms +#: model:mail.activity.type,name:dms.mail_documents_activity_data_tv +msgid "To validate" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_facet__tooltip +#: model:ir.model.fields,field_description:dms.field_documents_workflow_rule__note +#: model_terms:ir.ui.view,arch_db:dms.facet_view_form +msgid "Tooltip" +msgstr "أدوات مساعدة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_settings__top_directories +#: model_terms:ir.ui.view,arch_db:dms.view_dms_settings_form +msgid "Top Directories" +msgstr "أعلى المجلدات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_settings__top_files +#: model_terms:ir.ui.view,arch_db:dms.view_dms_settings_form +msgid "Top Files" +msgstr "أعلى الملفات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_elements +msgid "Total Elements" +msgstr "إجمال العناصر" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_files +msgid "Total Files" +msgstr "إجمالي الملفات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_directories +msgid "Total Subdirectories" +msgstr "إجمالي المجلدات الفرعية" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.board_my_dash_view2 +msgid "Transaction" +msgstr "معاملة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__mimetype +#: model:ir.model.fields,field_description:dms.field_documents_document__type +msgid "Type" +msgstr "النوع" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_decoration +#: model:ir.model.fields,help:dms.field_documents_document__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "نوع النشاط الاستثنائي المسجل." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__url +#: model:ir.model.fields,field_description:dms.field_documents_share__full_url +#: model:ir.model.fields.selection,name:dms.selection__documents_document__type__url +#: model_terms:ir.ui.view,arch_db:dms.document_view_search +#: model_terms:ir.ui.view,arch_db:dms.documents_upload_url_view +#: model_terms:ir.ui.view,arch_db:dms.share_page +#: model_terms:ir.ui.view,arch_db:dms.share_single +msgid "URL" +msgstr "رابط ويب" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_unlink +msgid "Unlink Access" +msgstr "الحذف" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +msgid "Unlock" +msgstr "تحرير" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_process +msgid "Unpack Emails as" +msgstr "فك رسائل البريد الإلكتروني باسم" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_unread +#: model:ir.model.fields,field_description:dms.field_dms_file__message_unread +#: model:ir.model.fields,field_description:dms.field_documents_document__message_unread +#: model:ir.model.fields,field_description:dms.field_documents_share__message_unread +msgid "Unread Messages" +msgstr "الرسائل الجديدة" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_unread_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_unread_counter +#: model:ir.model.fields,field_description:dms.field_documents_document__message_unread_counter +#: model:ir.model.fields,field_description:dms.field_documents_share__message_unread_counter +msgid "Unread Messages Counter" +msgstr "عدد الرسائل الجديدة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.share_page +msgid "Upload" +msgstr "الرفع" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.document_action +msgid "" +"Upload a file or drag\n" +" it here." +msgstr "" +"رفع أو الملف تحريك\n" +" هنا." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.onboarding_file_step +msgid "Upload File" +msgstr "رفع الملف" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__email_drop +msgid "Upload by Email" +msgstr "رفع من خلال الإيميل" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.onboarding_file_step +msgid "Upload your first File." +msgstr "رفع اول ملف" + +#. module: dms +#: model:res.groups,name:dms.group_dms_user +msgid "User" +msgstr "المستخدم" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_users +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Users" +msgstr "المستخدمون" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_share__date_deadline +msgid "Valid Until" +msgstr "متاح حتى تاريخ" + +#. module: dms +#. openerp-web +#: code:addons/dms/static/src/xml/views.xml:0 +#, python-format +msgid "Viewer" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Views" +msgstr "أدوات العرض" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__website_message_ids +#: model:ir.model.fields,field_description:dms.field_documents_document__website_message_ids +#: model:ir.model.fields,field_description:dms.field_documents_share__website_message_ids +msgid "Website Messages" +msgstr "رسائل الموقع" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,help:dms.field_dms_file__website_message_ids +#: model:ir.model.fields,help:dms.field_documents_document__website_message_ids +#: model:ir.model.fields,help:dms.field_documents_share__website_message_ids +msgid "Website communication history" +msgstr "سجل تواصل الموقع" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__documents_request_wizard__activity_date_deadline_range_type__weeks +#: model:ir.model.fields.selection,name:dms.selection__documents_share__activity_date_deadline_range_type__weeks +#: model:ir.model.fields.selection,name:dms.selection__documents_workflow_rule__activity_date_deadline_range_type__weeks +msgid "Weeks" +msgstr "أسابيع" + +#. module: dms +#: model:ir.actions.act_window,name:dms.workflow_rule_action +msgid "Workflow Actions" +msgstr "إجراءات مسار العمل" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_workflow_action__workflow_rule_id +msgid "Workflow Rule" +msgstr "قواعد مسار العمل" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_documents_document__folder_id +#: model:ir.model.fields,field_description:dms.field_documents_facet__folder_id +#: model:ir.model.fields,field_description:dms.field_documents_request_wizard__folder_id +#: model:ir.model.fields,field_description:dms.field_documents_share__folder_id +#: model:ir.model.fields,field_description:dms.field_documents_tag__folder_id +#: model_terms:ir.ui.view,arch_db:dms.facet_view_search +msgid "Workspace" +msgstr "مساحة العمل" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_write +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_write +#: model:ir.model.fields,field_description:dms.field_documents_document__permission_write +msgid "Write Access" +msgstr "امكانية التعديل " + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.workflow_rule_form_view +msgid "Write a tooltip for the action here" +msgstr "اكتب تلميحًا للإجراء هنا" + +#. module: dms +#: code:addons/dms/models/document.py:0 +#, python-format +msgid "You are not allowed to delete a file!" +msgstr "ليس مسموح لك بحذف ملف!" + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "You are not allowed to delete a folder/directory!" +msgstr "ليس مسموح لك بحذف مجلد!" + +#. module: dms +#: model:ir.model.fields,help:dms.field_documents_document__attachment_type +msgid "" +"You can either upload a file from your computer or copy/paste an internet " +"link to your file." +msgstr "يمكنك أن ترفع ملفًا من جهازك أو تنسخ وتلصق رابط الملف." + +#. module: dms +#. openerp-web +#: code:addons/dms/static/src/js/views/many_drop_target.js:0 +#, python-format +msgid "You must select a directory first" +msgstr "يجب عليك تحديد الدليل أولاً" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_onboarding_directory_panel +#: model_terms:ir.ui.view,arch_db:dms.document_onboarding_file_panel +msgid "action_close_documents_onboarding" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.share_page +msgid "documents shared by" +msgstr "المستندات مشاركة بواسطة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.share_view_form +#: model_terms:ir.ui.view,arch_db:dms.share_view_form_popup +#: model_terms:ir.ui.view,arch_db:dms.workflow_rule_form_view +msgid "e.g. Discuss proposal" +msgstr "على سبيل المثال مناقشة الاقتراح" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.documents_upload_url_view +msgid "e.g. https://www.youtube.com/watch?v=CP96yVnXNrY" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "element(s)" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "exe,msi" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "mail.catchall.domain" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_onboarding_file_panel +msgid "o_onboarding_blue" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_onboarding_directory_panel +msgid "o_onboarding_orange" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__project_id +msgid "project.project" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_onboarding_directory_panel +#: model_terms:ir.ui.view,arch_db:dms.document_onboarding_file_panel +msgid "res.company" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.public_page_layout +msgid "shared by" +msgstr "مشارك بواسطة" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_kanban +msgid "toggle favorite" +msgstr "" diff --git a/odex25_dms/dms/i18n/ar_SY.po b/odex25_dms/dms/i18n/ar_SY.po new file mode 100644 index 000000000..bf316b3b6 --- /dev/null +++ b/odex25_dms/dms/i18n/ar_SY.po @@ -0,0 +1,3436 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * dms +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0-20200928\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-08 05:28+0000\n" +"PO-Revision-Date: 2022-11-08 05:28+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: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_process +msgid "" +" Define how incoming emails are processed:\n" +"\n" +" - Single Files: The email gets attached to the directory and\n" +" all attachments are created as files.\n" +"\n" +" - Subdirectory: A new subdirectory is created for each email\n" +" and the mail is attached to this subdirectory. The attachments\n" +" are created as files of the subdirectory.\n" +" " +msgstr "" + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Files" +msgstr "" + +#. module: dms +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Subdirectories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.document_view_form +msgid "" +" \n" +"