diff --git a/client/packages/openblocks-comps/src/comps/chartComp/reactEcharts/index.ts b/client/packages/openblocks-comps/src/comps/chartComp/reactEcharts/index.ts
index 80fc9ae9..95f3cae6 100644
--- a/client/packages/openblocks-comps/src/comps/chartComp/reactEcharts/index.ts
+++ b/client/packages/openblocks-comps/src/comps/chartComp/reactEcharts/index.ts
@@ -1,6 +1,14 @@
import * as echarts from "echarts";
import { EChartsReactProps, EChartsOption, EChartsInstance } from "./types";
import EChartsReactCore from "./core";
+import * as locales from "../../../i18n/comps/locales/echarts";
+
+Object.keys(locales).forEach((l) => {
+ echarts.registerLocale(
+ l.toUpperCase(),
+ locales[l as keyof typeof locales] as any
+ );
+});
/**
* reference: https://github.com/hustcc/echarts-for-react
diff --git a/client/packages/openblocks-comps/src/i18n/comps/index.tsx b/client/packages/openblocks-comps/src/i18n/comps/index.tsx
index 15972f82..99e8da62 100644
--- a/client/packages/openblocks-comps/src/i18n/comps/index.tsx
+++ b/client/packages/openblocks-comps/src/i18n/comps/index.tsx
@@ -15,6 +15,8 @@ export function getEchartsLocale() {
return "EN";
case "zh":
return "ZH";
+ case "pt":
+ return "PT";
}
});
}
@@ -23,6 +25,8 @@ export function getCalendarLocale() {
switch (language) {
case "zh":
return "zh-cn";
+ case "pt":
+ return "pt-br"
default:
return "en-gb";
}
diff --git a/client/packages/openblocks-comps/src/i18n/comps/locales/echarts/index.ts b/client/packages/openblocks-comps/src/i18n/comps/locales/echarts/index.ts
new file mode 100644
index 00000000..0e5cd64a
--- /dev/null
+++ b/client/packages/openblocks-comps/src/i18n/comps/locales/echarts/index.ts
@@ -0,0 +1 @@
+export * from "./pt";
diff --git a/client/packages/openblocks-comps/src/i18n/comps/locales/echarts/pt.ts b/client/packages/openblocks-comps/src/i18n/comps/locales/echarts/pt.ts
new file mode 100644
index 00000000..253b5444
--- /dev/null
+++ b/client/packages/openblocks-comps/src/i18n/comps/locales/echarts/pt.ts
@@ -0,0 +1,149 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * Language: English.
+ */
+
+export const pt = {
+ time: {
+ month: [
+ "Janeiro",
+ "Fevereiro",
+ "Março",
+ "Abril",
+ "Maio",
+ "Junho",
+ "Julho",
+ "Agosto",
+ "Setembro",
+ "Outubro",
+ "Novembro",
+ "Dezembro",
+ ],
+ monthAbbr: [
+ "Jan",
+ "Fev",
+ "Mar",
+ "Abr",
+ "Mai",
+ "Jun",
+ "Jul",
+ "Ago",
+ "Set",
+ "out",
+ "Nov",
+ "Dez",
+ ],
+ dayOfWeek: [
+ "Domingo",
+ "Segunda",
+ "Terça",
+ "Quarta",
+ "Quinta",
+ "Sexta",
+ "Sábado",
+ ],
+ dayOfWeekAbbr: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"],
+ },
+ legend: { selector: { all: "Todos", inverse: "Inverso" } },
+ toolbox: {
+ brush: {
+ title: {
+ rect: "Caixa de seleção",
+ polygon: "Selecionar Lasso",
+ lineX: "Selecione horizontalmente",
+ lineY: "Selecione verticalmente",
+ keep: "Mantenha seleções",
+ clear: "Limpar seleções",
+ },
+ },
+ dataView: {
+ title: "Visualização de dados",
+ lang: ["Visualização de dados", "Fechar", "Atualizar"],
+ },
+ dataZoom: { title: { zoom: "Zoom", back: "Reset de zoom" } },
+ magicType: {
+ title: {
+ line: "Mudar para gráfico de linha",
+ bar: "Mudar para gráfico de barras",
+ stack: "Stack",
+ tiled: "Telha",
+ },
+ },
+ restore: { title: "Restaurar" },
+ saveAsImage: {
+ title: "Salvar como imagem",
+ lang: ["Clique com o direito para salvar a imagem"],
+ },
+ },
+ series: {
+ typeNames: {
+ pie: "Gráfico de pizza",
+ bar: "Gráfico de barras",
+ line: "Gráfico de linha",
+ scatter: "Enredo de dispersão",
+ effectScatter: "Lote de dispersão",
+ radar: "Gráfico de radar",
+ tree: "Árvore",
+ treemap: "Um mapa de árvores",
+ boxplot: "Papel de caixa",
+ candlestick: "Punho de vela",
+ k: "Gráfico de linha K",
+ heatmap: "Mapa do calor",
+ map: "Mapa",
+ parallel: "Mapa da coordenada paralela",
+ lines: "Gráfico de linha",
+ graph: "Gráfico de relacionamento",
+ sankey: "Diagrama de Sankey",
+ funnel: "Gráfico de Funil",
+ gauge: "Calibre",
+ pictorialBar: "Barra de pictórica",
+ themeRiver: "Mapa do Rio Tema",
+ sunburst: "Sunburst",
+ },
+ },
+ aria: {
+ general: {
+ withTitle: 'Este é um gráfico sobre "{title}"',
+ withoutTitle: "Este é um gráfico",
+ },
+ series: {
+ single: {
+ prefix: "- ..",
+ withName: "com tipo {seriesType} nomeado {seriesName}.",
+ withoutName: "com tipo {seriesType}.",
+ },
+ multiple: {
+ prefix: ". Consiste na contagem de séries {seriesCount}.",
+ withName:
+ "A série {seriesId} é uma {seriesType} representando {seriesName}.",
+ withoutName: "A série {seriesId} é uma {seriesType}.",
+ separator: { middle: "- ..", end: "- .." },
+ },
+ },
+ data: {
+ allData: "Os dados são os seguintes:",
+ partialData: "Os primeiros itens são:",
+ withName: "os dados para {name} é {value}",
+ withoutName: "Não",
+ separator: { middle: ",", end: "." },
+ },
+ },
+};
diff --git a/client/packages/openblocks-comps/src/i18n/comps/locales/index.ts b/client/packages/openblocks-comps/src/i18n/comps/locales/index.ts
index ab1abfb2..45330cb2 100644
--- a/client/packages/openblocks-comps/src/i18n/comps/locales/index.ts
+++ b/client/packages/openblocks-comps/src/i18n/comps/locales/index.ts
@@ -1,7 +1,9 @@
// file examples: en, enGB, zh, zhHK
// fallback example: current locale is zh-HK, fallback order is zhHK => zh => en
export * from "./en";
+export * from "./pt";
export * from "./zh";
export * from "./enObj";
+export * from "./ptObj";
export * from "./zhObj";
diff --git a/client/packages/openblocks-comps/src/i18n/comps/locales/pt.ts b/client/packages/openblocks-comps/src/i18n/comps/locales/pt.ts
new file mode 100644
index 00000000..f72f9248
--- /dev/null
+++ b/client/packages/openblocks-comps/src/i18n/comps/locales/pt.ts
@@ -0,0 +1,147 @@
+export const pt = {
+ chart: {
+ delete: "Excluir",
+ data: "Dados",
+ mode: "Modo",
+ config: "Configuração",
+ UIMode: "Modo UI",
+ chartType: "Tipo de gráfico",
+ xAxis: "Eixo X",
+ chartSeries: "Série de gráficos",
+ customSeries: "Série personalizada",
+ add: "Adicionar",
+ confirmDelete: "Confirme Excluir:",
+ seriesName: "Nome da série",
+ dataColumns: "Colunas de dados",
+ title: "Título",
+ xAxisDirection: "Direção do eixo X",
+ xAxisName: "Nome do eixo X",
+ xAxisType: "Tipo de eixo X",
+ xAxisTypeTooltip:
+ "Por padrão, ele será automaticamente detectado de acordo com dados do eixo X. Para a descrição do tipo, consulte:",
+ logBase: "Base de Dados",
+ yAxisName: "Nome do eixo Y",
+ yAxisType: "Tipo de eixo Y",
+ yAxisDataFormat: "Tipo de dados do eixo Y",
+ yAxisDataFormatTooltip:
+ "O valor indica o valor de cada coordenada. Exemplo: '",
+ basicBar: "Barra básica",
+ stackedBar: "Barra empilhada",
+ barType: "Tipo de gráfico de barras",
+ categoryAxis: "Eixo de categoria",
+ valueAxis: "Eixo de valor",
+ timeAxis: "Eixo de tempo",
+ logAxis: "Eixo de log",
+ auto: "Padrão",
+ legendPosition: "Posição da lengenda",
+ basicLine: "Linha básica",
+ stackedLine: "Linha empilhada",
+ areaLine: "Linha de área",
+ smooth: "Curva suave",
+ lineType: "Tipo de gráfico de linha",
+ basicPie: "Pizza básica",
+ doughnutPie: "Donut",
+ rosePie: "Pizza de rosa",
+ pieType: "Tipo de gráfico de peças",
+ spending: "Gastos",
+ budget: "Orçamento",
+ bar: "Gráfico de barras",
+ line: "Gráfico de linha",
+ scatter: "Gráfico de dispersão",
+ pie: "Gráfico de peças",
+ horizontal: "Horizontal",
+ vertical: "Vertical",
+ noData: "Sem dados",
+ unknown: "Desconhecido",
+ select: "Selecione",
+ unSelect: "Sem seleção",
+ echartsOptionLabel: "Opção",
+ echartsOptionTooltip: "Opção ECharts",
+ echartsOptionExamples: "Exemplos ECharts",
+ selectDesc:
+ "Acionado quando o usuário seleciona parte dos dados no gráfico",
+ unselectDesc:
+ "Acionado quando o usuário não seleciona parte dos dados no gráfico",
+ selectedPointsDesc: "Pontos selecionados",
+ dataDesc: "Os dados brutos usados no gráfico atual",
+ titleDesc: "Título do gráfico atual",
+ scatterShape: "Forma de dispersão",
+ circle: "Círculo",
+ rect: "Retângulo",
+ triangle: "Triângulo",
+ diamond: "Diamantes",
+ pin: "Pinças",
+ arrow: "Seta",
+ pointColorLabel: "Cor de ponto",
+ pointColorTooltip:
+ "Defina a cor do ponto de acordo com o nome da série e o valor do ponto atual, variáveis opcionais: seriesName, value. Exemplo: '",
+ },
+ imageEditor: {
+ defaultSrc: "- ..",
+ save: "Salvar",
+ saveDesc: "Salvar imagem",
+ src: "Fonte de imagem",
+ name: "Nome da imagem",
+ buttonText: "Texto de botão",
+ srcDesc: "Fonte de imagem",
+ nameDesc: "Nome da imagem",
+ dataURIDesc: "Dados de imagem URI",
+ dataDesc: "Dados de imagem",
+ buttonTextDesc: "Texto de botão",
+ },
+ calendar: {
+ events: "Dados de eventos",
+ editable: "Editável",
+ defaultDate: "Data padrão",
+ defaultDateTooltip: "A data que o calendário exibe inicialmente",
+ defaultView: "Vista padrão",
+ defaultViewTooltip: "A vista que o calendário exibe inicialmente",
+ showEventTime: "Mostrar horários de eventos",
+ showEventTimeTooltip: "Se exibir o texto do tempo do evento",
+ showWeekends: "Mostrar fins de semana",
+ showAllDay: "Mostrar o dia todo",
+ showAllDayTooltip:
+ "Se para exibir o slot de todos os dias nas vistas da semana e do dia",
+ dayMaxEvents: "Dia eventos máximos",
+ dayMaxEventsTooltip:
+ "O número máximo de eventos a serem exibidos no mês de vista por dia, com 0 sendo limitado à altura da célula",
+ eventMaxStack: "Evento máximo pilha",
+ eventMaxStackTooltip:
+ "O número máximo de eventos para empilhar horizontalmente nas vistas da semana e do dia, com 0 sendo nenhum limite",
+ selectInterval: "O intervalo selecionado no calendário",
+ selectEvent: "Evento selecionado",
+ changeSet:
+ "O objeto de evento alterado arrastando no calendário, a chave é o evento Id, e o valor é o evento",
+ headerBtnBackground: "Fundo do botão",
+ btnText: "Texto de botão",
+ title: "Título",
+ selectBackground: "Fundo selecionado",
+ today: "Hoje",
+ month: "Mês",
+ week: "Semana",
+ day: "Dia",
+ list: "Lista",
+ monday: "Segunda-feira",
+ tuesday: "Terça-feira",
+ wednesday: "Quarta-feira",
+ thursday: "Quinta-feira",
+ friday: "Sexta-feira",
+ saturday: "Sábado",
+ sunday: "Domingo",
+ startWeek: "Comece a partir de",
+ creatEvent: "Criar evento",
+ editEvent: "Editar evento",
+ eventName: "Nome do evento",
+ eventColor: "Cor do evento",
+ eventGroupId: "ID de grupo",
+ groupIdTooltip:
+ "ID de grupo é usado para agrupar diferentes eventos, e eventos no mesmo grupo podem ser arrastados e redimensionados juntos.",
+ more: "mais",
+ allDay: "Todos os dias",
+ eventNameRequire: "Por favor, entre com o nome do evento",
+ eventId: "ID do evento",
+ eventIdRequire: "Por favor, entre com a ID do evento",
+ eventIdTooltip: "ID único para cada evento",
+ eventIdExist: "ID já existe",
+ },
+};
diff --git a/client/packages/openblocks-comps/src/i18n/comps/locales/ptObj.tsx b/client/packages/openblocks-comps/src/i18n/comps/locales/ptObj.tsx
new file mode 100644
index 00000000..98cbd1af
--- /dev/null
+++ b/client/packages/openblocks-comps/src/i18n/comps/locales/ptObj.tsx
@@ -0,0 +1,3 @@
+import { I18nObjects } from "./types";
+
+export const ptObj: I18nObjects | undefined = undefined;
diff --git a/client/packages/openblocks-core/src/i18n/locales/index.ts b/client/packages/openblocks-core/src/i18n/locales/index.ts
index b52d5880..3d9b975c 100644
--- a/client/packages/openblocks-core/src/i18n/locales/index.ts
+++ b/client/packages/openblocks-core/src/i18n/locales/index.ts
@@ -1,4 +1,5 @@
// file examples: en, enGB, zh, zhHK
// fallback example: current locale is zh-HK, fallback order is zhHK => zh => en
export * from "./en";
+export * from "./pt";
export * from "./zh";
diff --git a/client/packages/openblocks-core/src/i18n/locales/pt.ts b/client/packages/openblocks-core/src/i18n/locales/pt.ts
new file mode 100644
index 00000000..ea3e75dd
--- /dev/null
+++ b/client/packages/openblocks-core/src/i18n/locales/pt.ts
@@ -0,0 +1 @@
+export const pt = {};
diff --git a/client/packages/openblocks-design/src/i18n/design/locales/index.ts b/client/packages/openblocks-design/src/i18n/design/locales/index.ts
index b52d5880..3d9b975c 100644
--- a/client/packages/openblocks-design/src/i18n/design/locales/index.ts
+++ b/client/packages/openblocks-design/src/i18n/design/locales/index.ts
@@ -1,4 +1,5 @@
// file examples: en, enGB, zh, zhHK
// fallback example: current locale is zh-HK, fallback order is zhHK => zh => en
export * from "./en";
+export * from "./pt";
export * from "./zh";
diff --git a/client/packages/openblocks-design/src/i18n/design/locales/pt.ts b/client/packages/openblocks-design/src/i18n/design/locales/pt.ts
new file mode 100644
index 00000000..98a38d59
--- /dev/null
+++ b/client/packages/openblocks-design/src/i18n/design/locales/pt.ts
@@ -0,0 +1,54 @@
+export const pt = {
+ addItem: "Adicionar",
+ duplicate: "Duplicar",
+ rename: "Renomear",
+ delete: "Excluir",
+ edit: "Editar",
+ ok: "OK",
+ cancel: "Cancelar",
+ previousStep: "Anterior",
+ nextStep: "Próximo",
+ finish: "Finalizar",
+ country: { china: "China" },
+ notification: {
+ copySuccess: "Copiado com sucesso",
+ copyFail: "Falha ao copiar",
+ },
+ prop: {
+ basic: "Básico",
+ interaction: "Interação",
+ advanced: "Avançado",
+ validation: "Validação",
+ layout: "Layout",
+ style: "Estilo",
+ },
+ passwordInput: {
+ label: "Senha:",
+ placeholder: "Digite sua senha",
+ inconsistentPassword: "As senhas são inconsistentes",
+ confirmPasswordLabel: "Confirmar senha:",
+ confirmPasswordPlaceholder: "Digite sua senha novamente",
+ },
+ verifyCodeInput: {
+ label: "Código de verificação:",
+ errorMsg: "Código deve ter {digitNum} dígitos",
+ placeholder: "Por favor entre com um código de {digitNum} dígitos",
+ sendCode: "Enviar código",
+ },
+ iconSelect: {
+ title: "Selecione o ícone",
+ searchPlaceholder: "Ícone de pesquisa",
+ },
+ eventHandler: { advanced: "Avançado" },
+ comp: {
+ selectedCompsTitle: "{selectCompNum} componentes selecionados",
+ selectedCompsDetail: "Clique no componente para ver suas propriedades",
+ batchDelete: "Remoção em lote",
+ },
+ optionsControl: {
+ optionItemErrorMSg:
+ 'Encontrado valor de opção duplicado "{value}". Apenas o primeiro item será exibido. Por favor, mude para um valor único.',
+ emptyList: "Sem opções",
+ },
+ container: { hintPlaceHolder: "Arraste os componentes do painel direito" },
+};
diff --git a/client/packages/openblocks/src/components/PermissionDialog/PermissionList.tsx b/client/packages/openblocks/src/components/PermissionDialog/PermissionList.tsx
index 11705a84..7f95cef1 100644
--- a/client/packages/openblocks/src/components/PermissionDialog/PermissionList.tsx
+++ b/client/packages/openblocks/src/components/PermissionDialog/PermissionList.tsx
@@ -108,8 +108,8 @@ function PermissionLiItem(props: {
{isCreator && {trans("home.creator")}}
{isCreator || permissionItem.type === "ORG_ADMIN" ? (
-
- {props.ownerLabel}
+
+ ({props.ownerLabel})
) : (
- `${ALL_APPLICATIONS_URL}/${appId}/${viewMode}`;
+ `${ALL_APPLICATIONS_URL}/${appId}${viewMode === "view" ? "" : "/" + viewMode}`;
export const isAuthUnRequired = (pathname: string): boolean => {
return (
diff --git a/client/packages/openblocks/src/i18n/antdLocale.ts b/client/packages/openblocks/src/i18n/antdLocale.ts
index 7842afab..125fad5b 100644
--- a/client/packages/openblocks/src/i18n/antdLocale.ts
+++ b/client/packages/openblocks/src/i18n/antdLocale.ts
@@ -3,6 +3,7 @@ import en_US from "antd/lib/locale/en_US";
import zh_CN from "antd/es/locale/zh_CN";
import zh_HK from "antd/es/locale/zh_HK";
import zh_TW from "antd/es/locale/zh_TW";
+import pt_BR from "antd/es/locale/pt_BR";
import { getValueByLocale } from "openblocks-core";
export function getAntdLocale(language?: string) {
@@ -28,5 +29,7 @@ function selectAntdLocale(language: string, region?: string) {
return zh_TW;
}
return zh_CN;
+ case "pt":
+ return pt_BR;
}
}
diff --git a/client/packages/openblocks/src/i18n/locales/index.ts b/client/packages/openblocks/src/i18n/locales/index.ts
index cd48e5ce..14d89b5a 100644
--- a/client/packages/openblocks/src/i18n/locales/index.ts
+++ b/client/packages/openblocks/src/i18n/locales/index.ts
@@ -2,8 +2,10 @@
// fallback example: current locale is zh-HK, fallback order is zhHK => zh => en
export * from "./en";
export * from "./it";
+export * from "./pt";
export * from "@openblocks-ee/i18n/locales/zh";
export * from "./enObj";
export * from "./itObj";
+export * from "./ptObj";
export * from "@openblocks-ee/i18n/locales/zhObj";
diff --git a/client/packages/openblocks/src/i18n/locales/pt.ts b/client/packages/openblocks/src/i18n/locales/pt.ts
new file mode 100644
index 00000000..1f93cf43
--- /dev/null
+++ b/client/packages/openblocks/src/i18n/locales/pt.ts
@@ -0,0 +1,2459 @@
+/* eslint-disable only-ascii/only-ascii */
+import table from "./componentDocExtra/table.md?url";
+
+export const pt = {
+ productName: "Bloqueios abertos",
+ productDesc: "Construa ferramentas internas rapidamente, sem limitações",
+ notSupportedBrowser:
+ "Seu navegador atual pode ter problemas de compatibilidade. Para uma melhor experiência de usuário, recomenda-se usar a versão mais recente do navegador Chrome.",
+ create: "Criar",
+ move: "Mexam-se",
+ addItem: "Adicionar",
+ newItem: "Novo",
+ copy: "Entendido",
+ rename: "Renomear",
+ delete: "Excluir",
+ deletePermanently: "Excluir",
+ remove: "Remover",
+ recover: "Recuperar",
+ edit: "Editar",
+ view: "Ver",
+ value: "Valor",
+ data: "Dados",
+ information: "Informação",
+ success: "Sucesso",
+ warning: "Aviso",
+ error: "Erro",
+ reference: "Referência",
+ text: "Texto",
+ label: "Etiqueta",
+ color: "Cor",
+ form: "Formulário",
+ menu: "Menu",
+ menuItem: "Item de menu",
+ ok: "ESTÁ BEM",
+ cancel: "Cancelar",
+ finish: "Finalizar",
+ reset: "Redefinição",
+ icon: "Ícone",
+ code: "Código",
+ title: "Título",
+ emptyContent: "Conteúdo vazio",
+ more: "Mais",
+ search: "Pesquisar",
+ back: "Voltar",
+ accessControl: "Controle de Acesso",
+ copySuccess: "Copiado",
+ copyError: "Copiar erro",
+ api: {
+ publishSuccess: "Publicado",
+ recoverFailed: "Recuperar falhada",
+ needUpdate:
+ "Sua versão atual é muito antiga, por favor atualize para a versão mais recente.",
+ },
+ codeEditor: {
+ notSupportAutoFormat:
+ "Editor de código atual não suporta formatação automática",
+ fold: "Dobrável",
+ },
+ exportMethod: {
+ setDesc: "Propriedade definida: Não",
+ clearDesc: "Propriedade limpa: Não",
+ resetDesc: "Repor propriedade: {property} ao valor padrão",
+ },
+ method: {
+ focus: "Definir foco",
+ focusOptions: "Opções de foco. Ver HTMLElement.focus()",
+ blur: "Remover foco",
+ click: "Clique em",
+ select: "Selecione todo o texto",
+ setSelectionRange:
+ "Defina as posições iniciais e finais da seleção de texto atual",
+ selectionStart: "O índice baseado em 0 do primeiro caractere selecionado.",
+ selectionEnd:
+ "O índice baseado em 0 do personagem após o último caractere selecionado.",
+ setRangeText: "Substituir uma gama de texto",
+ replacement: "A string para inserir.",
+ replaceStart: "O índice baseado em 0 do primeiro personagem a substituir.",
+ replaceEnd:
+ "O índice baseado em 0 do personagem após o último personagem substituir.",
+ },
+ errorBoundary: {
+ encounterError:
+ "Carregando componente falhou. Por favor, verifique sua configuração.",
+ clickToReload: "Clique para recarregar",
+ errorMsg: "Erro:",
+ },
+ imgUpload: {
+ notSupportError: "Somente suporte de upload {types} imagem",
+ exceedSizeError: "O tamanho da imagem não deve exceder Não",
+ },
+ gridCompOperator: {
+ notSupport: "Não apoio",
+ selectAtLeastOneComponent: "Por favor, selecione pelo menos um componente",
+ selectCompFirst: "Por favor, selecione componentes antes de copiar",
+ noContainerSelected: "[bug] Nenhum recipiente selecionado",
+ deleteCompsSuccess:
+ "Removido com sucesso. Você pode usar {undoKey} para desfazer.",
+ deleteCompsTitle: "Excluir componentes",
+ deleteCompsBody:
+ "Tem certeza de que deseja excluir {compNum} componentes selecionados?",
+ cutCompsSuccess:
+ "Corte o sucesso. Você pode usar {pasteKey} para colar ou usar {undoKey} para desfazer.",
+ },
+ leftPanel: {
+ queries: "Consultas",
+ globals: "Globals",
+ propTipsArr: "{num} produtos",
+ propTips: "chaves",
+ propTipArr: "{num} item",
+ propTip: "chave",
+ stateTab: "Estado",
+ settingsTab: "Configurações",
+ toolbarTitle: "Outros",
+ toolbarPreload: "Scripts e estilo",
+ components: "Componentes",
+ modals: "Modals",
+ expandTip: "Clique para expandir os dados de {component}",
+ collapseTip: "Clique para entrar em colapso {component}'s data",
+ },
+ bottomPanel: {
+ title: "Consultas",
+ run: "Corre",
+ noSelectedQuery: "Nenhuma consulta selecionada",
+ metaData: "Metadados",
+ noMetadata: "Sem metadados",
+ metaSearchPlaceholder: "Pesquisar metadados",
+ allData: "Todas as tabelas",
+ },
+ rightPanel: {
+ propertyTab: "Propriedades",
+ noSelectedComps:
+ "Nenhum componente selecionado. Clique para selecionar um.",
+ createTab: "Inserção",
+ searchPlaceHolder: "Procurar componentes ou módulos",
+ uiComponentTab: "Componentes",
+ extensionTab: "Extensões",
+ modulesTab: "Módulos",
+ moduleListTitle: "Módulos",
+ pluginListTitle: "Plugins",
+ emptyModules:
+ "Os módulos são grupos reutilizáveis de componentes e consultas.",
+ searchNotFound:
+ "Não consegue encontrar um componente adequado? Submeter um problema",
+ emptyPlugins: "Sem plugins adicionados.",
+ contactUs: "Contacte-nos",
+ issueHere: "aqui.",
+ },
+ prop: {
+ expand: "Expandir",
+ columns: "Colunas",
+ rowSelection: "Seleção de linha",
+ toolbar: "Barra de ferramentas",
+ pagination: "Paginação",
+ logo: "Logotipo",
+ style: "Estilo",
+ inputs: "Entradas",
+ meta: "Meta dados",
+ hide: "Escondido",
+ loading: "A carregar",
+ disabled: "Deficientes",
+ placeholder: "Accionista local",
+ showClear: "Mostrar botão claro",
+ showSearch: "Pesquisar",
+ defaultValue: "Valor padrão",
+ required: "Campo necessário",
+ readOnly: "Ler apenas",
+ readOnlyTooltip:
+ "Leia apenas o componente parece igual ao componente normal, é focalizável e selecionável, mas não pode ser modificado",
+ minimum: "Mínimo",
+ maximum: "Máximo",
+ regex: "Regex",
+ minLength: "Comprimento mínimo",
+ maxLength: "Comprimento máximo",
+ height: "Altura",
+ width: "Largura",
+ selectApp: "Aplicativo",
+ showCount: "Mostrar contagem",
+ textType: "Tipo de texto",
+ customRule: "Regra geral",
+ customRuleTooltip:
+ "Se o resultado for string não vazia, é uma mensagem de erro. Se vazio ou nulo, a validação passa. Exemplo:",
+ manual: "Manual",
+ map: "Maculada",
+ use12Hours: "Use 12 horas",
+ hourStep: "Passo de hora",
+ minuteStep: "Passo a passo",
+ secondStep: "Segundo passo",
+ minDate: "Data mínima",
+ maxDate: "Data máxima",
+ minTime: "Minha hora",
+ maxTime: "Tempo máximo",
+ type: "Tipo",
+ showLabel: "Mostrar etiqueta",
+ showHeader: "Mostrar cabeçalho",
+ showBody: "Mostrar corpo",
+ showFooter: "Mostrar rodapé",
+ maskClosable: "Clique na máscara para fechar",
+ showMask: "Mostrar máscara",
+ },
+ autoHeightProp: { auto: "Automática", fixed: "Fixa" },
+ labelProp: {
+ text: "Etiqueta",
+ tooltip: "Ponta da ferramenta",
+ position: "Posição",
+ left: "Esquerda",
+ top: "Topo",
+ align: "Alinhamento",
+ width: "Largura",
+ widthTooltip:
+ "Largura do rótulo. Ele suporta porcentagem da largura do componente (%), pixels (px)",
+ },
+ eventHandler: {
+ eventHandlers: "Manipuladores de eventos",
+ emptyEventHandlers: "Sem manipuladores de eventos",
+ incomplete: "Seleção incompleta",
+ inlineEventTitle: "Sobre",
+ event: "Evento",
+ action: "Acção",
+ noSelect: "Não selecione",
+ runQuery: "Corre a consulta",
+ selectQuery: "Selecione a consulta",
+ controlComp: "Componente de controle",
+ runScript: "Executar JavaScript",
+ runScriptPlaceHolder: "Escrever código aqui",
+ component: "Componente",
+ method: "Método",
+ setTempState: "Definir estado temporário",
+ state: "Estado",
+ triggerModuleEvent: "Evento de módulo de gatilho",
+ moduleEvent: "Evento do módulo",
+ goToApp: "Ir para o aplicativo",
+ queryParams: "Params de consulta",
+ hashParams: "Params de Hash",
+ showNotification: "Mostrar notificação",
+ text: "Texto",
+ level: "Nível",
+ duration: "Duração",
+ notifyDurationTooltip:
+ "Unidade de tempo pode ser s (segundo, padrão), ms (milissegundo). Duração máxima é {max} segundos",
+ goToURL: "Ir para a URL",
+ openInNewTab: "Abra em uma nova aba",
+ copyToClipboard: "Copiar para clipboard",
+ copyToClipboardValue: "Valor",
+ export: "Dados de exportação",
+ exportNoFileType: "Não selecionar (opcional)",
+ fileName: "Nome do arquivo",
+ fileNameTooltip:
+ "Extensão de suporte para especificar o tipo de arquivo, como image.png.",
+ fileType: "Tipo de arquivo",
+ condition: "Apenas corra quando",
+ conditionTooltip:
+ 'Apenas execute o manipulador do evento quando esta condição avalia para "verdade"',
+ debounce: "Debounce",
+ throttle: "Throt",
+ slowdownTooltip:
+ "Use o engano ou o acelerador para controlar com que frequência a ação é desencadeada. Unidade de tempo pode ser ms (milissegundo, padrão), s (segundo).",
+ notHandledError: "Não tratado",
+ currentApp: "Corrente",
+ },
+ event: {
+ submit: "Submeter-me",
+ submitDesc: "Triggers on submit",
+ change: "Alterar",
+ changeDesc: "Acionadores sobre mudanças de valor",
+ focus: "Foco",
+ focusDesc: "Acionadores em foco",
+ blur: "Blur",
+ blurDesc: "Triggers on blur",
+ click: "Clique em",
+ clickDesc: "Acionadores no clique",
+ close: "Fechar",
+ closeDesc: "Triggers on close",
+ parse: "Parse",
+ parseDesc: "Triggers on parse",
+ success: "Sucesso",
+ successDesc: "Acionadores sobre o sucesso",
+ },
+ themeDetail: {
+ primary: "Cor da marca",
+ primaryDesc: "A maioria dos componentes usa a cor primária padrão",
+ textDark: "Texto cor escura",
+ textDarkDesc: "Aplicar quando a cor de fundo é luz",
+ textLight: "Cor da luz do texto",
+ textLightDesc: "Aplicar quando a cor de fundo é escura",
+ canvas: "Cor de lona",
+ canvasDesc: "A cor de fundo padrão do aplicativo",
+ primarySurface: "Cor do recipiente",
+ primarySurfaceDesc: "A cor de fundo padrão para componentes como tabelas",
+ borderRadius: "Raio de fronteira",
+ borderRadiusDesc:
+ "A maioria dos componentes usa o raio de fronteira padrão",
+ chart: "Estilo de gráfico",
+ chartDesc: "Entrada Echarts",
+ echartsJson: "Tema JSON",
+ },
+ style: {
+ resetTooltip:
+ "Restaurar estilos. Exclua o valor da entrada para redefinir um campo individual.",
+ contrastText: "Cor de texto de contraste",
+ generated: "Geração",
+ customize: "Personalizar",
+ staticText: "Texto estático",
+ accent: "Accent",
+ validate: "Mensagem de validação",
+ border: "Fronteira",
+ borderRadius: "Raio de fronteira",
+ background: "Fundo",
+ headerBackground: "Fundo de cabeçalho",
+ footerBackground: "Fundo de rodapé",
+ fill: "Preenchimento",
+ track: "Rastrear",
+ links: "Links",
+ thumb: "Thumb",
+ thumbBorder: "Thumb fronteira",
+ checked: "Verificado",
+ unchecked: "Desmarcado",
+ handle: "Liderança",
+ tags: "Tags",
+ tagsText: "Tags texto",
+ multiIcon: "Ícone Multiselect",
+ tabText: "Texto da guia",
+ tabAccent: "Sotaque de guia",
+ checkedBackground: "Fundo verificado",
+ uncheckedBackground: "Fundo desmarcado",
+ uncheckedBorder: "Fronteira desmarcada",
+ indicatorBackground: "Indicador de fundo",
+ tableCellText: "Texto de célula",
+ selectedRowBackground: "Fundo de linha selecionado",
+ hoverRowBackground: "Fundo de linha Hover",
+ alternateRowBackground: "Fundo de linha alternativo",
+ tableHeaderBackground: "Fundo de cabeçalho",
+ tableHeaderText: "Texto de cabeçalho",
+ toolbarBackground: "Fundo da barra de ferramentas",
+ toolbarText: "Texto da barra de ferramentas",
+ pen: "Pena",
+ footerIcon: "Ícone do rodapé",
+ tips: "Dicas",
+ },
+ export: {
+ hiddenDesc: "Se for verdade, o componente está escondido",
+ disabledDesc:
+ "Se for verdade, o componente será acinzentado e não interactivo",
+ visibleDesc: "Se for verdade, o componente é visível",
+ inputValueDesc: "Valor atual da entrada",
+ invalidDesc: "Se o valor é inválido",
+ placeholderDesc: "Texto para exibir quando nenhum valor é definido",
+ requiredDesc: "Se for verdade, um valor válido deve ser fornecido",
+ submitDesc: "Formulário de envio",
+ richTextEditorValueDesc: "Valor atual do Editor",
+ richTextEditorReadOnlyDesc: "Se for verdade, o Editor é somente leitura",
+ richTextEditorHideToolBarDesc:
+ "Se for verdade, a barra de ferramentas está escondida",
+ jsonEditorDesc: "Dados atuais do json",
+ sliderValueDesc: "Valor selecionado atualmente",
+ sliderMaxValueDesc: "O valor máximo do intervalo atual",
+ sliderMinValueDesc: "O valor mínimo do intervalo atual",
+ sliderStartDesc: "O valor do ponto de partida selecionado atualmente",
+ sliderEndDesc: "O valor do ponto final selecionado atualmente",
+ ratingValueDesc: "A pontuação selecionada atualmente",
+ ratingMaxDesc: "A pontuação máxima atualmente definida",
+ datePickerValueDesc: "Data selecionada atualmente",
+ datePickerFormattedValueDesc:
+ "Data selecionada formatada de acordo com o formato especificado",
+ datePickerTimestampDesc: "O timestamp selecionado atualmente da data (s)",
+ dateRangeStartDesc: "Atualmente selecionada data de início",
+ dateRangeEndDesc: "Atualmente selecionada data final",
+ dateRangeStartTimestampDesc:
+ "O timestamp selecionado atualmente da data de início (s)",
+ dateRangeEndTimestampDesc:
+ "O timestamp selecionado atualmente da data final (s)",
+ dateRangeFormattedValueDesc:
+ "Data selecionada formatada de acordo com o formato especificado",
+ dateRangeFormattedStartValueDesc:
+ "Data de início formatada de acordo com o formato especificado",
+ dateRangeFormattedEndValueDesc:
+ "Data final formatada de acordo com o formato especificado",
+ timePickerValueDesc: "Tempo selecionado atualmente",
+ timePickerFormattedValueDesc:
+ "Tempo selecionado formatado de acordo com o formato especificado",
+ timeRangeStartDesc: "Tempo de início selecionado atualmente",
+ timeRangeEndDesc: "Atualmente selecionado tempo final",
+ timeRangeFormattedValueDesc:
+ "Tempo selecionado formatado de acordo com o formato especificado",
+ timeRangeFormattedStartValueDesc:
+ "Tempo de início formatado de acordo com o formato especificado",
+ timeRangeFormattedEndValueDesc:
+ "Tempo de fim formatado de acordo com o formato especificado",
+ },
+ validationDesc: {
+ email: "Digite um endereço de email válido",
+ url: "Digite uma URL válida",
+ regex: "Digite o conteúdo que corresponde ao regex",
+ maxLength:
+ "Número excessivo de caracteres, comprimento atual {length}, comprimento máximo Não",
+ minLength:
+ "Número insuficiente de caracteres, comprimento atual {length}, comprimento mínimo Não",
+ maxValue: "Maior que o máximo, corrente {value}, máximo Não",
+ minValue: "Menos do que o mínimo, corrente {value}, mínimo Não",
+ maxTime:
+ "Maior que o tempo máximo, tempo atual {time}, o tempo máximo {maxTime}",
+ minTime:
+ "Menos do que o tempo mínimo, tempo atual {time}, o tempo mínimo {minTime}",
+ maxDate: "Maior que a data máxima, hora atual {date}, data máxima Não",
+ minDate: "Menos do que a data mínima, hora atual {date}, data mínima Não",
+ },
+ query: {
+ noQueries: "Não há consultas disponíveis.",
+ queryTutorialButton: "Ver {value} documentos",
+ datasource: "Fontes de dados",
+ newDatasource: "Nova fonte de dados",
+ generalTab: "Geral",
+ notificationTab: "Notificação",
+ advancedTab: "Avançado",
+ showFailNotification: "Mostrar notificação sobre falha",
+ failCondition: "Condições de utilização",
+ failConditionTooltip1:
+ "Personaliza a condição de falha e a notificação correspondente.",
+ failConditionTooltip2:
+ "Se qualquer condição retornar verdadeira, a consulta será marcada como falha e desencadeia a notificação correspondente.",
+ showSuccessNotification: "Mostrar notificações sobre o sucesso",
+ successMessageLabel: "Mensagem de sucesso",
+ successMessage: "Executar sucesso",
+ notifyDuration: "Duração",
+ notifyDurationTooltip:
+ "Duração da notificação. Unidade de tempo pode ser s(segundo, padrão), ms(milissegundo). O valor padrão é {default}s. O máximo é {max}s.",
+ successMessageWithName: "{name} executar sucesso",
+ failMessageWithName: "a execução falhou. não",
+ showConfirmationModal: "Mostrar um modal de confirmação antes de executar",
+ confirmationMessageLabel: "Mensagem de confirmação",
+ confirmationMessage: "Tens a certeza que queres gerir esta consulta?",
+ newQuery: "Nova consulta",
+ newFolder: "Nova pasta",
+ recentlyUsed: "Recentemente usado",
+ folder: "Pasta",
+ folderNotEmpty: "A pasta não está vazia",
+ dataResponder: "Respondedor de dados",
+ tempState: "Estado temporário",
+ transformer: "Transformador",
+ quickRestAPI: "REST Query",
+ quickGraphql: "Query do GraphQL",
+ openblocksAPI: "API Openblocks",
+ executeJSCode: "Executar JavaScript Código",
+ importFromQueryLibrary: "Importação da Biblioteca de Consulta",
+ importFromFile: "Importação de arquivo",
+ triggerType: "Atraído quando",
+ triggerTypeAuto: "As entradas mudam ou na carga da página",
+ triggerTypePageLoad: "Carga na página",
+ triggerTypeManual: "Invocado manualmente",
+ chooseDataSource: "Fonte de dados",
+ method: "Método",
+ updateExceptionDataSourceTitle: "Atualização falha na fonte de dados",
+ updateExceptionDataSourceContent:
+ "Atualize a seguinte consulta com a mesma fonte de dados de falha:",
+ update: "Atualização",
+ disablePreparedStatement: "Desativar declarações preparadas",
+ disablePreparedStatementTooltip:
+ "Desativar declarações preparadas pode gerar SQL dinamicamente, mas arrisca a injeção SQL",
+ timeout: "Timeout após",
+ timeoutTooltip:
+ "Unidade padrão: ms, unidades de entrada suportadas: ms, s.\nValor padrão: {defaultSeconds} segundos\nValor máximo: {maxSeconds} segundos.\n\nPor exemplo, 300 (ou seja 300ms), 800ms, 5s.",
+ periodic: "Executar esta consulta periodicamente",
+ periodicTime: "Período",
+ periodicTimeTooltip:
+ "Período entre execuções sucessivas.\nUnidade padrão: ms, unidades de entrada suportadas: ms, s.\nValor mínimo: 100ms, execução periódica será desativada para valores abaixo disso.\n\nPor exemplo, 300 (ou seja 300ms), 800ms, 5s.",
+ cancelPrevious:
+ "Ignore os resultados das execuções não concluídas anteriores.",
+ cancelPreviousTooltip: "",
+ dataSourceStatusError:
+ "Se uma nova execução for desencadeada, o resultado das execuções não concluídas anteriores será ignorado se as execuções anteriores não forem concluídas, e as execuções ignoradas não provocarão a lista de eventos da consulta.",
+ success: "Sucesso",
+ fail: "Processo",
+ successDesc: "Acionado quando o sucesso da execução",
+ failDesc: "Acionado quando a execução falhou",
+ fixedDelayError: "Query não funciona",
+ execSuccess: "sucesso de execução",
+ execFail: "falhada",
+ execIgnored: "Os resultados desta consulta foram ignorados.",
+ deleteSuccessMessage:
+ "Excluído com sucesso. Você pode usar {undoKey} para desfazer.",
+ dataExportDesc: "Dados obtidos pela consulta atual",
+ codeExportDesc: "Código de status de consulta atual",
+ successExportDesc: "Se a consulta atual foi executada com sucesso",
+ messageExportDesc: "InformaçÃμes retornadas pela consulta atual",
+ extraExportDesc: "Outros dados na consulta atual",
+ isFetchingExportDesc: "É a consulta atual no pedido",
+ runTimeExportDesc: "Tempo atual de execução da consulta (ms)",
+ latestEndTimeExportDesc: "Último tempo de execução",
+ triggerTypeExportDesc: "Tipo de gatilho",
+ chooseResource: "Escolha um recurso",
+ createDataSource: "Criar uma nova fonte de dados",
+ editDataSource: "Editar",
+ datasourceName: "Nome",
+ datasourceNameRuleMessage: "Digite um nome de fonte de dados",
+ generalSetting: "Definições gerais",
+ advancedSetting: "Definições avançadas",
+ port: "Porto",
+ portRequiredMessage: "Por favor, insira uma porta",
+ portErrorMessage: "Digite uma porta correta",
+ connectionType: "Tipo de conexão",
+ regular: "Regular",
+ host: "Anfitrião",
+ hostRequiredMessage: "Digite um nome de domínio host ou endereço IP",
+ userName: "Nome do utilizador",
+ password: "Senha",
+ encryptedServer: "------ Criptografado no lado do servidor ---------",
+ uriRequiredMessage: "Por favor, insira um URI",
+ urlRequiredMessage: "Digite uma URL",
+ uriErrorMessage: "Digite um URI correto",
+ urlErrorMessage: "Digite uma URL correta",
+ httpRequiredMessage: "Digite http:// ou https://",
+ databaseName: "Nome do banco de dados",
+ databaseNameRequiredMessage: "Digite um nome de banco de dados",
+ useSSL: "Use SSL",
+ userNameRequiredMessage: "Digite seu nome",
+ passwordRequiredMessage: "Digite sua senha",
+ authentication: "Autenticação",
+ authenticationType: "Tipo de autenticação",
+ sslCertVerificationType: "SSL Verificação de Cert",
+ sslCertVerificationTypeDefault: "Verificar a CA Certeza",
+ sslCertVerificationTypeSelf: "Verificar o certificado auto-assinado",
+ sslCertVerificationTypeDisabled: "Deficientes",
+ selfSignedCert: "Cert auto-assinado",
+ selfSignedCertRequireMsg: "Insira o seu Certificado",
+ enableTurnOffPreparedStatement:
+ "Permite alternar declarações preparadas para consultas",
+ enableTurnOffPreparedStatementTooltip:
+ "Você pode ativar ou desativar as declarações preparadas na consulta A guia Avançada",
+ serviceName: "Nome do serviço",
+ serviceNameRequiredMessage: "Digite seu nome de serviço",
+ useSID: "Use o SID",
+ connectSuccessfully: "Conexão bem sucedida",
+ saveSuccessfully: "Salvo",
+ database: "Banco de dados",
+ cloudHosting:
+ "Cloud-hosted Openblocks não pode acessar seus serviços locais com 127.0.0.1 ou localhost. Tente conectar fontes de dados de rede pública ou usar um proxy inverso frente seus serviços privados.",
+ notCloudHosting:
+ "Para a implantação do docker hospedado, o Openblocks usa redes de ponte, então 127.0.0.1 e localhost são inválidos para endereços de host. Para visitar fontes de dados em sua máquina local, consulte esta",
+ howToAccessHostDocLink: "Como acessar a API/DB do host",
+ returnList: "Voltar",
+ chooseDatasourceType: "Escolha o tipo de fonte de dados",
+ viewDocuments: "Documentos",
+ testConnection: "Conexão de teste",
+ save: "Salvar",
+ whitelist: "Lista de permissões",
+ whitelistTooltip:
+ "Adicione os seguintes endereços IP de Openblocks à lista de permissões de origem de dados quando necessário.",
+ address: "Endereço:",
+ nameExists: "Nome {name} já existe",
+ jsQueryDocLink: "Sobre a consulta do JavaScript",
+ dynamicDataSourceConfigLoadingText: "Extra datasource config loading...",
+ dynamicDataSourceConfigErrText:
+ "Falha para carregar configuração de datasource extra.",
+ retry: "Repito",
+ },
+ sqlQuery: {
+ keyValuePairs: "Par de valor-chave",
+ object: "Objeto",
+ allowMultiModify: "Permitir modificar multi-row",
+ allowMultiModifyTooltip:
+ "Se este parâmetro for selecionado, todas as linhas que atendem às condições são operadas. Caso contrário, apenas a primeira linha que atende às condições é operada",
+ array: "Array",
+ insertList: "Lista de inserção",
+ insertListTooltip: "Valor inserido quando não existe",
+ filterRule: "Regra de filtro",
+ updateList: "Lista de atualizações",
+ updateListTooltip:
+ "Valores atualizados como eles existem podem ser substituídos pelos mesmos valores de lista de inserção",
+ sqlMode: "Modo SQL",
+ guiMode: "Modo de interface",
+ operation: "Operação",
+ insert: "Inserção",
+ upsert: "Inserir, atualizar se conflito",
+ update: "Atualização",
+ delete: "Excluir",
+ bulkInsert: "Inserção em massa",
+ bulkUpdate: "Atualização em massa",
+ table: "Quadro",
+ primaryKeyColumn: "Coluna de chave primária",
+ },
+ EsQuery: {
+ rawCommand: "Comando bruto",
+ queryTutorialButton: "Visualizar Elasticsearch Documentos de API",
+ request: "Solicitação",
+ },
+ googleSheets: {
+ rowIndex: "Índice de linha",
+ spreadsheetId: "Folha de cálculo",
+ sheetName: "Nome da folha",
+ readData: "Ler dados",
+ appendData: "Linha do Anexo",
+ updateData: "Linha de atualização",
+ deleteData: "Excluir linha",
+ clearData: "Linha clara",
+ serviceAccountRequireMessage: "Insira sua Conta de Serviço",
+ ASC: "ASC",
+ DESC: "DESCRIÇÃO",
+ sort: "Tipo",
+ sortPlaceholder: "Nome",
+ },
+ queryLibrary: {
+ export: "Exportar para JSON",
+ noInput: "A consulta atual não tem entrada",
+ inputName: "Nome",
+ inputDesc: "Descrição",
+ emptyInputs: "Sem entradas",
+ clickToAdd: "Adicionar",
+ chooseQuery: "Escolha a consulta",
+ viewQuery: "Ver consulta",
+ chooseVersion: "Escolha a versão",
+ latest: "Mais recentes",
+ publish: "Publicar",
+ historyVersion: "Histórico de versões",
+ deleteQueryLabel: "Excluir consulta",
+ deleteQueryContent:
+ "A consulta não pode ser recuperada após ser excluída. Excluir a consulta?",
+ run: "Corre",
+ readOnly: "Ler apenas",
+ exit: "Saída",
+ recoverAppSnapshotContent:
+ "Restaurar a consulta atual para a versão {version}",
+ searchPlaceholder: "Consulta de pesquisa",
+ allQuery: "Todas as perguntas",
+ deleteQueryTitle: "Excluir consulta",
+ unnamed: "Sem nome",
+ publishNewVersion: "Publicar nova versão",
+ publishSuccess: "Publicado",
+ version: "Versão",
+ desc: "Descrição",
+ },
+ snowflake: {
+ accountIdentifierTooltip: "Ver",
+ extParamsTooltip: "Configurar mais parâmetros de conexão",
+ },
+ openBlocksQuery: { queryOrgUsers: "Buscar usuários do workspace" },
+ redisQuery: {
+ rawCommand: "Comando bruto",
+ command: "Comando",
+ queryTutorial: "Ver Redis Comandos documentos",
+ },
+ httpQuery: {
+ bodyFormDataTooltip:
+ "Se você selecionar {type}, o formato do valor deve ser {object}. Exemplo: {example}",
+ text: "Texto",
+ file: "Arquivo",
+ extraBodyTooltip:
+ "Os valores-chave no corpo extra serão anexados no corpo com tipos de dados JSON ou Form",
+ forwardCookies: "Cookies externos",
+ forwardAllCookies: "Em frente a todos os cookies",
+ },
+ smtpQuery: {
+ attachment: "Anexo",
+ attachmentTooltip:
+ "Pode usar com componente de upload de arquivos, precisa converter dados para:",
+ MIMETypeUrl:
+ "https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types",
+ sender: "Remetente",
+ recipient: "Recipiente",
+ carbonCopy: "Cópia de carbono",
+ blindCarbonCopy: "Cópia de carbono cega",
+ subject: "Assunto",
+ content: "Conteúdo",
+ contentTooltip: "Suporte para texto de entrada ou HTML",
+ },
+ uiCompCategory: {
+ common: "Comumente usado",
+ dataInputText: "Entradas de texto",
+ dataInputNumber: "Número de entradas",
+ dataInputSelect: "Selecione entradas",
+ dataInputDate: "Entradas de data e hora",
+ button: "Botões",
+ dataDisplay: "Dados",
+ container: "Recipientes e formas",
+ other: "Outros",
+ },
+ uiComp: {
+ inputCompName: "Entrada de texto",
+ inputCompDesc: "Componente de entrada",
+ inputCompKeywords: "texto",
+ textAreaCompName: "Área de texto",
+ textAreaCompDesc: "Componente de área de texto",
+ textAreaCompKeywords: "",
+ passwordCompName: "Senha",
+ passwordCompDesc: "Componente de senha",
+ passwordCompKeywords: "",
+ richTextEditorCompName: "Editor de texto rico",
+ richTextEditorCompDesc: "Componente Rich Text Editor",
+ richTextEditorCompKeywords: "",
+ numberInputCompName: "Entrada de número",
+ numberInputCompDesc: "Componente de entrada de número",
+ numberInputCompKeywords: "",
+ sliderCompName: "Slider",
+ sliderCompDesc: "Componente deslizante",
+ sliderCompKeywords: "",
+ rangeSliderCompName: "Slider de alcance",
+ rangeSliderCompDesc: "Gama Slider componente",
+ rangeSliderCompKeywords: "",
+ ratingCompName: "Classificação",
+ ratingCompDesc: "Componente de classificação",
+ ratingCompKeywords: "",
+ switchCompName: "Interruptor",
+ switchCompDesc: "Componente de interruptor",
+ switchCompKeywords: "",
+ selectCompName: "Selecione",
+ selectCompDesc: "Selecione o componente",
+ selectCompKeywords: "",
+ multiSelectCompName: "Seletor Múltiplo",
+ multiSelectCompDesc: "Componente multiselect",
+ multiSelectCompKeywords: "",
+ cascaderCompName: "Cascavel",
+ cascaderCompDesc: "Componente de cascata",
+ cascaderCompKeywords: "",
+ checkboxCompName: "Caixa de seleção",
+ checkboxCompDesc: "Componente da caixa de seleção",
+ checkboxCompKeywords: "",
+ radioCompName: "Rádio",
+ radioCompDesc: "Componente de rádio",
+ radioCompKeywords: "",
+ segmentedControlCompName: "Controle Segmentado",
+ segmentedControlCompDesc: "Componente de controle segmentado",
+ segmentedControlCompKeywords: "",
+ fileUploadCompName: "Upload de Arquivos",
+ fileUploadCompDesc: "Componente de upload de arquivos",
+ fileUploadCompKeywords: "",
+ dateCompName: "Data",
+ dateCompDesc: "Componente de data",
+ dateCompKeywords: "",
+ dateRangeCompName: "Faixa de data",
+ dateRangeCompDesc: "Componente Data Range",
+ dateRangeCompKeywords: "",
+ timeCompName: "Tempo",
+ timeCompDesc: "Componente de tempo",
+ timeCompKeywords: "",
+ timeRangeCompName: "Faixa de tempo",
+ timeRangeCompDesc: "Componente de intervalo de tempo",
+ timeRangeCompKeywords: "",
+ buttonCompName: "Botão",
+ buttonCompDesc: "Componente de botão",
+ buttonCompKeywords: "",
+ linkCompName: "Link",
+ linkCompDesc: "Componente de link",
+ linkCompKeywords: "",
+ scannerCompName: "Scanner",
+ scannerCompDesc: "Componente de scanner",
+ scannerCompKeywords: "",
+ dropdownCompName: "Dropdown",
+ dropdownCompDesc: "Componente de Dropdown",
+ dropdownCompKeywords: "",
+ toggleButtonCompName: "Botão de alavanca",
+ toggleButtonCompDesc: "Toggle Button componente",
+ toggleButtonCompKeywords: "",
+ textCompName: "Texto",
+ textCompDesc: "Componente de texto",
+ textCompKeywords: "",
+ tableCompName: "Quadro",
+ tableCompDesc: "Componente de tabela",
+ tableCompKeywords: "",
+ imageCompName: "Imagem",
+ imageCompDesc: "Componente de imagem",
+ imageCompKeywords: "",
+ progressCompName: "Progressos",
+ progressCompDesc: "Componente de progresso",
+ progressCompKeywords: "",
+ progressCircleCompName: "Círculo de Processo",
+ progressCircleCompDesc: "Componente de círculo de processo",
+ progressCircleCompKeywords: "",
+ fileViewerCompName: "Visualizador de arquivos",
+ fileViewerCompDesc: "Componente de visualização de arquivos",
+ fileViewerCompKeywords: "",
+ dividerCompName: "Divisor",
+ dividerCompDesc: "Componente do divisor",
+ dividerCompKeywords: "",
+ qrCodeCompName: "Código QR",
+ qrCodeCompDesc: "Componente de código QR",
+ qrCodeCompKeywords: "",
+ formCompName: "Formulário",
+ formCompDesc: "Componente do formulário",
+ formCompKeywords: "",
+ jsonSchemaFormCompName: "JSON Formulário de Schema",
+ jsonSchemaFormCompDesc: "JSON Schema Componente do formulário",
+ jsonSchemaFormCompKeywords: "",
+ containerCompName: "Container",
+ containerCompDesc: "Componente do recipiente",
+ containerCompKeywords: "",
+ collapsibleContainerCompName: "Recipiente dobrável",
+ collapsibleContainerCompDesc: "Componente do recipiente dobrável",
+ collapsibleContainerCompKeywords: "",
+ tabbedContainerCompName: "Recipiente de guia",
+ tabbedContainerCompDesc: "Componente do recipiente da tabuleta",
+ tabbedContainerCompKeywords: "",
+ modalCompName: "Modal",
+ modalCompDesc: "Componente Modal",
+ modalCompKeywords: "",
+ listViewCompName: "Visualização em lista",
+ listViewCompDesc: "Ver componentes em lista",
+ listViewCompKeywords: "",
+ gridCompName: "Moagem",
+ gridCompDesc: "Componente de grade",
+ gridCompKeywords: "",
+ navigationCompName: "Navegação",
+ navigationCompDesc: "Componente de navegação",
+ navigationCompKeywords: "",
+ iframeCompName: "IFrame",
+ iframeCompDesc: "Componente IFrame",
+ iframeCompKeywords: "",
+ customCompName: "Componente personalizado",
+ customCompDesc: "Componente personalizado",
+ customCompKeywords: "",
+ moduleCompName: "Módulo",
+ moduleCompDesc: "Componente do módulo",
+ moduleCompKeywords: "",
+ jsonExplorerCompName: "JSON Explorer",
+ jsonExplorerCompDesc: "JSON componente do Explorer",
+ jsonExplorerCompKeywords: "",
+ jsonEditorCompName: "Editor de JSON",
+ jsonEditorCompDesc: "JSON Componente do editor",
+ jsonEditorCompKeywords: "",
+ treeCompName: "Árvore",
+ treeCompDesc: "Componente de árvore",
+ treeCompKeywords: "",
+ treeSelectCompName: "Seletor em árvore",
+ treeSelectCompDesc: "Componente de seleção de árvores",
+ treeSelectCompKeywords: "",
+ audioCompName: "Áudio",
+ audioCompDesc: "Componente de áudio",
+ audioCompKeywords: "",
+ videoCompName: "Vídeo",
+ videoCompDesc: "Componente de vídeo",
+ videoCompKeywords: "",
+ drawerCompName: "Desenho",
+ drawerCompDesc: "Componente de gaveta",
+ drawerCompKeywords: "",
+ chartCompName: "Gráfico",
+ chartCompDesc: "Componente gráfico",
+ chartCompKeywords: "",
+ carouselCompName: "Carrossel",
+ carouselCompDesc: "Componente de carrossel",
+ carouselCompKeywords: "",
+ imageEditorCompName: "Editor de imagem",
+ imageEditorCompDesc: "Componente do editor da imagem",
+ imageEditorCompKeywords: "",
+ calendarCompName: "Calendário",
+ calendarCompDesc: "Componente do calendário",
+ calendarCompKeywords: "",
+ signatureCompName: "Assinatura",
+ signatureCompDesc: "Componente de assinatura",
+ signatureCompKeywords: "",
+ },
+ comp: {
+ menuViewDocs: "Ver documentação",
+ menuUpgradeToLatest: "Atualizar para a versão mais recente",
+ nameNotEmpty: "Não pode ser vazio",
+ nameRegex:
+ "Deve começar com uma carta e conter apenas letras, dígitos e underscores (_)",
+ nameJSKeyword: "Não pode ser uma palavra-chave Javascript",
+ nameGlobalVariable: "Não pode ser um nome de variável global",
+ nameExists: "Nome {name} já existe",
+ getLatestVersionMetaError:
+ "Falhado em buscar a versão mais recente, tente mais tarde.",
+ needNotUpgrade: "A versão atual já é a mais recente.",
+ compNotFoundInLatestVersion:
+ "Componente atual não encontrado na versão mais recente.",
+ upgradeSuccess: "Com sucesso atualizado para a versão mais recente.",
+ searchProp: "Pesquisar",
+ },
+ jsonSchemaForm: {
+ retry: "Repito",
+ resetAfterSubmit: "Restaurar após o envio bem sucedido",
+ jsonSchema: "JSON schema",
+ uiSchema: "UI schema",
+ schemaTooltip: "Ver",
+ defaultData: "Dados padrão",
+ dataDesc: "Dados do formulário atual",
+ required: "Requisitos",
+ maximum: "O valor máximo é {value}",
+ minimum: "O valor mínimo é {value}",
+ exclusiveMaximum: "Deve ser menos que {value}",
+ exclusiveMinimum: "Deve ser maior que {value}",
+ multipleOf: "Deve ser um múltiplo de {value}",
+ minLength: "Pelo menos {value} caracteres",
+ maxLength: "No máximo {value} caracteres",
+ pattern: "Deve combinar o padrão Não",
+ format: "Deve corresponder ao formato {value}",
+ },
+ select: { inputValueDesc: "Valor de pesquisa de entrada" },
+ customComp: {
+ text: "É um bom dia.",
+ triggerQuery: "Query do gatilho",
+ updateData: "Dados de atualização",
+ updateText: "Também estou de bom humor!",
+ sdkGlobalVarName: "Bloqueios abertos",
+ },
+ tree: {
+ selectType: "Selecione o tipo",
+ noSelect: "Não selecione",
+ singleSelect: "Single select",
+ multiSelect: "Multi select",
+ checkbox: "Caixa de seleção",
+ checkedStrategy: "Estratégia verificada",
+ showAll: "Todos os nós",
+ showParent: "Apenas nós pais",
+ showChild: "Apenas nós de criança",
+ autoExpandParent: "Auto expandir pai",
+ checkStrictly: "Verificar estritamente",
+ checkStrictlyTooltip:
+ "Ver árvore Node precisamente; árvore paiNode e árvore de criançasNodos não estão associados",
+ treeData: "Dados da árvore",
+ treeDataDesc: "Dados da árvore atual",
+ value: "Valores padrão",
+ valueDesc: "Valores correntes",
+ expanded: "Valores expandidos",
+ expandedDesc: "Valores expandidos atuais",
+ defaultExpandAll: "Padrão expandir todos os nós",
+ showLine: "Linha de exibição",
+ showLeafIcon: "Mostrar ícone da folha",
+ treeDataAsia: "Ásia",
+ treeDataChina: "China",
+ treeDataBeijing: "Pequim",
+ treeDataShanghai: "Xangai",
+ treeDataJapan: "Japão",
+ treeDataEurope: "Europa",
+ treeDataEngland: "Inglaterra",
+ treeDataFrance: "França",
+ treeDataGermany: "Alemanha",
+ treeDataNorthAmerica: "América do Norte",
+ helpLabel: "Etiqueta de nó",
+ helpValue: "Valor de nó único na árvore",
+ helpChildren: "Nós de crianças",
+ helpDisabled: "Desativa o nó",
+ helpSelectable: "Se o nó é selecionável (single/multi select type)",
+ helpCheckable: "Se exibir caixa de seleção (tipo de caixa de seleção)",
+ helpDisableCheckbox:
+ "Desativa a caixa de seleção (tipo de caixa de seleção)",
+ },
+ moduleContainer: {
+ eventTest: "Teste de Eventos",
+ methodTest: "Teste de método",
+ inputTest: "Teste de Entrada",
+ },
+ password: {
+ label: "Senha",
+ visibilityToggle: "Mostrar mudança de visibilidade",
+ },
+ richTextEditor: {
+ placeholder: "Por favor...",
+ hideToolbar: "Ocultar barra de ferramentas",
+ content: "Conteúdo",
+ title: "Título",
+ save: "Salvar",
+ link: "Link:",
+ edit: "Editar",
+ remove: "Remover",
+ },
+ numberInput: {
+ formatter: "Formato",
+ precision: "Precisão",
+ allowNull: "Permitir valor nulo",
+ thousandsSeparator: "Mostrar separador de milhares",
+ controls: "Mostrar botões de incremento/decrement",
+ step: "Passo",
+ standard: "Padrão",
+ percent: "Percentagem",
+ },
+ slider: {
+ step: "Passo",
+ stepTooltip: "O valor deve ser superior a 0 e divisível por (max-min)",
+ },
+ rating: { max: "Classificação máxima", allowHalf: "Permitir metade" },
+ optionsControl: {
+ optionList: "Opções",
+ option: "Opção",
+ optionI: "Opção",
+ viewDocs: "Ver documentos",
+ tip: 'As variáveis "item" e "i" representam o valor e índice de cada item no array de dados',
+ },
+ radio: {
+ options: "Opções",
+ horizontal: "Horizontal",
+ horizontalTooltip:
+ "O layout horizontal envolve-se quando é executado fora do espaço",
+ vertical: "Vertical",
+ verticalTooltip:
+ "O layout vertical será sempre exibido em uma única coluna",
+ autoColumns: "Coluna automática",
+ autoColumnsTooltip:
+ "O layout da coluna automática reorganiza automaticamente a ordem como o espaço permite e exibe como várias colunas",
+ },
+ cascader: { options: "Estrutura" },
+ selectInput: {
+ valueDesc: "Valor selecionado atualmente",
+ selectedIndexDesc:
+ "O índice do valor selecionado atualmente, ou -1 se nenhum valor for selecionado",
+ selectedLabelDesc: "A etiqueta do valor selecionado atualmente",
+ },
+ file: {
+ typeErrorMsg:
+ "Deve ser um número com uma unidade de tamanho de arquivo válida, ou um número sem unidade de bytes.",
+ fileEmptyErrorMsg: "o upload falhou. O tamanho do arquivo está vazio.",
+ fileSizeExceedErrorMsg:
+ "o upload falhou. O tamanho do arquivo excede o limite.",
+ minSize: "Tamanho mínimo",
+ minSizeTooltip:
+ 'O tamanho mínimo de arquivos carregados com unidades de tamanho de arquivo opcionais (por exemplo, "5kb", "10 MB"). Se nenhuma unidade for fornecida, o valor será considerado um número de bytes.',
+ maxSize: "Tamanho máximo",
+ maxSizeTooltip:
+ 'O tamanho máximo de arquivos carregados com unidades de tamanho de arquivo opcionais (por exemplo, "5kb", "10 MB"). Se nenhuma unidade for fornecida, o valor será considerado um número de bytes.',
+ single: "Único",
+ multiple: "Múltiplos",
+ directory: "Diretório",
+ upload: "Navegar",
+ fileType: "Tipos de arquivo",
+ reference: "Por favor, consulte",
+ fileTypeTooltipUrl:
+ "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers",
+ fileTypeTooltip: "especifiers de tipo de arquivo único",
+ uploadType: "Tipo de upload",
+ showUploadList: "Mostrar lista de upload",
+ maxFiles: "Arquivos máximos",
+ filesValueDesc:
+ "O conteúdo do arquivo atualmente carregado é o Base64 codificado",
+ filesDesc: "Lista dos arquivos enviados atuais. Para detalhes, consulte",
+ clearValueDesc: "Limpar todos os arquivos",
+ parseFiles: "Arquivos de Parse",
+ parsedValueTooltip1:
+ "Se o parseFiles for verdadeiro, os arquivos de upload serão analisados para objeto, array ou string. Os dados parsed podem ser acessados através do array parsedValue.",
+ parsedValueTooltip2:
+ "Suporta arquivos de Excel, JSON, CSV e texto. Outros formatos voltarão nulos.",
+ },
+ date: {
+ format: "Formato",
+ formatTip: "Suporte:\nYYY-MM-DD HH:\nYYY-MM-DD\nTemporada",
+ reference: "Por favor, consulte",
+ showTime: "Mostrar tempo",
+ start: "Data de início",
+ end: "Data final",
+ year: "Ano",
+ quarter: "Bairro",
+ month: "Mês",
+ week: "Semana",
+ date: "Data",
+ clearAllDesc: "Limpar tudo",
+ resetAllDesc: "Restaurar tudo",
+ placeholder: "Selecione data",
+ startDate: "Data de início",
+ endDate: "Data final",
+ },
+ time: {
+ start: "Tempo de início",
+ end: "Tempo final",
+ formatTip: "Suporte:\nHH:\nTemporada",
+ placeholder: "Selecione o tempo",
+ startTime: "Tempo de início",
+ endTime: "Tempo final",
+ },
+ button: {
+ prefixIcon: "Ícone do prefixo",
+ suffixIcon: "Ícone do sufixo",
+ button: "Botão",
+ formToSubmit: "Formulário de envio",
+ default: "Padrão",
+ submit: "Submeter-me",
+ textDesc: "Texto atualmente exibido no botão",
+ loadingDesc:
+ "O botão no estado de carregamento? Se for verdade, o botão atual está carregando",
+ formButtonEvent: "evento",
+ },
+ link: {
+ link: "Link",
+ textDesc: "Texto exibido no link",
+ loadingDesc:
+ "O link no estado de carregamento? Se for verdade, o link atual está carregando",
+ },
+ scanner: {
+ text: "Clique na verificação",
+ camera: "Câmara",
+ changeCamera: "Câmera de interruptor",
+ continuous: "Digitalização contínua",
+ uniqueData: "Ignorar dados duplicados",
+ maskClosable: "Clique na máscara para fechar",
+ errTip: "Por favor, use este componente em https ou localhost",
+ },
+ dropdown: {
+ onlyMenu: "Apenas menu",
+ textDesc: "Texto atualmente exibido no botão",
+ },
+ textShow: {
+ text: "olá",
+ valueTooltip:
+ "O Markdown suporta a maioria das tags e atributos HTML. iframe, script e outras tags são desativadas por razões de segurança.",
+ verticalAlignment: "Alinhamento vertical",
+ horizontalAlignment: "Alinhamento horizontal",
+ textDesc: "Texto exibido na caixa de texto atual",
+ },
+ table: {
+ editable: "Editável",
+ columnNum: "Colunas",
+ viewModeResizable: "Largura da coluna ajustada pelo usuário",
+ viewModeResizableTooltip: "Se pode ajustar a largura da coluna.",
+ showFilter: "Mostrar botão de filtro",
+ showRefresh: "Mostrar botão de atualização",
+ showDownload: "Mostrar botão de download",
+ columnSetting: "Mostrar botão de configuração da coluna",
+ searchText: "Texto de pesquisa",
+ searchTextTooltip: "Pesquisar e filtrar os dados apresentados na tabela",
+ showQuickJumper: "Mostrar salto rápido",
+ hideOnSinglePage: "Esconder na página única",
+ showSizeChanger: "Mostrar botão de mudança de tamanho",
+ pageSizeOptions: "Opções de tamanho da página",
+ pageSize: "Tamanho da página",
+ total: "Total contagem de linhas",
+ totalTooltip:
+ "O valor padrão é o número de itens de dados atuais, que podem ser obtidos a partir da consulta, por exemplo: '",
+ filter: "Filtro",
+ filterRule: "Regra de filtro",
+ chooseColumnName: "Escolha a coluna",
+ chooseCondition: "Escolha a condição",
+ clear: "Livre",
+ columnShows: "Mostra de coluna",
+ selectAll: "Selecione tudo",
+ and: "E",
+ or: "Ou",
+ contains: "contém",
+ notContain: "não contém",
+ equals: "igualdades",
+ isNotEqual: "não é igual",
+ isEmpty: "está vazio",
+ isNotEmpty: "não está vazio",
+ greater: "maior do que",
+ greaterThanOrEquals: "superior ou igual",
+ lessThan: "menos do que",
+ lessThanOrEquals: "menos ou iguais",
+ action: "Acção",
+ columnValue: "Valor da coluna",
+ columnValueTooltip:
+ "'{{currentCell}}': dados de células atuais\n'{{currentRow}}': dados atuais da linha\n'{{currentIndex}}': índice de dados atual (começando de 0)\nExemplo: '{{currentCell * 5}}' mostrar 5 vezes os dados do valor original.",
+ imageSrc: "Fonte de imagem",
+ imageSize: "Tamanho da imagem",
+ columnTitle: "Título",
+ sortable: "Classificação",
+ align: "Alinhamento",
+ fixedColumn: "Coluna fixa",
+ autoWidth: "Largura automática",
+ customColumn: "Coluna personalizada",
+ auto: "Automática",
+ fixed: "Fixa",
+ columnType: "Tipo de coluna",
+ text: "Texto",
+ link: "Link",
+ links: "Links",
+ tag: "Tag Tag",
+ date: "Data",
+ dateTime: "Data de hora",
+ badgeStatus: "Estado",
+ button: "Botão",
+ image: "Imagem",
+ boolean: "Boole",
+ rating: "Classificação",
+ progress: "Progressos",
+ option: "Operação",
+ optionList: "Lista de operações",
+ option1: "Operação 1",
+ status: "Estado",
+ statusTooltip:
+ "Valores opcionais: sucesso, erro, padrão, aviso, processamento",
+ primaryButton: "Primário",
+ defaultButton: "Padrão",
+ type: "Tipo",
+ tableSize: "Tamanho da tabela",
+ hideHeader: "Ocultar cabeçalho da tabela",
+ hideBordered: "Ocultar a borda da coluna",
+ deleteColumn: "Excluir coluna",
+ confirmDeleteColumn: "Confirme a coluna de exclusão:",
+ small: "S",
+ middle: "M",
+ large: "L",
+ refreshButtonTooltip:
+ "Os dados atuais mudam, clique para regenerar a coluna.",
+ changeSetDesc:
+ "Um objeto que representa mudanças em uma tabela editável contém apenas a célula alterada. As linhas vão primeiro e as colunas vão em segundo.",
+ selectedRowDesc:
+ "Fornece dados para a linha selecionada atualmente, indicando a linha que desencadeia um evento de clique se o usuário clicar em um botão/link na linha",
+ selectedRowsDesc:
+ "Útil no modo de seleção múltipla, mesmo que selecionado Linha",
+ pageNoDesc: "Página de exibição atual, a partir de 1",
+ pageSizeDesc: "Quantas linhas por página",
+ sortColumnDesc: "O nome da coluna ordenada atualmente selecionada",
+ sortDesc: "Se a linha atual está em ordem decrescente",
+ pageOffsetDesc:
+ "O início atual de paging, usado para paging para obter dados. Exemplo: select * from users limit '{{table1.pageSize}}' offset '{{table1.pageOffset}} '",
+ displayDataDesc: "Dados exibidos na tabela atual",
+ selectedIndexDesc: "Índice selecionado em dados de exibição",
+ filterDesc: "Parâmetros de filtragem de tabela",
+ dataDesc: "Os dados brutos utilizados na tabela atual",
+ saveChanges: "Salvar alterações",
+ cancelChanges: "Cancelar alterações",
+ rowSelectChange: "Alteração da linha",
+ rowClick: "Clique em linha",
+ filterChange: "Alteração do filtro",
+ sortChange: "Alteração de classificação",
+ pageChange: "Mudança de página",
+ refresh: "Atualizar",
+ rowColor: "Cor da linha",
+ rowColorDesc:
+ "Definir condicionalmente a cor da linha com base nas variáveis opcionais:\natualRow, atualIndex Original, atualIndex, columnTitle.\nPor exemplo:\n' '",
+ saveChangesNotBind:
+ "Nenhum manipulador de eventos configurado para salvar alterações. Por favor, ligue pelo menos um manipulador de eventos antes de clicar.",
+ dynamicColumn: "Use a configuração dinâmica da coluna",
+ dynamicColumnConfig: "Configuração de coluna",
+ dynamicColumnConfigDesc:
+ 'Configurações de coluna dinâmicas. Aceita um conjunto de nomes de colunas. Todas as colunas são visíveis por padrão.\nExemplo: ["id", "name"]',
+ position: "Posição",
+ showDataLoadSpinner: "Mostrar spinner durante o carregamento de dados",
+ showValue: "Mostrar valor",
+ expandable: "Expansível",
+ configExpandedView: "Configurar visualização expandida",
+ toUpdateRowsDesc:
+ "Uma variedade de objetos para linhas a serem atualizadas em tabelas editáveis.",
+ empty: "Vazio",
+ falseValues: "Texto quando falso",
+ allColumn: "Todos",
+ visibleColumn: "Visível",
+ emptyColumns: "Nenhuma coluna é atualmente visível",
+ },
+ image: {
+ src: "Fonte de imagem",
+ srcDesc: "Fonte de imagem",
+ supportPreview: "Suporte clique de visualização",
+ supportPreviewTip: "Eficaz quando a fonte de imagem é válida",
+ },
+ progress: {
+ value: "Valor",
+ valueTooltip: "A porcentagem completa como valor entre 0 e 100",
+ showInfo: "Mostrar valor",
+ valueDesc: "Valor de progresso atual, variando de 0 a 100",
+ showInfoDesc: "Se mostrar o valor de progresso atual",
+ },
+ fileViewer: {
+ invalidURL: "Uma URL válida não foi fornecida",
+ src: "Arquivo URI",
+ srcTooltip:
+ "Visualizar o conteúdo do link fornecido pela incorporação de dados HTML, base64 codificados também pode ser suportado, por exemplo: dados:application/pdf; base64,AAAA... CCC",
+ srcDesc: "O arquivo URI",
+ },
+ divider: {
+ title: "Título",
+ align: "Alinhamento",
+ dashed: "Dashed",
+ dashedDesc: "Se usar linha tracejada",
+ titleDesc: "Título do divisor",
+ alignDesc: "Alinhamento do título do divisor",
+ },
+ QRCode: {
+ value: "Valor",
+ valueTooltip: "O valor contém um máximo de 2953 caracteres",
+ level: "Nível de tolerância padrão",
+ levelTooltip:
+ "Refere-se ao código QR é parte bloqueada, ainda pode ser digitalizada. Quanto maior o nível, mais complexo o código, e quanto mais bloqueado for, mais ele pode ser digitalizado",
+ includeMargin: "Mostrar margem",
+ image: "Imagem",
+ valueDesc: "O valor qrCode",
+ L: "L (Low)",
+ M: "M (médio)",
+ Q: "Q (Quartil)",
+ H: "H (alto)",
+ maxLength:
+ "O conteúdo é muito longo. Defina o comprimento para menos de 2953 caracteres",
+ },
+ jsonExplorer: {
+ indent: "Identificação",
+ expandToggle: "Expandir a alavanca",
+ theme: "Tema",
+ valueDesc: "Dados atuais do json",
+ default: "Padrão",
+ defaultDark: "Padrão escuro",
+ neutralLight: "Luz neutra",
+ neutralDark: "Escuro neutro",
+ azure: "Azure",
+ darkBlue: "Azul escuro",
+ },
+ audio: {
+ src: "URL de áudio",
+ defaultSrcUrl: "https://cdn-files.openblocks.dev/canon-excerpt.mp3",
+ autoPlay: "Autoplay",
+ loop: "Loop",
+ srcDesc: "URL de áudio atual",
+ play: "Jogar",
+ playDesc: "Acionado quando o áudio é jogado",
+ pause: "Pausa",
+ pauseDesc: "Acionado quando o áudio é pausado",
+ ended: "Fim",
+ endedDesc: "Acionado quando o áudio termina jogando",
+ },
+ video: {
+ src: "URL de vídeo",
+ defaultSrcUrl: "https://www.youtube.com/watch?v=pRpeEdMmmQ0",
+ poster: "URL do Poster",
+ defaultPosterUrl: "",
+ autoPlay: "Autoplay",
+ loop: "Loop",
+ controls: "Ocultar controles",
+ volume: "Volume",
+ playbackRate: "Taxa de reprodução",
+ posterTooltip: "O valor padrão é o primeiro quadro do vídeo",
+ autoPlayTooltip:
+ "Depois que o vídeo é carregado, ele vai jogar automaticamente. Mudar esse valor de true para false vai pausar o vídeo. (Se um cartaz é definido, ele será jogado pelo botão do cartaz)",
+ controlsTooltip:
+ "Esconder controles de reprodução de vídeo. Pode não ser totalmente suportado por cada fonte de vídeo.",
+ volumeTooltip: "Defina o volume do jogador, entre 0 e 1",
+ playbackRateTooltip: "Defina a taxa do jogador, entre 1 e 2",
+ srcDesc: "URL de vídeo atual",
+ play: "Jogar",
+ playDesc: "Acionado quando o vídeo é jogado",
+ pause: "Pausa",
+ pauseDesc: "Acionado quando o vídeo é pausado",
+ load: "Carga",
+ loadDesc: "Acionado quando o recurso de vídeo terminou o carregamento",
+ ended: "Fim",
+ endedDesc: "Acionado quando o vídeo termina jogando",
+ currentTimeStamp: "A posição de reprodução atual do vídeo em segundos",
+ duration: "A duração total do vídeo em segundos",
+ },
+ media: {
+ playDesc: "Começa a reprodução da mídia.",
+ pauseDesc: "Pausa a reprodução da mídia.",
+ loadDesc:
+ "Resta a mídia ao início e reinicie selecionando o recurso de mídia.",
+ seekTo:
+ "Procure o número dado de segundos, ou fração se o valor for entre 0 e 1",
+ seekToAmount: "Número de segundos, ou fração se for entre 0 e 1",
+ showPreview: "Mostrar prévia",
+ },
+ rangeSlider: {
+ start: "Valor de início",
+ end: "Valor final",
+ step: "Tamanho do passo",
+ stepTooltip:
+ "A granularidade do controle deslizante, o valor deve ser maior que 0 e divisível por (max-min)",
+ },
+ iconControl: {
+ selectIcon: "Selecione um ícone",
+ insertIcon: "inserir um ícone",
+ insertImage: "Insira uma imagem ou",
+ },
+ millisecondsControl: {
+ timeoutTypeError:
+ "Digite o período de tempo limite correto, a entrada atual é: {value}",
+ timeoutLessThanMinError:
+ "Entrada deve maior que {left}, a entrada atual é: {value}",
+ },
+ selectionControl: {
+ single: "Único",
+ multiple: "Múltiplos",
+ close: "Fechar",
+ mode: "Selecione o modo",
+ },
+ container: { title: "Título do recipiente" },
+ drawer: {
+ placement: "Colocação de gaveta",
+ size: "Tamanho",
+ top: "Topo",
+ right: "Certo",
+ bottom: "Fundo",
+ left: "Esquerda",
+ widthTooltip: "Número ou percentagem, por exemplo, 520, 60%",
+ heightTooltip: "Número, por exemplo, 378",
+ openDrawerDesc: "Desenho aberto",
+ closeDrawerDesc: "Fechar gaveta",
+ width: "Largura de gaveta",
+ height: "Altura do desenho",
+ },
+ settings: {
+ title: "Configurações",
+ member: "Membros",
+ organization: "Espaços de trabalho",
+ audit: "Logs de Auditoria",
+ theme: "Temas",
+ plugin: "Plugins",
+ advanced: "Avançado",
+ lab: "Laboratório",
+ branding: "Marcação",
+ idSource: "Provedores de ID",
+ premium: "Premium",
+ },
+ memberSettings: {
+ admin: "Administrador",
+ adminGroupRoleInfo: "Admin pode gerenciar membros do grupo e recursos",
+ adminOrgRoleInfo: "Possuir todos os recursos e pode gerenciar grupos.",
+ member: "Membro",
+ memberGroupRoleInfo: "Membro pode ver membros do grupo",
+ memberOrgRoleInfo: "Só podem usar ou visitar recursos que têm acesso.",
+ title: "Membros",
+ createGroup: "Criar grupo",
+ newGroupPrefix: "Novo grupo",
+ allMembers: "Todos os membros",
+ deleteModalTitle: "Excluir este grupo",
+ deleteModalContent:
+ "O grupo excluído não pode ser restaurado. Tem certeza de excluir o grupo?",
+ addMember: "Adicionar membros",
+ nameColumn: "Nome do utilizador",
+ joinTimeColumn: "Tempo de adesão",
+ actionColumn: "Operação",
+ roleColumn: "Papel",
+ exitGroup: "Grupo de saída",
+ moveOutGroup: "Remover do grupo",
+ inviteUser: "Convidar os membros",
+ exitOrg: "Deixa-me ir",
+ exitOrgDesc: "Tens a certeza que queres deixar este espaço de trabalho.",
+ moveOutOrg: "Remover",
+ moveOutOrgDescSaasMode:
+ "Tem certeza de que deseja remover o usuário {name} deste workspace?",
+ moveOutOrgDesc:
+ "Tem certeza de que deseja remover o usuário {name}? Esta ação não pode ser recuperada.",
+ devGroupTip:
+ "Os membros do grupo desenvolvedor têm privilégios para criar aplicativos e fontes de dados.",
+ lastAdminQuit: "O último administrador não pode sair.",
+ organizationNotExist: "O espaço de trabalho atual não existe",
+ inviteUserHelp: "Você pode copiar o link de convite para enviar ao usuário",
+ inviteUserLabel: "Convite:",
+ inviteCopyLink: "Link de cópia",
+ inviteText:
+ '{userName} convida você a se juntar ao workspace "{organization}", Clique no link para se juntar: {inviteLink}',
+ groupName: "Nome do grupo",
+ createTime: "Criar tempo",
+ manageBtn: "Gerenciar",
+ userDetail: "Detalhe",
+ syncDeleteTip: "Este grupo foi excluído da fonte do livro de endereços",
+ syncGroupTip:
+ "Este grupo é um grupo de sincronização de livro de endereços e não pode ser editado",
+ },
+ orgSettings: {
+ newOrg: "Novo espaço de trabalho",
+ title: "Espaço de trabalho",
+ createOrg: "Criar espaço de trabalho",
+ deleteModalTitle: "Tem certeza de apagar este espaço de trabalho?",
+ deleteModalContent:
+ "Você está prestes a excluir este workspace {permanentlyDelete}. Uma vez excluído, o workspace {notRestored}.",
+ permanentlyDelete: "permanentemente permanentemente",
+ notRestored: "não pode ser restaurado",
+ deleteModalLabel:
+ "Digite o nome do workspace{name} para confirmar a operação:",
+ deleteModalTip: "Digite o nome do workspace",
+ deleteModalErr: "O nome do workspace está incorreta",
+ deleteModalBtn: "Excluir",
+ editOrgTitle: "Editar informações do workspace",
+ orgNameLabel: "Nome do espaço de trabalho:",
+ orgNameCheckMsg: "O nome do espaço de trabalho não pode estar vazio",
+ orgLogo: "Logotipo do workspace:",
+ logoModify: "Modificar imagem",
+ inviteSuccessMessage: "Junte-se ao espaço de trabalho com sucesso",
+ inviteFailMessage: "Falhado para se juntar ao workspace",
+ uploadErrorMessage: "Carregar erro",
+ orgName: "Nome do espaço de trabalho",
+ },
+ freeLimit: "Teste gratuito",
+ tabbedContainer: {
+ switchTab: "Aba do interruptor",
+ switchTabDesc: "Acionado ao alternar guias",
+ tab: "Tabs",
+ atLeastOneTabError: "O recipiente Tab mantém pelo menos um Tab",
+ selectedTabKeyDesc: "Atualmente selecionado TAB",
+ iconPosition: "Posição do ícone",
+ },
+ formComp: {
+ containerPlaceholder: "Arraste componentes do painel direito ou",
+ openDialogButton: "gerar formulário de dados",
+ resetAfterSubmit: "Restaurar após o envio bem sucedido",
+ initialData: "Dados iniciais",
+ disableSubmit: "Desativar a submissão",
+ success: "Forma gerada com sucesso",
+ selectCompType: "Selecione o tipo de componente",
+ dataSource: "Fonte de dados:",
+ selectSource: "Selecione a fonte",
+ table: "Quadro:",
+ selectTable: "Selecione a tabela",
+ columnName: "Nome da coluna",
+ dataType: "Tipo de dados",
+ compType: "Tipo de componente",
+ required: "Requisitos",
+ generateForm: "Forma de geração",
+ compSelectionError: "Tipo de coluna não configurado",
+ compTypeNameError: "Não conseguiu obter o nome do tipo componente",
+ noDataSourceSelected: "Nenhuma fonte de dados selecionada",
+ noTableSelected: "Nenhuma tabela selecionada",
+ noColumn: "Nenhuma coluna",
+ noColumnSelected: "Nenhuma coluna selecionada",
+ noDataSourceFound:
+ "Nenhuma fonte de dados suportada encontrada. Criar uma nova fonte de dados",
+ noTableFound:
+ "Nenhuma tabela foi encontrada nesta fonte de dados, selecione outra fonte de dados",
+ noColumnFound:
+ "Nenhuma coluna suportada foi encontrada nesta tabela. Por favor, selecione outra tabela",
+ formTitle: "Título do formulário",
+ name: "Nome",
+ nameTooltip:
+ "O nome do atributo nos dados do formulário, quando deixado em branco, padrão para o nome do componente",
+ notSupportMethod: "Métodos não suportados:",
+ notValidForm: "O formulário não é válido",
+ resetDesc: "Restaurar os dados do formulário ao valor padrão",
+ clearDesc: "Dados de formulário claros",
+ setDataDesc: "Definir dados de formulário",
+ valuesLengthError: "Erro do número do parâmetro",
+ valueTypeError: "Erro do tipo parâmetro",
+ dataDesc: "Dados do formulário atual",
+ loadingDesc: "Se o formulário está carregando?",
+ },
+ modalComp: {
+ close: "Fechar",
+ closeDesc: "Acionado quando a caixa de diálogo é fechada",
+ openModalDesc: "Abra a caixa de diálogo",
+ closeModalDesc: "Feche a caixa de diálogo",
+ visibleDesc:
+ "É visível? Se for verdade, a caixa de diálogo atual aparecerá",
+ modalHeight: "Altura Modal",
+ modalHeightTooltip: "Número, exemplo: 222",
+ modalWidth: "Largura Modal",
+ modalWidthTooltip: "Número ou porcentagem, exemplo: 520, 60%",
+ },
+ listView: {
+ noOfRows: "Contagem de linha",
+ noOfRowsTooltip:
+ "Número de linhas na lista - Isso geralmente é definido como uma variável (por exemplo, '{{query1.data.length}}') se você precisar apresentar os resultados de uma consulta.",
+ noOfColumns: "Contagem de coluna",
+ itemIndexName: "Nome do índice de Item",
+ itemIndexNameDesc:
+ "o nome variável refere-se ao índice do item, padrão como {default}",
+ itemDataName: "Nome de dados do item",
+ itemDataNameDesc:
+ "o nome variável refere-se ao objeto de dados do item, padrão como {default}",
+ itemsDesc: "Expondo dados de Comps na lista",
+ dataDesc: "Os dados brutos utilizados na lista atual",
+ dataTooltip:
+ "Se avaliado como Número, este campo será considerado como contagem de linhas, e os dados serão considerados vazios.",
+ },
+ navigation: {
+ addText: "Adicionar item de submenu",
+ logoURL: "URL do logotipo",
+ horizontalAlignment: "Alinhamento horizontal",
+ logoURLDesc: "Valor da URL do logotipo",
+ itemsDesc: "Artigos do menu de navegação",
+ },
+ iframe: {
+ URLDesc: "A URL de origem",
+ allowDownload: "Downloads",
+ allowSubmitForm: "Formulário",
+ allowMicrophone: "Microfone",
+ allowCamera: "Câmara",
+ allowPopup: "Popups",
+ },
+ droppadbleMenuItem: { subMenu: "Submenu (0)" },
+ navItemComp: { active: "Activo" },
+ switchComp: {
+ open: "Abrir",
+ close: "Fechar",
+ openDesc: "Acionado quando o interruptor é ligado",
+ closeDesc: "Acionado quando o interruptor é desligado",
+ valueDesc: "Situação do interruptor de corrente",
+ },
+ signature: {
+ tips: "Dicas",
+ signHere: "Assine aqui",
+ showUndo: "Mostrar tudo",
+ showClear: "Mostrar claro",
+ },
+ localStorageComp: {
+ valueDesc: "Todos os itens de dados armazenados atualmente",
+ setItemDesc: "Adicionar um item",
+ removeItemDesc: "Remover um item",
+ clearItemDesc: "Limpar todos os itens",
+ },
+ utilsComp: {
+ openUrl: "URL aberta",
+ openApp: "Abrir App",
+ copyToClipboard: "Copiar para clipboard",
+ downloadFile: "Baixar arquivo",
+ },
+ messageComp: {
+ info: "Enviar uma notificação",
+ success: "Enviar uma notificação de sucesso",
+ warn: "Enviar uma notificação de aviso",
+ error: "Enviar uma notificação de erro",
+ },
+ themeComp: { switchTo: "Tema de interruptor" },
+ transformer: {
+ preview: "Prévia",
+ docLink: "Sobre o transformador",
+ previewSuccess: "Sucesso",
+ previewFail: "Falha",
+ deleteMessage:
+ "Excluir o sucesso do transformador. Você pode usar {undoKey} para desfazer.",
+ },
+ temporaryState: {
+ value: "Valor de entrada",
+ valueTooltip:
+ "O valor inicial armazenado no estado temporário pode ser qualquer valor JSON válido.",
+ docLink: "Sobre o estado temporário",
+ pathTypeError: "O caminho deve ser uma string ou uma matriz de valores",
+ unStructuredError:
+ "Dados não estruturados {prev} não podem ser atualizados por {path}",
+ valueDesc: "Valor do estado temporário",
+ deleteMessage:
+ "O estado temporário é excluído com sucesso. Você pode usar {undoKey} para desfazer.",
+ },
+ dataResponder: {
+ data: "Dados",
+ dataDesc: "Dados de resposta de dados atual",
+ dataTooltip:
+ "Quando esses dados forem alterados, ele irá desencadear ações subseqüentes.",
+ docLink: "Sobre o socorrista de dados",
+ deleteMessage:
+ "O socorrista de dados é excluído com sucesso. Você pode usar {undoKey} para desfazer.",
+ },
+ theme: {
+ title: "Temas",
+ createTheme: "Criar tema",
+ themeName: "Nome do tema:",
+ themeNamePlaceholder: "Digite um nome de tema",
+ defaultThemeTip: "Tema padrão:",
+ createdThemeTip: "O tema que você criou:",
+ option: "Opção",
+ input: "Entrada",
+ confirm: "Ok",
+ emptyTheme: "Sem temas disponíveis",
+ click: "",
+ toCreate: "",
+ nameColumn: "Nome",
+ defaultTip: "Padrão",
+ updateTimeColumn: "Atualizado em",
+ edit: "Editar",
+ cancelDefaultTheme: "Tema padrão não definido",
+ setDefaultTheme: "Definir como tema padrão",
+ copyTheme: "Tema duplicado",
+ setSuccessMsg: "Definir sucesso",
+ cancelSuccessMsg: "Desajustar conseguiu",
+ deleteSuccessMsg: "A exclusão sucedeu",
+ checkDuplicateNames: "O nome do tema já existe, por favor re-enter-lo",
+ copySuffix: "Entendido",
+ saveSuccessMsg: "Salvou com sucesso",
+ leaveTipTitle: "Dicas",
+ leaveTipContent: "Ainda não salvaste, confirmaste a partida?",
+ leaveTipOkText: "Deixa-me ir",
+ goList: "Voltar à lista",
+ saveBtn: "Salvar",
+ mainColor: "Cores principais",
+ text: "Cores de texto",
+ defaultTheme: "Padrão",
+ yellow: "Amarelo",
+ green: "Verde",
+ previewTitle:
+ "Visualização do tema\nExemplo de componentes que usam suas cores temáticas",
+ dateColumn: "Data",
+ emailColumn: "Email",
+ phoneColumn: "Telefone",
+ subTitle: "Título",
+ linkLabel: "Link",
+ linkUrl: "cloud.openblocks.dev",
+ progressLabel: "Progressos",
+ sliderLabel: "Slider",
+ radioLabel: "Rádio",
+ checkboxLabel: "Caixa de seleção",
+ buttonLabel: "Botão",
+ switch: "Interruptor",
+ previewDate: "16/10/2022",
+ previewEmail1: "ted.com",
+ previewEmail2: "o que fazer",
+ previewEmail3: "injeção de plástico",
+ previewEmail4: "globo.com",
+ previewPhone1: "+63-317-333-0093",
+ previewPhone2: "+30-668-580-6521",
+ previewPhone3: "+86-369-925-2071",
+ previewPhone4: "+7-883-227-8093",
+ chartPreviewTitle: "Visualização de estilo gráfico",
+ chartSpending: "Spending",
+ chartBudget: "Orçamento",
+ chartAdmin: "Administração",
+ chartFinance: "Finanças",
+ chartSales: "Vendas",
+ chartFunnel: "Gráfico de Funil",
+ chartShow: "Mostrar",
+ chartClick: "Clique em",
+ chartVisit: "Visita",
+ chartQuery: "Query",
+ chartBuy: "Comprar",
+ },
+ pluginSetting: {
+ title: "Plugins",
+ npmPluginTitle: "plugins npm",
+ npmPluginDesc:
+ "Configure plugins npm para todas as aplicações no espaço de trabalho atual.",
+ npmPluginEmpty: "Nenhum plugin npm foi adicionado.",
+ npmPluginAddButton: "Adicionar um plugin npm",
+ saveSuccess: "Salvou com sucesso",
+ },
+ advanced: {
+ title: "Avançado",
+ defaultHomeTitle: "Página inicial padrão",
+ defaultHomeHelp:
+ "A página inicial é o aplicativo que todos os não-desenvolvedores verão por padrão quando eles entram. Nota: Certifique-se de que o aplicativo selecionado é acessível a não-desenvolvedores.",
+ defaultHomePlaceholder: "Selecione a página inicial padrão",
+ saveBtn: "Salvar",
+ preloadJSTitle: "JavaScript carregado previamente",
+ preloadJSHelp:
+ "Configure o código JavaScript pré-carregado para todos os aplicativos no espaço de trabalho atual.",
+ preloadCSSTitle: "CSS carregado previamente",
+ preloadCSSHelp:
+ "Configure o código CSS pré-carregado para todos os aplicativos no espaço de trabalho atual.",
+ preloadCSSApply: "Aplicar na página inicial do workspace",
+ preloadLibsTitle: "Biblioteca de JavaScript",
+ preloadLibsHelp:
+ "Configure bibliotecas JavaScript pré-carregadas para todas as aplicações no espaço de trabalho atual, e o sistema tem lodash incorporado, moment, uuid, numbro para uso direto. As bibliotecas de JavaScript são carregadas antes que o aplicativo seja inicializado, então há um certo impacto no desempenho do aplicativo.",
+ preloadLibsEmpty: "Nenhuma biblioteca JavaScript foi adicionada",
+ preloadLibsAddBtn: "Adicionar uma biblioteca",
+ saveSuccess: "Salvou com sucesso",
+ },
+ branding: {
+ title: "Marcação",
+ logoTitle: "Logotipo",
+ logoHelp: ".JPG, .SVG ou .PNG somente",
+ faviconTitle: "Favicon",
+ faviconHelp: ".JPG, .SVG ou .PNG somente",
+ brandNameTitle: "Nome da marca",
+ headColorTitle: "Cor da cabeça",
+ save: "Salvar",
+ saveSuccessMsg: "Salvou com sucesso",
+ upload: "Clique para fazer upload",
+ },
+ networkMessage: {
+ "0": "Falhado para se conectar ao servidor, verifique sua rede",
+ "401": "Autenticação falhada, por favor, faça login novamente",
+ "403":
+ "Sem permissão, entre em contato com o administrador para autorização",
+ "500": "Serviço ocupado, tente novamente mais tarde",
+ timeout: "Solicitar tempo limite",
+ },
+ share: {
+ title: "Compartilhar",
+ viewer: "Visualizador",
+ editor: "Editor",
+ owner: "Proprietário",
+ datasourceViewer: "Pode usar",
+ datasourceOwner: "Pode gerir",
+ },
+ debug: { title: "Título", switch: "Componente do interruptor:" },
+ module: {
+ emptyText: "Sem dados",
+ circularReference:
+ "Referência circular, módulo atual / aplicativo não pode ser usado!",
+ emptyTestInput: "O módulo atual não tem entrada para testar",
+ emptyTestMethod: "O módulo atual não tem nenhum método para testar",
+ name: "Nome",
+ input: "Entrada",
+ params: "Params",
+ emptyParams: "Nenhum parâmetro foi adicionado",
+ emptyInput: "Nenhuma entrada foi adicionada",
+ emptyMethod: "Nenhum método foi adicionado",
+ emptyOutput: "Nenhuma saída foi adicionada",
+ data: "Dados",
+ string: "String",
+ number: "Número",
+ array: "Array",
+ boolean: "Boole",
+ query: "Query",
+ autoScaleCompHeight: "Escalas de altura componentes com recipiente",
+ excuteMethod: "Método de execução Não",
+ method: "Método",
+ action: "Acção",
+ output: "Saída",
+ nameExists: "Nome {name} já existe",
+ eventTriggered: "Evento {name} é acionado",
+ globalPromptWhenEventTriggered:
+ "Exibe um prompt global quando um evento é acionado",
+ emptyEventTest: "O módulo atual não tem eventos para testar",
+ emptyEvent: "Nenhum evento foi adicionado",
+ event: "Evento",
+ },
+ resultPanel: {
+ returnFunction: "O valor de retorno é uma função.",
+ consume: "{time}",
+ JSON: "Mostrar JSON",
+ },
+ createAppButton: { creating: "Criando...", created: "Criar" },
+ apiMessage: {
+ authenticationFail:
+ "Autenticação do usuário falhou, por favor inicie novamente",
+ verifyAccount: "Precisa verificar a conta",
+ functionNotSupported:
+ "A versão atual não suporta esta função. Entre em contato com a equipe de negócios do Openblocks para atualizar sua conta",
+ },
+ globalErrorMessage: {
+ createCompFail: "Criar componente {comp} falhou",
+ notHandledError: "{method} método não executado",
+ },
+ aggregation: {
+ navLayout: "Barra de navegação",
+ chooseApp: "Escolha o aplicativo",
+ iconTooltip: "Link de imagem de suporte ou Base64",
+ hideWhenNoPermission: "Escondido para usuários não autorizados",
+ queryParam: "URL Params de consulta",
+ hashParam: "URL Params de Hash",
+ tabBar: "Barra de guia",
+ emptyTabTooltip: "Configurar esta página no painel direito",
+ },
+ appSetting: {
+ "450": "(Telefone)",
+ "800": "800px (Tabela)",
+ "1440": "1440px (Laptop)",
+ "1920": "1920px (Tela de espera)",
+ "3200": "3200px (Super tela grande)",
+ title: "Definições do aplicativo",
+ autofill: "Preenchimento automático",
+ userDefined: "Personalizado",
+ default: "Padrão",
+ tooltip: "Feche o popover após a configuração",
+ canvasMaxWidth: "Máxima largura do canvas",
+ userDefinedMaxWidth: "Largura máxima personalizada",
+ inputUserDefinedPxValue: "Digite um valor de pixel personalizado",
+ maxWidthTip: "A largura máxima deve ser maior ou igual a 350",
+ themeSetting: "Configuração do tema",
+ themeSettingDefault: "Padrão",
+ themeCreate: "Criar tema",
+ },
+ customShortcut: {
+ title: "Atalhos personalizados",
+ shortcut: "Corte de atalho",
+ action: "Acção",
+ empty: "Sem atalhos",
+ placeholder: "Atalho de imprensa",
+ otherPlatform: "Outros",
+ space: "Espaço",
+ },
+ profile: {
+ change: "Alterar",
+ orgSettings: "Definições do espaço de trabalho",
+ switchOrg: "Trocar espaço de trabalho",
+ joinedOrg: "Os meus espaços de trabalho",
+ createOrg: "Criar espaço de trabalho",
+ logout: "Sair",
+ personalInfo: "O meu perfil",
+ bindingSuccess: "{sourceName} atualizado com sucesso",
+ uploadError: "Carregar erro",
+ editProfilePicture: "Modificar",
+ nameCheck: "Nome não pode ser vazio",
+ name: "Nome:",
+ namePlaceholder: "Digite seu nome",
+ toBind: "Para ligar",
+ binding: "É obrigatório",
+ bindError: "Erro de parâmetro, atualmente não suportado vinculação.",
+ bindName: "Lixo",
+ loginAfterBind: "Depois de ligar, você pode usar {name} para fazer login",
+ bindEmail: "Email:",
+ email: "email",
+ emailCheck: "Digite um email válido",
+ emailPlaceholder: "Digite seu email",
+ submit: "Submeter-me",
+ bindEmailSuccess: "Sucesso de ligação de email",
+ passwordModifiedSuccess: "A senha mudou com sucesso",
+ passwordSetSuccess: "Definir senha com sucesso",
+ oldPassword: "Senha antiga:",
+ inputCurrentPassword: "Digite sua senha atual",
+ newPassword: "Nova senha:",
+ inputNewPassword: "Digite sua nova senha",
+ confirmNewPassword: "Confirme nova senha:",
+ confirmNewEmail: "Confirme a mudança de email:",
+ inputNewPasswordAgain: "Digite sua nova senha novamente",
+ password: "Senha:",
+ modifyPassword: "Modificar senha",
+ setPassword: "Definir senha",
+ alreadySetPassword: "**********",
+ setPassPlaceholder: "Você pode fazer login com senha",
+ setPassAfterBind: "Pode definir a palavra-passe após a ligação da conta",
+ socialConnections: "Conexões sociais",
+ },
+ shortcut: {
+ shortcutList: "Atalhos de teclado",
+ click: "Clique em",
+ global: "Global",
+ toggleShortcutList: "Alternar atalhos de teclado",
+ editor: "Editor",
+ toggleLeftPanel: "Alterne o painel esquerdo",
+ toggleBottomPanel: "Toggle fundo pane",
+ toggleRightPanel: "Alternar o painel direito",
+ toggleAllPanels: "Toggle todas as panelas",
+ preview: "Prévia",
+ undo: "Desfazer",
+ redo: "Refazer",
+ showGrid: "Mostrar grade",
+ component: "Componente",
+ multiSelect: "Selecione vários",
+ selectAll: "Selecione tudo",
+ copy: "Entendido",
+ cut: "Corta",
+ paste: "Pasta",
+ move: "Mexam-se",
+ zoom: "Redimensionar",
+ delete: "Excluir",
+ deSelect: "Desmarcar",
+ queryEditor: "Editor de consultas",
+ excuteQuery: "Correr consulta atual",
+ editBox: "Editor de texto",
+ formatting: "Formato",
+ openInLeftPanel: "Abra no painel esquerdo",
+ },
+ help: {
+ videoText: "Visão geral",
+ onBtnText: "ESTÁ BEM",
+ permissionDenyTitle:
+ "? Incapaz de criar um novo aplicativo ou fonte de dados?",
+ permissionDenyContent:
+ "Você não tem permissão para criar o aplicativo e fonte de dados. Entre em contato com o administrador para se juntar ao grupo desenvolvedor.",
+ appName: "Aplicativo do Tutorial",
+ chat: "Converse conosco",
+ docs: "Ver documentação",
+ editorTutorial: "Tutorial do editor",
+ update: "O que há de novo?",
+ version: "Versão",
+ versionWithColon: "Versão:",
+ submitIssue: "Submeter um problema",
+ },
+ header: {
+ nameCheckMessage: "O nome não pode estar vazio",
+ viewOnly: "Exibir apenas",
+ recoverAppSnapshotTitle: "Restaurar esta versão?",
+ recoverAppSnapshotContent:
+ "Restaurar o aplicativo atual para a versão criada em {time}.",
+ recoverAppSnapshotMessage: "Restaurar esta versão",
+ returnEdit: "Retornar ao editor",
+ deploy: "Publicar",
+ export: "Exportação para JSON",
+ editName: "Editar nome",
+ duplicate: "Duplicar",
+ snapshot: "Histórico",
+ scriptsAndStyles: "Scripts e estilo",
+ appSettings: "Definições do aplicativo",
+ preview: "Prévia",
+ editError:
+ "Modo de visualização de histórico, nenhuma operação é suportada.",
+ clone: "Clone",
+ },
+ userAuth: {
+ registerByEmail: "Registre-se",
+ email: "Email:",
+ inputEmail: "Por favor, digite o seu {label}",
+ inputValidEmail: "Por favor, insira um válido {label}",
+ register: "Registre-se",
+ recoveryPassword: "Recuperar senha",
+ recoveryPasswordSendTitle: "Digite seu email",
+ recoveryPasswordSendBtn: "Recuperar senha",
+ recoveryPasswordChangeTitle: "Digite sua nova senha",
+ recoveryPasswordChangeBtn: "Confirmar nova senha",
+ userLogin: "Entrar",
+ login: "Entrar",
+ bind: "Bind",
+ passwordCheckLength: "Pelo menos {min} caracteres",
+ passwordCheckContainsNumberAndLetter: "Deve conter letras e números",
+ passwordCheckSpace: "Não pode conter caracteres de espaço branco",
+ welcomeTitle: "{productName}",
+ inviteWelcomeTitle: "{username} convidá-lo para entrar não",
+ terms: "Termos",
+ privacy: "Política de Privacidade",
+ registerHint: "Eu li e concordo com os",
+ chooseAccount: "Escolha o seu Conta",
+ signInLabel: "Entrar com {name}",
+ bindAccount: "Ligação de conta",
+ scanQrCode: "Digitalizar o código QR com {name}",
+ invalidThirdPartyParam: "Param inválido de terceiros",
+ account: "Conta",
+ inputAccount: "Por favor, insira sua conta",
+ ldapLogin: "LDAP Sinalização",
+ resetPassword: "Recuperar senha",
+ resetPasswordDesc:
+ "Repor a senha do usuário {name}. Uma nova senha será gerada após a redefinição.",
+ resetSuccess: "Repor o sucesso",
+ resetSuccessDesc:
+ "A redefinição de senha foi bem sucedida. A nova senha é: {password}",
+ copyPassword: "Senha de cópia",
+ },
+ preLoad: {
+ jsLibraryHelpText:
+ "Adicione bibliotecas JavaScript ao seu aplicativo atual através de endereços URL. lodash, moment, uuid, numbro são construídos no sistema para uso imediato. As bibliotecas de JavaScript são carregadas antes que o aplicativo seja inicializado, o que pode ter um impacto no desempenho do aplicativo.",
+ exportedAs: "Exportar como",
+ urlTooltip:
+ "O endereço URL da biblioteca JavaScript, [unpkg.com](https://unpkg.com/) ou [jsdelivr.net](https://www.jsdelivr.com/) é recomendado",
+ recommended: "Recomendado",
+ viewJSLibraryDocument: "Documento",
+ jsLibraryURLError: "URL inválido",
+ jsLibraryExist: "Biblioteca JavaScript já existe",
+ jsLibraryEmptyContent: "Nenhuma biblioteca de JavaScript adicionada",
+ jsLibraryDownloadError: "JavaScript library download de erro",
+ jsLibraryInstallSuccess: "Biblioteca JavaScript instalada com sucesso",
+ jsLibraryInstallFailed: "Instalação de biblioteca JavaScript falhou",
+ jsLibraryInstallFailedCloud:
+ "Talvez a biblioteca não esteja disponível na caixa de areia, [Documentation](https://docs.openblocks.dev/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\nNão",
+ jsLibraryInstallFailedHost: "{message}",
+ add: "Adicionar novo",
+ jsHelpText: "Adicione um método global ou variável ao aplicativo atual.",
+ cssHelpText:
+ "Adicione estilos ao aplicativo atual. A estrutura DOM pode mudar como iteria do sistema. Tente modificar estilos através de propriedades de componentes.",
+ scriptsAndStyles: "Scripts e estilos",
+ jsLibrary: "Biblioteca de JavaScript",
+ },
+ editorTutorials: {
+ component: "Componente",
+ componentContent:
+ "A área do componente direito tem tabelas, botões, caixas de entrada, seletores e outros componentes que podem ser arrastados para a tela para uso.",
+ canvas: "Lona",
+ canvasContent:
+ "O que você vê na tela é o que você recebe, e você pode ajustar o layout e o tamanho do componente arrastando e soltando, e excluir / copiar / colar componentes com atalhos de teclado.",
+ queryData: "Dados de consulta",
+ queryDataContent:
+ 'Crie uma nova consulta aqui e conecte-se ao seu MySQL, MongoDB, Redis, Airtable e outras fontes de dados. Depois de configurar a consulta, clique em "Executar" para obter os dados.',
+ compProperties: "Propriedades de componentes",
+ },
+ homeTutorials: {
+ createAppContent:
+ '. Bem-vindo a {productName}, clique em "App" e comece a criar seu primeiro aplicativo.',
+ createAppTitle: "Criar app",
+ },
+ history: {
+ layout: "ajuste de layout",
+ upgrade: "Atualizar '{0} '",
+ delete: "Eliminar '",
+ add: "Adicionar '",
+ modify: "Modificar '{0}",
+ rename: "Renomear '{0}' para '{1} '",
+ recover: "Recuperar a versão '{2}'",
+ recoverVersion: "Recuperar versão",
+ andSoOn: "e assim por diante",
+ timeFormat: "MM DD em hh: mm A",
+ emptyHistory: "Histórico vazio",
+ currentVersionWithBracket: "(Current)",
+ currentVersion: "Versão actual",
+ justNow: "Agora",
+ history: "Histórico",
+ },
+ home: {
+ allApplications: "Todas as aplicações",
+ allModules: "Todos os módulos",
+ allFolders: "Todas as pastas",
+ modules: "Módulos",
+ module: "Módulo",
+ trash: "Lixeira",
+ queryLibrary: "Biblioteca de consultas",
+ datasource: "Fontes de dados",
+ selectDatasourceType: "Selecione o tipo de fonte de dados",
+ home: "Principal",
+ all: "Todos",
+ app: "Aplicativo",
+ navigation: "Navegação",
+ navLayout: "Navegação de PC",
+ navLayoutDesc:
+ "Menu esquerdo para facilitar a navegação na área de trabalho.",
+ mobileTabLayout: "Navegação móvel",
+ mobileTabLayoutDesc:
+ "Barra de navegação inferior para navegação móvel suave.",
+ folders: "Pastas",
+ folder: "Pasta",
+ rootFolder: "Raiz",
+ import: "Importação",
+ export: "Exportar para JSON",
+ inviteUser: "Convidar os membros",
+ createFolder: "Criar pasta",
+ createFolderSubTitle: "Nome da pasta:",
+ moveToFolder: "Mover para a pasta",
+ moveToTrash: "Mover para a lixeira",
+ moveToFolderSubTitle: 'Mover "{name}" para:',
+ folderName: "Nome da pasta:",
+ resCardSubTitle: "{time} por {creator}",
+ trashEmpty: "O lixo está vazio.",
+ projectEmpty: "Nada por aqui.",
+ projectEmptyCanAdd:
+ 'Você ainda não tem nenhum aplicativo. Clique em "Novo" para começar.',
+ name: "Nome",
+ type: "Tipo",
+ creator: "Criado por",
+ lastModified: "Última modificação",
+ deleteTime: "Excluído em",
+ createTime: "Criado em",
+ datasourceName: "Nome da fonte de dados",
+ databaseName: "Nome do banco de dados",
+ nameCheckMessage: "O nome não pode estar vazio",
+ deleteElementTitle: "Excluir permanentemente",
+ moveToTrashSubTitle: "{type} {name} será movido para a lixeira.",
+ deleteElementSubTitle:
+ "Excluir {type} {name} permanentemente, não pode ser recuperado.",
+ deleteSuccessMsg: "Excluído com sucesso",
+ deleteErrorMsg: "Erro excluído",
+ recoverSuccessMsg: "Recuperado com sucesso",
+ newDatasource: "Nova fonte de dados",
+ creating: "Criando...",
+ chooseDataSourceType: "Escolha o tipo de fonte de dados",
+ folderAlreadyExists: "A pasta já existe",
+ newNavLayout: "não. não",
+ newApp: "Novo Aplicativo",
+ importError: "Erro de importação, {message}",
+ exportError: "Erro de exportação, {message}",
+ importSuccess: "Sucesso de importação",
+ fileUploadError: "Erro de upload de arquivos",
+ fileFormatError: "Erro de formato de arquivo",
+ groupWithSquareBrackets: "[Grupo]",
+ allPermissions: "Proprietário",
+ shareLink: "Compartilhar link:",
+ copyLink: "Copiar",
+ appPublicMessage: "Faça o aplicativo público. Qualquer um pode ver.",
+ modulePublicMessage: "Faça o módulo público. Qualquer um pode ver.",
+ memberPermissionList: "Permissões de membros:",
+ orgName: "Administradores",
+ addMember: "Adicionar membros",
+ addPermissionPlaceholder: "Por favor, insira um nome para membros de busca",
+ searchMemberOrGroup: "Procure por membros ou grupos:",
+ addPermissionErrorMessage: "Falhado em adicionar permissão, {message}",
+ copyModalTitle: 'Clone "{name}',
+ copyNameLabel: "nome",
+ copyModalfolderLabel: "Adicionar à pasta",
+ copyNamePlaceholder: "Por favor insira um nome {type}",
+ chooseNavType: "Por favor, escolha o tipo de navegação",
+ createNavigation: "Criar navegação",
+ },
+ carousel: {
+ dotPosition: "Posição dos pontos",
+ autoPlay: "Reprodução automática",
+ showDots: "Mostrar pontos",
+ },
+ npm: {
+ invalidNpmPackageName: "Nome do pacote npm inválido ou url.",
+ pluginExisted: "Este plugin npm já existia",
+ compNotFound: "Componente {compName} não encontrado.",
+ addPluginModalTitle: "Adicionar plugin npm",
+ pluginNameLabel: "URL ou nome do pacote npm",
+ noCompText: "Sem componentes.",
+ compsLoading: "A carregar...",
+ removePluginBtnText: "Remover",
+ addPluginBtnText: "Adicionar plugin npm",
+ },
+ toggleButton: {
+ valueDesc: "O valor padrão do botão alternar, por exemplo: false",
+ trueDefaultText: "Esconde-te",
+ falseDefaultText: "Mostrar",
+ trueLabel: "Texto para o verdadeiro",
+ falseLabel: "Texto para falso",
+ trueIconLabel: "Ícone de verdade",
+ falseIconLabel: "Ícone por falso",
+ iconPosition: "Posição do ícone",
+ showText: "Mostrar texto",
+ alignment: "Alinhamento",
+ showBorder: "Mostrar fronteira",
+ },
+ docUrls: {
+ docHome: "https://docs.openblocks.dev/",
+ components: "https://cloud.openblocks.dev/components?n={compType}",
+ module: "",
+ optionList: "",
+ terms: "",
+ privacy: "",
+ aboutUs: "",
+ changeLog: "",
+ introVideo: "",
+ devNpmPlugin:
+ "https://docs.openblocks.dev/build-plugins/develop-your-first-plugin",
+ devNpmPluginText: "How to develop npm plugin",
+ useHost:
+ "https://docs.openblocks.dev/self-hosting/access-local-database-or-api",
+ eventHandlerSlowdown:
+ "https://docs.openblocks.dev/build-apps/event-handlers#debounce-and-throttle",
+ thirdLib:
+ "https://docs.openblocks.dev/build-apps/write-javascript/use-third-party-libraries",
+ thirdLibUrlText: "Use third-party libraries",
+ },
+ datasourceTutorial: {
+ mysql: "",
+ mongodb: "",
+ postgres: "",
+ redis: "",
+ es: "",
+ smtp: "",
+ clickHouse: "",
+ },
+ queryTutorial: {
+ js: "",
+ transformer:
+ "https://docs.openblocks.dev/build-apps/write-javascript/transformers",
+ tempState:
+ "https://docs.openblocks.dev/build-apps/write-javascript/temporary-state",
+ },
+ customComponent: {
+ entryUrl: "https://custom-component.openblocks.dev/index.html",
+ },
+ template: { cloneUrl: "/apps/template-import/" },
+ openBlocksUrl: {
+ createIssue: "https://github.com/openblocks-dev/openblocks/issues",
+ discord: "https://discord.com/invite/z5W2YHXdtt",
+ },
+ componentDoc: {
+ markdownDemoText:
+ "**Openblocks** é uma plataforma de código baixo _developer-friendly_ open-source para construir aplicativos internos em poucos minutos.",
+ demoText:
+ "Openblocks é uma plataforma de código baixo de código de código aberto amigável para desenvolvedor para construir aplicativos internos em poucos minutos.",
+ submit: "Submeter-me",
+ style: "estilo",
+ danger: "Perigo",
+ warning: "aviso de aviso",
+ success: "Sucesso",
+ menu: "menu",
+ link: "Link",
+ customAppearance: "Aparência personalizada",
+ search: "pesquisar",
+ pleaseInputNumber: "Digite um número",
+ mostValue: "Valor",
+ maxRating: "Classificação máxima",
+ notSelect: "Não selecionado",
+ halfSelect: "Meia seleção",
+ pleaseSelect: "Por favor, selecione",
+ title: "Título",
+ content: "Conteúdo",
+ componentNotFound: "Componente não existe",
+ example: "Exemplos",
+ defaultMethodDesc: "Definir o valor da propriedade {name}",
+ propertyUsage:
+ "Você pode ler informações relacionadas a componentes acessando propriedades de componentes por nome de componente em qualquer lugar que você possa escrever JavaScript.",
+ property: "Propriedades",
+ propertyName: "Nome do imóvel",
+ propertyType: "Tipo",
+ propertyDesc: "Descrição",
+ event: "Eventos",
+ eventName: "nome do evento",
+ eventDesc: "Descrição",
+ mehtod: "Métodos",
+ methodUsage:
+ "Você pode interagir com componentes através de seus métodos, e você pode chamá-los por seu nome em qualquer lugar que você possa escrever JavaScript. Ou você pode chamá-los através da ação 'Control component' de um evento.",
+ methodName: "Nome do método",
+ methodDesc: "Descrição",
+ showBorder: "Mostrar fronteira",
+ haveTry: "Experimenta tu",
+ settings: "Configuração",
+ settingValues: "Valor de definição",
+ defaultValue: "Valor padrão",
+ time: "tempo",
+ date: "data",
+ noValue: "Nenhuma",
+ xAxisType: "Tipo de eixo X",
+ hAlignType: "Alinhamento horizontal",
+ leftLeftAlign: "Alinhamento esquerdo",
+ leftRightAlign: "Alinhamento à esquerda",
+ topLeftAlign: "alinhamento superior esquerdo",
+ topRightAlign: "alinhamento superior direito",
+ validation: "Validação",
+ required: "Requisitos",
+ defaultStartDateValue: "Data de início padrão",
+ defaultEndDateValue: "Data de fim padrão",
+ basicUsage: "Uso básico",
+ basicDemoDescription:
+ "Os seguintes exemplos mostram o uso básico do componente.",
+ noDefaultValue: "Sem valor padrão",
+ forbid: "Proibido",
+ placeholder: "Accionista local",
+ pleaseInputPassword: "Digite uma senha",
+ password: "senha",
+ textAlign: "Alinhamento de texto",
+ length: "Comprimento",
+ top: "Topo",
+ pleaseInputName: "Digite seu nome",
+ userName: "Nome",
+ fixed: "Fixa",
+ responsive: "Responsivo",
+ workCount: "contagem de palavras",
+ cascaderOptions:
+ 'Não.\n(\n"valor": "z Zhejiang",\n"label": "Zhejiang",\n"crianças":\n(\n"valor": "hangzhou",\n" rótulo": "Hangzhou",\n"crianças":\n(\n"valor": "xihu",\n"label": "West Lake"\n?\n]\n?\n]\n}\n(\n"valor": "jiangsu",\n"label": "Jiangsu",\n"crianças":\n(\n"valor": "nanjing",\n"label" : "Nanjing",\n"crianças":\n(\n"valor": "zhonghuamen",\n"label": "Zhonghuamen"\n?\n]\n?\n]\n?\n]',
+ pleaseSelectCity: "Por favor, selecione uma cidade",
+ advanced: "Avançado",
+ showClearIcon: "Mostrar ícone claro",
+ appleOptionLabel: " Maçã",
+ waterMelonOptionLabel: "lon Melancia",
+ berryOptionLabel: "🍓 Morango",
+ lemonOptionLabel: " Lemon Limão",
+ coconutOptionLabel: "🥥 Coconut",
+ likedFruits: "Favoritos",
+ option: "opção",
+ singleFileUpload: "Upload de arquivo único",
+ multiFileUpload: "Múltiplo upload de arquivos",
+ folderUpload: "Upload de pasta",
+ multiFile: "vários arquivos",
+ folder: "pasta",
+ open: "aberto",
+ favoriteFruits: "Frutos Favoritos",
+ pleaseSelectOneFruit: "Selecione uma fruta",
+ notComplete: "não completo",
+ complete: "Completamente",
+ echart: "DIRECÇÃO",
+ lineChart: "gráfico de linha",
+ basicLineChart: "Gráfico de linha básica",
+ lineChartType: "Tipo de gráfico de linha",
+ stackLineChart: "Linha empilhada",
+ areaLineChart: "Linha de área",
+ scatterChart: "Gráfico de dispersão",
+ scatterShape: "Forma de dispersão",
+ scatterShapeCircle: "Círculo",
+ scatterShapeRect: "Retângulo",
+ scatterShapeTri: "Triângulo",
+ scatterShapeDiamond: "diamante",
+ scatterShapePin: "Pushpin",
+ scatterShapeArrow: "Seta",
+ pieChart: "Gráfico de peças",
+ basicPieChart: "Gráfico básico da torta",
+ pieChatType: "Tipo de gráfico de peças",
+ pieChartTypeCircle: "Gráfico de Donut",
+ pieChartTypeRose: "Gráfico de Rosa",
+ titleAlign: "Posição do título",
+ color: "Cor",
+ dashed: "Dashed",
+ imADivider: "Eu sou uma linha de divisão",
+ tableSize: "Tamanho da tabela",
+ subMenuItem: "SubMenu {num}",
+ menuItem: "Menu {num}",
+ labelText: "Etiqueta",
+ labelPosition: "Etiquetas - Posição",
+ labelAlign: "Etiqueta - Alinhamento",
+ optionsOptionType: "Método de configuração",
+ styleBackgroundColor: "Cor de fundo",
+ styleBorderColor: "Cor da borda",
+ styleColor: "Cor da fonte",
+ selectionMode: "Modo de seleção de linha",
+ paginationSetting: "Configuração da paginação",
+ paginationShowSizeChanger:
+ "Suporte aos usuários para modificar o número de entradas por página",
+ paginationShowSizeChangerButton: "Mostrar botão de mudança de tamanho",
+ paginationShowQuickJumper: "Mostrar salto rápido",
+ paginationHideOnSinglePage: "Esconder quando há apenas uma página",
+ paginationPageSizeOptions: "Tamanho da página",
+ chartConfigCompType: "Tipo de gráfico",
+ xConfigType: "Tipo de eixo X",
+ loading: "A carregar",
+ disabled: "Deficientes",
+ minLength: "Comprimento mínimo",
+ maxLength: "Comprimento máximo",
+ showCount: "Mostrar contagem de palavras",
+ autoHeight: "Altura",
+ thousandsSeparator: "separador de milhares",
+ precision: "Lugares decimais",
+ value: "Valor padrão",
+ formatter: "Formato",
+ min: "Valor mínimo",
+ max: "Valor máximo",
+ step: "Tamanho do passo",
+ start: "Tempo de início",
+ end: "Tempo final",
+ allowHalf: "Permitir meia seleção",
+ filetype: "Tipo de arquivo",
+ showUploadList: "Mostrar lista de upload",
+ uploadType: "Tipo de Upload",
+ allowClear: "Mostrar ícone claro",
+ minSize: "Tamanho mínimo do arquivo",
+ maxSize: "Tamanho máximo do arquivo",
+ maxFiles: "Número máximo de arquivos carregados",
+ format: "Formato",
+ minDate: "Data mínima",
+ maxDate: "Data máxima",
+ minTime: "Tempo mínimo",
+ maxTime: "Tempo máximo",
+ text: "Texto",
+ type: "Tipo",
+ hideHeader: "Ocultar cabeçalho",
+ hideBordered: "Esconder fronteira",
+ src: "URL de imagem",
+ showInfo: "Valor de exibição",
+ mode: "Modo",
+ onlyMenu: "Apenas menu",
+ horizontalAlignment: "Alinhamento horizontal",
+ row: "Esquerda",
+ column: "Topo",
+ leftAlign: "Alinhamento esquerdo",
+ rightAlign: "Alinhamento direito",
+ percent: "percentagem",
+ fixedHeight: "Altura fixa",
+ auto: "Adaptação",
+ directory: "Pasta",
+ multiple: "Vários arquivos",
+ singleFile: "Arquivo único",
+ manual: "Manual",
+ default: "Padrão",
+ small: "Pequeno",
+ middle: "Média",
+ large: "Grande",
+ single: "Único",
+ multi: "Múltiplos",
+ close: "Fechar",
+ ui: "Modo UI",
+ line: "Gráfico de linha",
+ scatter: "Enredo de dispersão",
+ pie: "Gráfico de peças",
+ basicLine: "Gráfico de linha básica",
+ stackedLine: "Gráfico de linha empilhada",
+ areaLine: "área área mapa",
+ basicPie: "Gráfico básico da torta",
+ doughnutPie: "Gráfico de Donut",
+ rosePie: "Gráfico de Rosa",
+ category: "eixo de categoria",
+ circle: "Círculo",
+ rect: "Retângulo",
+ triangle: "Triângulo",
+ diamond: "Diamantes",
+ pin: "Pushpin",
+ arrow: "Seta",
+ left: "Esquerda",
+ right: "Certo",
+ center: "Centro",
+ justify: "Justificar ambas as extremidades",
+ },
+ playground: {
+ data: "Dados",
+ preview: "Ver",
+ property: "Propriedades",
+ console: "Console",
+ executeMethods: "Executar métodos",
+ noMethods: "Sem métodos.",
+ methodParams: "Parâmetros do método",
+ methodParamsHelp:
+ "Os parâmetros do método de entrada usam JSON, por exemplo, você pode definir os parâmetros do setValue com: [1] ou 1",
+ },
+ calendar: {
+ headerBtnBackground: "Fundo do botão",
+ btnText: "Texto de botão",
+ title: "Título",
+ selectBackground: "Fundo selecionado",
+ },
+ componentDocExtra: { table },
+ idSource: {
+ title: "Provedores de ID",
+ form: "Email",
+ pay: "Premium",
+ enable: "Habilitar",
+ unEnable: "Não habilitado",
+ loginType: "Tipo de login",
+ status: "Estado",
+ desc: "Descrição",
+ manual: "Livro de endereços:",
+ syncManual: "Livro de endereços",
+ syncManualSuccess: "Sincronização",
+ enableRegister: "Permitir registo",
+ saveBtn: "Salvar e ativar",
+ save: "Salvar",
+ none: "Nenhuma",
+ formPlaceholder: "Por favor, entre. Não",
+ formSelectPlaceholder: "Por favor, selecione o {label}",
+ saveSuccess: "Salvou com sucesso",
+ dangerLabel: "Zona de perigo",
+ dangerTip:
+ "Desativar este provedor de ID pode resultar em alguns usuários sendo incapazes de fazer login. Prossiga com cautela.",
+ disable: "Deficiência",
+ disableSuccess: "Desativado com sucesso",
+ encryptedServer: "------ Criptografado no lado do servidor ---------",
+ disableTip: "Dicas",
+ disableContent:
+ "Desativar este provedor de ID pode resultar em alguns usuários sendo incapazes de fazer login. Tem a certeza de prosseguir?",
+ manualTip: "",
+ lockTip:
+ "O conteúdo está bloqueado. Para fazer alterações, clique no botão{icon}para desbloquear.",
+ lockModalContent:
+ "Alterar o campo de atributo 'ID' pode ter impactos significativos na identificação do usuário. Por favor, confirme que você entende as implicações desta mudança antes de prosseguir.",
+ payUserTag: "Premium",
+ },
+ slotControl: { configSlotView: "Configurar a visualização de fenda" },
+};
diff --git a/client/packages/openblocks/src/i18n/locales/ptObj.tsx b/client/packages/openblocks/src/i18n/locales/ptObj.tsx
new file mode 100644
index 00000000..bc6e8ac5
--- /dev/null
+++ b/client/packages/openblocks/src/i18n/locales/ptObj.tsx
@@ -0,0 +1,4 @@
+import { enObj } from "./enObj";
+import { I18nObjects } from "./types";
+
+export const ptObj: I18nObjects = enObj;
diff --git a/client/packages/openblocks/src/i18n/momentLocale.ts b/client/packages/openblocks/src/i18n/momentLocale.ts
index e1cc4538..787b6ec6 100644
--- a/client/packages/openblocks/src/i18n/momentLocale.ts
+++ b/client/packages/openblocks/src/i18n/momentLocale.ts
@@ -2,6 +2,8 @@ import { language } from "i18n";
export function getMomentLocale() {
switch (language) {
+ case "pt":
+ return "pt-br";
case "zh":
return "zh-cn";
default:
diff --git a/client/packages/openblocks/src/pages/editor/AppEditor.tsx b/client/packages/openblocks/src/pages/editor/AppEditor.tsx
index 05d5c4a0..04922fc1 100644
--- a/client/packages/openblocks/src/pages/editor/AppEditor.tsx
+++ b/client/packages/openblocks/src/pages/editor/AppEditor.tsx
@@ -33,7 +33,7 @@ export default function AppEditor() {
const isUserViewMode = useUserViewMode();
const params = useParams();
const applicationId = params.applicationId;
- const viewMode = params.viewMode === "view" ? "published" : "editing";
+ const viewMode = (params.viewMode === "view" || !params.viewMode) ? "published" : "editing";
const currentUser = useSelector(getUser);
const dispatch = useDispatch();
const fetchOrgGroupsFinished = useSelector(getFetchOrgGroupsFinished);
@@ -42,7 +42,7 @@ export default function AppEditor() {
const firstRendered = useRef(false);
const [isDataSourcePluginRegistered, setIsDataSourcePluginRegistered] = useState(false);
- setGlobalSettings({ applicationId, isViewMode: params.viewMode === "view" });
+ setGlobalSettings({ applicationId, isViewMode: (params.viewMode === "view") || !params.viewMode });
if (!firstRendered.current) {
perfClear();
diff --git a/client/packages/openblocks/src/util/commonUtils.ts b/client/packages/openblocks/src/util/commonUtils.ts
index df0302f1..8d093b24 100644
--- a/client/packages/openblocks/src/util/commonUtils.ts
+++ b/client/packages/openblocks/src/util/commonUtils.ts
@@ -6,6 +6,7 @@ import _ from "lodash";
// https://github.com/vitejs/vite/discussions/7492#discussioncomment-2449310
import "moment/dist/locale/en-gb";
import "moment/dist/locale/zh-cn";
+import "moment/dist/locale/pt-br";
export function initApp() {
moment.locale(getMomentLocale());
diff --git a/client/packages/openblocks/src/util/hooks.ts b/client/packages/openblocks/src/util/hooks.ts
index f427d1fc..b0887837 100644
--- a/client/packages/openblocks/src/util/hooks.ts
+++ b/client/packages/openblocks/src/util/hooks.ts
@@ -16,6 +16,7 @@ import { checkIsMobile } from "util/commonUtils";
import { EditorContext } from "comps/editorState";
import { getDataSourceStructures } from "redux/selectors/datasourceSelectors";
import { DatasourceStructure } from "api/datasourceApi";
+import { selectSystemConfig } from "redux/selectors/configSelectors";
export const ForceViewModeContext = React.createContext(false);
@@ -24,7 +25,7 @@ export function isUserViewMode(params?: AppPathParams) {
return false;
}
const { viewMode } = params;
- return viewMode === "preview" || viewMode === "view";
+ return viewMode === "preview" || viewMode === "view" || !viewMode;
}
/**
@@ -46,12 +47,18 @@ export function useMaxWidth() {
}
export function useTemplateViewMode() {
+ const systemConfig = useSelector(selectSystemConfig);
const search = useLocation().search;
+
+ if(systemConfig?.branding?.enableTemplateViewMode) {
+ return true
+ }
if (!useUserViewMode) {
return false;
}
const searchParams = new URLSearchParams(search);
return !!searchParams.get("template");
+
}
export function useApplicationId() {
diff --git a/proxy/package-lock.json b/proxy/package-lock.json
deleted file mode 100644
index 85d6857c..00000000
--- a/proxy/package-lock.json
+++ /dev/null
@@ -1,2045 +0,0 @@
-{
- "name": "proxy",
- "version": "0.0.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "proxy",
- "version": "0.0.0",
- "dependencies": {
- "@tanstack/query-core": "^4.35.0",
- "@tanstack/query-persist-client-core": "^4.35.0",
- "@tanstack/query-sync-storage-persister": "^4.35.0",
- "axios-mock-adapter": "^1.22.0",
- "lz-string": "^1.5.0",
- "path-to-regexp": "^6.2.1",
- "pocketbase": "^0.18.0"
- },
- "devDependencies": {
- "@types/node": "^20.6.5",
- "@typescript-eslint/eslint-plugin": "^6.5.0",
- "@typescript-eslint/parser": "^6.5.0",
- "axios": "^0.21.1",
- "eslint": "^8.48.0",
- "eslint-config-prettier": "9.0.0",
- "prettier": "3.0.3",
- "typescript": "^5.0.2",
- "vite": "^4.4.5"
- }
- },
- "node_modules/@aashutoshrathi/word-wrap": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
- "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
- "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@eslint-community/eslint-utils": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
- "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
- }
- },
- "node_modules/@eslint-community/regexpp": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.1.tgz",
- "integrity": "sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz",
- "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.6.0",
- "globals": "^13.19.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@eslint/js": {
- "version": "8.50.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz",
- "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.11.11",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
- "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@humanwhocodes/object-schema": "^1.2.1",
- "debug": "^4.1.1",
- "minimatch": "^3.0.5"
- },
- "engines": {
- "node": ">=10.10.0"
- }
- },
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=12.22"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@tanstack/query-core": {
- "version": "4.35.3",
- "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.35.3.tgz",
- "integrity": "sha512-PS+WEjd9wzKTyNjjQymvcOe1yg8f3wYc6mD+vb6CKyZAKvu4sIJwryfqfBULITKCla7P9C4l5e9RXePHvZOZeQ==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/tannerlinsley"
- }
- },
- "node_modules/@tanstack/query-persist-client-core": {
- "version": "4.35.3",
- "resolved": "https://registry.npmjs.org/@tanstack/query-persist-client-core/-/query-persist-client-core-4.35.3.tgz",
- "integrity": "sha512-UlUMsvmy12qgPzphIq8iyFtwxuv/vaEyFQEFDVVCvyrqj2G020qMZiCA1vj3+gasmCXh59EraiC2eY4Iqo0/PA==",
- "license": "MIT",
- "dependencies": {
- "@tanstack/query-core": "4.35.3"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/tannerlinsley"
- }
- },
- "node_modules/@tanstack/query-sync-storage-persister": {
- "version": "4.35.3",
- "resolved": "https://registry.npmjs.org/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.35.3.tgz",
- "integrity": "sha512-q9axt4iJkRnhR9R9qou+Q2+T2S21jwgf/7carYs9DQGLoE9r9YnwxgbmDE72yQd1glcsGF26UqqO6WO8ziNCrQ==",
- "license": "MIT",
- "dependencies": {
- "@tanstack/query-persist-client-core": "4.35.3"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/tannerlinsley"
- }
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.13",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz",
- "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/node": {
- "version": "20.6.5",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.5.tgz",
- "integrity": "sha512-2qGq5LAOTh9izcc0+F+dToFigBWiK1phKPt7rNhOqJSr35y8rlIBjDwGtFSgAI6MGIhjwOVNSQZVdJsZJ2uR1w==",
- "dev": true
- },
- "node_modules/@types/semver": {
- "version": "7.5.2",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz",
- "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@typescript-eslint/eslint-plugin": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.2.tgz",
- "integrity": "sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "6.7.2",
- "@typescript-eslint/type-utils": "6.7.2",
- "@typescript-eslint/utils": "6.7.2",
- "@typescript-eslint/visitor-keys": "6.7.2",
- "debug": "^4.3.4",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.4",
- "natural-compare": "^1.4.0",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.2.tgz",
- "integrity": "sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/scope-manager": "6.7.2",
- "@typescript-eslint/types": "6.7.2",
- "@typescript-eslint/typescript-estree": "6.7.2",
- "@typescript-eslint/visitor-keys": "6.7.2",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.2.tgz",
- "integrity": "sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "6.7.2",
- "@typescript-eslint/visitor-keys": "6.7.2"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.2.tgz",
- "integrity": "sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/typescript-estree": "6.7.2",
- "@typescript-eslint/utils": "6.7.2",
- "debug": "^4.3.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/types": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.2.tgz",
- "integrity": "sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.2.tgz",
- "integrity": "sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/types": "6.7.2",
- "@typescript-eslint/visitor-keys": "6.7.2",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/utils": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.2.tgz",
- "integrity": "sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.12",
- "@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "6.7.2",
- "@typescript-eslint/types": "6.7.2",
- "@typescript-eslint/typescript-estree": "6.7.2",
- "semver": "^7.5.4"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz",
- "integrity": "sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "6.7.2",
- "eslint-visitor-keys": "^3.4.1"
- },
- "engines": {
- "node": "^16.0.0 || >=18.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/acorn": {
- "version": "8.10.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
- "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
- "license": "Python-2.0"
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/axios": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
- "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
- "license": "MIT",
- "dependencies": {
- "follow-redirects": "^1.14.0"
- }
- },
- "node_modules/axios-mock-adapter": {
- "version": "1.22.0",
- "resolved": "https://registry.npmjs.org/axios-mock-adapter/-/axios-mock-adapter-1.22.0.tgz",
- "integrity": "sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw==",
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.3",
- "is-buffer": "^2.0.5"
- },
- "peerDependencies": {
- "axios": ">= 0.17.0"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/esbuild": {
- "version": "0.18.20",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
- "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/android-arm": "0.18.20",
- "@esbuild/android-arm64": "0.18.20",
- "@esbuild/android-x64": "0.18.20",
- "@esbuild/darwin-arm64": "0.18.20",
- "@esbuild/darwin-x64": "0.18.20",
- "@esbuild/freebsd-arm64": "0.18.20",
- "@esbuild/freebsd-x64": "0.18.20",
- "@esbuild/linux-arm": "0.18.20",
- "@esbuild/linux-arm64": "0.18.20",
- "@esbuild/linux-ia32": "0.18.20",
- "@esbuild/linux-loong64": "0.18.20",
- "@esbuild/linux-mips64el": "0.18.20",
- "@esbuild/linux-ppc64": "0.18.20",
- "@esbuild/linux-riscv64": "0.18.20",
- "@esbuild/linux-s390x": "0.18.20",
- "@esbuild/linux-x64": "0.18.20",
- "@esbuild/netbsd-x64": "0.18.20",
- "@esbuild/openbsd-x64": "0.18.20",
- "@esbuild/sunos-x64": "0.18.20",
- "@esbuild/win32-arm64": "0.18.20",
- "@esbuild/win32-ia32": "0.18.20",
- "@esbuild/win32-x64": "0.18.20"
- }
- },
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint": {
- "version": "8.50.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz",
- "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.6.1",
- "@eslint/eslintrc": "^2.1.2",
- "@eslint/js": "8.50.0",
- "@humanwhocodes/config-array": "^0.11.11",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@nodelib/fs.walk": "^1.2.8",
- "ajv": "^6.12.4",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.2",
- "eslint-visitor-keys": "^3.4.3",
- "espree": "^9.6.1",
- "esquery": "^1.4.2",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "globals": "^13.19.0",
- "graphemer": "^1.4.0",
- "ignore": "^5.2.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
- },
- "bin": {
- "eslint": "bin/eslint.js"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-config-prettier": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz",
- "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "eslint-config-prettier": "bin/cli.js"
- },
- "peerDependencies": {
- "eslint": ">=7.0.0"
- }
- },
- "node_modules/eslint-scope": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
- "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/espree": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
- "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "acorn": "^8.9.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^3.4.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/esquery": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
- "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "estraverse": "^5.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "license": "MIT"
- },
- "node_modules/fast-glob": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
- "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flat-cache": "^3.0.4"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/flat-cache": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz",
- "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flatted": "^3.2.7",
- "keyv": "^4.5.3",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/flatted": {
- "version": "3.2.9",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
- "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/follow-redirects": {
- "version": "1.15.3",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
- "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/globals": {
- "version": "13.22.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz",
- "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/graphemer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
- "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/is-buffer": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
- "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/keyv": {
- "version": "4.5.3",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz",
- "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "json-buffer": "3.0.1"
- }
- },
- "node_modules/levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/lz-string": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz",
- "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==",
- "license": "MIT",
- "bin": {
- "lz-string": "bin/bin.js"
- }
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/nanoid": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
- "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/optionator": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
- "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@aashutoshrathi/word-wrap": "^1.2.3",
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-to-regexp": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
- "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==",
- "license": "MIT"
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pocketbase": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/pocketbase/-/pocketbase-0.18.0.tgz",
- "integrity": "sha512-09ri0Rnm4JjboU4OJeibd6pgvKi4DPg/r/Uu/QI3mKSZsrROoMT75zyiOldbBBMWZUDG1TRlv6BjQj30SFsrVw==",
- "license": "MIT"
- },
- "node_modules/postcss": {
- "version": "8.4.30",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz",
- "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "nanoid": "^3.3.6",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/prettier": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
- "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "prettier": "bin/prettier.cjs"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "node_modules/punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/rollup": {
- "version": "3.29.2",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.2.tgz",
- "integrity": "sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=14.18.0",
- "npm": ">=8.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/ts-api-utils": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz",
- "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=16.13.0"
- },
- "peerDependencies": {
- "typescript": ">=4.2.0"
- }
- },
- "node_modules/type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/typescript": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
- "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
- "dev": true,
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/vite": {
- "version": "4.4.9",
- "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz",
- "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "esbuild": "^0.18.10",
- "postcss": "^8.4.27",
- "rollup": "^3.27.1"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/vitejs/vite?sponsor=1"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- },
- "peerDependencies": {
- "@types/node": ">= 14",
- "less": "*",
- "lightningcss": "^1.21.0",
- "sass": "*",
- "stylus": "*",
- "sugarss": "*",
- "terser": "^5.4.0"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "lightningcss": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- }
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- }
- }
-}
diff --git a/proxy/package.json b/proxy/package.json
index 7010dfa9..1bf242dd 100644
--- a/proxy/package.json
+++ b/proxy/package.json
@@ -28,6 +28,8 @@
"@tanstack/query-persist-client-core": "^4.35.0",
"@tanstack/query-sync-storage-persister": "^4.35.0",
"axios-mock-adapter": "^1.22.0",
+ "i18next": "^23.5.1",
+ "i18next-browser-languagedetector": "^7.1.0",
"lz-string": "^1.5.0",
"path-to-regexp": "^6.2.1",
"pocketbase": "^0.18.0"
diff --git a/proxy/src/api/pocketbase/types.ts b/proxy/src/api/pocketbase/types.ts
index 4ef59444..b5630c20 100644
--- a/proxy/src/api/pocketbase/types.ts
+++ b/proxy/src/api/pocketbase/types.ts
@@ -66,6 +66,7 @@ export interface PBSettings extends BaseModel {
logo: string;
icon: string;
header_color: string;
+ template_view?: boolean;
home_page: string | null;
themes: string;
theme: string; // id
diff --git a/proxy/src/i18n/index.ts b/proxy/src/i18n/index.ts
new file mode 100644
index 00000000..05283a87
--- /dev/null
+++ b/proxy/src/i18n/index.ts
@@ -0,0 +1,13 @@
+import i18next from "i18next";
+import resources from "./locales";
+import LanguageDetector from "i18next-browser-languagedetector";
+
+export async function initI18n() {
+ await i18next.use(LanguageDetector).init({
+ resources,
+ debug: import.meta.env.DEV,
+ fallbackLng: "en",
+ });
+}
+
+export const { t } = i18next;
diff --git a/proxy/src/i18n/locales/en.ts b/proxy/src/i18n/locales/en.ts
new file mode 100644
index 00000000..37d39f50
--- /dev/null
+++ b/proxy/src/i18n/locales/en.ts
@@ -0,0 +1,5 @@
+export default {
+ translation: {
+ init: "[I18N]: Init successfully!",
+ },
+};
diff --git a/proxy/src/i18n/locales/index.ts b/proxy/src/i18n/locales/index.ts
new file mode 100644
index 00000000..06e08427
--- /dev/null
+++ b/proxy/src/i18n/locales/index.ts
@@ -0,0 +1,8 @@
+import pt from "./pt";
+import en from "./en";
+
+export default {
+ en,
+ "pt-BR": pt,
+ pt,
+};
diff --git a/proxy/src/i18n/locales/pt.ts b/proxy/src/i18n/locales/pt.ts
new file mode 100644
index 00000000..da4146c6
--- /dev/null
+++ b/proxy/src/i18n/locales/pt.ts
@@ -0,0 +1,5 @@
+export default {
+ translation: {
+ init: "[I18N]: Iniciado com sucesso!",
+ },
+};
diff --git a/proxy/src/main.ts b/proxy/src/main.ts
index d35484f8..090410f7 100644
--- a/proxy/src/main.ts
+++ b/proxy/src/main.ts
@@ -2,9 +2,16 @@ import { AxiosInstance } from "axios";
import MockAdapter from "axios-mock-adapter";
import { sdk } from "@/api";
import mocks from "@/mocks";
+import { initI18n, t } from "@/i18n";
sdk.setup();
+initI18n().then(() => {
+ if (import.meta.env.DEV) {
+ console.warn(t("init"));
+ }
+});
+
let mockIns: MockAdapter;
window.setupProxy = (axiosIns: AxiosInstance, messageIns: unknown) => {
diff --git a/proxy/src/mocks/auth/login.ts b/proxy/src/mocks/auth/login.ts
index 3d92c1f4..1fec5b92 100644
--- a/proxy/src/mocks/auth/login.ts
+++ b/proxy/src/mocks/auth/login.ts
@@ -43,8 +43,10 @@ export default [
? "Password reset successfully!"
: "Email sent! Please visit your Mailbox and reset your password.",
);
+ setTimeout(() => res(createDefaultResponse()), 2000);
+ } else {
+ res(createDefaultResponse());
}
- setTimeout(() => res(createDefaultResponse()), 2000);
});
}
return createDefaultErrorResponse([authResponse]);
diff --git a/proxy/src/mocks/configs.ts b/proxy/src/mocks/configs.ts
index af0bb875..5cb4c7e8 100644
--- a/proxy/src/mocks/configs.ts
+++ b/proxy/src/mocks/configs.ts
@@ -10,7 +10,8 @@ export default [
mocker.get("/api/v1/configs", async () => {
const settingsResponse = await settings.get();
if (settingsResponse.data) {
- const { org_name, header_color, logo, icon } = settingsResponse.data;
+ const { org_name, header_color, logo, icon, template_view } =
+ settingsResponse.data;
return createDefaultResponse({
authConfigs: await getAuthConfigs(),
workspaceMode: "ENTERPRISE",
@@ -25,6 +26,7 @@ export default [
favicon: icon,
brandName: org_name,
headerColor: header_color,
+ enableTemplateViewMode: template_view,
},
});
}
diff --git a/proxy/src/types.ts b/proxy/src/types.ts
index 0d8ee4e3..008ec0b9 100644
--- a/proxy/src/types.ts
+++ b/proxy/src/types.ts
@@ -47,6 +47,7 @@ export interface Settings extends BaseModel {
logo?: string;
icon?: string;
header_color?: string;
+ template_view?: boolean;
home_page: Application | string | null;
themes: string;
theme: string; // id
diff --git a/proxy/yarn.lock b/proxy/yarn.lock
index a34a9ce3..ef40a722 100644
--- a/proxy/yarn.lock
+++ b/proxy/yarn.lock
@@ -7,6 +7,13 @@
resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz"
integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
+"@babel/runtime@^7.19.4", "@babel/runtime@^7.22.5":
+ version "7.23.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885"
+ integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==
+ dependencies:
+ regenerator-runtime "^0.14.0"
+
"@esbuild/android-arm64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622"
@@ -716,6 +723,20 @@ has-flag@^4.0.0:
resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+i18next-browser-languagedetector@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.1.0.tgz#01876fac51f86b78975e79b48ccb62e2313a2d7d"
+ integrity sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==
+ dependencies:
+ "@babel/runtime" "^7.19.4"
+
+i18next@^23.5.1:
+ version "23.5.1"
+ resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.5.1.tgz#7f7c35ffaa907618d9489f106d5006b09fbca3d3"
+ integrity sha512-JelYzcaCoFDaa+Ysbfz2JsGAKkrHiMG6S61+HLBUEIPaF40WMwW9hCPymlQGrP+wWawKxKPuSuD71WZscCsWHg==
+ dependencies:
+ "@babel/runtime" "^7.22.5"
+
ignore@^5.2.0, ignore@^5.2.4:
version "5.2.4"
resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz"
@@ -984,6 +1005,11 @@ queue-microtask@^1.2.2:
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+regenerator-runtime@^0.14.0:
+ version "0.14.0"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
+ integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
+
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
diff --git a/server/pb_hooks/pbl_utils.js b/server/pb_hooks/pbl_utils.js
index 4bb7dedd..5818d642 100644
--- a/server/pb_hooks/pbl_utils.js
+++ b/server/pb_hooks/pbl_utils.js
@@ -314,6 +314,16 @@ module.exports = {
pattern: "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
},
},
+ {
+ system: false,
+ id: "bjehlimo",
+ name: "template_view",
+ type: "bool",
+ required: false,
+ presentable: false,
+ unique: false,
+ options: {},
+ },
{
system: false,
id: "jzvxz6oh",