@rebasepro/app 0.0.1-canary.4829d6e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +174 -0
- package/dist/auth/api.d.ts +66 -0
- package/dist/auth/index.d.ts +13 -0
- package/dist/auth/types.d.ts +127 -0
- package/dist/auth/useRebaseAuthController.d.ts +13 -0
- package/dist/components/AIIcon.d.ts +17 -0
- package/dist/components/AuthSimulationMenu.d.ts +0 -0
- package/dist/components/ConfirmationDialog.d.ts +9 -0
- package/dist/components/Debug/UIReferenceView.d.ts +13 -0
- package/dist/components/Debug/UIStyleGuide.d.ts +2 -0
- package/dist/components/Debug/collection-views/CardViewDemo.d.ts +2 -0
- package/dist/components/Debug/collection-views/CollectionTableDemo.d.ts +2 -0
- package/dist/components/Debug/collection-views/KanbanBoardDemo.d.ts +2 -0
- package/dist/components/Debug/collection-views/index.d.ts +3 -0
- package/dist/components/Debug/collection-views/sample_data.d.ts +23 -0
- package/dist/components/Debug/crm-dashboard/CalendarWidget.d.ts +22 -0
- package/dist/components/Debug/crm-dashboard/CrmDashboardDemo.d.ts +2 -0
- package/dist/components/Debug/crm-dashboard/DashboardMetrics.d.ts +15 -0
- package/dist/components/Debug/crm-dashboard/PipelineOverview.d.ts +34 -0
- package/dist/components/Debug/crm-dashboard/RecentActivity.d.ts +19 -0
- package/dist/components/Debug/crm-dashboard/TaskFilters.d.ts +30 -0
- package/dist/components/Debug/crm-dashboard/TaskTable.d.ts +50 -0
- package/dist/components/Debug/crm-dashboard/TasksView.d.ts +41 -0
- package/dist/components/ErrorTooltip.d.ts +3 -0
- package/dist/components/ErrorView.d.ts +21 -0
- package/dist/components/LanguageToggle.d.ts +2 -0
- package/dist/components/LoginView/LoginView.d.ts +113 -0
- package/dist/components/LoginView/index.d.ts +2 -0
- package/dist/components/NotFoundPage.d.ts +2 -0
- package/dist/components/RebaseAuth.d.ts +10 -0
- package/dist/components/RebaseLogo.d.ts +7 -0
- package/dist/components/SchemaDriftBanner.d.ts +27 -0
- package/dist/components/UnsavedChangesDialog.d.ts +9 -0
- package/dist/components/UserDisplay.d.ts +7 -0
- package/dist/components/UserSelectPopover.d.ts +63 -0
- package/dist/components/UserSettingsView.d.ts +2 -0
- package/dist/components/common/index.d.ts +6 -0
- package/dist/components/common/table_height.d.ts +5 -0
- package/dist/components/common/types.d.ts +66 -0
- package/dist/components/common/useColumnsIds.d.ts +9 -0
- package/dist/components/common/useDataTableController.d.ts +45 -0
- package/dist/components/common/useDebouncedData.d.ts +9 -0
- package/dist/components/common/useScrollRestoration.d.ts +14 -0
- package/dist/components/index.d.ts +18 -0
- package/dist/contexts/AdminModeController.d.ts +4 -0
- package/dist/contexts/AnalyticsContext.d.ts +3 -0
- package/dist/contexts/AuthControllerContext.d.ts +3 -0
- package/dist/contexts/CollectionScopeContext.d.ts +50 -0
- package/dist/contexts/ComponentOverrideContext.d.ts +42 -0
- package/dist/contexts/CustomizationControllerContext.d.ts +3 -0
- package/dist/contexts/DataDriverContext.d.ts +3 -0
- package/dist/contexts/DataSourcesContext.d.ts +31 -0
- package/dist/contexts/DatabaseAdminContext.d.ts +3 -0
- package/dist/contexts/DialogsProvider.d.ts +4 -0
- package/dist/contexts/EffectiveRoleController.d.ts +4 -0
- package/dist/contexts/ModeController.d.ts +4 -0
- package/dist/contexts/RebaseClientInstanceContext.d.ts +6 -0
- package/dist/contexts/RebaseDataContext.d.ts +3 -0
- package/dist/contexts/SnackbarProvider.d.ts +2 -0
- package/dist/contexts/StorageSourceContext.d.ts +3 -0
- package/dist/contexts/StorageSourcesContext.d.ts +25 -0
- package/dist/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
- package/dist/contexts/index.d.ts +17 -0
- package/dist/core/PluginLifecycleManager.d.ts +17 -0
- package/dist/core/PluginProviderStack.d.ts +21 -0
- package/dist/core/Rebase.d.ts +15 -0
- package/dist/core/RebaseProps.d.ts +291 -0
- package/dist/core/RebaseRouter.d.ts +4 -0
- package/dist/core/RebaseRoutes.d.ts +17 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/hooks/ApiConfigContext.d.ts +24 -0
- package/dist/hooks/data/delete.d.ts +33 -0
- package/dist/hooks/data/save.d.ts +40 -0
- package/dist/hooks/data/useCollection.d.ts +62 -0
- package/dist/hooks/data/useData.d.ts +13 -0
- package/dist/hooks/data/useDataOrder.d.ts +12 -0
- package/dist/hooks/data/useFetch.d.ts +43 -0
- package/dist/hooks/data/useRelationSelector.d.ts +52 -0
- package/dist/hooks/index.d.ts +36 -0
- package/dist/hooks/useAdminModeController.d.ts +19 -0
- package/dist/hooks/useAnalyticsController.d.ts +5 -0
- package/dist/hooks/useAuthController.d.ts +11 -0
- package/dist/hooks/useAuthSubscription.d.ts +2 -0
- package/dist/hooks/useBackendStorageSource.d.ts +30 -0
- package/dist/hooks/useBridgeRegistration.d.ts +18 -0
- package/dist/hooks/useBrowserTitleAndIcon.d.ts +6 -0
- package/dist/hooks/useBuildAdminModeController.d.ts +6 -0
- package/dist/hooks/useBuildEffectiveRoleController.d.ts +8 -0
- package/dist/hooks/useBuildLocalConfigurationPersistence.d.ts +2 -0
- package/dist/hooks/useBuildModeController.d.ts +6 -0
- package/dist/hooks/useClipboard.d.ts +57 -0
- package/dist/hooks/useCollapsedGroups.d.ts +27 -0
- package/dist/hooks/useComponentOverride.d.ts +32 -0
- package/dist/hooks/useCustomizationController.d.ts +11 -0
- package/dist/hooks/useDialogsController.d.ts +11 -0
- package/dist/hooks/useEffectiveRoleController.d.ts +7 -0
- package/dist/hooks/useLargeLayout.d.ts +1 -0
- package/dist/hooks/useModeController.d.ts +19 -0
- package/dist/hooks/usePermissions.d.ts +12 -0
- package/dist/hooks/useRebaseClient.d.ts +5 -0
- package/dist/hooks/useRebaseContext.d.ts +11 -0
- package/dist/hooks/useRebaseRegistry.d.ts +34 -0
- package/dist/hooks/useResolvedComponent.d.ts +47 -0
- package/dist/hooks/useSlot.d.ts +18 -0
- package/dist/hooks/useSnackbarController.d.ts +20 -0
- package/dist/hooks/useStorageSource.d.ts +6 -0
- package/dist/hooks/useStudioBridge.d.ts +79 -0
- package/dist/hooks/useTranslation.d.ts +17 -0
- package/dist/hooks/useUnsavedChangesDialog.d.ts +12 -0
- package/dist/hooks/useUserConfigurationPersistence.d.ts +8 -0
- package/dist/i18n/RebaseI18nProvider.d.ts +33 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.es.js +16843 -0
- package/dist/index.es.js.map +1 -0
- package/dist/index.umd.js +17021 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/internal/common.d.ts +14 -0
- package/dist/internal/useRestoreScroll.d.ts +15 -0
- package/dist/locales/de.d.ts +2 -0
- package/dist/locales/en.d.ts +10 -0
- package/dist/locales/es.d.ts +10 -0
- package/dist/locales/fr.d.ts +2 -0
- package/dist/locales/hi.d.ts +2 -0
- package/dist/locales/it.d.ts +2 -0
- package/dist/locales/pt.d.ts +7 -0
- package/dist/util/constants.d.ts +1 -0
- package/dist/util/createFormexStub.d.ts +2 -0
- package/dist/util/entity_cache.d.ts +22 -0
- package/dist/util/enums.d.ts +5 -0
- package/dist/util/icon_list.d.ts +5 -0
- package/dist/util/icons.d.ts +20 -0
- package/dist/util/index.d.ts +8 -0
- package/dist/util/previews.d.ts +4 -0
- package/dist/util/useStorageUploadController.d.ts +44 -0
- package/dist/vitePlugin.d.ts +60 -0
- package/dist/vitePlugin.js +113 -0
- package/package.json +145 -0
- package/src/auth/api.ts +148 -0
- package/src/auth/index.ts +25 -0
- package/src/auth/types.ts +115 -0
- package/src/auth/useRebaseAuthController.ts +328 -0
- package/src/components/AIIcon.tsx +47 -0
- package/src/components/AuthSimulationMenu.tsx +0 -0
- package/src/components/ConfirmationDialog.tsx +48 -0
- package/src/components/Debug/UIReferenceView.tsx +958 -0
- package/src/components/Debug/UIStyleGuide.tsx +156 -0
- package/src/components/Debug/collection-views/CardViewDemo.tsx +85 -0
- package/src/components/Debug/collection-views/CollectionTableDemo.tsx +107 -0
- package/src/components/Debug/collection-views/KanbanBoardDemo.tsx +90 -0
- package/src/components/Debug/collection-views/index.ts +3 -0
- package/src/components/Debug/collection-views/sample_data.ts +42 -0
- package/src/components/Debug/crm-dashboard/CalendarWidget.tsx +389 -0
- package/src/components/Debug/crm-dashboard/CrmDashboardDemo.tsx +1102 -0
- package/src/components/Debug/crm-dashboard/DashboardMetrics.tsx +133 -0
- package/src/components/Debug/crm-dashboard/PipelineOverview.tsx +290 -0
- package/src/components/Debug/crm-dashboard/RecentActivity.tsx +215 -0
- package/src/components/Debug/crm-dashboard/TaskFilters.tsx +184 -0
- package/src/components/Debug/crm-dashboard/TaskTable.tsx +427 -0
- package/src/components/Debug/crm-dashboard/TasksView.tsx +234 -0
- package/src/components/ErrorTooltip.tsx +12 -0
- package/src/components/ErrorView.tsx +94 -0
- package/src/components/LanguageToggle.tsx +59 -0
- package/src/components/LoginView/LoginView.tsx +932 -0
- package/src/components/LoginView/index.ts +2 -0
- package/src/components/NotFoundPage.tsx +27 -0
- package/src/components/RebaseAuth.tsx +27 -0
- package/src/components/RebaseLogo.tsx +29 -0
- package/src/components/SchemaDriftBanner.tsx +102 -0
- package/src/components/UnsavedChangesDialog.tsx +46 -0
- package/src/components/UserDisplay.tsx +54 -0
- package/src/components/UserSelectPopover.tsx +399 -0
- package/src/components/UserSettingsView.tsx +318 -0
- package/src/components/common/index.ts +6 -0
- package/src/components/common/table_height.tsx +21 -0
- package/src/components/common/types.tsx +66 -0
- package/src/components/common/useColumnsIds.tsx +222 -0
- package/src/components/common/useDataTableController.tsx +514 -0
- package/src/components/common/useDebouncedData.ts +49 -0
- package/src/components/common/useScrollRestoration.tsx +68 -0
- package/src/components/index.tsx +26 -0
- package/src/contexts/AdminModeController.tsx +11 -0
- package/src/contexts/AnalyticsContext.tsx +4 -0
- package/src/contexts/AuthControllerContext.tsx +4 -0
- package/src/contexts/CollectionScopeContext.tsx +67 -0
- package/src/contexts/ComponentOverrideContext.tsx +81 -0
- package/src/contexts/CustomizationControllerContext.tsx +4 -0
- package/src/contexts/DataDriverContext.tsx +4 -0
- package/src/contexts/DataSourcesContext.tsx +36 -0
- package/src/contexts/DatabaseAdminContext.tsx +4 -0
- package/src/contexts/DialogsProvider.tsx +56 -0
- package/src/contexts/EffectiveRoleController.tsx +12 -0
- package/src/contexts/ModeController.tsx +11 -0
- package/src/contexts/RebaseClientInstanceContext.tsx +7 -0
- package/src/contexts/RebaseDataContext.tsx +4 -0
- package/src/contexts/SnackbarProvider.tsx +15 -0
- package/src/contexts/StorageSourceContext.tsx +4 -0
- package/src/contexts/StorageSourcesContext.tsx +30 -0
- package/src/contexts/UserConfigurationPersistenceContext.tsx +4 -0
- package/src/contexts/index.ts +17 -0
- package/src/core/PluginLifecycleManager.tsx +95 -0
- package/src/core/PluginProviderStack.tsx +40 -0
- package/src/core/Rebase.tsx +439 -0
- package/src/core/RebaseProps.tsx +320 -0
- package/src/core/RebaseRouter.tsx +17 -0
- package/src/core/RebaseRoutes.tsx +24 -0
- package/src/core/index.tsx +5 -0
- package/src/hooks/ApiConfigContext.tsx +41 -0
- package/src/hooks/data/delete.ts +55 -0
- package/src/hooks/data/save.ts +77 -0
- package/src/hooks/data/useCollection.tsx +176 -0
- package/src/hooks/data/useData.tsx +18 -0
- package/src/hooks/data/useDataOrder.ts +26 -0
- package/src/hooks/data/useFetch.tsx +140 -0
- package/src/hooks/data/useRelationSelector.tsx +234 -0
- package/src/hooks/index.tsx +45 -0
- package/src/hooks/useAdminModeController.tsx +23 -0
- package/src/hooks/useAnalyticsController.tsx +8 -0
- package/src/hooks/useAuthController.tsx +14 -0
- package/src/hooks/useAuthSubscription.ts +87 -0
- package/src/hooks/useBackendStorageSource.ts +288 -0
- package/src/hooks/useBridgeRegistration.tsx +32 -0
- package/src/hooks/useBrowserTitleAndIcon.tsx +23 -0
- package/src/hooks/useBuildAdminModeController.tsx +24 -0
- package/src/hooks/useBuildEffectiveRoleController.tsx +31 -0
- package/src/hooks/useBuildLocalConfigurationPersistence.tsx +75 -0
- package/src/hooks/useBuildModeController.tsx +71 -0
- package/src/hooks/useClipboard.tsx +158 -0
- package/src/hooks/useCollapsedGroups.ts +116 -0
- package/src/hooks/useComponentOverride.tsx +59 -0
- package/src/hooks/useCustomizationController.tsx +14 -0
- package/src/hooks/useDialogsController.tsx +15 -0
- package/src/hooks/useEffectiveRoleController.tsx +10 -0
- package/src/hooks/useLargeLayout.tsx +65 -0
- package/src/hooks/useModeController.tsx +23 -0
- package/src/hooks/usePermissions.ts +44 -0
- package/src/hooks/useRebaseClient.tsx +10 -0
- package/src/hooks/useRebaseContext.tsx +83 -0
- package/src/hooks/useRebaseRegistry.tsx +91 -0
- package/src/hooks/useResolvedComponent.tsx +159 -0
- package/src/hooks/useSlot.tsx +64 -0
- package/src/hooks/useSnackbarController.tsx +52 -0
- package/src/hooks/useStorageSource.tsx +11 -0
- package/src/hooks/useStudioBridge.tsx +209 -0
- package/src/hooks/useTranslation.ts +33 -0
- package/src/hooks/useUnsavedChangesDialog.tsx +64 -0
- package/src/hooks/useUserConfigurationPersistence.tsx +11 -0
- package/src/i18n/RebaseI18nProvider.tsx +160 -0
- package/src/index.ts +25 -0
- package/src/internal/common.tsx +16 -0
- package/src/internal/useRestoreScroll.tsx +69 -0
- package/src/locales/de.ts +902 -0
- package/src/locales/en.ts +980 -0
- package/src/locales/es.ts +922 -0
- package/src/locales/fr.ts +901 -0
- package/src/locales/hi.ts +901 -0
- package/src/locales/it.ts +901 -0
- package/src/locales/pt.ts +909 -0
- package/src/util/constants.ts +7 -0
- package/src/util/createFormexStub.tsx +66 -0
- package/src/util/entity_cache.ts +239 -0
- package/src/util/enums.ts +32 -0
- package/src/util/icon_list.ts +22 -0
- package/src/util/icons.tsx +149 -0
- package/src/util/index.ts +12 -0
- package/src/util/previews.ts +105 -0
- package/src/util/useStorageUploadController.tsx +350 -0
- package/src/vitePlugin.ts +196 -0
|
@@ -0,0 +1,909 @@
|
|
|
1
|
+
import { RebaseTranslations } from "@rebasepro/types";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Portuguese (pt) translations for @rebasepro/app.
|
|
5
|
+
*
|
|
6
|
+
* @group Core
|
|
7
|
+
*/
|
|
8
|
+
export const pt: RebaseTranslations = {
|
|
9
|
+
// ─── Form actions ────────────────────────────────────────────
|
|
10
|
+
save: "Guardar",
|
|
11
|
+
create: "Criar",
|
|
12
|
+
create_copy: "Criar cópia",
|
|
13
|
+
save_and_close: "Guardar e fechar",
|
|
14
|
+
create_copy_and_close: "Criar cópia e fechar",
|
|
15
|
+
create_and_close: "Criar e fechar",
|
|
16
|
+
discard: "Descartar",
|
|
17
|
+
clear: "Limpar",
|
|
18
|
+
cancel: "Cancelar",
|
|
19
|
+
|
|
20
|
+
// ─── Entity actions ──────────────────────────────────────────
|
|
21
|
+
edit: "Editar",
|
|
22
|
+
copy: "Copiar",
|
|
23
|
+
delete: "Eliminar",
|
|
24
|
+
delete_not_allowed: "Selecionou pelo menos uma entidade que não pode eliminar",
|
|
25
|
+
|
|
26
|
+
// ─── Delete dialog ───────────────────────────────────────────
|
|
27
|
+
delete_confirmation_title: "Eliminar?",
|
|
28
|
+
delete_confirmation_body: "Esta ação eliminará a entidade. Tem a certeza?",
|
|
29
|
+
delete_multiple_confirmation_body: "Esta ação eliminará as entidades selecionadas. Tem a certeza?",
|
|
30
|
+
|
|
31
|
+
// ─── Unsaved-changes dialog ───────────────────────────────────
|
|
32
|
+
unsaved_changes_title: "Alterações não guardadas",
|
|
33
|
+
unsaved_changes_body: "Tem alterações não guardadas. Deseja descartá-las?",
|
|
34
|
+
discard_changes: "Descartar alterações",
|
|
35
|
+
keep_editing: "Continuar a editar",
|
|
36
|
+
clear_form: "Limpar formulário?",
|
|
37
|
+
discard_changes_confirmation: "Todas as alterações não guardadas serão perdidas. Esta ação não pode ser desfeita.",
|
|
38
|
+
clear_form_confirmation: "Todos os valores introduzidos serão apagados. Esta ação não pode ser desfeita.",
|
|
39
|
+
|
|
40
|
+
// ─── Collection table / toolbar ──────────────────────────────
|
|
41
|
+
search: "Pesquisar",
|
|
42
|
+
find_by_id: "Encontrar por ID",
|
|
43
|
+
find_entity_by_id: "Encontrar entidade por ID",
|
|
44
|
+
filter: "Filtrar",
|
|
45
|
+
filters: "Filtros",
|
|
46
|
+
clear_filter: "Limpar filtro",
|
|
47
|
+
clear_filter_sort: "Limpar filtro/ordenação",
|
|
48
|
+
clear_sort: "Limpar ordenação",
|
|
49
|
+
clear_all: "Limpar tudo",
|
|
50
|
+
no_items: "Sem itens",
|
|
51
|
+
no_entries_found: "Nenhum registo encontrado",
|
|
52
|
+
all_entries_loaded: "Todos os {{count}} registos carregados",
|
|
53
|
+
create_your_first_entry: "Crie o seu primeiro registo",
|
|
54
|
+
no_results_filter_sort: "Sem resultados com o filtro/ordenação aplicado",
|
|
55
|
+
no_results_search: "Nenhum resultado encontrado para \"{{search}}\"",
|
|
56
|
+
add: "Adicionar",
|
|
57
|
+
remove: "Remover",
|
|
58
|
+
multiple_entities: "Múltiplas entidades",
|
|
59
|
+
unsaved_changes: "Tem alterações não guardadas em {{collectionName}}.",
|
|
60
|
+
so_empty: "Tão vazio...",
|
|
61
|
+
no_results: "Sem resultados com o filtro/ordenação aplicado",
|
|
62
|
+
refresh_data: "Atualizar dados",
|
|
63
|
+
dark_mode: "Escuro",
|
|
64
|
+
light_mode: "Claro",
|
|
65
|
+
system_mode: "Sistema",
|
|
66
|
+
ok: "Ok",
|
|
67
|
+
save_collection_config: "Guardar estrutura da coleção",
|
|
68
|
+
search_for_more_icons: "Pesquisar mais ícones…",
|
|
69
|
+
ai_modified: "Modificado por IA",
|
|
70
|
+
size_label: "Tamanho",
|
|
71
|
+
group_by: "Agrupar por",
|
|
72
|
+
initialize_kanban_order: "Inicializar Ordem Kanban",
|
|
73
|
+
copy_id: "Copiar ID",
|
|
74
|
+
add_specific: "Adicionar {{name}}",
|
|
75
|
+
select_specific: "Selecionar {{name}}",
|
|
76
|
+
select_from: "Selecionar de {{name}}",
|
|
77
|
+
done: "Concluído",
|
|
78
|
+
log_out: "Terminar sessão",
|
|
79
|
+
column_cannot_be_edited: "Esta coluna não pode ser editada diretamente",
|
|
80
|
+
close: "Fechar",
|
|
81
|
+
unsaved_local_changes: "Alterações locais não guardadas",
|
|
82
|
+
unsaved_local_changes_description: "Este documento foi editado localmente e tem alterações não guardadas. Estas alterações locais serão perdidas se não as aplicar.",
|
|
83
|
+
preview_changes: "Pré-visualizar alterações",
|
|
84
|
+
apply_changes: "Aplicar alterações",
|
|
85
|
+
discard_local_changes: "Descartar alterações locais",
|
|
86
|
+
preview_local_changes: "Pré-visualizar alterações locais",
|
|
87
|
+
preview_local_changes_description: "Estas são as alterações locais que serão aplicadas ao formulário.",
|
|
88
|
+
type: "Tipo",
|
|
89
|
+
string: "string",
|
|
90
|
+
number: "número",
|
|
91
|
+
boolean: "booleano",
|
|
92
|
+
date: "data",
|
|
93
|
+
map: "mapa",
|
|
94
|
+
array: "lista",
|
|
95
|
+
arrays_of_arrays_not_supported: "Listas de listas não são suportadas.",
|
|
96
|
+
data_type_not_supported: "Tipo de dados {{dataType}} ainda não suportado",
|
|
97
|
+
passkey_error_unsupported: "O seu dispositivo ou browser não suporta passkeys.",
|
|
98
|
+
|
|
99
|
+
// ─── Entity form feedback ─────────────────────────────────────
|
|
100
|
+
saved_correctly: "Guardado com sucesso",
|
|
101
|
+
error_before_saving: "Erro ao preparar os dados",
|
|
102
|
+
error_after_saving: "Erro no processamento pós-gravação",
|
|
103
|
+
error_saving_entity: "Erro ao guardar a entidade",
|
|
104
|
+
entity_does_not_exist: "Esta entidade não existe na base de dados",
|
|
105
|
+
form_modified: "Este formulário foi modificado",
|
|
106
|
+
form_in_sync: "O formulário atual está sincronizado com a base de dados",
|
|
107
|
+
fix_errors_before_saving: "Corrija os erros destacados antes de guardar",
|
|
108
|
+
|
|
109
|
+
admin: "Administrador",
|
|
110
|
+
home: "Início",
|
|
111
|
+
this_form_has_errors: "Este formulário tem erros",
|
|
112
|
+
error_loading_navigation: "Erro ao carregar navegação",
|
|
113
|
+
error_loading_auth: "Erro ao carregar autenticação",
|
|
114
|
+
this_form_has_been_modified: "Este formulário foi modificado",
|
|
115
|
+
current_form_in_sync: "O formulário atual está sincronizado com a base de dados",
|
|
116
|
+
open_in_console: "Abrir na consola",
|
|
117
|
+
collection_does_not_exist: "A coleção especificada não existe. Verifique a consola",
|
|
118
|
+
unexpected_value: "Valor inesperado",
|
|
119
|
+
unexpected_value_click_to_edit: "Valor inesperado. Clique para editar",
|
|
120
|
+
unexpected_reference_value: "Valor de referência inesperado. Clique para editar",
|
|
121
|
+
copy_url_to_clipboard: "Copiar URL para a área de transferência",
|
|
122
|
+
open_image_in_new_tab: "Abrir imagem numa nova aba",
|
|
123
|
+
reference_not_set: "Referência não definida",
|
|
124
|
+
reference_does_not_exist: "A referência não existe",
|
|
125
|
+
entity_not_found: "Entidade não encontrada",
|
|
126
|
+
file_not_found: "Ficheiro não encontrado",
|
|
127
|
+
unsaved_changes_in_entity: "Tem alterações não guardadas nesta entidade.",
|
|
128
|
+
delete_this_role: "Eliminar esta função",
|
|
129
|
+
no_roles_yet: "Ainda não tem nenhuma função.",
|
|
130
|
+
create_default_roles: "Criar funções predefinidas",
|
|
131
|
+
delete_role_confirmation: "Tem a certeza de que quer eliminar esta função?",
|
|
132
|
+
delete_this_user: "Eliminar este utilizador",
|
|
133
|
+
no_users_yet: "Ainda não existem utilizadores",
|
|
134
|
+
add_logged_user_as_admin: "Adicionar o utilizador com sessão iniciada como administrador",
|
|
135
|
+
add_current_user_as_admin: "Adicionar utilizador atual como administrador",
|
|
136
|
+
create_default_roles_and_add_admin: "Criar funções predefinidas e adicionar utilizador atual como administrador",
|
|
137
|
+
delete_user_confirmation: "Tem a certeza de que quer eliminar este utilizador?",
|
|
138
|
+
create_your_users_and_roles: "Crie os seus utilizadores e funções",
|
|
139
|
+
no_users_or_roles_defined: "Não tem utilizadores ou funções definidas. Pode criar funções predefinidas e adicionar o utilizador atual como administrador.",
|
|
140
|
+
no_permission_to_view_users: "Não tem permissão para ver os utilizadores",
|
|
141
|
+
no_permission_to_view_roles: "Não tem permissão para ver as funções",
|
|
142
|
+
no_permission_description: "Contacte um administrador se precisar de acesso a esta secção.",
|
|
143
|
+
save_before_changing_schema: "Precisa de guardar o documento antes de alterar o esquema",
|
|
144
|
+
edit_schema_for_this_form: "Editar esquema para este formulário",
|
|
145
|
+
no_permissions_to_edit_collection: "Não tem permissões para editar esta coleção",
|
|
146
|
+
browser_does_not_support_audio: "O seu browser não suporta o elemento de áudio.",
|
|
147
|
+
user_not_found: "Utilizador não encontrado: {{value}}",
|
|
148
|
+
|
|
149
|
+
// ─── Collection view actions ──────────────────────────────────
|
|
150
|
+
delete_selected: "Eliminar",
|
|
151
|
+
cannot_delete_selected: "Selecionou pelo menos uma entidade que não pode eliminar",
|
|
152
|
+
|
|
153
|
+
// ─── Array / field containers ─────────────────────────────────
|
|
154
|
+
add_entry: "Adicionar",
|
|
155
|
+
add_on_top: "Adicionar no topo",
|
|
156
|
+
add_below: "Adicionar abaixo",
|
|
157
|
+
add_to_field: "Adicionar a {{fieldName}}",
|
|
158
|
+
value: "Valor",
|
|
159
|
+
key: "Chave",
|
|
160
|
+
drag_drop_multiple: "Arraste e solte ficheiros aqui, ou clique para selecionar. Arraste para reordenar.",
|
|
161
|
+
drag_drop_single: "Arraste e solte um ficheiro aqui, ou clique para selecionar um",
|
|
162
|
+
|
|
163
|
+
// ─── Navigation / scaffold ────────────────────────────────────
|
|
164
|
+
open_menu: "Abrir menu",
|
|
165
|
+
close_drawer: "Fechar painel lateral",
|
|
166
|
+
navigation_drawer: "Painel lateral de navegação",
|
|
167
|
+
collapse: "Recolher",
|
|
168
|
+
expand: "Expandir",
|
|
169
|
+
|
|
170
|
+
// ─── Error states ─────────────────────────────────────────────
|
|
171
|
+
error: "Erro",
|
|
172
|
+
error_uploading_file: "Erro ao carregar ficheiro",
|
|
173
|
+
error_deleting: "Erro ao eliminar",
|
|
174
|
+
error_before_delete: "Erro antes de eliminar",
|
|
175
|
+
error_updating_asset: "Erro ao atualizar recurso",
|
|
176
|
+
error_deleting_asset: "Erro ao eliminar recurso",
|
|
177
|
+
error_firestore_index: "É necessário um índice Firestore para esta consulta.",
|
|
178
|
+
create_index: "Criar índice",
|
|
179
|
+
value_is_not_reference: "O valor não é uma referência.",
|
|
180
|
+
click_to_edit: "Clique para editar",
|
|
181
|
+
data_is_not_array_of_references: "Os dados não são uma lista de referências",
|
|
182
|
+
|
|
183
|
+
// ─── Misc ─────────────────────────────────────────────────────
|
|
184
|
+
loading: "A carregar",
|
|
185
|
+
local_changes_applied: "Alterações locais aplicadas ao formulário",
|
|
186
|
+
local_changes_discarded: "Alterações locais descartadas",
|
|
187
|
+
are_you_sure_leave: "Tem a certeza de que quer sair desta página?",
|
|
188
|
+
see_console_details: "Consulte a consola para mais detalhes.",
|
|
189
|
+
drop_here_create_group: "Solte aqui para criar um novo grupo",
|
|
190
|
+
filter_for_null_values: "Filtrar valores nulos",
|
|
191
|
+
value_updated_elsewhere: "Este valor foi atualizado noutro local",
|
|
192
|
+
add_property: "Adicionar propriedade",
|
|
193
|
+
edit_name: "Editar {{name}}",
|
|
194
|
+
this_entity_not_exist: "Esta entidade não existe na base de dados",
|
|
195
|
+
internal_error: "ERRO interno",
|
|
196
|
+
|
|
197
|
+
// ─── Rename group dialog ──────────────────────────────────────
|
|
198
|
+
rename_group: "Renomear Grupo",
|
|
199
|
+
group_name_label: "Nome do Grupo",
|
|
200
|
+
group_name_empty_error: "O nome do grupo não pode estar vazio.",
|
|
201
|
+
group_name_exists_error: "Este nome de grupo já existe.",
|
|
202
|
+
|
|
203
|
+
// ─── Search ───────────────────────────────────────────────────
|
|
204
|
+
search_collections: "Pesquisar coleções",
|
|
205
|
+
|
|
206
|
+
// ─── Navigation groups ────────────────────────────────────────
|
|
207
|
+
views_group: "Visualizações",
|
|
208
|
+
|
|
209
|
+
// ─── Entity Edit View ─────────────────────────────────────────
|
|
210
|
+
youd_need_to_save_before_additional_collections: "Precisa de guardar a sua entidade antes de adicionar coleções adicionais",
|
|
211
|
+
|
|
212
|
+
// ─── Not Found Page ───────────────────────────────────────────
|
|
213
|
+
page_not_found: "Página não encontrada",
|
|
214
|
+
page_not_found_body: "Esta página não existe ou pode não ter acesso a ela",
|
|
215
|
+
back_to_home: "Voltar ao início",
|
|
216
|
+
|
|
217
|
+
// ─── Collection Editor ─────────────────────────────────────────
|
|
218
|
+
default_collection_view: "Vista de coleção predefinida",
|
|
219
|
+
table_view: "Tabela",
|
|
220
|
+
cards_view: "Cartões",
|
|
221
|
+
kanban_view: "Kanban",
|
|
222
|
+
choose_how_entities_displayed_default: "Escolha como as entidades devem ser exibidas por padrão",
|
|
223
|
+
|
|
224
|
+
document_view: "Vista de documento",
|
|
225
|
+
side_panel: "Painel lateral",
|
|
226
|
+
full_screen: "Ecrã inteiro",
|
|
227
|
+
should_documents_opened_full_screen: "Os documentos devem ser abertos em ecrã inteiro ou num painel lateral inline",
|
|
228
|
+
|
|
229
|
+
select_custom_view: "Selecionar vista personalizada",
|
|
230
|
+
no_custom_views_defined: "Nenhuma vista personalizada definida. Defina as suas vistas personalizadas nas definições de personalização, antes de usar este diálogo.",
|
|
231
|
+
|
|
232
|
+
select_custom_action: "Selecionar ação personalizada",
|
|
233
|
+
no_custom_actions_defined: "Nenhuma ação personalizada definida. Defina as suas ações personalizadas nas definições de personalização, antes de usar este diálogo.",
|
|
234
|
+
|
|
235
|
+
no_collections_found: "Nenhuma coleção encontrada",
|
|
236
|
+
start_building_collections: "Comece a criar coleções no Rebase facilmente. Mapeie-as aos dados existentes na sua base de dados, importe de ficheiros ou use os nossos modelos.",
|
|
237
|
+
create_first_collection: "Crie a sua primeira coleção",
|
|
238
|
+
define_collections_programmatically: "Também pode definir coleções programaticamente.",
|
|
239
|
+
edit_collection: "Editar coleção",
|
|
240
|
+
no_permissions_edit_collection: "Não tem permissões para editar esta coleção",
|
|
241
|
+
no_permissions_create_collection: "Não tem permissões para criar coleções",
|
|
242
|
+
create_collection: "Criar coleção",
|
|
243
|
+
update_collection: "Atualizar coleção",
|
|
244
|
+
|
|
245
|
+
new_collection: "Nova coleção",
|
|
246
|
+
add_new_collection: "Adicionar nova coleção",
|
|
247
|
+
collection_with_name: "Coleção {{name}}",
|
|
248
|
+
change_icon: "Alterar ícone",
|
|
249
|
+
is_subcollection_of: "Esta é uma subcoleção de",
|
|
250
|
+
name: "Nome",
|
|
251
|
+
collection_name_description: "Nome desta coleção, normalmente um nome no plural (ex. Produtos)",
|
|
252
|
+
path: "Caminho",
|
|
253
|
+
relative_path_to_parent: "Caminho relativo ao pai (não é necessário incluir o caminho do pai)",
|
|
254
|
+
path_in_database: "Caminho em que esta coleção está armazenada na base de dados",
|
|
255
|
+
singular_name: "Nome singular",
|
|
256
|
+
singular_name_description: "Opcionalmente defina um nome singular para as suas entidades",
|
|
257
|
+
description: "Descrição",
|
|
258
|
+
description_of_collection: "Descrição da coleção, pode usar markdown",
|
|
259
|
+
collection_id: "ID da coleção",
|
|
260
|
+
collection_id_description: "Este ID identifica esta coleção. Normalmente igual ao caminho.",
|
|
261
|
+
collection_group: "Grupo de coleções",
|
|
262
|
+
collection_group_description: "Um grupo de coleções consiste em todas as coleções com o mesmo caminho. Isto permite consultar várias coleções ao mesmo tempo.",
|
|
263
|
+
advanced_settings: "Definições avançadas",
|
|
264
|
+
doc_history_global: "Revisões do histórico do documento ativadas se ativadas globalmente",
|
|
265
|
+
doc_history_enabled: "Revisões do histórico do documento ATIVADAS",
|
|
266
|
+
doc_history_not_enabled: "Revisões do histórico do documento NÃO ativadas",
|
|
267
|
+
doc_history_description: "Quando ativado, cada documento nesta coleção terá um histórico de alterações. Útil para fins de auditoria. Os dados são armazenados numa subcoleção do documento na sua base de dados, chamada __history.",
|
|
268
|
+
document_id_generation: "Geração de IDs de documentos",
|
|
269
|
+
code_defined: "Definido por código",
|
|
270
|
+
users_must_define_id: "Os utilizadores devem definir um ID",
|
|
271
|
+
users_can_define_id: "Os utilizadores podem definir um ID, mas não é obrigatório",
|
|
272
|
+
doc_id_auto_generated: "O ID do documento é gerado automaticamente",
|
|
273
|
+
config_doc_id_generation: "Configure como os IDs de documentos são gerados ao criar novas entidades.",
|
|
274
|
+
enable_text_search: "Ativar pesquisa de texto para esta coleção",
|
|
275
|
+
text_search_description: "Permitir pesquisa de texto para esta coleção. Se não especificou um delegado de pesquisa de texto, será usada a pesquisa de texto local integrada. Não recomendado para grandes coleções, pois pode causar problemas de desempenho e custo.",
|
|
276
|
+
database_id: "ID da base de dados",
|
|
277
|
+
default_text: "(predefinição)",
|
|
278
|
+
|
|
279
|
+
custom_actions: "Ações personalizadas",
|
|
280
|
+
more_info: "Mais informações",
|
|
281
|
+
define_custom_actions_cli: "Defina as suas próprias ações personalizadas carregando-as com o CLI.",
|
|
282
|
+
action_defined_in_code: "Esta ação está definida em código com a chave",
|
|
283
|
+
add_custom_entity_action: "Adicionar ação de entidade personalizada",
|
|
284
|
+
remove_this_action: "Remover esta ação?",
|
|
285
|
+
remove_action_warning: "Isto não eliminará nenhum dado, apenas a ação no CMS",
|
|
286
|
+
|
|
287
|
+
subcollections_of: "Subcoleções de",
|
|
288
|
+
add_subcollection: "Adicionar subcoleção",
|
|
289
|
+
custom_views: "Vistas personalizadas",
|
|
290
|
+
define_custom_views_cli: "Defina as suas próprias vistas personalizadas carregando-as com o CLI.",
|
|
291
|
+
view_defined_in_code: "Esta vista está definida em código com a chave",
|
|
292
|
+
add_custom_entity_view: "Adicionar vista de entidade personalizada",
|
|
293
|
+
delete_this_subcollection: "Eliminar esta subcoleção?",
|
|
294
|
+
remove_collection_warning: "Isto não eliminará nenhum dado, apenas a coleção no CMS",
|
|
295
|
+
remove_this_view: "Remover esta vista?",
|
|
296
|
+
remove_view_warning: "Isto não eliminará nenhum dado, apenas a vista no CMS",
|
|
297
|
+
|
|
298
|
+
no_collection_selected: "Nenhuma coleção selecionada",
|
|
299
|
+
code_for_collection: "Código para",
|
|
300
|
+
use_config_define_json: "Use esta configuração para definir a coleção em formato JSON.",
|
|
301
|
+
customise_collection_code: "Se quiser personalizar a coleção em código, pode adicionar este código de coleção à configuração da sua aplicação CMS.",
|
|
302
|
+
copied: "Copiado",
|
|
303
|
+
|
|
304
|
+
property_cant_be_edited: "Esta propriedade não pode ser editada",
|
|
305
|
+
property_not_editable_description: "Pode não ter permissão para editá-la ou está definida em código e não pode ser modificada.",
|
|
306
|
+
delete_this_property: "Eliminar esta propriedade?",
|
|
307
|
+
delete_property_warning: "Isto não eliminará nenhum dado, apenas modificará a coleção.",
|
|
308
|
+
error_must_specify_id: "Deve especificar um id para o campo",
|
|
309
|
+
error_id_format: "O id só pode conter letras, números e underscores (_), e não pode começar com um número",
|
|
310
|
+
error_id_already_exists: "Já existe outro campo com este ID",
|
|
311
|
+
error_must_specify_title: "Deve especificar um título para o campo",
|
|
312
|
+
custom_or_other: "Personalizado/Outro",
|
|
313
|
+
select_property_widget: "Selecionar um widget de propriedade",
|
|
314
|
+
error_changing_data_type: "Este widget usa um tipo de dados diferente do widget inicialmente selecionado. Isto pode causar erros com dados existentes.",
|
|
315
|
+
required: "Obrigatório",
|
|
316
|
+
|
|
317
|
+
enum_form_dialog: "Diálogo de formulário enum",
|
|
318
|
+
imported_data_preview: "Pré-visualização de dados importados",
|
|
319
|
+
entities_with_same_id_overwritten: "Entidades com o mesmo id serão substituídas",
|
|
320
|
+
collection_editor: "Editor de coleção",
|
|
321
|
+
properties_in_this_group: "Propriedades neste grupo",
|
|
322
|
+
data_property_mapping: "Mapeamento de propriedade de dados",
|
|
323
|
+
property_edit_view: "Vista de edição de propriedade",
|
|
324
|
+
all_of_these: "Todos estes",
|
|
325
|
+
any_of_these: "Qualquer um destes",
|
|
326
|
+
|
|
327
|
+
only_admins_edit_roles: "Apenas administradores podem editar funções",
|
|
328
|
+
error_user_not_found: "Utilizador não encontrado",
|
|
329
|
+
all_roles: "Todos os papéis",
|
|
330
|
+
role: "Função",
|
|
331
|
+
name_of_this_role: "Nome desta função",
|
|
332
|
+
id_of_this_role: "ID desta função",
|
|
333
|
+
create_entities: "Criar entidades",
|
|
334
|
+
read_entities: "Ler entidades",
|
|
335
|
+
update_entities: "Atualizar entidades",
|
|
336
|
+
delete_entities: "Eliminar entidades",
|
|
337
|
+
all_collections: "Todas as coleções",
|
|
338
|
+
create_entities_in_collections: "Criar entidades em coleções",
|
|
339
|
+
access_all_data_in_every_collection: "Aceder a todos os dados em todas as coleções",
|
|
340
|
+
update_data_in_any_collection: "Atualizar dados em qualquer coleção",
|
|
341
|
+
delete_data_in_any_collection: "Eliminar dados em qualquer coleção",
|
|
342
|
+
allow_all_permissions_in_this_collections: "Permitir todas as permissões nestas coleções",
|
|
343
|
+
all: "Todos",
|
|
344
|
+
customise_permissions_description: "Pode personalizar as permissões que os utilizadores relacionados com esta função podem realizar nas entidades de cada coleção",
|
|
345
|
+
create_collections: "Criar coleções",
|
|
346
|
+
yes: "Sim",
|
|
347
|
+
no: "Não",
|
|
348
|
+
can_user_create_collections: "O utilizador pode criar coleções",
|
|
349
|
+
edit_collections: "Editar coleções",
|
|
350
|
+
only_own_collections: "Apenas as suas próprias",
|
|
351
|
+
own: "Próprias",
|
|
352
|
+
can_user_edit_collections: "O utilizador pode editar coleções",
|
|
353
|
+
delete_collections: "Eliminar coleções",
|
|
354
|
+
can_user_delete_collections: "O utilizador pode eliminar coleções",
|
|
355
|
+
error_saving_role: "Ocorreu um erro ao guardar esta função",
|
|
356
|
+
create_role: "Criar função",
|
|
357
|
+
update: "Atualizar",
|
|
358
|
+
|
|
359
|
+
only_admins_change_roles: "Apenas administradores podem alterar funções",
|
|
360
|
+
must_be_at_least_one_admin: "Deve existir pelo menos um administrador",
|
|
361
|
+
logged_user_not_found: "Utilizador com sessão iniciada não encontrado",
|
|
362
|
+
user: "Utilizador",
|
|
363
|
+
user_id: "ID do utilizador",
|
|
364
|
+
name_of_this_user: "Nome deste utilizador",
|
|
365
|
+
email_of_this_user: "Email deste utilizador",
|
|
366
|
+
roles: "Funções",
|
|
367
|
+
create_user: "Criar utilizador",
|
|
368
|
+
|
|
369
|
+
users: "Utilizadores",
|
|
370
|
+
add_user: "Adicionar utilizador",
|
|
371
|
+
add_role: "Adicionar função",
|
|
372
|
+
is_admin: "É Administrador",
|
|
373
|
+
default_permissions: "Permissões predefinidas",
|
|
374
|
+
created_on: "Criado em",
|
|
375
|
+
email: "Email",
|
|
376
|
+
id: "ID",
|
|
377
|
+
read: "Ler",
|
|
378
|
+
|
|
379
|
+
column_in_file: "Coluna no ficheiro",
|
|
380
|
+
map_to_property: "Mapear para propriedade",
|
|
381
|
+
default_values: "Valores predefinidos",
|
|
382
|
+
default_values_description: "Pode selecionar um valor predefinido para colunas não mapeadas e valores vazios:",
|
|
383
|
+
property: "Propriedade",
|
|
384
|
+
default_value: "Valor predefinido",
|
|
385
|
+
autogenerate_id: "Gerar ID automaticamente",
|
|
386
|
+
id_column_description: "Coluna que será usada como ID para cada documento",
|
|
387
|
+
do_not_set_value: "Não definir valor",
|
|
388
|
+
set_value_to_true: "Definir valor como verdadeiro",
|
|
389
|
+
set_value_to_false: "Definir valor como falso",
|
|
390
|
+
drag_and_drop_file: "Arraste e solte um ficheiro aqui ou clique para carregar",
|
|
391
|
+
error_saving_data: "Erro ao guardar dados",
|
|
392
|
+
retry: "Tentar novamente",
|
|
393
|
+
saving_data: "A guardar dados",
|
|
394
|
+
entities_saved: "entidades guardadas",
|
|
395
|
+
do_not_close_tab: "Não feche este separador ou a importação será interrompida",
|
|
396
|
+
import: "Importar",
|
|
397
|
+
import_data: "Importar dados",
|
|
398
|
+
upload_file_description: "Carregue um ficheiro CSV, Excel ou JSON e mapeie-o para o esquema existente",
|
|
399
|
+
back: "Voltar",
|
|
400
|
+
next: "Seguinte",
|
|
401
|
+
save_data: "Guardar dados",
|
|
402
|
+
use_column_as_id: "Usar esta coluna como ID",
|
|
403
|
+
do_not_import_property: "Não importar esta propriedade",
|
|
404
|
+
entities_will_be_overwritten: "Entidades com o mesmo id serão substituídas",
|
|
405
|
+
data_imported_successfully: "Dados importados com sucesso",
|
|
406
|
+
export: "Exportar",
|
|
407
|
+
export_data: "Exportar dados",
|
|
408
|
+
download_table_csv: "Descarregar o conteúdo desta tabela como CSV",
|
|
409
|
+
csv: "CSV",
|
|
410
|
+
json: "JSON",
|
|
411
|
+
dates_as_timestamps: "Datas como timestamps",
|
|
412
|
+
dates_as_strings: "Datas como strings",
|
|
413
|
+
flatten_arrays: "Achatar listas",
|
|
414
|
+
download: "Descarregar",
|
|
415
|
+
large_number_of_documents: "Esta coleção tem um grande número de documentos ({{count}}).",
|
|
416
|
+
include_undefined_values: "Incluir valores indefinidos",
|
|
417
|
+
submit: "Submeter",
|
|
418
|
+
|
|
419
|
+
no_filterable_properties: "Não há propriedades filtráveis disponíveis",
|
|
420
|
+
apply_filters: "Aplicar filtros",
|
|
421
|
+
list: "Lista",
|
|
422
|
+
table_view_mode: "Tabela",
|
|
423
|
+
cards: "Cartões",
|
|
424
|
+
board: "Quadro",
|
|
425
|
+
initialize_kanban_order_desc: "Isto atribuirá valores de ordem sequenciais a todos os itens que não tenham um. Os itens manterão a sua ordem atual dentro de cada coluna.",
|
|
426
|
+
kanban_view_not_available: "A vista Kanban não está disponível",
|
|
427
|
+
kanban_view_requires_enum: "A vista Kanban requer uma propriedade de string com valores enum para agrupar entidades em colunas. Adicione uma propriedade enum ao esquema da sua coleção para usar esta vista.",
|
|
428
|
+
no_enum_values_configured: 'Nenhum valor enum configurado para a propriedade "{{property}}"',
|
|
429
|
+
items_need_backfill: "Alguns itens não têm valores de ordem. Inicialize para ativar a reordenação por arrastar e soltar.",
|
|
430
|
+
kanban_order_not_configured: "A ordenação por arrastar e soltar não está configurada. Defina uma propriedade de ordem nas configurações da coleção para manter as posições dos cartões.",
|
|
431
|
+
initialize: "Inicializar",
|
|
432
|
+
confirm_multiple_delete: "Confirmar eliminação múltipla?",
|
|
433
|
+
delete_entity_confirm_title: "Deseja eliminar este/a {{entityName}}?",
|
|
434
|
+
multiple_deleted: "Exclusão múltipla",
|
|
435
|
+
some_entities_deleted: "Algumas entidades foram excluídas, mas não todas",
|
|
436
|
+
error_deleting_entities: "Erro ao excluir entidades",
|
|
437
|
+
deleted: "excluído(a)",
|
|
438
|
+
|
|
439
|
+
/** AI Collection Generator Popover */
|
|
440
|
+
generate_collection_with_ai: "Gerar Coleção com IA",
|
|
441
|
+
modify_collection_with_ai: "Modificar Coleção com IA",
|
|
442
|
+
describe_collection_to_create: "Descreva a coleção que quer criar.",
|
|
443
|
+
describe_changes_to_make: "Descreva as alterações que quer fazer a esta coleção.",
|
|
444
|
+
ai_placeholder_create: "ex.: Criar uma coleção de produtos com nome, preço, descrição e categoria...",
|
|
445
|
+
ai_placeholder_modify: "ex.: Adicionar um campo de imagem miniatura com armazenamento, tornar o preço obrigatório...",
|
|
446
|
+
ai_assist: "Assistente IA",
|
|
447
|
+
generating: "A gerar...",
|
|
448
|
+
|
|
449
|
+
/** Recently extracted strings for collection editor */
|
|
450
|
+
this_is_subcollection_of: "Esta é uma subcoleção de",
|
|
451
|
+
use_existing_paths_database: "Use um dos caminhos existentes na sua base de dados:",
|
|
452
|
+
describe_collection_ai: "Descreva a sua coleção à IA:",
|
|
453
|
+
generate_with_ai: "Gerar com IA",
|
|
454
|
+
create_from_json_config: "Criar a partir de configuração JSON:",
|
|
455
|
+
paste_json_config: "Colar Configuração JSON",
|
|
456
|
+
create_collection_from_file_formats: "Criar uma coleção a partir de um ficheiro (csv, json, xls, xslx...)",
|
|
457
|
+
select_template: "Selecionar um modelo:",
|
|
458
|
+
products: "Produtos",
|
|
459
|
+
collection_products_subtitle: "Uma coleção de produtos com imagens, preços e stock",
|
|
460
|
+
collection_users_subtitle: "Uma coleção de utilizadores com emails, nomes e funções",
|
|
461
|
+
blog_posts: "Publicações de blog",
|
|
462
|
+
collection_blog_posts_subtitle: "Uma coleção de publicações de blog com imagens, autores e conteúdo complexo",
|
|
463
|
+
pages: "Páginas",
|
|
464
|
+
collection_pages_subtitle: "Uma coleção de páginas com imagens, autores e conteúdo complexo",
|
|
465
|
+
continue_from_scratch: "Continuar do zero",
|
|
466
|
+
|
|
467
|
+
/** Admin views config */
|
|
468
|
+
cms_users: "Utilizadores do CMS",
|
|
469
|
+
roles_menu: "Funções",
|
|
470
|
+
project_settings: "Definições do projeto",
|
|
471
|
+
|
|
472
|
+
by_signing_in_you_agree_to_our: "Ao iniciar sessão, concorda com os nossos",
|
|
473
|
+
terms_and_conditions: "Termos e Condições",
|
|
474
|
+
and_our: "e a nossa",
|
|
475
|
+
privacy_policy: "Política de privacidade",
|
|
476
|
+
email_password: "Email/palavra-passe",
|
|
477
|
+
sign_in_with_google: "Iniciar sessão com Google",
|
|
478
|
+
|
|
479
|
+
// --- Auth error messages ---
|
|
480
|
+
auth_user_not_found: "Utilizador não encontrado",
|
|
481
|
+
auth_wrong_password: "Palavra-passe incorreta. Por favor tente novamente.",
|
|
482
|
+
auth_user_disabled: "Utilizador desativado. Por favor contacte o suporte.",
|
|
483
|
+
auth_account_exists_with_different_credential: "Conta existente com método de início de sessão diferente",
|
|
484
|
+
auth_email_already_in_use: "O email já está em uso",
|
|
485
|
+
auth_google_permissions_required: "Precisa de conceder permissões adicionais para gerir os seus projetos Google Cloud",
|
|
486
|
+
auth_invalid_email_password: "Por favor introduza o email e a palavra-passe",
|
|
487
|
+
auth_enter_email_first: "Por favor introduza primeiro o seu email",
|
|
488
|
+
auth_password_reset_sent: "Email de redefinição de palavra-passe enviado",
|
|
489
|
+
auth_sign_in_account: "Iniciar sessão na sua conta",
|
|
490
|
+
auth_create_new_account: "Criar uma nova conta",
|
|
491
|
+
auth_password: "Palavra-passe",
|
|
492
|
+
auth_reset_password: "Redefinir palavra-passe",
|
|
493
|
+
auth_new_user: "Novo utilizador?",
|
|
494
|
+
auth_have_account: "Já tem uma conta?",
|
|
495
|
+
auth_sign_in: "Iniciar Sessão",
|
|
496
|
+
auth_sign_up: "Registar",
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
auto_setup_collections_button: "Configurar coleções automaticamente",
|
|
500
|
+
auto_setup_collections_title: "Configurar coleções automaticamente?",
|
|
501
|
+
auto_setup_collections_desc: "Isto criará automaticamente configurações de coleção para coleções que <b>NÃO</b> estão já mapeadas",
|
|
502
|
+
this_can_take_a_minute: "Isto pode demorar um ou dois minutos",
|
|
503
|
+
no_collections_found_to_setup: "Nenhuma coleção encontrada para configurar.",
|
|
504
|
+
collections_have_been_setup: "As coleções foram configuradas automaticamente.",
|
|
505
|
+
error_setting_up_collections: "Erro ao configurar coleções automaticamente",
|
|
506
|
+
|
|
507
|
+
// --- Home Suggestions ---
|
|
508
|
+
add_your: "Adicione as suas",
|
|
509
|
+
database_collections: "coleções da base de dados",
|
|
510
|
+
no_unmapped_collections: "Sem coleções não mapeadas na base de dados",
|
|
511
|
+
query_and_update_with_datatalk: "Consulte e atualize os seus dados em linguagem natural com",
|
|
512
|
+
|
|
513
|
+
welcome_to_rebase: "Bem-vindo ao Rebase Cloud",
|
|
514
|
+
admin_panel_ready_bring_data: "O seu painel de administração está pronto. Vamos importar os seus dados.",
|
|
515
|
+
admin_panel_ready_get_started: "O seu painel de administração está pronto. Veja como começar.",
|
|
516
|
+
auto_detect_collections: "Detetar coleções automaticamente",
|
|
517
|
+
auto_detect_collections_desc: "Deixe a IA analisar a sua base de dados e gerar automaticamente esquemas de coleção.",
|
|
518
|
+
create_a_collection: "Criar uma coleção",
|
|
519
|
+
create_collection_desc: "Defina manualmente a sua primeira coleção do zero usando o editor visual.",
|
|
520
|
+
read_the_docs: "Ler a documentação",
|
|
521
|
+
read_the_docs_desc: "Saiba como personalizar campos, vistas, ações e muito mais.",
|
|
522
|
+
explore_docs: "Explorar documentação",
|
|
523
|
+
want_to_customize_with_code: "Quer personalizar com código? Execute",
|
|
524
|
+
to_scaffold_a_local_project: "para criar um projeto local.",
|
|
525
|
+
|
|
526
|
+
// ─── Collection Editor — Validation ──────────────────────────
|
|
527
|
+
validation: "Validação",
|
|
528
|
+
unique: "Único",
|
|
529
|
+
required_message: "Mensagem de campo obrigatório",
|
|
530
|
+
required_tooltip: "Você não poderá salvar esta entidade se este valor não estiver definido",
|
|
531
|
+
unique_tooltip: "Não pode haver múltiplas entidades com o mesmo valor",
|
|
532
|
+
lowercase: "Minúsculas",
|
|
533
|
+
uppercase: "Maiúsculas",
|
|
534
|
+
trim: "Remover espaços",
|
|
535
|
+
exact_length: "Comprimento exato",
|
|
536
|
+
min_length: "Comprimento mín.",
|
|
537
|
+
max_length: "Comprimento máx.",
|
|
538
|
+
matches_regex: "Corresponde a regex",
|
|
539
|
+
not_valid_regexp: "Expressão regular inválida",
|
|
540
|
+
regex_helper: "ex. /^\\d+$/ apenas para dígitos",
|
|
541
|
+
min_value: "Valor mín.",
|
|
542
|
+
max_value: "Valor máx.",
|
|
543
|
+
less_than: "Menor que",
|
|
544
|
+
more_than: "Maior que",
|
|
545
|
+
positive_value: "Valor positivo",
|
|
546
|
+
negative_value: "Valor negativo",
|
|
547
|
+
integer_value: "Valor inteiro",
|
|
548
|
+
|
|
549
|
+
// ─── Collection Editor — Property Edit ───────────────────────
|
|
550
|
+
invalid_regular_expression: "Expressão regular inválida",
|
|
551
|
+
must_specify_target_collection: "Você deve especificar uma coleção de destino para o campo",
|
|
552
|
+
need_specify_repeat_field: "Você precisa especificar um campo de repetição",
|
|
553
|
+
need_specify_block_properties: "Você precisa especificar as propriedades deste bloco",
|
|
554
|
+
incomplete_condition: "Condição incompleta - por favor selecione um campo",
|
|
555
|
+
field_name: "Nome do campo",
|
|
556
|
+
|
|
557
|
+
// ─── Collection Editor — Display & Config ────────────────────
|
|
558
|
+
kanban_column_property: "Propriedade de coluna Kanban",
|
|
559
|
+
select_a_property: "Selecionar uma propriedade",
|
|
560
|
+
kanban_property_not_found: "A propriedade \"{{property}}\" não existe ou não é uma propriedade string com enum. Selecione uma propriedade válida ou limpe a seleção.",
|
|
561
|
+
no_enum_string_properties: "Nenhuma propriedade string com enum encontrada. Adicione uma propriedade string com enumValues para usar a visualização Kanban.",
|
|
562
|
+
kanban_column_description: "Selecione uma propriedade string com valores enum para agrupar entidades em colunas",
|
|
563
|
+
create_property: "+ Criar propriedade \"{{property}}\"",
|
|
564
|
+
order_property: "Propriedade de ordem",
|
|
565
|
+
order_property_not_found: "A propriedade \"{{property}}\" não existe ou não é uma propriedade numérica. Selecione uma propriedade válida ou limpe a seleção.",
|
|
566
|
+
no_number_properties: "Nenhuma propriedade numérica encontrada. Adicione uma propriedade numérica para habilitar a ordenação.",
|
|
567
|
+
order_property_description: "Selecione uma propriedade numérica para manter a ordem dos itens",
|
|
568
|
+
display_settings: "Configurações de exibição",
|
|
569
|
+
default_row_size: "Tamanho de linha padrão",
|
|
570
|
+
side_dialog_width: "Largura do diálogo lateral",
|
|
571
|
+
side_dialog_width_description: "Defina opcionalmente a largura (em pixels) do diálogo lateral de entidades. O padrão é 768px",
|
|
572
|
+
inline_editing_enabled: "Os dados podem ser editados diretamente na visualização de tabela",
|
|
573
|
+
inline_editing_disabled: "Os dados só podem ser editados na visualização de formulário",
|
|
574
|
+
inline_editing_description: "Permitir edição de dados diretamente na visualização de tabela, sem abrir a visualização de formulário.",
|
|
575
|
+
include_json_view: "Incluir visualização JSON",
|
|
576
|
+
no_json_view: "Não incluir visualização JSON",
|
|
577
|
+
json_view_description: "Incluir a representação JSON do documento.",
|
|
578
|
+
not_found_suffix: "não encontrado",
|
|
579
|
+
|
|
580
|
+
// ─── Editor ─────────────────────────────────────────────────
|
|
581
|
+
editor_text: "Texto",
|
|
582
|
+
editor_text_description: "Comece simplesmente a escrever em texto simples.",
|
|
583
|
+
editor_heading_1: "Título 1",
|
|
584
|
+
editor_heading_1_description: "Título de secção grande.",
|
|
585
|
+
editor_heading_2: "Título 2",
|
|
586
|
+
editor_heading_2_description: "Título de secção médio.",
|
|
587
|
+
editor_heading_3: "Título 3",
|
|
588
|
+
editor_heading_3_description: "Título de secção pequeno.",
|
|
589
|
+
editor_todo_list: "Lista de Tarefas",
|
|
590
|
+
editor_todo_list_description: "Acompanhe tarefas com uma lista de afazeres.",
|
|
591
|
+
editor_bullet_list: "Lista com Marcadores",
|
|
592
|
+
editor_bullet_list_description: "Crie uma lista simples com marcadores.",
|
|
593
|
+
editor_numbered_list: "Lista Numerada",
|
|
594
|
+
editor_numbered_list_description: "Crie uma lista com numeração.",
|
|
595
|
+
editor_quote: "Citação",
|
|
596
|
+
editor_quote_description: "Capture uma citação.",
|
|
597
|
+
editor_code: "Código",
|
|
598
|
+
editor_code_description: "Capture um snippet de código.",
|
|
599
|
+
editor_image: "Imagem",
|
|
600
|
+
editor_image_description: "Carregue uma imagem do seu computador.",
|
|
601
|
+
editor_multiple: "Múltiplos",
|
|
602
|
+
editor_link: "Ligação",
|
|
603
|
+
editor_save: "Guardar",
|
|
604
|
+
editor_cancel: "Cancelar",
|
|
605
|
+
editor_remove_link: "Remover ligação",
|
|
606
|
+
editor_paste_or_type_link: "Cole ou escreva a ligação",
|
|
607
|
+
editor_open_in_new_window: "Abrir numa nova janela",
|
|
608
|
+
editor_bold: "Negrito",
|
|
609
|
+
editor_italic: "Itálico",
|
|
610
|
+
editor_underline: "Sublinhado",
|
|
611
|
+
editor_strikethrough: "Riscado",
|
|
612
|
+
editor_autocomplete: "Preenchimento automático",
|
|
613
|
+
editor_autocomplete_description: "Adicione texto com base no contexto.",
|
|
614
|
+
|
|
615
|
+
settings_heading: "Definições",
|
|
616
|
+
settings_project_name: "Nome do projeto",
|
|
617
|
+
settings_default_language: "Idioma predefinido",
|
|
618
|
+
settings_default_language_caption: "Selecione o idioma base para este projeto. Os utilizadores podem alterar esta preferência nas suas definições pessoais.",
|
|
619
|
+
settings_enable_local_text_search: "Ativar pesquisa de texto local",
|
|
620
|
+
settings_local_text_search_caption: "Ative a pesquisa de texto local para todas as coleções. Isto permitirá pesquisar campos de texto nas suas coleções usando a barra de pesquisa do Rebase. Note que esta funcionalidade pode resultar num maior número de leituras, pois todos os campos de texto das suas coleções serão indexados.",
|
|
621
|
+
settings_doc_history_all_collections: "Histórico de documentos ativado para todas as coleções",
|
|
622
|
+
settings_doc_history_caption: "Quando ativado, todas as coleções terão o histórico ativado por predefinição. Pode alterar esta definição em cada coleção. O histórico será guardado na subcoleção __history de cada documento.",
|
|
623
|
+
settings_theme: "Tema",
|
|
624
|
+
settings_primary_color: "Cor primária",
|
|
625
|
+
settings_secondary_color: "Cor secundária",
|
|
626
|
+
settings_sample_theme_components: "Exemplos de componentes do tema",
|
|
627
|
+
settings_drag_drop_logo: "Arraste e solte o seu logótipo aqui",
|
|
628
|
+
settings_security_rules: "Regras de segurança",
|
|
629
|
+
settings_security_rules_description: "O Rebase utiliza as regras de segurança do Firebase para restringir o acesso aos dados. Ao criar um novo utilizador através do Rebase, o atributo personalizado rebaseUser é adicionado ao utilizador no projeto cliente. Ao adicionar as seguintes regras de segurança ao seu projeto, garante que os utilizadores do Rebase possam aceder aos dados através do Rebase.",
|
|
630
|
+
settings_security_rules_add_domain: "Lembre-se de adicionar o domínio {{domain}} aos domínios permitidos do seu fornecedor",
|
|
631
|
+
settings_security_rules_caption: "Estas regras restringem o acesso aos dados apenas aos utilizadores do Rebase, mas não aplicam as permissões ao nível da base de dados. As permissões são aplicadas no frontend, o que funciona bem para a maioria dos projetos. Se precisar de aplicar as permissões ao nível da base de dados, pode modificar estas regras de segurança. As funções atribuídas a um utilizador são definidas como atributos personalizados no token de autenticação do Firebase, pelo que pode utilizá-las nas suas regras de segurança.",
|
|
632
|
+
|
|
633
|
+
// ─── Text Search Dialog ─────────────────────────────────────
|
|
634
|
+
text_search_dialog_title: "Ativar pesquisa de texto",
|
|
635
|
+
text_search_local_not_recommended: "A pesquisa de texto local não é recomendada para coleções grandes.",
|
|
636
|
+
text_search_local_fetch_warning: "Note que ativar a pesquisa de texto local requer descarregar todos os documentos da sua coleção e armazená-los no navegador. Isto pode ser ineficiente para coleções grandes e gerar custos adicionais.",
|
|
637
|
+
text_search_external_suggestion: "Para coleções maiores, recomendamos usar um motor de pesquisa externo como Algolia ou Elastic Search e atribuir um delegado de pesquisa à sua configuração.",
|
|
638
|
+
text_search_local_description: "A pesquisa de texto local é a forma mais simples de ativar a pesquisa de texto na sua coleção. Carrega todos os documentos da coleção no navegador e efetua a pesquisa localmente. É a opção recomendada para coleções pequenas.",
|
|
639
|
+
text_search_own_implementation: "Implementou o seu próprio controlador de pesquisa de texto. Pode ativar a pesquisa de texto para a sua coleção.",
|
|
640
|
+
text_search_enable_for_collection: "Ativar para esta coleção",
|
|
641
|
+
text_search_enable_for_project: "Ativar para o projeto",
|
|
642
|
+
text_search_enabled_snackbar: "Pesquisa de texto local ativada",
|
|
643
|
+
|
|
644
|
+
// ─── Missing keys (English placeholders — translate) ───
|
|
645
|
+
no_filter: "No filter",
|
|
646
|
+
is_true: "is true",
|
|
647
|
+
is_false: "is false",
|
|
648
|
+
error_uploading_file_size: "Error uploading file: File is larger than {{maxSize}} bytes",
|
|
649
|
+
error_uploading_file_type: "Error uploading file: File type is not supported",
|
|
650
|
+
drag_drop_files: "Drag 'n' drop some files here, or click here to edit",
|
|
651
|
+
drag_drop_file: "Drag 'n' drop a file here, or click here to edit",
|
|
652
|
+
select_reference: "Select reference",
|
|
653
|
+
select_references: "Select references",
|
|
654
|
+
account_settings: "Account Settings",
|
|
655
|
+
profile: "Profile",
|
|
656
|
+
sessions: "Sessions",
|
|
657
|
+
display_name: "Display Name",
|
|
658
|
+
photo_url: "Photo URL",
|
|
659
|
+
save_profile: "Save Profile",
|
|
660
|
+
saving: "Saving...",
|
|
661
|
+
no_active_sessions: "No active sessions found.",
|
|
662
|
+
revoking: "Revoking...",
|
|
663
|
+
revoke_all_sessions: "Revoke All Sessions",
|
|
664
|
+
unknown_device: "Unknown Device",
|
|
665
|
+
current: "Current",
|
|
666
|
+
role_id: "Role ID",
|
|
667
|
+
role_name: "Role Name",
|
|
668
|
+
add_reference: "Add reference",
|
|
669
|
+
add_reference_to: "Add reference to {{name}}",
|
|
670
|
+
role_deleted_successfully: "Role deleted successfully",
|
|
671
|
+
error_deleting_role: "Error deleting role",
|
|
672
|
+
collection_permissions: "Collection permissions",
|
|
673
|
+
collection: "Collection",
|
|
674
|
+
no_collections_configured: "No collections configured",
|
|
675
|
+
no_security_rules_defined: "No security rules defined — all operations unrestricted",
|
|
676
|
+
no_rules: "no rules",
|
|
677
|
+
bootstrap_admin_success: "You are now an admin! Refreshing...",
|
|
678
|
+
failed_to_bootstrap_admin: "Failed to bootstrap admin",
|
|
679
|
+
user_deleted_successfully: "User deleted successfully",
|
|
680
|
+
error_deleting_user: "Error deleting user",
|
|
681
|
+
add_row_before: "Add row before",
|
|
682
|
+
add_row_after: "Add row after",
|
|
683
|
+
delete_row: "Delete row",
|
|
684
|
+
add_column_before: "Add column before",
|
|
685
|
+
add_column_after: "Add column after",
|
|
686
|
+
delete_column: "Delete column",
|
|
687
|
+
delete_table: "Delete table",
|
|
688
|
+
alt_text: "Alt text",
|
|
689
|
+
title: "Title",
|
|
690
|
+
a_property_of_this_map_has_error: "A property of this map has an error",
|
|
691
|
+
studio_sql_executing_query: "EXECUTING QUERY...",
|
|
692
|
+
studio_sql_query_error: "Query Error",
|
|
693
|
+
studio_sql_run_query_placeholder: "Run a query to see results",
|
|
694
|
+
studio_sql_visual_execution_plan: "Visual Execution Plan",
|
|
695
|
+
studio_sql_success: "SUCCESS",
|
|
696
|
+
studio_sql_no_results: "Query executed successfully but returned no results.",
|
|
697
|
+
studio_sql_rows: "Rows:",
|
|
698
|
+
studio_sql_time: "Time:",
|
|
699
|
+
studio_sql_copy_markdown: "Copy Markdown",
|
|
700
|
+
studio_sql_export_json: "Export JSON",
|
|
701
|
+
studio_sql_export_csv: "Export CSV",
|
|
702
|
+
studio_sql_format_sql: "Format SQL",
|
|
703
|
+
studio_sql_explain: "Explain",
|
|
704
|
+
studio_sql_limit_1000: "Limit 1000",
|
|
705
|
+
studio_sql_remove_from_favorites: "Remove from Favorites",
|
|
706
|
+
studio_sql_add_to_favorites: "Add to Favorites",
|
|
707
|
+
studio_sql_save: "Save",
|
|
708
|
+
studio_sql_run: "Run",
|
|
709
|
+
studio_sql_database: "Database",
|
|
710
|
+
studio_sql_role: "Role",
|
|
711
|
+
studio_sql_admin: "(Admin)",
|
|
712
|
+
studio_sql_select_db: "Select DB",
|
|
713
|
+
studio_sql_query_results: "Query Results",
|
|
714
|
+
studio_sql_save_snippet: "Save SQL Snippet",
|
|
715
|
+
studio_sql_snippet_name: "Snippet Name",
|
|
716
|
+
studio_sql_snippet_name_placeholder: "e.g., Get All Users",
|
|
717
|
+
studio_sql_snippet_saved_local: "This will be saved to your local storage.",
|
|
718
|
+
studio_sql_cancel: "Cancel",
|
|
719
|
+
studio_sql_dangerous_operation: "Dangerous Operation Detected",
|
|
720
|
+
studio_sql_dangerous_operation_body: "The query you are about to run contains potentially destructive operations (DELETE, DROP, TRUNCATE, or UPDATE without WHERE). Are you sure you want to proceed?",
|
|
721
|
+
studio_sql_snippet_saved: "Snippet \"{{name}}\" saved.",
|
|
722
|
+
studio_sql_markdown_copied: "Results copied as Markdown!",
|
|
723
|
+
studio_sql_markdown_copy_failed: "Failed to copy Markdown to clipboard.",
|
|
724
|
+
studio_sql_row_updated: "Row updated successfully.",
|
|
725
|
+
studio_sql_cannot_edit_missing_query: "Cannot edit rows: The underlying query is missing.",
|
|
726
|
+
studio_sql_cannot_resolve_table: "Could not resolve table/primary key",
|
|
727
|
+
studio_sql_missing_pk: "Row is missing primary key column(s): {{columns}}. Cannot safely update.",
|
|
728
|
+
studio_sql_update_failed: "Failed to update: {{message}}",
|
|
729
|
+
studio_sql_execution_not_supported: "SQL execution is not supported by the current data source.",
|
|
730
|
+
studio_sql_error_executing: "An error occurred while executing the query.",
|
|
731
|
+
studio_sql_error_explaining: "An error occurred while explaining the query.",
|
|
732
|
+
studio_sql_save_first_to_favorite: "Please save the snippet first before favoriting.",
|
|
733
|
+
studio_sql_cms: "Collections:",
|
|
734
|
+
studio_sql_cms_collections_tooltip: "Tables in this query that are mapped as CMS collections",
|
|
735
|
+
studio_sql_edit_entity: "Edit {{name}} #{{id}}",
|
|
736
|
+
studio_sql_sql_not_supported: "SQL execution not supported by this data source",
|
|
737
|
+
studio_sql_fetch_error: "Failed to fetch connection options: {{message}}",
|
|
738
|
+
studio_sql_unexpected_format: "Unexpected data format: {{type}}",
|
|
739
|
+
studio_sql_no_tables: "No tables found in this database.",
|
|
740
|
+
studio_sql_schema_fetch_error: "Failed to fetch schema: {{message}}",
|
|
741
|
+
studio_sql_sidebar_snippets: "Snippets",
|
|
742
|
+
studio_sql_sidebar_history: "History",
|
|
743
|
+
studio_sql_sidebar_schema: "Schema",
|
|
744
|
+
studio_sql_sidebar_no_snippets: "No saved snippets",
|
|
745
|
+
studio_sql_sidebar_save_snippet_hint: "Save a query to access it here.",
|
|
746
|
+
studio_sql_sidebar_no_history: "No history",
|
|
747
|
+
studio_sql_sidebar_history_hint: "Executed queries will appear here.",
|
|
748
|
+
studio_sql_sidebar_delete_snippet: "Delete snippet",
|
|
749
|
+
studio_schema_tables: "Tables",
|
|
750
|
+
studio_schema_loading: "Loading schema...",
|
|
751
|
+
studio_schema_no_tables: "No tables found",
|
|
752
|
+
studio_schema_retry: "Retry",
|
|
753
|
+
studio_schema_primary_key: "Primary Key",
|
|
754
|
+
studio_schema_select_all: "SELECT * FROM",
|
|
755
|
+
studio_schema_insert_into: "INSERT INTO",
|
|
756
|
+
studio_schema_update: "UPDATE",
|
|
757
|
+
studio_schema_delete_from: "DELETE FROM",
|
|
758
|
+
studio_schema_columns: "{{count}} columns",
|
|
759
|
+
studio_rls_title: "Row Level Security",
|
|
760
|
+
studio_rls_description: "Manage RLS policies for your tables",
|
|
761
|
+
studio_rls_enabled: "RLS Enabled",
|
|
762
|
+
studio_rls_disabled: "RLS Disabled",
|
|
763
|
+
studio_rls_no_rls: "No RLS",
|
|
764
|
+
studio_rls_enable_rls: "Enable RLS",
|
|
765
|
+
studio_rls_disable_rls: "Disable RLS",
|
|
766
|
+
studio_rls_create_policy: "Create Policy",
|
|
767
|
+
studio_rls_policies: "Policies",
|
|
768
|
+
studio_rls_no_policies: "No policies defined",
|
|
769
|
+
studio_rls_no_policies_desc: "This table has no RLS policies. All rows are accessible based on the RLS status.",
|
|
770
|
+
studio_rls_add_first_policy: "Add your first policy",
|
|
771
|
+
studio_rls_force_rls: "Force RLS",
|
|
772
|
+
studio_rls_force_rls_desc: "When enabled, RLS policies apply to the table owner as well.",
|
|
773
|
+
studio_rls_enable_force_rls: "Enable Force RLS",
|
|
774
|
+
studio_rls_disable_force_rls: "Disable Force RLS",
|
|
775
|
+
studio_rls_edit: "Edit",
|
|
776
|
+
studio_rls_delete: "Delete",
|
|
777
|
+
studio_rls_confirm_delete_title: "Delete Policy",
|
|
778
|
+
studio_rls_confirm_delete_body: "Are you sure you want to delete this policy? This action cannot be undone.",
|
|
779
|
+
studio_rls_confirm_enable_title: "Enable Row Level Security",
|
|
780
|
+
studio_rls_confirm_enable_body: "Enabling RLS will restrict access to rows in this table based on your policies. Make sure you have appropriate policies in place.",
|
|
781
|
+
studio_rls_confirm_disable_title: "Disable Row Level Security",
|
|
782
|
+
studio_rls_confirm_disable_body: "Disabling RLS will make all rows accessible to all roles. Are you sure you want to continue?",
|
|
783
|
+
studio_rls_select_table: "Select a table",
|
|
784
|
+
studio_rls_no_tables: "No tables available",
|
|
785
|
+
studio_rls_error: "Error loading policies",
|
|
786
|
+
studio_rls_retry: "Retry",
|
|
787
|
+
studio_rls_loading: "Loading policies...",
|
|
788
|
+
studio_policy_edit: "Edit Policy",
|
|
789
|
+
studio_policy_create: "Create New Policy",
|
|
790
|
+
studio_policy_defining_rules: "Defining access rules for",
|
|
791
|
+
studio_policy_cancel: "Cancel",
|
|
792
|
+
studio_policy_save: "Save Policy",
|
|
793
|
+
studio_policy_template: "Start from a template (Optional)",
|
|
794
|
+
studio_policy_select_template: "Select a template...",
|
|
795
|
+
studio_policy_name: "Policy Name",
|
|
796
|
+
studio_policy_name_placeholder: "Give your policy a descriptive name",
|
|
797
|
+
studio_policy_behavior: "Policy Behavior",
|
|
798
|
+
studio_policy_permissive: "Permissive",
|
|
799
|
+
studio_policy_permissive_desc: "Combined using \"OR\"",
|
|
800
|
+
studio_policy_restrictive: "Restrictive",
|
|
801
|
+
studio_policy_restrictive_desc: "Combined using \"AND\"",
|
|
802
|
+
studio_policy_command: "Policy Command",
|
|
803
|
+
studio_policy_target_roles: "Target Roles",
|
|
804
|
+
studio_policy_roles_placeholder: "Select roles (defaults to public)",
|
|
805
|
+
studio_policy_using_expr: "USING expression",
|
|
806
|
+
studio_policy_using_expr_desc: "Applies to existing rows (SELECT, UPDATE, DELETE)",
|
|
807
|
+
studio_policy_check_expr: "WITH CHECK expression",
|
|
808
|
+
studio_policy_check_expr_desc: "Applies to new or modified rows (INSERT, UPDATE)",
|
|
809
|
+
studio_policy_help_title: "Row Level Security (RLS) Guide",
|
|
810
|
+
studio_policy_help_intro: "Row Level Security (RLS) allows you to restrict which rows a user can access or modify based on their authentication status or roles.",
|
|
811
|
+
studio_policy_help_step1_title: "1. Select a Template",
|
|
812
|
+
studio_policy_help_step1_desc: "If you're new to RLS, the easiest way to start is by selecting a predefined template from the dropdown. It will automatically configure the policy for common use cases like \"Users can update their own rows\".",
|
|
813
|
+
studio_policy_help_step2_title: "2. Target Roles",
|
|
814
|
+
studio_policy_help_step2_desc: "Choose which users the policy applies to:",
|
|
815
|
+
studio_policy_help_role_public: "Applies to everyone (logged in or not).",
|
|
816
|
+
studio_policy_help_role_authenticated: "Only applies to users who are logged in.",
|
|
817
|
+
studio_policy_help_role_anon: "Only applies to users who are NOT logged in.",
|
|
818
|
+
studio_policy_help_step3_title: "3. USING Expression",
|
|
819
|
+
studio_policy_help_step3_desc: "A SQL condition that must evaluate to true for existing rows to be visible or updatable (SELECT, UPDATE, DELETE).",
|
|
820
|
+
studio_policy_help_step3_example: "Ensures users can only see rows where they are the owner.",
|
|
821
|
+
studio_policy_help_step4_title: "4. WITH CHECK Expression",
|
|
822
|
+
studio_policy_help_step4_desc: "A SQL condition that must evaluate to true for new or modified rows to be saved (INSERT, UPDATE).",
|
|
823
|
+
studio_policy_help_step4_example: "Usually the same as the USING expression when users are only allowed to insert/edit their own data.",
|
|
824
|
+
studio_policy_help_auth_vars_title: "Rebase Auth Variables",
|
|
825
|
+
studio_policy_help_auth_vars_desc: "Rebase provides native helper functions that you can use in your expressions:",
|
|
826
|
+
studio_policy_help_auth_uid: "Returns the current user's ID as text. Example:",
|
|
827
|
+
studio_policy_help_auth_jwt: "Returns the full JWT payload as JSONB so you can check custom claims. Example:",
|
|
828
|
+
studio_policy_help_auth_roles: "Returns the user's role IDs as a comma-separated string. Best used with:",
|
|
829
|
+
studio_policy_help_docs_cta: "To learn more about Postgres policies, check out the official documentation.",
|
|
830
|
+
studio_policy_help_read_docs: "Read Docs",
|
|
831
|
+
studio_policy_help_got_it: "Got it!",
|
|
832
|
+
studio_add_kanban_column: "Add column",
|
|
833
|
+
studio_add_kanban_column_title: "Add Kanban Column",
|
|
834
|
+
studio_add_kanban_column_name: "Column name",
|
|
835
|
+
studio_add_kanban_column_name_placeholder: "New column name",
|
|
836
|
+
studio_add_kanban_column_add: "Add",
|
|
837
|
+
studio_add_kanban_column_cancel: "Cancel",
|
|
838
|
+
studio_collection_view_sql: "SQL Editor",
|
|
839
|
+
studio_collection_view_cms: "CMS View",
|
|
840
|
+
studio_editor_collection_tooltip: "Edit collection schema",
|
|
841
|
+
studio_editor_collection_no_permission: "You don't have permission to edit this collection",
|
|
842
|
+
studio_editor_collection_start_tooltip: "Copy path or edit schema",
|
|
843
|
+
studio_editor_collection_start_no_permission: "You don't have permission to modify this collection",
|
|
844
|
+
studio_editor_collection_start_copied: "Copied!",
|
|
845
|
+
studio_editor_entity_tooltip: "Edit entity schema",
|
|
846
|
+
studio_editor_entity_no_permission: "You don't have permission to edit this entity",
|
|
847
|
+
studio_home_edit_collection: "Edit collection",
|
|
848
|
+
studio_home_delete_collection: "Delete collection",
|
|
849
|
+
studio_home_confirm_delete_title: "Delete collection?",
|
|
850
|
+
studio_home_confirm_delete_body: "Are you sure you want to delete the collection \"{{name}}\"? This action cannot be undone.",
|
|
851
|
+
studio_kanban_setup: "Kanban Setup",
|
|
852
|
+
studio_missing_reference: "Missing reference: {{path}}",
|
|
853
|
+
studio_missing_reference_create: "Create",
|
|
854
|
+
studio_new_collection: "New collection",
|
|
855
|
+
studio_new_collection_card: "New collection",
|
|
856
|
+
studio_new_collection_no_permission: "You don't have permissions to create collections",
|
|
857
|
+
studio_property_add_column: "Add new property",
|
|
858
|
+
studio_property_add_column_no_permission: "You don't have permission to add new properties",
|
|
859
|
+
studio_add_kanban_column_desc: "Add a new option to the \"{{property}}\" property. This will create a new column in the Kanban board.",
|
|
860
|
+
studio_add_kanban_column_adding: "Adding...",
|
|
861
|
+
studio_collection_view_edit: "Edit",
|
|
862
|
+
studio_editor_collection_disabled: "Collection editing is disabled",
|
|
863
|
+
studio_editor_collection_edit: "Edit collection",
|
|
864
|
+
studio_editor_entity_save_first: "You need to save the document before changing the schema",
|
|
865
|
+
studio_editor_entity_edit_schema: "Edit schema for this form",
|
|
866
|
+
studio_editor_collection_start_save_filter: "Save default filter and sort",
|
|
867
|
+
studio_editor_collection_start_clear_filter: "Clear default filter and sort",
|
|
868
|
+
studio_editor_collection_start_reset_filter: "Reset to default filter and sort",
|
|
869
|
+
studio_editor_collection_start_saved: "Default config saved",
|
|
870
|
+
studio_home_duplicate_collection: "Duplicate",
|
|
871
|
+
studio_home_delete: "Delete",
|
|
872
|
+
studio_home_confirm_delete_no_data: "This will not delete any data, only the collection in the CMS",
|
|
873
|
+
studio_home_collection_deleted: "Collection deleted",
|
|
874
|
+
studio_kanban_configure: "Configure Kanban",
|
|
875
|
+
studio_missing_reference_error: "No collection for path: {{path}}",
|
|
876
|
+
studio_new_collection_add: "Adicionar nova coleção",
|
|
877
|
+
|
|
878
|
+
// ─── Property field labels ──────────────────────────────────
|
|
879
|
+
db_column_type: "Tipo de coluna do banco de dados",
|
|
880
|
+
primary_key_unique_id: "Chave primária / ID único",
|
|
881
|
+
spread_children_as_columns: "Expandir filhos como colunas",
|
|
882
|
+
mode: "Modo",
|
|
883
|
+
timezone: "Fuso horário",
|
|
884
|
+
target_collection: "Coleção de destino",
|
|
885
|
+
|
|
886
|
+
// ─── Storage property ───────────────────────────────────────
|
|
887
|
+
storage_file_name: "Nome do arquivo",
|
|
888
|
+
storage_path: "Caminho de armazenamento",
|
|
889
|
+
storage_max_size: "Tamanho máximo (em bytes)",
|
|
890
|
+
storage_resize_mode: "Modo de redimensionamento",
|
|
891
|
+
storage_output_format: "Formato de saída",
|
|
892
|
+
storage_max_width: "Largura máxima (px)",
|
|
893
|
+
storage_max_height: "Altura máxima (px)",
|
|
894
|
+
storage_quality: "Qualidade (0-100)",
|
|
895
|
+
storage_file_upload_config: "Configuração de upload de arquivo",
|
|
896
|
+
storage_image_resize_config: "Configuração de redimensionamento de imagem",
|
|
897
|
+
storage_all_file_types: "Todos os tipos de arquivo permitidos",
|
|
898
|
+
storage_allowed_file_types: "Tipos de arquivo permitidos",
|
|
899
|
+
storage_include_bucket_url: "Incluir URL do bucket (s3://...) no valor salvo",
|
|
900
|
+
storage_save_url: "Salvar URL em vez do caminho de armazenamento",
|
|
901
|
+
|
|
902
|
+
// ─── DateTime property ──────────────────────────────────────
|
|
903
|
+
datetime_automatic_value: "Valor automático",
|
|
904
|
+
|
|
905
|
+
// ─── Markdown property ──────────────────────────────────────
|
|
906
|
+
markdown_paste_behavior: "Comportamento ao colar",
|
|
907
|
+
markdown_strip_html: "Remover HTML ao colar",
|
|
908
|
+
markdown_convert_pasted: "Converter texto colado para markdown"
|
|
909
|
+
};
|