# Translation of Odoo Server.
# This file contains the translation of the following modules:
# 	* cetmix_tower_git
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2025-11-11 15:54+0100\n"
"Last-Translator: \n"
"Language-Team: Italian <https://hosted.weblate.org/projects/tower-server-14-0-dev/cetmix_tower_git/it/>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Poedit 2.3\n"

#. module: cetmix_tower_git
#. odoo-python
#: code:addons/cetmix_tower_git/models/cx_tower_git_project.py:0
#, python-format
msgid ""
"\n"
"# You need to set the following variables in your environment:\n"
"# %(vars)s\n"
"# and run git-aggregator with '--expand-env' parameter.\n"
msgstr ""
"\n"
"# È necessario impostare le seguenti variabili d'ambiente:\n"
"# %(vars)s\n"
"# ed eseguire git-aggregator con il parametro '--expand-env'.\n"

#. module: cetmix_tower_git
#. odoo-python
#: code:addons/cetmix_tower_git/models/cx_tower_git_project.py:0
#, python-format
msgid ""
"# This file is generated with Cetmix Tower https://cetmix.com/tower\n"
"# It's designed to be used with git-aggregator tool developed by Acsone.\n"
"# Documentation for git-aggregator: https://github.com/acsone/git-aggregator\n"
msgstr ""
"# Questo file è generato con Cetmix Tower https://cetmix.com/tower\n"
"# È progettato per essere usato con il tool git-aggregator sviluppato da Acsone.\n"
"# Documentazione per git-aggregator: https://github.com/acsone/git-aggregator\n"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "* Sources where all remotes are private"
msgstr "* Origini dove tutti i remote sono privati"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "* Sources where some remotes are private"
msgstr "* Origini dove alcuni remote sono privati"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "..to be autogenerated"
msgstr "... da autogenerare"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid ""
"<b>Managers.</b> All users who have \"Manager\" group and are set as \"Managers\" in <b><u>all</u></b> related servers.\n"
"                                        This is done to avoid unpredictable consequences when some of the servers are not updated due to access restrictions when a project is updated."
msgstr ""
"<br>Responsabili.</b> Tutti gli utenti che hanno il gruppo \"Responsabili\" e seno impostati a \"Responsabile\" in <b><u>tutti</u></b> i server relativi.\n"
"                                        Questo serve ad evitare conseguenze impreviste quando alcuni dei server non sono aggiornati per limitazioni di accesso nell'aggiornamento di un progetto."

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "<b>Users.</b> All users who have \"Manager\" group and are either set in \"Users\" or in \"Managers\" in <b><u>all</u></b> related servers."
msgstr "<b>Utenti.</b> Tutti gli utenti che hanno il gruppo \"Responsabili\" e sono impostati in \"Utenti\" o \"Responsabili\" in <b><u>tutti</u></b> i server correlati."

#. module: cetmix_tower_git
#: model:ir.model.constraint,message:cetmix_tower_git.constraint_cx_tower_git_repo_unique_repo_host_owner
msgid "A repository with the same name, host, and owner already exists."
msgstr "Esiste già un repository con lo stesso nome server, host e proprietario."

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "Access"
msgstr "Accesso"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__active
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__active
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__active
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__active
msgid "Active"
msgstr "Attivo"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "Archived"
msgstr "In archivio"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_rel__auto_sync
msgid "Auto Sync"
msgstr "Auto sincronizza"

#. module: cetmix_tower_git
#: model:ir.model.fields.selection,name:cetmix_tower_git.selection__cx_tower_git_remote__head_type__branch
msgid "Branch"
msgstr "Branch"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_remote_view_form
msgid "Branch/PR/commit number or link"
msgstr "Numero o link branch/PR/commit"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_project__reference
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_project_rel__reference
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_remote__reference
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__reference
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo_owner__reference
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_source__reference
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_owner_view_form
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_view_form
msgid "Can contain English letters, digits and '_'. Leave blank to autogenerate"
msgstr "Può contenere lettere inglesi, cifre e '_'. Lasciare vuoto per la generazione automatica"

#. module: cetmix_tower_git
#: model:ir.model,name:cetmix_tower_git.model_cx_tower_command
msgid "Cetmix Tower Command"
msgstr "Comando Cetmix Tower"

#. module: cetmix_tower_git
#: model:ir.model,name:cetmix_tower_git.model_cx_tower_file
msgid "Cetmix Tower File"
msgstr "File Cetmix Tower"

#. module: cetmix_tower_git
#: model:ir.model,name:cetmix_tower_git.model_cx_tower_file_template
msgid "Cetmix Tower File Template"
msgstr "Modello file Cetmix Tower"

#. module: cetmix_tower_git
#: model:ir.model,name:cetmix_tower_git.model_cx_tower_plan_line
msgid "Cetmix Tower Flight Plan Line"
msgstr "Riga piano di volo Cetmix Tower"

#. module: cetmix_tower_git
#: model:ir.model,name:cetmix_tower_git.model_cx_tower_git_project
msgid "Cetmix Tower Git Project"
msgstr "Progetto Git Cetmix Tower"

#. module: cetmix_tower_git
#: model:ir.model,name:cetmix_tower_git.model_cx_tower_git_project_file_template_rel
msgid "Cetmix Tower Git Project relation to File Templates"
msgstr "Relazione progetto Git a modelli file"

#. module: cetmix_tower_git
#: model:ir.model,name:cetmix_tower_git.model_cx_tower_git_project_rel
msgid "Cetmix Tower Git Project relation to Files and Servers"
msgstr "Relazione progetto Git ad file e server"

#. module: cetmix_tower_git
#: model:ir.model,name:cetmix_tower_git.model_cx_tower_git_remote
msgid "Cetmix Tower Git Remote"
msgstr "Remote Git Cetmix Tower"

#. module: cetmix_tower_git
#: model:ir.model,name:cetmix_tower_git.model_cx_tower_git_repo
msgid "Cetmix Tower Git Repository"
msgstr "Repository Git Cetmix Tower"

#. module: cetmix_tower_git
#: model:ir.model,name:cetmix_tower_git.model_cx_tower_git_repo_owner
msgid "Cetmix Tower Git Repository Owner"
msgstr "Proprietario repository Git Cetmix Tower"

#. module: cetmix_tower_git
#: model:ir.model,name:cetmix_tower_git.model_cx_tower_git_source
msgid "Cetmix Tower Git Source"
msgstr "Origine Git Cetmix Tower"

#. module: cetmix_tower_git
#: model:ir.model,name:cetmix_tower_git.model_cetmix_tower
msgid "Cetmix Tower Odoo Automation"
msgstr "Automazione Odoo Cetmix Tower"

#. module: cetmix_tower_git
#: model:ir.model,name:cetmix_tower_git.model_cx_tower_server
msgid "Cetmix Tower Server"
msgstr "Server Cetmix Tower"

#. module: cetmix_tower_git
#. odoo-python
#: code:addons/cetmix_tower_git/models/cx_tower_git_project_file_template_rel.py:0
#: code:addons/cetmix_tower_git/models/cx_tower_git_project_rel.py:0
#, python-format
msgid "Code generator function for '%(project_format)s' format not found."
msgstr "Funzione generazione codice per il formato '%(project_format)s' non trovata."

#. module: cetmix_tower_git
#: model:ir.model.fields.selection,name:cetmix_tower_git.selection__cx_tower_git_remote__head_type__commit
msgid "Commit"
msgstr "Commit"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_server_view_form
msgid "Configure"
msgstr "Configura"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_plan_line__is_make_copy
msgid "Create a copy of the Git Project instead of linking the file to the existing one."
msgstr "Creare una copia del progetto Git invece di collegare il file ad uno esistente."

#. module: cetmix_tower_git
#: model_terms:ir.actions.act_window,help:cetmix_tower_git.action_cx_tower_git_remote
msgid "Create your first git remote!"
msgstr "Crea il tuo primo remote Git!"

#. module: cetmix_tower_git
#: model_terms:ir.actions.act_window,help:cetmix_tower_git.action_cx_tower_git_repo_owner
msgid "Create your first repository owner!"
msgstr "Crea il tuo primo proprietario di repository!"

#. module: cetmix_tower_git
#: model_terms:ir.actions.act_window,help:cetmix_tower_git.action_cx_tower_git_repo
msgid "Create your first repository!"
msgstr "Crea il tuo primo repository!"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__create_uid
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__create_uid
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__create_uid
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo_owner__create_uid
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__create_uid
msgid "Created by"
msgstr "Creato da"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__create_date
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__create_date
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__create_date
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo_owner__create_date
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__create_date
msgid "Created on"
msgstr "Creato il"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__secret_id
msgid "Custom secret used for this repository"
msgstr "Secreto personalizzato utilizzato per questo repository"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo_owner__secret_id
msgid "Custom secret used for this repository owner"
msgstr "Segreto personalizzato utilizzato per questo proprietario del repository"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_remote_view_form
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_source_view_form
msgid "Disabled"
msgstr "Disabilitato"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__display_name
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_file_template_rel__display_name
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_rel__display_name
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__display_name
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__display_name
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo_owner__display_name
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__display_name
msgid "Display Name"
msgstr "Nome visualizzato"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__url
msgid "Displayed in 'https' format, but can be entered in any format"
msgstr "Visualizzato in formato 'https', ma può essere inserito in qualsiasi formato"

#. module: cetmix_tower_git
#. odoo-python
#: code:addons/cetmix_tower_git/models/cx_tower_git_source.py:0
#, python-format
msgid "Empty Source"
msgstr "Origine vuota"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_remote__enabled
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_source__enabled
msgid "Enable in configuration and exported to files"
msgstr "Abilitato in configurazione ed esportato nei file"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__enabled
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__enabled
msgid "Enabled"
msgstr "Abilitato"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "Export YAML"
msgstr "Esporta YAML"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_rel__file_id
msgid "File"
msgstr "File"

#. module: cetmix_tower_git
#. odoo-python
#: code:addons/cetmix_tower_git/models/cx_tower_git_project_rel.py:0
#, python-format
msgid "File '%(file)s' doesn't belong to server '%(server)s'"
msgstr "Il file '%(file)s' non appartiene al server '%(server)s'"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_file_template_rel__file_template_id
msgid "File Template"
msgstr "Modello file"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__file_template_ids
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "File Templates"
msgstr "Modelli file"

#. module: cetmix_tower_git
#: model:ir.model.constraint,message:cetmix_tower_git.constraint_cx_tower_git_project_rel_project_server_file_format_uniq
msgid "File is already related to the same project and format"
msgstr "Il file è già relativo allo stesso progetto e formato"

#. module: cetmix_tower_git
#: model:ir.model.constraint,message:cetmix_tower_git.constraint_cx_tower_git_project_file_template_rel_project_server_file_format_uniq
msgid "File template is already related to the same project and format"
msgstr "Il file modello  è già relativo allo stesso progetto e formato"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__file_ids
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "Files"
msgstr "File"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_file_template_rel__project_format
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_rel__project_format
msgid "Format"
msgstr "Formato"

#. module: cetmix_tower_git
#: model:ir.model.fields.selection,name:cetmix_tower_git.selection__cx_tower_git_remote__url_protocol__git
msgid "GIT"
msgstr "GIT"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__url_git
msgid "GIT URL"
msgstr "URL GIT"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__url_git
msgid "GIT URL of the repository"
msgstr "URL git del repository"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "General"
msgstr "Generale"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__url
msgid "Generic URL"
msgstr "URL generico"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "Git Aggregator"
msgstr "Git Aggregator"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__git_aggregator_root_dir
msgid "Git Aggregator Root Dir"
msgstr "Directory radice Git Aggregator"

#. module: cetmix_tower_git
#. odoo-python
#: code:addons/cetmix_tower_git/models/cx_tower_git_remote.py:0
#, python-format
msgid ""
"Git Aggregator: Bitbucket does not support fetching PRs. Please use branch instead.\n"
"\n"
"Source: %(src)s\n"
"URL: %(url)s\n"
"Head: %(head)s"
msgstr ""
"Git Aggregator: Bitbucket non supporta il fetch delle PR. In alternativa usare branch.\n"
"\n"
"Origine: %(src)s\n"
"URL: %(url)s\n"
"Head: %(head)s"

#. module: cetmix_tower_git
#. odoo-python
#: code:addons/cetmix_tower_git/models/cx_tower_git_remote.py:0
#, python-format
msgid "Git Aggregator: Head number is empty in %(head)s"
msgstr "Git Aggregator: il numero Head è vuoto in %(head)s"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__git_project_id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__git_project_id
msgid "Git Configuration"
msgstr "Configurazione Git"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_file__git_project_id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_file_template__git_project_id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_file_template_rel__git_project_id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_rel__git_project_id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__git_project_ids
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_plan_line__git_project_id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_server__git_project_ids
msgid "Git Project"
msgstr "Progetto Git"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__git_project_count
msgid "Git Project Count"
msgstr "Conteggio progetti Git"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__git_project_file_template_rel_ids
msgid "Git Project File Template Relations"
msgstr "Relazioni modello file progetto Git"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_server__git_project_rel_ids
msgid "Git Project Rel"
msgstr "Rel progetto Git"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_file__git_project_rel_ids
msgid "Git Project Relations"
msgstr "Relazioni progetto Git"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__git_project_rel_ids
msgid "Git Project Server File Relations"
msgstr "Relazioni file server progetto Git"

#. module: cetmix_tower_git
#: model:ir.actions.act_window,name:cetmix_tower_git.cx_tower_git_project_action
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_file_template__git_project_ids
#: model:ir.ui.menu,name:cetmix_tower_git.menu_cx_tower_git_project
#: model:ir.ui.menu,name:cetmix_tower_git.menu_cx_tower_git_project_settings
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_server_view_form
msgid "Git Projects"
msgstr "Progetti Git"

#. module: cetmix_tower_git
#: model:ir.actions.act_window,name:cetmix_tower_git.action_cx_tower_git_remote
msgid "Git Remotes"
msgstr "Remote Git"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_project__git_aggregator_root_dir
msgid "Git aggregator root directory where sources will be cloned. Eg '/tmp/git-aggregator' Will use '.' if not set"
msgstr "La directory radice di Git Aggregator dove l'origine verrà clonata. Es. '/tmp/git-aggregator'. Verrà usato '.' se non impostata"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "Git aggregator root directory where sources will be cloned. Leave blank to use '.'"
msgstr "La directory radice di Git Aggregator dove l'origine verrà clonata. Lasciare vuoto per usare '.'"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_remote__head
msgid "Git remote head. Link to branch, PR, commit or commit hash."
msgstr "Head remoto Git. Link al branch, PR, commit o hash del commit."

#. module: cetmix_tower_git
#: model_terms:ir.actions.act_window,help:cetmix_tower_git.action_cx_tower_git_remote
msgid "Git remotes represent branches, pull requests, or commits from git repositories."
msgstr "I remote git rappresentano branch, pull reguest o commit dai repository Git."

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_view_form
msgid "GitProjects"
msgstr ""

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_view_search
msgid "Group By"
msgstr "Raggruppa per"

#. module: cetmix_tower_git
#: model:ir.model.fields.selection,name:cetmix_tower_git.selection__cx_tower_git_remote__url_protocol__https
msgid "HTTPS"
msgstr "HTTPS"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__has_partially_private_remotes
msgid "Has Partially Private Remotes"
msgstr "Ha remote parzialmente privati"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__has_private_remotes
msgid "Has Private Remotes"
msgstr "Ha remote privati"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__head
msgid "Head"
msgstr "Intestazione"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__head_type
msgid "Head Type"
msgstr "Tipo head"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__host
msgid "Host"
msgstr "Host"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_file_template_rel__id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_rel__id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo_owner__id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__id
msgid "ID"
msgstr "ID"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_project_rel__auto_sync
msgid "If enabled file will be synced automatically using cron"
msgstr "Se abilitata il file verrà sincronizzato automaticamente usando il cron"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_remote__repo_id
msgid "If selected, the remote URL will be filled from the repo settings based on the remote protocol"
msgstr "Se selezionata, l'URL del remote verrà compilato dalle impostazione del repository in base al protocollo del remote"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_project__has_partially_private_remotes
msgid "Indicates if the project has any partially private remotes."
msgstr "Indica se il progetto ha qualche remote parzialmente privato."

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_project__has_private_remotes
msgid "Indicates if the project has any private remotes."
msgstr "Indica se il progetto ha qualche remote privato."

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__active
msgid "Indicates if the repository is active"
msgstr "Indica se il repository è attivo."

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__is_private
msgid "Indicates if the repository is private"
msgstr "Indica se il repositoty è privato."

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project____last_update
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_file_template_rel____last_update
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_rel____last_update
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote____last_update
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo____last_update
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo_owner____last_update
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source____last_update
msgid "Last Modified on"
msgstr "Ultima modifica il"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__write_uid
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__write_uid
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__write_uid
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo_owner__write_uid
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__write_uid
msgid "Last Updated by"
msgstr "Ultimo aggiornamento di"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__write_date
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__write_date
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__write_date
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo_owner__write_date
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__write_date
msgid "Last Updated on"
msgstr "Ultimo aggiornamento il"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_plan_line__is_make_copy
msgid "Make a Copy"
msgstr "Crea una copia"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__manager_ids
msgid "Managers"
msgstr "Responsabili"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_project__manager_ids
msgid "Managers who can modify this record"
msgstr "Responsabili che possono modificare questo record"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__name
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_file_template_rel__name
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_rel__name
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__name
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__name
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo_owner__name
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__name
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_view_search
msgid "Name"
msgstr "Nome"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo_owner__name
msgid "Name of the repository owner (e.g., 'cetmix', 'OCA')"
msgstr "Nome del proprietario del repository (es. 'cetmix', 'OCA')"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_source_view_form
msgid "Name. Leave blank to autogenerate"
msgstr "Nome. Lasciare vuoto per autogenerarlo"

#. module: cetmix_tower_git
#. odoo-python
#: code:addons/cetmix_tower_git/models/cx_tower_git_repo.py:0
#, python-format
msgid "Not a valid repository URL!"
msgstr "URL repository non valido!"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__note
msgid "Note"
msgstr "Nota"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__git_project_count
msgid "Number of projects this repository is used in"
msgstr "Numero dei progetti in cui è usato questo repository"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__remote_count
msgid "Number of remotes this repository is used in"
msgstr "Numero dei remote in cui è usato questo repository"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "Open File Template"
msgstr "Apri modello file"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_server_view_form
msgid "Open Git Project"
msgstr "Apri progetto Git"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "Open Server"
msgstr "Apri server"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "Open file template"
msgstr "Apri modello file"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_view_search
msgid "Org"
msgstr "Org"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__owner_id
msgid "Owner"
msgstr "Proprietario"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__is_private
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__is_private
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_view_search
msgid "Private"
msgstr "Privato"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__remote_count_private
msgid "Private Remotes"
msgstr "Remote privati"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_view_form
msgid "Projects"
msgstr "Progetti"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__git_project_ids
msgid "Projects this repository is used in"
msgstr "Progetto in cui è usato questo repository"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__url_protocol
msgid "Protocol"
msgstr ""

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__repo_provider
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__provider
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_view_search
msgid "Provider"
msgstr "Provider"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_view_search
msgid "Provider: Other"
msgstr "Provider: altro"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_view_search
msgid "Public"
msgstr "Pubblico"

#. module: cetmix_tower_git
#: model:ir.model.fields.selection,name:cetmix_tower_git.selection__cx_tower_git_remote__head_type__pr
msgid "Pull/Merge Request"
msgstr "Pull/Merge Request"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "Put your notes here..."
msgstr "Inserisci qui le note..."

#. module: cetmix_tower_git
#. odoo-python
#: code:addons/cetmix_tower_git/models/cx_tower_command.py:0
#, python-format
msgid "Python library for Git URL parsing. Available methods: 'parse', 'validate'.  <a href='https://github.com/nephila/giturlparse/' target='_blank'>Documentation on GitHub</a>."
msgstr "Libreria Python per il parsing dell'URL Git. Metofi disponibili:  'parse', 'validate'.  <a href='https://github.com/nephila/giturlparse/' target='_blank'>Documentazione su GitHub</a>."

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__reference
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_rel__reference
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__reference
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__reference
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo_owner__reference
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__reference
msgid "Reference"
msgstr "Riferimento"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_source_view_form
msgid "Reference. Can contain English letters, digits and '_'. Leave blank to autogenerate"
msgstr "Riferimento. Può contenere lettere inglesi, cifre e '_'. Lasciare vuoto per la generazione automatica"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__remote_ids
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__remote_ids
msgid "Remote"
msgstr "Remote"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__remote_count
msgid "Remote Count"
msgstr "Conteggio remote"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__remote_count
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_view_form
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_source_view_form
msgid "Remotes"
msgstr "Remote"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__remote_ids
msgid "Remotes that use this repository"
msgstr "Remote che usano questo repository"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "Repos"
msgstr "Repository"

#. module: cetmix_tower_git
#: model:ir.actions.act_window,name:cetmix_tower_git.action_cx_tower_git_repo
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__repo_ids
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo_owner__repo_ids
#: model:ir.ui.menu,name:cetmix_tower_git.menu_cx_tower_git_repositories
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_owner_view_form
msgid "Repositories"
msgstr "Repository"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo_owner__repo_ids
msgid "Repositories owned by this organization/user"
msgstr "Repository di proprietà du eusta organizzazione/utente"

#. module: cetmix_tower_git
#: model_terms:ir.actions.act_window,help:cetmix_tower_git.action_cx_tower_git_repo
msgid ""
"Repositories represent git repositories with their metadata and configuration.\n"
"                They can be linked to remotes to automatically populate URL information."
msgstr ""
"I repository rappresentano i reposoitory Git con i loro metadati e configurazione.\n"
"                Possono essere collegati a remore per compilare automaticamente le informazioni sull'URL."

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_project__repo_ids
msgid "Repositories used in this project through its sources and remotes"
msgstr "Repository utilizzati in questo progetto attraverso i suo sorgente e i remote"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__repo_id
msgid "Repository"
msgstr "Repository"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__repo
msgid "Repository Name"
msgstr "Nome repository"

#. module: cetmix_tower_git
#: model:ir.actions.act_window,name:cetmix_tower_git.action_cx_tower_git_repo_owner
#: model:ir.ui.menu,name:cetmix_tower_git.menu_cx_tower_git_repository_owners
msgid "Repository Owners"
msgstr "Proprietari repository"

#. module: cetmix_tower_git
#. odoo-python
#: code:addons/cetmix_tower_git/models/cx_tower_git_remote.py:0
#, python-format
msgid "Repository URL is not set"
msgstr "L'URL del repository non è impostato"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__host
msgid "Repository host (e.g., 'github.com', 'gitlab.com')"
msgstr "Host repository (es. 'github.com', 'gitlab.com')"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_remote__is_private
msgid "Repository is private"
msgstr "Il repository è privato"

#. module: cetmix_tower_git
#. odoo-python
#: code:addons/cetmix_tower_git/models/cx_tower_git_remote.py:0
#, python-format
msgid "Repository is required"
msgstr "Il repository è richiesto"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__repo
msgid "Repository name (e.g., 'cetmix-tower', 'odoo')"
msgstr "Nome repository (es. 'cetmix-tower', 'odoo')"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__owner_id
msgid "Repository owner (e.g., 'cetmix' or 'OCA')"
msgstr "Proprietari orepository (es. 'cetmix' or 'OCA')"

#. module: cetmix_tower_git
#: model_terms:ir.actions.act_window,help:cetmix_tower_git.action_cx_tower_git_repo_owner
msgid ""
"Repository owners represent organizations or users that own git repositories.\n"
"                Examples include \"cetmix\", \"OCA\", etc."
msgstr ""
"I proprietari del repository rappresentano organizzazioni o utenti che possiedono i repository Git.\n"
"                Esempi includono  \"cetmix\", \"OCA\", etc."

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_remote__repo_provider
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__provider
msgid "Repository provider to determine provider-based behaviour"
msgstr "Provider repository per determinare l'aspetto in base al provider"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "Root Directory"
msgstr "Cartella radice"

#. module: cetmix_tower_git
#: model:ir.model.fields.selection,name:cetmix_tower_git.selection__cx_tower_git_remote__url_protocol__ssh
msgid "SSH"
msgstr "SSH"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__url_ssh
msgid "SSH URL"
msgstr "URL SSH"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_repo__url_ssh
msgid "SSH URL of the repository"
msgstr "URL SSH del repository"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__secret_id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo_owner__secret_id
msgid "Secret"
msgstr "Segreto"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_plan_line__git_project_id
msgid "Select a git project to be linked to the file and server."
msgstr "Selezionare un progetto Git da collegare al file e al server."

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__sequence
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__sequence
msgid "Sequence"
msgstr "Sequenza"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_file__server_id
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_rel__server_id
msgid "Server"
msgstr "Server"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__server_ids
msgid "Servers"
msgstr "Server"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_project__server_ids
msgid ""
"Servers are added automatically based on the files linked to the project.\n"
"IMPORTANT: This field may contain duplicates because of the relation nature!"
msgstr ""
"I server vengono aggiunti automaticamente in base ai file collegati al progetto.\n"
"IMPORTANTE: questo campo può contenere duplicati per la natura della relazione!"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__source_id
msgid "Source"
msgstr "Origine"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__source_ids
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "Sources"
msgstr "Origini"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_source_view_form
msgid ""
"The top one remote will be used as a merge target.\n"
"                                You can re-arrange remotes by dragging them or changing their sequence value."
msgstr ""

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__user_ids
msgid "Users"
msgstr "Utenti"

#. module: cetmix_tower_git
#: model:ir.model.fields,help:cetmix_tower_git.field_cx_tower_git_project__user_ids
msgid "Users who can view this record"
msgstr "Utenti che possono vedere questo record"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "YAML"
msgstr "YAML"

#. module: cetmix_tower_git
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project__yaml_code
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_project_rel__yaml_code
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_remote__yaml_code
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo__yaml_code
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_repo_owner__yaml_code
#: model:ir.model.fields,field_description:cetmix_tower_git.field_cx_tower_git_source__yaml_code
msgid "Yaml Code"
msgstr "Codice YAML"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "You can edit these fields at your own risk. However keep in mind that they will be automatically updated each time related servers are added, removed or updated."
msgstr "Si possono modificare questi campi a proprio rischio e pericolo. Tuttavia, tenere presente che verranno aggiornati automaticamente ogni volta che vengono aggiunti, rimossi o aggiornati server correlati."

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "You must be a member of the \"YAML/Export\" group to export data as YAML."
msgstr "Bisogna appartenere al gruppo \"YAML/Export\" per esportare dati in YAML."

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_owner_view_form
msgid "e.g., Cetmix, OCA"
msgstr "es. Cetmix, OCA"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_owner_view_form
msgid "e.g., cetmix, oca"
msgstr "es. cetmix, oca"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_view_form
msgid "e.g., cetmix-tower, odoo"
msgstr "es. cetmix-tower, odoo"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_repo_view_form
msgid "https, ssh or git formats are accepted"
msgstr "Sono accettati formati Git https o ssh"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "managers who can modify this record"
msgstr "responsabili che possono modificare questi record"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_remote_view_form
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_remote_view_tree
msgid "select or enter a link"
msgstr "selezionare o inserire un link"

#. module: cetmix_tower_git
#: model_terms:ir.ui.view,arch_db:cetmix_tower_git.cx_tower_git_project_view_form
msgid "users who can view this record"
msgstr "utenti che possono vedere questo record"

#~ msgid "Bitbucket"
#~ msgstr "Bitbucket"

#~ msgid ""
#~ "Git remote URL. Eg 'https://github.com/cetmix/cetmix-tower.git' or "
#~ "'git@github.com:cetmix/cetmix-tower.git'"
#~ msgstr ""
#~ "URL remote Git. Es. 'https://github.com/cetmix/cetmix-tower.git' o "
#~ "'git@github.com:cetmix/cetmix-tower.git'"

#~ msgid "GitHub"
#~ msgstr "GitHub"

#~ msgid "GitLab"
#~ msgstr "GitLab"

#~ msgid "Is Private"
#~ msgstr "È privato"

#~ msgid "Not a valid URL. URL must end with '.git'"
#~ msgstr "URL non valido. L'URL deve finire con '.git'"

#~ msgid "Not a valid URL. URL must start with 'https://', 'git@', or 'git://'"
#~ msgstr ""
#~ "URL non valido. L'URL deve iniziare con 'https://', 'git@', or 'git://'"

#~ msgid "Open"
#~ msgstr "Aperto"

#~ msgid "Open server"
#~ msgstr "Apri server"

#~ msgid "URL"
#~ msgstr "URL"

#~ msgid "URL is required"
#~ msgstr "È richiesto l'URL"

#~ msgid ""
#~ "Will be tried to be determined from the URL. Please select manually if "
#~ "auto-detection fails."
#~ msgstr ""
#~ "Si cercherà di determinarlo dall'URL. Selezionarlo manualmente se "
#~ "fallisce l'auto determinazione."

#~ msgid ""
#~ "File '%(file)s' is related to multiple projects: %(projects)s \n"
#~ "Please select only one project."
#~ msgstr ""
#~ "Il file '%(file)s' è relativo a progetti multipli: %(projects)s \n"
#~ "Selezionare solo un progetto."

#~ msgid ""
#~ "Not a valid URL: %(url_msg)s\n"
#~ "URL must contain at least two parts separated by dot."
#~ msgstr ""
#~ "URL non valdio: %(url_msg)s\n"
#~ "URL deve contenere almeno due parti separate da un punto."
