mirror of
				https://github.com/gristlabs/grist-core.git
				synced 2025-06-13 20:53:59 +00:00 
			
		
		
		
	(core) updates from grist-core
This commit is contained in:
		
						commit
						2e4a8ab8e0
					
				@ -43,7 +43,7 @@ Here are some specific feature highlights of Grist:
 | 
			
		||||
    - Any tool that can read SQLite can read numeric and text data from a Grist file.
 | 
			
		||||
    - Great format for [backups](https://support.getgrist.com/exports/#backing-up-an-entire-document) that you can be confident you can restore in full.
 | 
			
		||||
    - Great format for moving between different hosts.
 | 
			
		||||
  - Can be displayed on a static website with [grist-static](https://github.com/gristlabs/grist-static).
 | 
			
		||||
  - Can be displayed on a static website with [grist-static](https://github.com/gristlabs/grist-static), no special server needed.
 | 
			
		||||
  - There's a self-contained desktop app available for viewing and editing: [grist-electron](https://github.com/gristlabs/grist-electron).
 | 
			
		||||
  * Convenient editing and formatting features.
 | 
			
		||||
    - Choices and [choice lists](https://support.getgrist.com/col-types/#choice-list-columns), for adding colorful tags to records without fuss.
 | 
			
		||||
@ -65,6 +65,7 @@ Here are some specific feature highlights of Grist:
 | 
			
		||||
    - A [REST API](https://support.getgrist.com/api/), [Zapier actions/triggers](https://support.getgrist.com/integrators/#integrations-via-zapier), and support from similar [integrators](https://support.getgrist.com/integrators/).
 | 
			
		||||
    - Import/export to Google drive, Excel format, CSV.
 | 
			
		||||
    - Can link data with custom widgets hosted externally.
 | 
			
		||||
    - You can set up outgoing webhooks.
 | 
			
		||||
  * [Many templates](https://templates.getgrist.com/) to get you started, from investment research to organizing treasure hunts.
 | 
			
		||||
  * Access control options.
 | 
			
		||||
    - (You'll need SSO logins set up to make use of these options; [grist-omnibus](https://github.com/gristlabs/grist-omnibus) has a prepackaged solution if configuring this feels daunting)
 | 
			
		||||
@ -78,8 +79,11 @@ Here are some specific feature highlights of Grist:
 | 
			
		||||
      [gVisor](https://github.com/google/gvisor) sandboxing at the individual
 | 
			
		||||
      document level.
 | 
			
		||||
    - On OSX, you can use native sandboxing.
 | 
			
		||||
  - On any OS, including Windows, you can use a wasm-based sandbox.
 | 
			
		||||
    - On any OS, including Windows, you can use a wasm-based sandbox.
 | 
			
		||||
  * Translated to many languages.
 | 
			
		||||
  * Support for an AI Formula Assistant (using OpenAI gpt-3.5-turbo).
 | 
			
		||||
  * `F1` key brings up some quick help. This used to go without saying. In general Grist has good keyboard support.
 | 
			
		||||
  * We post progress on [𝕏 or Twitter or whatever](https://twitter.com/getgrist).
 | 
			
		||||
 | 
			
		||||
If you are curious about where Grist is going heading,
 | 
			
		||||
see [our roadmap](https://github.com/gristlabs/grist-core/projects/1), drop a
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "grist-core",
 | 
			
		||||
  "version": "1.1.2",
 | 
			
		||||
  "version": "1.1.3",
 | 
			
		||||
  "license": "Apache-2.0",
 | 
			
		||||
  "description": "Grist is the evolution of spreadsheets",
 | 
			
		||||
  "homepage": "https://github.com/gristlabs/grist-core",
 | 
			
		||||
 | 
			
		||||
@ -740,12 +740,12 @@ class Response(object):
 | 
			
		||||
  """
 | 
			
		||||
  Similar to the Response class from the `requests` library.
 | 
			
		||||
  """
 | 
			
		||||
  def __init__(self, content, status, statusText, headers, encoding):
 | 
			
		||||
  def __init__(self, content, status, statusText, headers, encoding=None):
 | 
			
		||||
    self.content = content  # raw bytes
 | 
			
		||||
    self.status_code = status  # e.g. 404
 | 
			
		||||
    self.reason = statusText  # e.g. "Not Found"
 | 
			
		||||
    self.headers = CaseInsensitiveDict(headers)
 | 
			
		||||
    self.encoding = encoding or self.apparent_encoding
 | 
			
		||||
    self.encoding = encoding or self.apparent_encoding or "utf-8"
 | 
			
		||||
 | 
			
		||||
  @property
 | 
			
		||||
  def text(self):
 | 
			
		||||
 | 
			
		||||
@ -73,6 +73,13 @@ class TestResponse(unittest.TestCase):
 | 
			
		||||
    self.assertEqual(r.content, content)
 | 
			
		||||
    self.assertEqual(r.text, text)
 | 
			
		||||
 | 
			
		||||
  def test_unknown_undetectable_encoding(self):
 | 
			
		||||
    content = b''
 | 
			
		||||
    r = Response(content, 200, "OK", {}, encoding=None)
 | 
			
		||||
 | 
			
		||||
    # Not knowing the encoding should not break text
 | 
			
		||||
    self.assertEqual(r.text, "")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestRequestsPostInterface(unittest.TestCase):
 | 
			
		||||
    def test_no_post_args(self):
 | 
			
		||||
 | 
			
		||||
@ -1,18 +1,26 @@
 | 
			
		||||
# This number should be bumped up if making a non-additive change
 | 
			
		||||
# to python packages.
 | 
			
		||||
GRIST_PYODIDE_VERSION = 2
 | 
			
		||||
 | 
			
		||||
default:
 | 
			
		||||
	echo "Welcome to the pyodide sandbox"
 | 
			
		||||
	echo "make fetch_packages  # gets python packages prepared earlier"
 | 
			
		||||
	echo "make build_packages  # build python packages from scratch"
 | 
			
		||||
	echo "make save_packages   # upload python packages to fetch later"
 | 
			
		||||
	echo "setup  # get pyodide node package"
 | 
			
		||||
	echo "make clean_packages  # remove local cache of python packages"
 | 
			
		||||
	echo "setup  # get pyodide node package, and python packages"
 | 
			
		||||
 | 
			
		||||
fetch_packages:
 | 
			
		||||
	node ./packages.js https://s3.amazonaws.com/grist-pynbox/pyodide/packages/ _build/packages/
 | 
			
		||||
	node ./packages.js https://s3.amazonaws.com/grist-pynbox/pyodide/packages/v$(GRIST_PYODIDE_VERSION)/ _build/packages/
 | 
			
		||||
 | 
			
		||||
build_packages:
 | 
			
		||||
	./build_packages.sh
 | 
			
		||||
 | 
			
		||||
save_packages:
 | 
			
		||||
	aws s3 sync _build/packages s3://grist-pynbox/pyodide/packages/
 | 
			
		||||
	aws s3 sync _build/packages s3://grist-pynbox/pyodide/packages/v$(GRIST_PYODIDE_VERSION)
 | 
			
		||||
 | 
			
		||||
clean_packages:
 | 
			
		||||
	rm -rf _build/packages
 | 
			
		||||
 | 
			
		||||
setup:
 | 
			
		||||
	./setup.sh
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										8
									
								
								sandbox/pyodide/build_packages.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										8
									
								
								sandbox/pyodide/build_packages.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							@ -17,14 +17,16 @@ echo "###############################################################"
 | 
			
		||||
echo "## Prepare python packages"
 | 
			
		||||
 | 
			
		||||
cd _build/pyodide
 | 
			
		||||
git checkout 0.23.4 || (git fetch && git checkout 0.23.4)
 | 
			
		||||
./run_docker make
 | 
			
		||||
cp ../../../requirements3.txt .
 | 
			
		||||
./run_docker pyodide build -r requirements3.txt --output-lockfile result.txt
 | 
			
		||||
cat result.txt
 | 
			
		||||
./run_docker "source emsdk/emsdk/emsdk_env.sh && pyodide build -r requirements3.txt --outdir grist-packages"
 | 
			
		||||
./run_docker pyodide py-compile grist-packages
 | 
			
		||||
cd ../..
 | 
			
		||||
 | 
			
		||||
echo ""
 | 
			
		||||
echo "###############################################################"
 | 
			
		||||
echo "## Copy out python packages"
 | 
			
		||||
 | 
			
		||||
node ./packages.js _build/pyodide/dist/ _build/packages/
 | 
			
		||||
rm -rf _build/packages/
 | 
			
		||||
node ./packages.js _build/pyodide/grist-packages/ _build/packages/
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										21
									
								
								sandbox/pyodide/package_filenames.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								sandbox/pyodide/package_filenames.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
			
		||||
[
 | 
			
		||||
  "astroid-2.14.2-cp311-none-any.whl",
 | 
			
		||||
  "asttokens-2.2.1-cp311-none-any.whl",
 | 
			
		||||
  "chardet-4.0.0-cp311-none-any.whl",
 | 
			
		||||
  "et_xmlfile-1.0.1-cp311-none-any.whl",
 | 
			
		||||
  "executing-1.1.1-cp311-none-any.whl",
 | 
			
		||||
  "friendly_traceback-0.7.48-cp311-none-any.whl",
 | 
			
		||||
  "iso8601-0.1.12-cp311-none-any.whl",
 | 
			
		||||
  "lazy_object_proxy-1.6.0-cp311-cp311-emscripten_3_1_32_wasm32.whl",
 | 
			
		||||
  "openpyxl-3.0.10-cp311-none-any.whl",
 | 
			
		||||
  "phonenumberslite-8.12.57-cp311-none-any.whl",
 | 
			
		||||
  "pure_eval-0.2.2-cp311-none-any.whl",
 | 
			
		||||
  "python_dateutil-2.8.2-cp311-none-any.whl",
 | 
			
		||||
  "roman-3.3-cp311-none-any.whl",
 | 
			
		||||
  "six-1.16.0-cp311-none-any.whl",
 | 
			
		||||
  "sortedcontainers-2.4.0-cp311-none-any.whl",
 | 
			
		||||
  "stack_data-0.5.1-cp311-none-any.whl",
 | 
			
		||||
  "typing_extensions-4.4.0-cp311-none-any.whl",
 | 
			
		||||
  "unittest_xml_reporting-2.0.0-cp311-none-any.whl",
 | 
			
		||||
  "wrapt-1.15.0-cp311-none-any.whl"
 | 
			
		||||
]
 | 
			
		||||
@ -61,6 +61,8 @@ async function findOnDisk(src, dest) {
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
  libs = await listLibs(dest);
 | 
			
		||||
  fs.writeFileSync(path.join(__dirname, `package_filenames.json`),
 | 
			
		||||
    JSON.stringify(libs.available.map(lib => lib.fileName), null, 2));
 | 
			
		||||
  console.log(`Cached`, {libs: libs.available.map(lib => lib.name)});
 | 
			
		||||
  console.log(`Missing`, {libs: libs.misses.map(lib => lib.name)});
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,6 @@ if [[ ! -e _build/worker ]]; then
 | 
			
		||||
  mkdir -p _build/worker
 | 
			
		||||
  cd _build/worker
 | 
			
		||||
  yarn init --yes
 | 
			
		||||
  yarn add pyodide@0.22.1
 | 
			
		||||
  yarn add pyodide@0.23.4
 | 
			
		||||
  cd ../..
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
@ -77,7 +77,10 @@
 | 
			
		||||
        "Activation": "Aktivierung",
 | 
			
		||||
        "Billing Account": "Abrechnungskonto",
 | 
			
		||||
        "Support Grist": "Grist Support",
 | 
			
		||||
        "Upgrade Plan": "Upgrade-Plan"
 | 
			
		||||
        "Upgrade Plan": "Upgrade-Plan",
 | 
			
		||||
        "Sign Up": "Registrieren Sie sich",
 | 
			
		||||
        "Use This Template": "Diese Vorlage verwenden",
 | 
			
		||||
        "Sign In": "Anmelden"
 | 
			
		||||
    },
 | 
			
		||||
    "ActionLog": {
 | 
			
		||||
        "Action Log failed to load": "Aktionsprotokoll konnte nicht geladen werden",
 | 
			
		||||
@ -108,7 +111,8 @@
 | 
			
		||||
        "Home Page": "Startseite",
 | 
			
		||||
        "Legacy": "Hinterlassenschaft",
 | 
			
		||||
        "Personal Site": "Persönliche Seite",
 | 
			
		||||
        "Team Site": "Teamseite"
 | 
			
		||||
        "Team Site": "Teamseite",
 | 
			
		||||
        "Grist Templates": "Grist Vorlagen"
 | 
			
		||||
    },
 | 
			
		||||
    "AppModel": {
 | 
			
		||||
        "This team site is suspended. Documents can be read, but not modified.": "Diese Teamseite ist gesperrt. Die Dokumente können gelesen, aber nicht geändert werden."
 | 
			
		||||
@ -428,7 +432,8 @@
 | 
			
		||||
    "GristDoc": {
 | 
			
		||||
        "Added new linked section to view {{viewName}}": "Neuer verlinkter Abschnitt zur Ansicht hinzugefügt {{viewName}}",
 | 
			
		||||
        "Import from file": "Aus Datei importieren",
 | 
			
		||||
        "Saved linked section {{title}} in view {{name}}": "Gespeicherter verlinkter Abschnitt {{title}} in Ansicht {{name}}"
 | 
			
		||||
        "Saved linked section {{title}} in view {{name}}": "Gespeicherter verlinkter Abschnitt {{title}} in Ansicht {{name}}",
 | 
			
		||||
        "go to webhook settings": "gehen sie zu webhook Einstellungen"
 | 
			
		||||
    },
 | 
			
		||||
    "HomeIntro": {
 | 
			
		||||
        ", or find an expert via our ": ", oder finden Sie einen Experten über unseren",
 | 
			
		||||
 | 
			
		||||
@ -72,7 +72,10 @@
 | 
			
		||||
        "Activation": "Activación",
 | 
			
		||||
        "Billing Account": "Cuenta de facturación",
 | 
			
		||||
        "Support Grist": "Soporte Grist",
 | 
			
		||||
        "Upgrade Plan": "Actualizar el Plan"
 | 
			
		||||
        "Upgrade Plan": "Actualizar el Plan",
 | 
			
		||||
        "Sign In": "Ingresar",
 | 
			
		||||
        "Sign Up": "Regístrate",
 | 
			
		||||
        "Use This Template": "Usa esta plantilla"
 | 
			
		||||
    },
 | 
			
		||||
    "AddNewButton": {
 | 
			
		||||
        "Add New": "Agregar Nuevo"
 | 
			
		||||
@ -97,7 +100,8 @@
 | 
			
		||||
        "Home Page": "Portada",
 | 
			
		||||
        "Legacy": "Legado",
 | 
			
		||||
        "Personal Site": "Sitio Personal",
 | 
			
		||||
        "Team Site": "Sitio de Equipo"
 | 
			
		||||
        "Team Site": "Sitio de Equipo",
 | 
			
		||||
        "Grist Templates": "Plantillas Grist"
 | 
			
		||||
    },
 | 
			
		||||
    "CellContextMenu": {
 | 
			
		||||
        "Clear cell": "Borrar celda",
 | 
			
		||||
@ -699,7 +703,8 @@
 | 
			
		||||
    "GristDoc": {
 | 
			
		||||
        "Added new linked section to view {{viewName}}": "Añadido nueva sección vinculada a la vista {{viewName}}",
 | 
			
		||||
        "Import from file": "Importar desde archivo",
 | 
			
		||||
        "Saved linked section {{title}} in view {{name}}": "Sección vinculada guardada {{title}} a la vista {{name}}"
 | 
			
		||||
        "Saved linked section {{title}} in view {{name}}": "Sección vinculada guardada {{title}} a la vista {{name}}",
 | 
			
		||||
        "go to webhook settings": "ir a la configuración webhook"
 | 
			
		||||
    },
 | 
			
		||||
    "ACUserManager": {
 | 
			
		||||
        "Enter email address": "Introduzca la dirección de correo electrónico",
 | 
			
		||||
 | 
			
		||||
@ -289,7 +289,11 @@
 | 
			
		||||
        "Errors in {{numErrors}} of {{numCells}} cells": "Errori in {{numErrors}} su {{numCells}} celle",
 | 
			
		||||
        "Column or field is required": "Richiesta una colonna o un campo",
 | 
			
		||||
        "Errors in all {{numErrors}} cells": "Errori in {{numErrors}} celle",
 | 
			
		||||
        "editingFormula is required": "editingFormula è necessario"
 | 
			
		||||
        "editingFormula is required": "editingFormula è necessario",
 | 
			
		||||
        "Enter formula or {{button}}.": "Inserisci una formula o {{button}}.",
 | 
			
		||||
        "Enter formula.": "Inserisci una formula.",
 | 
			
		||||
        "Expand Editor": "Espandi l'editor",
 | 
			
		||||
        "use AI Assistant": "usa l'assistente IA"
 | 
			
		||||
    },
 | 
			
		||||
    "FieldEditor": {
 | 
			
		||||
        "It should be impossible to save a plain data value into a formula column": "Non dovrebbe essere possibile salvare un valore semplice in una colonna di formule",
 | 
			
		||||
@ -445,7 +449,9 @@
 | 
			
		||||
        "Type a message...": "Inserisci un messaggio…",
 | 
			
		||||
        "User Attributes": "Attributi dell'utente",
 | 
			
		||||
        "Seed rules": "Regole pre-inserite",
 | 
			
		||||
        "When adding table rules, automatically add a rule to grant OWNER full access.": "Quando si mettono regole per la tabella, inserire sempre una che dà pieno accesso a OWNER."
 | 
			
		||||
        "When adding table rules, automatically add a rule to grant OWNER full access.": "Quando si mettono regole per la tabella, inserire sempre una che dà pieno accesso a OWNER.",
 | 
			
		||||
        "This default should be changed if editors' access is to be limited. ": "Questo valore di default può essere cambiato se si vuole limitare l'accesso agli editor. ",
 | 
			
		||||
        "Allow editors to edit structure (e.g. modify and delete tables, columns, layouts), and to write formulas, which give access to all data regardless of read restrictions.": "Permette agli editor di modificare la struttura (es., modificare ed eliminare tabelle, colonne, viste) e scrivere formule, cosa che permette l'accesso ai dati indipendentemente dalle restrizioni in lettura."
 | 
			
		||||
    },
 | 
			
		||||
    "ACUserManager": {
 | 
			
		||||
        "Enter email address": "Inserisci indirizzo e-mail",
 | 
			
		||||
@ -785,7 +791,8 @@
 | 
			
		||||
        "Send to Google Drive": "Invia a Google Drive",
 | 
			
		||||
        "Show in folder": "Mostra nella cartella",
 | 
			
		||||
        "Unsaved": "Non salvato",
 | 
			
		||||
        "Work on a Copy": "Lavora su una copia"
 | 
			
		||||
        "Work on a Copy": "Lavora su una copia",
 | 
			
		||||
        "Share": "Condividi"
 | 
			
		||||
    },
 | 
			
		||||
    "SiteSwitcher": {
 | 
			
		||||
        "Create new team site": "Crea un nuovo sito per il team",
 | 
			
		||||
@ -908,7 +915,8 @@
 | 
			
		||||
        "Find Next ": "Trova successivo ",
 | 
			
		||||
        "Find Previous ": "Trova precedente ",
 | 
			
		||||
        "No results": "Nessun risultato",
 | 
			
		||||
        "Search in document": "Cerca nel documento"
 | 
			
		||||
        "Search in document": "Cerca nel documento",
 | 
			
		||||
        "Search": "Cerca"
 | 
			
		||||
    },
 | 
			
		||||
    "sendToDrive": {
 | 
			
		||||
        "Sending file to Google Drive": "Invio i file a Google Drive"
 | 
			
		||||
@ -979,7 +987,9 @@
 | 
			
		||||
        "Access rules give you the power to create nuanced rules to determine who can see or edit which parts of your document.": "Le regole di accesso ti danno il potere di creare regole sofisticate per decidere chi può vedere o modificare il tuo documento, e quali parti.",
 | 
			
		||||
        "Reference columns are the key to {{relational}} data in Grist.": "Le colonne con riferimenti sono il motore {{relational}} dei dati in Grist.",
 | 
			
		||||
        "Anchor Links": "Link interno",
 | 
			
		||||
        "Custom Widgets": "Widget personalizzati"
 | 
			
		||||
        "Custom Widgets": "Widget personalizzati",
 | 
			
		||||
        "You can choose one of our pre-made widgets or embed your own by providing its full URL.": "Puoi scegliere uno dei nostri widget pronti all'uso, o inserirne uno fatto da te, immettendo la sua URL completa.",
 | 
			
		||||
        "To make an anchor link that takes the user to a specific cell, click on a row and press {{shortcut}}.": "Per creare un link che porta l'utente a una cella specifica, fai clic su una riga e premi {{shortcut}}."
 | 
			
		||||
    },
 | 
			
		||||
    "DescriptionConfig": {
 | 
			
		||||
        "DESCRIPTION": "DESCRIZIONE"
 | 
			
		||||
@ -1031,7 +1041,20 @@
 | 
			
		||||
        "Save": "Salva",
 | 
			
		||||
        "Tips": "Suggerimenti",
 | 
			
		||||
        "Grist's AI Formula Assistance. ": "Assistenza dalla IA di Grist per le formule. ",
 | 
			
		||||
        "See our {{helpFunction}} and {{formulaCheat}}, or visit our {{community}} for more help.": "Vedi {{helpFunction}} e {{formulaCheat}}, o visita la {{community}} per ulteriore aiuto."
 | 
			
		||||
        "See our {{helpFunction}} and {{formulaCheat}}, or visit our {{community}} for more help.": "Vedi {{helpFunction}} e {{formulaCheat}}, o visita la {{community}} per ulteriore aiuto.",
 | 
			
		||||
        "Cancel": "Annulla",
 | 
			
		||||
        "Clear Conversation": "Cancella conversazione",
 | 
			
		||||
        "AI Assistant": "Assistente IA",
 | 
			
		||||
        "Apply": "Applica",
 | 
			
		||||
        "Code View": "Vista codice",
 | 
			
		||||
        "Hi, I'm the Grist Formula AI Assistant.": "Ciao, sono l'assistente IA per le formule di Grist.",
 | 
			
		||||
        "I can only help with formulas. I cannot build tables, columns, and views, or write access rules.": "Posso solo aiutare con le formule. Non posso costruire tabelle, colonne e viste, o scrivere regole di accesso.",
 | 
			
		||||
        "Learn more": "Per saperne di più",
 | 
			
		||||
        "Press Enter to apply suggested formula.": "Premi Invio per applicare la formula suggerita.",
 | 
			
		||||
        "Sign Up for Free": "Iscriviti gratis",
 | 
			
		||||
        "There are some things you should know when working with me:": "Ecco alcune cose da sapere quando lavori con me:",
 | 
			
		||||
        "What do you need help with?": "In che cosa posso aiutarti?",
 | 
			
		||||
        "Sign up for a free Grist account to start using the Formula AI Assistant.": "Iscriviti a un account gratuito di Grist per usare l'Assistente IA per le formule."
 | 
			
		||||
    },
 | 
			
		||||
    "GridView": {
 | 
			
		||||
        "Click to insert": "Clicca per inserire"
 | 
			
		||||
@ -1072,5 +1095,67 @@
 | 
			
		||||
        "No row selected in {{title}}": "Nessuna riga selezionata in {{title}}",
 | 
			
		||||
        "Not all data is shown": "Non tutti i dati sono mostrati",
 | 
			
		||||
        "No data": "Nessun dato"
 | 
			
		||||
    },
 | 
			
		||||
    "DescriptionTextArea": {
 | 
			
		||||
        "DESCRIPTION": "DESCRIZIONE"
 | 
			
		||||
    },
 | 
			
		||||
    "UserManager": {
 | 
			
		||||
        "Add {{member}} to your team": "Aggiungi {{member}} al tuo team",
 | 
			
		||||
        "Allow anyone with the link to open.": "Consenti l'accesso a chiunque ha il link.",
 | 
			
		||||
        "Anyone with link ": "Chiunque ha il link ",
 | 
			
		||||
        "Cancel": "Annulla",
 | 
			
		||||
        "Copy Link": "Copia link",
 | 
			
		||||
        "Create a team to share with more people": "Crea un team per condividere con più persone",
 | 
			
		||||
        "Grist support": "Supporto di Grist",
 | 
			
		||||
        "Guest": "Ospite",
 | 
			
		||||
        "Invite multiple": "Invita più persone",
 | 
			
		||||
        "Invite people to {{resourceType}}": "Invita delle persone a {{resourceType}}",
 | 
			
		||||
        "Link copied to clipboard": "Link copiato negli Appunti",
 | 
			
		||||
        "Off": "Spento",
 | 
			
		||||
        "Manage members of team site": "Gestisci i membri del tuo team",
 | 
			
		||||
        "No default access allows access to be         granted to individual documents or workspaces, rather than the full team site.": "Nessun accesso di default, permette di autorizzare l'accesso a singoli documenti o spazi di lavoro, invece che a tutto il sito del team.",
 | 
			
		||||
        "On": "Acceso",
 | 
			
		||||
        "Once you have removed your own access,             you will not be able to get it back without assistance              from someone else with sufficient access to the {{name}}.": "Se togli l'accesso a te stesso, non potrai riaverlo senza l'aiuto di qualcuno con permessi sufficienti a {{name}}.",
 | 
			
		||||
        "Open Access Rules": "Apri le regole di accesso",
 | 
			
		||||
        "Outside collaborator": "Collaboratore esterno",
 | 
			
		||||
        "Public Access": "Accesso pubblico",
 | 
			
		||||
        "Public access: ": "Accesso pubblico: ",
 | 
			
		||||
        "Public access": "Accesso pubblico",
 | 
			
		||||
        "User inherits permissions from {{parent})}. To remove,           set 'Inherit access' option to 'None'.": "L'utente eredita i permessi da {{parent})}. Per rimuoverli, imposta l'opzione 'Eredita l'accesso' a 'Nessuno'.",
 | 
			
		||||
        "User inherits permissions from {{parent}}. To remove, set 'Inherit access' option to 'None'.": "L'utente eredita i permessi da {{parent}}. Per rimuoverli, imposta l'opzione 'Eredita l'accesso' a 'Nessuno'.",
 | 
			
		||||
        "You are about to remove your own access to this {{resourceType}}": "Stai per rimuovere il tuo stesso accesso da questa {{resourceType}}",
 | 
			
		||||
        "Close": "Chiudi",
 | 
			
		||||
        "Collaborator": "Collaboratore",
 | 
			
		||||
        "Remove my access": "Rimuovi il mio accesso",
 | 
			
		||||
        "Confirm": "Conferma",
 | 
			
		||||
        "Save & ": "Salva e ",
 | 
			
		||||
        "Public access inherited from {{parent}}. To remove, set 'Inherit access' option to 'None'.": "Accesso pubblico ereditato da {{parent}}. Per rimuoverlo, imposta l'opzione 'Eredita l'accesso' a 'Nessuno'.",
 | 
			
		||||
        "Team member": "Membro del team",
 | 
			
		||||
        "User may not modify their own access.": "L'utente non può modificare le sue stesse opzioni di accesso.",
 | 
			
		||||
        "Your role for this team site": "Il tuo ruolo per questo sito del team",
 | 
			
		||||
        "Your role for this {{resourceType}}": "Il tuo ruolo per {{resourceType}}",
 | 
			
		||||
        "free collaborator": "collaboratore libero",
 | 
			
		||||
        "guest": "ospite",
 | 
			
		||||
        "member": "membro",
 | 
			
		||||
        "team site": "sito del team",
 | 
			
		||||
        "{{collaborator}} limit exceeded": "limite superato per {{collaborator}}",
 | 
			
		||||
        "{{limitAt}} of {{limitTop}} {{collaborator}}s": "{{limitAt}} di {{limitTop}} {{collaborator}}",
 | 
			
		||||
        "No default access allows access to be granted to individual documents or workspaces, rather than the full team site.": "Nessun accesso di default, permette di autorizzare l'accesso a singoli documenti o spazi di lavoro, invece che a tutto il sito del team.",
 | 
			
		||||
        "Once you have removed your own access, you will not be able to get it back without assistance from someone else with sufficient access to the {{resourceType}}.": "Se togli l'accesso a te stesso, non potrai riaverlo senza l'aiuto di qualcuno con permessi sufficienti a {{resourceType}}.",
 | 
			
		||||
        "User has view access to {{resource}} resulting from manually-set access to resources inside. If removed here, this user will lose access to resources inside.": "L'utente può visualizzare {{resource}} a causa di regole di accesso alle risorse interne impostate manualmente. Se rimuovi qui, l'utente perderà l'accesso alle risorse interne."
 | 
			
		||||
    },
 | 
			
		||||
    "SearchModel": {
 | 
			
		||||
        "Search all pages": "Cerca in tutte le pagine",
 | 
			
		||||
        "Search all tables": "Cerca in tutte le tabelle"
 | 
			
		||||
    },
 | 
			
		||||
    "searchDropdown": {
 | 
			
		||||
        "Search": "Cerca"
 | 
			
		||||
    },
 | 
			
		||||
    "FloatingEditor": {
 | 
			
		||||
        "Collapse Editor": "Contrai l'editor"
 | 
			
		||||
    },
 | 
			
		||||
    "FloatingPopup": {
 | 
			
		||||
        "Maximize": "Espandi",
 | 
			
		||||
        "Minimize": "Riduci"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -77,7 +77,10 @@
 | 
			
		||||
        "Activation": "Ativação",
 | 
			
		||||
        "Billing Account": "Conta de faturamento",
 | 
			
		||||
        "Support Grist": "Suporte Grist",
 | 
			
		||||
        "Upgrade Plan": "Atualizar o Plano"
 | 
			
		||||
        "Upgrade Plan": "Atualizar o Plano",
 | 
			
		||||
        "Sign Up": "Cadastre-se",
 | 
			
		||||
        "Use This Template": "Use este modelo",
 | 
			
		||||
        "Sign In": "Ingressar"
 | 
			
		||||
    },
 | 
			
		||||
    "ActionLog": {
 | 
			
		||||
        "Action Log failed to load": "Falha ao carregar o Log de Ações",
 | 
			
		||||
@ -108,7 +111,8 @@
 | 
			
		||||
        "Home Page": "Página inicial",
 | 
			
		||||
        "Legacy": "Legado",
 | 
			
		||||
        "Personal Site": "Site pessoal",
 | 
			
		||||
        "Team Site": "Site da Equipe"
 | 
			
		||||
        "Team Site": "Site da Equipe",
 | 
			
		||||
        "Grist Templates": "Modelos de Grist"
 | 
			
		||||
    },
 | 
			
		||||
    "AppModel": {
 | 
			
		||||
        "This team site is suspended. Documents can be read, but not modified.": "Este site da equipe está suspenso. Os documentos podem ser lidos, mas não modificados."
 | 
			
		||||
@ -428,7 +432,8 @@
 | 
			
		||||
    "GristDoc": {
 | 
			
		||||
        "Added new linked section to view {{viewName}}": "Adicionada nova seção vinculada para visualizar {{viewName}}}",
 | 
			
		||||
        "Import from file": "Importação de arquivo",
 | 
			
		||||
        "Saved linked section {{title}} in view {{name}}": "Seção vinculada salva {{title}} em exibição {{name}}"
 | 
			
		||||
        "Saved linked section {{title}} in view {{name}}": "Seção vinculada salva {{title}} em exibição {{name}}",
 | 
			
		||||
        "go to webhook settings": "ir para configurações webhook"
 | 
			
		||||
    },
 | 
			
		||||
    "HomeIntro": {
 | 
			
		||||
        ", or find an expert via our ": ", ou encontre um especialista através do nosso",
 | 
			
		||||
@ -1114,8 +1119,8 @@
 | 
			
		||||
        "Hi, I'm the Grist Formula AI Assistant.": "Olá, sou o Assistente de IA de Fórmula Grist.",
 | 
			
		||||
        "I can only help with formulas. I cannot build tables, columns, and views, or write access rules.": "Só posso ajudar com fórmulas. Não posso criar tabelas, colunas e exibições, nem escrever regras de acesso.",
 | 
			
		||||
        "Press Enter to apply suggested formula.": "Pressione Enter para aplicar a fórmula sugerida.",
 | 
			
		||||
        "Sign Up for Free": "Inscreva-se gratuitamente",
 | 
			
		||||
        "Sign up for a free Grist account to start using the Formula AI Assistant.": "Inscreva-se para uma conta gratuita do Grist para começar a usar o Assistente de Fórmula AI.",
 | 
			
		||||
        "Sign Up for Free": "Cadastre-se gratuitamente",
 | 
			
		||||
        "Sign up for a free Grist account to start using the Formula AI Assistant.": "Cadastre-se para uma conta gratuita do Grist para começar a usar o Assistente de Fórmula AI.",
 | 
			
		||||
        "What do you need help with?": "Em que você precisa de ajuda?",
 | 
			
		||||
        "There are some things you should know when working with me:": "Há algumas coisas que você deve saber ao trabalhar comigo:",
 | 
			
		||||
        "Learn more": "Saiba mais"
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user