mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
(core) updates from grist-core
This commit is contained in:
commit
1ccad9171e
@ -2019,9 +2019,15 @@ export class FlexServer implements GristServer {
|
||||
const userRoot = path.resolve(process.env.GRIST_USER_ROOT || getAppPathTo(this.appRoot, '.grist'));
|
||||
this.info.push(['userRoot', userRoot]);
|
||||
// Some custom widgets may be included as an npm package called @gristlabs/grist-widget.
|
||||
// The package doesn't actually contain node code, but should be in the same vicinity
|
||||
// as other packages that do, so we can use require.resolve on one of them to find it.
|
||||
// This seems a little overcomplicated, but works well when grist-core is bundled within
|
||||
// a larger project like grist-electron.
|
||||
// TODO: maybe add a little node code to @gristlabs/grist-widget so it can be resolved
|
||||
// directly?
|
||||
const gristLabsModules = path.dirname(path.dirname(require.resolve('@gristlabs/express-session')));
|
||||
const bundledRoot = isAffirmative(process.env.GRIST_SKIP_BUNDLED_WIDGETS) ? undefined : path.join(
|
||||
getAppPathTo(this.appRoot, 'node_modules'),
|
||||
'@gristlabs', 'grist-widget', 'dist'
|
||||
gristLabsModules, 'grist-widget', 'dist'
|
||||
);
|
||||
this.info.push(['bundledRoot', bundledRoot]);
|
||||
const pluginManager = new PluginManager(this.appRoot, userRoot, bundledRoot);
|
||||
|
@ -4,7 +4,7 @@ import * as fse from 'fs-extra';
|
||||
import fetch from 'node-fetch';
|
||||
import * as path from 'path';
|
||||
import {ApiError} from 'app/common/ApiError';
|
||||
import {removeTrailingSlash} from 'app/common/gutil';
|
||||
import {isAffirmative, removeTrailingSlash} from 'app/common/gutil';
|
||||
import {GristServer} from 'app/server/lib/GristServer';
|
||||
import LRUCache from 'lru-cache';
|
||||
import * as url from 'url';
|
||||
@ -96,7 +96,8 @@ export class CombinedWidgetRepository implements IWidgetRepository {
|
||||
* Repository that gets a list of widgets from a URL.
|
||||
*/
|
||||
export class UrlWidgetRepository implements IWidgetRepository {
|
||||
constructor(private _staticUrl = STATIC_URL) {}
|
||||
constructor(private _staticUrl = STATIC_URL,
|
||||
private _required: boolean = true) {}
|
||||
|
||||
public async getWidgets(): Promise<ICustomWidget[]> {
|
||||
if (!this._staticUrl) {
|
||||
@ -126,10 +127,16 @@ export class UrlWidgetRepository implements IWidgetRepository {
|
||||
fixUrls(widgets, this._staticUrl);
|
||||
return widgets;
|
||||
} catch (err) {
|
||||
if (!(err instanceof ApiError)) {
|
||||
throw new ApiError(String(err), 500);
|
||||
if (this._required) {
|
||||
if (!(err instanceof ApiError)) {
|
||||
throw new ApiError(String(err), 500);
|
||||
}
|
||||
throw err;
|
||||
} else {
|
||||
log.error("WidgetRepository: Error fetching widget list - " +
|
||||
String(err));
|
||||
return [];
|
||||
}
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -177,7 +184,9 @@ export class WidgetRepositoryImpl implements IWidgetRepository {
|
||||
const repos: IWidgetRepository[] = [];
|
||||
this._staticUrl = overrideUrl ?? STATIC_URL;
|
||||
if (this._staticUrl) {
|
||||
this._urlWidgets = new UrlWidgetRepository(this._staticUrl);
|
||||
const optional = isAffirmative(process.env.GRIST_WIDGET_LIST_URL_OPTIONAL);
|
||||
this._urlWidgets = new UrlWidgetRepository(this._staticUrl,
|
||||
!optional);
|
||||
repos.push(this._urlWidgets);
|
||||
}
|
||||
if (this._diskWidgets) { repos.push(this._diskWidgets); }
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "grist-core",
|
||||
"version": "1.1.8",
|
||||
"version": "1.1.9",
|
||||
"license": "Apache-2.0",
|
||||
"description": "Grist is the evolution of spreadsheets",
|
||||
"homepage": "https://github.com/gristlabs/grist-core",
|
||||
|
@ -456,7 +456,9 @@
|
||||
"Duplicate in {{- label}}": "Duplikate in {{- label}}",
|
||||
"Search columns": "Spalten suchen",
|
||||
"Adding UUID column": "Hinzufügen der UUID-Spalte",
|
||||
"Adding duplicates column": "Hinzufügen einer Duplikatspalte"
|
||||
"Adding duplicates column": "Hinzufügen einer Duplikatspalte",
|
||||
"Add formula column": "Formelspalte hinzufügen",
|
||||
"Add column with type": "Spalte mit Typ hinzufügen"
|
||||
},
|
||||
"GristDoc": {
|
||||
"Added new linked section to view {{viewName}}": "Neuer verlinkter Abschnitt zur Ansicht hinzugefügt {{viewName}}",
|
||||
@ -1127,7 +1129,8 @@
|
||||
"A UUID is a randomly-generated string that is useful for unique identifiers and link keys.": "Eine UUID ist ein zufällig generierter String, der für eindeutige Kennungen und Linkschlüssel nützlich ist.",
|
||||
"Lookups return data from related tables.": "Lookups geben Daten aus Bezugstabellen zurück.",
|
||||
"You can choose from widgets available to you in the dropdown, or embed your own by providing its full URL.": "Sie können aus Widgets wählen, die Ihnen im Dropdown zur Verfügung stehen, oder Sie selbst einbetten, indem Sie seine volle URL angeben.",
|
||||
"Use reference columns to relate data in different tables.": "Verwenden Sie Referenzspalten, um Daten in verschiedenen Tabellen zu beziehen."
|
||||
"Use reference columns to relate data in different tables.": "Verwenden Sie Referenzspalten, um Daten in verschiedenen Tabellen zu beziehen.",
|
||||
"Formulas support many Excel functions, full Python syntax, and include a helpful AI Assistant.": "Die Formeln unterstützen viele Excel-Funktionen, die vollständige Python-Syntax und enthalten einen hilfreichen KI-Assistenten."
|
||||
},
|
||||
"DescriptionConfig": {
|
||||
"DESCRIPTION": "BESCHREIBUNG"
|
||||
|
@ -378,7 +378,9 @@
|
||||
"Duplicate in {{- label}}": "Duplicado en {{- label}}",
|
||||
"Search columns": "Buscar columnas",
|
||||
"Adding UUID column": "Añadiendo una columna UUID",
|
||||
"Adding duplicates column": "Añadiendo la columna de duplicados"
|
||||
"Adding duplicates column": "Añadiendo la columna de duplicados",
|
||||
"Add formula column": "Añadir una columna de fórmulas",
|
||||
"Add column with type": "Añadir columna con tipo"
|
||||
},
|
||||
"HomeIntro": {
|
||||
", or find an expert via our ": ", o encontrar un experto a través de nuestro",
|
||||
@ -1117,7 +1119,8 @@
|
||||
"A UUID is a randomly-generated string that is useful for unique identifiers and link keys.": "Un UUID es una cadena generada aleatoriamente que resulta útil para identificadores únicos y claves de los enlaces.",
|
||||
"Lookups return data from related tables.": "Las búsquedas devuelven datos de tablas relacionadas.",
|
||||
"Use reference columns to relate data in different tables.": "Utilizar las columnas de referencia para relacionar los datos de distintas tablas.",
|
||||
"You can choose from widgets available to you in the dropdown, or embed your own by providing its full URL.": "Puedes elegir entre los widgets disponibles en el menú desplegable, o incrustar el suyo propio proporcionando su dirección URL completa."
|
||||
"You can choose from widgets available to you in the dropdown, or embed your own by providing its full URL.": "Puedes elegir entre los widgets disponibles en el menú desplegable, o incrustar el suyo propio proporcionando su dirección URL completa.",
|
||||
"Formulas support many Excel functions, full Python syntax, and include a helpful AI Assistant.": "Las fórmulas admiten muchas funciones de Excel, sintaxis completa de Python e incluyen un útil asistente de inteligencia artificial."
|
||||
},
|
||||
"DescriptionConfig": {
|
||||
"DESCRIPTION": "DESCRIPCIÓN"
|
||||
|
@ -154,7 +154,8 @@
|
||||
"Duplicate rows_other": "Duplica righe",
|
||||
"Insert row": "Inserisci riga",
|
||||
"Insert row above": "Inserisci riga sopra",
|
||||
"Insert row below": "Inserisci riga sotto"
|
||||
"Insert row below": "Inserisci riga sotto",
|
||||
"View as card": "Vedi come scheda"
|
||||
},
|
||||
"SortFilterConfig": {
|
||||
"Save": "Salva",
|
||||
@ -573,7 +574,13 @@
|
||||
"Raw Data Tables": "Tabelle dati primarie",
|
||||
"Table ID copied to clipboard": "ID tabella copiato",
|
||||
"You do not have edit access to this document": "Non hai accesso in scrittura a questo documento",
|
||||
"Delete {{formattedTableName}} data, and remove it from all pages?": "Cancellare i dati di {{formattedTableName}} e rimuoverla da tutte le pagine?"
|
||||
"Delete {{formattedTableName}} data, and remove it from all pages?": "Cancellare i dati di {{formattedTableName}} e rimuoverla da tutte le pagine?",
|
||||
"Edit Record Card": "Modifica scheda dei dati",
|
||||
"Rename Table": "Rinomina tabella",
|
||||
"{{action}} Record Card": "{{action}} Scheda dei dati",
|
||||
"Record Card": "Scheda dei dati",
|
||||
"Remove Table": "Rimuovi tabella",
|
||||
"Record Card Disabled": "Scheda dei dati disabilitata"
|
||||
},
|
||||
"DocHistory": {
|
||||
"Compare to Previous": "Confronta con il precedente",
|
||||
@ -783,7 +790,9 @@
|
||||
"Timestamp": "Data e ora",
|
||||
"no reference column": "nessuna colonna referenziata",
|
||||
"Adding UUID column": "Aggiungere colonna UUID",
|
||||
"Adding duplicates column": "Aggiungere colonna duplicati"
|
||||
"Adding duplicates column": "Aggiungere colonna duplicati",
|
||||
"Add formula column": "Aggiungi colonna con formula",
|
||||
"Add column with type": "Aggiungi colonna con tipo"
|
||||
},
|
||||
"GristDoc": {
|
||||
"Import from file": "Importa da file",
|
||||
@ -1055,7 +1064,9 @@
|
||||
"Calendar": "Calendario",
|
||||
"Lookups return data from related tables.": "Un lookup restituisce dati dalle tabelle collegate.",
|
||||
"Can't find the right columns? Click 'Change Widget' to select the table with events data.": "Non trovi la colonna giusta? Fai clic su \"Cambia widget\" per selezionare la tabella con i dati degli eventi.",
|
||||
"Use reference columns to relate data in different tables.": "Usa colonne di riferimenti per collegare dati da altre tabelle."
|
||||
"Use reference columns to relate data in different tables.": "Usa colonne di riferimenti per collegare dati da altre tabelle.",
|
||||
"Formulas support many Excel functions, full Python syntax, and include a helpful AI Assistant.": "Le formule supportano molte funzioni di Excel, la sintassi completa di Python, e includono un utile assistente AI.",
|
||||
"You can choose from widgets available to you in the dropdown, or embed your own by providing its full URL.": "Puoi scegliere tra i widget disponibili nella lista, o incorporare il tuo fornendo la sua URL completa."
|
||||
},
|
||||
"DescriptionConfig": {
|
||||
"DESCRIPTION": "DESCRIZIONE"
|
||||
@ -1230,5 +1241,13 @@
|
||||
"FloatingPopup": {
|
||||
"Maximize": "Espandi",
|
||||
"Minimize": "Riduci"
|
||||
},
|
||||
"CardContextMenu": {
|
||||
"Insert card above": "Inserisci scheda sopra",
|
||||
"Duplicate card": "Duplica scheda",
|
||||
"Insert card below": "Inserisci scheda sotto",
|
||||
"Delete card": "Elimina scheda",
|
||||
"Copy anchor link": "Copia il link",
|
||||
"Insert card": "Inserisci scheda"
|
||||
}
|
||||
}
|
||||
|
@ -456,7 +456,9 @@
|
||||
"Duplicate in {{- label}}": "Duplicar em {{- label}}",
|
||||
"Search columns": "Procurar colunas",
|
||||
"Adding UUID column": "Adicionando coluna UUID",
|
||||
"Adding duplicates column": "Adicionar coluna duplicatas"
|
||||
"Adding duplicates column": "Adicionar coluna duplicatas",
|
||||
"Add formula column": "Añadir una columna de fórmulas",
|
||||
"Add column with type": "Adicionar coluna com tipo"
|
||||
},
|
||||
"GristDoc": {
|
||||
"Added new linked section to view {{viewName}}": "Adicionada nova seção vinculada para visualizar {{viewName}}}",
|
||||
@ -1127,7 +1129,8 @@
|
||||
"A UUID is a randomly-generated string that is useful for unique identifiers and link keys.": "Um UUID é uma cadeia de caracteres gerada aleatoriamente que é útil para identificadores exclusivos e chaves de link.",
|
||||
"Lookups return data from related tables.": "As pesquisas retornam dados de tabelas relacionadas.",
|
||||
"You can choose from widgets available to you in the dropdown, or embed your own by providing its full URL.": "Você pode escolher entre os widgets disponíveis no menu suspenso ou incorporar o seu próprio widget fornecendo o URL completo.",
|
||||
"Use reference columns to relate data in different tables.": "Use colunas de referência para relacionar dados em diferentes tabelas."
|
||||
"Use reference columns to relate data in different tables.": "Use colunas de referência para relacionar dados em diferentes tabelas.",
|
||||
"Formulas support many Excel functions, full Python syntax, and include a helpful AI Assistant.": "As fórmulas suportam muitas funções do Excel, sintaxe Python completa e incluem um assistente de IA útil."
|
||||
},
|
||||
"DescriptionConfig": {
|
||||
"DESCRIPTION": "DESCRIÇÃO"
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"AccessRules": {
|
||||
"Delete Table Rules": "Brisanje pravil tabele",
|
||||
"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.": "Urednikom omogočite urejanje strukture (npr. spreminjanje in brisanje tabel, stolpcev, postavitev) in pisanje formul, ki omogočajo dostop do vseh podatkov ne glede na omejitve branja.",
|
||||
"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.": "Urednikom omogoči urejanje strukture (npr. spreminjanje in brisanje tabel, stolpcev, postavitev) in pisanje formul, ki omogočajo dostop do vseh podatkov ne glede na omejitve branja.",
|
||||
"Default Rules": "Privzeta pravila",
|
||||
"Invalid": "Neveljavno",
|
||||
"Lookup Column": "Stolpec za iskanje",
|
||||
@ -30,7 +30,7 @@
|
||||
"Add Default Rule": "Dodaj privzeto pravilo",
|
||||
"Add Table Rules": "Dodaj pravila za tabelo",
|
||||
"Add User Attributes": "Dodaj atribute za uporabnika",
|
||||
"Allow everyone to copy the entire document, or view it in full in fiddle mode.\nUseful for examples and templates, but not for sensitive data.": "Vsakomur omogočite kopiranje celotnega dokumenta ali pa si ga oglejte v celoti v načinu fiddle.\nUporabno za primere in predloge, ne pa za občutljive podatke.",
|
||||
"Allow everyone to copy the entire document, or view it in full in fiddle mode.\nUseful for examples and templates, but not for sensitive data.": "Vsakomur omogoči kopiranje celotnega dokumenta ali pa ogled v fiddle načinu.\nUporabno za primere in predloge, ne pa za občutljive podatke.",
|
||||
"Allow everyone to view Access Rules.": "Omogoči vsakomur ogled pravil za dostop.",
|
||||
"Attribute name": "Ime atributa",
|
||||
"Attribute to Look Up": "Atribut za iskanje",
|
||||
@ -69,7 +69,7 @@
|
||||
"Manage Team": "Upravljanje ekipe",
|
||||
"Pricing": "Oblikovanje cen",
|
||||
"Profile Settings": "Nastavitve profila",
|
||||
"Sign Out": "Odjavite se",
|
||||
"Sign Out": "Odjavi se",
|
||||
"Sign in": "Prijavi se",
|
||||
"Switch Accounts": "Preklop računov",
|
||||
"Toggle Mobile Mode": "Preklapljanje mobilnega načina",
|
||||
@ -298,7 +298,7 @@
|
||||
"DataTables": {
|
||||
"Delete {{formattedTableName}} data, and remove it from all pages?": "Izbriši podatke {{formattedTableName}} in jih odstrani z vseh strani?",
|
||||
"Click to copy": "Kliknite za kopiranje",
|
||||
"Duplicate Table": "Podvojena tabela",
|
||||
"Duplicate Table": "Podvoji tabelo",
|
||||
"Table ID copied to clipboard": "ID tabele kopiran v odložišče",
|
||||
"You do not have edit access to this document": "Nimate dostopa za urejanje tega dokumenta",
|
||||
"Raw Data Tables": "Neobdelana tabela",
|
||||
@ -310,16 +310,16 @@
|
||||
"Record Card Disabled": "Evidenčna kartica onemogočena"
|
||||
},
|
||||
"ViewLayoutMenu": {
|
||||
"Delete record": "Brisanje zapisa",
|
||||
"Delete record": "Briši zapis",
|
||||
"Delete widget": "Izbriši gradnik",
|
||||
"Advanced Sort & Filter": "Napredno razvrščanje in filtriranje",
|
||||
"Data selection": "Izbira podatkov",
|
||||
"Download as XLSX": "Prenesi kot XLSX",
|
||||
"Download as CSV": "Prenesi kot CSV",
|
||||
"Widget options": "Možnosti gradnika",
|
||||
"Print widget": "Gradnik za tiskanje",
|
||||
"Print widget": "Natisni",
|
||||
"Open configuration": "Odpri konfiguracijo",
|
||||
"Edit Card Layout": "Urejanje postavitve kartice",
|
||||
"Edit Card Layout": "Uredi postaviev kartice",
|
||||
"Add to page": "Dodaj na stran",
|
||||
"Show raw data": "Prikaži neobdelane podatke",
|
||||
"Copy anchor link": "Kopiraj sidrno povezavo",
|
||||
@ -654,7 +654,7 @@
|
||||
"Click the Add New button to create new documents or workspaces, or import data.": "Klikni gumb dodaj novega, če želiš ustvariti nove dokumente, delovne prostore ali uvoziti podatke,",
|
||||
"Nested Filtering": "Vgnezdeno filtriranje",
|
||||
"Only those rows will appear which match all of the filters.": "Prikazane bodo samo tiste vrstice, ki ustrezajo vsem filtrom.",
|
||||
"Editing Card Layout": "Urejanje postavitve kartice",
|
||||
"Editing Card Layout": "Uredi postavitev kartice",
|
||||
"Raw Data page": "Stran z neobdelanimi podatki",
|
||||
"Selecting Data": "Izbira podatkov",
|
||||
"Learn more.": "Preberite več.",
|
||||
@ -715,7 +715,7 @@
|
||||
"Your role for this {{resourceType}}": "Vaša vloga pri tem {{resourceType}}",
|
||||
"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}}.": "Ko odstranite svoj dostop, ga ne boste mogli vrniti brez pomoči druge osebe z zadostnim dostopom do spletnega mesta {{resourceType}}.",
|
||||
"Close": "Zapri",
|
||||
"Allow anyone with the link to open.": "Omogočite odprtje vsakomur, ki ima povezavo.",
|
||||
"Allow anyone with the link to open.": "Omogoči odprtje vsakemu, ki ima povezavo.",
|
||||
"Invite people to {{resourceType}}": "Povabite ljudi k {{resourceType}}",
|
||||
"Public access inherited from {{parent}}. To remove, set 'Inherit access' option to 'None'.": "Uporabnik podeduje dovoljenja od {{parent}}. Če jih želiš odstraniti, nastavi možnost \"Podeduje dostop\" na \"Ne\".",
|
||||
"Remove my access": "Odstranitev mojega dostopa",
|
||||
@ -787,7 +787,7 @@
|
||||
"Advanced settings": "Napredne nastavitve",
|
||||
"Make On-Demand": "Naredite na zahtevo",
|
||||
"Big tables may be marked as \"on-demand\" to avoid loading them into the data engine.": "Velike tabele so lahko označene kot \"na zahtevo\", da se izognete njihovemu nalaganju v podatkovni pogon.",
|
||||
"Edit Card Layout": "Urejanje postavitve kartice"
|
||||
"Edit Card Layout": "Uredi postavitev kartice"
|
||||
},
|
||||
"SupportGristNudge": {
|
||||
"Support Grist": "Podpri Grist",
|
||||
@ -1001,7 +1001,7 @@
|
||||
"Cannot drop items into Hidden Fields": "Ne morete spustiti predmetov v skrita polja",
|
||||
"Hidden Fields cannot be reordered": "Skritih polj ni mogoče preurediti",
|
||||
"Visible {{label}}": "Vidno {{label}}",
|
||||
"Select All": "Izberite vse",
|
||||
"Select All": "Izberi vse",
|
||||
"Hide {{label}}": "Skrij {{label}}",
|
||||
"Clear": "Izbriši",
|
||||
"Show {{label}}": "Pokaži {{label}}",
|
||||
|
@ -100,7 +100,9 @@
|
||||
"Enter Custom URL": "输入自定义URL",
|
||||
"Pick a {{columnType}} column": "选择一个 {{columnType}} 列",
|
||||
"{{wrongTypeCount}} non-{{columnType}} columns are not shown_one": "{{wrongTypeCount}} 非 {{columnType}} 列未显示",
|
||||
"{{wrongTypeCount}} non-{{columnType}} columns are not shown_other": "{{wrongTypeCount}} 非 {{columnType}} 列未显示"
|
||||
"{{wrongTypeCount}} non-{{columnType}} columns are not shown_other": "{{wrongTypeCount}} 非 {{columnType}} 列未显示",
|
||||
"No {{columnType}} columns in table.": "表格中没有{{columnType}} 列。",
|
||||
"Clear selection": "清除选择"
|
||||
},
|
||||
"ChartView": {
|
||||
"Create separate series for each value of the selected column.": "为所选列的每个值创建单独的系列。",
|
||||
@ -116,7 +118,13 @@
|
||||
"Duplicate Table": "复制表",
|
||||
"Raw Data Tables": "原始数据表",
|
||||
"Table ID copied to clipboard": "表 ID 已复制到剪贴板",
|
||||
"You do not have edit access to this document": "您没有对此文档的编辑权限"
|
||||
"You do not have edit access to this document": "您没有对此文档的编辑权限",
|
||||
"Edit Record Card": "编辑记录卡片",
|
||||
"Rename Table": "重新命名表格",
|
||||
"{{action}} Record Card": "{{action}} 记录卡片",
|
||||
"Record Card": "记录卡片",
|
||||
"Remove Table": "移除表格",
|
||||
"Record Card Disabled": "记录卡片禁用"
|
||||
},
|
||||
"CellContextMenu": {
|
||||
"Duplicate rows_one": "重复行",
|
||||
@ -152,7 +160,8 @@
|
||||
"Column {{colId}} was subsequently removed in action #{{action.actionNum}}": "列 {{colId}} 将在操作 #{{action.actionNum}} 中删除",
|
||||
"Action Log failed to load": "操作日志加载失败",
|
||||
"Table {{tableId}} was subsequently removed in action #{{actionNum}}": "表 {{tableId}} 将在操作 #{{actionNum}} 中删除",
|
||||
"This row was subsequently removed in action {{action.actionNum}}": "该行将在操作 {{action.actionNum}} 中删除"
|
||||
"This row was subsequently removed in action {{action.actionNum}}": "该行将在操作 {{action.actionNum}} 中删除",
|
||||
"All tables": "所有表格"
|
||||
},
|
||||
"ApiKey": {
|
||||
"This API key can be used to access this account anonymously via the API.": "该API密钥可用于通过API匿名访问该账户。",
|
||||
@ -325,7 +334,10 @@
|
||||
"You have read-only access to this site. Currently there are no documents.": "您对该站点具有只读访问权限。 目前没有文件。",
|
||||
"{{signUp}} to save your work. ": "{{signUp}} 保存您的工作。 ",
|
||||
"Welcome to {{- orgName}}": "欢迎来到 {{- orgName}}",
|
||||
"Welcome to Grist, {{- name}}!": "欢迎来到 Grist,{{- name}}!"
|
||||
"Welcome to Grist, {{- name}}!": "欢迎来到 Grist,{{- name}}!",
|
||||
"Visit our {{link}} to learn more about Grist.": "访问我们的{{link}} ,了解有关 Grist 的更多信息。",
|
||||
"Sign in": "登录",
|
||||
"To use Grist, please either sign up or sign in.": "要使用 Grist,请注册或登录。"
|
||||
},
|
||||
"HomeLeftPane": {
|
||||
"Delete": "删除",
|
||||
@ -425,12 +437,13 @@
|
||||
},
|
||||
"RowContextMenu": {
|
||||
"Insert row below": "在下方插入行",
|
||||
"Copy anchor link": "复制锚链接",
|
||||
"Copy anchor link": "复制锚点链接",
|
||||
"Delete": "删除",
|
||||
"Duplicate rows_one": "重复行",
|
||||
"Duplicate rows_other": "重复行",
|
||||
"Insert row": "插入行",
|
||||
"Insert row above": "在上方插入行"
|
||||
"Insert row above": "在上方插入行",
|
||||
"View as card": "以卡片形式查看"
|
||||
},
|
||||
"UserManagerModel": {
|
||||
"In Full": "在全",
|
||||
@ -463,7 +476,7 @@
|
||||
"Open configuration": "打开配置",
|
||||
"Print widget": "打印小部件",
|
||||
"Advanced Sort & Filter": "高级排序和过滤",
|
||||
"Copy anchor link": "复制锚链接",
|
||||
"Copy anchor link": "复制锚点链接",
|
||||
"Data selection": "数据选择",
|
||||
"Delete widget": "删除小部件",
|
||||
"Download as CSV": "下载为 CSV",
|
||||
@ -555,7 +568,8 @@
|
||||
"DATA FROM TABLE": "表中数据",
|
||||
"Mixed format": "混合格式",
|
||||
"Mixed types": "混合类型",
|
||||
"Use separate field settings for {{colId}}": "为 {{colId}} 使用单独的字段设置"
|
||||
"Use separate field settings for {{colId}}": "为 {{colId}} 使用单独的字段设置",
|
||||
"Changing column type": "更改列类型"
|
||||
},
|
||||
"FormulaEditor": {
|
||||
"Column or field is required": "列或字段是必需的",
|
||||
@ -694,7 +708,29 @@
|
||||
"Unfreeze {{count}} columns_other": "解冻 {{count}} 列",
|
||||
"Show column {{- label}}": "显示列 {{- label}}",
|
||||
"Insert column to the left": "在左侧插入列",
|
||||
"Insert column to the right": "在右侧插入列"
|
||||
"Insert column to the right": "在右侧插入列",
|
||||
"Detect Duplicates in...": "在……中检测重复",
|
||||
"UUID": "UUID",
|
||||
"Shortcuts": "捷径",
|
||||
"Show hidden columns": "显示隐藏列",
|
||||
"Created At": "创建于",
|
||||
"Authorship": "作者",
|
||||
"Add formula column": "添加公式列",
|
||||
"Last Updated By": "最后更新者",
|
||||
"Hidden Columns": "隐藏栏",
|
||||
"Lookups": "查询",
|
||||
"No reference columns.": "无引用列。",
|
||||
"Apply on record changes": "应用记录更改",
|
||||
"Duplicate in {{- label}}": "在{{- label}}中的重复",
|
||||
"Created By": "创建者",
|
||||
"Last Updated At": "最后更新时间",
|
||||
"Add column with type": "添加特定类型的列",
|
||||
"Apply to new records": "应用到新记录",
|
||||
"Search columns": "搜索列",
|
||||
"Timestamp": "时间戳",
|
||||
"no reference column": "无引用列",
|
||||
"Adding UUID column": "添加 UUID 列",
|
||||
"Adding duplicates column": "添加重复列"
|
||||
},
|
||||
"GristDoc": {
|
||||
"Added new linked section to view {{viewName}}": "添加了新的链接部分以查看 {{viewName}}",
|
||||
@ -824,14 +860,14 @@
|
||||
"Any field": "任何领域",
|
||||
"Apply on changes to:": "应用更改:",
|
||||
"Apply on record changes": "应用记录更改",
|
||||
"Apply to new records": "申请新记录",
|
||||
"Apply to new records": "应用到新记录",
|
||||
"Cancel": "取消",
|
||||
"Close": "关闭",
|
||||
"Current field ": "当前字段 ",
|
||||
"OK": "好的"
|
||||
},
|
||||
"TypeTransformation": {
|
||||
"Apply": "申请",
|
||||
"Apply": "应用",
|
||||
"Cancel": "取消",
|
||||
"Preview": "预览",
|
||||
"Revise": "修订",
|
||||
@ -868,7 +904,8 @@
|
||||
"Any": "任何",
|
||||
"Numeric": "数值",
|
||||
"Text": "文本",
|
||||
"Integer": "整数"
|
||||
"Integer": "整数",
|
||||
"Search columns": "搜索列"
|
||||
},
|
||||
"errorPages": {
|
||||
"Add account": "新增帐户",
|
||||
@ -887,7 +924,10 @@
|
||||
"Signed out{{suffix}}": "退出{{suffix}}",
|
||||
"Page not found{{suffix}}": "找不到页面 {{suffix}}",
|
||||
"Access denied{{suffix}}": "访问被拒绝{{suffix}}",
|
||||
"Error{{suffix}}": "错误{{suffix}}"
|
||||
"Error{{suffix}}": "错误{{suffix}}",
|
||||
"Account deleted{{suffix}}": "账户已删除{{suffix}}",
|
||||
"Your account has been deleted.": "您的账户已被删除。",
|
||||
"Sign up": "注册"
|
||||
},
|
||||
"modals": {
|
||||
"Cancel": "取消",
|
||||
@ -920,7 +960,7 @@
|
||||
"View As": "查看为"
|
||||
},
|
||||
"TypeTransform": {
|
||||
"Apply": "申请",
|
||||
"Apply": "应用",
|
||||
"Cancel": "取消",
|
||||
"Preview": "预览",
|
||||
"Revise": "修订",
|
||||
@ -1013,10 +1053,20 @@
|
||||
"Clicking {{EyeHideIcon}} in each cell hides the field from this view without deleting it.": "单击每个单元格中的 {{EyeHideIcon}} 可隐藏此视图中的字段而不将其删除。",
|
||||
"Editing Card Layout": "编辑卡片布局",
|
||||
"Formulas that trigger in certain cases, and store the calculated value as data.": "在某些情况下触发的公式,并将计算值存储为数据。",
|
||||
"Anchor Links": "锚链接",
|
||||
"Anchor Links": "锚点链接",
|
||||
"To make an anchor link that takes the user to a specific cell, click on a row and press {{shortcut}}.": "要创建将用户带到特定单元格的锚点链接,请单击行并按 {{shortcut}} 。",
|
||||
"You can choose one of our pre-made widgets or embed your own by providing its full URL.": "您可以选择我们的一个预制小部件或通过提供其完整的URL嵌入您自己的。",
|
||||
"Custom Widgets": "自定义小部件"
|
||||
"Custom Widgets": "自定义小部件",
|
||||
"A UUID is a randomly-generated string that is useful for unique identifiers and link keys.": "UUID 是随机生成的字符串,可用于唯一标识符和链接密钥。",
|
||||
"To configure your calendar, select columns for start": {
|
||||
"end dates and event titles. Note each column's type.": "要配置日历,请为开始/结束日期和事件标题选择栏目。注意每一列的类型。"
|
||||
},
|
||||
"Calendar": "日历",
|
||||
"Formulas support many Excel functions, full Python syntax, and include a helpful AI Assistant.": "公式支持许多 Excel 函数和完整的 Python 语法,还包括一个有用的人工智能助手。",
|
||||
"Lookups return data from related tables.": "查找会返回相关表中的数据。",
|
||||
"You can choose from widgets available to you in the dropdown, or embed your own by providing its full URL.": "您可以从下拉菜单中选择可用的小部件,也可以通过提供完整的 URL 嵌入自己的小部件。",
|
||||
"Can't find the right columns? Click 'Change Widget' to select the table with events data.": "找不到正确的列?点击 \"更改小部件\",选择包含事件数据的表格。",
|
||||
"Use reference columns to relate data in different tables.": "使用参考列来关联不同表格中的数据。"
|
||||
},
|
||||
"DescriptionConfig": {
|
||||
"DESCRIPTION": "描述"
|
||||
@ -1074,7 +1124,13 @@
|
||||
"Grist's AI Assistance": "Grist 人工智能助手",
|
||||
"Sign up for a free Grist account to start using the Formula AI Assistant.": "注册一个免费的Grist帐户,开始使用Formula AI助手。",
|
||||
"Sign Up for Free": "免费注册",
|
||||
"Formula AI Assistant is only available for logged in users.": "公式 AI 助手仅适用于登录用户。"
|
||||
"Formula AI Assistant is only available for logged in users.": "公式 AI 助手仅适用于登录用户。",
|
||||
"For higher limits, contact the site owner.": "如需更高限额,请联系网站所有者。",
|
||||
"upgrade to the Pro Team plan": "升级到专业团队计划",
|
||||
"You have used all available credits.": "您已使用所有可用积分。",
|
||||
"upgrade your plan": "升级您的计划",
|
||||
"You have {{numCredits}} remaining credits.": "您还有{{numCredits}} 剩余积分。",
|
||||
"For higher limits, {{upgradeNudge}}.": "如需更高限额,{{upgradeNudge}} 。"
|
||||
},
|
||||
"WebhookPage": {
|
||||
"Clear Queue": "清除队列",
|
||||
@ -1185,5 +1241,13 @@
|
||||
"FloatingPopup": {
|
||||
"Maximize": "最大化",
|
||||
"Minimize": "最小化"
|
||||
},
|
||||
"CardContextMenu": {
|
||||
"Insert card above": "在上方插入卡片",
|
||||
"Duplicate card": "复制卡片",
|
||||
"Insert card below": "在下方插入卡片",
|
||||
"Delete card": "删除卡片",
|
||||
"Copy anchor link": "复制锚点链接",
|
||||
"Insert card": "插入卡片"
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user