diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000000..dda65ac7f9
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,2 @@
+---
+custom: ["https://pgmodeler.io/#donationForm"]
diff --git a/.github/ISSUE_TEMPLATE/Bug_report.md b/.github/ISSUE_TEMPLATE/Bug_report.md
new file mode 100644
index 0000000000..4d054a0f2e
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/Bug_report.md
@@ -0,0 +1,38 @@
+---
+name: Report a bug
+about: Instructions on how to report pgModeler bugs. Before report any bug please
+ check if someone already has submited issues similiar to yours. Duplicated issues
+ will be ignored.
+
+---
+
+**Bug description**
+_A clear and concise description of what the bug is._
+
+**How to reproduce**
+_Please, if the bug can be reproduceable describe the steps in full details. If possible provide a sample model and/or a SQL dump for test purposes._
+
+**Expected behavior**
+_A clear and concise description of what you expected to happen._
+
+**Screenshots**
+_If applicable, add screenshots to help explain your problem._
+
+**Info about your desktop**
+ - OS:
+ - Version:
+ - Window manager:
+ - pgModeler version:
+ - Qt version:
+
+**Stacktrace / Debug info**
+_If pgModeler crashed after the bug raised attach the stacktrace below_
+
+```
+
+ Put the stacktrace here!
+
+```
+
+**Additional info**
+_Add any other information that you may find useful to help in the problem solving._
diff --git a/.github/ISSUE_TEMPLATE/Custom.md b/.github/ISSUE_TEMPLATE/Custom.md
new file mode 100644
index 0000000000..219c04f5c1
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/Custom.md
@@ -0,0 +1,8 @@
+---
+name: General discussion
+about: For any discussion not related to bugs or feature requests please use this
+ one.
+
+---
+
+
diff --git a/.github/ISSUE_TEMPLATE/Feature_request.md b/.github/ISSUE_TEMPLATE/Feature_request.md
new file mode 100644
index 0000000000..f3ad5eb15b
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/Feature_request.md
@@ -0,0 +1,14 @@
+---
+name: Feature request / improvement
+about: Give your suggestions for improvements to this project.
+
+---
+
+**Feature description**
+_A clear and concise description of what the problem is._
+
+**Sample image**
+_If the feature requested is a visual improvement, please, attach some images to make it clear._
+
+**Additional info**
+_Add any other context or screenshots about the feature request here._
diff --git a/.github/workflows/linuxbuild.yml b/.github/workflows/linuxbuild.yml
new file mode 100644
index 0000000000..1df7ad4332
--- /dev/null
+++ b/.github/workflows/linuxbuild.yml
@@ -0,0 +1,34 @@
+name: Linux build
+
+on:
+ push:
+ branches: [ master, develop, 0.9.*, '*fix*', '*change*', '*support*' ]
+ tags: 0.9.*
+
+ pull_request:
+ branches: [ master, develop, 0.9.* ]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ qt: ['5.15.0', '5.14.2', '5.13.2', '5.12.9', '5.11.3', '5.10.1', '5.9.9']
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Installing Qt framework
+ uses: jurplel/install-qt-action@v2
+ with:
+ version: ${{ matrix.qt }}
+
+ - name: Running qmake
+ run: cd $GITHUB_WORKSPACE; qmake pgmodeler.pro -r PREFIX=$GITHUB_WORKSPACE/build CONFIG+=debug
+
+ - name: Building pgModeler
+ run: make -j6
+
+ - name: Deploying pgModeler
+ run: make install
diff --git a/.github/workflows/macosbuild.yml b/.github/workflows/macosbuild.yml
new file mode 100644
index 0000000000..48717cc688
--- /dev/null
+++ b/.github/workflows/macosbuild.yml
@@ -0,0 +1,34 @@
+name: macOs build
+
+on:
+ push:
+ branches: [ master, develop, 0.9.*, '*fix*', '*change*', '*support*' ]
+ tags: 0.9.*
+
+ pull_request:
+ branches: [ master, develop, 0.9.* ]
+
+jobs:
+ build:
+ runs-on: macos-latest
+
+ strategy:
+ matrix:
+ qt: ['5.15.0', '5.14.2', '5.13.2', '5.12.9', '5.11.3', '5.10.1', '5.9.9']
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Installing Qt framework
+ uses: jurplel/install-qt-action@v2
+ with:
+ version: ${{ matrix.qt }}
+
+ - name: Running qmake
+ run: cd $GITHUB_WORKSPACE; qmake pgmodeler.pro -r PREFIX=/Applications/pgModeler.app/Contents PGSQL_INC=`pg_config --includedir` PGSQL_LIB=`pg_config --libdir`/libpq.dylib CONFIG+=debug
+
+ - name: Building pgModeler
+ run: make -j6
+
+ - name: Deploying pgModeler
+ run: make install
diff --git a/.github/workflows/windowsbuild.yml b/.github/workflows/windowsbuild.yml
new file mode 100644
index 0000000000..c88a868f00
--- /dev/null
+++ b/.github/workflows/windowsbuild.yml
@@ -0,0 +1,48 @@
+name: Windows build
+
+on:
+ push:
+ branches: [ master, develop, 0.9.*, '*fix*', '*change*', '*support*' ]
+ tags: 0.9.*
+
+ pull_request:
+ branches: [ master, develop, 0.9.* ]
+
+jobs:
+ build:
+ runs-on: windows-latest
+
+ strategy:
+ matrix:
+ qt: ['5.15.0']
+
+ defaults:
+ run:
+ shell: msys2 {0}
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: msys2/setup-msys2@v2
+ with:
+ msystem: MINGW64
+ update: true
+ install: base-devel mingw-w64-x86_64-make mingw-w64-x86_64-gcc mingw-w64-x86_64-postgresql mingw-w64-x86_64-qt5
+
+ # Workaround: Instead of using $GITHUB_WORKSPACE in PREFIX we actually use the path converted to unix-like
+ # since we're running the building inside msys2
+ - name: Running qmake
+ run: |
+ cd $GITHUB_WORKSPACE;
+ qmake pgmodeler.pro -r PREFIX=D:/a/pgmodeler/pgmodeler/build \
+ XML_INC=$(cygpath -m /mingw64/include/libxml2) \
+ XML_LIB=$(cygpath -m /mingw64/bin/libxml2-2.dll) \
+ PGSQL_INC=$(cygpath -m /mingw64/include) \
+ PGSQL_LIB=$(cygpath -m /mingw64/bin/libpq.dll) \
+ CONFIG+=debug
+
+ - name: Building pgModeler
+ run: mingw32-make -j6
+
+ - name: Deploying pgModeler
+ run: mingw32-make install
diff --git a/.gitignore b/.gitignore
index ca413d0a72..32bd6c8000 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,12 +1,35 @@
+.qmake.stash
+
*.[oa]
+*.dll
+*.exe
*.so.*
*.so
-ui_*.h
-moc_*.cpp
-obj/*
-moc/*
-Makefile
-build/*
*.pro.user
*.directory
*.run
+*.Debug
+*.Release
+*.old
+
+moc_*.cpp
+moc_*.h
+qrc_resources.cpp
+ui_*.h
+windeploy.log
+Makefile
+
+build/*
+dist/*
+installer/template/packages/io.pgmodeler/data
+installer/template/packages/io.pgmodeler/meta/package.xml
+installer/template/config/config.xml
+moc/*
+obj/*
+plugins
+plugins/*
+release/*
+apps/pgmodeler/build/*
+apps/pgmodeler-cli/build/*
+apps/pgmodeler-ch/build/*
+apps/pgmodeler-sce/build/*
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6ac057b6c7..00a820ec2b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,974 @@
-Change Log
+Changelog
---------
+v0.9.4
+------
+Release date: December 17, 2021
+
+* [New] Added a fix step in CLI to reconstruct enum types XML code in new format.
+* [Change] Changed the way XML code for enum types is generated and loaded.
+* [Change] Minor improvement in reverse engineering to import enum types in the new format.
+* [Change] Minor adjust in the demo version warning message.
+* [Change] Minor adjustment in permission id generation. Now the object's signature is used instead of name.
+* [Change] Minor refactor in the reconstruction of XML related to enum types in CLI.
+* [Fix] Minor fix in deployment script to support new libicui versions.
+* [Fix] Minor fix in order to set read/write permissions when copying configuration files with read-only permissions.
+* [Fix] Minor fix in CLI to avoid the usage of '-platform offscreen' when calling the application.
+* [Fix] Fixed a bug in file selectors on ModelExportForm that was not allowing to select output folders on Windows and macOs.
+
+v0.9.4-beta1
+------
+Release date: November 08, 2021
+
+* [New] Added extra PostGiS data types to PgSQLType.
+* [New] Created the method PgSqlType::isPostGiSType() which returns true if the current type is a PostGiS one.
+* [New] Created the method PgSqlType::reset() that clears some attributes of the type.
+* [New] Added the built-in type pg_lsn in order to make databases using timescaledb extension to be imported correctly.
+* [Change] Minor adjustment in windowsdeploy.sh to create zip packages.
+* [Change] Minor adjustment in demo version warning messages.
+* [Change] Adjusted the catalog query filters in ModelDatabaseDiffForm to retrieve system and extension objects according to the checkboxes "Import system objects" and "Import extension objects".
+* [Change] Adjusted the reverse engineering in such a way that the table children will follow the SQL disabled state of their parent tables.
+* [Change] Allowing importing pg_lsn attributes in usertype.sch.
+* [Change] Allowing the use of commas in enum type labels.
+* [Change] Improved the output of model fix operation in CLI.
+* [Change] The constants DataSeparator, UnescValueStart, UnescValueEnd, WildcardChar, FilterSeparator, FilterWildcard, FilterRegExp were moved from CoreUtilsNs to UtilsNs in order to be used in the parsers module.
+* [Change] In SchemaParser the meta char $ds (dollar sign) was renamed to $ms (money sign). Also, a new meta char $ds (data separator) was added and translates to the special data separator character UtilsNs::DataSeparator.
+* [Change] Minor adjustments in table.sch and foreigntable.sch schema files.
+* [Change] Improved DatabaseModel::getUserDefTypesReferences in order to get all references to postgis data types.
+* [Change] Improved ModelValidationHelper in order to set postgis extension a default comment when automatically creating it.
+* [Change] PgSQLTypeWidget now can be configured in such a way to disallow the configuration of type qualifiers like length, precision, interval, and some other. This is useful when configuring data types for objects that don't require such attributes in the data type like parameter, aggregates, transforms, casts, operators.
+* [Change] Changed the behavior of Parameter::getCodeDefinition when generating SQL code. Now, any type qualifier (except dimension descriptor []) will be discarded.
+* [Fix] Fixed the catalog query that lists policies.
+* [Fix] Added a minor workaround in DatabaseImportHelper::getType in order to treat the "any" pseudo-type correctly.
+* [Fix] Minor fix in DatabaseImportForm in order to disable option buttons when no connection is selected.
+* [Fix] Fixed a segfault when importing domains with long expressions.
+* [Fix] Fixed the broken SQL generation for tables with columns/constraints disabled.
+* [Fix] Fix the name of the checkbox related to updates checking to avoid breaking the building when enabling NO_UPDATE_CHECK via qmake.
+* [Fix] Fixed the shortcuts of Copy/Paste actions in DataManipulationForm.
+
+v0.9.4-beta
+------
+Release date: September 20, 2021
+
+* [New] Added the shortcut Alt+C to trigger the cancel action in DatabaseImportForm ModelDatabaseDiffForm and ModelExportForm.
+* [New] Added support for the generation of GRANT/REVOKE commands to control roles memberships via the diff process.
+* [New] Added a fix step to reconfigure roles membership considering the deprecation of Role:RefRole attribute.
+* [New] Added support for included columns on indexes.
+* [New] Added the ability to reference view columns on indexes.
+* [New] Added support to use view's SimpleColumn in ColumnPickerWidget as well as Index.
+* [New] Added .dtd extension to SchemaEditorForm::showFileDialog.
+* [New] Created the widget ColumnPickerWidget by isolating the code that handles constraint columns in ConstraintWidget for reusing in other portions of the tool.
+* [New] Added the method Constraint::addColumns().
+* [New] Two buttons were added aside the date input fields in partial diff tab (ModelDatabaseDiffForm) in order to allow the quick assignment of the first and last modification dates.
+* [New] Added support for toggling update notifications for alpha/beta versions.
+* [New] Added support for save and restore the tree state in DatabaseExplorerWidget.
+* [Change] Minor improvement in ModelsExportHelper by adding more breaking points related to export canceled.
+* [Change] Minor improvement in ObjectRenameWidget in such a way to fill the new name field with the object's name in the first show when a single object is selected for renaming.
+* [Change] Dropped the support for MemberOf (Role::RefRoles) in order to make the diff between two roles more precise.
+* [Change] In RoleWidget the tab "Member Of" now works only as a convenience feature that adds the role being edited to the ones listed in that tab.
+* [Change] Restored the file pgmodeler.appdata.xml.
+* [Change] Refactored BaseObject::isCodeDiffersFrom (and its variants in children classes) to use QStringList instead of vector as parameters.
+* [Change] Allowing swap cluster level object ids in SwapObjectsIdsWidget when the objects are of the same kind.
+* [Change] Minor refactoring in RoleWidget, Role and DatabaseModel to use Role::RefRole, Role::MemberRole and Rele::AdminRole constants as loop indexes.
+* [Change] Minor adjustment in demo features.
+* [Change] Minor refactoring in Role::setRoleAttribute.
+* [Change] Minor improvement in ModelExportHelper::exportToDbms to send the SQL command via a signal when creating roles and the database.
+* [Change] Improvements in pgmodeler-se in such a way to control syntax highlighting settings per open editor.
+* [Change] Avoided the use of a working dir in .desktop file when installing mime types system-wide.
+* [Change] Improved the way layers rectangles are updated after undoing/redoing operations in OperationListWidget.
+* [Change] Isolated SimpleColumn struct on its own file for reusing in other modules.
+* [Change] Moved the constants ProtRowBgColor, ProtRowFgColor, RelAddedRowBgColor, RelAddedRowFgColor from BaseObjectWidget to GuiUtilsNs.
+* [Change] Changed the default match type in foreign key constraint to MATCH SIMPLE.
+* [Change] Minor adjustment in the ModelWidget::updateSceneLayers to force the update of all schemas.
+* [Change] Avoided a lambda function call when checking updates to prevent segfaults.
+* [Change] Exceptions raised in BugReportForm when the "lastmodel" file isn't found are now ignored.
+* [Change] Minor change in ModelValidationHelper to use table's signature instead of name during the name validation process.
+* [Change] Avoided calling the functions xmlInitParser() and xmlCleanupParser() more than once per app execution in XmlParser class to avoid unexpected behavior.
+* [Change] Minor adjustment in viewport drawing mode in order to redraw objects by bounding rect changes.
+* [Change] Minor improvements in the changelog widget in order to display the first modification date.
+* [Change] Refactored Connection::requestCancel in order to avoid using PQrequestCancel which is deprecated.
+* [Fix] Fixed a glitch when drawing StyledTextboxView instaces.
+* [Fix] Fix the diff between columns using PostGiS datatypes.
+* [Fix] The attributes Qt::AA_UseHighDpiPixmaps and Qt::AA_EnableHighDpiScaling are now correctly set before the instantiation of Application based classes.
+* [Fix] Fixed a crash in diff process caused by the ModelExportHelper instance when canceling the export to DBMS when an exception was raised.
+* [Fix] Fixed a crash in SwapObjectsIdsWidget when the user tried to swap objects using arrow keys.
+* [Fix] Fixed the tab names in RoleWidget.
+* [Fix] Minor fix in DatabaseExplorerWidget to display view's children source code.
+* [Fix] Fixed the building of IndexWidget on Qt 5.14 and below.
+* [Fix] Fixed the problem on ModelDatabaseDiffForm that was not accepting pressing Return/Esc to respectively run the diff and close the dialog due to a conflict with the event loop instance in ModelDatabaseDiffForm::exec().
+* [Fix] Minor fix in the configuration of ObjectGroupId element in DatabaseImportForm::updateObjectsTree in order to avoid crashes when no root element is specified.
+* [Fix] Fixed the generation of aggregate functions when they use functions that contain parameters in which data type have spaces (double precision, character varying).
+* [Fix] Fixed a segfault that can happen when changing the number of parameters of a function already associated with an aggregate.
+* [Fix] Additional fix for layers not being correctly loaded from dbm file.
+
+v0.9.4-alpha1
+------
+Release date: July 19, 2021
+
+* [New] The bulk editing form now can be confirmed by the Ctrl+Return shortcut.
+* [New] The CLI now is capable of fixing models created before 0.9.4-alpha1 that have columns, functions, and other objects that reference extension types with simple names instead of schema-qualified names.
+* [New] Added an option to GeneralConfigWidget to toggle the displaying of schema names of columns data types on design view. This option affects only the rendering of objects, the code generation will keep displaying user-defined type names in a schema-qualified way.
+* [New] Created the DeletableItemDelegate which draws a delete button aside combobox items.
+* [New] Added the ability to drop databases from the database listing in SQLToolWidget.
+* [New] Added support to strikeout attribute in SyntaxHighlighter.
+* [New] Created an auxiliary tool called pgModeler Schema Editor in order to help to edit *.sch files as well as validate their syntax.
+* [New] GeneralConfigWidget now restores the sch-highlight.conf to default.
+* [New] Added the environment variable name for schema editor app in GlobalAttributes.
+* [New] Added a specific icon for CLI on Windows.
+* [New] Added the methods SchemaParser::getCurrentColumn and SchemaParser::getCurrentLine.
+* [New] Added signal s_hideRequested to FindReplaceWidget to notify connected slots that the close button on that widget was clicked.
+* [New] Added an attribute capture-nearby to the word-separators tag that is read by SchemaParser to indicate if word separators must be capture altogether in the same word if they appear contiguously.
+* [New] Added options to create only missing config files or recreate all config file in CLI.
+* [New] Added support for saving SQL definition in split files.
+* [New] Added support for split SQL generation in CLI.
+* [New] Added the ability to cancel the SQL file export process in GUI.
+* [New] Created the methods UtilsNs::saveFile and UtilsNs::loadFile in order to replace repetitive save/load code by them.
+* [New] Created the function PgSqlVersions::parseString that checks the forced PostgreSQL version is valid, returning a fallback version when needed or raising an error if the version is malformed or is unsupported.
+* [New] Added new metacharacter to SchemaParser: $hs for #, $ps for %, $at for @, $ds for $.
+* [New] Added the option --force to the mime type handling operation on CLI.
+* [Change] Changed the behavior of column click on DataManipulationForm. Now, the sorting is triggered by holding control and clicking the desired column. Clicking a column without holding control will select all the items in that column.
+* [Change] Changed the behavior of extension types registration, now they will be forcibly registered with complete name (schema.name) in order to follow the same rule of user-defined data types so the reverse engineering can work properly for both types handled by extensions and those not.
+* [Change] Improved the type searching on PgSqlTypeWidget in such a way to display a popup with the data types matching the text typed by the user.
+* [Change] Improved TableObjectView to be rendered with/without schema names appended to user-defined data type names.
+* [Change] Minor adjustment on icon size of QTreeWidget instances.
+* [Change] Improved the NewObjectOverlayWidget in such a way to allow only one action to be executed at a time.
+* [Change] Several clean-ups in the source code root. Removed unused files.
+* [Change] The subproject libpgmodeler was renamed to libcore and now moved to libs/
+* [Change] The subproject libpgmodeler_ui was renamed to libgui and now moved to libs/
+* [Change] The subproject libobjrenderer was renamed to libcanvas and now moved to libs/
+* [Change] The main executable subproject was renamed to pgmodeler and now moved to apps/
+* [Change] The main-cli executable subproject was renamed to pgmodeler-cli and moved to apps/
+* [Change] The crashhandler subproject was renamed to pgmodeler-ch and moved to apps/
+* [Change] Created a subfolder called "assets" to store all deployed files that aren't libraries or executables: conf, lang, schemas, samples, etc.
+* [Change] Refactored all .pro/.pri files in order to reference pgModeler libraries from variables $$LIB[LIBNAME] instead of relative paths.
+* [Change] Renamed all icons that were in Portuguese to English.
+* [Change] In SnippetsConfigWidget replaced the SQL highlight by Schema micro-language highlighting.
+* [Change] Renamed BlockInfo class to TextBlockInfo and moved to a dedicated source file.
+* [Change] Changed the workflows to build any *fix, *change, *support branches.
+* [Change] Minor improvement on QMainWindow to resize general toolbar buttons.
+* [Change] Widgets that were emitting the signal s_visibilityChanged(bool) only on hide event no emit s_hideRequested instead. The s_visibilityChanged(bool) is now reserved to widgets that need to notify visibility changes passing the current state to slots (hidden/displayed) in for of a bool parameter.
+* [Change] Minor hint text typos fixes.
+* [Change] Improved the syntax error messages in SchemaParser.
+* [Change] Minor adjustment in the minimum width of the general toolbar when resizing the buttons.
+* [Change] BaseForm::setMainWidget(QWidget *) version will use the same icon as the widget being inserted.
+* [Change] Adjusting the general toolbar width according to the screen DPI.
+* [Change] Renamed the namespace PgModelerUiNs to GuiUtilsNs.
+* [Change] Renamed the namespace PgModelerNs to CoreUtilsNs
+* [Change] Source files and ui files in libgui were reorganized by contexts (widgets, tools, settings, utils, dbobjects)
+* [Change] Applied an automatic indentation to all schema files.
+* [Change] pgModeler will now create missing config files in the startup.
+* [Change] Replaced duplicated code that saves files and raises exception by UtilsNs::saveFile
+* [Change] The class Schema now has its own id interval (4000 - 4999) in order to make the split code generation be done properly.
+* [Change] Minor adjustment in AppearanceConfigWidget to enable scrollbars in the viewport so users on small screens can see the entire model.
+* [Fix] Fixed the crash handler and bug report form in such a way to load the last modified model opened before their execution.
+* [Fix] Fixed the column positions in ObjectDepsRefsWidget.
+* [Fix] Fixed a crash when the database import process fails to create an inheritance relationship somehow.
+* [Fix] Fixed a bug in the database import process that not correctly setting up the data type name of columns when the types were handled by extensions. Types handled by extension don't need to have the schema name prepended.
+* [Fix] Minor fix in database import process in such a way to properly update the table rendering to hide schema names from title box.
+* [Fix] Fixed a malformed SQL code when configuring timestamptz in PgSqlType.
+* [Fix] Fixed the reference to libutils in deploy scripts.
+* [Fix] Fixed doxygen references for libraries and executables.
+* [Fix] Fixed the path to globalattributes.cpp in deploy scripts.
+* [Fix] Added missing file windows_ico.qrc.
+* [Fix] Fixed a bug in SyntaxHighlighter that was wrongly highlighting the entire document when a multiline group had a line break as the final expression.
+* [Fix] Fixed the syntax highligting files (xml, sql).
+* [Fix] Minor fix in CLI in order to associate .sch files to the scheditor.
+* [Fix] Fixed a bug that was causing all layers to be active even if there was some inactive (invisible) when adding a new layer.
+* [Fix] Fixed the method PgModelerCliApp::handleWindowsMimeDatabase to properly insert sch file association in Windows registry.
+* [Fix] Fixed the "iCCP: CRC error" in PNGS at libs/libgui/res/icons
+* [Fix] Minor fix in SyntaxHighlighter in order to return unformatted word when the group can't be forcibly defined in all exception cases when the word doesn't match any group.
+* [Fix] Fixed the description of the option --output in CLI.
+* [Fix] Fixed a bug in CLI that could lead to segfault when using diff option and a database model as input.
+* [Fix] Fix broken build on Qt 5.11.x.
+* [Fix] Minor fix in PgSQLTypeWidget to capture the text changing signal on data type combo so the type format input can be properly updated when the user types the desire data type.
+
+v0.9.4-alpha
+------
+Release date: May 12, 2021
+
+* [New] Added compatibility code that allows loading models created in versions before 0.9.4-alpha without losing layers and active layers information.
+* [New] Added an option to the metadata handling operation that serves to indicate if duplicated objects (textboxes, tags, generic sql) must be merged or not.
+* [New] Added support for configuration parameters and transform types on functions and procedures.
+* [New] Added the compatibility method QtCompat::horizontalAdvance(QFont, QString).
+* [New] Added the ability to rename the default layer.
+* [New] DatabaseModel now stores in XML code all the new settings related to layers (rect and name colors, rect and names display status).
+* [New] Added several methods in ObjectsScene to handle layer colors that helps to save and restore colors from database model files.
+* [New] Add support for custom layer colors in LayerConfigWidget.
+* [New] Added the class LayerItem to create custom items for displaying layout rects in canvas.
+* [New] Added an option to toggle layers rectangles and names from LayerConfigWidget.
+* [New] Added support for setup, in general settings, the custom color for grid lines, canvas area and page delimiter lines.
+* [New] Added support for multiple layers on the model.
+* [New] Added support for PARALLEL attribute to functions.
+* [Change] Minor improvement on "Forced filtering" option on ObjectsFilterWidget in order to use a list widget instead of single actions for each object type.
+* [Change] Adjusted the default Qt version to 5.15.2 in the deployment scripts.
+* [Change] Minor adjustments on Messagebox resizing during first display.
+* [Change] Minor improvement on Messagebox in order to display the stack trace toggle button in a more intuitive way.
+* [Change] Changed the behaviour of the method ObjectsScene::removeLayers, now it'll allow the resetting or not the layers of the objects.
+* [Change] Minor adjustment on QTableWidget vertical header size on DataManipulationForm, ObjectsTableWidget and SqlExecultionWidget.
+* [Change] Minor size adjustment policy in the comboboxes in DataManipulationForm, ModelNavigationWidget and ModelValidationWidget.
+* [Change] Minor improvement in DatabaseImportHelper::setBaseFunctionAttribs in such a way to discover the name of the functions transform types from their oids.
+* [Change] Isolated the duplicated code in DatabaseModel::createFunction and DatabaseModel::createProcedure in the method DatabaseModel::setBasicFunctionAttributes.
+* [Change] Adjusted the minimum size of the main window to 640x480 so it can fit in smaller screens.
+* [Change] Minor refactoring on SchemaView::configureObject to avoid unecessary calculations when the layers are not visible.
+* [Change] Added forced updates of schema rectangles after setting layers to children objects.
+* [Change] Change on the search path for PluginsDir to use getPathFromEnv().
+* [Change] LayersConfigWidget will now emit a signal when toggling layer rects/names so the overview widget on mainwindow is properly updated.
+* [Change] DatabaseModel will now create a default layer in the constructor.
+* [Change] The database model will add the default layer to the loaded model if there isn't a single layer identified.
+* [Change] DatabaseModel when loading older database model files will generate random layer colors.
+* [Change] The scene now will update layer rects when catching the signal s_objectDimensionChanged from tables and textboxes.
+* [Change] Adjust the ObjectsScene to resize layer rects when one or more layers are removed.
+* [Change] Improved the window title of DataManipulationForm in sucha a way to display the currently browsed table.
+* [Change] Improved the selection of layers to be associated to object in context menu (Quick > Set layers). Now a floating widget is use to select multiple layers for the object selection in the canvas area.
+* [Change] Updated the sample models to use "layers" attributes on graphical objects.
+* [Change] Changed the value separator for attributes layers and active-layers on from semi-colon to comma.
+* [Change] pgModeler CLI will now rename "layer" attributes to "layers" in order to reflect the multiple layers support for older models.
+* [Change] Minor copyright updates.
+* [Change] The option "Truncate before alter columns" in the diff process was removed since its use is discouraged and dangerous in some situations.
+* [Fix] Minor fix in the table's catalog query in order to avoid setting up a partitioning strategy when the table is not a partitioned one.
+* [Fix] Minor fix in database import in such a way to update scene layers info before adding it to the main window.
+* [Fix] Fixed the layers configuration of example.dbm.
+* [Fix] Minor fix in function.sch in order to generate transform types only for PostgreSQL >= 9.5.
+* [Fix] Fixed DatabaseModel::getUserDefTypesReferences in such a way to detect that procedures and functions are referencing a user-defined type from their list of transform types.
+* [Fix] Fixed ObjectsTableWidget in such a way to control whether the ResizeColsButton can be displayed or not via ObjectsTableWidget::setButtonConfiguration.
+* [Fix] Minor fix to avoid black canvas when using settings from 0.9.3 or below on 0.9.4-alpha.
+* [Fix] Minor fix in BaseObjectView in such way to avoid the adjustment of its position to the scene grid when the object is not selected. This can avoid undesired adjustment when moving a schema box and having only a portion of its children selected.
+* [Fix] Minor fix in ObjectsScene in such a way to update layer rects when the grid alignment option is toggled.
+* [Fix] Fixed the buttons shortcuts on LayerConfigWidget.
+* [Fix] Minor fix on SchemaView to compute the last position any time the object is reconfigured.
+* [Fix] Minor fix in BaseObjectWidget to avoid mark the object as modified in finishConfiguration() before adding it to the parent.
+* [Fix] Fixed the key combination to trigger the magnifier tool.
+* [Fix] Fixed LayerItem in order to build in Qt 5.9.
+* [Fix] Minor fixes in ModelWidget, MainWindow to update scene layer settings correctly.
+* [Fix] Fixed the CLI in such a way to update scene layer settings so the exporting processes can generate graphical files correctly.
+* [Fix] Minor fix in LayersConfigWidget in such a way to mark the correct active layers when setting up the model to operate on.
+* [Fix] Fixed a bug in the layers removal process that was causing objects to be placed in a incorrect layer index after the removal.
+* [Fix] Fixed the "Fix" menu in main tool bar.
+* [Fix] Fixed a bug in ModelWidget that was causing overlay to be displayed when a textbox object was selected.
+* [Fix] Fixed wrong text in collationwidget.ui.
+* [Fix] Fixed a bug during the loading of changelog entries.
+* [Fix] Fixed the display of warnings during export in ModelExportForm.
+* [Fix] Fixed the display of warning messages during export in ModelDatabaseDiffForm.
+* [Fix] Fixed a malformed SQL code for triggers.
+* [Fix] Fixed typos in README.md.
+* [Fix] Fixed the broken build on Qt 5.9.x.
+* [Fix] Fixed a bug that was preventing special PKs to be properly configured.
+* [Fix] Fixed the SQL generation of functions based on internal language.
+
+v0.9.3
+------
+Release date: December 30, 2020
+
+* [New] Added support for deterministic and provider attributes in collations.
+* [New] Added missing check constraints in the data dictionary.
+* [New] Added support for selecting all relationships of a table at once via right-click on a table > select relationships.
+* [New] Added extra search fields in ObjectFinderWidget. Now it's possible to search relationships by the involved tables (source and destination table), constraints by their columns (source and referenced columns), and relationships by the foreign keys related to them.
+* [Change] The warning message about the unchecked option related to drop missing objects now pops up only when there are partial diff filters configured.
+* [Change] Improved the extended fade in/out options for tables/views/foreign tables.
+* [Change] The partial diff filters generated from changelog will ignore table children objects in order to avoid the wrong generation of diff code.
+* [Change] Minor refactoring in DatabaseModel::addChangelogEntry in order to use new attributes to define changelog operations.
+* [Fix] Fixed a crash when trying to select children objects of a schema that has no rectangle defined.
+* [Fix] Fixed a crash during the importing of domain objects.
+* [Fix] Fixed a crash during the importing of objects into the current model in very specific cases when the model had some tables/views referencing columns added by relationship.
+* [Fix] Fixed the full diff switching when there are no filtered objects in ModelDatabaseDiffForm.
+* [Fix] Fixed a bug in DatabaseModel::addChangelogEntry that was causing the registration of empty signature for some objects.
+* [Fix] Fixed a bug in CLI that was not accepting the use of --list-conns parameter
+* [Fix] Fixed the data dictionary generation in such a way to include nextval(sequence) calls in the "default value" column.
+* [Fix] Fixed a bug when configuring spatial data types during reverse engineering/diff.
+* [Fix] Fixed a bug in Catalog::parseDefaultValues that was causing ARRAY[] values to be wrongly split.
+* [Fix] Fixed a bug that was causing infinite validation of imported sequences.
+
+v0.9.3-beta1
+------
+Release date: October 5, 2020
+
+* [New] Added the version descriptor for PostgreSQL 13.
+* [New] Added support for procedures in design, import and diff processes.
+* [New] Added support for transforms in design, import and diff processes.
+* [New] Added an entry in NewObjectOverlayWidget for procedures.
+* [New] Added a custom version of addParameter to Procedure in order to validate the usage of out parameters.
+* [New] Added a tool button for transform objects in NewObjectOverlayWidget
+* [New] Added a unit test to verify schema files syntax (sql, xml, alter).
+* [New] Added the method Cast::setName to override the default behavior of BaseObject::setName.
+* [New] Added the class PgModelerUnitTest that must be inherited so the child test class can have access to schema files path.
+* [New] Added support for modifying attributes toggler colors from appearance settings.
+* [New] Tag objects now include attribute toggler colors.
+* [Change] Changed the behavior of the generation of SQL code for database object, now it'll respect the SQL disabled status of the object.
+* [Change] The ModelExportHelper will abort the export process if the SQL code of the database object is disabled.
+* [Change] The database model is now flagged as modified everytime the objects are swapped.
+* [Change] Improved the ObjectSelectorWidget in order to save/restore the geometry of internal ModelObjectsWidget instances.
+* [Change] Ajusted the Qt version check in QFontMetricsCompat and QPlainTextEditCompat in order to avoid deprecation warnings.
+* [Change] pgModeler will alert about a possible data/work loss if the user is trying to save a model in which there're other instances loaded other tabs.
+* [Change] Refactored FunctionWidget in such way to make it a subclass of BaseFunctionWidget.
+* [Change] Removing unused method DatabaseModel::removeObject(unsigned,ObjectType).
+* [Change] Moved the DTD defintion of parameter tag to a dedicated file to be shared betwen function.dtd and procedure.dtd.
+* [Change] Making the class Function be a direct child of BaseFunction.
+* [Change] Moved the common code between functions and procedures to a base class called BaseFunction.
+* [Change] Replaced the attributes PhysicalTable::DataSeparator and DatabaseExplorerWidget::ElemSeparator usages by PgModelerNs::DataSeparator.
+* [Change] Minor improvement on data dictionary in order to add the current year in the footer.
+* [Change] ModelExportHelper now is capable of indetifying a transform and procedure objects being exported.
+* [Change] Minor fields sizes adjustment in pgsqltypewidget.ui
+* [Change] Improved the schema files syntax tests to include all folder under / schemas.
+* [Change] Refactored the schema files in order to remove code duplication related to ddl-end token.
+* [Change] Minor improvement in ConfigurationForm by adding a splitter between config items (left) and settings page (right).
+* [Change] Minor improvements on objects rendering in order to consider screen dpi when configuring objects border sizes.
+* [Change] Minor refactoring in the parameter/signature generation in class Function.
+* [Change] Making the NewObjectOverlay less transparent in order to enhance reading.
+* [Fix] Fixed a bug in constraint.sch that was avoiding the correct importing of exclude of constraints.
+* [Fix] Fixed source file name for PgModelerCliApp.
+* [Fix] Minor fix in the SyntaxHighlighter in order to highlight correctly multline blocks (specially comments).
+* [Fix] Fixed a bug in DatabaseImportHelper that was causing failure when importing some objects' permissions.
+* [Fix] Minor fixes on the CLI menu.
+* [Fix] Fixed a bug on MainWindow that was wrongly showing the main menu bar in certain cases at startup.
+* [Fix] Minor fix in BaseFunction::createSignature in order to remove OUT keywords from signature.
+* [Fix] Fixed a bug when importing triggers in which functions arguments contain json/jsonb values. Now values are properly formatted.
+* [Fix] Fixed a bug in XmlParser::convertCharsToXMLEntities that was not converting json/jsonb default values correctly breaking the entire XML code of the database model.
+* [Fix] Fixed a bug in Parameter class that was causing default values to be ignored.
+* [Fix] Fixed a bug in SchemaParser related to exceptions being raised wrongly in expressions evaluation.
+* [Fix] Fixed the objects style template config files.
+* [Fix] Removed some deprecation warnings when building on Qt 5.15.1.
+* [Fix] Fixed a bug in ModelFixForm that was passing arguments to CLI in wrong format.
+* [Fix] Minor fix in some project files to remove unnused include paths.
+* [Fix] Fixed a bug in CLI that was ignoring input-db parameter when doing diff.
+* [Fix] Minor fix in the graphical objects rendering in 4k screens when QT_AUTO_SCREEN_SCALE_FACTOR is set to. Now they are rendered in acceptable proportions.
+* [Fix] Minor fix in ModelsDiffHelper in order to avoid generating ALTER...ADD COSTRAINT related to constraints (check and unique) in which parent table is also being created.
+
+
+v0.9.3-beta
+------
+Release date: July 10, 2020
+
+* [New] Added GitHub actions scripts in order to test the building on each platform. On Linux and macOs the build will occur on all Qt versions from 5.15 to 5.9, on Windows the build happens only on Qt 5.15 (due to the usage of msys2 that uses the most recent version of the framework).
+* [New] Added default constructors in the form "Class(const &)" for Connection, Parameter and TypeAttribute in order to avoid deprecated-copy warnings on GCC9.
+* [New] The CLI now validates the mixing of options of different operation modes.
+* [New] Added support for partial diffs between a model and database or between two databases.
+* [New] Created an internal changelog on DatabaseModel to register object's modification over time being useful for partial diff operations.
+* [New] Added the widget called ChangelogWidget to control the model's internal changelog settings in the design view.
+* [New] Added support for save/load changelog from model file.
+* [New] The CLI now supports partial diffs too.
+* [New] Create the method ModelsDiffHelper::getRelationshipFilters.
+* [New] Added a warning message prior to the partial diff without using "Do not drop missing objects" option.
+* [New] Created a method ObjectsFilterWidget::setModelFilteringMode that disables some options when the filtering widget is being used to filter database model objects.
+* [New] Added cast and user mapping to the list of filterable objects.
+* [New] Added a hint text in ObjectsFilterWidget to inform about exact match searching.
+* [New] Added the methods Catalog::clearObjectFilter and Catalog::clearObjectFilters.
+* [New] Added support for DatabaseImportHelper to create a sequence assigned to a column via default value if automatic dependencies resolution is enabled.
+* [New] Created the namespace QtCompat that will reunite all the specific code that isn't compatible between different Qt versions. The goal of this namespace is to store in a central point all the code that uses QT_VERSION_CHECK to perform different operations depending on the current Qt version.
+* [New] Added the method SchemaParser::getExpressionResult in order to perform comparisons between QVariant values correctly due to the QVariant operators deprecation in Qt 5.15.
+* [New] Added the signal ObjectsFilterWidget::s_filtersRemoved that is emitted whenever all filters are removed.
+* [Change] Modified the script wingetdate.bat in order to return the build number based on the current local date correctly and renamed it to getbuildnum.bat.
+* [Change] Updated to 5.15 the Qt version used by default in linuxdeploy.sh and macdeploy.sh.
+* [Change] Replacing verbose QString() calls by "" for string initialization purposes.
+* [Change] Improved the sequences assignments to columns in DatabaseImportHelper::assignSequencesToColumns.
+* [Change] Improved the method ModelsDiffHelper::setFilteredObjects in order to treat tables/view/foreign tables properly by appending their children objects to the creation order list of filtered objects.
+* [Change] Adjusted the Catalog::setObjectFilters in order to configure exact match filters when any wildcard filter provided has no *.
+* [Change] Adjusted the partial diff process between a model and a database in which there's one or more many-to-many relationships filtered.
+* [Change] Minor adjustment on objects grids in SwapObjectsIdsWidget, DatabaseImportForm and ModelDatabaseDiffForm by changing the columns order.
+* [Change] Improved the method ModelsDiffHelper::setFilteredObjects in order to detect the proper creation order of the provided objects.
+* [Change] Minor change in ObjectsFilterWidget by making the action "Only matching" checked by default.
+* [Change] Minor improvement on CLI to accept the value "all" for the paramenter --force-children in order to force all table children at once.
+* [Change] BaseObject::configureSearchAttributes now configures the signature attribute as a formatted string.
+* [Change] Minor improvement on ObjectFinderWidget::updateObjectTable in order to optionally create checkable items in the first column.
+* [Change] Attributes related to object filters were moved from Catalog to PgModelerNs in order to be shared between Catalog and DatabaseModel classes.
+* [Change] Minor improvement in Connection::getConnectionId in order to return an optional HTML formatted string.
+* [Change] Isolated the method DatabaseImportForm::listFilteredObjects in a static one in order to reuse it on ModelDatabaseDiffForm.
+* [Change] Improved the objects filtering in such way to allow filter by name or signature.
+* [Change] Improved the UI of ObjectsFilterWidget by moving all options to a popup menu.
+* [Change] Several changes in all catalog queries in order to support signature matching.
+* [Change] Minor adjustemnt in Catalog::getFilterableObjectNames.
+* [Change] Adjusted the appimages building process.
+* [Change] Changing the default font size of graphical objects to 10pt in order to try to solve the intermittend issue of disappearing texts.
+* [Change] Updated the French translation.
+* [Fix] Fixed a regression in ObjectFinderWidget that was not opening objects form with double-click on an item on the results grid.
+* [Fix] Fixed a bug when drawing relationships in FK to PK connection mode. Now when one of the tables is collapsed the center points of both are used as connection points to the relationship.
+* [Fix] Fixed a crash in ModelDatabaseDiffForm while enabling/disabling the partial diff tab.
+* [Fix] Fixed the diff process for inheritance relationships created for two existing tables.
+* [Fix] Fixed a crash in LayersWidget when renaming a layer.
+* [Fix] Minor fix in DatabaseImportHelper::assignSequencesToColumns.
+* [Fix] Fixed a wrong comparison in Catalog::getObjectsOIDs.
+* [Fix] Minor fix in ConstraintWidget that was trying to validate FK relationships for generated tables of many-to-many relationships.
+* [Fix] Fixed a bug in Catalog::getObjectsOIDs that was executing a catalog query for a certain object when it was not being filtered.
+* [Fix] Minor fix in ModelDatabaseDiffForm tabs enabling/disabling steps.
+* [Fix] Fixed the QProcess usage in ModelFixForm due to QProcess::start() deprecation in Qt 5.15.
+* [Fix] Fixed a crash when trying to move several objects to a layer from the object finder widget and in the selected set one or more objects aren't graphical ones.
+
+v0.9.3-alpha1
+------
+Release date: May 20, 2020
+
+* [New] Added support for creating initial configuration files from CLI.
+* [New] The CLI is now capable of using the objects filtering in reverse engineering.
+* [New] Added a warning message when trying to import a big database.
+* [New] Added support for object filtering in reverse engineering dialog.
+* [New] Adding support for AppImage building for Linux.
+* [New] Added support for importing PostgreSQL 12 generated columns.
+* [New] Adding support for PostgreSQL 12 generated columns.
+* [New] The ModelNavigationWidget now will display a save icon if the current model is pending a save operation.
+* [New] pgModeler now guesses if a FK relationship consists in a one-to-one based upon the foreign keys and unique keys settings.
+* [New] Improved the rendering of FK relationships. Now it recognizes the minimum cardinality by using the right crow's foot descriptor o|< or ||< in the destination entity.
+* [New] Added support for the conversion of 1-1 and 1-n relationships, allowing the user to perform modifications over objects generated by those relationships.
+* [New] Added "virtual" keyword in classes that inherit others so the destruction order can be followed correctly.
+* [New] Adding support for copy model validation widget output as text as well preview it as texts.
+* [New] Added support for show/hide all layers in LayersWidget.
+* [New] Added the paramenter application_name to Connection in order to indentify connections created by pgModeler when querying pg_stat_activity.
+* [New] Added support for save/restore Z value attribute in MetadataHandlingForm.
+* [New] Created an improved and reusable file selector widget.
+* [Change] Improvements done in DatabaseImportHelper in order to speed up the listing of types as well the importing user-defined types on demand.
+* [Change] Refactored the way default value fields states are setup by user's actions.
+* [Change] Adjusted the default size of DatabaseImportForm.
+* [Change] Avoiding retrieve all types (system and user defined) at once before the reverse engineering in DatabaseImportHelper (Experimental).
+* [Change] Minor improvement on DatabaseImportHelper in order to display the correct message while assingning sequences to columns.
+* [Change] Improved the catalog queries in order to retrive parent oids and type when using the list queries.
+* [Change] Minor updates on windeploy.sh and macdeploy.sh
+* [Change] Minor improvement on DatabaseImportHelper in order to speed up the objects creation.
+* [Change] Improved the execution time for the catalog query of data types.
+* [Change] Improved the catalog query for sequences.
+* [Change] Avoiding the diff process to generate default value changes for generated columns.
+* [Change] Minor improvement on DatabaseModel::validateRelationships.
+* [Change] Improved the ModelWidget::convertRelationship1N() in order to avoid segfaults in certain cases.
+* [Change] Minor adjustment in PhysicalTable::restoreRelObjectsIndexes in order to diminish memory usage.
+* [Change] Minor improvement on update icon.
+* [Change] Minor improvement in LayersWidget in order to allow manual resizing using the mouse.
+* [Change] Improved the following classess in order to use the new file selector widget: ModelExportForm, ModelFixForm, MetadataHandlingForm, ModelDatabaseDiffForm, GeneralConfigWidget, PluginsConfigWidget, CsvLoadWidget, CrashHandlerForm and BugReportForm.
+* [Fix] Minor fix in OperationList in order to update FK relationships related to FKs that contains the column being handled by the list.
+* [Fix] Fixed a bug when retrieving the refs to some objects in DatabaseModel.
+* [Fix] Minor fix in CLI menu and error messages.
+* [Fix] Fixed the role importing process. Now referenced roles are auto resolved.
+* [Fix] Fixed the dependency checking for user defined types in DatabaseModel.
+* [Fix] Fixed a bug when loading extension that has no schema specified.
+* [Fix] Minor fix in DatabaseImportHelper::createFunction in order to solve eventual duplicated parameter names when importing some functions.
+* [Fix] Fixed a bug that was causing global name patterns for relationships to never be used even if they were properly configured.
+* [Fix] Minor fix in ModelObjectsWidget and ModelWidget to provide the correct information about objects' selection in SceneInfoWidget.
+* [Fix] Fixed a bug in RelationshipWidget that was causing the cursor never to be restored to its original icon when an exception occurred during relationship editing.
+* [Fix] Fixed a crash in some situations when closing models.
+
+v0.9.3-alpha
+------
+Release date: March 26, 2020
+
+* [New] Added support for multiselection in ModelObjectsWidget.
+* [New] Added an optional parameter in PgModelerNs::generateUniqueName to avoid comparing the input object.
+* [New] Added support for objects' bulk renaming.
+* [New] Added support for multiselection in ObjectFinderWidget.
+* [New] Added support for middle button click on source code panel in order to paste the selected code in the current open SQL execution widget.
+* [New] Using the CRTP (Curiosly Recurring Template Pattern) approach to create a template type based on BaseType in such way that the static member from that template but used on all derived classes of TemplateType can be unique for each derived class.
+* [New] Added a "Stacking" action in popup menu that is used to control the z value of graphical objects.
+* [New] Adding support for move objects on the Z stack up and down.
+* [New] Added support for CLI to write system wide mime database on Linux and Windows.
+* [New] Added a method GlobalAttributes::setSearchPath so the application can setup the path in which the internal folders (schemas, lang, etc) can be found.
+* [New] Added the ability to remove owners from objects from Quick Actions > Change owner.
+* [New] Added an fix step that removes IN keyword from functions signatures.
+* [Change] Refactored the method DatabaseModel::getObjectDependecies by splliting it into small portions that handles specific object types dependecies.
+* [Change] The DatabaseModel::getObjectReferences was splitted in other get[object]References() in order to facilitate maintainance.
+* [Change] Minor adjustments in order to make the objects listing a bit faster for large databases.
+* [Change] Minor improvement on ObjectRenameWidget in order to apply renaming in reverse id order of the object so objects invalidations (due to relationships revalidations) diminishes.
+* [Change] In DatabaseModel the invalidated special objects are now stored in a list which is destroyed only when the model is destroyed too. This will avoid segfaults in some cases when the objects in that list are still being referenced in the operation list (Experimental).
+* [Change] Minor adjustment in ModelObjectsWidget and ObjectFinderWidget in order to emit the signal ModelWidget::s_sceneInteracted so the left menu at MainWindow can be updated accordingly.
+* [Change] Minor change in PgModelerNs::generateUniqueName in order to remove quotes from names before perform the comparison.
+* [Change] Refactored ObjectRenameWidget in order to support multiple objects renaming.
+* [Change] Refectored all the classes derivated from BaseType moving them to dedicated sources files in order to make them reuse TemplateType class isolating the related keywords, improving maintainance.
+* [Change] Removed the class LanguageType since it was replaced by namespace DefaultLanguages namespace.
+* [Change] Isolated the default language names into a namespace called DefaultLanguages and removed any reference to LanguageType in the code.
+* [Change] Improved the DataManipulationForm in such way that the user can sort results by clicking the column names in the result grid. This will cause a new query to be performed by using the clicked column as sorting criteria.
+* [Change] The current model's popup menu is now used as the "More" actions menu at MainWindow > general toolbar.
+* [Change] Refactored the ModelWidget::configurePopupMenu separating some portions in new methods to make maintainance more easy.
+* [Change] Moved the 'Fix model' and 'Objects metadata' actions to the general toolbar (left) at main window under the menu "Fix".
+* [Change] The class HintTextWidget was removed and replaced by simple html QToolTips.
+* [Change] Small change in the icon related to new tab opening in SQLToolWidget.
+* [Change] Minor adjustment or rows resizing policy on datamanipulationform.ui.
+* [Change] Minor adjustment on updatenotifierwidget.ui to allow link opening.
+* [Change] Refined the installer wizard pages.
+* [Change] Improved the installer script to work better on Windows.
+* [Change] Improving the installer on Linux and Windows to select the installation for all users or current user.
+* [Change] Improved the linuxdeploy.sh in order to remove the need to use the startup scripts by the binaries in the installer.
+* [Change] Fixed the installscript.qs in order to correctly update the mime database on Linux.
+* [Change] Minor improvements on the usability of swap objects ids form.
+* [Change] Separated the code that handles mime db on linux and windows, using a #ifdef switch to call the correct method depending on the platform.
+* [Change] Adjusting the linker options to make the executables search for libraries in PRIVATELIBDIR without forcing the usage of LD_LIBRARY_PATH.
+* [Change] The class Application was moved to libutils and has a basic implementation of just initialize the search path on GlobalAttributes.
+* [Change] Rename the classes Application and PgModelerCli to respectively PgModelerApp and PgModelerCliApp and they now inherits the new Application class in order to take advantage of the GlobalAttributes::setSearchPath.
+* [Change] The crash handler application is now executed under a Application instance not a QApplication anymore in order to use GlobalAttributes::setSearchPath.
+* [Change] Changed the namespace GlobalAttributes to a singleton in order try to solve problems with fallback paths.
+* [Change] Updated deployment scripts to use Qt 5.14.x
+* [Change] Changing the exposed main window from QMainWindow to MainWindow in PgModelerPlugin interface.
+* [Change] Moved the method SchemaParser::convertCharsToXMLEntities to XmlParser.
+* [Change] Minor buttons position adjustments on WelcomeWidget.
+* [Change] Minor refactoring on OperationListWidget in order to show a more compact text when displaying operations done over objects.
+* [Change] Removed the workaround code that disables the ALTER SET OWNER when the role associated to it is disabled and the object itself not. The best approach is to dissociate the role from the object so the ALTER instruction is not generated.
+* [Fix] Fixed a shortcut duplication in DatabaseExplorerWidget
+* [Fix] Fixed the shortcut for partitioning relationships in new object overlay
+* [Fix] Fixed a minor bug in MainWindow that was causing the bottom widgets bar to be displayed even when object finder widget and model validation widget weren't visible.
+* [Fix] Fixed a bug that was causing copy options to stay hidden for copy relationships in the relationship form.
+* [Fix] Fixed the importing of extensions on PostgreSQL 9.4 and below.
+* [Fix] Fixed the name uniqueness generation when the name is truncated when exceeding 63 bytes.
+* [Fix] Fixed a bug that was preventing the recent menus cleaning to be persisted in the conf file.
+* [Fix] Fix a bug in the validation of collation objects.
+* [Fix] Fixed a crash in ObjectRenameWidget when renaming several objects in which there was the need to revalidate relationships;
+* [Fix] Fixed the method PgSqlType::getTypes in order to avoid returning the first (null) type.
+* [Fix] Fix the importing/diff of columns based on PostGiS data types.
+* [Fix] Fix a crash in UpdateNotifierWidget when compiling pgModeler using Qt 5.14.x.
+* [Fix] Minor fix in PgSQLTypeWidget to avoid show an error message box when the user types an invalid data type name.
+* [Fix] Additional fix on XmlParser::convertCharsToXMLEntities in order to replace special char to xml entities correctly.
+* [Fix] Minor fix in the update notifier widget display position.
+* [Fix] Minor fix in diff regarding to the comparison on column/domain default values. Now the values are compared in insensitive case.
+* [Fix] Fixed the Windows installer in order to create the start menu item correctly (system wide).
+* [Fix] Minor fix on CLI in order to allocate export/import/diff helpers and config widgets only when they are required (when one of the options related are used).
+* [Fix] Fixed a bug that was allowing the applying changes of the forms on relationship added objects by hitting ENTER causing crashes.
+* [Fix] Fixed the bug that was causing model restoration to be displayed when the application was started from a double click on a model file.
+* [Fix] Fixed a bug in the metadata handling that was not restoring the collapse mode of tables.
+* [Fix] Fixed a crash on UpdateNotifierWidget after upgrading to 5.14. A wrong deletion was being performed where deleteLater() needed to be used instead
+* [Fix] Removing lots of Qt 5.14 deprecation warnings in the code.
+* [Fix] Fix a bug that was causing wrong replacements during the reverse engineering of functions.
+* [Fix] Fixed the method XmlParser::convertCharsToXMLEntities in order to avoid chars replacements within Release date: December 26, 2019
+
+* [New] Add support for data dictionaries generation in HTML format in ModelExportForm.
+* [New] Added options to control data dictionary generation in CLI.
+* [New] Plugins now can optionally be associated to a menu action or not. Generally, an plugin not associated to a menu action is automatilly executed during the startup (see PgModelerPlugin::initPlugin).
+* [New] Added a missing model fix step on CLI that removes the IN keyword from functions signatures.
+* [Change] Making BaseRelationship::getReferenceForeignKey() public.
+* [Change] Isolated duplicated code in MainWindow::isToolButtonsChecked that checks if any tool button of the bottom or right widget bars is checked.
+* [Change] Removing the plugins from core code.
+* [Change] Modified pgmodeler.pro to include plugins folder when present in the source root (either in debug or release mode).
+* [Change] Ignoring plugins folder in the core code.
+* [Change] Minor improvement on ModelWidget::rearrangeSchemasInGrid in order to consider the amount of tables to determine the minimum grid size used to rearrange table.
+* [Change] Minor text adjustments in CLI.
+* [Change] Added an additional checking during relationship creation in order to avoid the creation of 1-* or n-n relationships involving partition tables.
+* [Change] Removing the restriction to create 1-1, 1-n and n-n relationships in which the involved tables are partitioned ones.
+* [Change] Disabling the SQL statment ALTER...OWNER TO in the object's SQL when the owner role has its SQL disabled but the object itself not. This will avoid reference errors when validating/exporting code.
+* [Fix] Fixed the "Save" action enabled state according to the current model's modified state.
+* [Fix] Fixed a crash when the user tried to edit connections in ModelDatabaseDiffForm and right after select a connection in the "Compare to" field.
+* [Fix] Fixed the generation of escaped comments for columns.
+
+v0.9.2-beta2
+------
+Release date: November 1st, 2019
+
+* [New] Added support for foreign tables.
+* [New] Added the method DatabaseModel::getObject(QString,vector) to return the first ocurrency in the lists related to the provided types.
+* [New] Added support for select all foreign tables in ModelWidget.
+* [New] Created the method BaseTable::isBaseTable to help determining if an object type is of Table, View or ForeignTable.
+* [New] Added extra support for foreign tables on DatabaseExplorerWidget and DataManipulationForm.
+* [New] Added the method DatabaseImportHelper::createColumns in order to isolate the code to create table/foreign table columns during reverse engineering.
+* [New] Added support for foreign table importing as well its children objects (columns, constraints, triggers).
+* [New] Added server and options fields on TableWidget for foreign table.
+* [New] TableWidget now fully supporting the edition of foreign tables.
+* [New] Added the ability to TableView to render ForeignTable objects.
+* [New] Added support for swap objects ids using arrow keys by changing creation order between two close objects on the grid.
+* [New] Added support for save diff settings in form of presets.
+* [New] Added an option to BaseObject to force the comment escaping making multilined comments be presented as single lines but without changing their semantics.
+* [New] Adding support for parse escaped text delimiters and value separators in CSVLoadWidget.
+* [Change] Avoiding the usage of "Generate ALTER commands" option when the table is a partition or partitioned.
+* [Change] Avoid unchecking PK checkboxes on TableWidget when adding a new column.
+* [Change] Validating the dialogs geometry regarding to screens geometry in order to avoid their appearance in an invalid position (out of range).
+* [Change] Limiting the size of the exceptions stack in 50 elements.
+* [Change] Improved the GenericSQL::isObjectReferenced in order to check if, when a referenced object is a column, the provided object is the same as the parent of that referenced object.
+* [Change] Restricting the usage of "Default partition" option for partitioning relationships when the partition table is a foreign table.
+* [Change] Making ModelObjectsWidget update the foreign table subtree.
+* [Change] Making ReferenceWidget to use foreign tables from referenced table selector.
+* [Change] Improved the Relationship class to accept foreign tables.
+* [Change] Improved the DatabaseModel::getObjectDependecies and DatabaseModel::getObjectReferences to include ForeignTable.
+* [Change] Updated View class to accept reference foreign table columns.
+* [Change] Moved the original implementation of DatabaseModel::createTable to a template method createPhysicalTable in order to reuse it to create tables and foreign tables.
+* [Change] ForeignObject is not a BaseObject child anymore due to multi inheritance problem that it can generate in ForeignTable class.
+* [Change] Minor ajustment in Relationship class to accept PhysicalTable in its constructor so relationships can be used by ForeignTable class as well.
+* [Change] Isolated the code common to Table and ForeignTable classes in a parent class named PhysicalTable.
+* [Change] Disabling mime type update on installers.
+* [Change] Minor adjustment on SQLExecutionWidget::generateBuffer to escape line breaks and separators when generating CSV buffer.
+* [Change] Removing unused code from NumberedTextEditor.
+* [Change] Changed the way temp source file is handled by the tool in order to solve a sharing violation problem on Windows.
+* [Change] Minor adjustment on HtmlItemDelegate to avoid creating local variables in paint() everytime the method is called.
+* [Fix] Fixed an bug in SQL generation of columns that was wrongly removing a comma from decimal data types.
+* [Fix] Fixed some catalog queries in order to support PostgreSQL 12.
+* [Fix] Fixed ObjectsScene to remove foreign tables during destruction.
+* [Fix] Fixed the View::getObjectCount in order to return 0 when the provided object type is invalid.
+* [Fix] Fixed the ObjectFinderWidget in order to fade out correctly the listed/not listed elements.
+* [Fix] Fixed the quick actions menu at ModelWidget in order to include the "Edit data" action for foreing tables.
+* [Fix] Fixed the DatabaseImportHelper::assignSequencesToColumns in order to correctly assign sequences to foreign table columns.
+* [Fix] Fixed a crash in ModelValidationHelper that was caused by wrong checking when validating generic sql objects.
+* [Fix] Fixed the source code display for tables and foreign tables on DatabaseExplorerWidget.
+* [Fix] Fixed the CodeCompletionWidget to display foreign table children.
+* [Fix] Fixed the loading of generic SQL objects when a referenced object was a column.
+* [Fix] Additional fixes to correctly reference foreign tables and tables in the portions were both classes are acceptable/desirable.
+* [Fix] Fixed the diff process in order recognize partition foreign tables attach/detach.
+* [Fix] Fixed the generation of XML code of partitioning relationships.
+* [Fix] Fixed the Relationship::getAlterRelationshipDefinition to include foreign tables.
+* [Fix] Fixed the preset.sch since it was not registering the "Reuse sequences" options correctly.
+* [Fix] Improved the DataManipulationForm in order to restore the columns visibility when retrieving again the data of the current table.
+* [Fix] Fixed the drop action in DatabaseExplorerWidget for user mappings.
+* [Fix] Fixed the ModelWidget::rearrangeTablesInGrid to adjust position of foreign tables.
+* [Fix] Fixed the generation of SQL code of partition tables in order to avoid the inclusion of partitioned tables columns on the code.
+* [Fix] Fixed a crash on DatabaseImportHelper when destroying detached inherited columns.
+* [Fix] Fixed the object duplication operation in model widget to accept duplicate foreign table children objects.
+* [Fix] Fixed the creation of relationships involving foreign tables.
+* [Fix] Fixed the permission object in order to support foreign tables.
+* [Fix] Fixed the model export helper to support foreign tables.
+* [Fix] Fixed ModelWidget to show missing popup actions for foreign tables.
+* [Fix] Fixed the NewObjectOverlayWidget to display tool buttons related to foreign table children.
+* [Fix] Fixed the SchemaView::fetchChildren to include foreign tables in the returned list.
+* [Fix] Fixed the ModelValidationHelper to validate foreign tables and table-view relationships.
+* [Fix] Fixed ColumnWidget and ConstraintWidget to accept foreign tables usage.
+* [Fix] Fixed a regression when importing permissions related to functions.
+* [Fix] Fixed the OperationList to handle foreign tables.
+* [Fix] Fixed create methods in DatabaseModel related to table children object in order to accept foreign tables.
+* [Fix] Fixed the SwapIdsWidget postion/size saving and restoration.
+* [Fix] Minor tooltip fix in GeneralConfigWidget.
+* [Fix] Minor fix in default conf files removing unused tag attribute.
+* [Fix] Additional fix to the extension import to correctly indetify it as a data type handler.
+* [Fix] Fixed a bug on Role's SQL generation due to a missing attribute.
+* [Fix] Additional fix in GeneralConfigWidget to save correctly the settings of dockwidgets.
+* [Fix] Minor fix in DatabaseModel to write ddl end token in the appended/prepended custom code.
+* [Fix] Fixed a false-positive result when doing the diff between two fuctions that contains the same signature.
+* [Fix] Fixed the diff generation for Role objects when setting up an blank password.
+* [Fix] Fixed the "Prepend at the beggining of the model" option behavior on CustomSQLWidget.
+* [Fix] Fixed the catalog query for extension in order to indetify correctly if this object handles a data type.
+* [Fix] Fixed the Variadic option enabling on ParameterWidget.
+* [Fix] Fixed the saving of validator widget settings. There was a conflict between pgsql-ver attributes present on the validator settings and the default attribute added by the schema parser. The solution was to use a different attribute (version) in the validator.
+* [Fix] Fixed the "Clear items" action in popup menu at DataManipulationForm.
+* [Fix] Fixed the importing of tables and views in such way to automatically create correctly the domains referenced by their columns.
+* [Fix] Fixed a bug on ModelDatabaseDiffForm that was causing the form to be reseted on the middle of a diff process when the user minimize the diff dialog causing unexpected behavior (or even crashes sometimes).
+* [Fix] Minor fix in AboutWidget.
+* [Fix] Minor fix in ModelDatabaseDiffForm to avoid using uniform items height in output widget.
+
+v0.9.2-beta1
+------
+Release date: September 2, 2019
+
+* [New] Added a routine to write a backup file during the saving of model files in order to avoid data loss in some rare cases.
+* [New] Added a new action on DataManipulationForm to clear the selected items by pressing Ctrl+R.
+* [New] Enabling/disabling the save model action according to the model's modified status.
+* [New] The main window instance is now exposed to plugins to make the extra features development more flexible.
+* [New] Avoiding selecting table items in BaseTableView::mousePressEvent which doens't contain an underlying (source) object.
+* [New] Adding support for duplicate several table objects at once.
+* [New] Added support for table children multiselection by using Ctrl+Shift+Click on them.
+* [New] Added support for load the generated diff code in the SQL tool and automatically browsing the destination server for manual diff applying.
+* [New] Added a button to create a new data manipulation form from within another data manipulation form.
+* [New] Added a confirmation message before closing a database explorer widget.
+* [Change] Minor adjustments in PgModelerUiNs::createOutputListItem and PgModelerUiNs::createOutputTreeItem to better display formatted messages.
+* [Change] Minor improvement on CSV text copying to exclude from the buffer the hidden columns.
+* [Change] Adjusted the font weight on WelcomeWidget (only for Linux).
+* [Change] Minor adjustment on tool buttons font size on DataManipulationForm.
+* [Change] Improved the UI of the DataManipulationForm by rearranging the tool buttons to the left of the dialog.
+* [Change] Improved the clipboard text pasting on DataManipulationForm in order to parse the text as CSV when Ctrl+Shift+V is pressed.
+* [Change] The filter input on SQLExecutionWidget is now automatically focused when toggling the filter widget.
+* [Change] Changed the default behavior of result set filtering to Qt::MatchContains on SQLExecutionWidget.
+* [Change] Avoiding showing the "Swap ids" action in popup menu when we have only columns/constraints selected
+* [Change] Minor adjustment on SceneInfoWidget to avoid display dimensions of selected columns/constraints on the canvas.
+* [Change] Renamed the method BaseGraphicObject::getReceiverObject to getOverlyingObject (to make sense with its counter part BaseObjctView::getUnderlyingObject)
+* [Change] Avoiding clear the whole scene selection when the table is already selected and the user requested popup menu.
+* [Change] Renamed BaseObjectView::getSourceObject to getUnderlyingObject.
+* [Change] Improved the object protection action in ModelWidget in order to accept the multi item selection on tables.
+* [Change] Changed the way the PSVI attribute is handled in xmlparser to retrieve big line numbers on a xml document.
+* [Change] Improved the diff code preview allowing the user to close the dialog without going back to previous tab and click 'Cancel'.
+* [Change] Minor adjustment on buttons shortcuts/tooltips on DataManipulationForm.
+* [Change] Changed the way the model saving timers are controlled to avoid infinity savings on the model (when the auto saving option is disabled) making the application unusable.
+* [Change] Making the mime update operation return exit code 0 even if there was errors (still displayed in the console). This will avoid the installer to abort installation when the dbm mime update fails.
+* [Change] Avoiding applying fillfactor to gin indexes.
+* [Change] Moved the method DatabaseImportHelper::parseIndexExpressions to Catalog class.
+* [Fix] Fixed a broken diff code generation for policies.
+* [Fix] Fixed the object duplication action when only a single table object is selected.
+* [Fix] Fixed a bug in ModelWidget::removeObjects that was causing the removal of relationship added columns
+* [Fix] Fixed the ModelWidget::configurePopupMenu to consider the table's multi item selection.
+* [Fix] Fixed a false-positive diff result when dealing with timestamptz.
+* [Fix] Fixed the progress calculation of dbm files loading.
+* [Fix] Fixed a bug that was causing the generation of broken view code.
+* [Fix] Fixed the display of index expressions on DatabaseExplorerWidget.
+* [Fix] Minor fix on SQLExecutionWidget to avoid results grid to overlap command execution history widget in certain cases.
+
+v0.9.2-beta
+------
+Release date: May 31, 2019
+
+* [New] Added support for user mapping.
+* [New] Added support for foreign server.
+* [New] Added support for foreign data wrapper.
+* [New] Added support for reduced verbosity on diff, export and import processes in order to improve performance.
+* [New] Adding missing tootip on ObjectFinderWidget.
+* [New] Generic SQL objects now support dynamic references to objects which can be used in the definition code.
+* [New] Added support for compare foreign servers on diff process.
+* [New] Created a generic getAlterDefinition on ForeignObject.
+* [New] Added ForeignServer toolbutton in NewObjectOverlayWidget.
+* [New] Added support for the reverse engineering user mapping objects.
+* [New] Added support for the reverse engineering foreign server objects.
+* [New] Added code snippets for foreign data wrapper and foreign server.
+* [New] Added support for diff user mapping.
+* [New] Added support for diff foreign data wrappers.
+* [New] Added support for set permissions to foreign data wrapper.
+* [New] Added the WRAPPER, SERVER and MAPPING key words to sql-highlight.conf.
+* [New] Added the method PgSqlType::isExactTo in order to do a full comparison (all attributes) between two data types.
+* [New] Added the ability to view references to store referenced tables. This feature will cause relationships to be created between the view and the referenced tables. This is useful when we're using reverse engineering feature in which, in previous versions, couldn't determine the tables that were linked to a view. Now, with this feature a relationship is created between the view and all involved tables.
+* [New] Added missing data type macaddr8.
+* [New] Enabling quick clear button on several input fields.
+* [New] Added support for result set filtering in the SQL execution widget.
+* [New] Adding a column labeled "Comment" in TableWidget and ViewWidget to hold comments of children objects.
+* [Change] Changed the shortcut of run SQL action in SQLExecutionWidget to F5.
+* [Change] Changed the shortcut of tree update action in DatabaseExplorerWidget to F6.
+* [Change] Change "New object" action in popup menu in order categorize object types when clicking the database object diminishing the amount of items displayed on the screen.
+* [Change] Improved the object search mechanism in such way that various attributes of the object can be matched. New searchable attribute may be added in the future.
+* [Change] Added missing code documentation.
+* [Change] Minor adjustment on ForeignDataWrapper::getAlterDefinition.
+* [Change] Minor improvement on ModelDatabaseDiffForm to show the connection id of the databases being imported in the output tree.
+* [Change] Formatting server objects' attributes on DatabaseExplorerWidget.
+* [Change] Minor adjustments on the icons of the buttons in ObjectsTableWidget.
+* [Change] Improved the method DatabaseModel::getObjectReferences to detected foreign data wrappers as functions' references.
+* [Change] Minor code refactoring on Table and View classes.
+* [Change] Renamed the method Exception::getErrorType to Exception::getErrorCode.
+* [Change] Improved the ModelValidationWidget in such way that is possible to operate over objects on the output list through their respective context menu (the same as in the ModelWidget).
+* [Change] Now its possible to trigger the swap ids dialog for two selected objects, causing their ids to be swapped more quickly.
+* [Change] Minor refactor on schema files.
+* [Change] Minor attributes refactoring on several classes.
+* [Change] Minor change in the PgSqlType constructor by turning some parameters optional in order to facilitate the creation of array only types.
+* [Change] Minor update on disclaimer text at start of the source files.
+* [Change] Allowing copied object to be pasted multiple times. This feature works only with copy/paste operation without remove the pasted objects from the clipboard, for cut/paste the behaviour is unchanged.
+* [Change] Increased the maximum limit of SQL history.
+* [Change] Updated the windeploy.sh and the installer scripts.
+* [Change] Adjusted the installer scripts.
+* [Change] Changed the windows deploy script to use Qt Installer Framework.
+* [Change] Adjusted the deploy script to use Qt 5.12.
+* [Change] Fixed the windows deploy script to use newer version of the compiler in 64 bits environment.
+* [Change] Minor improvements in SQLToolWidget and SQLExecutionWidget to avoid segmentation faults when trying to close a execution tab while the command is still running.
+* [Change] Adjusted the resize parameters in DataManipulationForm to avoid wrong dialog resizings mainly on Windows.
+* [Fix] Fixed a bug in DataManipulationForm that was deleting new rows wrongly.
+* [Fix] Fixed a bug that was causing domain constraints not to be extracted correctly during reverse engineering.
+* [Fix] Fixed a bug that was causing a fk relationship not to be deleted if the fk tied to it was changed by the user.
+* [Fix] Fixed a bug on CLI that was not fixing broken models correctly when they had no role declaration.
+* [Fix] Fixed a bug that was causing tables not to be moved on the canvas using mouse.
+* [Fix] Fixed a crash related to destruction of special objects on DatabaseModel::destroyObjects.
+* [Fix] Fixed a bug that could crash the application when no language was specified to a funcion and the SQL/XML code was being generated.
+* [Fix] Minor fix a bug on index importing.
+* [Fix] Minor fix on View::isReferencingTable.
+* [Fix] Fixed a crash when a query executed in SQLExecutionWidget was a DDL one or was not returning results.
+* [Fix] Fixed a bug in CLI that was failing to fix model in certain cases.
+* [Fix] Minor fix on buttons tooltips.
+* [Fix] Fixed a bug that was causing syntax error if the last column of a table had the SQL code disabled.
+* [Fix] Fixed a bug on diff process due to a missing attribute on the generation of diff code for inheritance relationships.
+* [Fix] Fixed a bug when rendering several self relationships attached to the same table.
+* [Fix] Fixed the CLI in order to restore the layers information when fixing a broken model.
+* [Fix] Fixed a bug in object finder that was causing objects from a hidden layer to be displayed causing inconsistency on the layer state.
+
+
+v0.9.2-alpha1
+------
+Release date: December 17, 2018
+
+* [New] Added support for scene layers.
+* [New] Added support for view's columns importing in DatabaseImportHelper.
+* [New] Added the ability to load view columns from database model file in DatabaseModel::createView.
+* [New] Added a tab "Columns" in ReferenceWidget where the user will be able to insert columns to be used as view columns.
+* [New] Added support for pagination of tables and views columns pagination.
+* [New] Added a pagination toggler action on context menu at ModelWidget.
+* [New] Added a fix step on CLI to remove the deprecated attribute hide-ext-attribs from tables and views xml code.
+* [New] Added a configuration option to control attributes per pages in tables and views.
+* [New] Added support for save collapsing states and current attributes pages to the database model file.
+* [New] Added constants to reference child objects of TableObjectView.
+* [New] Added the class TextPolygonItem which can be used to draw a text over a background polygon.
+* [New] Added support for OLD/NEW tables aliases on triggers.
+* [New] Added a hint text on RelationshipWidget to document the correct usage of default partitions.
+* [New] Added support for partition attaching/detaching detection in diff process.
+* [New] Added auxiliary methods in Table class in order to add/remove and retrieve partition tables.
+* [New] Added support for importing partitioned/partition tables on DatabaseImportHelper.
+* [New] Added a missing validation in Relationship to avoid creating other types of relationships involving partitioned or partition tables.
+* [New] Added support for specify partition bounding expression on partitioning relationships.
+* [New] Added support for resize grid cells to fit contents on ObjectsTableWidget.
+* [New] Added a tab "Partition keys" that will handle partitioning configuration on TableWidget.
+* [New] Added a method in ObjectsTableWidget to hide some horizontal header sections.
+* [New] Added some validations when creating partitioning relationships.
+* [New] Added support for hide columns on data manipulation dialog.
+* [New] Added a transient attribute to objects DatabaseModel, Table and View in order to give a hint on the maximum count of objects held. This attribute is used to preallocate the vectors which store the children objects in order to avoid excessive memory allocation/deallocation due to vector resizing.
+* [New] Added a column labeled "Alias" on all objects tables in TableWidget so the aliases of children can be displayed.
+* [New] Added support for adding tabs via shortcut or corner button in the SQL Execution panel.
+* [Change] Minor adjustments on MainWindow to make the overview widget to update its contents whenever the active layers change on the current model.
+* [Change] Minor adjusment in ObjectsScene::addItem to make the item (in)visible according to the visibility of its related layer.
+* [Change] Minor fix in AttributesTogglerItem in order to consider the parent's opacity during painting.
+* [Change] Minor fixes in OperationList in order to force views to be updated correctly when operating over a table which is referenced by those objects.
+* [Change] Minor adjustments on SchemaView and BaseTableView (and its children classes) to update the geometry when they switch from invisble to visible state.
+* [Change] Changed views in such way so they can use the struct SimpleColumn to represent their deduced columns.
+* [Change] Improved the update of views when referenced columns and tables change their structure.
+* [Change] Improved database model loading times by avoiding the rendering of tables while the children objects (indexes, trigger, rules, etc) are being added.
+* [Change] Removed the several operators ~ overloading that statically cast enums to their underlying type and created a template function called enum_cast in C++14 syntax.
+* [Change] The zoom in/out level is now sensible on how much the user rolls the mouse wheel.
+* [Change] Move the default implementation of configureObjectShadow and configureObjectSelection from BaseObjectView to BaseTableView.
+* [Change] Disabling configureObjectSelection and configureObjectShadow on TableObjectView and RelationshipView.
+* [Change] Minor adjustment on protected icon position on TableTitleView and TextboxView.
+* [Change] Minor performance adjustments in ModelWidget.
+* [Change] Minor improvement in TextboxView to use only a TextPolygonItem to hold text and the object's rectangle instead of a box and a text items.
+* [Change] Replaced the sql_info_txt and sql_info_box items by a single instance of TextPolygonItem to denote SQL disabled status.
+* [Change] Replace the tag_body and tag_name elements on BaseTableView by the tag_item which is a instance of TextPolygonItem.
+* [Change] Improved the TableObjectView to avoid adding extra scene items.
+* [Change] Improved the TableTitleView to avoid adding children items. A custom paint() method now draws them.
+* [Change] Removing unused fr_FR UI translations.
+* [Change] Minor update on known issues sections at README.md.
+* [Change] Renamed the namespace ParsersAttributes to Attributes and its attributes has been refactored.
+* [Change] Refactored all static const attributes of the classes present in pgsqltypes.h.
+* [Change] Renamed PgModelerNS to PgModelerNs.
+* [Change] Renamed PgModelerUiNs to PgModelerUiNs.
+* [Change] Renamed XMLParser to XmlParser.
+* [Change] Removing uneeded temporary QString instance created from Exception::getErroMessage call before throwing exceptions.
+* [Change] Refactored static const attributes of BaseObject.
+* [Change] Refactored the items in the enum ObjectType by removing the prefix 'OBJ'.
+* [Change] The enums ErrorType and ObjectType were transformed into scoped enums. Also the ErrorType enum was renamed to ErrorCode.
+* [Change] Code refactoring done in order to make it more close to C++14 in order to take advantage of new features introduced by that standard.
+* [Change] Removed unused labels and fixed warning frame on ModelWidget.
+* [Change] Minor improvements on table's attributes displaying on DatabaseExplorerWidget.
+* [Change] Improved the diff process in such way to avoid generating unnecessary/noise commands related to changing types of columns to integer and setting nextval() call as default value.
+* [Change] Partition tables are now displayed in the "Tables" tab at TableWidget.
+* [Change] Removed the cached catalog query test feature from Catalog.
+* [Change] Fine tuning on the validation of the entities used in the partitioning relationship creation.
+* [Change] Forcing the partitioning relationship to be invalidated when the reference table (partitioned) partitioning type is set to null (no partitioning).
+* [Change] Move the FK settings, copy options and name patterns group boxes to a dedicated tab on RelationshipWidget.
+* [Change] Improved the models destruction when closing the application.
+* [Change] Improved the Index/Exclude/ParitionKey elements handling by creating a generic form/grid that handles these kinds of objects (ElementsTableWidget).
+* [Change] Modified the RelationshipWidget in order to handle partitioning relationships.
+* [Change] Modified RelationshipConfigWidget in order to write name partterns for partitioning relationships.
+* [Change] Improved the column copying and validation on class Relationship to include partitioning relationship logics.
+* [Change] Improved the reverse engineering performance by avoiding update relationships as they are being imported.
+* [Change] Improved the object duplication feature in ModelWidget.
+* [Change] When the model is loaded it is copied to the temporary models storage as a first version of the temporary dbm file.
+* [Change] Simplified the temporary models saving process by removing the thread that was controlling it. Actually the thread was unnacessary because the process was being executed in the main thread no matter if there was another thread to control the saving.
+* [Change] Minor adjustment on the hint text resizing.
+* [Change] Increasing to 5 minutes the period in which the temporary model saving will be executed.
+* [Change] pgModeler will now use the official docs url in the help buttons.
+* [Fix] Fixed a minor bug that was preventing the copy action to be enabled in DataManipulationForm.
+* [Fix] Fixed some sample models to remove deprecated attributes.
+* [Fix] Fixed a crash while renaming view's children objects.
+* [Fix] Fixed the rendering of views which contain only a single reference that is the whole object's defintion.
+* [Fix] Fixed the column name deduction for recursive views.
+* [Fix] Fixed a bug that was causing crashes while configure new constraints on tables.
+* [Fix] Fixed the view's resizing.
+* [Fix] Fixed a regression in schema's rectangle selection.
+* [Fix] Fixed the StyledTextboxView bounding rectangle.
+* [Fix] Fixed an artifact when user switched on and off the compact view.
+* [Fix] Fixed the Linux deploy script.
+* [Fix] Fixed the macOs deploy script.
+* [Fix] Fixed some compilation problems on macOs due to the usage of C++14.
+* [Fix] Fixed some compilation problems on Windows due to the usage of C++14.
+* [Fix] Fixed a bug in DatabaseModel::destroyObjects that could lead to segfault when the destroyed model had permissions on it.
+* [Fix] Fixed a bug when importing columns which data types is some user defined type in form of array, e.g., custom_type[].
+* [Fix] Fixed a bug in SchemaParser that was causing only the first %set line in a if block to be parsed no matter that there were others %set below the same block.
+* [Fix] Fixed the tooltip of some graphical objects by adding their comments and aliases.
+* [Fix] Fixed the catalog query for tables to select partitioned tables correctly.
+* [Fix] Fixed the catalog query for types to avoid selecting partitioned tables as being data types.
+* [Fix] Fixed a bug that was causing special primary key configured on a relationship to make the original primary key of the table to disappear after disconnect the relationship. Now pgModeler stores in memory the original PK prior the connection of relationship and creation of the special PK. When disconnected the relationship, the original primary key is restored on its parent table.
+* [Fix] Fixed the creation of elements (index, exclude, patition key) on DatabaseModel.
+* [Fix] Fixed the class Relationship to reuse compatible columns when handling partitioning relationships.
+* [Fix] Fixed the diff process in such way to create new columns with their respective COMMENT ON statement when present.
+* [Fix] Fixed the detection of comment changes for columns on diff process.
+* [Fix] Fixed the order of recent models saved on the file pgmodeler.conf.
+* [Fix] Fixed a bug when creating a view reference as the whole view definition.
+* [Fix] Minor tooltip fix on DatabaseExplorerWidget.
+* [Fix] Making pgModeler honor the columns arrangement in primary keys.
+* [Fix] Fixed a bug that was causing FK relationship deletion to crash the application sometimes.
+* [Fix] Some fixes were done in the ModelOverviewWidget in order to support large models without exceed the screen size when configuring the size of the overall widget.
+* [Fix] Fixes a bad erase in View::removeReference.
+* [Fix] Fixed some bugs related to dialog size restoration in DataManipulationForm and TableWidget.
+
+v0.9.2-alpha
+------
+Release date: August 20, 2018
+
+* [New] Added the support for cancelling SQL execution in SQLExecutionWidget.
+* [New] Added support for save/restore the dialogs sizes and positions.
+* [New] Added support for truncate tables in DataManipulationForm.
+* [New] Added support for aliases on some graphical objects that is used in the compact view mode.
+* [New] Added support for save/load object's metadata containing aliases information.
+* [New] Added support for compact view of the model where graphical objects can have a more friendly name for a reduced view as well for those who don't need to see details about tables (clients of the business, for instance).
+* [New] Added support for sequence options for identity columns.
+* [New] Added the ability to paste CSV text from clipboard into the TableDataWidget.
+* [New] Added support for bulk data edit in TableDataWidget.
+* [Change] Added missing copy options on copy relationships.
+* [Change] Minor adjustments on the item delegates in order draw text in the right alignment.
+* [Change] Minor adjustment on buttons style in DatabaseExplorerWidget, DataManipulationForm and SQLExecutionWidget.
+* [Change] Minor adjustment on OperationList::removeFromPool to avoid throw an exception when an invalid index is passed.
+* [Change] Changed the behaviour of the fade in/out of relationships linked to a table by applying the effect on the other tables that are related to the selected one.
+* [Change] Refactored the view editing dialog by moving the references handling form to a dedicated modal dialog.
+* [Change] Improved the model loading from file by blocking signals of relationships avoiding excessive/repetive rendering of objects. The whole model is fully rendered when the file was completely loaded.
+* [Change] Minor adjustment on constraints rendering at extended attributes section of tables.
+* [Change] French translation update.
+* [Change] Updated the other lang dictionaries with the new text brought by new releases.
+* [Change] Removing icons at the top of the dialogs: DatabaseImportForm, MetaDataHandlingForm, ModelDatabaseDiffForm, ModelExportForm, ModelFixForm.
+* [Change] Minor adjustments in the features of the demo version.
+* [Change] Minor adjustments in the UI stylesheet.
+* [Change] In DatabaseExplorerWidget the root item will come automatically selcted when browsing a database.
+* [Change] Minor performance tuning when handling big models.
+* [Change] Added some statistics attributes for tables on DatabaseExplorerWidget.
+* [Change] Minor adjustment in NewObjectOverlayWidget by putting the tool buttons under categories.
+* [Fix] Fixed a bug in ObjectFinderWidget that was forcing schemas rectangles to appear even if the flag indicating them to be visible was set to false.
+* [Fix] Fixed the editing form cancel operation. Now operations done when the form was active are undone correctly.
+* [Fix] Fixed a bug that was preventing to create a view containing the same name as a table but in different schema.
+* [Fix] Fixed a regression that caused notices not to be shown in the output panel at SQLExecutionWidget.
+* [Fix] Fixed the query catalog for policies which was causing syntax error when combining import system objects and extension objects options.
+* [Fix] Fixed the disabling of some actions related to design when switching to manage view.
+* [Fix] Minor fix on stylesheet in order to display the extended button on general toolbar.
+* [Fix] Fix a shortcut conflict in DataManipulationform.
+* [Fix] Fixed the offset of strings composing the StorageType.
+* [Fix] Minor form size adjustments.
+* [Fix] Minor fix in sqlexecutionwidget.ui to force the exhibition of grid headers
+* [Fix] Minor fix in SQLExecutionWidget allowing the output widget to be resized to a size lower than the default one.
+* [Fix] Fixed the tab order in PolicyWidget.
+* [Fix] Fixed the generation of Database object source in DatabaseExplorerWidget.
+* [Fix] Fixed the method BaseObjectWidget::setRequiredField to make object selector fields as required correctly.
+* [Fix] Minor fix in HintTextWidget to stay on top of all widget when being displayed.
+* [Fix] Fixed a bug that was not quoting extension name when needed.
+* [Fix] Fixed a crash when trying to remove a fk relationship when it was created from a foreign key which references protected columns (added by relationship).
+* [Fix] Fix a crash when importing CSV files into DataManipulationForm.
+* [Fix] Minor typo in TableDataWidget.
+* [Fix] Minor fix on schema file sql/table.sch.
+
+v0.9.1
+------
+Release date: May 14, 2018
+
+* [New] Added support for line selection by clicking and moving the mouse over the line numbers widget in any source code field.
+* [New] The validator now checks if the model has columns referencing spatial data types and creates the postgis extension automatically when fixing the model.
+* [New] Added support for RESTART IDENTITY on truncate tables in DatabaseExplorerWidget.
+* [New] Added an custom option checkbox in Messagebox for general purpose usage.
+* [New] Added support for diff operation in CLI.
+* [New] Added support for import database from CLI.
+* [New] Adding missing types regrole and regnamespace.
+* [Change] Improved the copy/duplicate operation in order to copy rules, index, trigger and policies together to their parents.
+* [Change] Added column names to the code completion widget used in the filter widget at DataManipulationForm.
+* [Change] Improved the SQLExecutionWidget in such way that it'll display large amount of data more quickly and consuming less memory.
+* [Change] Minor improvement in SQLExecutionWidget to show the amount of time took to run a query.
+* [Change] Minor improvement in the text find widgets in SQL tool in order to make them closable via dedicated button.
+* [Change] Improved the set tag operation in ModelWidget in order to cleanup the assigned tags to a set of objects.
+* [Change] Minor improvement on DatabaseExplorerWidget to show the rls attributes labels correctly in the attributes grid.
+* [Change] Refactored all the CLI options.
+* [Change] Minor change in Connection::generateConnectionString in order to put the dbname param in the start of the string.
+* [Change] Improved the performance of the row duplication action in DataManipulationForm.
+* [Change] Minor improvement in order to update the schemas boxes when the tables have their extended attributes box toggled.
+* [Change] Improved the performance of "Move to schema" operation.
+* [Change] Added an busy cursor while closing a model.
+* [Change] Improved the object selection in object finder.
+* [Change] Changed the behaviour of select and fade buttons in ObjectFinderWidget in such way to enable the user to select/fade the objects in the listing (or not included in the results).
+* [Fix] Fixed a bug when import identity columns in certain cases when the identity column was followed by another column which data type was not accepted for identity, e.g, text after smallint.
+* [Fix] Fixed the check boxes disabling when dealing with identifier relationships.
+* [Fix] Disabled the drag & drop for items in the side listing at ConfigurationForm.
+* [Fix] Fixed the tab behavior on comment box in all editing forms of database objects.
+* [Fix] Fixed the catalog query for user defined types.
+* [Fix] Fixed the import of user defined types which names contains uppercase characters.
+* [Fix] Minor typo fixes in CLI.
+* [Fix] Fix window scaling on HiDPI/Retina screens.
+* [Fix] Minor fix in Connection::getConnectionId in order to omit port when that parameter is not configured in the connection.
+* [Fix] Fixed a bug in ModelExportHelper that was failing to remane the database when the command appeared.
+* [Fix] Fixed a bug in CollationWidget that was referencing the collation attributes LC_??? using the wrong constant.
+* [Fix] Fixed the behaviour of the message box that warns about the need of validate the model prior to export, save or diff. Now rejecting the dialog (i.e. closing it) will be considered that the user wants to proceed with the pending operation even with an invalid model.
+* [Fix] Fixed the import of comments for constraints,triggers, index and rules.
+* [Fix] The value input in BulkDataEditWidget will be focused as soon as the widget appears.
+* [Fix] Fixed a bug in the aggregate import process.
+* [Fix] Minor fix in DataManipulationForm to avoid the generation of a where clause when the filter is filled only with spaces.
+* [Fix] Minor fix in the magnfier tool to use the same render hints as the canvas viewport.
+* [Fix] Fixed a bug in the diff process that was trying to recreate the whole database when the "Force recreation" option was set.
+* [Fix] Fixed a bug when showing the source of tables in DatabaseExplorerWidget when these objects have permissions assigned.
+* [Fix] Adjusting tables position when the parent schema is moved and the alignment to grid is enabled.
+* [Fix] Minor fix in the CLI menu.
+* [Fix] Fixed the saving process for large models by stopping the threads related to temp models saving while the model file is being written.
+
v0.9.1-beta1
------
Release date: April 6, 2018
@@ -8,21 +976,21 @@ v0.9.1-beta1
* [New] Added the ability to create multiples one-to-many and many-to-many relatationships between the same pair of tables.
* [New] Added the ability to use more special ascii chars in the middle of object names.
* [New] Added missing SQL keywords into sql-highlight.conf
-* [New] Added support to multi line comments in UI.
+* [New] Added support for multi line comments in UI.
* [New] Added code snippets for CREATE and ALTER policy.
-* [New] Added full support to row level security (RLS), including export, import and diff of this kind of object.
+* [New] Added full support for row level security (RLS), including export, import and diff of this kind of object.
* [New] Added the method DatabaseExplorerWidget::formatPolicyAttribs in order to display some attributes values correctly.
-* [New] Added support to bulk data editing in DataManipulationForm.
+* [New] Added support for bulk data editing in DataManipulationForm.
* [New] Added an option to diff process to force the generation of DROP commands for columns and constraints even if the missing objects need to be preserved. This is useful to work with partial models and the user need to remove columns/constraints and preserve the rest of objects.
* [New] Added the ability to generate diff code to Enable/Force RLS attribute of tables.
-* [New] Added support to RLS on tables.
-* [New] Added the support to detect identity columns in diff.
-* [New] Added support to identity columns (PostgreSQL 10).
-* [New] Added the support to BYPASSRLS option on roles.
-* [New] Added support to IS_TEMPLATE and ALLOW_CONNECTIONS options in database object.
+* [New] Added support for RLS on tables.
+* [New] Added the support for detect identity columns in diff.
+* [New] Added support for identity columns (PostgreSQL 10).
+* [New] Added the support for BYPASSRLS option on roles.
+* [New] Added support for IS_TEMPLATE and ALLOW_CONNECTIONS options in database object.
* [New] Added the procedures to fix old style domains in CLI.
-* [New] Added support to multiple check constraint in domains.
-* [New] Added support to sort items alphabetically (ascending) or by oid in DatabaseExplorerWidget.
+* [New] Added support for multiple check constraint in domains.
+* [New] Added support for sort items alphabetically (ascending) or by oid in DatabaseExplorerWidget.
* [Change] Changed the input mode of the password field in ConnectionsConfigWidget in order to hide the passwords in the form. NOTE: the passwords are still in plain text in the config file.
* [Change] Moved extensions from schema level to database level in order to reproduce better the PostgreSQL's behavior.
* [Change] The filter widget is now toggled in DatabaseExplorerWidget via filter menu.
@@ -57,7 +1025,7 @@ v0.9.1-beta
------
Release date: January 26, 2018
-* [New] Added support to GROUP BY/HAVING clauses in Views by adding a new kind of reference. Proper changes done in ViewWidget to allow configuring those clauses.
+* [New] Added support for GROUP BY/HAVING clauses in Views by adding a new kind of reference. Proper changes done in ViewWidget to allow configuring those clauses.
* [New] Added the method Catalog::isSystemObject(oid) which indicates if the provided OID is related to a system object.
* [Change] Minor adjustment in the copy/paste operation to generate suffix in the pasted objects only when there're conflics.
* [Change] Removed the port range limitation in connection configuration dialog.
@@ -80,7 +1048,7 @@ v0.9.1-alpha1
* [New] Improved the data manipulation dialog in such way that when dealing with deletes in tables without PK, tuples with NULL values can be correctly considered.
* [New] Improved the validations on ResultSet class.
* [New] Added a method to indicate if a column value is null in ResultSet.
-* [New] Added support to fade in/out objects in object finder in order to highlight the graphical objects retrieved from the search.
+* [New] Added support for fade in/out objects in object finder in order to highlight the graphical objects retrieved from the search.
* [New] Added an attribute in pgmodeler.conf to store the current status of the "Fade in" button in object finder widget.
* [Change] Minor improvement in the diff generated metadata.
* [Change] Increased the maximum allowed amount of lines in command history.
@@ -93,14 +1061,14 @@ v0.9.1-alpha
------
Release date: October 20, 2017
-* [New] Added support to crow's foot notation.
+* [New] Added support for crow's foot notation.
* [New] Added the crow's foot notation switch in RelationshipConfigWidget.
* [New] Added the grid arrangement in the arrangment menu at MainWindow.
* [New] Added the schema arrangement (scattered).
* [New] Added an action to toggle schemas rectangle on ModelWidget.
* [New] CLI now loads the relationship and general settings to reflect relationship styles in export modes.
-* [New] Added support to connect relatinship on tables' edges when using classical notation.
-* [New] Added support to apostrophes in the middle of object's name.
+* [New] Added support for connect relatinship on tables' edges when using classical notation.
+* [New] Added support for apostrophes in the middle of object's name.
* [Change] Removed the controls related to arragement in DatabaseImportForm.
* [Change] Minor adjustments in tables' spacing in auto arrangement process.
* [Change] Minor improvement on SQLExecutionWidget and DataManipulationForm in order to make possible to paste csv buffer from SQLExecutionWidget to DataManipulationForm.
@@ -139,8 +1107,8 @@ v0.9.0
* [New] Created the method CsvLoadWidget::loadCsvFromBuffer to make the code that extract csv document from string buffer reusable by other classes.
* [New] Added a new sample model donated by the maintainers of 3D City DB project.
* [New] Added the language "internal" to the set of system languages available when creating a new model.
-* [New] Added support to override the default language settings via GeneralConfigWidget.
-* [New] Added support to toggle curved relationship lines in GeneralConfigWidget.
+* [New] Added support for override the default language settings via GeneralConfigWidget.
+* [New] Added support for toggle curved relationship lines in GeneralConfigWidget.
* [Change] Improved the MetadataHandlingForm enabling user to only extract metada to a backup file.
* [Change] Small update on sample models.
* [Change] Minor adjustments in the graphical points when relationships are selected.
@@ -175,11 +1143,11 @@ v0.9.0-beta2
* [New] Added a widget that shows some info about the canvas and the selected objects at the bottom of main window in design view.
* [New] Enabled the usage of snippets in other portions of the software like GenericSQLWidget, FunctionWidget, ViewWidget, CustomSQLWidget.
* [New] Added the ability to quickly jump to the tables related to a relationship.
-* [New] Added support to select all objects in the canvas by type (table, view, textbox, schema, relationship).
-* [New] Added support to bulk relationship points removal.
+* [New] Added support for select all objects in the canvas by type (table, view, textbox, schema, relationship).
+* [New] Added support for bulk relationship points removal.
* [New] Added a magnifier tool so the user can visualize objects when the zoom is too small. This tool allows the user to click to select or activate the context menu over the objects.
-* [New] Added support to generic sql objects that serve as an improved way to use custom SQL.
-* [New] Added support to handle metadata related to generic sql objects.
+* [New] Added support for generic sql objects that serve as an improved way to use custom SQL.
+* [New] Added support for handle metadata related to generic sql objects.
* [New] Added the first object auto-arrange algorithm.
* [Change] pgModeler will now accept (connect) to a PostgreSQL server even if the version of the server is not supported falling back to the most recent supported.
* [Change] Minor improvements on DatabaseImportForm, ModelExportForm, ModelDatabaseDiffForm and MetadataHandlingForm to toggle uniformRowsHeight of the output tree at the start and the end of each process to avoid slowdowns and allow the items to be resized correctly when expanded.
@@ -207,7 +1175,7 @@ v0.9.0-beta1
* [New] Added the ability to standalone dialogs like import, diff, export and others to be resized according to the screen dpi and resolution.
* [New] Added an experimental routine that will resize windows according to the current screen resolution and font dpi.
-* [New] Added support to browse referrer and referenced in DataManipulationForm.
+* [New] Added support for browse referrer and referenced in DataManipulationForm.
* [New] Added an item under table items that stores the referrer tables in the DatabaseExplorerWidget.
* [New] Added the method BaseObjectView::getScreenDpiFactor to help resize scene objects according to the screen dpi/resolution.
* [Change] Minor adjustment on readonly items regarding to referenced and referrer tables in DatabaseExplorerWidget.
@@ -228,8 +1196,8 @@ v0.9.0-beta
------
Release date: April 4, 2017
-* [New] Added support to indexes in Views.
-* [New] Added the support to edit/load the source code in NumberedTextEditor in external application.
+* [New] Added support for indexes in Views.
+* [New] Added the support for edit/load the source code in NumberedTextEditor in external application.
* [New] Added the ability to save/load metadata related to fade out status and extended attributes display status.
* [New] Added the ability toggle the extended attributes area in tables and views. The toggle status is persisted in the model file and restores during loading
* [New] Added constraints to the extended attributes section in the tables at canvas area in order to improve the quick access to these objects.
@@ -237,7 +1205,7 @@ v0.9.0-beta
* [New] Fade status is now persisted in the dbm file and restored during loading.
* [New] Added the ability to control zoom factor from overview widget.
* [New] Added a shortcut for "Duplicate" action in design view.
-* [New] Added support to (back)slash char in object's names.
+* [New] Added support for (back)slash char in object's names.
* [New] Enabled the usage of NewObjectOverlayWidget for views.
* [Change] Changed the default characters used to escape values in DataManipulationForm and TableDataWidget from {} to // due to problems with json data.
* [Change] Improved the file manipulation in SQLExecutionWidget. Added option to save the commands to the current file or in another file (save as).
@@ -247,7 +1215,7 @@ v0.9.0-beta
* [Change] Improved the diff between the complete database and a partial model representing it.
* [Fix] Minor fix in AppearanceConfigWidget in order to set the font color correctly.
* [Fix] Minor fix in the default file objects-style.conf
-* [Fix] Added the missing support to drop event triggers from database model.
+* [Fix] Added the missing support for drop event triggers from database model.
* [Fix] Fixed the drop cast command generation.
* [Fix] Minor fix in windows deploy script to use newer PostgreSQL.
* [Fix] Minor fix in template connections.conf file.
@@ -264,21 +1232,21 @@ v0.9.0-alpha1
------
Release date: February 07, 2017
-* [New] Added support to object moving via arrow keys in canvas area.
-* [New] Added support to easily create primary keys just by checking the desired columns in table's editing form.
-* [New] Added support to use middle button to handle panning mode.
+* [New] Added support for object moving via arrow keys in canvas area.
+* [New] Added support for easily create primary keys just by checking the desired columns in table's editing form.
+* [New] Added support for use middle button to handle panning mode.
* [New] Added a more user friendly message at startup whenever a missing or corrupted configuration file is detected. The user is now presented to an option to restore default settings for the problematic file.
* [New] Now any default file restored in ConfigurationForm has a backup saved into the directory 'backups' inside the configuration storage.
-* [New] Added support to hide the database explorer widget in SQL tool via splitter handler.
+* [New] Added support for hide the database explorer widget in SQL tool via splitter handler.
* [New] Added a method to disable the custom context menu of the class NumberedTextEditor.
-* [New] Added support to object fading in ModelWidget.
-* [New] Added the support to persist the object opacity factor in config file.
+* [New] Added support for object fading in ModelWidget.
+* [New] Added the support for persist the object opacity factor in config file.
* [New] Added the method PgModelerUiNS::getIconPath() in order to retrieve icons from resource.
-* [New] Added support to column, constraint, trigger, rule and index duplication in TableWidget.
-* [New] Added support to item duplication in ObjectTableWidget.
+* [New] Added support for column, constraint, trigger, rule and index duplication in TableWidget.
+* [New] Added support for item duplication in ObjectTableWidget.
* [New] Added a loading cursor when the user opens the DataManipulationForm.
* [New] The database explorer now creates the root item in the tree as the server itself which contains data related to this latter.
-* [New] Added the support to parenthesis in the middle of objects' names.
+* [New] Added the support for parenthesis in the middle of objects' names.
* [Change] Improvements done in the SQL history at SQL execution widget. Now the command history is saved into a specific file and restored when the application starts.
* [Change] Minor improvement in DataManipulationForm to show a wait cursor while filtering results.
* [Change] Minor improvements in GeneralConfigWidget. Added an readonly input that exposes the path to the current user's configuration storage.
@@ -344,7 +1312,7 @@ v0.8.2
* [New] Created the PlainTextItemDelegate replacing the ReadOnlyItemDelegate where needed.
* [New] Added the ability to the table to create insert commands from the initial data buffer.
-* [New] Added the support to interpret initial-data tag in DatabaseModel::createTable.
+* [New] Added the support for interpret initial-data tag in DatabaseModel::createTable.
* [New] Create the attribute initial-data for Table in order to store the initial set of values in a CSV-like buffer.
* [New] Created the form to handle table's initial data.
* [New] Added the ability to duplicate rows in DataManipulationForm.
@@ -352,12 +1320,12 @@ v0.8.2
* [New] Added the ability to clear and copy text from history to the sql command input field using middle mouse button in SQL tool.
* [New] Added the ability to set the default connection for operations import, export, diff and validation in ConnectionsConfigWidget.
* [New] Added the usage of default connections in ModelValidationWidget.
-* [New] Added support to save/load default connections in the ConnectionsConfigWidget.
+* [New] Added support for save/load default connections in the ConnectionsConfigWidget.
* [New] Added attributes to the Connection class in order to control wheter the connection is the default for export, import, diff or validation operations.
* [New] Added the ability to save the current grid options to the pgmodeler.conf file.
* [New] Added a reference the svg library to the deployment scripts.
-* [New] Added support to export model to SVG file in UI and CLI.
-* [New] Added the support to change case and identation of the selected text in NumberedTextEditor using context menu or shortcuts.
+* [New] Added support for export model to SVG file in UI and CLI.
+* [New] Added the support for change case and identation of the selected text in NumberedTextEditor using context menu or shortcuts.
* [New] Added a method PgModelerUiNS::createOutputListItem which created list items with an icon and text.
* [New] Connections now can have a timeout between command executions. When this timeout exceeds the next command is not executed. This is a workaround to avoid the crash of the program due to connections being (unexpectedly or not) closed by the server.
* [New] Added the ability to show connections notice/warning in SQL tool.
@@ -419,7 +1387,7 @@ v0.8.2-beta1
* [New] Created a signal BaseObjectWidget::s_closeRequested to tell the parent form close after successfuly edit an object.
* [New] Created template methods in RelationshipWidget and ViewWidget to handle child object manipulation.
* [New] Created a template method TableWidget::openEditingForm to handle the editing form for children objects.
-* [New] Added support to placeholder objects when moving graphical objects improving performance mainly when moving tables and relationships avoiding excessive update operations.
+* [New] Added support for placeholder objects when moving graphical objects improving performance mainly when moving tables and relationships avoiding excessive update operations.
* [New] Added an option to protect schema's children when protecting the schema itself.
* [New] Added the abitily to diff partial models without drop the not imported ones from the original database.
* [Change] CentralWidget renamed to WelcomeWidget.
@@ -527,8 +1495,8 @@ v0.8.2-beta
Release date: January 12, 2016
* [New] Added version descriptor for PostgreSQL 9.5 enabling pgModeler to connect to it.
-* [New] Added access method BRIN for indexes, operator classes and operator families as an initial support to PostgreSQL 9.5.
-* [New] Added event "table_rewrite" for event triggers as an initial support to PostgreSQL 9.5.
+* [New] Added access method BRIN for indexes, operator classes and operator families as an initial support for PostgreSQL 9.5.
+* [New] Added event "table_rewrite" for event triggers as an initial support for PostgreSQL 9.5.
* [New] Added "Diff" action to File menu.
* [Change] Minor improvement in DataManipulationForm adding the shortcut of "Copy selection" button to its tooltip.
* [Change] Improvements on DataManipulationForm on how pk columns are handled and used in the generated DML commands for UPDATE and DELETE.
@@ -845,7 +1813,7 @@ v0.8.0
Codename: Faithful Elephant Release date: February 28, 2015
-* [New] Added support to multiple SQL execution widget instances for the same browsed database in SQL tool.
+* [New] Added support for multiple SQL execution widget instances for the same browsed database in SQL tool.
* [New] Added truncate table actions on DatabaseExplorerWidget.
* [Change] Minor adjustments on ModelValidationHelper.
* [Change] Minor adjustments on CustomSQLWidget.
@@ -886,7 +1854,7 @@ v0.8.0-beta2
* [New] Created missing getters and setters for Operation class.
* [New] Added the ability to set owner, schema and tag for several objects at once through the quick actions menu.
* [New] Added an option to diff process to reuse sequences if the source model has serial columns in which the generated sequence name matches a sequence's name on the imported model.
-* [New] Added the support to per-user configuration. Now each user on the system will have his separated configuration folder.
+* [New] Added the support for per-user configuration. Now each user on the system will have his separated configuration folder.
* [New] Added a bug report form on main window to give user the chance to report a bug without use crash handler.
* [New] Added action to enable/disable an object's sql from quick actions menu at ModelWidget.
* [New] Created a new namespace PgModelerUiNS to store shared constants and function in libpgmodeler_ui subproject.
@@ -1161,7 +2129,7 @@ v0.8.0-alpha1
* [New] Added a field on all object's editing form to expose the object's internal id.
* [New] Added an option on the database import process to generate random colors for relationships.
* [New] The model objects widget gained a filtering field that is capable to list objects by their name or internal id.
-* [New] Added support to custom SQL for rules, indexes and triggers.
+* [New] Added support for custom SQL for rules, indexes and triggers.
* [New] Added two new sample models.
* [Change] Changed the shortcut for "About pgModeler" to F4 key.
* [Change] Minor update on shortcuts and tooltips of buttons on bottom control bar at main window.
@@ -1208,7 +2176,7 @@ v0.8.0-alpha
Codename: Faithful Elephant Release date: July 21, 2014
-* [New] Added support to using global settings for relationships on the editing form of those objects.
+* [New] Added support for using global settings for relationships on the editing form of those objects.
* [New] A new section was created on settings dialog to manage global configurations for relationships.
* [New] Enabled the movement of schema objects without the need to select their children. This operation does not applies to protected or system schemas like public, pg_catalog.
* [New] Created a more elaborated central widget with some basic operations like create, load, load recent models and restore previous session.
@@ -1296,11 +2264,11 @@ v0.7.2-alpha1
* [New] Introduced a "new object" overlay widget which gives user a quick access to actions that create objects.
* [New] Added a step to fix indexes with old tag on command line interface.
-* [New] Added support to item interaction on "object's dependencies and references" dialog.
-* [New] Added support to generate temporary names for database, roles and tablespaces when running validation process. This will avoid errors if the original database and the other objects already exists on the server.
+* [New] Added support for item interaction on "object's dependencies and references" dialog.
+* [New] Added support for generate temporary names for database, roles and tablespaces when running validation process. This will avoid errors if the original database and the other objects already exists on the server.
* [New] Updated the CLI to include the option to generate temporary object's names.
* [New] Added suppport to save and restore the last position and zoom on the canvas. This behavior can be deactivated on general settings.
-* [New] Added support to prepend SQL commands on object's definition.
+* [New] Added support for prepend SQL commands on object's definition.
* [New] Added zoom info popup that appears whenever the user changes the current zoom factor.
* [Change] Renamed the methods setCheckExpression and getCheckExpression methods to setExpression and getExpression because the expression is used either for check and exclude constraints.
* [Change] Renamed the attribute "condition" to "predicate" on index class.
@@ -1343,7 +2311,7 @@ v0.7.1
Release date: April 15, 2014
* [New] Added option to invert panning mode and range selection triggers.
-* [New] Added support to use relationship attributes as special primary keys.
+* [New] Added support for use relationship attributes as special primary keys.
* [Change] Improvement on unique name generation for columns and constraints when connecting relatioships.
* [Change] Improvement on copy / paste operations.
* [Change] Minor workaround in order to try to fix the crash due to thread conflict mainly on Windows system.
@@ -1368,7 +2336,7 @@ v0.7.1-beta
Release date: April 6, 2014
* [New] Created a small interface to pgmodeler-cli that enables the user to fix a broken model inside pgModeler GUI.
-* [New] Added support to assign a sequence as default value of a column. The sequence will be converted to "nextval('seqname'::regclass) and the validation process will check if the sequence is correctly referenced by the table that owns the column.
+* [New] Added support for assign a sequence as default value of a column. The sequence will be converted to "nextval('seqname'::regclass) and the validation process will check if the sequence is correctly referenced by the table that owns the column.
* [Change] Changed the default behavior of left click on blank areas of canvas. Instead of create a range selection the user will move the viewport (panning mode). To enable range selection user must press SHIFT and click/move to draw the selection rectangle.
* [Fix] Minor fix on connection class in order to accept empty passwords as well passwords that contains spaces.
* [Fix] Fixed the column listing on constraint editing form after remove one or more columns.
@@ -1407,10 +2375,10 @@ v0.7.0
* [New] Addded a catalog attribute "hide-postgres-db" in order to avoid listing "postgres" maintainance DB on import operations.
* [New] Added options to hide system/extension objects on SQL tool improving the object listing performance.
-* [New] Added support to custom compilation output directory through qmake variables BINDIR, LIBDIR and RESDIR.
-* [New] Added support to deferrable unique, exclude and primary key constraints.
-* [New] Added support to custom colors on tables and views through tag objects.
-* [New] Added support to export models to png image page by page.
+* [New] Added support for custom compilation output directory through qmake variables BINDIR, LIBDIR and RESDIR.
+* [New] Added support for deferrable unique, exclude and primary key constraints.
+* [New] Added support for custom colors on tables and views through tag objects.
+* [New] Added support for export models to png image page by page.
* [New] Canvas can now be moved using Control + Arrow keys. If the shift is pressed the movement factor is increased.
* [New] Introduced the SQL tool that permits the execution of arbitrary SQL commands direclty on a server.
* [New] Added methods getType, getTypeId to BaseType and getSQLTypeName to PgSQLType as an alternative to call operators ~, ! and *.
@@ -1420,11 +2388,11 @@ v0.7.0
* [New] Added a build number on about dialog. This number is the compilation date in format yyyymmdd.
* [New] Added support for materialized and recursive views (PostgreSQL 9.3 feature).
* [New] Added pgModeler version information on generated sql scripts as well .dbm files for debugging purpose.
-* [New] Added support to custom delete/update actions for relationship generated foreign keys.
-* [New] Added support to move the canvas by positioning the mouse over corners.
+* [New] Added support for custom delete/update actions for relationship generated foreign keys.
+* [New] Added support for move the canvas by positioning the mouse over corners.
* [New] Added a configuration parameter to control font style for any source code highlight field.
* [New] Added additional PostGiS types: geomval, addbandarg, rastbandarg, raster, reclassarg, unionarg, TopoGeometry, getfaceedges_returntype, validatetopology_returntype.
-* [Change] Added support to on-demand updates on sql tool object's tree.
+* [Change] Added support for on-demand updates on sql tool object's tree.
* [Change] Improved the tab navigation experience on editing forms.
* [Change] Minor change on SQL tool to ommit binary data values.
* [Change] Dropped the navigation through object using Alt + due to the difficulty to understand the order in which objects are highlighted.
@@ -1674,7 +2642,7 @@ v0.5.2
* [New] Introduced an experimental code completion on fields that permits code input.
* [New] User can create default sequences from serial columns. This feature does not apply to columns generated by relationships.
* [New] Introduced a feature to break relationship lines in straight angles and to remove all user added points.
-* [New] Added support to change font size on textboxes.
+* [New] Added support for change font size on textboxes.
* [Change] Removed the code "OIDs=FALSE" from table's SQL.
* [Fix] Minor fix on Mac OSX deployment script.
@@ -1709,7 +2677,7 @@ v0.5.1
* [New] pgModeler is now capable of associate dbm files to its executable being possible opening a model from file manager by clicking it (except for MacOSX, see MacOSX notes).
* [New] Added support for loading models by calling pgModeler gui executable from terminal (e.g. pgmodeler model1.dbm model2.dbm)
* [New] pgModeler logo redesign.
-* [New] Added special primary keys support to one-to-one and one-to-many relationships.
+* [New] Added special primary keys support for one-to-one and one-to-many relationships.
* [New] Relationships now supports patterns to define generated objects names. The manual suffix and auto-suffix generation are deprecated.
* [New] Columns/constraints generated by relationship can have position changed on parent table.
* [New] Added smallserial built-in datatype.
@@ -1738,16 +2706,16 @@ v0.5.0
* [New] Added an option to list available configured connections on pgmodeler-cli.
* [New] pgModeler now alerts the user when he try to save an invalidated model.
* [New] pgModeler now aborts app closing when the user wants to do a last saving on modified models.
-* [New] Added support to hide relationship labels and table extended attributes on configuration dialog.
+* [New] Added support for hide relationship labels and table extended attributes on configuration dialog.
* [New] Added "Recent Models" menu.
* [New] Introduced the Xml2Object plugin to help on develpment testings.
-* [New] Added partial support to PostgreSQL Extensions objects.
+* [New] Added partial support for PostgreSQL Extensions objects.
* [New] Added JSON datatype.
* [New] Added support for rules and trigger on views.
* [New] Added support for user defined range types.
* [New] Added support for collations on composite types (user defined).
* [New] Added built-in range types.
-* [New] Added support to INCLUDING/EXCLUDING options when dealing with copy relationships.
+* [New] Added support for INCLUDING/EXCLUDING options when dealing with copy relationships.
* [New] Added support for EXCLUDE constraint support
* [New] Added NO INHERIT option to check constraints.
* [New] Added REPLICATION option to roles.
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000000..1369b8b314
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,76 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, sex characteristics, gender identity and expression,
+level of experience, education, socio-economic status, nationality, personal
+appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct, or to ban temporarily or
+permanently any contributor for other behaviors that they deem inappropriate,
+threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported by contacting the project team at raphael@pgmodeler.io. All
+complaints will be reviewed and investigated and will result in a response that
+is deemed necessary and appropriate to the circumstances. The project team is
+obligated to maintain confidentiality with regard to the reporter of an incident.
+Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good
+faith may face temporary or permanent repercussions as determined by other
+members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
+available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
+
+[homepage]: https://www.contributor-covenant.org
+
+For answers to common questions about this code of conduct, see
+https://www.contributor-covenant.org/faq
diff --git a/README.md b/README.md
index 0eff748b78..8b22c7565e 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,22 @@
+
+
+[](https://github.com/pgmodeler/pgmodeler/actions?query=workflow%3A%22Linux+build%22)
+[](https://github.com/pgmodeler/pgmodeler/actions?query=workflow%3A%22Windows+build%22)
+[](https://github.com/pgmodeler/pgmodeler/actions?query=workflow%3A%22macOs+build%22)
+
Introduction
------------
-pgModeler - PostgreSQL Database Modeler - is an open source data modeling tool designed for PostgreSQL. No more DDL commands written by hand let pgModeler do the job for you! This software reunites the concepts of entity-relationship diagrams and the features that PostgreSQL implements as extensions of SQL standards.
+pgModeler - PostgreSQL Database Modeler - is an open-source data modeling tool designed for PostgreSQL. No more typing DDL commands. Let pgModeler do the work for you! This software unites the concepts of entity-relationship diagrams and the features that PostgreSQL implements as extensions of SQL standards. It also counts with a minimalist but functional database server administration module which allows the execution of any sort of SQL commands, database objects browsing, and data handling in a simple and intuitive UI. For more details about additional features, screenshots, and other useful information, please, visit the [project's official website](https://pgmodeler.io).
+
+Please let me know how pgModeler is working on your system. Help improve this project, give your feedback about the software or report any bugs on the [Issues](https://github.com/pgmodeler/pgmodeler/issues) page. Additionally, follow pgModeler on [Twitter](https://twitter.com/pgmodeler) and be up-to-date with new features, fixes, and releases.
+
+Compiling/Installation
+----------------------
-Please, let me know how the pgModeler is working on your system! Help to improve this project, give your feedback about the software or report any bug at [Issues](https://github.com/pgmodeler/pgmodeler/issues) page. Additionaly, follow the pgModeler profile on [Facebook](https://www.facebook.com/pgmodeler) or [Twitter](https://twitter.com/pgmodeler) and be up-to-date with new features, fixes and releases.
+For details about the installation process from the source code, visit the [Installation](https://www.pgmodeler.io/support/installation) section. If you don't want to compile pgModeler yourself, there are binaries available for purchase on the [official website](http://www.pgmodeler.io/purchase).
+
+You may want to check the [official plugin repository](https://github.com/pgmodeler/plugins) as well.
Licensing
---------
@@ -17,35 +30,33 @@ See [LICENSE](https://github.com/pgmodeler/pgmodeler/blob/master/LICENSE) for de
Donate to pgModeler
-------------------
-Much effort, coffee, chocolate, time and knowledge has been devoted to this project so that a usable and constantly improved product could be delivered to the community. If you liked pgModeler and think it deserves a contribution please donate any amount (via PayPal) at [project's official site](http://pgmodeler.com.br).
+Much time, effort, coffee, chocolate, and knowledge is being devoted to this project so that a reliable and constantly improved product can be delivered to the community. If you like pgModeler and think it deserves a contribution, please donate any amount on the [project's official website](https://pgmodeler.io).
Developers and Reviewers wanted!
--------------------------------
-pgModeler grown bigger and reached a state that its lonely developer cannot handle all the modifications and new features requests. So if you know C++ and Qt framework programming and wants to contribute with coding let me know! I'll be grateful for any help to the project!
-
-Compiling/Installation
-----------------------
-
-For details about installation process from source code visit the [Installation](http://www.pgmodeler.com.br/support/installation) section. If you don't want to compile pgModeler there are binaries available for purchase at [official site](http://www.pgmodeler.com.br/download).
+pgModeler has reached a state where its developer can't handle all the modifications and new feature requests by himself anymore. So if you know C++ and Qt, and want to contribute with coding, let me know! I'll be grateful for any help with the project!
Known Issues
-----------
+* Due to the usage of Qt's raster engine to draw objects, the process of handling objects on the canvas tends to get slower as lots of objects are created causing constant CPU usage. A heavy performance degradation can be noticed when dealing with models with ~500+ tables and/or relationships. There're plans to improve the speed of drawing operations, for large models, in future releases. Changing the relationship connection mode and render smoothness options may help in the performance when handling big database models.
+* pgModeler can't handle correctly the importing of complex CSV files (multilined cell values) in data manipulation form, or pasting CSV content of that complexity on that dialog.
+* Due to the CSV importing limitations, any value copied or exported from pgModeler in CSV format will be automatically formatted in the proper way that the tool can handle (by escaping any special character like line breaks and tabulations). If you intend to use CSV files generated by the tool in other software you have to revert back that characters escaping so the file can be read properly by third party softwares.
* The diff process still presents false-positive results due its limitations. Sometimes, there is the need to run the process twice to get the full changes.
-* pgModeler does not fully supports the [quoted identifier notation](http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). When using quoted identifiers only the following characters are accepted in the middle of names: a-z A-Z 0-9 _ . @ $ - / \ space.
-* pgModeler is unusable in sandboxed Mac OS X installations. To workaround this issue you'll need to deactivate sandbox usage to run pgModeler properly. There is no planning to adapt this tool for sandbox feature in Mac OS X.
-* pgModeler can't be compiled in Microsoft Visual Studio due to use of some gcc/clang extensions.
-* Compiling the source using '-Wconversion' (disabled by Qt in its default) generates a lot of warnings. These warnings are harmless in 99% of times but we can't just ignore them but I don't plan to fix them in a near future (mail me for more details).
-* pgModeler sometimes can crash during the export, import or validation process due to some threaded operations that, depending on size and arrange of the model, causes race conditions.
-* Due to particularities on executing bundles on MacOSX the file association does not work correctly on this system. So it's not possible to open a model file by clicking it on Finder.
-
-Change Log
+* pgModeler does not fully support the [quoted identifier notation](http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS). When using quoted identifiers only the following characters are accepted in the middle of names: a-z A-Z 0-9 _ . @ $ - / \ space.
+* pgModeler is unusable in sandboxed macOS. To workaround this issue you'll need to deactivate sandbox usage to run pgModeler properly. There is no plan to fix pgModeler to support this kind of environment.
+* pgModeler can't be compiled with Microsoft Visual Studio due to use of some gcc/clang extensions.
+* Compiling the source using '-Wconversion' (disabled by Qt in its defaults) generates a lot of warnings. These warnings are 99% harmless and there's no plans to fix them in a near future.
+* pgModeler can sometimes crash during the export, import or validation process due to some threaded operations that, depending on the size and the arrangement of the model, cause race conditions.
+* Due to particularities on executing bundles on MacOSX, the file association does not work correctly on this system. So it's not possible to open a model file by clicking it on Finder.
+
+Changelog
----------
-The detailed log of changes can be seen on [CHANGELOG.md](https://github.com/pgmodeler/pgmodeler/blob/master/CHANGELOG.md) file.
+The detailed changelog can be seen on [CHANGELOG.md](https://github.com/pgmodeler/pgmodeler/blob/master/CHANGELOG.md) file.
Older Releases/Code
-------------------
-Older releases of pgModeler can be found at [Sourceforge.net](http://sourceforge.net/projects/pgmodeler)
+Older releases of pgModeler can be found on [Sourceforge.net](http://sourceforge.net/projects/pgmodeler).
diff --git a/RELEASENOTES.md b/RELEASENOTES.md
index 3840d69f48..95e42e085a 100644
--- a/RELEASENOTES.md
+++ b/RELEASENOTES.md
@@ -1,50 +1,25 @@
-v0.9.1-beta1
+v0.9.4
------
-Release date: April 6, 2018
-Changes since: v0.9.1-beta
-
-Summary: finally we've reached the last beta release of the 0.9.1! This time pgModeler brings important fixes and new features requested long ago which are finally implemented in experimental stage.
-
-The first new feature we have in this release is the support to multiples relationships for the same pair of tables. In previous versions, pgModeler would refuse to create a second relationship between the tables A and B. From now on, pgModeler will accept the creation of one-to-many and many-to-many relationships linking A and B more then once. For the other kinds of relationships (generalization, copy, one-to-one) the old rule is still valid: only one relationship per table pair is accepted.
-
-Some missing features of PostgreSQL are present in this version too being them: row level security (RLS) and identity columns. For RLS, introduced in PostgreSQL 9.5, we have added the related options to toggle it in tables (ENABLE|FORCE RLS) as well the support to policy objects which are the main part of this new security modality. The identity columns, introduced in PostgreSQL 10, are now fully supported by pgModeler and you can make use of them from the column editing form.
-
-Other new feature is the support to multiple check constraints by domains. Actually, this is more a patch than a new feature because pgModeler was unaware that domains could support more than one check constraint, so we have fixed that now.
-
-Now, talking about changes, we fixed an old missinterpretation of the PostgreSQL's documentations by changing the way extensions are stored in the database model. Previously, this kind of objects were stored at schemas level but the right way to store them is at database level. So now instead of seeing extensions in the schema's subtree you'll see them in the database subtree. All validation rules, export, import and diff processes were fixed in such way to reflect the right way to treat these objects.
-
-Another important change, and that one is related to an annoying behaviour of the tool, is that pgModeler will silently ignore the absence of the plugins folder and proceed with the normal startup avoiding the display of a message box regarding the missing folder and automatically disabling the plugins search mechanism.
-
-In the fixes section, we've included a patch for a bug that was causing recurrent crashes on macOS when the user tried to load a second model file making almost impossible the working on two or more database models at once. Also, we've patched the reverse engineering in such way to avoid the duplication of data types related to tables, sequences and views which was causing problems in the validation process. Another fix was done in the diff process that was generating a malformed DROP command for extensions.
-
-The set of changes of this release has 47 entries between new features, changes, improvements and bug fixes. Below we highlight some of them, for the complete list, please, consider reading the CHANGELOG.md.
-
-* [New] Added the ability to create multiples one-to-many and many-to-many relatationships between the same pair of tables.
-* [New] Added the ability to use more special ascii chars in the middle of object names.
-* [New] Added support to multi line comments in UI.
-* [New] Added full support to row level security (RLS), including export, import and diff of this kind of object.
-* [New] Added support to bulk data editing in DataManipulationForm.
-* [New] Added an option to diff process to force the generation of DROP commands for columns and constraints even if the missing objects need to be preserved. This is useful to work with partial models and the user need to remove columns/constraints and preserve the rest of objects.
-* [New] Added support to identity columns (PostgreSQL 10).
-* [New] Added the support to BYPASSRLS option on roles.
-* [New] Added support to IS_TEMPLATE and ALLOW_CONNECTIONS options in database object.
-* [New] Added the procedures to fix old style domains in CLI.
-* [New] Added support to multiple check constraint in domains.
-* [New] Added support to sort items alphabetically (ascending) or by oid in DatabaseExplorerWidget.
-* [Change] Changed the input mode of the password field in ConnectionsConfigWidget in order to hide the passwords in the form. NOTE: the passwords are still in plain text in the config file.
-* [Change] Moved extensions from schema level to database level in order to reproduce better the PostgreSQL's behavior.
-* [Change] In GeneralConfigWidget when restoring default settings the default settings for syntax highlight are restored as well.
-* [Change] pgModeler will not try to create the plugins path anymore. This will avoid constant error messages during startup. Now, it'll silently ignore the absence of that folder and skip the plugin loading.
-* [Change] Improved the source editing in external application. The use is informed about the app running state and the contents for the source editor field are locked until the user closes the external app.
-* [Fix] Fixed the query catalog for built-in types to include the types related to domains.
-* [Fix] Fixed the extension creation, allowing only one instance of the named extension per database no matter the schema used to allocate its children objects.
-* [Fix] Fixed a bug when dropping Functions in DatabaseExplorerWidget.
-* [Fix] Fixed a bug that was causing the disabling of connections for database models created prior to 0.9.1-beta1.
-* [Fix] Fixed a bug on import process that was wrongly creating types derivated from tables/sequence/views causing duplication problems during validation.
-* [Fix] Fixed a crash on macOs when opening a second model.
-* [Fix] Fixed an issue in diff process that was generating a malformed DROP command for extensions.
-* [Fix] Fixed the diff for domains which contain multiple check constraints.
-* [Fix] Fixed a bug that was not selecting the correct spatial type in the widget.
-* [Fix] Fixed a conflict of shortcuts in DatabaseExplorerWidget. Now F5 updates a leaf/subtree and Alt+F5 performs quick refresh of the tree.
-* [Fix] Fixed a problem with sqlexecutionwidget.ui that is not building properly in Qt 5.10.
+Release date: December 17, 2021
+Changes since: v0.9.3
+
+Attention: the database model file structure has changed since the last stable 0.9.3. Models created in older releases will certainly fail to load due to incompatibilities because some attributes in the XML code don't exist anymore or have changed during the development of 0.9.4. Before loading your database models in this new release, please, make sure to have a backup of them all and follow the steps presented by the model fix tool to patch the documents' structure. Not paying attention to this situation may cause irreversible data loss! If the fix procedures aren't enough to make your database models loadable again, please, ask for help at the official support channels!
+
+Summary: it was quite a challenge to develop version 0.9.4 during the year 2021 but we finally made it, the last pgModeler of the series 0.9.x is ready! This one has a vast set of improvements over 0.9.3, being 51 new features, 104 enhancements, and 73 bug fixes that will make a big difference in the overall usage of the tool.
+
+The first improvement in 0.9.4 is the ability to put objects in multiple layers which was not possible in previous versions. The user has now the ability to set up custom colors and labels for each layer enhancing the database model visualization and semantics. Still in the database model design, one can now define a custom color for canvas, grid lines, and page delimiter lines which can help a lot those who aren't comfortable with the excessive glare produced by the default color schema.
+
+This release also improves the support for some PostgreSQL objects by bringing the configuration parameters and transform types to functions and procedures, adding the support for PARALLEL attribute on functions, and the support for included columns also known as non-key columns on indexes. It's worth mentioning that the import and diff processes were also improved to support all the mentioned improvements in those objects. Besides, the diff process is now capable of generating GRANT and REVOKE commands to set up new role memberships.
+
+The data type configuration widget received a simple improvement which adds a significant reduction in the time spent to configure a data type. Now, the user can just type the name of the desired data type to be used instead of selecting it by using the mouse. After typing the data type name just hit the tab key to jump to the next field and the data type will be automatically configured. Seems a silly fix but it adds speed when you need to repeatedly create columns in a table, for example.
+
+In the SQL tool, is now possible to drop databases quickly from the databases listing. Previously, there was the need to browse the database first and then drop it. In the database browser widget, the tree items collapse state is saved and restored after any updates requested by the user, improving the overall experience on that module. In data manipulation form, the sorting operation performed when clicking columns was adjusted. Now, the sorting will be triggered by holding the control key and clicking the desired column, and if the user only clicks a column without holding the control key will cause the entire column to be selected in the grid.
+
+Attending to some requests, pgModeler is now capable of exporting the database model in split SQL files instead of generating a single SQL file representing the entire database. In this export mode, the files are named in such a way to represent the proper order of creation, which means that running the scripts one after another will create the whole database like it was created from a single file.
+
+Due to the introduction of a new syntax highlighting configuration file (for code snippets configuration), pgModeler will, from now on, create missing configuration files at startup. This will avoid breaking the tool's execution when it detects the absence of any configuration file. Also, during the copy of these files, pgModeler will enforce the write permission over them to avoid access problems on some systems that store template settings on read-only paths.
+
+The command-line interface was patched in such a way that now doesn't crash anymore when performing a diff operation in which a database model is used as input. Another improvement to the CLI is the introduction of the option --force in the mime type handling operation. Also, a patch was made in such a way to avoid the usage of option '-platform offscreen' explicitly when calling the application.
+
+Finally, there is a bunch of other new features and bug fixes implemented in almost all parts of the tool which improves stability and reliability. I kindly invite you to read the CHANGELOG.md file of the 0.9.4 development timeline to know everything in detail.
diff --git a/apps/apps.pri b/apps/apps.pri
new file mode 100644
index 0000000000..b7569002cd
--- /dev/null
+++ b/apps/apps.pri
@@ -0,0 +1,24 @@
+# This file contains the main variables shared by executables subprojects
+
+include(../pgmodeler.pri)
+
+unix|windows: LIBS += $$LIBGUI_LIB \
+ $$LIBCANVAS_LIB \
+ $$LIBCONNECTOR_LIB \
+ $$LIBCORE_LIB \
+ $$LIBPARSERS_LIB \
+ $$LIBUTILS_LIB
+
+INCLUDEPATH += $$LIBGUI_INC \
+ $$LIBCANVAS_INC \
+ $$LIBCONNECTOR_INC \
+ $$LIBCORE_INC \
+ $$LIBPARSERS_INC \
+ $$LIBUTILS_INC
+
+DEPENDPATH += $$LIBGUI_ROOT \
+ $$LIBCANVAS_ROOT \
+ $$LIBCONNECTOR_ROOT \
+ $$LIBCORE_ROOT \
+ $$LIBPARSERS_ROOT \
+ $$LIBUTILS_ROOT
diff --git a/apps/pgmodeler-ch/pgmodeler-ch.pro b/apps/pgmodeler-ch/pgmodeler-ch.pro
new file mode 100644
index 0000000000..25a13db14d
--- /dev/null
+++ b/apps/pgmodeler-ch/pgmodeler-ch.pro
@@ -0,0 +1,16 @@
+include(../apps.pri)
+
+TEMPLATE = app
+TARGET = pgmodeler-ch
+
+windows:RC_FILE=res/windows_ico.qrc
+windows:RCC_DIR=src/
+
+SOURCES += src/main.cpp \
+ src/crashhandlerform.cpp
+
+HEADERS += src/crashhandlerform.h
+
+# Deployment settings
+target.path = $$PRIVATEBINDIR
+INSTALLS = target
diff --git a/crashhandler/res/windows_ico.ico b/apps/pgmodeler-ch/res/windows_ico.ico
similarity index 100%
rename from crashhandler/res/windows_ico.ico
rename to apps/pgmodeler-ch/res/windows_ico.ico
diff --git a/crashhandler/res/windows_ico.qrc b/apps/pgmodeler-ch/res/windows_ico.qrc
similarity index 100%
rename from crashhandler/res/windows_ico.qrc
rename to apps/pgmodeler-ch/res/windows_ico.qrc
diff --git a/apps/pgmodeler-ch/src/crashhandlerform.cpp b/apps/pgmodeler-ch/src/crashhandlerform.cpp
new file mode 100644
index 0000000000..3e571d2917
--- /dev/null
+++ b/apps/pgmodeler-ch/src/crashhandlerform.cpp
@@ -0,0 +1,219 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+
+#include "crashhandlerform.h"
+#include "messagebox.h"
+#include "guiutilsns.h"
+#include "utilsns.h"
+
+const QString CrashHandlerForm::AnalysisMode("-analysis-mode");
+
+CrashHandlerForm::CrashHandlerForm(bool analysis_mode, QWidget *parent, Qt::WindowFlags f) : BugReportForm(parent, f)
+{
+ QFile input;
+ QString buf;
+ QWidget *wgt=new QWidget;
+ QHBoxLayout *layout=new QHBoxLayout;
+
+ setWindowTitle(tr("pgModeler crash handler"));
+
+ stack_txt=new QPlainTextEdit(this);
+ stack_txt->setReadOnly(true);
+ stack_txt->setFont(QFont("Source Code Pro"));
+ stack_txt->setLineWrapMode(QPlainTextEdit::NoWrap);
+
+ layout->addWidget(stack_txt);
+ layout->setContentsMargins(4,4,4,4);
+ wgt->setLayout(layout);
+
+ logo_lbl->setPixmap(QPixmap(QString(":/images/images/crashhandler.png")));
+ report_twg->addTab(wgt, tr("Stack trace"));
+
+ //Open for reading the stack trace file generated on the last crash
+ input.setFileName(GlobalAttributes::getTemporaryFilePath(GlobalAttributes::StacktraceFile));
+ input.open(QFile::ReadOnly);
+
+ if(input.isOpen())
+ {
+ buf=input.readAll();
+ input.close();
+
+ //Removes the stack trace file
+ QDir stack_file;
+ stack_file.remove(GlobalAttributes::getTemporaryFilePath(GlobalAttributes::StacktraceFile));
+
+ //Shows the stacktrace loaded on the widget
+ stack_txt->setPlainText(buf);
+ }
+
+ //Creating an input field in order to select the input report file
+ input_wgt=new QWidget(this);
+ input_wgt->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
+
+ layout=new QHBoxLayout(input_wgt);
+ layout->setContentsMargins(0, 0, 0, 0);
+
+ input_lbl=new QLabel(input_wgt);
+ input_lbl->setText(tr("Input:"));
+ layout->addWidget(input_lbl);
+
+ input_sel = new FileSelectorWidget(this);
+ input_sel->setFileDialogTitle(tr("Select bug report file"));
+ input_sel->setFileMode(QFileDialog::ExistingFile);
+ input_sel->setAcceptMode(QFileDialog::AcceptOpen);
+ input_sel->setNameFilters({ tr("pgModeler bug report (*.bug)"), tr("All files (*.*)") });
+ input_sel->setToolTip(tr("Load report file for analysis"));
+ layout->addWidget(input_sel);
+
+ save_tb=new QToolButton(input_wgt);
+ save_tb->setIcon(QPixmap(GuiUtilsNs::getIconPath("save")));
+ save_tb->setSizePolicy(attach_tb->sizePolicy());
+ save_tb->setToolButtonStyle(attach_tb->toolButtonStyle());
+ save_tb->setIconSize(attach_tb->iconSize());
+ save_tb->setToolTip(tr("Save the attached model file on the filesystem"));
+ save_tb->setEnabled(false);
+ attach_wgt->layout()->addWidget(save_tb);
+
+ report_tab_grid->removeWidget(details_gb);
+ report_tab_grid->removeWidget(output_wgt);
+ report_tab_grid->removeWidget(message_frm);
+
+ report_tab_grid->addWidget(input_wgt);
+ report_tab_grid->addWidget(details_gb);
+ report_tab_grid->addWidget(output_wgt);
+ report_tab_grid->addWidget(message_frm);
+
+ setAnalysisMode(analysis_mode);
+
+ connect(input_sel, SIGNAL(s_fileSelected(QString)), this, SLOT(loadReport(QString)));
+ connect(input_sel, SIGNAL(s_selectorCleared()), model_txt, SLOT(clear()));
+ connect(input_sel, SIGNAL(s_selectorCleared()), details_txt, SLOT(clear()));
+ connect(input_sel, SIGNAL(s_selectorCleared()), stack_txt, SLOT(clear()));
+ connect(save_tb, SIGNAL(clicked()), this, SLOT(saveModel()));
+
+ connect(model_txt, &QPlainTextEdit::textChanged, [&](){
+ save_tb->setEnabled(!model_txt->toPlainText().isEmpty());
+ });
+}
+
+void CrashHandlerForm::loadReport(QString filename)
+{
+ QFile input;
+ QFileInfo fi;
+ char *buf=nullptr;
+ Messagebox msgbox;
+
+ fi.setFile(filename);
+ input.setFileName(filename);
+ input.open(QFile::ReadOnly);
+
+ //Raises an error if the file could not be opened
+ if(!input.isOpen())
+ msgbox.show(Exception::getErrorMessage(ErrorCode::FileDirectoryNotAccessed).arg(filename), Messagebox::ErrorIcon);
+ else
+ {
+ QByteArray uncomp_buf;
+ QString buf_aux, str_aux;
+ int i, idx;
+ QPlainTextEdit *txt_widgets[]={ details_txt, model_txt , stack_txt};
+
+ //Creates a text buffer
+ buf=new char[fi.size()];
+
+ //Reads the file storing it on the buffer
+ input.read(buf, fi.size());
+ input.close();
+
+ //Uncompress the buffer
+ uncomp_buf.append(buf, fi.size());
+ uncomp_buf=qUncompress(uncomp_buf);
+
+ delete[](buf);
+ buf=nullptr;
+
+ buf_aux=QString(uncomp_buf.data());
+ i=idx=0;
+
+ //Showing the sections of the uncompressed buffer on the respective widgets
+ while(i < buf_aux.size() && idx <= 2)
+ {
+ if(buf_aux.at(i).toLatin1()!=CharDelimiter)
+ str_aux.append(buf_aux.at(i));
+ else
+ {
+ txt_widgets[idx++]->setPlainText(str_aux);
+ str_aux.clear();
+ }
+ i++;
+ }
+ }
+}
+
+void CrashHandlerForm::saveModel()
+{
+ QFileDialog file_dlg;
+
+ try
+ {
+ file_dlg.setDefaultSuffix(QString("dbm"));
+ file_dlg.setWindowTitle(tr("Save model"));
+ file_dlg.setNameFilter(tr("Database model (*.dbm);;All files (*.*)"));
+ file_dlg.setFileMode(QFileDialog::AnyFile);
+ file_dlg.setAcceptMode(QFileDialog::AcceptSave);
+ file_dlg.setModal(true);
+
+ if(file_dlg.exec()==QFileDialog::Accepted)
+ UtilsNs::saveFile(file_dlg.selectedFiles().at(0), model_txt->toPlainText().toUtf8());
+ }
+ catch(Exception &e)
+ {
+ Messagebox msgbox;
+ msgbox.show(e);
+ }
+}
+
+void CrashHandlerForm::setAnalysisMode(bool value)
+{
+ output_wgt->setEnabled(!value);
+ attach_tb->setEnabled(!value);
+ attach_mod_chk->setEnabled(!value);
+ save_tb->setVisible(value);
+
+ create_btn->setVisible(!value);
+ input_wgt->setVisible(value);
+
+ if(value)
+ {
+ title_lbl->setText(tr("pgModeler crash handler"));
+ msg_lbl->setText(tr("Bug report analysis mode activated."));
+ }
+ else
+ {
+ title_lbl->setText(tr("Oops! pgModeler just crashed!"));
+ msg_lbl->setText(tr("We apologize for what happened! It is clear that a nasty bug caused that. Please fill out the form below describing your actions before pgModeler quit unexpectedly. This will help on bug extermination and improve the software."));
+ }
+}
+
+QByteArray CrashHandlerForm::generateReportBuffer()
+{
+ QByteArray buf=BugReportForm::generateReportBuffer();
+ buf.append(stack_txt->toPlainText().toUtf8());
+ buf.append(CharDelimiter);
+
+ return buf;
+}
diff --git a/crashhandler/src/crashhandlerform.h b/apps/pgmodeler-ch/src/crashhandlerform.h
similarity index 75%
rename from crashhandler/src/crashhandlerform.h
rename to apps/pgmodeler-ch/src/crashhandlerform.h
index c30f913798..b15a76634d 100644
--- a/crashhandler/src/crashhandlerform.h
+++ b/apps/pgmodeler-ch/src/crashhandlerform.h
@@ -1,7 +1,7 @@
/*
# PostgreSQL Database Modeler (pgModeler)
#
-# Copyright 2006-2018 - Raphael Araújo e Silva
+# Copyright 2006-2021 - Raphael Araújo e Silva
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,8 +17,8 @@
*/
/**
-\ingroup crashhandler
-\class CrashHandler
+\ingroup pgmodeler-ch
+\class CrashHandlerForm
\brief Implements the pgModeler's crash handler enabling the generation an analysis of crash report files.
*/
@@ -26,7 +26,7 @@
#define CRASH_HANDLER_H
#include
-#include "bugreportform.h"
+#include "tools/bugreportform.h"
class CrashHandlerForm: public BugReportForm {
private:
@@ -40,32 +40,27 @@ class CrashHandlerForm: public BugReportForm {
QLabel *input_lbl;
- //! \brief Display the path to input report file
- QLineEdit *input_edt;
+ FileSelectorWidget *input_sel;
//! \brief Triggers the model saving to filesystem
- QToolButton *save_tb,
-
- //! \brief Triggers the report file loading
- *load_tb;
-
- //! \brief Load a report file showing its contents on the form
- void loadReport(const QString &filename);
+ QToolButton *save_tb;
void setAnalysisMode(bool value);
//! \brief Generates a report buffer containing the issue details, model and stacktrace
- QByteArray generateReportBuffer(void);
+ QByteArray generateReportBuffer();
public:
//! \brief Analysis mode argument
- const static QString ANALYSIS_MODE;
+ static const QString AnalysisMode;
- CrashHandlerForm(bool analysis_mode=false, QWidget * parent = 0, Qt::WindowFlags f = 0);
+ CrashHandlerForm(bool analysis_mode=false, QWidget * parent = nullptr, Qt::WindowFlags f = Qt::Widget);
private slots:
- void loadReport(void);
- void saveModel(void);
+ //! \brief Load a report file showing its contents on the form
+ void loadReport(QString filename);
+
+ void saveModel();
};
#endif
diff --git a/apps/pgmodeler-ch/src/main.cpp b/apps/pgmodeler-ch/src/main.cpp
new file mode 100644
index 0000000000..52bb85057e
--- /dev/null
+++ b/apps/pgmodeler-ch/src/main.cpp
@@ -0,0 +1,51 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+
+#include "crashhandlerform.h"
+#include "application.h"
+#include
+#include "guiutilsns.h"
+
+int main(int argc, char **argv)
+{
+ try
+ {
+ Application::setAttribute(Qt::AA_UseHighDpiPixmaps);
+ Application::setAttribute(Qt::AA_EnableHighDpiScaling);
+ Application app(argc,argv);
+ QStringList args = app.arguments();
+ QTranslator translator;
+
+ //Loads the ui translation for crashhandler
+ translator.load(QLocale::system().name(), GlobalAttributes::getLanguagesDir());
+ app.installTranslator(&translator);
+
+ CrashHandlerForm crashhandler(args.size() > 1 && args[1]==CrashHandlerForm::AnalysisMode);
+ GuiUtilsNs::resizeDialog(&crashhandler);
+ crashhandler.show();
+ app.exec();
+
+ return 0;
+ }
+ catch(Exception &e)
+ {
+ QTextStream out(stdout);
+ out << e.getExceptionsText();
+ return enum_cast(e.getErrorCode());
+ }
+}
diff --git a/apps/pgmodeler-cli/pgmodeler-cli.pro b/apps/pgmodeler-cli/pgmodeler-cli.pro
new file mode 100644
index 0000000000..7a6f320f9a
--- /dev/null
+++ b/apps/pgmodeler-cli/pgmodeler-cli.pro
@@ -0,0 +1,18 @@
+include(../apps.pri)
+
+CONFIG += console
+TEMPLATE = app
+TARGET = pgmodeler-cli
+
+windows:RC_FILE = res/windows_ico.qrc
+windows: RCC_DIR = src/
+windows: DESTDIR = $$PWD
+
+SOURCES += src/main.cpp \
+ src/pgmodelercliapp.cpp
+
+HEADERS += src/pgmodelercliapp.h
+
+# Deployment settings
+target.path = $$BINDIR
+INSTALLS = target
diff --git a/apps/pgmodeler-cli/res/windows_ico.ico b/apps/pgmodeler-cli/res/windows_ico.ico
new file mode 100644
index 0000000000..29aae2f243
Binary files /dev/null and b/apps/pgmodeler-cli/res/windows_ico.ico differ
diff --git a/apps/pgmodeler-cli/res/windows_ico.qrc b/apps/pgmodeler-cli/res/windows_ico.qrc
new file mode 100644
index 0000000000..3eb8997455
--- /dev/null
+++ b/apps/pgmodeler-cli/res/windows_ico.qrc
@@ -0,0 +1 @@
+ IDI_ICON1 ICON DISCARDABLE "windows_ico.ico"
diff --git a/apps/pgmodeler-cli/src/main.cpp b/apps/pgmodeler-cli/src/main.cpp
new file mode 100644
index 0000000000..6af2c10ea5
--- /dev/null
+++ b/apps/pgmodeler-cli/src/main.cpp
@@ -0,0 +1,67 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+
+#include
+#include "pgmodelercliapp.h"
+#include "qtcompat/qtextstreamcompat.h"
+
+int main(int argc, char **argv)
+{
+ QTextStream out(stdout);
+
+#ifdef DEMO_VERSION
+ out << QtCompat::endl;
+ out << QString("pgModeler ") << GlobalAttributes::PgModelerVersion << QT_TR_NOOP(" command line interface.") << QtCompat::endl;
+ out << QT_TR_NOOP("PostgreSQL Database Modeler Project - pgmodeler.io") << QtCompat::endl;
+ out << QT_TR_NOOP("Copyright 2006-2020 Raphael A. Silva ") << QtCompat::endl;
+ out << QT_TR_NOOP("\n** CLI disabled in demonstration version! **") << QtCompat::endl << QtCompat::endl;
+#else
+ try
+ {
+ #ifdef Q_OS_LINUX
+ /* Workaround to make the CLI work on Linux systems without graphical interface.
+ * In that case, we just check if there's a DISPLAY env var defined. If not defined
+ * we force the usage of the "offscreen" plugin via QT_QPA_PLATFORM so the portions of
+ * the application that contains GUI elements can work properly.
+ *
+ * Details at https://github.com/pgmodeler/pgmodeler/issues/1604 */
+ if(qgetenv("DISPLAY").isEmpty())
+ qputenv("QT_QPA_PLATFORM", "offscreen");
+ #endif
+
+ PgModelerCliApp pgmodeler_cli(argc, argv);
+ QTranslator translator(&pgmodeler_cli);
+
+ //Tries to load the ui translation according to the system's locale
+ translator.load(QLocale::system().name(), GlobalAttributes::getLanguagesDir());
+
+ //Installs the translator on the application
+ pgmodeler_cli.installTranslator(&translator);
+
+ //Executes the cli
+ return pgmodeler_cli.exec();
+ }
+ catch(Exception &e)
+ {
+ out << QtCompat::endl;
+ out << e.getExceptionsText();
+ out << QString("** pgmodeler-cli aborted due to critical error(s). **") << QtCompat::endl << QtCompat::endl;
+ return (e.getErrorCode()==ErrorCode::Custom ? -1 : enum_cast(e.getErrorCode()));
+ }
+#endif
+}
diff --git a/apps/pgmodeler-cli/src/pgmodelercliapp.cpp b/apps/pgmodeler-cli/src/pgmodelercliapp.cpp
new file mode 100644
index 0000000000..a856af7d84
--- /dev/null
+++ b/apps/pgmodeler-cli/src/pgmodelercliapp.cpp
@@ -0,0 +1,2320 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+
+#include "pgmodelercliapp.h"
+#include "qtcompat/qtextstreamcompat.h"
+#include "qtcompat/splitbehaviorcompat.h"
+#include "utilsns.h"
+
+QTextStream PgModelerCliApp::out(stdout);
+
+const QRegExp PgModelerCliApp::PasswordRegExp=QRegExp("(password)(=)(.)*( )");
+const QString PgModelerCliApp::PasswordPlaceholder("password=******");
+
+const QString PgModelerCliApp::AllChildren("all");
+const QString PgModelerCliApp::Input("--input");
+const QString PgModelerCliApp::Output("--output");
+const QString PgModelerCliApp::InputDb("--input-db");
+const QString PgModelerCliApp::ExportToFile("--export-to-file");
+const QString PgModelerCliApp::ExportToPng("--export-to-png");
+const QString PgModelerCliApp::ExportToSvg("--export-to-svg");
+const QString PgModelerCliApp::ExportToDbms("--export-to-dbms");
+const QString PgModelerCliApp::ExportToDict("--export-to-dict");
+const QString PgModelerCliApp::ImportDb("--import-db");
+const QString PgModelerCliApp::NoIndex("--no-index");
+const QString PgModelerCliApp::Split("--split");
+const QString PgModelerCliApp::Diff("--diff");
+const QString PgModelerCliApp::DropDatabase("--drop-database");
+const QString PgModelerCliApp::DropObjects("--drop-objects");
+const QString PgModelerCliApp::PgSqlVer("--pgsql-ver");
+const QString PgModelerCliApp::Help("--help");
+const QString PgModelerCliApp::ShowGrid("--show-grid");
+const QString PgModelerCliApp::ShowDelimiters("--show-delimiters");
+const QString PgModelerCliApp::PageByPage("--page-by-page");
+const QString PgModelerCliApp::IgnoreDuplicates("--ignore-duplicates");
+const QString PgModelerCliApp::IgnoreErrorCodes("--ignore-error-codes");
+const QString PgModelerCliApp::ConnAlias("--conn-alias");
+const QString PgModelerCliApp::Host("--host");
+const QString PgModelerCliApp::Port("--port");
+const QString PgModelerCliApp::User("--user");
+const QString PgModelerCliApp::Passwd("--passwd");
+const QString PgModelerCliApp::InitialDb("--initial-db");
+const QString PgModelerCliApp::Silent("--silent");
+const QString PgModelerCliApp::ListConns("--list-conns");
+const QString PgModelerCliApp::Simulate("--simulate");
+const QString PgModelerCliApp::FixModel("--fix-model");
+const QString PgModelerCliApp::FixTries("--fix-tries");
+const QString PgModelerCliApp::ZoomFactor("--zoom");
+const QString PgModelerCliApp::UseTmpNames("--use-tmp-names");
+const QString PgModelerCliApp::DbmMimeType("--dbm-mime-type");
+const QString PgModelerCliApp::Install("install");
+const QString PgModelerCliApp::Uninstall("uninstall");
+const QString PgModelerCliApp::SystemWide("--system-wide");
+const QString PgModelerCliApp::IgnoreImportErrors("--ignore-errors");
+const QString PgModelerCliApp::ImportSystemObjs("--import-sys-objs");
+const QString PgModelerCliApp::ImportExtensionObjs("--import-ext-objs");
+const QString PgModelerCliApp::DebugMode("--debug-mode");
+const QString PgModelerCliApp::FilterObjects("--filter-objects");
+const QString PgModelerCliApp::MatchByName("--match-by-name");
+const QString PgModelerCliApp::ForceChildren("--force-children");
+const QString PgModelerCliApp::OnlyMatching("--only-matching");
+const QString PgModelerCliApp::PartialDiff("--partial");
+const QString PgModelerCliApp::Force("--force");
+const QString PgModelerCliApp::StartDate("--start-date");
+const QString PgModelerCliApp::EndDate("--end-date");
+const QString PgModelerCliApp::CompareTo("--compare-to");
+const QString PgModelerCliApp::SaveDiff("--save");
+const QString PgModelerCliApp::ApplyDiff("--apply");
+const QString PgModelerCliApp::NoDiffPreview("--no-preview");
+const QString PgModelerCliApp::DropClusterObjs("--drop-cluster-objs");
+const QString PgModelerCliApp::RevokePermissions("--revoke-perms");
+const QString PgModelerCliApp::DropMissingObjs("--drop-missing");
+const QString PgModelerCliApp::ForceDropColsConstrs("--force-drop-cols");
+const QString PgModelerCliApp::RenameDb("--rename-db");
+const QString PgModelerCliApp::NoSequenceReuse("--no-sequence-reuse");
+const QString PgModelerCliApp::NoCascadeDrop("--no-cascade");
+const QString PgModelerCliApp::ForceRecreateObjs("--force-recreate-objs");
+const QString PgModelerCliApp::OnlyUnmodifiable("--only-unmodifiable");
+const QString PgModelerCliApp::CreateConfigs("--create-configs");
+const QString PgModelerCliApp::MissingOnly("--missing-only");
+
+const QString PgModelerCliApp::TagExpr("<%1");
+const QString PgModelerCliApp::EndTagExpr("%1");
+const QString PgModelerCliApp::AttributeExpr("(%1)( )*(=)(\")(\\w|\\d|,|\\.|\\&|\\;|\\)|\\(|\\-| )+(\")");
+
+const QString PgModelerCliApp::MsgFileAssociated(tr("Database model files (*.dbm) are already associated to pgModeler! Try use the option `%1' to install the file association anyway.").arg(Force));
+const QString PgModelerCliApp::MsgNoFileAssociation(tr("There is no file association related to pgModeler and *.dbm files! Try use the option `%1' to uninstall the file association anyway.").arg(Force));
+
+attribs_map PgModelerCliApp::short_opts = {
+ { Input, "-if" }, { Output, "-of" }, { InputDb, "-id" },
+ { ExportToFile, "-ef" }, { ExportToPng, "-ep" }, { ExportToSvg, "-es" },
+ { ExportToDbms, "-ed" }, { ExportToDict, "-ec" }, { ImportDb, "-im" },
+ { Diff, "-df" }, { DropDatabase, "-dd" }, { DropObjects, "-do" },
+ { PgSqlVer, "-v" }, { Help, "-h" }, { ShowGrid, "-sg" },
+ { ShowDelimiters, "-sl" }, { PageByPage, "-pp" }, { IgnoreDuplicates, "-ir" },
+ { IgnoreErrorCodes, "-ic" }, { ConnAlias, "-ca" }, { Host, "-H" },
+ { Port, "-p" }, { User, "-u" }, { Passwd, "-w" },
+ { InitialDb, "-D" }, { Silent, "-s" }, { ListConns, "-lc" },
+ { Simulate, "-sm" }, { FixModel, "-fm" }, { FixTries, "-ft" },
+ { ZoomFactor, "-zf" }, { UseTmpNames, "-tn" }, { DbmMimeType, "-mt" },
+ { IgnoreImportErrors, "-ie" }, { ImportSystemObjs, "-is" }, { ImportExtensionObjs, "-ix" },
+ { FilterObjects, "-fo" }, { MatchByName, "-mn" }, { ForceChildren, "-fc" },
+ { OnlyMatching, "-om" }, { DebugMode, "-d" }, { PartialDiff, "-pd" },
+ { StartDate, "-st" }, { EndDate, "-et" }, { CompareTo, "-ct" },
+ { SaveDiff, "-sd" }, { ApplyDiff, "-ad" }, { NoDiffPreview, "-np" },
+ { DropClusterObjs, "-dc" }, { RevokePermissions, "-rv" }, { DropMissingObjs, "-dm" },
+ { ForceDropColsConstrs, "-fd" }, { RenameDb, "-rn" },
+ { NoSequenceReuse, "-ns" }, { NoCascadeDrop, "-nd" }, { ForceRecreateObjs, "-nf" },
+ { OnlyUnmodifiable, "-nu" }, { NoIndex, "-ni" }, { Split, "-sp" },
+ { SystemWide, "-sw" }, { CreateConfigs, "-cc" }, { Force, "-ff" }, { MissingOnly, "-mo" }
+};
+
+map PgModelerCliApp::long_opts = {
+ { Input, true }, { Output, true }, { InputDb, true },
+ { ExportToFile, false }, { ExportToPng, false }, { ExportToSvg, false },
+ { ExportToDbms, false }, { ImportDb, false }, { Diff, false },
+ { DropDatabase, false }, { DropObjects, false }, { PgSqlVer, true },
+ { Help, false }, { ShowGrid, false }, { ShowDelimiters, false },
+ { PageByPage, false }, { IgnoreDuplicates, false }, { IgnoreErrorCodes, true },
+ { ConnAlias, true }, { Host, true }, { Port, true },
+ { User, true }, { Passwd, true }, { InitialDb, true },
+ { ListConns, false }, { Simulate, false }, { FixModel, false },
+ { FixTries, true }, { ZoomFactor, true }, { UseTmpNames, false },
+ { DbmMimeType, true }, { IgnoreImportErrors, false }, { ImportSystemObjs, false },
+ { ImportExtensionObjs, false }, { FilterObjects, true }, { ForceChildren, true },
+ { OnlyMatching, false }, { MatchByName, false }, { DebugMode, false },
+ { PartialDiff, false }, { StartDate, true }, { EndDate, true },
+ { CompareTo, true }, { SaveDiff, false }, { ApplyDiff, false },
+ { NoDiffPreview, false }, { DropClusterObjs, false }, { RevokePermissions, false },
+ { DropMissingObjs, false }, { ForceDropColsConstrs, false }, { RenameDb, false },
+ { NoSequenceReuse, false }, { NoCascadeDrop, false },
+ { ForceRecreateObjs, false }, { OnlyUnmodifiable, false }, { ExportToDict, false },
+ { NoIndex, false }, { Split, false }, { SystemWide, false },
+ { CreateConfigs, false }, { Force, false }, { MissingOnly, false }
+};
+
+map PgModelerCliApp::accepted_opts = {
+ {{ Attributes::Connection }, { ConnAlias, Host, Port, User, Passwd, InitialDb }},
+ {{ ExportToFile }, { Input, Output, PgSqlVer, Split }},
+ {{ ExportToPng }, { Input, Output, ShowGrid, ShowDelimiters, PageByPage, ZoomFactor }},
+ {{ ExportToSvg }, { Input, Output, ShowGrid, ShowDelimiters }},
+ {{ ExportToDict }, { Input, Output, Split, NoIndex }},
+
+ {{ ExportToDbms }, { Input, PgSqlVer, IgnoreDuplicates, IgnoreErrorCodes,
+ DropDatabase, DropObjects, Simulate, UseTmpNames }},
+
+ {{ ImportDb }, { InputDb, Output, IgnoreImportErrors, ImportSystemObjs, ImportExtensionObjs,
+ FilterObjects, OnlyMatching, MatchByName, ForceChildren, DebugMode, ConnAlias,
+ Host, Port, User, Passwd, InitialDb }},
+
+ {{ Diff }, { Input, PgSqlVer, IgnoreDuplicates, IgnoreErrorCodes, CompareTo, PartialDiff, Force,
+ StartDate, EndDate, SaveDiff, ApplyDiff, NoDiffPreview, DropClusterObjs, RevokePermissions,
+ DropMissingObjs, ForceDropColsConstrs, RenameDb, NoCascadeDrop,
+ NoSequenceReuse, ForceRecreateObjs, OnlyUnmodifiable }},
+
+ {{ DbmMimeType }, { SystemWide, Force }},
+ {{ FixModel }, { Input, Output, FixTries }},
+ {{ ListConns }, {}},
+ {{ CreateConfigs }, {MissingOnly, Force}}
+};
+
+PgModelerCliApp::PgModelerCliApp(int argc, char **argv) : Application(argc, argv)
+{
+ try
+ {
+ QString op, value, orig_op;
+ bool accepts_val=false;
+ attribs_map opts;
+ QStringList args = arguments();
+
+ model=nullptr;
+ scene=nullptr;
+ xmlparser=nullptr;
+ zoom=1;
+
+ export_hlp = nullptr;
+ import_hlp = nullptr;
+ diff_hlp = nullptr;
+ conn_conf = nullptr;
+ rel_conf = nullptr;
+ general_conf = nullptr;
+
+ // We extract the options values only if the help option is not present
+ if(args.size() > 1 && !args.contains(Help) && !args.contains(short_opts[Help]))
+ {
+ for(int i=1; i < argc; i++)
+ {
+ op = orig_op = argv[i];
+
+ //If the retrieved option starts with - it will be treated as a command option
+ if(op[0]=='-')
+ {
+ value.clear();
+
+ if(i < argc-1 && argv[i+1][0]!='-')
+ {
+ //If the next option does not starts with '-', is considered a value
+ value=argv[++i];
+ }
+
+ //Raises an error if the option is not recognized
+ if(!isOptionRecognized(op, accepts_val))
+ throw Exception(tr("Unrecognized option `%1'.").arg(orig_op), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ //Raises an error if the value is empty and the option accepts a value
+ if(accepts_val && value.isEmpty())
+ throw Exception(tr("Value not specified for option `%1'.").arg(orig_op), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+ else if(!accepts_val && !value.isEmpty())
+ throw Exception(tr("Option `%1' does not accept values.").arg(orig_op), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ /* If we find a filter object parameter we append its parameter index so
+ * its value is not replaced by the next filter parameter found */
+ if(op == FilterObjects)
+ opts[QString("%1%2").arg(op).arg(i)] = value;
+
+ opts[op] = value;
+ }
+ }
+ }
+
+ //Validates and executes the options
+ parseOptions(opts);
+
+ if(!parsed_opts.empty())
+ {
+ model=new DatabaseModel;
+ xmlparser=model->getXMLParser();
+ silent_mode=(parsed_opts.count(Silent));
+
+ //If the export is to png or svg loads additional configurations
+ if(parsed_opts.count(ExportToPng) || parsed_opts.count(ExportToSvg) || parsed_opts.count(ImportDb))
+ {
+ connect(model, SIGNAL(s_objectAdded(BaseObject *)), this, SLOT(handleObjectAddition(BaseObject *)));
+ connect(model, SIGNAL(s_objectRemoved(BaseObject *)), this, SLOT(handleObjectRemoval(BaseObject *)));
+
+ //Load the general configuration including grid and delimiter options
+ GeneralConfigWidget conf_wgt;
+ conf_wgt.loadConfiguration();
+
+ //Load the objects styles
+ BaseObjectView::loadObjectsStyle();
+
+ scene=new ObjectsScene;
+ scene->setParent(this);
+ scene->setSceneRect(QRectF(0,0,2000,2000));
+ }
+
+ if(parsed_opts.count(ExportToDbms) || parsed_opts.count(ImportDb) || parsed_opts.count(Diff))
+ {
+ configureConnection(false);
+
+ //Replacing the initial db parameter for the input database when reverse engineering
+ if((parsed_opts.count(ImportDb) || parsed_opts.count(Diff)) && !parsed_opts[InputDb].isEmpty())
+ connection.setConnectionParam(Connection::ParamDbName, parsed_opts[InputDb]);
+ }
+
+ if(parsed_opts.count(Diff))
+ {
+ configureConnection(true);
+
+ if(!extra_connection.isConfigured())
+ extra_connection = connection;
+
+ extra_connection.setConnectionParam(Connection::ParamDbName, parsed_opts[CompareTo]);
+ }
+
+ if(!silent_mode && export_hlp && import_hlp && diff_hlp)
+ {
+ connect(export_hlp, SIGNAL(s_progressUpdated(int,QString)), this, SLOT(updateProgress(int,QString)));
+ connect(export_hlp, SIGNAL(s_errorIgnored(QString,QString,QString)), this, SLOT(printIgnoredError(QString,QString,QString)));
+ connect(import_hlp, SIGNAL(s_progressUpdated(int,QString,ObjectType)), this, SLOT(updateProgress(int,QString)));
+ connect(diff_hlp, SIGNAL(s_progressUpdated(int,QString,ObjectType)), this, SLOT(updateProgress(int,QString)));
+ }
+ }
+ }
+ catch(Exception &e)
+ {
+ throw e;
+ }
+}
+
+PgModelerCliApp::~PgModelerCliApp()
+{
+ if(scene)
+ delete scene;
+
+ delete model;
+
+ if(export_hlp)
+ delete export_hlp;
+
+ if(import_hlp)
+ delete import_hlp;
+
+ if(diff_hlp)
+ delete diff_hlp;
+
+ if(conn_conf)
+ delete conn_conf;
+
+ if(rel_conf)
+ delete rel_conf;
+
+ if(general_conf)
+ delete general_conf;
+}
+
+void PgModelerCliApp::printText(const QString &txt)
+{
+ out << txt << QtCompat::endl;
+}
+
+void PgModelerCliApp::printMessage(const QString &txt)
+{
+ if(!silent_mode)
+ printText(txt);
+}
+
+void PgModelerCliApp::configureConnection(bool extra_conn)
+{
+ QString chr = (extra_conn ? "1" : "");
+ Connection *conn = (extra_conn ? &extra_connection : &connection);
+
+ //Getting the connection using its alias
+ if(parsed_opts.count(ConnAlias + chr))
+ {
+ if(!connections.count(parsed_opts[ConnAlias + chr]))
+ throw Exception(tr("Connection aliased as '%1' was not found in the configuration file.").arg(parsed_opts[ConnAlias + chr]),
+ ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ //Make a copy of the named connection
+ *conn = (*connections[parsed_opts[ConnAlias + chr]]);
+ }
+ else
+ {
+ conn->setConnectionParam(Connection::ParamServerFqdn, parsed_opts[Host + chr]);
+ conn->setConnectionParam(Connection::ParamUser, parsed_opts[User + chr]);
+ conn->setConnectionParam(Connection::ParamPort, parsed_opts[Port + chr]);
+ conn->setConnectionParam(Connection::ParamPassword, parsed_opts[Passwd + chr]);
+ conn->setConnectionParam(Connection::ParamDbName, parsed_opts[InitialDb + chr]);
+ }
+}
+
+bool PgModelerCliApp::isOptionRecognized(QString &op, bool &accepts_val)
+{
+ bool found=false, append_chr = false;
+
+ if(op.endsWith('1'))
+ {
+ op.chop(1);
+ append_chr = true;
+ }
+
+ for(auto &itr : short_opts)
+ {
+ found=(op==itr.first || op==itr.second);
+ accepts_val=(found && long_opts[itr.first]);
+
+ if(found)
+ {
+ op = itr.first;
+ break;
+ }
+ }
+
+ if(append_chr) op += '1';
+ return found;
+}
+
+void PgModelerCliApp::showVersionInfo()
+{
+ printMessage();
+ printMessage(tr("pgModeler command line interface.") );
+ printMessage(tr("Version ") + GlobalAttributes::PgModelerVersion + QString(" - %1 Qt %2").arg(GlobalAttributes::PgModelerBuildNumber).arg(QT_VERSION_STR));
+ printMessage(tr("PostgreSQL Database Modeler Project - pgmodeler.io") );
+ printMessage(tr("Copyright 2006-%1 Raphael Araújo e Silva ").arg(QDate::currentDate().year()));
+ printMessage();
+}
+
+void PgModelerCliApp::showMenu()
+{
+ showVersionInfo();
+
+ printText(tr("Usage: pgmodeler-cli [OPTIONS]"));
+ printText(tr("This CLI tool provides several operations over models and databases without the need to perform them\nin pgModeler's graphical interface. All available options are described below."));
+ printText();
+
+ printText(tr("Operation mode options: "));
+ printText(tr(" %1, %2\t\t Export the input model to sql script file(s).").arg(short_opts[ExportToFile]).arg(ExportToFile));
+ printText(tr(" %1, %2\t\t Export the input model to a png image.").arg(short_opts[ExportToPng]).arg(ExportToPng) );
+ printText(tr(" %1, %2\t\t Export the input model to a svg file.").arg(short_opts[ExportToSvg]).arg(ExportToSvg) );
+ printText(tr(" %1, %2\t\t Export the input model to a data directory in HTML format.").arg(short_opts[ExportToDict]).arg(ExportToDict));
+ printText(tr(" %1, %2\t\t Export the input model directly to a PostgreSQL server.").arg(short_opts[ExportToDbms]).arg(ExportToDbms));
+ printText(tr(" %1, %2\t\t List available connections in file %3.").arg(short_opts[ListConns]).arg(ListConns).arg(GlobalAttributes::ConnectionsConf + GlobalAttributes::ConfigurationExt));
+ printText(tr(" %1, %2\t\t Import a database to an output file.").arg(short_opts[ImportDb]).arg(ImportDb));
+ printText(tr(" %1, %2\t\t\t Compares a model and a database or two databases generating the SQL script to sync the latter in relation to the first.").arg(short_opts[Diff]).arg(Diff));
+ printText(tr(" %1, %2\t\t Try to fix the structure of the input model file in order to make it loadable again.").arg(short_opts[FixModel]).arg(FixModel));
+ printText(tr(" %1, %2\t\t Create the pgModeler's configuration folder and files in the user's local storage.").arg(short_opts[CreateConfigs]).arg(CreateConfigs));
+#ifndef Q_OS_MAC
+ printText(tr(" %1, %2 [ACTION]\t Handles the file association to .dbm files. The ACTION can be [%3 | %4].").arg(short_opts[DbmMimeType]).arg(DbmMimeType).arg(Install).arg(Uninstall));
+#endif
+ printText(tr(" %1, %2\t\t\t Show this help menu.").arg(short_opts[Help]).arg(Help));
+ printText();
+
+ printText(tr("General options: "));
+ printText(tr(" %1, %2 [FILE]\t\t Input model file (.dbm). This is mandatory for export and fix operations.").arg(short_opts[Input]).arg(Input));
+ printText(tr(" %1, %2 [DBNAME]\t Input database name. This is mandatory for import operation.").arg(short_opts[InputDb]).arg(InputDb));
+ printText(tr(" %1, %2 [FILE|DIRECTORY] Output file or directory. This is mandatory for fixing model or exporting to file, png or svg.").arg(short_opts[Output]).arg(Output));
+ printText(tr(" %1, %2\t\t Force the PostgreSQL syntax to the specified version when generating SQL code. The version string must be in form major.minor.").arg(short_opts[PgSqlVer]).arg(PgSqlVer));
+ printText(tr(" %1, %2\t\t\t Silent execution. Only critical messages and errors are shown during process.").arg(short_opts[Silent]).arg(Silent));
+ printText();
+
+ printText(tr("SQL file export options: "));
+ printText(tr(" %1, %2\t\t\t The SQL file is generated per object. The files will be named in such a way to reflect the correct creation order of the objects.").arg(short_opts[Split]).arg(Split));
+ printText();
+
+ printText(tr("PNG and SVG export options: "));
+ printText(tr(" %1, %2\t\t Draws the grid in the exported image.").arg(short_opts[ShowGrid]).arg(ShowGrid));
+ printText(tr(" %1, %2\t Draws the page delimiters in the exported image.").arg(short_opts[ShowDelimiters]).arg(ShowDelimiters));
+ printText(tr(" %1, %2\t\t Each page will be exported in a separated png image. (Only for PNG images)").arg(short_opts[PageByPage]).arg(PageByPage));
+ printText(tr(" %1, %2 [FACTOR]\t\t Applies a zoom (in percent) before export to png image. Accepted zoom interval: %3-%4 (Only for PNG images)").arg(short_opts[ZoomFactor]).arg(ZoomFactor).arg(ModelWidget::MinimumZoom*100).arg(ModelWidget::MaximumZoom*100));
+ printText();
+
+ printText(tr("Data dictionary export options: "));
+ printText(tr(" %1, %2\t\t\t The data dictionaries are generated in separated files inside the selected output directory.").arg(short_opts[Split]).arg(Split));
+ printText(tr(" %1, %2\t\t Avoids the generation of the index that is used to help navigating through the data dictionary.").arg(short_opts[NoIndex]).arg(NoIndex));
+ printText();
+
+ printText(tr("Connection options: "));
+ printText(tr(" %1, %2 [ALIAS]\t Connection configuration alias to be used.").arg(short_opts[ConnAlias]).arg(ConnAlias));
+ printText(tr(" %1, %2 [HOST]\t\t PostgreSQL host in which a task will operate.").arg(short_opts[Host]).arg(Host));
+ printText(tr(" %1, %2 [PORT]\t\t PostgreSQL host listening port.").arg(short_opts[Port]).arg(Port));
+ printText(tr(" %1, %2 [USER]\t\t PostgreSQL username.").arg(short_opts[User]).arg(User));
+ printText(tr(" %1, %2 [PASSWORD]\t PostgreSQL user password.").arg(short_opts[Passwd]).arg(Passwd));
+ printText(tr(" %1, %2 [DBNAME]\t Connection's initial database.").arg(short_opts[InitialDb]).arg(InitialDb));
+ printText();
+
+ printText(tr("DBMS export options: "));
+ printText(tr(" %1, %2\t Ignores errors related to duplicated objects that eventually exist in the server.").arg(short_opts[IgnoreDuplicates]).arg(IgnoreDuplicates));
+ printText(tr(" %1, %2 [CODES] Ignores additional errors by their codes. A comma-separated list of alphanumeric codes should be provided.").arg(short_opts[IgnoreErrorCodes]).arg(IgnoreErrorCodes));
+ printText(tr(" %1, %2\t\t Drop the database before execute a export process.").arg(short_opts[DropDatabase]).arg(DropDatabase));
+ printText(tr(" %1, %2\t\t Runs the DROP commands attached to SQL-enabled objects.").arg(short_opts[DropObjects]).arg(DropObjects));
+ printText(tr(" %1, %2\t\t Simulates an export process by executing all steps but undoing any modification in the end.").arg(short_opts[Simulate]).arg(Simulate));
+ printText(tr(" %1, %2\t\t Generates temporary names for database, roles and tablespaces when in simulation mode.").arg(short_opts[UseTmpNames]).arg(UseTmpNames));
+ printText();
+
+ printText(tr("Database import options: "));
+ printText(tr(" %1, %2\t\t Ignore all errors and try to create as many as possible objects.").arg(short_opts[IgnoreImportErrors]).arg(IgnoreImportErrors));
+ printText(tr(" %1, %2\t Import system built-in objects. This option causes the model bloating due to the importing of unneeded objects.").arg(short_opts[ImportSystemObjs]).arg(ImportSystemObjs));
+ printText(tr(" %1, %2\t Import extension objects. This option causes the model bloating due to the importing of unneeded objects.").arg(short_opts[ImportExtensionObjs]).arg(ImportExtensionObjs));
+ printText(tr(" %1, %2 [FILTER] Causes the import process to import only those objects matching the filter(s). The FILTER should be in the form type:pattern:mode.").arg(short_opts[FilterObjects]).arg(FilterObjects));
+ printText(tr(" %1, %2\t\t Causes only objects matching the provided filter(s) to be imported. Those not matching filter(s) are discarded.").arg(short_opts[OnlyMatching]).arg(OnlyMatching));
+ printText(tr(" %1, %2\t\t Causes the objects matching to be performed over their names instead of their signature ([schema].[name]).").arg(short_opts[MatchByName]).arg(MatchByName));
+ printText(tr(" %1, %2 [OBJECTS] Forces the importing of children objects related to tables/views/foreign tables matched by the filter(s). The OBJECTS is a comma separated list types.").arg(short_opts[ForceChildren]).arg(ForceChildren));
+ printText(tr(" %1, %2\t\t Run import in debug mode printing all queries executed in the server.").arg(short_opts[DebugMode]).arg(DebugMode));
+ printText();
+
+ printText(tr("Diff options: "));
+ printText(tr(" %1, %2 [DBNAME]\t The database used in the comparison. All the SQL code generated is applied to it.").arg(short_opts[CompareTo]).arg(CompareTo));
+ printText(tr(" %1, %2\t\t Toggles the partial diff operation. A set of objects filters should be provided using the import option %3.").arg(short_opts[PartialDiff]).arg(PartialDiff).arg(FilterObjects));
+ printText(tr(" %1, %2\t\t\t Forces a full diff if the provided filters were not able to retrieve objects for a partial diff operation.").arg(short_opts[Force]).arg(Force));
+ printText(tr(" %1, %2\t\t Matches all database model objects in which modification date starts in the specified date. (Only for partial diff)").arg(short_opts[StartDate]).arg(StartDate));
+ printText(tr(" %1, %2\t\t Matches all database model objects in which modification date ends in the specified date. (Only for partial diff)").arg(short_opts[EndDate]).arg(EndDate));
+ printText(tr(" %1, %2\t\t\t Save the generated diff code to output file.").arg(short_opts[SaveDiff]).arg(SaveDiff));
+ printText(tr(" %1, %2\t\t\t Apply the generated diff code on the database server.").arg(short_opts[ApplyDiff]).arg(ApplyDiff));
+ printText(tr(" %1, %2\t\t Don't preview the generated diff code when applying it to the server.").arg(short_opts[NoDiffPreview]).arg(NoDiffPreview));
+ printText(tr(" %1, %2\t Drop cluster level objects like roles and tablespaces.").arg(short_opts[DropClusterObjs]).arg(DropClusterObjs));
+ printText(tr(" %1, %2\t\t Revoke permissions already set on the database. New permissions configured in the input model are still applied.").arg(short_opts[RevokePermissions]).arg(RevokePermissions));
+ printText(tr(" %1, %2\t\t Drop missing objects. Generates DROP commands for objects that are present in the input model but not in the compared database.").arg(short_opts[DropMissingObjs]).arg(DropMissingObjs));
+ printText(tr(" %1, %2\t Force the drop of missing columns and constraints. Causes only columns and constraints to be dropped, other missing objects aren't removed.").arg(short_opts[ForceDropColsConstrs]).arg(ForceDropColsConstrs));
+ printText(tr(" %1, %2\t\t Rename the destination database when the names of the involved databases are different.").arg(short_opts[RenameDb]).arg(RenameDb));
+ printText(tr(" %1, %2\t\t Don't drop objects in cascade mode.").arg(short_opts[NoCascadeDrop]).arg(NoCascadeDrop));
+ printText(tr(" %1, %2\t Don't reuse sequences on serial columns. Drop the old sequence assigned to a serial column and creates a new one.").arg(short_opts[NoSequenceReuse]).arg(NoSequenceReuse));
+ printText(tr(" %1, %2\t Force the recreating of objects. Instead of an ALTER command a DROP and CREATE commands are used to create a new version of the objects.").arg(short_opts[ForceRecreateObjs]).arg(ForceRecreateObjs));
+ printText(tr(" %1, %2\t Recreate only the unmodifiable objects. These objects are the ones which can't be changed via ALTER command.").arg(short_opts[OnlyUnmodifiable]).arg(OnlyUnmodifiable));
+ printText();
+
+ printText(tr("Model fix options: ") );
+ printText(tr(" %1, %2 [NUMBER]\t Model fix tries. When reaching the maximum count the invalid objects will be discarded.").arg(short_opts[FixTries]).arg(FixTries));
+ printText();
+
+#ifndef Q_OS_MAC
+ printText(tr("File association options: "));
+ printText(tr(" %1, %2\t\t The file association to .dbm files will be applied in a system wide level instead of to the current user.").arg(short_opts[SystemWide]).arg(SystemWide));
+ printText(tr(" %1, %2 \t\t\t Forces the mime type install or uninstall. ").arg(short_opts[Force]).arg(Force));
+ printText();
+#endif
+
+ printText(tr("Config files creation options: "));
+ printText(tr(" %1, %2 \t\t Copy only missing configuration files to the user's local storage.").arg(short_opts[MissingOnly]).arg(MissingOnly));
+ printText(tr(" %1, %2 \t\t\t Forces the recreation of all configuration files. This option implies the backup of the current settings.").arg(short_opts[Force]).arg(Force));
+ printText();
+
+ printText();
+ printText(tr("** The FILTER value in %1 option has the form type:pattern:mode. ").arg(FilterObjects));
+ printText(tr(" * The `type' is the type of object to be filtered and accepts the following values (invalid types ignored): "));
+
+ QStringList list;
+ QString child_list;
+
+ for(auto &type : BaseObject::getChildObjectTypes(ObjectType::Table))
+ {
+ if(type == ObjectType::Column)
+ continue;
+
+ list.append(BaseObject::getSchemaName(type));
+ }
+
+ list.sort();
+ child_list = list.join(", ");
+
+ QStringList fmt_types, lines, type_list = Catalog::getFilterableObjectNames();
+ int i = 0;
+
+ for(auto &type : type_list)
+ {
+ fmt_types.append(type);
+ i++;
+ if(i % 8 == 0 || i == type_list.size() - 1)
+ {
+ lines.append(QString(" > ") + fmt_types.join(", "));
+ fmt_types.clear();
+ }
+ }
+ printText(lines.join('\n'));
+
+ printText();
+ printText(tr(" * The `pattern' is the text pattern which is matched against the objects names."));
+ printText();
+ printText(tr(" * The `mode' is the way the pattern is matched. This one accepts two values: "));
+ printText(tr(" > `%1' causes the pattern to be used as a wildcard string while matching objects names.").arg(UtilsNs::FilterWildcard));
+ printText(tr(" > `%1' causes the pattern to be treated as a POSIX regular expression while matching objects names.").arg(UtilsNs::FilterRegExp));
+ printText();
+ printText(tr(" * The option %1 has effect only when used with %2 and will avoid discarding children of matched tables.").arg(ForceChildren).arg(OnlyMatching));
+ printText(tr(" Other tables eventually imported which are dependencies of the matched objects will have their children discarded."));
+ printText(tr(" The comma separated list of table children objects accepts the values:"));
+ printText(tr(" > %1").arg(child_list) );
+ printText(tr(" > Use the special keyword `%1' to force all children objects.").arg(AllChildren) );
+ printText();
+ printText(tr(" * NOTES: all comparisons during filtering process are case insensitive."));
+ printText(tr(" Using the filtering options may cause the importing of additional objects due to the automatic dependency resolution."));
+ printText();
+ printText(tr("** The diff process allows the usage all options related to the import operation."));
+ printText(tr(" It also accepts the following export operation options: `%1', `%2'").arg(IgnoreDuplicates).arg(IgnoreErrorCodes));
+ printText();
+ printText(tr("** The partial diff operation will always force the options %1 and %2 = %3 for more reliable results.").arg(OnlyMatching).arg(ForceChildren).arg(AllChildren));
+ printText(tr(" * The options %1 and %2 accepts the ISO8601 date/time format: yyyy-MM-dd hh:mm:ss").arg(StartDate).arg(EndDate));
+ printText();
+ printText(tr("** When running the diff using two databases (%1 and %2) there's the option to specify two separated connections/aliases.").arg(InputDb).arg(CompareTo));
+ printText(tr(" If only one connection is set then it will be used to import the input database as well to retrieve the database used in the comparison."));
+ printText(tr(" A second connection can be specified by appending a 1 to any connection configuration parameter listed above."));
+ printText(tr(" This causes the connection to be associated to %1 exclusively.").arg(CompareTo));
+ printText();
+}
+
+void PgModelerCliApp::listConnections()
+{
+ map::iterator itr=connections.begin();
+
+ if(connections.empty())
+ printText(tr("There are no connections configured."));
+ else
+ {
+ unsigned id=0;
+
+ printText(tr("Available connections (alias : connection string)"));
+
+ while(itr != connections.end())
+ {
+ printText(QString("[") + QString::number(id++) + QString("] ") + itr->first + QString(" : ") +
+ itr->second->getConnectionString().replace(PasswordRegExp, PasswordPlaceholder));
+ itr++;
+ }
+
+ printText();
+ }
+}
+
+void PgModelerCliApp::parseOptions(attribs_map &opts)
+{
+ //Loading connections
+ if(opts.count(ListConns) || opts.count(ExportToDbms) || opts.count(ImportDb) || opts.count(Diff))
+ {
+ conn_conf = new ConnectionsConfigWidget;
+ conn_conf->loadConfiguration();
+ conn_conf->getConnections(connections, false);
+ }
+ //Loading general and relationship settings when exporting to image formats
+ else if(opts.count(ExportToPng) || opts.count(ExportToSvg))
+ {
+ general_conf = new GeneralConfigWidget;
+ rel_conf = new RelationshipConfigWidget;
+
+ general_conf->loadConfiguration();
+ rel_conf->loadConfiguration();
+ }
+
+ //Creating the export/import/diff helpers when one of the operations are specified
+ if(opts.count(ExportToDbms) || opts.count(ExportToFile) ||
+ opts.count(ExportToPng) || opts.count(ExportToSvg) ||
+ opts.count(ExportToDict) || opts.count(ImportDb) ||
+ opts.count(Diff))
+ {
+ export_hlp = new ModelExportHelper;
+ import_hlp = new DatabaseImportHelper;
+ diff_hlp = new ModelsDiffHelper;
+ }
+
+ if(opts.empty() || opts.count(Help))
+ showMenu();
+ else
+ {
+ QString curr_op_mode;
+ int exp_mode_cnt = 0, other_modes_cnt = 0;
+ bool fix_model = (opts.count(FixModel) > 0),
+ upd_mime = (opts.count(DbmMimeType) > 0),
+ import_db = (opts.count(ImportDb) > 0),
+ diff = (opts.count(Diff) > 0),
+ create_configs= (opts.count(CreateConfigs) > 0),
+ list_conns = (opts.count(ListConns) > 0),
+ export_dbms = (opts.count(ExportToDbms) > 0);
+
+ for(auto &itr : accepted_opts)
+ {
+ if(itr.first == Attributes::Connection)
+ continue;
+
+ if(opts.count(itr.first))
+ {
+ curr_op_mode = itr.first;
+
+ if(itr.first == ExportToFile || itr.first == ExportToPng ||
+ itr.first == ExportToSvg || itr.first == ExportToDbms ||
+ itr.first == ExportToDict)
+ exp_mode_cnt++;
+ else
+ other_modes_cnt++;
+ }
+ }
+
+ if(opts.count(ZoomFactor))
+ zoom=opts[ZoomFactor].toDouble()/static_cast(100);
+
+ if(other_modes_cnt==0 && exp_mode_cnt==0)
+ throw Exception(tr("No operation mode was specified!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if((exp_mode_cnt > 0 && (fix_model || upd_mime || import_db || diff || create_configs || list_conns)) || (exp_mode_cnt==0 && other_modes_cnt > 1))
+ throw Exception(tr("Multiple operation modes were specified!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(!fix_model && !upd_mime && exp_mode_cnt > 1)
+ throw Exception(tr("Multiple export mode was specified!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(!list_conns && !upd_mime && !import_db && !diff && !create_configs && !opts.count(Input))
+ throw Exception(tr("No input file was specified!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(import_db && !opts.count(InputDb))
+ throw Exception(tr("No input database was specified!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(!opts.count(ExportToDbms) && !upd_mime && !list_conns && !diff && !create_configs && !opts.count(Output))
+ throw Exception(tr("No output file was specified!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(!opts.count(ExportToDbms) && !upd_mime && !import_db && !list_conns && !create_configs &&
+ opts.count(Input) && opts.count(Output) &&
+ QFileInfo(opts[Input]).absoluteFilePath() == QFileInfo(opts[Output]).absoluteFilePath())
+ throw Exception(tr("Input file must be different from output!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(opts.count(ExportToDbms) && !opts.count(ConnAlias) &&
+ (!opts.count(Host) || !opts.count(User) || !opts.count(Passwd) || !opts.count(InitialDb)) )
+ throw Exception(tr("Incomplete connection information!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(opts.count(ExportToPng) && (zoom < ModelWidget::MinimumZoom || zoom > ModelWidget::MaximumZoom))
+ throw Exception(tr("Invalid zoom specified!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(upd_mime && opts[DbmMimeType]!=Install && opts[DbmMimeType]!=Uninstall)
+ throw Exception(tr("Invalid action specified to update mime option!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(create_configs && opts.count(Force) && opts.count(MissingOnly))
+ throw Exception(tr("The options `%1' and `%2' can't be used together when handling configuration files!").arg(Force).arg(MissingOnly), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(diff)
+ {
+ if(!opts.count(Input) && !opts.count(InputDb))
+ throw Exception(tr("No input file or database was specified!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(opts.count(Input) && opts.count(InputDb))
+ throw Exception(tr("The input file and database can't be used at the same time!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(!opts.count(CompareTo))
+ throw Exception(tr("No database to be compared was specified!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(!opts.count(SaveDiff) && !opts.count(ApplyDiff))
+ throw Exception(tr("No diff action (save or apply) was specified!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(opts.count(SaveDiff) && opts[Output].isEmpty())
+ throw Exception(tr("No output file for the diff code was specified!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(opts.count(PartialDiff) && !opts[Input].count() && (opts.count(StartDate) || opts.count(EndDate)))
+ throw Exception(tr("Date filters are allowed only on partial diff using an input model!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(opts.count(PartialDiff) && opts.count(FilterObjects) && (opts.count(StartDate) || opts.count(EndDate)))
+ throw Exception(tr("Date filters and object filters can't be used together!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(opts.count(PartialDiff) && !opts.count(FilterObjects) && !opts.count(StartDate) && !opts.count(EndDate))
+ throw Exception(tr("Partial diff enabled but no object filter was provided!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ // For partial diff we force the --only-matching option and --force-children = all
+ if(opts.count(PartialDiff))
+ {
+ opts[ForceChildren] = AllChildren;
+ opts[OnlyMatching] = "";
+ }
+
+ // Validating the date formats in the provided start/end dates
+ QDateTime *dates[2] = { &start_date, &end_date };
+ QStringList dt_params = { StartDate, EndDate };
+
+ for(int idx = 0; idx < 2; idx++)
+ {
+ if(opts.count(dt_params[idx]))
+ {
+ *dates[idx] = QDateTime::fromString(opts[dt_params[idx]], Qt::ISODate);
+
+ if(!dates[idx]->isValid())
+ throw Exception(tr("Invalid date format `%1' in option `%2'!").arg(opts[dt_params[idx]]).arg(dt_params[idx]), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+ }
+ }
+
+ /* If any of the dates are correctly parsed we need to force
+ * the signature name matching, the forced filtering of all table children objects
+ * and the only-matching option, so the objects can be correctly retrieved from
+ * the destination database */
+ if(start_date.isValid() || end_date.isValid())
+ {
+ parsed_opts.erase(MatchByName);
+ parsed_opts[ForceChildren] = AllChildren;
+ parsed_opts[OnlyMatching] = "";
+ }
+ }
+
+ //Converting input and output files to absolute paths to avoid that they are read/written on the app's working dir
+ if(opts.count(Input))
+ opts[Input]=QFileInfo(opts[Input]).absoluteFilePath();
+
+ if(opts.count(Output))
+ opts[Output]=QFileInfo(opts[Output]).absoluteFilePath();
+
+ /* Special treatment for filter parameters:
+ * Since it can be specified several filter parameter we need to join
+ * everything in a single string list so it can be passed to the import helper correctly */
+ if(opts.count(FilterObjects))
+ {
+ opts.erase(FilterObjects);
+
+ for(auto &op : opts)
+ {
+ if(op.first.contains(FilterObjects))
+ obj_filters.append(op.second);
+ }
+ }
+
+ /* Performing a final validation on the parsed options which consists
+ * in check if all provided options are compatible with the operation mode selected */
+ QStringList acc_opts = accepted_opts[curr_op_mode];
+ QString long_opt;
+
+ // Diff, import and export (to DBMS) share the same connection options
+ if(diff || import_db || export_dbms)
+ acc_opts.append(accepted_opts[Attributes::Connection]);
+
+ // Diff also accepts all import parameters
+ if(diff)
+ acc_opts.append(accepted_opts[ImportDb]);
+
+ for(auto &itr : opts)
+ {
+ long_opt = itr.first;
+
+ if(long_opt == curr_op_mode || long_opt == Silent)
+ continue;
+
+ /* Before validate the option we need to remove any appended number to the option name
+ * This happens for options related to objects filters and connections */
+ long_opt.remove(QRegExp("[0-9]+$"));
+
+ if(!acc_opts.contains(long_opt))
+ throw Exception(tr("The option `%1' is not accepted by the operation mode `%2'!").arg(long_opt).arg(curr_op_mode),
+ ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+ }
+
+ parsed_opts = opts;
+ }
+}
+
+int PgModelerCliApp::exec()
+{
+ try
+ {
+ if(!parsed_opts.empty())
+ {
+ showVersionInfo();
+
+ if(parsed_opts.count(ListConns))
+ listConnections();
+ else if(parsed_opts.count(FixModel))
+ fixModel();
+ else if(parsed_opts.count(DbmMimeType))
+ updateMimeType();
+ else if(parsed_opts.count(CreateConfigs))
+ createConfigurations();
+ else if(parsed_opts.count(ImportDb))
+ importDatabase();
+ else if(parsed_opts.count(Diff))
+ diffModelDatabase();
+ else
+ exportModel();
+ }
+
+ return 0;
+ }
+ catch(Exception &e)
+ {
+ throw e;
+ }
+}
+
+void PgModelerCliApp::updateProgress(int progress, QString msg, ObjectType)
+{
+ if(progress > 0)
+ printMessage(QString("[%1%] ").arg(progress > 100 ? 100 : progress) + msg);
+ else
+ printMessage(msg);
+}
+
+void PgModelerCliApp::printIgnoredError(QString err_cod, QString err_msg, QString cmd)
+{
+ printText();
+ printText(tr("** Error code `%1' found and ignored. Proceeding with export.").arg(err_cod));
+ printText(tr("** Command: %1").arg(cmd));
+ printText(err_msg);
+ printText();
+}
+
+void PgModelerCliApp::handleObjectAddition(BaseObject *object)
+{
+ BaseGraphicObject *graph_obj=dynamic_cast(object);
+
+ if(graph_obj)
+ {
+ ObjectType obj_type=graph_obj->getObjectType();
+ QGraphicsItem *item=nullptr;
+
+ switch(obj_type)
+ {
+ case ObjectType::Table:
+ item=new TableView(dynamic_cast
(graph_obj));
+ break;
+
+ case ObjectType::ForeignTable:
+ item=new TableView(dynamic_cast(graph_obj));
+ break;
+
+ case ObjectType::View:
+ item=new GraphicalView(dynamic_cast(graph_obj));
+ break;
+
+ case ObjectType::Relationship:
+ case ObjectType::BaseRelationship:
+ item=new RelationshipView(dynamic_cast(graph_obj));
+ break;
+
+ case ObjectType::Schema:
+ item=new SchemaView(dynamic_cast(graph_obj));
+ break;
+
+ default:
+ item=new StyledTextboxView(dynamic_cast(graph_obj));
+ break;
+ }
+
+ scene->addItem(item);
+
+ if(BaseTable::isBaseTable(obj_type))
+ dynamic_cast(graph_obj->getSchema())->setModified(true);
+ }
+}
+
+
+void PgModelerCliApp::handleObjectRemoval(BaseObject *object)
+{
+ BaseGraphicObject *graph_obj=dynamic_cast(object);
+
+ if(graph_obj)
+ {
+ scene->removeItem(dynamic_cast(graph_obj->getOverlyingObject()));
+
+ //Updates the parent schema if the removed object were a table or view
+ if(graph_obj->getSchema() && BaseTable::isBaseTable(graph_obj->getObjectType()))
+ dynamic_cast(graph_obj->getSchema())->setModified(true);
+ }
+}
+
+
+void PgModelerCliApp::extractObjectXML()
+{
+ QString buf, lin, def_xml, end_tag, pgmodeler_ver;
+ QTextStream ts;
+ QRegExp regexp(QString("^(\\<\\?xml)(.)*(\\<%1)( )*").arg(Attributes::DbModel)),
+
+ //[schema].[func_name](...OUT [type]...)
+ func_signature=QRegExp(QString("(\")(.)+(\\.)(.)+(\\()(.)*(OUT )(.)+(\\))(\")")),
+
+ //[,]OUT [schema].[type]
+ out_param=QRegExp(QString("(,)?(OUT )([a-z]|[0-9]|(\\.)|(\\_)|(\\-)|( )|(\\[)|(\\])|("))+((\\()([0-9])+(\\)))?"));
+ int start=-1, end=-1;
+ bool open_tag=false, close_tag=false, is_rel=false, short_tag=false, end_extract_rel=false, is_change_log=false;
+
+ printMessage(tr("Extracting objects' XML..."));
+
+ buf.append(UtilsNs::loadFile(parsed_opts[Input]));
+
+ // Extracting pgModeler version from input model
+ QRegExp ver_expr(AttributeExpr.arg(Attributes::PgModelerVersion));
+ start = ver_expr.indexIn(buf);
+ model_version = buf.mid(start, ver_expr.matchedLength());
+ model_version.remove(Attributes::PgModelerVersion);
+ model_version.remove(QRegExp("(\\\"|\\=| )+"));
+
+ if(!model_version.contains(QRegExp("(\\d\\.\\d\\.\\d)((\\-)(alpha|beta)(\\d))?")))
+ {
+ printMessage(tr("** WARNING: Could't determine the pgModeler version in which the input model was created!"));
+ printMessage(tr(" Some fix actions that depend on the model version will not be applied!"));
+ model_version.clear();
+ }
+
+ //Check if the file contains a valid header (for .dbm file)
+ start=regexp.indexIn(buf);
+
+ if(start < 0)
+ throw Exception(tr("Invalid input file! It seems that is not a pgModeler generated model or the file is corrupted!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+ else
+ {
+ //Extracting layers informations from the tag
+ QRegExp dbm_regexp = QRegExp(TagExpr.arg(Attributes::DbModel)),
+ db_end_regexp = QRegExp(EndTagExpr.arg(Attributes::Database));
+ int attr_start =-1, attr_end = -1, dbm_start = dbm_regexp.indexIn(buf);
+ QString aux_buf = buf.mid(dbm_start, buf.indexOf(db_end_regexp) - dbm_start),
+ layers, active_layers, attr_expr = QString("(%1)( )*(=)(\")");
+ QList act_layers_ids;
+
+ //Layers names
+ attr_start = aux_buf.indexOf(Attributes::Layers);
+ attr_end = aux_buf.indexOf(Attributes::ActiveLayers);
+ layers = aux_buf.mid(attr_start, attr_end - attr_start);
+ layers.remove(QRegExp(attr_expr.arg(Attributes::Layers)));
+ layers.remove('"');
+ model->setLayers(layers.trimmed().split(',', QtCompat::SkipEmptyParts));
+
+ //Active layers
+ attr_start = attr_end;
+ attr_end = aux_buf.indexOf('>', attr_start);
+ active_layers = aux_buf.mid(attr_start, attr_end - attr_start);
+ active_layers.remove(QRegExp(attr_expr.arg(Attributes::ActiveLayers)));
+ active_layers.remove('"');
+
+ for(auto id : active_layers.trimmed().split(';', QtCompat::SkipEmptyParts))
+ act_layers_ids.push_back(id.toUInt());
+
+ model->setActiveLayers(act_layers_ids);
+
+ //Remove the header entry from buffer
+ buf.remove(start, regexp.matchedLength()+1);
+
+ //Checking if the header ends on a role declaration
+ QRegExp role_regexp = QRegExp(QString("(<%1)(.)*(<\\/%2>)").arg(Attributes::Role).arg(Attributes::Role));
+ end = buf.indexOf(role_regexp);
+
+ // If we found role declarations we clear the header until there
+ if(end >= 0)
+ buf.remove(0, end);
+ else
+ // Instead, we clear the header until the starting of database declaration
+ buf.remove(0, buf.indexOf(QString("<%1").arg(Attributes::Database)));
+
+ buf.remove(QString("<\\%1>").arg(Attributes::DbModel));
+ ts.setString(&buf);
+
+ //Extracts the objects xml line by line
+ while(!ts.atEnd())
+ {
+ lin=ts.readLine();
+
+ /* Collecting changelog entries if present and storing in a separated buffer
+ * so it can be restored in the fixed model during objects' reconstruction */
+ if(!is_change_log && lin.contains(TagExpr.arg(Attributes::Changelog)))
+ is_change_log = true;
+
+ if(is_change_log)
+ {
+ changelog.append(lin);
+
+ if(lin.contains(EndTagExpr.arg(Attributes::Changelog)))
+ is_change_log = false;
+ else
+ continue;
+ }
+
+ /* Special case for empty tags like , they will be converted to
+ in order to be correctly extracted further. Currently only language has this
+ behaviour, so additional object may be added in the future. */
+ if(lin.contains(QString("<%1").arg(BaseObject::getSchemaName(ObjectType::Language))))
+ {
+ lin=lin.simplified();
+
+ if(lin.contains(QString("/>")))
+ lin.replace(QString("/>"), QString(">%1>").arg(BaseObject::getSchemaName(ObjectType::Language)));
+ }
+ /* Special case for function signatures. In previous releases, the function's signature was wrongly
+ including OUT parameters and according to docs they are not part of the signature, so it is needed
+ to remove them if the current line contains a valid signature with parameters. */
+ else if(lin.contains(func_signature))
+ lin.remove(out_param);
+
+ if(is_rel && (((short_tag && lin.contains(QString("/>"))) ||
+ (lin.contains(QString("[a-z]+")) && !containsRelAttributes(lin)))))
+ open_tag=close_tag=true;
+ else
+ {
+ //If the line contains an objects open tag
+ if(lin.contains(QRegExp("^(((\n)|(\t))*(<))")) && !open_tag)
+ {
+ //Check the flag indicating an open tag
+ open_tag=true;
+
+ start=lin.indexOf('<');
+ end=lin.indexOf(' ');
+ if(end < 0) end=lin.indexOf('>');
+
+ //Configures the end tag with the same word extracted from open tag
+ end_tag=lin.mid(start, end-start+1).trimmed();
+ end_tag.replace(QString("<"),QString(""));
+
+ if(!end_tag.endsWith('>'))
+ end_tag+=QString(">");
+
+ /* Checking if the line start a relationship. Relationships are treated
+ a little different because they can be empty or
+ contain open and close tags */
+ is_rel=lin.contains(Attributes::Relationship);
+
+ if(is_rel)
+ {
+ end_extract_rel=short_tag=false;
+
+ while(!end_extract_rel && !ts.atEnd())
+ {
+ def_xml+=lin + QString("\n");
+ lin=lin.trimmed();
+
+ //Checking if the current line is the end of a short-tag relationship
+ if(!short_tag && !lin.startsWith('<') && lin.endsWith(QString("/>")))
+ short_tag=true;
+
+ end_extract_rel=((!short_tag && lin.contains(end_tag)) || short_tag);
+
+ if(!end_extract_rel)
+ lin=ts.readLine();
+ }
+
+ close_tag=true;
+ }
+ else
+ close_tag=lin.contains(end_tag);
+ }
+ else if(open_tag && lin.contains(end_tag))
+ close_tag=true;
+ }
+
+ if(!is_rel && !lin.isEmpty())
+ def_xml+=lin + QString("\n");
+ else if(lin.isEmpty())
+ def_xml+=QString("\n");
+
+ //If the iteration reached the end of the object's definition
+ if(open_tag && close_tag)
+ {
+ //Pushes the extracted definition to the list (only if not empty)
+ if(def_xml!=QString("\n"))
+ objs_xml.push_back(def_xml);
+
+ def_xml.clear();
+ open_tag=close_tag=is_rel=false;
+ }
+ }
+ }
+}
+
+void PgModelerCliApp::recreateObjects()
+{
+ QStringList fail_objs, constr, list;
+ QString xml_def, aux_def, start_tag = "<%1", end_tag = "%1>", aux_tag, type_tag = " types={ ObjectType::Index, ObjectType::Trigger, ObjectType::Rule };
+ attribs_map attribs, fmt_ext_names;
+ bool use_fail_obj=false;
+ unsigned tries=0, max_tries=parsed_opts[FixTries].toUInt();
+ int start_pos=-1, end_pos=-1, len=0, obj_id = 0, obj_cnt = objs_xml.count();
+
+ printMessage(tr("Recreating objects..."));
+
+ if(max_tries==0)
+ max_tries=1;
+
+ model->createSystemObjects(false);
+
+ while(!objs_xml.isEmpty())
+ {
+ //If there are failed objects and the flag is set
+ if(use_fail_obj && !fail_objs.isEmpty())
+ {
+ xml_def=fail_objs.front();
+ fail_objs.pop_front();
+ use_fail_obj=false;
+ }
+ else
+ {
+ xml_def=objs_xml.front();
+ objs_xml.pop_front();
+ fixObjectAttributes(xml_def);
+ }
+
+ /* Replacing the tags [restartParser();
+ xmlparser->loadXMLBuffer(xml_def);
+ obj_type=BaseObject::getObjectType(xmlparser->getElementName());
+
+ xmlparser->getElementAttributes(attribs);
+
+ if(obj_type==ObjectType::Database)
+ model->configureDatabase(attribs);
+ else
+ {
+ if(obj_type==ObjectType::Table)
+ {
+ //Before create a table extract it's foreign keys
+ list=extractForeignKeys(xml_def);
+
+ /* If fks were extracted insert them on the main constraints list
+ * and restarts the XMLParser with the modified buffer */
+ if(!list.isEmpty())
+ {
+ constr.append(list);
+ xmlparser->restartParser();
+ xmlparser->loadXMLBuffer(xml_def);
+ }
+ }
+
+ //Discarding fk relationships
+ if(obj_type!=ObjectType::Relationship ||
+ (obj_type==ObjectType::Relationship && !xml_def.contains(QString("\"%1\"").arg(Attributes::RelationshipFk))))
+ {
+ object=model->createObject(obj_type);
+
+ if(object)
+ {
+ if(!dynamic_cast(object) && obj_type!=ObjectType::Relationship && obj_type!=ObjectType::BaseRelationship)
+ model->addObject(object);
+
+ printMessage(QString("[%1%] %2")
+ .arg(static_cast((++obj_id/static_cast(obj_cnt)) * 100))
+ .arg(tr("Object recreated: `%1' (%2)").arg(object->getName(true), object->getTypeName())));
+
+ /* Special case for extensions:
+ * Before pgModeler 0.9.4-alpha1 the types handled by extension (for example hstore, ltree, etc) were
+ * registered in the PgSqlType as user-defined data type without their schemas names prepended. This
+ * was causing lot of troubles importing databases in which extension data types were being used. The
+ * solution was to adjust the extension type names in such a way to prepend schema names. So here we
+ * store the schema-qualified extension name in a special map where the key is the name of the extension
+ * without the schema name, this way search the tags [getObjectType() == ObjectType::Extension && dynamic_cast(object)->handlesType())
+ fmt_ext_names[object->getName()] = object->getName(true, true);
+ }
+
+ //For each sucessful created object the method will try to create a failed one
+ use_fail_obj=(!fail_objs.isEmpty());
+ }
+
+ /* Additional step to extract indexes/triggers/rules from within tables/views
+ * and putting their xml on the list of object to be created */
+ if(BaseTable::isBaseTable(obj_type) && xml_def.contains(QRegExp("(<)(index|trigger|rule)")))
+ {
+ for(ObjectType type : types)
+ {
+ do
+ {
+ //Checking where the object starts and ends
+ aux_tag=start_tag.arg(BaseObject::getSchemaName(type));
+ start_pos=xml_def.indexOf(aux_tag);
+ end_pos=(start_pos >=0 ? xml_def.indexOf(end_tag.arg(BaseObject::getSchemaName(type))) : -1);
+
+ if(start_pos >=0 && end_pos >= 0)
+ {
+ //Extracts the xml code
+ len=(end_pos - start_pos) + end_tag.arg(BaseObject::getSchemaName(type)).length() + 1;
+ aux_def=xml_def.mid(start_pos, len);
+
+ //Remove the code from original table's definition
+ xml_def.remove(start_pos, len);
+
+ //If the extract object doesn't contains the 'table=' attribute it'll be added.
+ if(!aux_def.contains("table="))
+ {
+ aux_def.replace(aux_tag, QString("%1 table=\"%2\"").arg(aux_tag).arg(object->getName(true)));
+ aux_def=XmlParser::convertCharsToXMLEntities(aux_def);
+ }
+
+ objs_xml.push_back(aux_def);
+ }
+ }
+ while(start_pos >= 0);
+ }
+ }
+ }
+ }
+ catch(Exception &e)
+ {
+ if(obj_type!=ObjectType::Database)
+ {
+ fail_objs.push_back(xml_def);
+ printText(tr("** WARNING: Failed to recreate an object!"));
+ }
+ else
+ throw Exception(e.getErrorMessage(), e.getErrorCode(),__PRETTY_FUNCTION__,__FILE__,__LINE__, &e);
+ }
+
+ if(objs_xml.isEmpty() && (!fail_objs.isEmpty() || !constr.isEmpty()))
+ {
+ tries++;
+
+ //If the maximum creation tries reaches the maximum value
+ if(tries > max_tries)
+ {
+ //Outputs the code of the objects that wasn't created
+ printText();
+ printText(tr("** Object(s) that couldn't fixed: "));
+
+ while(!fail_objs.isEmpty())
+ {
+ printText(fail_objs.front());
+ fail_objs.pop_front();
+ }
+
+ break;
+ }
+ else
+ {
+ printMessage(tr("** WARNING: There are objects that maybe can't be fixed. Trying again... (tries %1/%2)").arg(tries).arg(max_tries));
+ model->validateRelationships();
+ objs_xml=fail_objs;
+ objs_xml.append(constr);
+ fail_objs.clear();
+ constr.clear();
+ }
+ }
+ }
+
+ // Fixing the roles memberships.
+ Role *role = nullptr, *mem_role = nullptr;
+ bool member_fixed = false;
+
+ for(auto &rl : member_roles)
+ {
+ role = model->getRole(rl.first);
+
+ if(!role)
+ {
+ printMessage(tr("** WARNING: Could not find the role `%1'! Ignoring it...").arg(rl.first));
+ continue;
+ }
+
+ for(auto &name : rl.second)
+ {
+ mem_role = model->getRole(name);
+
+ if(!mem_role)
+ {
+ printMessage(tr("** WARNING: Could not find the role `%1' of `%2`! Igorning it...").arg(name, rl.first));
+ continue;
+ }
+
+ role->addRole(Role::MemberRole, mem_role);
+ member_fixed = true;
+ }
+ }
+
+ if(member_fixed)
+ {
+ printMessage(tr("** WARNING: Roles memberships were fixed but their creation order is not guaranteed!"));
+ printMessage(tr(" It may be necessary to run the fix tool again but now on the file `%1'.").arg(parsed_opts[Output]));
+ }
+
+ // Reconstructing the persisted change log if present
+ if(!changelog.isEmpty())
+ {
+ model->setPersistedChangelog(true);
+ xmlparser->loadXMLBuffer(changelog);
+
+ if(xmlparser->accessElement(XmlParser::ChildElement))
+ {
+ do
+ {
+ xmlparser->getElementAttributes(attribs);
+ model->addChangelogEntry(attribs[Attributes::Signature], attribs[Attributes::Type],
+ attribs[Attributes::Action], attribs[Attributes::Date]);
+ }
+ while(xmlparser->accessElement(XmlParser::NextElement));
+ }
+ }
+}
+
+void PgModelerCliApp::fixObjectAttributes(QString &obj_xml)
+{
+ //Placing objects , , outside of
+ if(!obj_xml.startsWith(TagExpr.arg(BaseObject::getSchemaName(ObjectType::Tablespace))) &&
+ obj_xml.startsWith(TagExpr.arg(BaseObject::getSchemaName(ObjectType::Table))))
+ {
+ int start_idx=-1, end_idx=-1, len=0;
+ ObjectType obj_types[3]={ ObjectType::Rule, ObjectType::Trigger, ObjectType::Index };
+ QString curr_tag, curr_end_tag, def, tab_name, sch_name,
+ name_attr=QString("name=\""),
+ sch_name_attr=TagExpr.arg(BaseObject::getSchemaName(ObjectType::Schema)) + QString(" ") + name_attr;
+
+ //Extracting the table's name
+ start_idx=obj_xml.indexOf(name_attr);
+ end_idx=obj_xml.indexOf("\"", start_idx + name_attr.size());
+ tab_name=obj_xml.mid(start_idx, end_idx - start_idx).remove(name_attr);
+
+ //Extracting the table's schema name
+ start_idx=obj_xml.indexOf(sch_name_attr);
+ end_idx=obj_xml.indexOf('"', start_idx + sch_name_attr.size());
+ sch_name=obj_xml.mid(start_idx, end_idx - start_idx).remove(sch_name_attr);
+
+ //Configuring the table=[name] attribute to be included on rule objects
+ tab_name=QString("table=\"%1.%2\"").arg(sch_name).arg(tab_name);
+
+ for(unsigned idx=0; idx < 3; idx++)
+ {
+ curr_tag=TagExpr.arg(BaseObject::getSchemaName(obj_types[idx]));
+ curr_end_tag=EndTagExpr.arg(BaseObject::getSchemaName(obj_types[idx])) + QString(">");
+ start_idx=obj_xml.indexOf(curr_tag);
+
+ while(start_idx >=0)
+ {
+ end_idx=obj_xml.indexOf(curr_end_tag);
+ len=(end_idx - start_idx) + curr_end_tag.size();
+ def=obj_xml.mid(start_idx, len) + QString("\n\n");
+ obj_xml.remove(start_idx, len);
+
+ //If the object is a rule include the table attribute
+ if(def.startsWith(TagExpr.arg(BaseObject::getSchemaName(ObjectType::Rule))))
+ {
+ start_idx=def.indexOf('>');
+ def.replace(start_idx, 1, QString(" ") + tab_name + QString(">"));
+ }
+
+ start_idx=obj_xml.indexOf(curr_tag);
+
+ if(!def.isEmpty())
+ //Puts the object's defintion to the list in order to be evaluated in the main process
+ objs_xml.push_back(def);
+ }
+ }
+ }
+
+ //Remove recheck attribute from tags.
+ if(obj_xml.contains(TagExpr.arg(Attributes::Element)))
+ obj_xml.remove(QRegExp(AttributeExpr.arg(QString("recheck"))));
+
+ //Remove values greater-op, less-op, sort-op or sort2-op from ref-type attribute from tags.
+ if(obj_xml.contains(TagExpr.arg(BaseObject::getSchemaName(ObjectType::Operator))))
+ {
+ obj_xml.remove(QString("greater-op"));
+ obj_xml.remove(QString("less-op"));
+ obj_xml.remove(QString("sort-op"));
+ obj_xml.remove(QString("sort2-op"));
+ }
+
+ //Replacing attribute owner by onwer-col for sequences
+ if(obj_xml.contains(TagExpr.arg(BaseObject::getSchemaName(ObjectType::Sequence))))
+ obj_xml.replace(QRegExp(QString("(%1)( )*(=)(\")").arg(Attributes::Owner)), QString("%1 = \"").arg(Attributes::OwnerColumn));
+
+ /* Remove sysid attribute from tags and storing the referenced roles (ref-roles)
+ * for later re-assignment. */
+ if(obj_xml.contains(TagExpr.arg(BaseObject::getSchemaName(ObjectType::Role))))
+ {
+ obj_xml.remove(QRegExp(AttributeExpr.arg(QString("sysid"))));
+
+ QRegExp ref_roles_expr = QRegExp(QString("(\\<%1)(.)+(%2)( )*(=)(\")(%3)(\")(.)+(\\/\\>)").arg(Attributes::Roles, Attributes::RoleType, Attributes::Refer));
+ int pos = ref_roles_expr.indexIn(obj_xml);
+
+ if(pos >= 0)
+ {
+ QString buf = obj_xml.mid(pos, ref_roles_expr.matchedLength()),
+ name_attr = QString("name=\""), role_name;
+ int start_idx = 0, end_idx = 0;
+
+ // Extracting the role name
+ start_idx = obj_xml.indexOf(name_attr);
+ end_idx = obj_xml.indexOf("\"", start_idx + name_attr.size());
+ role_name = obj_xml.mid(start_idx, end_idx - start_idx).remove(name_attr);
+
+ // Removing the element
+ obj_xml.remove(pos, ref_roles_expr.matchedLength());
+
+ // Retrieve the name of the ref-roles
+ buf.remove(QRegExp("^(.)+(names=\")"));
+ buf.remove(buf.indexOf("\""), buf.size());
+
+ /* Storing the association between the current role and the ref-roles
+ * in a map for further processing */
+ for(auto &rl_name : buf.split(',', QtCompat::SkipEmptyParts))
+ member_roles[rl_name].append(role_name);
+ }
+ }
+
+ //Replace tag by on tags.
+ if(obj_xml.contains(TagExpr.arg(QString("usertype"))))
+ {
+ obj_xml.replace(TagExpr.arg(Attributes::Parameter), TagExpr.arg(Attributes::TypeAttribute));
+ obj_xml.replace(EndTagExpr.arg(Attributes::Parameter), EndTagExpr.arg(Attributes::TypeAttribute));
+
+ // Fixing the enumeration type labels
+ if(!model_version.isEmpty() && model_version <= "0.9.4-beta1")
+ {
+ /* Until pgModeler 0.9.3, enum labels separators where commas.
+ * In pgModeler 0.9.4, enum labels separators where UtilsNs::DataSeparator */
+ QString sep = (model_version == "0.9.4-beta1" ? UtilsNs::DataSeparator : ","),
+ values, labels;
+ QRegExp enum_start_expr("(" + TagExpr.arg(Attributes::EnumType) + ")( )*(values)( )*(=)( )*(\\\")"),
+ enum_end_expr("(\\\")( )*(\\/>)"),
+ enum_tag_expr("(" + TagExpr.arg(Attributes::EnumType) + ")(.)+(/>)");
+ int start = -1, end = -1;
+
+ // Extracting the values of the tag
+ start = enum_start_expr.indexIn(obj_xml) + enum_start_expr.matchedLength();
+ end = enum_end_expr.indexIn(obj_xml, start);
+ values = obj_xml.mid(start, end - start);
+
+ if(!values.isEmpty())
+ {
+ // Converting each value extract into a separated tag
+ for(auto &label : values.split(sep, QtCompat::SkipEmptyParts))
+ labels.append(QString("\t<%1 label=\"%2\"/>\n").arg(Attributes::EnumType, label));
+
+ obj_xml.replace(enum_tag_expr, labels);
+ }
+ }
+ }
+
+ if(obj_xml.contains(TagExpr.arg(BaseObject::getSchemaName(ObjectType::Relationship))))
+ {
+ //Remove auto-sufix, src-sufix, dst-sufix, col-indexes, constr-indexes, attrib-indexes from tags.
+ obj_xml.remove(QRegExp(AttributeExpr.arg(QString("auto-sufix"))));
+ obj_xml.remove(QRegExp(AttributeExpr.arg(QString("src-sufix"))));
+ obj_xml.remove(QRegExp(AttributeExpr.arg(QString("dst-sufix"))));
+ obj_xml.remove(QRegExp(AttributeExpr.arg(QString("col-indexes"))));
+ obj_xml.remove(QRegExp(AttributeExpr.arg(QString("constr-indexes"))));
+ obj_xml.remove(QRegExp(AttributeExpr.arg(QString("attrib-indexes"))));
+
+ obj_xml.replace(QString("line-color"), Attributes::CustomColor);
+ }
+
+ //Renaming the tag to on indexes
+ if(obj_xml.contains(TagExpr.arg(BaseObject::getSchemaName(ObjectType::Index))))
+ {
+ obj_xml.replace(TagExpr.arg(Attributes::Condition), TagExpr.arg(Attributes::Predicate));
+ obj_xml.replace(EndTagExpr.arg(Attributes::Condition), EndTagExpr.arg(Attributes::Predicate));
+ }
+
+ //Renaming the attribute default to default-value on domain
+ if(obj_xml.contains(TagExpr.arg(BaseObject::getSchemaName(ObjectType::Domain))))
+ obj_xml.replace(Attributes::Default, Attributes::DefaultValue);
+
+ //Renaming the tag to
+ if(obj_xml.contains(TagExpr.arg(QString("grant"))))
+ {
+ obj_xml.replace(TagExpr.arg(QString("grant")), TagExpr.arg(BaseObject::getSchemaName(ObjectType::Permission)));
+ obj_xml.replace(EndTagExpr.arg(QString("grant")), EndTagExpr.arg(BaseObject::getSchemaName(ObjectType::Permission)));
+ }
+
+ //Replace the constraint attribute and tag expression by constraint tag in .
+ if(obj_xml.contains(TagExpr.arg(BaseObject::getSchemaName(ObjectType::Domain))) &&
+ obj_xml.contains(TagExpr.arg(Attributes::Expression)))
+ {
+ int start_idx=-1, end_idx=-1;
+ QRegExp regexp = QRegExp(AttributeExpr.arg(Attributes::Constraint));
+ QString constr_name;
+
+ regexp.indexIn(obj_xml);
+ constr_name = regexp.capturedTexts().at(0);
+ constr_name.remove(QString("%1=\"").arg(Attributes::Constraint));
+ constr_name.remove(constr_name.length() - 1, 1);
+
+ obj_xml.remove(QRegExp(AttributeExpr.arg(Attributes::Constraint)));
+
+ start_idx = obj_xml.indexOf(TagExpr.arg(Attributes::Expression));
+ obj_xml.insert(start_idx, QString("\n\t\n\t\t").arg(constr_name));
+
+ end_idx = obj_xml.indexOf(EndTagExpr.arg(Attributes::Expression));
+ obj_xml.insert(end_idx + EndTagExpr.arg(Attributes::Expression).length() + 1, QString("\n\t\n"));
+ }
+
+ //Replace the deprecated attribute hide-ext-attribs="false|true" from
and by collapse-mode="0|1"
+ if(obj_xml.contains(TagExpr.arg(BaseObject::getSchemaName(ObjectType::Table))) ||
+ obj_xml.contains(TagExpr.arg(BaseObject::getSchemaName(ObjectType::View))))
+ {
+ obj_xml.replace(QString("%1=\"false\"").arg(Attributes::HideExtAttribs), QString("%1=\"0\"").arg(Attributes::CollapseMode));
+ obj_xml.replace(QString("%1=\"true\"").arg(Attributes::HideExtAttribs), QString("%1=\"1\"").arg(Attributes::CollapseMode));
+ }
+
+ //Remove the usage of IN keyword in functions' signatures since it is the default if absent
+ QRegExp regexp = QRegExp(AttributeExpr.arg(Attributes::Signature));
+ int sig_idx = regexp.indexIn(obj_xml), len = 0;
+ QString signature, in_keyw = QString("IN ");
+
+ while(sig_idx >= 0)
+ {
+ signature = obj_xml.mid(sig_idx, regexp.matchedLength());
+ len = signature.length();
+
+ if(!signature.contains(in_keyw))
+ {
+ sig_idx = regexp.indexIn(obj_xml, sig_idx + len);
+ continue;
+ }
+
+ signature.remove(in_keyw);
+ obj_xml.remove(sig_idx, len);
+ obj_xml.insert(sig_idx, signature);
+ sig_idx = regexp.indexIn(obj_xml, sig_idx + len);
+ }
+
+ //Rename the attribute layer to layers
+ if(obj_xml.contains(QRegExp("(layer)( )*(=)")))
+ obj_xml.replace("layer", Attributes::Layers);
+
+ //Fix the references to op. classes and families if needed
+ fixOpClassesFamiliesReferences(obj_xml);
+}
+
+void PgModelerCliApp::fixOpClassesFamiliesReferences(QString &obj_xml)
+{
+ ObjectType ref_obj_type;
+
+ if(obj_xml.contains(TagExpr.arg(BaseObject::getSchemaName(ObjectType::Index))) ||
+ obj_xml.contains(QRegExp(QString("(%1)(.)+(type=)(\")(%2)(\")")
+ .arg(TagExpr.arg(BaseObject::getSchemaName(ObjectType::Constraint)))
+ .arg(Attributes::ExConstr))))
+ ref_obj_type=ObjectType::OpClass;
+ else if(obj_xml.contains(TagExpr.arg(BaseObject::getSchemaName(ObjectType::OpClass))))
+ ref_obj_type=ObjectType::OpFamily;
+ else
+ return;
+
+ QString ref_obj_name=BaseObject::getSchemaName(ref_obj_type);
+ if(!obj_xml.contains(TagExpr.arg(ref_obj_name)))
+ return;
+
+ QString obj_name, aux_obj_name, signature=QString("%1 USING %2");
+ QRegExp sign_regexp=QRegExp(AttributeExpr.arg(QString("signature")));
+ QStringList index_types;
+ int pos=0;
+
+ obj_xml.replace(TagExpr.arg(ref_obj_name) + QString(" name="),
+ TagExpr.arg(ref_obj_name) + QString(" signature="));
+
+ index_types = IndexingType::getTypes();
+
+ do
+ {
+ pos=sign_regexp.indexIn(obj_xml, pos);
+
+ if(pos >= 0)
+ {
+ //Extracting the signature attribute
+ obj_name=obj_xml.mid(pos, sign_regexp.matchedLength());
+
+ //Removing useless portions signature=" in order to retrive only the object's name
+ obj_name.remove(QRegExp("(signature)( )*(=)"));
+ obj_name.remove('"');
+
+ //Transforming xml entity for quote into the char
+ obj_name.replace(XmlParser::CharQuot, QString("\""));
+
+ for(auto &idx_type : index_types)
+ {
+ //Building a name by appe
+ aux_obj_name=signature.arg(obj_name).arg(idx_type);
+
+ if(model->getObjectIndex(aux_obj_name, ref_obj_type) >= 0)
+ {
+ //Replacing the old signature with the corrected form
+ aux_obj_name.replace(QString("\""), XmlParser::CharQuot);
+ obj_xml.replace(pos, sign_regexp.matchedLength(), QString("signature=\"%1\"").arg(aux_obj_name));
+ break;
+ }
+ }
+
+ pos+=sign_regexp.matchedLength();
+ }
+ }
+ while(pos >= 0);
+}
+
+void PgModelerCliApp::fixModel()
+{
+ printMessage(tr("Starting model fixing..."));
+ printMessage(tr("Loading input file: %1").arg(parsed_opts[Input]));
+ printMessage(tr("Fixed model file: %1").arg(parsed_opts[Output]));
+
+ extractObjectXML();
+ recreateObjects();
+
+ printMessage(tr("Updating relationships..."));
+ model->updateTablesFKRelationships();
+
+ printMessage(tr("Saving fixed output model..."));
+ model->saveModel(parsed_opts[Output], SchemaParser::XmlDefinition);
+
+ printMessage(tr("Model successfully fixed!"));
+}
+
+void PgModelerCliApp::loadModel()
+{
+ //Create the systems objects on model before loading it
+ model->createSystemObjects(false);
+
+ //Load the model file
+ model->loadModel(parsed_opts[Input]);
+
+ /* The scene object is created only when some options are used
+ * so we need to check it if is not null to avoid segfaults */
+ if(scene)
+ {
+ scene->blockSignals(true);
+
+ scene->addLayers(model->getLayers(), false);
+ scene->setActiveLayers(model->getActiveLayers());
+ scene->setLayerColors(ObjectsScene::LayerNameColor, model->getLayerNameColors());
+ scene->setLayerColors(ObjectsScene::LayerRectColor, model->getLayerRectColors());
+ scene->setLayerNamesVisible(model->isLayerNamesVisible());
+ scene->setLayerRectsVisible(model->isLayerRectsVisible());
+
+ if(model->isLayerRectsVisible())
+ model->setObjectsModified({ ObjectType::Schema });
+
+ scene->blockSignals(false);
+ }
+}
+
+void PgModelerCliApp::exportModel()
+{
+ printMessage(tr("Starting model export..."));
+ printMessage(tr("Loading input file: %1").arg(parsed_opts[Input]));
+
+ loadModel();
+
+ //Export to PNG
+ if(parsed_opts.count(ExportToPng))
+ {
+ printMessage(tr("Export to PNG image: %1").arg(parsed_opts[Output]));
+
+ export_hlp->exportToPNG(scene, parsed_opts[Output], zoom,
+ parsed_opts.count(ShowGrid) > 0,
+ parsed_opts.count(ShowDelimiters) > 0,
+ parsed_opts.count(PageByPage) > 0);
+ }
+ //Export to SVG
+ else if(parsed_opts.count(ExportToSvg))
+ {
+ printMessage(tr("Export to SVG file: %1").arg(parsed_opts[Output]));
+
+ export_hlp->exportToSVG(scene, parsed_opts[Output],
+ parsed_opts.count(ShowGrid) > 0,
+ parsed_opts.count(ShowDelimiters) > 0);
+ }
+ //Export to SQL file
+ else if(parsed_opts.count(ExportToFile))
+ {
+ printMessage(tr("Export to SQL script file: %1").arg(parsed_opts[Output]));
+ export_hlp->exportToSQL(model, parsed_opts[Output], parsed_opts[PgSqlVer], parsed_opts.count(Split) > 0);
+ }
+ //Export data dictionary
+ else if(parsed_opts.count(ExportToDict))
+ {
+ printMessage(tr("Export to data dictionary: %1").arg(parsed_opts[Output]));
+ export_hlp->exportToDataDict(model, parsed_opts[Output],
+ parsed_opts.count(NoIndex) == 0,
+ parsed_opts.count(Split) > 0);
+ }
+ //Export to DBMS
+ else
+ {
+ printMessage(tr("Export to DBMS: %1").arg(connection.getConnectionString().replace(PasswordRegExp, PasswordPlaceholder)));
+
+ if(parsed_opts.count(IgnoreErrorCodes))
+ export_hlp->setIgnoredErrors(parsed_opts[IgnoreErrorCodes].split(','));
+
+ export_hlp->exportToDBMS(model, connection, parsed_opts[PgSqlVer],
+ parsed_opts.count(IgnoreDuplicates) > 0,
+ parsed_opts.count(DropDatabase) > 0,
+ parsed_opts.count(DropObjects) > 0,
+ parsed_opts.count(Simulate) > 0,
+ parsed_opts.count(UseTmpNames) > 0);
+ }
+
+ printMessage(tr("Export successfully ended!\n"));
+}
+
+void PgModelerCliApp::importDatabase()
+{
+ printMessage(tr("Starting database import..."));
+ printMessage(tr("Input database: %1").arg(connection.getConnectionId(true, true)));
+
+ ModelWidget *model_wgt = new ModelWidget;
+
+ importDatabase(model_wgt->getDatabaseModel(), connection);
+ model_wgt->rearrangeSchemasInGrid();
+
+ printMessage(tr("Saving the imported database to file..."));
+
+ model_wgt->getDatabaseModel()->saveModel(parsed_opts[Output], SchemaParser::XmlDefinition);
+
+ printMessage(tr("Import successfully ended!\n"));
+
+ delete model_wgt;
+}
+
+void PgModelerCliApp::importDatabase(DatabaseModel *model, Connection conn)
+{
+ try
+ {
+ map> obj_oids;
+ map> col_oids;
+ Catalog catalog;
+ QString db_oid;
+ QStringList force_tab_objs;
+ bool imp_sys_objs = (parsed_opts.count(ImportSystemObjs) > 0),
+ imp_ext_objs = (parsed_opts.count(ImportExtensionObjs) > 0);
+
+ if(parsed_opts[ForceChildren] == AllChildren)
+ {
+ for(auto &type : BaseObject::getChildObjectTypes(ObjectType::Table))
+ {
+ if(type == ObjectType::Column)
+ continue;
+
+ force_tab_objs.append(BaseObject::getSchemaName(type));
+ }
+ }
+ else
+ force_tab_objs = parsed_opts[ForceChildren].split(',', QtCompat::SkipEmptyParts);
+
+ catalog.setConnection(conn);
+ catalog.setQueryFilter(Catalog::ListAllObjects | Catalog::ExclBuiltinArrayTypes |
+ (!imp_ext_objs ? Catalog::ExclExtensionObjs : 0) |
+ (!imp_sys_objs ? Catalog::ExclSystemObjs : 0));
+
+ catalog.setObjectFilters(obj_filters, parsed_opts.count(OnlyMatching) > 0,
+ parsed_opts.count(MatchByName) == 0, force_tab_objs);
+ catalog.getObjectsOIDs(obj_oids, col_oids, {{Attributes::FilterTableTypes, Attributes::True}});
+
+ db_oid = catalog.getObjectOID(conn.getConnectionParam(Connection::ParamDbName), ObjectType::Database);
+ obj_oids[ObjectType::Database].push_back(db_oid.toUInt());
+ catalog.closeConnection();
+
+ import_hlp->setConnection(conn);
+ import_hlp->setImportOptions(imp_sys_objs,
+ imp_ext_objs,
+ true,
+ parsed_opts.count(IgnoreImportErrors) > 0,
+ parsed_opts.count(DebugMode) > 0,
+ !parsed_opts.count(Diff), !parsed_opts.count(Diff));
+
+ model->createSystemObjects(true);
+ import_hlp->setSelectedOIDs(model, obj_oids, col_oids);
+ import_hlp->importDatabase();
+ import_hlp->closeConnection();
+ }
+ catch(Exception &e)
+ {
+ throw Exception(e.getErrorMessage(), e.getErrorCode(),__PRETTY_FUNCTION__,__FILE__,__LINE__, &e);
+ }
+}
+
+void PgModelerCliApp::diffModelDatabase()
+{
+ DatabaseModel *model_aux = new DatabaseModel();
+ QString dbname;
+ vector filtered_objs;
+
+ printMessage(tr("Starting diff process..."));
+
+ if(!parsed_opts[Input].isEmpty())
+ printMessage(tr("Input model: %1").arg(parsed_opts[Input]));
+ else
+ printMessage(tr("Input database: %1").arg(connection.getConnectionId(true, true)));
+
+ dbname = extra_connection.getConnectionId(true, true);
+ printMessage(tr("Compare to: %1").arg(dbname));
+
+ if(!parsed_opts[Input].isEmpty())
+ {
+ printMessage(tr("Loading input model..."));
+ loadModel();
+
+ if(parsed_opts.count(PartialDiff))
+ {
+ QString search_attr = parsed_opts.count(MatchByName) ? Attributes::Name : Attributes::Signature;
+
+ // Filtering by modification date always forces the signature matching
+ if(start_date.isValid() || end_date.isValid())
+ obj_filters.append(model->getFiltersFromChangelog(start_date, end_date));
+
+ filtered_objs = model->findObjects(obj_filters, search_attr);
+
+ /* We need to finish the diff if no object was found based on the filters
+ * this will avoid the diff between an empty database model and a full database model
+ * which may produce unexpected results like try to recreate all objects from the database
+ * model that contains objects */
+ if(filtered_objs.empty())
+ {
+ printMessage(tr("No object was retrieved using the provided filter(s)."));
+
+ if(!parsed_opts.count(Force))
+ {
+ printMessage(tr("Use the option `%1' to force a full diff in this case.").arg(Force));
+ printMessage(tr("The diff process will not continue!\n"));
+ return;
+ }
+ else
+ printMessage(tr("Switching to full diff..."));
+ }
+ else
+ {
+ /* Special case: when performing a partial diff between a model and a database
+ * and in the set of filtered model objects we have one or more many-to-many, inheritance or partitioning
+ * relationships we need to inject filters to force the retrieval of the all involved tables in those relationships
+ * from the destination database,this way we avoid the diff try to create everytime all tables
+ * in the those relationships. */
+ obj_filters.append(ModelsDiffHelper::getRelationshipFilters(filtered_objs, search_attr == Attributes::Signature));
+ }
+ }
+ }
+ else
+ {
+ printMessage(tr("Importing the database `%1'...").arg(connection.getConnectionId(true, true)));
+ importDatabase(model, connection);
+ }
+
+ printMessage(tr("Importing the database `%1'...").arg(dbname));
+ importDatabase(model_aux, extra_connection);
+
+ diff_hlp->setModels(model, model_aux);
+ diff_hlp->setFilteredObjects(filtered_objs);
+ diff_hlp->setDiffOption(ModelsDiffHelper::OptKeepClusterObjs, !parsed_opts.count(DropClusterObjs));
+ diff_hlp->setDiffOption(ModelsDiffHelper::OptCascadeMode, !parsed_opts.count(NoCascadeDrop));
+ diff_hlp->setDiffOption(ModelsDiffHelper::OptForceRecreation, parsed_opts.count(ForceRecreateObjs));
+ diff_hlp->setDiffOption(ModelsDiffHelper::OptRecreateUnmodifiable, parsed_opts.count(OnlyUnmodifiable));
+ diff_hlp->setDiffOption(ModelsDiffHelper::OptKeepObjectPerms, !parsed_opts.count(RevokePermissions));
+ diff_hlp->setDiffOption(ModelsDiffHelper::OptReuseSequences, !parsed_opts.count(NoSequenceReuse));
+ diff_hlp->setDiffOption(ModelsDiffHelper::OptPreserveDbName, !parsed_opts.count(RenameDb));
+ diff_hlp->setDiffOption(ModelsDiffHelper::OptDontDropMissingObjs, !parsed_opts.count(DropMissingObjs));
+ diff_hlp->setDiffOption(ModelsDiffHelper::OptDropMissingColsConstr, !parsed_opts.count(ForceDropColsConstrs));
+
+ if(!parsed_opts[PgSqlVer].isEmpty())
+ diff_hlp->setPgSQLVersion(parsed_opts[PgSqlVer]);
+ else
+ {
+ extra_connection.connect();
+ diff_hlp->setPgSQLVersion(extra_connection.getPgSQLVersion(true));
+ extra_connection.close();
+ }
+
+ printMessage(tr("Comparing the generated models..."));
+ diff_hlp->diffModels();
+
+ if(diff_hlp->getDiffDefinition().isEmpty())
+ printMessage(tr("No differences were detected."));
+ else
+ {
+ if(parsed_opts.count(SaveDiff))
+ {
+ printMessage(tr("Saving diff to file `%1'").arg(parsed_opts[Output]));
+ UtilsNs::saveFile(parsed_opts[Output], diff_hlp->getDiffDefinition().toUtf8());
+ }
+ else
+ {
+ bool apply_diff = true;
+
+ if(!parsed_opts.count(NoDiffPreview))
+ {
+ QString res, buff, line;
+ QTextStream in(stdin), preview;
+
+ buff += "\n** Press ENTER to scroll the preview **\n";
+ buff += "\n### DIFF PREVIEW ###\n\n";
+ buff += diff_hlp->getDiffDefinition();
+ buff += "\n### END OF PREVIEW ###\n\n";
+
+ preview.setString(&buff, QIODevice::ReadOnly);
+
+ while(!preview.atEnd())
+ {
+ line = preview.readLine();
+ res.append(line + '\n');
+
+ if(res.count(QChar('\n')) >= 30 || preview.atEnd())
+ {
+ out << res;
+ out.flush();
+ res.clear();
+
+ if(!preview.atEnd())
+ in.readLine();
+ }
+ }
+
+ out << QtCompat::endl;
+ out << tr("** WARNING: You are about to apply the generated diff code to the server. Data can be lost in the process!") << QtCompat::endl;
+
+ do
+ {
+ out << tr("** Proceed with the diff applying? (yes/no) > ");
+ out.flush();
+
+ in.skipWhiteSpace();
+ res = in.readLine();
+ }
+ while(res.toLower() != tr("yes") && res.toLower() != tr("no"));
+
+ if(res.toLower() == tr("no"))
+ {
+ apply_diff = false;
+ printMessage(tr("Diff code not applied to the server."));
+ }
+ }
+
+ if(apply_diff)
+ {
+ printMessage(tr("Applying diff to the database `%1'...").arg(dbname));
+ export_hlp->setExportToDBMSParams(diff_hlp->getDiffDefinition(),
+ &extra_connection,
+ parsed_opts[CompareTo], parsed_opts.count(IgnoreDuplicates));
+
+ if(parsed_opts.count(IgnoreErrorCodes))
+ export_hlp->setIgnoredErrors(parsed_opts[IgnoreErrorCodes].split(','));
+
+ export_hlp->exportToDBMS();
+ }
+ }
+ }
+
+ printMessage(tr("Diff successfully ended!\n"));
+}
+
+void PgModelerCliApp::updateMimeType()
+{
+#ifndef Q_OS_MAC
+ try
+ {
+ printMessage(tr("Starting mime update..."));
+
+ handleMimeDatabase(parsed_opts[DbmMimeType]==Uninstall, parsed_opts.count(SystemWide) != 0, parsed_opts.count(Force) != 0);
+
+ printMessage(tr("Mime database successfully updated!\n"));
+ }
+ catch (Exception &e)
+ {
+ throw Exception(e.getErrorMessage(),e.getErrorCode(),__PRETTY_FUNCTION__,__FILE__,__LINE__,&e);
+ }
+#endif
+}
+
+QStringList PgModelerCliApp::extractForeignKeys(QString &obj_xml)
+{
+ QStringList constr_lst;
+ int start=0, end=0, pos=0, count=0;
+ QString start_tag=QString("<%1").arg(Attributes::Constraint),
+ end_tag=QString("%1").arg(Attributes::Constraint),
+ constr;
+
+ do
+ {
+ start=obj_xml.indexOf(start_tag, pos);
+ end=obj_xml.indexOf(end_tag, start);
+
+ if(start > 0 && end > 0)
+ {
+ count=(end - start) + end_tag.size() + 1;
+ constr=obj_xml.mid(start, count);
+
+ if(constr.contains(Attributes::FkConstr))
+ {
+ obj_xml.remove(start, count);
+ constr_lst.push_back(constr);
+ pos=0;
+ }
+ else
+ pos=end;
+ }
+ else
+ break;
+ }
+ while(pos >= 0 && pos < obj_xml.size());
+
+ return constr_lst;
+}
+
+bool PgModelerCliApp::containsRelAttributes(const QString &str)
+{
+ bool found=false;
+ static vector attribs={ Attributes::Relationship,
+ Attributes::Type, Attributes::SrcRequired, Attributes::DstRequired,
+ Attributes::SrcTable, Attributes::DstTable, Attributes::Points,
+ Attributes::Columns, Attributes::Column, Attributes::Constraint,
+ Attributes::Label, Attributes::Line, Attributes::Position,
+ Attributes::Identifier, Attributes::Deferrable, Attributes::DeferType,
+ Attributes::TableName, Attributes::SpecialPkCols, Attributes::Table,
+ Attributes::AncestorTable, Attributes::CopyOptions, Attributes::CopyMode,
+ Attributes::SrcColPattern, Attributes::DstColPattern, Attributes::PkPattern,
+ Attributes::UqPattern, Attributes::SrcFkPattern, Attributes::DstFkPattern };
+
+ for(unsigned i=0; i < attribs.size() && !found; i++)
+ found=str.contains(attribs[i]);
+
+ return found;
+}
+
+void PgModelerCliApp::handleMimeDatabase(bool uninstall, bool system_wide, bool force)
+{
+ printMessage(tr("Mime database operation: %1").arg(uninstall ? QString("uninstall") : QString("install")));
+
+ #ifdef Q_OS_LINUX
+ handleLinuxMimeDatabase(uninstall, system_wide, force);
+ #else
+ #ifdef Q_OS_WIN
+ handleWindowsMimeDatabase(uninstall, system_wide, force);
+ #endif
+ #endif
+}
+
+void PgModelerCliApp::handleLinuxMimeDatabase(bool uninstall, bool system_wide, bool force)
+{
+ SchemaParser schparser;
+ attribs_map attribs;
+ QString str_aux,
+
+ share_path = !system_wide ? QDir::homePath() + QString("/.local/share") : QString("/usr/share"),
+
+ //Configures the path to the application logo
+ exec_icon=GlobalAttributes::getTmplConfigurationFilePath("", "pgmodeler_logo.png"),
+
+ //Configures the path to the document logo
+ dbm_icon=GlobalAttributes::getTmplConfigurationFilePath("", "pgmodeler_dbm.png"),
+
+ sch_icon=GlobalAttributes::getTmplConfigurationFilePath("", "pgmodeler_sch.png"),
+
+ //Path to directory that register mime types
+ mime_db_dir=QString("%1/mime").arg(share_path),
+
+ //Path to the file that associates apps to mimetypes
+ mimeapps=QString("%1/applications/mimeapps.list").arg(share_path);
+
+ //Files generated after update file association (application-dbm.xml and pgModeler.desktop)
+ QStringList files = { QString("%1/applications/pgModeler.desktop").arg(share_path),
+ QString("%1/applications/pgModelerSchEditor.desktop").arg(share_path),
+ mime_db_dir + QString("/packages/application-dbm.xml"),
+ mime_db_dir + QString("/packages/application-sch.xml")},
+
+ schemas = { GlobalAttributes::getTmplConfigurationFilePath(GlobalAttributes::SchemasDir, QString("desktop") + GlobalAttributes::SchemaExt),
+ GlobalAttributes::getTmplConfigurationFilePath(GlobalAttributes::SchemasDir, QString("desktop-sch") + GlobalAttributes::SchemaExt),
+ GlobalAttributes::getTmplConfigurationFilePath(GlobalAttributes::SchemasDir, QString("application-dbm") + GlobalAttributes::SchemaExt),
+ GlobalAttributes::getTmplConfigurationFilePath(GlobalAttributes::SchemasDir, QString("application-sch") + GlobalAttributes::SchemaExt) },
+
+ icons = { exec_icon, sch_icon, dbm_icon, sch_icon };
+
+ QByteArray buf, buf_aux;
+ QFile out;
+
+ for(unsigned i=0; i < 4; i++)
+ {
+ //When installing, check if the necessary file exists. If exists, raises an error and abort.
+ if(!uninstall && QFileInfo(files[i]).exists() && !force)
+ throw Exception(MsgFileAssociated, ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(uninstall && !QFileInfo(files[i]).exists() && !force)
+ throw Exception(MsgNoFileAssociation, ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+ }
+
+ if(!uninstall && !system_wide)
+ attribs[Attributes::WorkingDir]=QStandardPaths::writableLocation(QStandardPaths::HomeLocation);
+ else
+ attribs[Attributes::WorkingDir]="";
+
+ try
+ {
+ for(unsigned i=0; i < 4; i++)
+ {
+ if(uninstall)
+ {
+ if(!QFile(files[i]).remove() && !force)
+ {
+ throw Exception(tr("Can't erase the file %1! Check if the current user has permissions to delete it and if the file exists.").arg(files[i]),
+ ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+ }
+ }
+ else
+ {
+ attribs[Attributes::Application]=(i == 0 ? GlobalAttributes::getPgModelerAppPath() : GlobalAttributes::getPgModelerSchemaEditorPath());
+ attribs[Attributes::Icon] = icons[i];
+
+ schparser.loadFile(schemas[i]);
+ schparser.ignoreEmptyAttributes(true);
+ buf.append(schparser.getCodeDefinition(attribs).toUtf8());
+ QDir(QString(".")).mkpath(QFileInfo(files[i]).absolutePath());
+
+ UtilsNs::saveFile(files[i], buf);
+ buf.clear();
+ }
+ }
+
+ out.setFileName(mimeapps);
+
+ //If the file mimeapps.list doesn't exists (generally in Ubuntu) creates a new one
+ if(!uninstall && !QFileInfo(mimeapps).exists())
+ {
+ out.open(QFile::WriteOnly);
+ out.write(QByteArray("[Added Associations]\napplication/dbm=pgModeler.desktop;\n"));
+ out.write(QByteArray("\n[Default Applications]\napplication/dbm=pgModeler.desktop;\n"));
+ out.write(QByteArray("\n[Added Associations]\napplication/sch=pgModelerStxEditor.desktop;\n"));
+ out.write(QByteArray("\n[Default Applications]\napplication/sch=pgModelerStxEditor.desktop;\n"));
+ out.close();
+ }
+ else
+ {
+ out.open(QFile::ReadOnly);
+
+ if(!out.isOpen())
+ throw Exception(Exception::getErrorMessage(ErrorCode::FileDirectoryNotWritten).arg(mimeapps),
+ ErrorCode::FileDirectoryNotWritten,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ //Opens the mimeapps.list to add a entry linking pgModeler to .dbm files
+ buf=out.readAll();
+ out.close();
+
+ QTextStream ts(&buf);
+ while(!ts.atEnd())
+ {
+ //Remove any reference to application/dbm mime from file
+ str_aux=ts.readLine();
+ str_aux.replace(QRegExp(QString("application/dbm*"),Qt::CaseSensitive,QRegExp::Wildcard),"");
+
+ if(!str_aux.isEmpty())
+ {
+ //Updates the application/dbm mime association
+ if(!uninstall && (str_aux.contains(QString("[Added Associations]")) ||
+ str_aux.contains(QString("[Default Applications]"))))
+ str_aux.append(QString("\napplication/dbm=pgModeler.desktop;\n"));
+ else
+ str_aux+=QString("\n");
+
+ if(str_aux.startsWith("[") && !str_aux.contains("Added Associations"))
+ str_aux=QString("\n") + str_aux;
+
+ buf_aux.append(str_aux.toUtf8());
+ }
+ }
+
+ //Write a new copy of the mimeapps.list file
+ out.open(QFile::Truncate | QFile::WriteOnly);
+ out.write(buf_aux.data(), buf_aux.size());
+ out.close();
+ }
+
+ //Update the mime database
+ printMessage(tr("Running update-mime-database command..."));
+
+ QProcess::execute(QString("update-mime-database"), QStringList { mime_db_dir });
+ }
+ catch(Exception &e)
+ {
+ throw Exception(e.getErrorMessage(),e.getErrorCode(),__PRETTY_FUNCTION__,__FILE__,__LINE__,&e);
+ }
+}
+
+void PgModelerCliApp::handleWindowsMimeDatabase(bool uninstall, bool system_wide, bool force)
+{
+ SchemaParser schparser;
+ QString base_reg_key = system_wide ? QString("HKEY_LOCAL_MACHINE\\SOFTWARE") : QString("HKEY_CURRENT_USER\\Software");
+
+ //Checking if the .dbm registry key exists
+ QSettings dbm_ext(QString("%1\\Classes\\.dbm").arg(base_reg_key), QSettings::NativeFormat),
+ sch_ext(QString("%1\\Classes\\.sch").arg(base_reg_key), QSettings::NativeFormat);
+ QString exe_path=QDir::toNativeSeparators(GlobalAttributes::getPgModelerAppPath()),
+ sc_exe_path=QDir::toNativeSeparators(GlobalAttributes::getPgModelerSchemaEditorPath());
+
+ //If there is no value assigned to (.dbm | .sch)/Default key and the user wants to uninstall file association, raises an error
+ if(uninstall && !force &&
+ (dbm_ext.value(QString("Default")).toString().isEmpty() ||
+ sch_ext.value(QString("Default")).toString().isEmpty()))
+ throw Exception(MsgNoFileAssociation, ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(!uninstall && !force &&
+ (!dbm_ext.value(QString("Default")).toString().isEmpty() ||
+ !sch_ext.value(QString("Default")).toString().isEmpty()))
+ throw Exception(MsgFileAssociated, ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ if(!uninstall)
+ {
+ //Write the default value for .dbm registry key
+ dbm_ext.setValue(QString("Default"), QString("dbm_auto_file"));
+ sch_ext.setValue(QString("Default"), QString("sch_auto_file"));
+ }
+ else
+ {
+ dbm_ext.remove("");
+ sch_ext.remove("");
+ }
+
+ dbm_ext.sync();
+ sch_ext.sync();
+
+ //Other registry keys values
+ map confs = {
+ { QString("\\%1\\Classes\\dbm_auto_file").arg(base_reg_key), { QString("FriendlyTypeName") , QString("pgModeler Database Model") } },
+ { QString("\\%1\\Classes\\dbm_auto_file\\DefaultIcon").arg(base_reg_key), { QString("Default") , QString("%1,1").arg(exe_path) } },
+ { QString("\\%1\\Classes\\dbm_auto_file\\shell\\open\\command").arg(base_reg_key), { QString("Default") , QString("\"%1\" \"%2\"").arg(exe_path).arg("%1") } },
+ { QString("\\%1\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.dbm").arg(base_reg_key), { QString("OpenWithList/a"), QString("pgmodeler.exe"), QString("OpenWithList/MRUList"), QString("a")} },
+ { QString("\\%1\\Classes\\sch_auto_file").arg(base_reg_key), { QString("FriendlyTypeName") , QString("pgModeler Schema File") } },
+ { QString("\\%1\\Classes\\sch_auto_file\\DefaultIcon").arg(base_reg_key), { QString("Default") , QString("%1,1").arg(sc_exe_path) } },
+ { QString("\\%1\\Classes\\sch_auto_file\\shell\\open\\command").arg(base_reg_key), { QString("Default") , QString("\"%1\" \"%2\"").arg(sc_exe_path).arg("%1") } },
+ { QString("\\%1\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.sch").arg(base_reg_key), { QString("OpenWithList/a"), QString("pgmodeler-sc.exe"), QString("OpenWithList/MRUList"), QString("a")} }
+ };
+
+ map::iterator itr;
+ itr=confs.begin();
+
+ //Iterates over the configuration map writing the other keys on registry
+ while(itr!=confs.end())
+ {
+ QSettings s(itr->first, QSettings::NativeFormat);
+
+ if(uninstall)
+ s.remove("");
+ else
+ {
+ for(int i=0; i < itr->second.size(); i+=2)
+ s.setValue(itr->second[i], itr->second[i+1]);
+ }
+
+ s.sync();
+ itr++;
+ }
+}
+
+void PgModelerCliApp::createConfigurations()
+{
+ QString conf_dir = GlobalAttributes::getConfigurationsDir();
+
+ printMessage(tr("Creating configuration files..."));
+ printMessage(tr("Destination path: %1").arg(conf_dir));
+
+ bool missing_only = parsed_opts.count(MissingOnly) > 0,
+ force = parsed_opts.count(Force) > 0;
+
+ if(!missing_only && !force && QDir(GlobalAttributes::getConfigurationsDir()).exists())
+ throw Exception(tr("Configuration files already exist!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+
+ try
+ {
+ if(force)
+ {
+ QDir dir;
+ QString bkp_conf_dir = conf_dir + QDateTime::currentDateTime().toString("_yyyyMMd_hhmmss");
+
+ printMessage(tr("Configuration files already exist! Creating a backup..."));
+
+ if(!dir.rename(conf_dir, bkp_conf_dir))
+ throw Exception(tr("Failed to create a backup of the configuration files!"), ErrorCode::Custom,__PRETTY_FUNCTION__,__FILE__,__LINE__);
+ }
+
+ createUserConfiguration(missing_only);
+ printMessage(tr("Configuration files successfully created!\n"));
+ }
+ catch (Exception &e)
+ {
+ throw Exception(e.getErrorMessage(),e.getErrorCode(),__PRETTY_FUNCTION__,__FILE__,__LINE__,&e);
+ }
+}
diff --git a/apps/pgmodeler-cli/src/pgmodelercliapp.h b/apps/pgmodeler-cli/src/pgmodelercliapp.h
new file mode 100644
index 0000000000..e73d8eda28
--- /dev/null
+++ b/apps/pgmodeler-cli/src/pgmodelercliapp.h
@@ -0,0 +1,278 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+
+/**
+\ingroup pgmodeler-cli
+\class PgModelerCliApp
+\brief Implements the operations export models whitout use the graphical interface
+*/
+
+#ifndef PGMODELER_CLI_APP_H
+#define PGMODELER_CLI_APP_H
+
+#include "application.h"
+#include
+#include
+#include
+#include "exception.h"
+#include "globalattributes.h"
+#include "widgets/modelwidget.h"
+#include "tools/modelexporthelper.h"
+#include "settings/generalconfigwidget.h"
+#include "settings/connectionsconfigwidget.h"
+#include "settings/relationshipconfigwidget.h"
+#include "settings/generalconfigwidget.h"
+#include "tools/databaseimporthelper.h"
+#include "tools/modelsdiffhelper.h"
+
+class PgModelerCliApp: public Application {
+ private:
+ Q_OBJECT
+
+ XmlParser *xmlparser;
+
+ //! \brief Holds the pgModeler version in which the model was construted (used by the fix operation)
+ QString model_version;
+
+ //! \brief Export helper object
+ ModelExportHelper *export_hlp;
+
+ //! \brief Import helper object
+ DatabaseImportHelper *import_hlp;
+
+ //! \brief Diff helper object
+ ModelsDiffHelper *diff_hlp;
+
+ //! \brief Reference database model
+ DatabaseModel *model;
+
+ //! \brief Graphical scene used to export the model to png
+ ObjectsScene *scene;
+
+ //! \brief Stores the configured connection
+ Connection connection,
+
+ //! \brief Stores the extra configured connection (only for diff)
+ extra_connection;
+
+ //! \brief Loaded connections
+ map connections;
+
+ //! \brief Connection configuration widget used to load available connections from file
+ ConnectionsConfigWidget *conn_conf;
+
+ //! \brief Relationship configuration widget used to load custom relationship settings
+ RelationshipConfigWidget *rel_conf;
+
+ GeneralConfigWidget *general_conf;
+
+ //! \brief Creates an standard out to handles QStrings
+ static QTextStream out;
+
+ //! \brief Stores the long option names. The boolean indicates if the option accepts a value
+ static map long_opts;
+
+ //! \brief Stores the short option names.
+ static attribs_map short_opts;
+
+ //! \brief Stores the accepted options by the different operations
+ static map accepted_opts;
+
+ //! \brief Stores the parsed options names and values.
+ attribs_map parsed_opts;
+
+ //! \brief Indicates if the cli must run in silent mode
+ bool silent_mode;
+
+ //! \brief Stores the xml code for the objects being fixed
+ QStringList objs_xml,
+
+ //! \brief Stores the object filters for reverse engineering
+ obj_filters;
+
+ //! \brief Zoom to be applied onto the png export
+ double zoom;
+
+ //! \brief Start date used for filter changelog of the input database model (partial diff)
+ QDateTime start_date,
+
+ //! \brief End date used for filter changelog of the input database model (partial diff)
+ end_date;
+
+ /*! \brief Stores the member of role names that appear in deprecated tags
+ * This map is used to reconfigure the role memberships after all objects are created */
+ map member_roles;
+
+ //! \brief Stores the changelog of the model that is being fixed to reproduce it in the output model
+ QString changelog;
+
+ static const QRegExp PasswordRegExp;
+ static const QString PasswordPlaceholder;
+
+ //! \brief Option names constants
+ static const QString Input,
+ Output,
+ InputDb,
+ ExportToFile,
+ ExportToPng,
+ ExportToSvg,
+ ExportToDbms,
+ ExportToDict,
+ ImportDb,
+ Diff,
+ DropDatabase,
+ DropObjects,
+ PgSqlVer,
+ Help,
+ ShowGrid,
+ ShowDelimiters,
+ PageByPage,
+ IgnoreDuplicates,
+ IgnoreErrorCodes,
+ ConnAlias,
+ Host,
+ Port,
+ User,
+ Passwd,
+ InitialDb,
+ Silent,
+ ListConns,
+ Simulate,
+ FixModel,
+ FixTries,
+ ZoomFactor,
+ UseTmpNames,
+ DbmMimeType,
+ Install,
+ Uninstall,
+ SystemWide,
+ NoIndex,
+ Split,
+
+ IgnoreImportErrors,
+ ImportSystemObjs,
+ ImportExtensionObjs,
+ DebugMode,
+ FilterObjects,
+ OnlyMatching,
+ MatchByName,
+ ForceChildren,
+ AllChildren,
+
+ PartialDiff,
+ Force,
+ StartDate,
+ EndDate,
+ CompareTo,
+ SaveDiff,
+ ApplyDiff,
+ NoDiffPreview,
+ DropClusterObjs,
+ RevokePermissions,
+ DropMissingObjs,
+ ForceDropColsConstrs,
+ RenameDb,
+ NoSequenceReuse,
+ NoCascadeDrop,
+ ForceRecreateObjs,
+ OnlyUnmodifiable,
+
+ CreateConfigs,
+ MissingOnly,
+
+ TagExpr,
+ EndTagExpr,
+ AttributeExpr,
+
+ MsgFileAssociated,
+ MsgNoFileAssociation;
+
+ //! \brief Parsers the options and executes the action specified by them
+ void parseOptions(attribs_map &parsed_opts);
+
+ //! \brief Shows the options menu
+ void showMenu();
+
+ //! \brief Shows the version info
+ void showVersionInfo();
+
+ //! \brief Returns if the specified options exists on short options map
+ bool isOptionRecognized(QString &op, bool &accepts_val);
+
+ //! \brief Loads the input model and perform all tasks needed to configure the graphical objects
+ void loadModel();
+
+ /*! \brief Extracts the xml defintions from the input model and store them on obj_xml list
+ in order to be parsed by the recreateObjects() method */
+ void extractObjectXML();
+
+ //! \brief Recreates the objects from the obj_xml list fixing the creation order for them
+ void recreateObjects();
+
+ //! \brief Fix some xml attributes and remove unused tags
+ void fixObjectAttributes(QString &obj_xml);
+
+ /*! \brief Extracts the foreign key code for the specified table xml. The foreign keys
+ are recreated after all the other objects */
+ QStringList extractForeignKeys(QString &obj_xml);
+
+ //! \brief Returns if the specified string contains some of relationship attributes
+ bool containsRelAttributes(const QString &str);
+
+ /*! \brief Install the .dbm file association in the mime database (default behaviour).
+ The paramenter 'uninstall' is used to clean up any file association done previously. */
+ void handleMimeDatabase(bool uninstall, bool system_wide, bool force);
+
+ /*! \brief Fixes the references to opertor classes and families by replacing tags like
+ by . This method operates
+ only over operator classes, indexes and constraints */
+ void fixOpClassesFamiliesReferences(QString &obj_xml);
+
+ void fixModel();
+ void exportModel();
+ void importDatabase();
+ void diffModelDatabase();
+ void updateMimeType();
+ void configureConnection(bool extra_conn);
+ void importDatabase(DatabaseModel *model, Connection conn);
+
+ /*! \brief Prints to the stdout the provided text appending a \n on the string
+ * even if the silent mode is active. */
+ void printText(const QString &txt = "");
+
+ //! \brief Prints to the stdout only if the silent mode is not active
+ void printMessage(const QString &txt = "");
+
+ void handleLinuxMimeDatabase(bool uninstall, bool system_wide, bool force);
+ void handleWindowsMimeDatabase(bool uninstall, bool system_wide, bool force);
+ void createConfigurations();
+ void listConnections();
+
+ public:
+ PgModelerCliApp(int argc, char **argv);
+ virtual ~PgModelerCliApp();
+ int exec();
+
+ private slots:
+ void handleObjectAddition(BaseObject *);
+ void updateProgress(int progress, QString msg, ObjectType = ObjectType::BaseObject);
+ void printIgnoredError(QString err_cod, QString err_msg, QString cmd);
+ void handleObjectRemoval(BaseObject *object);
+};
+
+#endif
diff --git a/apps/pgmodeler-se/pgmodeler-se.pro b/apps/pgmodeler-se/pgmodeler-se.pro
new file mode 100644
index 0000000000..b730d758d7
--- /dev/null
+++ b/apps/pgmodeler-se/pgmodeler-se.pro
@@ -0,0 +1,32 @@
+include(../apps.pri)
+
+TEMPLATE = app
+TARGET = pgmodeler-se
+
+windows:RC_FILE=res/windows_ico.qrc
+windows:RCC_DIR=src/
+
+SOURCES += src/main.cpp \
+ src/aboutwidget.cpp \
+ src/schemaeditorform.cpp \
+ src/sourceeditorwidget.cpp \
+ ../pgmodeler/src/pgmodelerapp.cpp \
+
+FORMS += ui/aboutwidget.ui \
+ ui/schemaeditorform.ui \
+ ui/sourceeditorwidget.ui
+
+HEADERS += src/aboutwidget.h \
+ src/schemaeditorform.h \
+ src/sourceeditorwidget.h
+
+INCLUDEPATH += ../pgmodeler/src
+
+DEPENDPATH += ../pgmodeler
+
+# Deployment settings
+target.path = $$PRIVATEBINDIR
+INSTALLS = target
+
+# Print the current build settins (see pgmodeler.pri)
+printBuildDetails()
diff --git a/apps/pgmodeler-se/res/windows_ico.ico b/apps/pgmodeler-se/res/windows_ico.ico
new file mode 100644
index 0000000000..e692ebd5ce
Binary files /dev/null and b/apps/pgmodeler-se/res/windows_ico.ico differ
diff --git a/apps/pgmodeler-se/res/windows_ico.qrc b/apps/pgmodeler-se/res/windows_ico.qrc
new file mode 100644
index 0000000000..33cce51734
--- /dev/null
+++ b/apps/pgmodeler-se/res/windows_ico.qrc
@@ -0,0 +1 @@
+ IDI_ICON1 ICON DISCARDABLE "windows_ico.ico"
\ No newline at end of file
diff --git a/apps/pgmodeler-se/src/aboutwidget.cpp b/apps/pgmodeler-se/src/aboutwidget.cpp
new file mode 100644
index 0000000000..8c68da1899
--- /dev/null
+++ b/apps/pgmodeler-se/src/aboutwidget.cpp
@@ -0,0 +1,33 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+
+#include "aboutwidget.h"
+#include "guiutilsns.h"
+#include "baseobjectview.h"
+
+AboutWidget::AboutWidget(QWidget *parent) : QWidget(parent)
+{
+ setupUi(this);
+
+ GuiUtilsNs::configureWidgetFont(title_lbl, GuiUtilsNs::HugeFontFactor);
+ GuiUtilsNs::configureWidgetFont(pgmodeler_ver_lbl, GuiUtilsNs::HugeFontFactor);
+ GuiUtilsNs::configureWidgetFont(build_num_lbl, GuiUtilsNs::BigFontFactor);
+
+ pgmodeler_ver_lbl->setText(QString("v%1 ").arg(GlobalAttributes::PgModelerVersion));
+ build_num_lbl->setText(QString("%1 Qt %2").arg(GlobalAttributes::PgModelerBuildNumber).arg(QT_VERSION_STR));
+}
diff --git a/apps/pgmodeler-se/src/aboutwidget.h b/apps/pgmodeler-se/src/aboutwidget.h
new file mode 100644
index 0000000000..c9c0e47667
--- /dev/null
+++ b/apps/pgmodeler-se/src/aboutwidget.h
@@ -0,0 +1,40 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+
+/**
+\ingroup pgmodeler-sc
+\class AboutForm
+\brief Form that contains information about software authoring and licensing.
+*/
+
+#ifndef ABOUT_WIDGET_H
+#define ABOUT_WIDGET_H
+
+#include
+#include "ui_aboutwidget.h"
+#include "globalattributes.h"
+
+class AboutWidget: public QWidget, public Ui::AboutWidget {
+ private:
+ Q_OBJECT
+
+ public:
+ AboutWidget(QWidget *parent = nullptr);
+};
+
+#endif
diff --git a/apps/pgmodeler-se/src/main.cpp b/apps/pgmodeler-se/src/main.cpp
new file mode 100644
index 0000000000..57fe97e726
--- /dev/null
+++ b/apps/pgmodeler-se/src/main.cpp
@@ -0,0 +1,48 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+
+#include "application.h"
+#include
+#include "guiutilsns.h"
+#include "schemaeditorform.h"
+#include "pgmodelerapp.h"
+
+int main(int argc, char **argv)
+{
+ try
+ {
+ PgModelerApp::setAttribute(Qt::AA_UseHighDpiPixmaps);
+ PgModelerApp::setAttribute(Qt::AA_EnableHighDpiScaling);
+ PgModelerApp app(argc,argv);
+ QStringList args = app.arguments();
+
+ SchemaEditorForm syntaxchk;
+ args.pop_front();
+ syntaxchk.loadFiles(args);
+ syntaxchk.showMaximized();
+ app.exec();
+
+ return 0;
+ }
+ catch(Exception &e)
+ {
+ QTextStream out(stdout);
+ out << e.getExceptionsText();
+ return enum_cast(e.getErrorCode());
+ }
+}
diff --git a/apps/pgmodeler-se/src/schemaeditorform.cpp b/apps/pgmodeler-se/src/schemaeditorform.cpp
new file mode 100644
index 0000000000..53edc5f4e3
--- /dev/null
+++ b/apps/pgmodeler-se/src/schemaeditorform.cpp
@@ -0,0 +1,545 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+
+#include "schemaeditorform.h"
+#include "guiutilsns.h"
+#include "globalattributes.h"
+#include "settings/generalconfigwidget.h"
+#include "guiutilsns.h"
+#include "sourceeditorwidget.h"
+#include "aboutwidget.h"
+#include "baseform.h"
+#include "utilsns.h"
+
+const QString SchemaEditorForm::UntitledFile = QT_TR_NOOP("(untitled)");
+
+SchemaEditorForm::SchemaEditorForm(QWidget *parent) : QWidget(parent)
+{
+ QToolButton *btn = nullptr;
+ QFont fnt;
+
+ setupUi(this);
+ setWindowTitle(windowTitle() + " " + GlobalAttributes::PgModelerVersion);
+
+ for(auto &obj : bnts_parent_wgt->children())
+ {
+ btn = dynamic_cast(obj);
+ if(!btn) continue;
+
+ fnt = btn->font();
+ fnt.setBold(true);
+ btn->setFont(fnt);
+ GuiUtilsNs::createDropShadow(btn);
+ GuiUtilsNs::configureWidgetFont(btn, GuiUtilsNs::SmallFontFactor);
+
+ if(!btn->toolTip().isEmpty() && !btn->shortcut().toString().isEmpty())
+ btn->setToolTip(btn->toolTip() + QString(" (%1)").arg(btn->shortcut().toString()));
+ }
+
+ GeneralConfigWidget general_conf_wgt;
+ general_conf_wgt.loadConfiguration();
+
+ alert_frm->setVisible(false);
+
+ syntax_txt = GuiUtilsNs::createNumberedTextEditor(syntax_wgt);
+ syntax_hl = new SyntaxHighlighter(syntax_txt);
+ syntax_hl->loadConfiguration(GlobalAttributes::getXMLHighlightConfPath());
+
+ dtd_txt = GuiUtilsNs::createNumberedTextEditor(dtd_wgt);
+ dtd_txt->setReadOnly(true);
+ dtd_hl = new SyntaxHighlighter(dtd_txt);
+ dtd_hl->loadConfiguration(GlobalAttributes::getXMLHighlightConfPath());
+
+ SourceEditorWidget::setDefaultEditorPalette(syntax_txt->palette());
+
+ syntax_conf_sel = new FileSelectorWidget(syntax_conf_wgt);
+ syntax_conf_sel->setReadOnly(true);
+
+ QVBoxLayout *vbox = new QVBoxLayout(syntax_conf_wgt);
+ vbox->addWidget(syntax_conf_sel);
+ vbox->setContentsMargins(0, 0, 0, 0);
+
+ syntax_conf_sel->setNameFilters({ tr("Syntax highlight config file (*.conf)") });
+
+ QAction *act = nullptr;
+ stx_action_grp = new QActionGroup(&syntax_cfg_menu);
+
+ act = syntax_cfg_menu.addAction("Schema file", this, SLOT(loadSyntaxConfig()));
+ stx_action_grp->addAction(act);
+ act->setCheckable(true);
+ act->setChecked(true);
+ act->setData(GlobalAttributes::SchHighlightConf);
+
+ act = syntax_cfg_menu.addAction("XML script", this, SLOT(loadSyntaxConfig()));
+ stx_action_grp->addAction(act);
+ act->setCheckable(true);
+ act->setChecked(false);
+ act->setData(GlobalAttributes::XMLHighlightConf);
+
+ act = syntax_cfg_menu.addAction("SQL script", this, SLOT(loadSyntaxConfig()));
+ stx_action_grp->addAction(act);
+ act->setData(GlobalAttributes::SQLHighlightConf);
+ act->setCheckable(true);
+ act->setChecked(false);
+
+ syntax_tb->setMenu(&syntax_cfg_menu);
+ syntax_tb->setStyleSheet("QToolButton::menu-indicator { \
+image: url(':/styles/styles/h_menu_indicator.png'); \
+subcontrol-position: right center; }");
+
+ syntax_cfg_menu.installEventFilter(this);
+
+ connect(apply_conf_tb, SIGNAL(clicked(bool)), this, SLOT(applySyntaxConfig()));
+ connect(save_conf_tb, SIGNAL(clicked(bool)), this, SLOT(saveSyntaxConfig()));
+ connect(reload_conf_tb, SIGNAL(clicked(bool)), this, SLOT(loadSyntaxConfig()));
+ connect(new_tb, SIGNAL(clicked(bool)), this, SLOT(addEditorTab()));
+ connect(load_tb, SIGNAL(clicked(bool)), this, SLOT(loadFile()));
+ connect(exit_tb, SIGNAL(clicked(bool)), this, SLOT(close()));
+ connect(save_tb, SIGNAL(clicked(bool)), this, SLOT(saveFile()));
+ connect(editors_tbw, SIGNAL(tabCloseRequested(int)), this, SLOT(closeEditorTab(int)));
+ connect(editors_tbw, SIGNAL(currentChanged(int)), this, SLOT(loadSyntaxFromCurrentTab()));
+ connect(use_tmpl_file_chk, SIGNAL(toggled(bool)), this, SLOT(loadSyntaxConfig()));
+ connect(indent_all_tb, SIGNAL(clicked(bool)), this, SLOT(indentAll()));
+ connect(save_all_tb, SIGNAL(clicked(bool)), this, SLOT(saveAll()));
+ connect(close_all_tb, SIGNAL(clicked(bool)), this, SLOT(closeAll()));
+
+ connect(syntax_txt, &NumberedTextEditor::textChanged, [&](){
+ alert_frm->setVisible(true);
+ });
+
+ connect(save_as_tb, &QToolButton::clicked, [&](){
+ saveFile(true);
+ });
+
+ connect(about_tb, &QToolButton::clicked, [&](){
+ AboutWidget *info_wgt = new AboutWidget;
+ BaseForm base_frm;
+ base_frm.setMainWidget(info_wgt);
+ base_frm.exec();
+ });
+}
+
+void SchemaEditorForm::showEvent(QShowEvent *)
+{
+ h_splitter->setSizes({ width(), width()/2});
+}
+
+bool SchemaEditorForm::hasModifiedEditors()
+{
+ bool editors_modified = false;
+ SourceEditorWidget *editor = nullptr;
+
+ for(int tab = 0; tab < editors_tbw->count(); tab++)
+ {
+ editor = dynamic_cast(editors_tbw->widget(tab));
+
+ if(editor->isModified())
+ {
+ editors_modified = true;
+ break;
+ }
+ }
+
+ return editors_modified;
+}
+
+void SchemaEditorForm::closeEvent(QCloseEvent *event)
+{
+ if(alert_frm->isVisible() || hasModifiedEditors())
+ {
+ Messagebox msgbox;
+
+ msgbox.show(tr("There are modified files! Do you want to exit without saving them?"), Messagebox::ConfirmIcon, Messagebox::YesNoButtons);
+
+ if(msgbox.result() == QDialog::Rejected)
+ event->ignore();
+ }
+}
+
+bool SchemaEditorForm::eventFilter(QObject *object, QEvent *event)
+{
+ if(object == &syntax_cfg_menu && event->type() == QEvent::Show)
+ {
+ syntax_cfg_menu.move(mapToGlobal(syntax_tb->pos() + QPoint(syntax_tb->width(), 0)));
+ syntax_cfg_menu.show();
+ return true;
+ }
+
+ return QWidget::eventFilter(object, event);
+}
+
+void SchemaEditorForm::loadSyntaxFromCurrentTab()
+{
+ SourceEditorWidget *editor = dynamic_cast(editors_tbw->currentWidget());
+
+ if(!editor)
+ return;
+
+ stx_action_grp->blockSignals(true);
+
+ for(auto &act : stx_action_grp->actions())
+ {
+ if(act->data().toString() == editor->getCurrentSyntaxConfig())
+ {
+ act->setChecked(true);
+ loadSyntaxConfig();
+ break;
+ }
+ }
+
+ stx_action_grp->blockSignals(true);
+}
+
+void SchemaEditorForm::loadSyntaxConfig()
+{
+ QAction *act = stx_action_grp->checkedAction();
+ QFile input;
+ QString filename;
+
+ if(!act)
+ filename = GlobalAttributes::getSchHighlightConfPath();
+ else
+ {
+ if(!use_tmpl_file_chk->isChecked())
+ filename = GlobalAttributes::getConfigurationFilePath(act->data().toString());
+ else
+ filename = GlobalAttributes::getTmplConfigurationFilePath("", act->data().toString() + GlobalAttributes::ConfigurationExt);
+ }
+
+ try
+ {
+ syntax_txt->setPlainText(UtilsNs::loadFile(filename));
+ syntax_conf_sel->setSelectedFile(filename);
+
+ if(dtd_txt->toPlainText().isEmpty())
+ {
+ filename = GlobalAttributes::getTmplConfigurationFilePath(GlobalAttributes::ObjectDTDDir,
+ GlobalAttributes::CodeHighlightConf +
+ GlobalAttributes::ObjectDTDExt);
+
+ dtd_txt->setPlainText(UtilsNs::loadFile(filename));
+ }
+
+ save_conf_tb->setEnabled(true);
+ apply_conf_tb->setEnabled(true);
+ reload_conf_tb->setEnabled(true);
+ alert_frm->setVisible(false);
+ applySyntaxConfig(false);
+ }
+ catch(Exception &e)
+ {
+ throw Exception(e.getErrorMessage(), e.getErrorCode(), __PRETTY_FUNCTION__, __FILE__, __LINE__, &e);
+ }
+}
+
+void SchemaEditorForm::applySyntaxConfig(bool from_temp_file)
+{
+ QTemporaryFile tmp_file;
+ QString filename;
+
+ /* When applying the syntax on-the-fly we save the syntax conf code to a temporary file
+ * and use it as configuration for in the open editors */
+ if(from_temp_file)
+ {
+ tmp_file.setAutoRemove(false);
+ tmp_file.setFileTemplate(GlobalAttributes::getTemporaryFilePath("temp_XXXXXX.conf"));
+ tmp_file.open();
+ filename = tmp_file.fileName();
+
+ if(!tmp_file.isOpen())
+ {
+ throw Exception(Exception::getErrorMessage(ErrorCode::FileDirectoryNotAccessed).arg(filename),
+ ErrorCode::FileDirectoryNotAccessed, __PRETTY_FUNCTION__, __FILE__, __LINE__);
+ }
+
+ tmp_file.write(syntax_txt->toPlainText().toUtf8());
+ tmp_file.close();
+ }
+ else if(stx_action_grp->checkedAction())
+ {
+ if(!use_tmpl_file_chk->isChecked())
+ filename = GlobalAttributes::getConfigurationFilePath(stx_action_grp->checkedAction()->data().toString());
+ else
+ filename = GlobalAttributes::getTmplConfigurationFilePath("", stx_action_grp->checkedAction()->data().toString() + GlobalAttributes::ConfigurationExt);
+ }
+
+ try
+ {
+ /* Testing the temp file contents against a dummy syntax highlighter before
+ * applying to the open editors */
+ QPlainTextEdit dummy_txt;
+ SyntaxHighlighter stx_hl(&dummy_txt);
+ stx_hl.loadConfiguration(filename);
+
+ SourceEditorWidget *editor = dynamic_cast(editors_tbw->currentWidget());
+
+ if(editor)
+ editor->loadSyntaxConfig(filename);
+ }
+ catch(Exception &e)
+ {
+ throw Exception(e.getErrorMessage(), e.getErrorCode(), __PRETTY_FUNCTION__, __FILE__, __LINE__, &e);
+ }
+
+ if(from_temp_file)
+ tmp_file.remove();
+}
+
+void SchemaEditorForm::saveSyntaxConfig()
+{
+ UtilsNs::saveFile(syntax_conf_sel->getSelectedFile(), syntax_txt->toPlainText().toUtf8());
+ alert_frm->setVisible(false);
+ applySyntaxConfig(true);
+}
+
+void SchemaEditorForm::saveFile(bool save_as)
+{
+ SourceEditorWidget *editor = dynamic_cast(editors_tbw->widget(editors_tbw->currentIndex()));
+ QString filename = editor->getFilename();
+
+ if(save_as || filename.isEmpty())
+ {
+ QStringList files = showFileDialog(true);
+
+ if(files.isEmpty())
+ return;
+
+ filename = files.at(0);
+ }
+
+ editor->saveFile(filename);
+ editor->setModified(false);
+ QFileInfo fi(filename);
+ editors_tbw->setTabText(editors_tbw->currentIndex(), fi.fileName());
+ editors_tbw->setTabToolTip(editors_tbw->currentIndex(), fi.absoluteFilePath());
+}
+
+void SchemaEditorForm::setTabModified(bool modified)
+{
+ SourceEditorWidget *editor = dynamic_cast(sender());
+ int idx = editors_tbw->indexOf(editor);
+ QString tab_text = editors_tbw->tabText(idx);
+
+ if(modified && !tab_text.endsWith('*'))
+ tab_text += '*';
+ else if(!modified)
+ tab_text.remove('*');
+
+ editors_tbw->setTabText(idx, tab_text);
+}
+
+void SchemaEditorForm::indentAll()
+{
+ SourceEditorWidget *editor = nullptr;
+
+ QApplication::setOverrideCursor(Qt::WaitCursor);
+
+ for(int tab = 0; tab < editors_tbw->count(); tab++)
+ {
+ editor = dynamic_cast(editors_tbw->widget(tab));
+ editor->indent_tb->click();
+ }
+
+ QApplication::restoreOverrideCursor();
+}
+
+void SchemaEditorForm::saveAll()
+{
+ QApplication::setOverrideCursor(Qt::WaitCursor);
+
+ for(int tab = 0; tab < editors_tbw->count(); tab++)
+ {
+ editors_tbw->setCurrentIndex(tab);
+
+ try
+ {
+ saveFile();
+ }
+ catch(Exception &e)
+ {
+ Messagebox msgbox;
+ msgbox.show(e);
+ break;
+ }
+ }
+
+ QApplication::restoreOverrideCursor();
+}
+
+void SchemaEditorForm::closeAll()
+{
+ Messagebox msgbox;
+
+ if(hasModifiedEditors())
+ {
+ msgbox.show(tr("There are modified files! Do you want to close them without save?"), Messagebox::ConfirmIcon, Messagebox::YesNoButtons);
+
+ if(msgbox.result() == QDialog::Rejected)
+ return;
+ }
+
+ QApplication::setOverrideCursor(Qt::WaitCursor);
+
+ while(editors_tbw->count() > 0)
+ closeEditorTab(0, false);
+
+ QApplication::restoreOverrideCursor();
+}
+
+QStringList SchemaEditorForm::showFileDialog(bool save_mode)
+{
+ QFileDialog file_dlg;
+ QStringList files, filters= {
+ tr("Schema file (*.sch)"),
+ tr("Database model file (*.dbm)"),
+ tr("pgModeler config file (*.conf)"),
+ tr("Objects metadata file (*.omf)"),
+ tr("SQL script file (*.sql)"),
+ tr("XML file (*.xml)"),
+ tr("DTD file (*.dtd)"),
+ tr("All files (*.*)")
+ };
+
+ if(!save_mode)
+ filters.prepend(tr("All supported files (*.sch *.dbm *.conf *.omf *.sql *.xml *.dtd)"));
+
+ file_dlg.setNameFilters(filters);
+
+ file_dlg.setWindowTitle(save_mode ? tr("Save file") : tr("Load file"));
+ file_dlg.setFileMode(save_mode ? QFileDialog::AnyFile : QFileDialog::ExistingFiles);
+ file_dlg.setAcceptMode(save_mode ? QFileDialog::AcceptSave : QFileDialog::AcceptOpen);
+
+ if(save_mode)
+ {
+ file_dlg.setDefaultSuffix(".sch");
+ connect(&file_dlg, &QFileDialog::filterSelected, [&](QString filter){
+ filter.remove(QRegExp("(.)+(\\*)"));
+ filter.remove(")");
+ file_dlg.setDefaultSuffix(filter);
+ });
+ }
+
+ if(file_dlg.exec() == QFileDialog::Accepted)
+ files = file_dlg.selectedFiles();
+
+ return files;
+}
+
+void SchemaEditorForm::loadFile()
+{
+ try
+ {
+ QStringList files = showFileDialog(false);
+
+ if(!files.isEmpty())
+ loadFiles(files);
+ }
+ catch(Exception &e)
+ {
+ throw Exception(e.getErrorMessage(), e.getErrorCode(), __PRETTY_FUNCTION__, __FILE__, __LINE__, &e);
+ }
+}
+
+void SchemaEditorForm::loadFiles(const QStringList &filenames)
+{
+ try
+ {
+ QApplication::setOverrideCursor(Qt::WaitCursor);
+
+ for(auto &file : filenames)
+ addEditorTab(file);
+
+ QApplication::restoreOverrideCursor();
+ }
+ catch(Exception &e)
+ {
+ QApplication::restoreOverrideCursor();
+ throw Exception(e.getErrorMessage(), e.getErrorCode(), __PRETTY_FUNCTION__, __FILE__, __LINE__, &e);
+ }
+}
+
+void SchemaEditorForm::addEditorTab(const QString &filename)
+{
+ SourceEditorWidget *editor_wgt = nullptr;
+ QFileInfo fi(filename);
+
+ try
+ {
+ editor_wgt = new SourceEditorWidget;
+
+ if(!filename.isEmpty())
+ editor_wgt->loadFile(filename);
+
+ connect(editor_wgt, SIGNAL(s_editorModified(bool)), this, SLOT(setTabModified(bool)));
+ }
+ catch(Exception &e)
+ {
+ delete editor_wgt;
+ throw Exception(e.getErrorMessage(), e.getErrorCode(), __PRETTY_FUNCTION__, __FILE__, __LINE__, &e);
+ }
+
+ editors_tbw->addTab(editor_wgt, filename.isEmpty() ? UntitledFile : fi.fileName());
+ editors_tbw->setTabToolTip(editors_tbw->count() - 1, filename.isEmpty() ? "" : fi.absoluteFilePath());
+ editors_tbw->setCurrentIndex(editors_tbw->count() - 1);
+ save_as_tb->setEnabled(true);
+ save_tb->setEnabled(true);
+ indent_all_tb->setEnabled(true);
+ save_all_tb->setEnabled(true);
+ close_all_tb->setEnabled(true);
+ syntax_cfg_edit_frm->setEnabled(true);
+ syntax_tb->setEnabled(true);
+}
+
+void SchemaEditorForm::closeEditorTab(int idx, bool confirm_close)
+{
+ SourceEditorWidget *editor_wgt = dynamic_cast(editors_tbw->widget(idx));
+ Messagebox msgbox;
+
+ if(editor_wgt->isModified() && confirm_close)
+ {
+ msgbox.show(tr("The source code was modified! Do you really want to close it without save?"), Messagebox::ConfirmIcon, Messagebox::YesNoButtons);
+
+ if(msgbox.result() == QDialog::Rejected)
+ return;
+ }
+
+ editors_tbw->removeTab(idx);
+ delete(editor_wgt);
+
+ bool enable = editors_tbw->count() > 0;
+ save_as_tb->setEnabled(enable);
+ save_tb->setEnabled(enable);
+ indent_all_tb->setEnabled(enable);
+ save_all_tb->setEnabled(enable);
+ close_all_tb->setEnabled(enable);
+ syntax_cfg_edit_frm->setEnabled(enable);
+ syntax_tb->setEnabled(enable);
+
+ if(!enable)
+ {
+ syntax_txt->blockSignals(true);
+ syntax_conf_sel->blockSignals(true);
+
+ syntax_txt->clear();
+ syntax_conf_sel->clearSelector();
+ alert_frm->setVisible(false);
+
+ syntax_txt->blockSignals(false);
+ syntax_conf_sel->blockSignals(false);
+ }
+}
diff --git a/apps/pgmodeler-se/src/schemaeditorform.h b/apps/pgmodeler-se/src/schemaeditorform.h
new file mode 100644
index 0000000000..5ce94f54f0
--- /dev/null
+++ b/apps/pgmodeler-se/src/schemaeditorform.h
@@ -0,0 +1,80 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+
+/**
+\ingroup pgmodeler-se
+\class SchemaEditorForm
+\brief Implements the pgModeler's schema files editor and syntax checker.
+*/
+
+#ifndef SCHEMA_EDITOR_FORM_H
+#define SCHEMA_EDITOR_FORM_H
+
+#include
+#include
+#include "ui_schemaeditorform.h"
+#include "widgets/numberedtexteditor.h"
+#include "utils/syntaxhighlighter.h"
+#include "widgets/fileselectorwidget.h"
+#include "widgets/findreplacewidget.h"
+
+class SchemaEditorForm: public QWidget, public Ui::SchemaEditorForm {
+ private:
+ Q_OBJECT
+
+ static const QString UntitledFile;
+
+ NumberedTextEditor *syntax_txt, *dtd_txt;
+
+ SyntaxHighlighter *syntax_hl, *dtd_hl;
+
+ FileSelectorWidget *syntax_conf_sel;
+
+ QActionGroup *stx_action_grp;
+
+ QMenu syntax_cfg_menu;
+
+ void showEvent(QShowEvent *) override;
+
+ void closeEvent(QCloseEvent *event) override;
+
+ bool eventFilter(QObject *object, QEvent *event) override;
+
+ QStringList showFileDialog(bool save_mode);
+
+ public:
+ explicit SchemaEditorForm(QWidget *parent = nullptr);
+ void loadFiles(const QStringList &filenames);
+ bool hasModifiedEditors();
+
+ private slots:
+ void loadSyntaxConfig();
+ void applySyntaxConfig(bool from_temp_file = true);
+ void saveSyntaxConfig();
+ void addEditorTab(const QString &filename = "");
+ void closeEditorTab(int idx, bool confirm_close = true);
+ void loadFile();
+ void saveFile(bool save_as = false);
+ void setTabModified(bool modified);
+ void indentAll();
+ void saveAll();
+ void closeAll();
+ void loadSyntaxFromCurrentTab();
+};
+
+#endif
diff --git a/apps/pgmodeler-se/src/sourceeditorwidget.cpp b/apps/pgmodeler-se/src/sourceeditorwidget.cpp
new file mode 100644
index 0000000000..196134bbee
--- /dev/null
+++ b/apps/pgmodeler-se/src/sourceeditorwidget.cpp
@@ -0,0 +1,340 @@
+#include "sourceeditorwidget.h"
+#include "messagebox.h"
+#include "guiutilsns.h"
+#include "qtcompat/splitbehaviorcompat.h"
+#include "utilsns.h"
+
+QPalette SourceEditorWidget::def_editor_pal;
+
+attribs_map SourceEditorWidget::snippets = {
+ {"ifend", "%if {} %then\n\n%end\n"},
+ {"ifelseend", "%if {} %then\n\n%else\n\n%end\n"},
+ {"ifexpr", "%if ({}) %then\n\n%end\n"},
+ {"ifexprelse", "%if ({}) %then\n\n%else\n\n%end\n"},
+ {"setattrstr", "%set {} \"\"\n"},
+ {"setattrtxt", "%set {} [ ]\n"},
+ {"unsetattr", "%unset {}\n"},
+ {"unsetattr", "%unset {}\n"},
+};
+
+SourceEditorWidget::SourceEditorWidget(QWidget *parent) : QWidget(parent)
+{
+ setupUi(this);
+
+ is_modified = false;
+ curr_sytax_cfg = GlobalAttributes::SchHighlightConf;
+
+ editor_txt = GuiUtilsNs::createNumberedTextEditor(editor_parent);
+ def_editor_pal = editor_txt->palette();
+
+ editor_hl = new SyntaxHighlighter(editor_txt);
+ find_wgt = new FindReplaceWidget(editor_txt, find_parent);
+ find_parent->setVisible(false);
+
+ code_compl_wgt = new CodeCompletionWidget(editor_txt);
+ code_compl_wgt->configureCompletion(nullptr, editor_hl);
+
+ source_file_sel = new FileSelectorWidget(source_file_parent);
+ source_file_sel->setReadOnly(true);
+ source_file_parent->setVisible(false);
+
+ QVBoxLayout *vbox = new QVBoxLayout(source_file_parent);
+ vbox->setContentsMargins(0, 0, 0, 0);
+ vbox->addWidget(source_file_sel);
+
+ QStringList snippets_id;
+
+ for(auto &itr : snippets)
+ code_compl_wgt->insertCustomItem(itr.first, itr.second, QPixmap(GuiUtilsNs::getIconPath("codesnippet")));
+
+ vbox = new QVBoxLayout(find_parent);
+ vbox->setContentsMargins(0, 0, 0, 4);
+ vbox->addWidget(find_wgt);
+
+ indent_tb->setMenu(&indent_opts_menu);
+ act_break_inline_ifs = indent_opts_menu.addAction(tr("Break inline ifs"));
+ act_break_inline_ifs->setCheckable(true);
+ act_break_inline_ifs->setChecked(false);
+
+ connect(code_compl_wgt, SIGNAL(s_wordSelected(QString)), this, SLOT(handleSelectedSnippet(QString)));
+ connect(find_wgt, SIGNAL(s_hideRequested()), find_tb, SLOT(toggle()));
+ connect(validate_tb, SIGNAL(clicked(bool)), this, SLOT(validateSyntax()));
+ connect(indent_tb, SIGNAL(clicked(bool)), this, SLOT( applyIndentation()));
+ connect(editor_txt, SIGNAL(modificationChanged(bool)), this, SLOT(restoreEditorPalette()));
+ connect(editor_txt, SIGNAL(undoAvailable(bool)), this, SLOT(setModified(bool)));
+ connect(editor_txt, SIGNAL(cursorPositionChanged()), this, SLOT(restoreEditorPalette()));
+ connect(find_tb, SIGNAL(toggled(bool)), find_parent, SLOT(setVisible(bool)));
+}
+
+void SourceEditorWidget::saveFile(const QString &filename)
+{
+ UtilsNs::saveFile(filename, editor_txt->toPlainText().toUtf8());
+
+ QFileInfo fi(filename);
+ validate_tb->setEnabled(filename.endsWith(GlobalAttributes::SchemaExt));
+ indent_tb->setEnabled(filename.endsWith(GlobalAttributes::SchemaExt));
+ this->filename = filename;
+ source_file_sel->setSelectedFile(filename);
+ source_file_parent->setVisible(true);
+}
+
+void SourceEditorWidget::loadSyntaxConfig(const QString &filename)
+{
+ try
+ {
+ editor_hl->loadConfiguration(filename);
+ editor_hl->rehighlight();
+ curr_sytax_cfg = QFileInfo(filename).baseName();
+ }
+ catch(Exception &e)
+ {
+ throw Exception(e.getErrorMessage(), e.getErrorCode(), __PRETTY_FUNCTION__, __FILE__, __LINE__, &e);
+ }
+}
+
+void SourceEditorWidget::handleSelectedSnippet(const QString &snippet)
+{
+ QTextCursor tc = editor_txt->textCursor();
+ tc.movePosition(QTextCursor::PreviousWord, QTextCursor::KeepAnchor);
+ tc.removeSelectedText();
+ tc.insertText(snippets[snippet]);
+}
+
+QString SourceEditorWidget::getCurrentSyntaxConfig()
+{
+ return curr_sytax_cfg;
+}
+
+void SourceEditorWidget::loadFile(const QString &filename)
+{
+ if(filename.isEmpty())
+ return;
+
+ bool enable = filename.endsWith(GlobalAttributes::SchemaExt);
+
+ editor_txt->setPlainText(UtilsNs::loadFile(filename));
+ validate_tb->setEnabled(enable);
+ indent_tb->setEnabled(enable);
+ code_compl_wgt->setEnabled(enable);
+ this->filename = filename;
+ source_file_sel->setSelectedFile(filename);
+ source_file_parent->setVisible(true);
+
+ QString ext = QFileInfo(filename).suffix();
+
+ if(ext == "dbm" || ext == "xml" || ext == "conf" || ext == "omf")
+ curr_sytax_cfg = GlobalAttributes::XMLHighlightConf;
+ else if(ext == "sql")
+ curr_sytax_cfg = GlobalAttributes::SQLHighlightConf;
+ else
+ curr_sytax_cfg = GlobalAttributes::SchHighlightConf;
+}
+
+void SourceEditorWidget::validateSyntax()
+{
+ SchemaParser schparser;
+ Messagebox msgbox;
+
+ try
+ {
+ editor_txt->setPalette(def_editor_pal);
+ schparser.ignoreEmptyAttributes(true);
+ schparser.ignoreUnkownAttributes(true);
+ schparser.loadBuffer(editor_txt->toPlainText());
+ schparser.getCodeDefinition({});
+
+ msgbox.show(tr("No lexical or sytactical errors found."), Messagebox::InfoIcon);
+ }
+ catch(Exception &e)
+ {
+ // When founding an error we try to highlight the exact portion of the document where to problem is
+ QTextCursor cursor(editor_txt->document()->findBlockByLineNumber(schparser.getCurrentLine() - 1));
+ cursor.movePosition(QTextCursor::StartOfLine);
+ cursor.movePosition(QTextCursor::NextCharacter, QTextCursor::KeepAnchor, schparser.getCurrentColumn());
+
+ editor_txt->blockSignals(true);
+ editor_txt->setTextCursor(cursor);
+ editor_txt->blockSignals(false);
+
+ // Changing the text selection color so the user can see where the problem is
+ QPalette pal = editor_txt->palette();
+ pal.setColor(QPalette::Highlight, QColor("#f00000"));
+ pal.setColor(QPalette::HighlightedText, QColor("#ffffff"));
+ editor_txt->setPalette(pal);
+
+ msgbox.show(e);
+ }
+}
+
+void SourceEditorWidget::restoreEditorPalette()
+{
+ editor_txt->setPalette(def_editor_pal);
+}
+
+void SourceEditorWidget::applyIndentation()
+{
+ QStringList buffer = editor_txt->toPlainText().split(QChar::LineFeed);
+ int if_level = 0, comment_pos = -1, line_count = buffer.size();
+ bool found_cond = false, found_if = false, inline_ifend = false;
+ QString cond_pattern = QString("^(( )|(\\t))*(%1)"), line,
+ tk_if = SchemaParser::CharStartConditional + SchemaParser::TokenIf,
+ tk_then = SchemaParser::CharStartConditional + SchemaParser::TokenThen,
+ tk_else = SchemaParser::CharStartConditional + SchemaParser::TokenElse,
+ tk_end = SchemaParser::CharStartConditional + SchemaParser::TokenEnd;
+ QRegExp inline_if_regexp(QString("(%1)(.)+(%2)").arg(tk_if).arg(tk_end));
+
+ for(int ln_idx = 0; ln_idx < line_count; ln_idx++)
+ {
+ line = buffer[ln_idx];
+ comment_pos = line.indexOf(SchemaParser::CharComment);
+ inline_ifend = line.contains(inline_if_regexp);
+
+ if(line.contains(QRegExp(cond_pattern.arg(tk_if))) && !inline_ifend)
+ {
+ if_level++;
+ found_if = found_cond = true;
+ }
+ else if(line.contains(QRegExp(cond_pattern.arg(tk_else))) ||
+ line.contains(QRegExp(cond_pattern.arg(tk_end))))
+ found_cond = true;
+
+ // If the current line is an inline if: %if ... %then ... %end, we break it
+ if(act_break_inline_ifs->isChecked() && inline_ifend)
+ {
+ line.replace(tk_if, QChar::LineFeed + tk_if);
+ line.replace(tk_then, tk_then + QChar::LineFeed);
+ line.replace(tk_else, QChar::LineFeed + tk_else + QChar::LineFeed);
+ line.replace(tk_end, QChar::LineFeed + tk_end + QChar::LineFeed );
+
+ /* If the line was broke ( presence of \n) we split the resulting string
+ * and insert the new lines in the buffer and restart the indentation process */
+ if(line.contains(QChar::LineFeed))
+ {
+ QStringList buf_aux = line.split(QChar::LineFeed, QtCompat::SkipEmptyParts);
+ buffer.removeAt(ln_idx);
+
+ for(auto itr = buf_aux.rbegin(); itr != buf_aux.rend(); itr++)
+ buffer.insert(ln_idx, *itr);
+
+ ln_idx = 0;
+ found_cond = found_if = false;
+ if_level = 0;
+ line_count = buffer.size();
+ continue;
+ }
+ }
+
+ line = line.simplified();
+
+ if(!line.isEmpty())
+ {
+ line = line.rightJustified(line.size() + if_level + (found_cond ? -1 : 0), QChar::Tabulation);
+
+ if(!inline_ifend)
+ if_level -= line.mid(0, comment_pos).count(QString("%1%2").arg(SchemaParser::CharStartConditional).arg(SchemaParser::TokenEnd));
+ }
+
+ buffer[ln_idx] = line;
+ found_cond = found_if = false;
+ }
+
+ QRegExp cond_tk_regexp(QString("^(( )|(\\t))*(%1)[a-z]+").arg(SchemaParser::CharStartConditional));
+ QString prev_line, next_line, next_next_line,
+ tk_set = SchemaParser::CharStartConditional + SchemaParser::TokenSet,
+ tk_unset = SchemaParser::CharStartConditional + SchemaParser::TokenUnset;
+
+ for(int ln_idx = 0; ln_idx < buffer.count() - 1; ln_idx++)
+ {
+ line = buffer[ln_idx].mid(0, buffer[ln_idx].indexOf(SchemaParser::CharComment));
+
+ // Ignoring the line if it contains a inline if
+ if(line.contains(inline_if_regexp))
+ continue;
+
+ // Capturing the previous, next lines without comment portion
+ prev_line = ln_idx > 0 ? buffer[ln_idx - 1].mid(0, buffer[ln_idx - 1].indexOf(SchemaParser::CharComment)) : "";
+ next_line = ln_idx < buffer.count() - 1 ? buffer[ln_idx + 1].mid(0, buffer[ln_idx + 1].indexOf(SchemaParser::CharComment)) : "";
+ next_next_line = ln_idx < buffer.count() - 2 ? buffer[ln_idx + 2].mid(0, buffer[ln_idx + 2].indexOf(SchemaParser::CharComment)) : "";
+
+ /* Removing the empty line in the following cases:
+ * 1) Between a two %end tokens
+ * 2) Between an %end and %else
+ * 3) Between an two %if tokens
+ * 4) Between an %else and %if | %set | %unset */
+ if(next_line.isEmpty() && !next_next_line.isEmpty() &&
+ ((line.contains(QRegExp(cond_pattern.arg(tk_end))) &&
+ (next_next_line.contains(QRegExp(cond_pattern.arg(tk_else))) ||
+ next_next_line.contains(QRegExp(cond_pattern.arg(tk_end))))) ||
+
+ ((line.contains(QRegExp(cond_pattern.arg(tk_if))) ||
+ line.contains(QRegExp(cond_pattern.arg(tk_else)))) &&
+ (next_next_line.contains(QRegExp(cond_pattern.arg(tk_if))) ||
+ next_next_line.contains(QRegExp(cond_pattern.arg(tk_set))) ||
+ next_next_line.contains(QRegExp(cond_pattern.arg(tk_unset)))))))
+ {
+ buffer.removeAt(ln_idx + 1);
+ ln_idx--;
+ continue;
+ }
+
+ // Separating an end token from any conditional token in the next line
+ if(line.contains(QRegExp(cond_pattern.arg(tk_end))) &&
+ !next_line.isEmpty() &&
+ !next_line.contains(cond_tk_regexp))
+ buffer[ln_idx].append(QChar::LineFeed);
+
+ // Separating an closed plain text from the next line
+ else if(line.endsWith(SchemaParser::CharEndPlainText) &&
+ !next_line.isEmpty() &&
+ !next_line.contains(cond_tk_regexp))
+ buffer[ln_idx].append(QChar::LineFeed);
+
+ // If the current line has an %if and the previous is not a conditional instruction %
+ else if(line.contains(QRegExp(cond_pattern.arg(tk_if))) &&
+ !prev_line.isEmpty() &&
+ !prev_line.contains(cond_tk_regexp))
+ buffer[ln_idx].prepend(QChar::LineFeed);
+
+ // Separating an if token from previous end, set and unset
+ else if(line.contains(QRegExp(cond_pattern.arg(tk_if))) &&
+ (prev_line.contains(tk_end) ||
+ prev_line.contains(tk_set) ||
+ prev_line.contains(tk_unset)))
+ buffer[ln_idx].prepend(QChar::LineFeed);
+ }
+
+ /* Replacing the current code with the formatted one in such a way to preserve
+ * the undo/redo stack. This is achieved by selecting the whole text document
+ * and inserting the new text using the cursor. Using QPlainTextEdit::setPlainText
+ * will clear the stack. */
+ editor_txt->blockSignals(true);
+ QTextCursor cursor = editor_txt->textCursor();
+ cursor.movePosition(QTextCursor::Start);
+ cursor.movePosition(QTextCursor::End, QTextCursor::KeepAnchor);
+ cursor.insertText(buffer.join(QChar::LineFeed));
+ cursor = editor_txt->textCursor();
+ editor_txt->moveCursor(QTextCursor::Start);
+ editor_txt->blockSignals(false);
+ setModified(true);
+}
+
+void SourceEditorWidget::setModified(bool value)
+{
+ is_modified = value;
+ emit s_editorModified(value);
+}
+
+void SourceEditorWidget::setDefaultEditorPalette(const QPalette &pal)
+{
+ def_editor_pal = pal;
+}
+
+QString SourceEditorWidget::getFilename()
+{
+ return filename;
+}
+
+bool SourceEditorWidget::isModified()
+{
+ return is_modified;
+}
diff --git a/apps/pgmodeler-se/src/sourceeditorwidget.h b/apps/pgmodeler-se/src/sourceeditorwidget.h
new file mode 100644
index 0000000000..69d1ae627f
--- /dev/null
+++ b/apps/pgmodeler-se/src/sourceeditorwidget.h
@@ -0,0 +1,102 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+
+/**
+\ingroup pgmodeler-sc
+\class SourceEditorWidget
+\brief Implements the basic source code editor with minimal code completion for schema files.
+*/
+
+#ifndef SOURCE_EDITOR_WIDGET_H
+#define SOURCE_EDITOR_WIDGET_H
+
+#include
+#include "ui_sourceeditorwidget.h"
+#include "widgets/numberedtexteditor.h"
+#include "utils/syntaxhighlighter.h"
+#include "widgets/findreplacewidget.h"
+#include "widgets/codecompletionwidget.h"
+#include "widgets/fileselectorwidget.h"
+
+class SourceEditorWidget: public QWidget, public Ui::SourceEditorWidget {
+ private:
+ Q_OBJECT
+
+ static attribs_map snippets;
+
+ static QPalette def_editor_pal;
+
+ CodeCompletionWidget *code_compl_wgt;
+
+ FileSelectorWidget *source_file_sel;
+
+ NumberedTextEditor *editor_txt;
+
+ SyntaxHighlighter *editor_hl;
+
+ FindReplaceWidget *find_wgt;
+
+ QString filename, curr_sytax_cfg;
+
+ QAction *act_break_inline_ifs;
+
+ QMenu indent_opts_menu;
+
+ bool is_modified;
+
+ public:
+ explicit SourceEditorWidget(QWidget *parent = nullptr);
+
+ /*! \brief Defines the default pallete for text editor.
+ * This is used to restore the colors of the editor after an error is raised
+ * during syntax validation and the text selection color is changed to point the
+ * error location */
+ static void setDefaultEditorPalette(const QPalette &pal);
+
+ //! \brief Returns the file being handled by the editor
+ QString getFilename();
+
+ //! \brief Returns the current modification status of the editor
+ bool isModified();
+
+ QString getCurrentSyntaxConfig();
+
+ private slots:
+ //! \brief Validates the syntax of the editor's content (only for schema micro-language code)
+ void validateSyntax();
+
+ //! \brief Restores the editor default colors after highlighting an syntax error in a portion of the text
+ void restoreEditorPalette();
+
+ //! \brief Applies a custom identation on the editor's content (only for schema micro-language code)
+ void applyIndentation();
+
+ //! \brief Insert the selected snippet into the editors (only for schema micro-language code)
+ void handleSelectedSnippet(const QString &snippet);
+
+ public slots:
+ void setModified(bool value);
+ void loadFile(const QString &filename);
+ void saveFile(const QString &filename);
+ void loadSyntaxConfig(const QString &filename);
+
+ signals:
+ void s_editorModified(bool value);
+};
+
+#endif
diff --git a/apps/pgmodeler-se/ui/aboutwidget.ui b/apps/pgmodeler-se/ui/aboutwidget.ui
new file mode 100644
index 0000000000..e80183b949
--- /dev/null
+++ b/apps/pgmodeler-se/ui/aboutwidget.ui
@@ -0,0 +1,402 @@
+
+
+ AboutWidget
+
+
+ Qt::NonModal
+
+
+
+ 0
+ 0
+ 816
+ 704
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 650
+ 500
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ About pgModeler Schema Editor
+
+
+
+ :/images/images/schemafile.png:/images/images/schemafile.png
+
+
+
+ 4
+
+
+ 4
+
+
+ 4
+
+
+ 4
+
+
+ 6
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 100
+ 100
+
+
+
+
+ 100
+ 100
+
+
+
+
+
+
+
+
+
+ :/images/images/schemafile.png
+
+
+ true
+
+
+
+
+
+
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 75
+ true
+
+
+
+ pgModeler Schema Editor
+
+
+ Qt::AlignCenter
+
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+ 75
+ true
+ true
+
+
+
+
+
+
+ 0.0.0
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 129
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 129
+ 0
+
+
+
+
+
+
+
+
+ 128
+ 128
+ 128
+
+
+
+
+
+
+
+
+ 50
+ true
+ false
+
+
+
+ (BUILD_NUM)
+
+
+ Qt::AlignCenter
+
+
+ -1
+
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ false
+
+
+
+ QFrame::NoFrame
+
+
+ Create, edit and verify the syntax of files written in pgModeler's schema micro-language. You can also tweak the tool's syntax highlighting settings to be used by the main GUI application.
+
+
+ Qt::PlainText
+
+
+ Qt::AlignJustify|Qt::AlignTop
+
+
+ true
+
+
+ 0
+
+
+ Qt::TextSelectableByMouse
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+ License
+
+
+
+ 4
+
+
+ 4
+
+
+ 4
+
+
+ 4
+
+
+
+
+ QFrame::Sunken
+
+
+ QAbstractScrollArea::AdjustToContents
+
+
+ false
+
+
+ QTextEdit::WidgetWidth
+
+
+ true
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier'; font-size:11pt;">pgModeler - PostgreSQL Database Modeler<br />Copyright 2006-2021 - Raphael Araújo e Silva<br /><br />This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 3.<br /><br />This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.<br /><br />The complete text of GPLv3 is at LICENSE file on pgModeler's source code root directory. Also, you can get the complete GNU General Public License at <</span><a href="http://www.gnu.org/licenses"><span style=" font-family:'Courier'; font-size:11pt; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses</span></a><span style=" font-family:'Courier'; font-size:11pt;">></span></p></body></html>
+
+
+ false
+
+
+ Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse
+
+
+
+
+
+
+
+
+
+
+
+ pgModeler is proudly a brazilian software!
+
+
+
+
+
+
+
+
+ :/images/images/brazil_flag.png
+
+
+ Qt::AlignHCenter|Qt::AlignTop
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+ <html><head/><body><p>Raphael Araújo e Silva <<a href="mailto:raphael@pgmodeler.com.br"><span style=" text-decoration: underline; color:#0057ae;">raphael@pgmodeler.io</span></a>></p></body></html>
+
+
+ Qt::AutoText
+
+
+ 5
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/pgmodeler-se/ui/schemaeditorform.ui b/apps/pgmodeler-se/ui/schemaeditorform.ui
new file mode 100644
index 0000000000..6b93bc0bdb
--- /dev/null
+++ b/apps/pgmodeler-se/ui/schemaeditorform.ui
@@ -0,0 +1,959 @@
+
+
+ SchemaEditorForm
+
+
+
+ 0
+ 0
+ 916
+ 629
+
+
+
+
+ 800
+ 600
+
+
+
+ pgModeler Schema Editor
+
+
+
+ :/images/images/schemafile.png:/images/images/schemafile.png
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 4
+
+
+ 4
+
+
+ 6
+
+
+
+
+ Qt::Horizontal
+
+
+ 4
+
+
+ false
+
+
+
+
+ 0
+
+
+ 4
+
+
+ 0
+
+
+ 0
+
+
+ 6
+
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ QTabWidget::North
+
+
+ true
+
+
+
+
+
+
+
+ false
+
+
+
+ 0
+
+
+ 4
+
+
+ 4
+
+
+ 0
+
+
+ 6
+
+
+
+
+
+ 0
+ 0
+
+
+
+ Syntax file:
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
+ 4
+
+
+ 4
+
+
+ 4
+
+
+ 6
+
+
+ 6
+
+
+
+
+ false
+
+
+ Save && apply
+
+
+
+ :/icons/icons/save.png:/icons/icons/save.png
+
+
+
+ 22
+ 22
+
+
+
+ Qt::ToolButtonTextBesideIcon
+
+
+
+
+
+
+
+ 25
+ 25
+
+
+
+
+ 24
+ 24
+
+
+
+
+
+
+ Qt::AutoText
+
+
+ :/icons/icons/alert.png
+
+
+ true
+
+
+
+
+
+
+ false
+
+
+ Apply only
+
+
+
+ :/icons/icons/confirm.png:/icons/icons/confirm.png
+
+
+
+ 22
+ 22
+
+
+
+ Qt::ToolButtonTextBesideIcon
+
+
+
+
+
+
+ false
+
+
+ Reload
+
+
+
+ :/icons/icons/refresh.png:/icons/icons/refresh.png
+
+
+
+ 22
+ 22
+
+
+
+ Qt::ToolButtonTextBesideIcon
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 50
+ false
+ false
+ false
+ true
+
+
+
+ The syntax settings below have changed. Click <strong>Save & apply</strong> to persit the modifications to config file and apply them; <strong>Apply only</strong> to use the modified settings on-the-fly on the current editor without save the changes to the configuration file; or <strong>Reload</strong> to load the file again from the last time that it was saved. <strong>NOTE:</strong> switching to another editor tab will cause all modifications below to be lost.
+
+
+ true
+
+
+
+
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+ <p>Instead of loading the configuration file at user's local storage, loads the template one inside the pgModeler's installation folder.</p>
+
+
+ Use template configuration file
+
+
+
+
+
+
+ 0
+
+
+
+ XML
+
+
+
+ 6
+
+
+ 4
+
+
+ 4
+
+
+ 4
+
+
+ 4
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+
+
+ DTD
+
+
+
+ 6
+
+
+ 4
+
+
+ 4
+
+
+ 4
+
+
+ 4
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+
+
+ 3
+
+
+ 0
+
+
+ 3
+
+
+ 4
+
+
+
+
+ Qt::Horizontal
+
+
+
+
+
+
+ Qt::Horizontal
+
+
+
+
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Save changes to another file
+
+
+ Save as
+
+
+
+ :/icons/icons/saveas.png:/icons/icons/saveas.png
+
+
+
+ 25
+ 25
+
+
+
+ Qt::ToolButtonTextUnderIcon
+
+
+ true
+
+
+
+
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Exit
+
+
+
+ :/icons/icons/exit.png:/icons/icons/exit.png
+
+
+
+ 25
+ 25
+
+
+
+ Qt::ToolButtonTextUnderIcon
+
+
+ true
+
+
+
+
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Open a new editor
+
+
+ New
+
+
+
+ :/icons/icons/new.png:/icons/icons/new.png
+
+
+
+ 25
+ 25
+
+
+
+ Ctrl+N
+
+
+ Qt::ToolButtonTextUnderIcon
+
+
+ true
+
+
+
+
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Save changes
+
+
+ Save
+
+
+
+ :/icons/icons/save.png:/icons/icons/save.png
+
+
+
+ 25
+ 25
+
+
+
+ Ctrl+S
+
+
+ Qt::ToolButtonTextUnderIcon
+
+
+ true
+
+
+
+
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Load files
+
+
+ Load
+
+
+
+ :/icons/icons/open.png:/icons/icons/open.png
+
+
+
+ 25
+ 25
+
+
+
+ Ctrl+L
+
+
+ Qt::ToolButtonTextUnderIcon
+
+
+ true
+
+
+
+
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ About
+
+
+
+ :/icons/icons/help.png:/icons/icons/help.png
+
+
+
+ 25
+ 25
+
+
+
+ F1
+
+
+ Qt::ToolButtonTextUnderIcon
+
+
+ true
+
+
+
+
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Choose the syntax highlighting mode
+
+
+ Syntax
+
+
+
+ :/icons/icons/xmlcode.png:/icons/icons/xmlcode.png
+
+
+
+ 25
+ 25
+
+
+
+ QToolButton::InstantPopup
+
+
+ Qt::ToolButtonTextUnderIcon
+
+
+ true
+
+
+ Qt::NoArrow
+
+
+
+
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Apply identation to all open editors
+
+
+ Indent all
+
+
+
+ :/icons/icons/ident.png:/icons/icons/ident.png
+
+
+
+ 25
+ 25
+
+
+
+ Qt::ToolButtonTextUnderIcon
+
+
+ true
+
+
+
+
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+ Save all
+
+
+
+ :/icons/icons/saveall.png:/icons/icons/saveall.png
+
+
+
+ 25
+ 25
+
+
+
+ Qt::ToolButtonTextUnderIcon
+
+
+ true
+
+
+
+
+
+
+ false
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+ Close all
+
+
+
+ :/icons/icons/close.png:/icons/icons/close.png
+
+
+
+ 25
+ 25
+
+
+
+ Qt::ToolButtonTextUnderIcon
+
+
+ true
+
+
+
+
+
+
+
+
+
+ 4
+
+
+ 2
+
+
+ 4
+
+
+ 2
+
+
+ 6
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 127
+ 0
+
+
+
+
+
+
+
+
+
+ Qt::PlainText
+
+
+ :/images/images/pgmodeler_name.png
+
+
+
+
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/pgmodeler-se/ui/sourceeditorwidget.ui b/apps/pgmodeler-se/ui/sourceeditorwidget.ui
new file mode 100644
index 0000000000..3f151f14cb
--- /dev/null
+++ b/apps/pgmodeler-se/ui/sourceeditorwidget.ui
@@ -0,0 +1,241 @@
+
+
+ SourceEditorWidget
+
+
+
+ 0
+ 0
+ 1212
+ 736
+
+
+
+ Form
+
+
+
+ 4
+
+
+ 4
+
+
+ 4
+
+
+ 4
+
+
+ 4
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+ 6
+
+
+ 2
+
+
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Validate the syntax of the schema file
+
+
+ Validate
+
+
+
+ :/icons/icons/validatesch.png:/icons/icons/validatesch.png
+
+
+
+ 25
+ 25
+
+
+
+ F5
+
+
+ QToolButton::InstantPopup
+
+
+ Qt::ToolButtonTextBesideIcon
+
+
+ false
+
+
+ Qt::NoArrow
+
+
+
+
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Apply custom indentation to the code
+
+
+ Indent
+
+
+
+ :/icons/icons/ident.png:/icons/icons/ident.png
+
+
+
+ 25
+ 25
+
+
+
+ Ctrl+I
+
+
+ QToolButton::MenuButtonPopup
+
+
+ Qt::ToolButtonTextBesideIcon
+
+
+ false
+
+
+ Qt::NoArrow
+
+
+
+
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Find
+
+
+
+ :/icons/icons/findtext.png:/icons/icons/findtext.png
+
+
+
+ 25
+ 25
+
+
+
+ Ctrl+F
+
+
+ true
+
+
+ QToolButton::InstantPopup
+
+
+ Qt::ToolButtonTextBesideIcon
+
+
+ false
+
+
+ Qt::NoArrow
+
+
+
+
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/pgmodeler/pgmodeler.pro b/apps/pgmodeler/pgmodeler.pro
new file mode 100644
index 0000000000..1108381c84
--- /dev/null
+++ b/apps/pgmodeler/pgmodeler.pro
@@ -0,0 +1,30 @@
+include(../apps.pri)
+
+TEMPLATE = app
+TARGET = pgmodeler
+
+unix:LIBS += $$QMAKE_LIBS_EXECINFO
+windows:RC_FILE=res/windows_ico.qrc
+windows:RCC_DIR=src/
+windows: DESTDIR = $$PWD
+
+HEADERS += src/pgmodelerapp.h
+
+SOURCES += src/main.cpp \
+ src/pgmodelerapp.cpp
+
+# Deployment settings
+target.path = $$BINDIR
+INSTALLS = target
+
+macx {
+ macdeps.files = $$PWD/res/Resources $$PWD/res/Info.plist $$PWD/res/PkgInfo
+ macdeps.path = $$PREFIX
+
+ macscript.files = $$PWD/res/startapp
+ macscript.path = $$BINDIR
+
+ INSTALLS += macdeps macscript
+}
+
+
diff --git a/main/res/Info.plist b/apps/pgmodeler/res/Info.plist
similarity index 97%
rename from main/res/Info.plist
rename to apps/pgmodeler/res/Info.plist
index 330902878e..ea50a82e16 100644
--- a/main/res/Info.plist
+++ b/apps/pgmodeler/res/Info.plist
@@ -33,7 +33,7 @@
CFBundleSignature????CFBundleVersion
- 0.8.0
+ 0.9.4CSResourcesFileMappedNSPrincipalClass
diff --git a/main/res/PkgInfo b/apps/pgmodeler/res/PkgInfo
similarity index 100%
rename from main/res/PkgInfo
rename to apps/pgmodeler/res/PkgInfo
diff --git a/main/res/Resources/empty.lproj b/apps/pgmodeler/res/Resources/empty.lproj
similarity index 100%
rename from main/res/Resources/empty.lproj
rename to apps/pgmodeler/res/Resources/empty.lproj
diff --git a/main/res/Resources/pgmodeler.icns b/apps/pgmodeler/res/Resources/pgmodeler.icns
similarity index 100%
rename from main/res/Resources/pgmodeler.icns
rename to apps/pgmodeler/res/Resources/pgmodeler.icns
diff --git a/main/res/Resources/pgmodeler_dbm.icns b/apps/pgmodeler/res/Resources/pgmodeler_dbm.icns
similarity index 100%
rename from main/res/Resources/pgmodeler_dbm.icns
rename to apps/pgmodeler/res/Resources/pgmodeler_dbm.icns
diff --git a/main/res/windows_ico.ico b/apps/pgmodeler/res/windows_ico.ico
similarity index 100%
rename from main/res/windows_ico.ico
rename to apps/pgmodeler/res/windows_ico.ico
diff --git a/main/res/windows_ico.qrc b/apps/pgmodeler/res/windows_ico.qrc
similarity index 100%
rename from main/res/windows_ico.qrc
rename to apps/pgmodeler/res/windows_ico.qrc
diff --git a/main/res/windows_ico1.ico b/apps/pgmodeler/res/windows_ico1.ico
similarity index 100%
rename from main/res/windows_ico1.ico
rename to apps/pgmodeler/res/windows_ico1.ico
diff --git a/apps/pgmodeler/src/main.cpp b/apps/pgmodeler/src/main.cpp
new file mode 100644
index 0000000000..b6889231a1
--- /dev/null
+++ b/apps/pgmodeler/src/main.cpp
@@ -0,0 +1,139 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+
+#include "pgmodelerapp.h"
+#include "mainwindow.h"
+
+#ifndef Q_OS_WIN
+#include "execinfo.h"
+#endif
+
+void startCrashHandler(int signal)
+{
+ QFile output;
+ QString lin, cmd;
+
+ /** At the moment the backtrace function does not exists on MingW (Windows) this way
+ the code that generates the stacktrace is available only on Linux/Unix systems */
+#ifndef Q_OS_WIN
+ void *stack[30];
+ size_t stack_size;
+ char **symbols=nullptr;
+ stack_size = backtrace(stack, 30);
+ symbols = backtrace_symbols(stack, stack_size);
+#endif
+
+ cmd=QString("\"%1\"").arg(GlobalAttributes::getPgModelerCHandlerPath()) + QString(" -style ") + GlobalAttributes::DefaultQtStyle;
+
+ //Creates the stacktrace file
+ output.setFileName(GlobalAttributes::getTemporaryFilePath(GlobalAttributes::StacktraceFile));
+ output.open(QFile::WriteOnly);
+
+ if(output.isOpen())
+ {
+ lin=QString("** pgModeler crashed after receive signal: %1 **\n\nDate/Time: %2 \nVersion: %3 \nBuild: %4 \n")
+ .arg(signal)
+ .arg(QDateTime::currentDateTime().toString(QString("yyyy-MM-dd hh:mm:ss")))
+ .arg(GlobalAttributes::PgModelerVersion)
+ .arg(GlobalAttributes::PgModelerBuildNumber);
+
+ lin+=QString("Compilation Qt version: %1\nRunning Qt version: %2\n\n")
+ .arg(QT_VERSION_STR)
+ .arg(qVersion());
+
+ output.write(lin.toStdString().c_str(), lin.size());
+
+#ifndef Q_OS_WIN
+ for(size_t i=0; i < stack_size; i++)
+ {
+ lin=QString("[%1] ").arg(stack_size-1-i) + QString(symbols[i]) + QString("\n");
+ output.write(lin.toStdString().c_str(), lin.size());
+ }
+ free(symbols);
+#else
+ lin=QString("** Stack trace unavailable on Windows system **");
+ output.write(lin.toStdString().c_str(), lin.size());
+#endif
+
+ output.close();
+ }
+
+ /* Changing the working dir to the main executable in order to call the crash handler
+ if the PGMODELER_CHANDLER_PATH isn't set */
+ QDir dir;
+ dir.cd(QApplication::applicationDirPath());
+
+ exit(1 + system(cmd.toStdString().c_str()));
+}
+
+int main(int argc, char **argv)
+{
+ try
+ {
+ /* Registering the below classes as metatypes in order to make
+ * them liable to be sent through signal parameters */
+ qRegisterMetaType("ObjectType");
+ qRegisterMetaType("Exception");
+ qRegisterMetaType("ValidationInfo");
+ qRegisterMetaType("ObjectsDiffInfo");
+
+ //Install a signal handler to start crashhandler when SIGSEGV or SIGABRT is emitted
+ signal(SIGSEGV, startCrashHandler);
+ signal(SIGABRT, startCrashHandler);
+
+ PgModelerApp::setAttribute(Qt::AA_UseHighDpiPixmaps);
+ PgModelerApp::setAttribute(Qt::AA_EnableHighDpiScaling);
+ PgModelerApp app(argc,argv);
+ int res=0;
+
+ //Loading the application splash screen
+ QSplashScreen splash;
+ QPixmap pix(QPixmap(QString(":images/images/pgmodeler_splash.png")));
+ splash.setPixmap(pix);
+ splash.setMask(pix.mask());
+ splash.show();
+ app.processEvents();
+
+ //Creates the main form
+ MainWindow fmain;
+
+ fmain.show();
+ splash.finish(&fmain);
+
+ //Loading models via command line on MacOSX are disabled until the file association work correclty on that system
+#ifndef Q_OS_MAC
+ QStringList params=app.arguments();
+ params.pop_front();
+
+ //If the user specifies a list of files to be loaded
+ if(!params.isEmpty())
+ fmain.loadModels(params);
+#endif
+
+ res = app.exec();
+ app.closeAllWindows();
+
+ return res;
+ }
+ catch(Exception &e)
+ {
+ QTextStream ts(stdout);
+ ts << e.getExceptionsText();
+ return enum_cast(e.getErrorCode());
+ }
+}
diff --git a/apps/pgmodeler/src/pgmodelerapp.cpp b/apps/pgmodeler/src/pgmodelerapp.cpp
new file mode 100644
index 0000000000..61c2161e16
--- /dev/null
+++ b/apps/pgmodeler/src/pgmodelerapp.cpp
@@ -0,0 +1,158 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+#include "pgmodelerapp.h"
+#include "globalattributes.h"
+#include "messagebox.h"
+#include "attributes.h"
+
+PgModelerApp::PgModelerApp(int &argc, char **argv) : Application(argc,argv)
+{
+ QTranslator *main_translator=nullptr, *plugin_translator=nullptr;
+ QFile ui_style(GlobalAttributes::getTmplConfigurationFilePath("",
+ GlobalAttributes::UiStyleConf +
+ GlobalAttributes::ConfigurationExt));
+ QString plugin_name, plug_lang_dir, plug_lang_file;
+ QStringList dir_list;
+ QDir dir;
+
+ try
+ {
+ //Creating the initial user's configuration
+ createUserConfiguration(true);
+ }
+ catch(Exception &e)
+ {
+ Messagebox msgbox;
+ msgbox.show(e);
+ }
+
+ //Checking if the user specified another widget style using the -style param
+ bool using_style=false;
+
+ for(int i=0; i < argc && !using_style; i++)
+ using_style=QString(argv[i]).contains("-style");
+
+ //If no custom style is specified we force the usage of Fusion (the default for Qt and pgModeler)
+ if(!using_style)
+ setStyle(GlobalAttributes::DefaultQtStyle);
+
+ //Changing the current working dir to the executable's directory in
+ QDir::setCurrent(this->applicationDirPath());
+
+ //Adding paths which executable will find plugins and it's dependecies
+ this->addLibraryPath(this->applicationDirPath());
+
+ //If pgModeler bundles plugins, add the root plugins path to lib search paths
+ if(dir.exists(GlobalAttributes::getPluginsDir()))
+ this->addLibraryPath(GlobalAttributes::getPluginsDir());
+
+ //Check if the temporary dir exists, if not, creates it.
+ if(!dir.exists(GlobalAttributes::getTemporaryDir()))
+ {
+ if(!dir.mkdir(GlobalAttributes::getTemporaryDir()))
+ {
+ Messagebox msg;
+ msg.show(Exception(Exception::getErrorMessage(ErrorCode::FileDirectoryNotWritten).arg(GlobalAttributes::getTemporaryDir()),
+ ErrorCode::FileDirectoryNotWritten, __PRETTY_FUNCTION__,__FILE__,__LINE__));
+ }
+ }
+
+ //Trying to identify if the user defined a custom UI language in the pgmodeler.conf file
+ QString conf_file = GlobalAttributes::getConfigurationFilePath(GlobalAttributes::GeneralConf);
+ QFile input;
+ QString lang_id = QLocale::system().name();
+
+ input.setFileName(conf_file);
+
+ if(input.open(QFile::ReadOnly))
+ {
+ QString buf = QString(input.readAll());
+ QRegExp regexp = QRegExp(QString("(%1)(.*)(=)(\\\")(.)+(\\\")(\\\n)").arg(Attributes::UiLanguage));
+ int idx = regexp.indexIn(QString(buf));
+
+ //Extract the value of the ui-language attribute in the conf file
+ lang_id = buf.mid(idx, regexp.matchedLength());
+ lang_id.remove(Attributes::UiLanguage);
+ lang_id.remove(QChar('"')).remove(QChar('=')).remove(QChar('\n'));
+ }
+
+ //Tries to load the main ui translation according to the system's locale
+ main_translator=new QTranslator(this);
+ main_translator->load(lang_id, GlobalAttributes::getLanguagesDir());
+ this->installTranslator(main_translator);
+
+ //Trying to load plugins translations
+ dir_list=QDir(GlobalAttributes::getPluginsDir() +
+ GlobalAttributes::DirSeparator,
+ QString("*"), QDir::Name, QDir::AllDirs | QDir::NoDotAndDotDot).entryList();
+
+ while(!dir_list.isEmpty())
+ {
+ plugin_name=dir_list.front();
+ dir_list.pop_front();
+
+ //Configure the path to "lang" subdir at current plugin directory
+ plug_lang_dir=GlobalAttributes::getPluginsDir() +
+ GlobalAttributes::DirSeparator + plugin_name +
+ GlobalAttributes::DirSeparator + QString("lang") +
+ GlobalAttributes::DirSeparator;
+
+ plug_lang_file=plugin_name + QString(".") + lang_id;
+
+ //Check if the .qm file exists for the current plugin. If so create and install a translator
+ if(QFileInfo(plug_lang_dir + plug_lang_file + QString(".qm")).exists())
+ {
+ plugin_translator=new QTranslator(this);
+ plugin_translator->load(plug_lang_file, plug_lang_dir);
+ this->installTranslator(plugin_translator);
+ }
+ }
+
+ //Loading app style sheet
+ ui_style.open(QFile::ReadOnly);
+
+ //Raises an error if ui style is not found
+ if(!ui_style.isOpen())
+ {
+ Messagebox msg;
+ msg.show(Exception(Exception::getErrorMessage(ErrorCode::FileDirectoryNotAccessed).arg(ui_style.fileName()),
+ ErrorCode::FileDirectoryNotAccessed,__PRETTY_FUNCTION__,__FILE__,__LINE__));
+ }
+ else
+ this->setStyleSheet(ui_style.readAll());
+}
+
+bool PgModelerApp::notify(QObject *receiver, QEvent *event)
+{
+ try
+ {
+ return QApplication::notify(receiver,event);
+ }
+ catch(Exception &e)
+ {
+ Messagebox msg_box;
+ msg_box.show(e);
+ return false;
+ }
+ catch(...)
+ {
+ Messagebox msg_box;
+ msg_box.show(tr("Unknown exception caught!"), Messagebox::ErrorIcon);
+ return false;
+ }
+}
diff --git a/apps/pgmodeler/src/pgmodelerapp.h b/apps/pgmodeler/src/pgmodelerapp.h
new file mode 100644
index 0000000000..39f7b22b30
--- /dev/null
+++ b/apps/pgmodeler/src/pgmodelerapp.h
@@ -0,0 +1,40 @@
+/*
+# PostgreSQL Database Modeler (pgModeler)
+#
+# Copyright 2006-2021 - Raphael Araújo e Silva
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation version 3.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# The complete text of GPLv3 is at LICENSE file on source code root directory.
+# Also, you can get the complete GNU General Public License at
+*/
+
+/**
+\ingroup pgmodeler
+\class PgModelerApp
+\brief This class inherits from QApplication and has the notify() method modified
+ to treat the exceptions raised by pgModeler components.
+*/
+
+#ifndef PGMODELER_APP_H
+#define PGMODELER_APP_H
+
+#include "application.h"
+#include
+#include
+#include
+
+class PgModelerApp: public Application {
+ public:
+ PgModelerApp(int & argc, char ** argv);
+ bool notify(QObject * receiver, QEvent * event);
+};
+
+#endif
diff --git a/conf/connections.conf b/assets/conf/connections.conf
similarity index 100%
rename from conf/connections.conf
rename to assets/conf/connections.conf
diff --git a/conf/defaults/connections.conf b/assets/conf/defaults/connections.conf
similarity index 100%
rename from conf/defaults/connections.conf
rename to assets/conf/defaults/connections.conf
diff --git a/assets/conf/defaults/diff-presets.conf b/assets/conf/defaults/diff-presets.conf
new file mode 100644
index 0000000000..47c1baa3c2
--- /dev/null
+++ b/assets/conf/defaults/diff-presets.conf
@@ -0,0 +1,23 @@
+
+
+
+
+
diff --git a/assets/conf/defaults/example.dbm b/assets/conf/defaults/example.dbm
new file mode 100644
index 0000000000..a19f1a289f
--- /dev/null
+++ b/assets/conf/defaults/example.dbm
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/conf/objects-style.conf b/assets/conf/objects-style.conf
new file mode 100644
index 0000000000..93d76a89c4
--- /dev/null
+++ b/assets/conf/objects-style.conf
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/conf/pattern-highlight.conf b/assets/conf/pattern-highlight.conf
similarity index 100%
rename from conf/pattern-highlight.conf
rename to assets/conf/pattern-highlight.conf
diff --git a/assets/conf/pgmodeler.conf b/assets/conf/pgmodeler.conf
new file mode 100644
index 0000000000..1cb9b67dd9
--- /dev/null
+++ b/assets/conf/pgmodeler.conf
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/conf/pgmodeler_dbm.png b/assets/conf/pgmodeler_dbm.png
new file mode 100644
index 0000000000..7ad14be2c9
Binary files /dev/null and b/assets/conf/pgmodeler_dbm.png differ
diff --git a/conf/pgmodeler_logo.png b/assets/conf/pgmodeler_logo.png
similarity index 100%
rename from conf/pgmodeler_logo.png
rename to assets/conf/pgmodeler_logo.png
diff --git a/assets/conf/pgmodeler_sch.png b/assets/conf/pgmodeler_sch.png
new file mode 100644
index 0000000000..9a4ef1d489
Binary files /dev/null and b/assets/conf/pgmodeler_sch.png differ
diff --git a/assets/conf/relationships.conf b/assets/conf/relationships.conf
new file mode 100644
index 0000000000..2714c6e59f
--- /dev/null
+++ b/assets/conf/relationships.conf
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/conf/sch-highlight.conf b/assets/conf/sch-highlight.conf
new file mode 100644
index 0000000000..da61cd434e
--- /dev/null
+++ b/assets/conf/sch-highlight.conf
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/conf/schemas/application-dbm.sch b/assets/conf/schemas/application-dbm.sch
similarity index 99%
rename from conf/schemas/application-dbm.sch
rename to assets/conf/schemas/application-dbm.sch
index 1d55cee389..4cbbd16135 100644
--- a/conf/schemas/application-dbm.sch
+++ b/assets/conf/schemas/application-dbm.sch
@@ -1,6 +1,7 @@
[] $br
[] $br
$tb []
+
$tb [pgModeler Database Model] $br
$tb [] $br
$tb [] $br
diff --git a/assets/conf/schemas/application-sch.sch b/assets/conf/schemas/application-sch.sch
new file mode 100644
index 0000000000..6417694214
--- /dev/null
+++ b/assets/conf/schemas/application-sch.sch
@@ -0,0 +1,11 @@
+[] $br
+[] $br
+$tb []
+
+$tb [pgModeler Schema File] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+ $br
+
diff --git a/assets/conf/schemas/commands.sch b/assets/conf/schemas/commands.sch
new file mode 100644
index 0000000000..51d354ef83
--- /dev/null
+++ b/assets/conf/schemas/commands.sch
@@ -0,0 +1,6 @@
+# XML definition for sql commands included in sql history configuration file
+# CAUTION: Do not modify this file unless you know what you are doing.
+
+[ $br
+[ $br
+[ ] $br
diff --git a/assets/conf/schemas/connections.sch b/assets/conf/schemas/connections.sch
new file mode 100644
index 0000000000..276099d91b
--- /dev/null
+++ b/assets/conf/schemas/connections.sch
@@ -0,0 +1,54 @@
+# XML definition for connections configuration
+# CAUTION: Do not modify this file unless you know what you are doing.
+%if {connections} %then
+
+ [] $br
+ [] $br
+
+ $br
+ {connections}
+ $br
+
+%else
+
+ $tb [ $br
+%end
diff --git a/assets/conf/schemas/desktop-sch.sch b/assets/conf/schemas/desktop-sch.sch
new file mode 100644
index 0000000000..9077a78ad9
--- /dev/null
+++ b/assets/conf/schemas/desktop-sch.sch
@@ -0,0 +1,14 @@
+$ob Desktop $sp Entry $cb $br
+[Comment=Edit and check the syntax of pgModeler schema files] $br
+[Exec=]{application} $br
+[GenericName=pgModeler Schema Editor] $br
+[Icon=]{icon} $br
+[MimeType=application/sch] $br
+[Name=pgModeler Schema Editor] $br
+[NoDisplay=false] $br
+[Path=]{working-dir} $br
+[StartupNotify=false] $br
+[Terminal=false] $br
+[TerminalOptions=] $br
+[Type=Application] $br
+[Categories=Development;] $br
diff --git a/conf/schemas/desktop.sch b/assets/conf/schemas/desktop.sch
similarity index 86%
rename from conf/schemas/desktop.sch
rename to assets/conf/schemas/desktop.sch
index 52f519a5f8..83db9c44da 100644
--- a/conf/schemas/desktop.sch
+++ b/assets/conf/schemas/desktop.sch
@@ -10,4 +10,5 @@ $ob Desktop $sp Entry $cb $br
[StartupNotify=false] $br
[Terminal=false] $br
[TerminalOptions=] $br
-[Type=Application] $br
\ No newline at end of file
+[Type=Application] $br
+[Categories=Development;] $br
diff --git a/assets/conf/schemas/diff-presets.sch b/assets/conf/schemas/diff-presets.sch
new file mode 100644
index 0000000000..4896b8841e
--- /dev/null
+++ b/assets/conf/schemas/diff-presets.sch
@@ -0,0 +1,11 @@
+# XML definition for relationships configuration file
+# CAUTION: Do not modify this file unless you know what you are doing.
+[] $br
+[] $br
+
+ $br
+{preset}
+ $br
diff --git a/conf/schemas/file.sch b/assets/conf/schemas/file.sch
similarity index 100%
rename from conf/schemas/file.sch
rename to assets/conf/schemas/file.sch
diff --git a/assets/conf/schemas/objects-style.sch b/assets/conf/schemas/objects-style.sch
new file mode 100644
index 0000000000..2aecaf9a62
--- /dev/null
+++ b/assets/conf/schemas/objects-style.sch
@@ -0,0 +1,75 @@
+# XML definition for object style configurations
+# CAUTION: Do not modify this file unless you know what you are doing.
+[] $br
+[] $br
+ $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+$tb [] $br
+
+ $br
diff --git a/conf/schemas/patterns.sch b/assets/conf/schemas/patterns.sch
similarity index 79%
rename from conf/schemas/patterns.sch
rename to assets/conf/schemas/patterns.sch
index b0e11f68c1..4560e92c14 100644
--- a/conf/schemas/patterns.sch
+++ b/assets/conf/schemas/patterns.sch
@@ -5,8 +5,8 @@ $tb $tb [] $br
+[] $br
+
+ $br
+$tb [ $br
+
+%if {file} %then
+ $tb $br
+ $tb {file}
+ $tb $br
+%end
+
+%if {recent-models} %then
+ $tb $br
+ $tb {recent-models}
+ $tb $br
+%end
+
+%if {dock-widgets} %then
+ $tb $br
+ $tb {dock-widgets}
+ $tb $br
+%end
+
+%if {widgets-geometry} %then
+ $tb $br
+ $tb {widgets-geometry}
+ $tb $br
+%end
+
+ $br
diff --git a/assets/conf/schemas/preset.sch b/assets/conf/schemas/preset.sch
new file mode 100644
index 0000000000..5edb288c2f
--- /dev/null
+++ b/assets/conf/schemas/preset.sch
@@ -0,0 +1,43 @@
+%set {spacer} $br $tb $tb
+
+$tb [ $br $br
diff --git a/assets/conf/schemas/relationships.sch b/assets/conf/schemas/relationships.sch
new file mode 100644
index 0000000000..cbfedffd9b
--- /dev/null
+++ b/assets/conf/schemas/relationships.sch
@@ -0,0 +1,18 @@
+# XML definition for relationships configuration file
+# CAUTION: Do not modify this file unless you know what you are doing.
+[] $br
+[] $br
+
+ $br
+
+$tb [] $br
+$tb [] $br
+$tb $br
+{patterns}
+$tb $br
+
+ $br
+
diff --git a/assets/conf/schemas/snippet.sch b/assets/conf/schemas/snippet.sch
new file mode 100644
index 0000000000..63fda15a72
--- /dev/null
+++ b/assets/conf/schemas/snippet.sch
@@ -0,0 +1,5 @@
+# XML definition for snippets configurations file
+# CAUTION: Do not modify this file unless you know what you are doing.
+$tb [ $br
+[ $br
+$tb $br $br
diff --git a/assets/conf/schemas/snippets.sch b/assets/conf/schemas/snippets.sch
new file mode 100644
index 0000000000..c4dff48a77
--- /dev/null
+++ b/assets/conf/schemas/snippets.sch
@@ -0,0 +1,15 @@
+# XML definition for snippets configurations file
+# CAUTION: Do not modify this file unless you know what you are doing.
+[] $br
+[] $br
+
+ $br
+
+%if {snippet} %then
+ {snippet}
+%end
+
+ $br
diff --git a/assets/conf/schemas/sql-history.sch b/assets/conf/schemas/sql-history.sch
new file mode 100644
index 0000000000..639e1d27e8
--- /dev/null
+++ b/assets/conf/schemas/sql-history.sch
@@ -0,0 +1,15 @@
+# XML definition for SQL history configurations file
+# CAUTION: Do not modify this file unless you know what you are doing.
+[] $br
+[] $br
+
+ $br
+
+%if {commands} %then
+ {commands}
+%end
+
+ $br
diff --git a/assets/conf/schemas/widget.sch b/assets/conf/schemas/widget.sch
new file mode 100644
index 0000000000..fda87da958
--- /dev/null
+++ b/assets/conf/schemas/widget.sch
@@ -0,0 +1,46 @@
+# XML definition for files opened on a session
+# CAUTION: Do not modify this file unless you know what you are doing.
+$tb [ $br
diff --git a/assets/conf/snippets.conf b/assets/conf/snippets.conf
new file mode 100644
index 0000000000..fa4075ff22
--- /dev/null
+++ b/assets/conf/snippets.conf
@@ -0,0 +1,905 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/conf/sql-highlight.conf b/assets/conf/sql-highlight.conf
new file mode 100644
index 0000000000..a7df28cc4c
--- /dev/null
+++ b/assets/conf/sql-highlight.conf
@@ -0,0 +1,538 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/conf/ui-style.conf b/assets/conf/ui-style.conf
new file mode 100644
index 0000000000..7fe53d6774
--- /dev/null
+++ b/assets/conf/ui-style.conf
@@ -0,0 +1,481 @@
+/* Specific fixes for Fusion style (Qt5 built-in).
+ May be removed when new styles are available. */
+
+QWidget::disabled {
+ color: #707070;
+}
+
+QToolTip {
+ padding: 1px;
+}
+
+CodeCompletionWidget > QWidget
+{
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffffff , stop: 1 #E6E6E6);
+ border: 1px solid #c0a0a0a0;
+ border-radius: 2px;
+}
+
+BaseForm, MessageBox, ConfigurationForm, ModelExportForm, ModelDatabaseDiffForm, DatabaseImportForm {
+ padding-bottom: 2px;
+}
+
+UpdateNotifierWidget > QFrame
+{
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffffff , stop: 1 #E6E6E6);
+ border: 1px solid #c0a0a0a0;
+ border-radius: 5px;
+}
+
+AboutWidget > QFrame > QLabel#title_lbl,
+AboutWidget > QFrame > QLabel#about_lbl,
+AboutWidget > QFrame > QLabel#build_lbl,
+AboutWidget > QFrame > QLabel#copyright_lbl {
+ color: #000;
+}
+
+AboutWidget > QFrame > QLabel#pgmodeler_ver_lbl {
+ color: #4C7DD0;
+}
+
+DonateWidget > QFrame > QLabel#title_lbl,
+DonateWidget > QFrame > QLabel#message_lbl {
+ color: #000;
+}
+
+AboutWidget > QFrame#frame
+{
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffffff , stop: 1 #E6E6E6);
+ border: 1px solid #c0a0a0a0;
+ border-radius: 5px;
+}
+
+DonateWidget > QFrame
+{
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffffff , stop: 1 #E6E6E6);
+ border: 1px solid #c0a0a0a0;
+ border-radius: 5px;
+}
+
+BaseForm > QWidget#buttons_wgt > QPushButton {
+ padding: 5px;
+}
+
+QTreeView#output_trw::Item {
+ min-height: 22px;
+}
+
+NewObjectOverlayWidget > QFrame {
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 #f0f0f0f0, stop: 1 #f0ffffff);
+ border: 1px solid #f0a0a0a0;
+ border-radius: 6px
+}
+
+NewObjectOverlayWidget > QFrame > QGroupBox > QWidget > QToolButton
+{
+ color: #000;
+ font-style: italic;
+ border-radius: 6px;
+ min-width: 110px
+}
+
+NewObjectOverlayWidget > QFrame > QGroupBox > QWidget > QToolButton:hover
+{
+ font-weight: bold;
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 #80e0e0e0 , stop: 1 #80ffffff);
+ border: 1px solid #c0a0a0a0;
+ color: #000;
+}
+
+
+NewObjectOverlayWidget > QFrame > QGroupBox > QWidget > QToolButton:pressed
+{
+ background-color: #80023d86;
+ border: 1px solid #012149;
+ color: #fff;
+}
+
+QWidget#bg_widget {
+ background-image: url(':/styles/styles/centralwgt_bg.png');
+ background-repeat: repeat-xy;
+}
+
+QMenuBar {
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6394DE, stop: 1 #4C7DD0);
+ border: transparent;
+}
+
+QMenuBar::item {
+ border: transparent;
+ color: #fff;
+ padding-left: 5px;
+ padding-right: 5px;
+ padding-top: 3px;
+ padding-bottom: 3px;
+}
+
+QMenuBar::item:selected {
+ background-color: #436EBA;
+ border: 1px solid #395EA0;
+}
+
+QMenuBar::item:pressed {
+ background-color: #4C7DD0;
+ border-left: 1px solid #436EBA;
+ border-top: 1px solid #436EBA;
+ border-right: 1px solid #6394DE;
+ border-bottom: 1px solid #6394DE;
+ color: #000;
+}
+
+QMenuBar::item:disabled {
+ color: #505050;
+}
+
+QToolBar#general_tb {
+ background-image: url(":/styles/styles/toolbar_bg.png");
+ background-repeat: repeat-y;
+ border-bottom: 1px solid #505050;
+ padding: 0;
+ margin: 0;
+}
+
+QToolBar#general_tb > QToolButton::menu-indicator
+{
+ image: url(":/styles/styles/h_menu_indicator.png");
+ subcontrol-position: right center;
+}
+
+QToolBar#control_tb > QToolButton::menu-indicator
+{
+ border: transparent;
+}
+
+WelcomeWidget > QToolButton
+{
+ border: transparent;
+ background-color: transparent;
+ color: #fff;
+}
+
+WelcomeWidget > QToolButton::disabled
+{
+ background-color: transparent;
+}
+
+WelcomeWidget > QToolButton::menu-indicator
+{
+ border: transparent;
+}
+
+QToolBar#general_tb > QToolButton
+{
+ color: #f0f0f0;
+ min-width: 65px;
+ margin-bottom: 2px;
+ margin-top: 2px;
+ margin-left: 3px;
+ margin-right: 3px;
+}
+
+QToolBar#general_tb
+{
+ border-right: 1px solid #202020;
+}
+
+QToolBar#general_tb::separator
+{
+ background-color: #80404040;
+ border-top: 1px solid #202020;
+ border-left: 1px solid #202020;
+ border-right: 1px solid #606060;
+ border-bottom: 1px solid #606060;
+ height: 1px;
+}
+
+QToolBar#general_tb > QToolButton#qt_toolbar_ext_button
+{
+ min-height: 20px;
+}
+
+QToolTip,
+QToolBar#general_tb > QToolButton:hover,
+WelcomeWidget > QToolButton:hover,
+QToolBar#general_tb > QToolButton#qt_toolbar_ext_button
+{
+ color: #fff;
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 #80606060 , stop: 1 #80A0A0A0);
+ border-top: 1px solid qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #A0A0A0 , stop: 1 #606060);
+ border-left: 1px solid qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #A0A0A0 , stop: 1 #606060);
+ border-right: 1px solid #808080;
+ border-bottom: 1px solid #606060;
+}
+
+QToolBar#general_tb > QToolButton:checked,
+QToolBar#general_tb > QToolButton:pressed,
+WelcomeWidget > QToolButton:pressed,
+QToolBar#general_tb > QToolButton#qt_toolbar_ext_button:hover,
+QToolBar#general_tb > QToolButton#qt_toolbar_ext_button:pressed
+{
+ color: #fff;
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 #804aa5ff , stop: 1 #8081cdff);
+ border-top: 1px solid qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #48a5fc , stop: 1 #3a86cc);
+ border-left: 1px solid qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #48a5fc , stop: 1 #3a86cc);
+ border-right: 1px solid #3a86cc;
+ border-bottom: 1px solid #3a86cc;
+}
+
+WelcomeWidget > QToolButton:disabled
+{
+ color: #404040;
+}
+
+QToolBar#general_tb > QToolButton:disabled
+{
+ color: #808080;
+}
+
+QToolBar#control_tb {
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffffff , stop: 1 #E6E6E6);
+ border: 1px solid #808080;
+ min-height: 38px;
+}
+
+QToolBar#control_tb > QToolButton
+{
+ min-width: 25px;
+ max-width: 25px;
+ max-height: 25px;
+ padding: 1px;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ margin-left: 2px;
+ margin-right: 2px;
+ border:transparent;
+}
+
+ModelNavigationWidget > QToolButton
+{
+ min-width: 25px;
+ max-width: 25px;
+ max-height: 25px;
+ padding: 1px;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ margin-left: 0px;
+ margin-right: 0px;
+ border:transparent;
+}
+
+QToolBar#control_tb > QToolButton:hover, ModelNavigationWidget > QToolButton:hover
+{
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #1E65AB, stop: 1 #257BD1);
+ border: 1px solid #175089;
+ border-radius: 2px;
+ padding: 1;
+ margin-top: 2px;
+ margin-bottom: 2px;
+}
+
+QToolBar#control_tb > QToolButton:checked, ModelNavigationWidget > QToolButton:checked
+{
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #606060, stop: 1 #A0A0A0);
+ border-color: #808080;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ border-radius: 2px;
+ padding: 1;
+}
+
+QToolBar#control_tb::separator {
+ width: 2px;
+ background: url(":/styles/styles/h_separator.png");
+ margin-left: 2px;
+ margin-right: 2px;
+}
+
+QToolBar#update_tb {
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffffff , stop: 1 #E6E6E6);
+ border-left: transparent;
+ margin-left: 0;
+ border-color: #808080;
+}
+
+QToolBar#update_tb > QToolButton
+{
+ min-width: 25px;
+ max-width: 200px;
+ padding: 2px;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ margin-left: 2px;
+ margin-right: 2px;
+ border:transparent;
+}
+
+QToolBar#update_tb > QToolButton:hover
+{
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #1E65AB, stop: 1 #257BD1);
+ border: 1px solid #113A63;
+ border-radius: 2px;
+ color: #ffffff
+}
+
+QToolBar#update_tb > QToolButton:checked
+{
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #606060, stop: 1 #A0A0A0);
+ border: 1px solid #404040;
+ padding: 2px;
+ margin-top: 3px;
+ margin-bottom: 3px;
+ border-radius: 2px;
+ color: #ffffff
+}
+
+QToolBar#update_tb::separator {
+ width: 2px;
+ background: url(":/styles/styles/h_separator.png");
+ margin-left: 0px;
+ margin-right: 2px;
+}
+
+QTabWidget#models_tbw::pane {
+ border-top: transparent;
+}
+
+QTabWidget#models_tbw::tab-bar {
+ top: 3px;
+ left: 5px;
+}
+
+QTabWidget#models_tbw > QTabBar::close-button {
+ margin-right: 5px;
+ subcontrol-position: right;
+ image: url(':/styles/styles/close_tab.png');
+}
+
+QTabWidget#models_tbw > QTabBar::close-button:hover {
+ image: url(':/styles/styles/close_tab_hover.png');
+}
+
+QTabWidget#models_tbw > QTabBar::tab {
+ border: 1px solid #C4C4C4;
+ text-align: center;
+ min-height: 30px;
+ min-width: 50px;
+ padding-left: 5;
+ padding-right: 5px;
+}
+
+QTabWidget#models_tbw > QTabBar::scroller {
+ width: 20px;
+ border: 1px solid #808080;
+}
+
+QTabWidget#models_tbw > QTabBar QToolButton {
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #FFFFFF , stop: 1 #E6E6E6);
+ border: 0;
+}
+
+
+QTabWidget#models_tbw > QTabBar::tab:!select {
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #D0D0D0, stop: 1 #A0A0A0);
+ color: #808080;
+ border: 1px solid #808080;
+ margin-left: 3px;
+ margin-top: 2px;
+}
+
+QTabWidget#models_tbw > QTabBar::tab:selected {
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 #2374C5 , stop: 1 #47A1FA);
+ color: #fff;
+ border: 1px solid #2C6298;
+ margin-top: 0px;
+}
+
+QTabWidget#databases_tbw > QTabBar::close-button {
+ margin-left: 5px;
+ margin-right: 0px;
+ subcontrol-position: right;
+ width: 16px;
+ height: 16px;
+ image: url(':/styles/styles/close_tab.png');
+}
+
+QTabWidget#databases_tbw > QTabBar::close-button:hover {
+ width: 16px;
+ height: 16px;
+ image: url(':/styles/styles/close_tab_hover.png');
+}
+
+QTabWidget#sql_exec_tbw > QTabBar::close-button {
+ margin-left: 5px;
+ margin-right: 0px;
+ subcontrol-position: right;
+ width: 16px;
+ height: 16px;
+ image: url(':/styles/styles/close_tab.png');
+}
+
+QTabWidget#sql_exec_tbw > QTabBar::close-button:hover {
+ width: 16px;
+ height: 16px;
+ image: url(':/styles/styles/close_tab_hover.png');
+}
+
+QWidget#menu_title_wgt {
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffffff , stop: 1 #E6E6E6);
+ border: 1px solid #c0a0a0a0;
+}
+
+/* DataManipulationForm styles */
+QWidget#bnts_parent_wgt {
+ background-image: url(":/styles/styles/toolbar_bg.png");
+ background-repeat: repeat-y;
+ border: 1px solid #202020;
+ padding: 0;
+ margin: 0;
+}
+
+QWidget#bnts_parent_wgt > QToolButton
+{
+ color: #fff;
+ margin-left: 3px;
+ margin-right: 3px;
+}
+
+QWidget#bnts_parent_wgt > QToolButton:disabled
+{
+ color: #808080;
+}
+
+QWidget#bnts_parent_wgt > QToolButton:hover
+{
+ color: #fff;
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 #80606060 , stop: 1 #80A0A0A0);
+ border-top: 1px solid qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #A0A0A0 , stop: 1 #606060);
+ border-left: 1px solid qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #A0A0A0 , stop: 1 #606060);
+ border-right: 1px solid #808080;
+ border-bottom: 1px solid #606060;
+}
+
+QWidget#bnts_parent_wgt > QToolButton:checked,
+QWidget#bnts_parent_wgt > QToolButton:pressed
+{
+ color: #fff;
+ background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 1, stop: 0 #804aa5ff , stop: 1 #8081cdff);
+ border-top: 1px solid qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #48a5fc , stop: 1 #3a86cc);
+ border-left: 1px solid qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #48a5fc , stop: 1 #3a86cc);
+ border-right: 1px solid #3a86cc;
+ border-bottom: 1px solid #3a86cc;
+}
+
+QWidget#bnts_parent_wgt > QFrame
+{
+ background-color: #80404040;
+ border-top: 1px solid #202020;
+ border-left: 1px solid #202020;
+ border-right: 1px solid #606060;
+ border-bottom: 1px solid #606060;
+ height: 1px;
+}
diff --git a/assets/conf/xml-highlight.conf b/assets/conf/xml-highlight.conf
new file mode 100644
index 0000000000..dd787fce06
--- /dev/null
+++ b/assets/conf/xml-highlight.conf
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/lang/es_ES.qm b/assets/lang/es_ES.qm
new file mode 100644
index 0000000000..782ea80bfc
Binary files /dev/null and b/assets/lang/es_ES.qm differ
diff --git a/assets/lang/es_ES.ts b/assets/lang/es_ES.ts
new file mode 100644
index 0000000000..b660d87d73
--- /dev/null
+++ b/assets/lang/es_ES.ts
@@ -0,0 +1,14150 @@
+
+
+
+
+ AboutWidget
+
+
+ About pgModeler
+ Acerca de pgModeler
+
+
+
+ 0.0.0
+ 0.0.0
+
+
+
+ build:
+
+
+
+
+ PostgreSQL Database Modeler
+ Modelador para Bases de Datos PostgreSQL
+
+
+
+ Open source data modeling tool designed for PostgreSQL. No more DDL commands written by hand, let pgModeler do the job for you! This software reunites the concepts of entity-relationship diagrams and the features that PostgreSQL implements as extensions of SQL standards.
+ Herramienta de modelado de datos de código abierto diseñada para PostgreSQL. ¡No más comandos de DDL escritos a mano, deje a pgModeler hacer el trabajo para usted! Este software reúne los conceptos de diagramas entidad-relación y las características que PostgreSQL implementa como extensiones de estándares SQL.
+
+
+
+ <html><head/><body><p><a href="http://pgmodeler.com.br"><span style=" text-decoration: underline; color:#2980b9;">https://pgmodeler.io</span></a></p></body></html>
+
+
+
+
+ <html><head/><body><p>Copyright 2006-2018 - Raphael Araújo e Silva <<a href="mailto:raphael@pgmodeler.com.br"><span style=" text-decoration: underline; color:#0057ae;">raphael@pgmodeler.io</span></a>></p></body></html>
+
+
+
+
+ pgModeler is proudly a brazilian software!
+ pgModeler es orgullosamente un programa brasileño!
+
+
+
+ Hide this widget
+ Ocultar este widget
+
+
+
+ ...
+ ...
+
+
+
+ (BUILD_NUM)
+ (NUM_CONSTRUIDO)
+
+
+
+ License
+ Licencia
+
+
+
+ AggregateWidget
+
+
+ Final Function:
+ Función final:
+
+
+
+ Sort Operator:
+ Operador de Ordenación:
+
+
+
+ Initial Condition:
+ Condition Initial:
+
+
+
+ Funtion Inputs
+ Entradas de Funciones
+
+
+
+ Function State
+ Estado de Función
+
+
+
+ Transition Func.:
+ Función de transición:
+
+
+
+ Input Data Type
+ Tipo de Datos de Entrada
+
+
+
+ State Data Type
+ Tipo de Dato de Estado
+
+
+
+ An aggregate function that accepts the types <em><strong>typeA</strong></em> and <em><strong>typeB</strong></em> as input types and which type of state is <em><strong>state_type</strong></em>, must obey the following rules: <br/><br/> <strong> • Final Function:</strong> <em>void final_function(<strong>state_type</strong>)</em><br/> <strong> • Transition Function:</strong> <em><strong>state_type</strong> transition_function(<strong>state_type</strong>, <strong>typeA</strong>, <strong>typeB</strong>)</em>
+ Una función de agregación que acepta los tipos <em><strong>tipoA</strong></em> y <em><strong>tipoB</strong></em> como entrada y cuyo tipo de estado sea <em><strong>tipo_estado</strong></em>, debe obedecer a la seguintes reglas:<br/><br/> <strong> • Función Final:</strong> <em>void funcao_final(<strong>tipo_estado</strong>)</em><br/> <strong> • Función Transición:</strong> <em><strong>tipo_estado</strong> funcao_transicao(<strong>tipo_estado</strong>, <strong>tipoA</strong>, <strong>tipoB</strong>)</em>
+
+
+
+ AppearanceConfigWidget
+
+
+ Form
+ Formulario
+
+
+
+ Element:
+ Elemento:
+
+
+
+ Global: Font style
+ Global: Estilo de fuente
+
+
+
+ Global: Constraints descriptor
+ Global: Descritor de restricciones
+
+
+
+ Global: Object selection
+ Global: Selección de objetos
+
+
+
+ Global: Position hint text
+ Global: Texto informativo de posición
+
+
+
+ Global: Position hint box
+ Global: Cuadro de informativo de la Posición
+
+
+
+ Global: Objects type
+ Global: Tipo de objetos
+
+
+
+ Global: Lock arc
+ Global: Arco de bloqueo
+
+
+
+ Global: Lock body
+ Global: Cuerpo del bloqueo
+
+
+
+ Table: Schema name
+ Tabla: nombre de esquema
+
+
+
+ Table: Table name
+ Tabla: Nombre de tabla
+
+
+
+ Table: Columns box
+ Tabla: Cuadro de columnas
+
+
+
+ Table: Extended attributes box
+ Tabla: Cuadro de atributos extendidos
+
+
+
+ Table: Title box
+ Tabla: Cuadro de título
+
+
+
+ Rule: Name
+ Regra: Nombre
+
+
+
+ Rule: Descriptor
+ Regra: Descriptor
+
+
+
+ Index: Name
+ Índice: Nombre
+
+
+
+ Index: Descriptor
+ Índice: Descriptor
+
+
+
+ Trigger: Name
+ Trigger: Nombre
+
+
+
+ Trigger: Descriptor
+ Trigger: Descriptor
+
+
+
+ Constraint: Name
+
+
+
+
+ Constraint: Descriptor
+
+
+
+
+ View: Schema name
+ Vista: Nombre de esquema
+
+
+
+ View: View name
+ Vista: Nombre de vista
+
+
+
+ View: References box
+ Vista: Cuadro de referéncias
+
+
+
+ View: Extended attributes box
+ Vista: Cuadro de atributos extendidos
+
+
+
+ View: Title box
+ Vista: Cuadro de título
+
+
+
+ View: Table / columns alias
+ Vista: Tabla / columna alias
+
+
+
+ View: Referenced column
+ Vista: Columna referenciada
+
+
+
+ View: Referenced table
+ Vista: Tabla referenciada
+
+
+
+ View: Reference descriptor
+ Vista: Descritor de Referencia
+
+
+
+ Textbox: Body
+ Cuadro de Texto: Cuerpo
+
+
+
+ Column: Column name
+ Columna: Nombre de columna
+
+
+
+ Column: Descriptor
+ Columna: Descritor
+
+
+
+ Column: Included / Inherited by relationship
+ Columna: Incluída / Herendado por relación
+
+
+
+ Column: Protected
+ Columna: Protegida
+
+
+
+ Column (pk): Column name
+ Columna (pk): Nombre de columna
+
+
+
+ Column (pk): Descriptor
+ Columna (fk): Descritor
+
+
+
+ Column (fk): Column name
+ Columna (fk): Nombre de columna
+
+
+
+ Column (fk): Descriptor
+ Columna (fk): Descritor
+
+
+
+ Column (uq): Column name
+ Columna (uq): Nombre de columna
+
+
+
+ Column (uq): Descriptor
+ Columna (uq): Descritor
+
+
+
+ Column (nn): Column name
+ Columna (nn): Nombre de columna
+
+
+
+ Column (nn): Descriptor
+ Columna (nn): Descritor
+
+
+
+ Relationship: Descriptor
+ Relación: Descritor
+
+
+
+ Relationship: Label text
+ Relación: Texto etiqueta
+
+
+
+ Relationship: Label box
+ Relación: Cuadro etiqueta
+
+
+
+ Relationship: Attribute text
+ Relación: Texto del atributo
+
+
+
+ Relationship: Attribute descriptor
+ Relación: Descritor del atributo
+
+
+
+ Tag: Name
+ Tag: Nombre
+
+
+
+ Tag: Body
+ Tag: Cuerpo
+
+
+
+ Placeholder: Body
+
+
+
+
+ Font:
+ Fuente:
+
+
+
+ Colors:
+ Colores:
+
+
+
+ pt
+ pt
+
+
+
+ Underline
+ Subrayar
+
+
+
+ Italic
+ Itálico
+
+
+
+ Bold
+ Negrito
+
+
+
+ Application
+
+
+ Unknown exception caught!
+ Excepción desconocida capturada!
+
+
+
+ Failed to create initial configuration in `%1'! Check if the current user has write permission over that path and at least read permission over `%2'.
+ No se pudo crear la configuración inicial en `%1'! Compruebe si el usuario actual tiene permiso de escritura sobre ese camino y al menos permiso de lectura sobre `%2'.
+
+
+
+ BaseConfigWidget
+
+
+ A backup of the previous settings was saved into <strong>%1</strong>!
+ Se guardó una copia de seguridad de la configuración anterior en <strong>%1</strong>!
+
+
+
+ BaseForm
+
+
+ Dialog
+ Dialogo
+
+
+
+
+ &Apply
+ &Aplicar
+
+
+
+ &Cancel
+ &Cancelar
+
+
+
+ &Ok
+ &Ok
+
+
+
+ %1 properties
+ %1 propiedades
+
+
+
+ BaseObject
+
+
+ Column
+ Columna
+
+
+
+ Constraint
+ Restricción
+
+
+
+ Function
+ Función
+
+
+
+ Trigger
+ Trigger
+
+
+
+ Index
+ Índice
+
+
+
+ Rule
+ Regla
+
+
+
+ Table
+ Tabla
+
+
+
+ View
+ Vista
+
+
+
+ Domain
+ Domínio
+
+
+
+ Schema
+ Esquema
+
+
+
+ Aggregate
+ Agregado
+
+
+
+ Operator
+ Operador
+
+
+
+ Sequence
+ Secuencia
+
+
+
+ Role
+ Rol
+
+
+
+ Conversion
+ Conversión
+
+
+
+ Cast
+ Cast
+
+
+
+ Language
+ Lenguaje
+
+
+
+ Type
+ Tipo
+
+
+
+ Tablespace
+ Tablespace
+
+
+
+ Operator Family
+ Família de Operadores
+
+
+
+ Operator Class
+ Operador de Clases
+
+
+
+ Database
+ Base de Dados
+
+
+
+ Collation
+ Colación
+
+
+
+ Extension
+ Extensión
+
+
+
+ Event Trigger
+ Evento Trigger
+
+
+
+ Relationship
+ Relación
+
+
+
+ Policy
+
+
+
+
+ Textbox
+ Cuadro de Texto
+
+
+
+ Permission
+ Permisos
+
+
+
+ Parameter
+ Parámetro
+
+
+
+ Type Attribute
+ Tipo atributo
+
+
+
+ Tag
+ Tag
+
+
+
+ Basic Relationship
+ Relación básica
+
+
+
+ Generic SQL
+
+
+
+
+ new_object
+
+ nuevo_objecto
+
+
+
+
+
+ BaseObjectView
+
+
+ SQL off
+ SQL off
+
+
+
+ BaseObjectWidget
+
+
+ Name:
+ Nombre:
+
+
+
+ Comment:
+ Comentario:
+
+
+
+ Tablespace:
+ Tablespace:
+
+
+
+ Schema:
+ Esquema:
+
+
+
+ Edit object's permissions
+ Editar permisos del objeto
+
+
+
+ Edit permissions
+ Editar permisos
+
+
+
+ This object is protected thus no change in form will be applied to it.
+
+
+
+
+ Disables the generated SQL code using comment tokens (--).
+This will disable the code of all child and referrer objects.
+ Desactiva el código SQL generado utilizando fichas comentario (-).
+Esto desactivará el código de todos los objetos secundarios y referenciales.
+
+
+
+ Disable SQL code
+ Desactivar Código SQL
+
+
+
+ Collation:
+ Colación:
+
+
+
+ Append or prepend a set of SQL commands to the object's definition.
+ Anexar o anteponer un conjunto de comandos SQL para la definicióno bjeto's.
+
+
+
+ Custom SQL
+ SQL personalizado
+
+
+
+ Owner:
+ Propietario:
+
+
+
+ ID:
+ ID:
+
+
+
+ icone
+ icone
+
+
+
+ Required field. Leaving this empty will raise errors!
+ Campo requerido. Dejando este vacío elevará errores!
+
+
+
+ Value(s)
+ Valor(es)
+
+
+
+ Version
+ Versión
+
+
+
+ The <em style='color: %1'><strong>highlighted</strong></em> fields in the form or one of their values are available only on specific PostgreSQL versions. Generating SQL code for versions other than those specified in the fields' tooltips may create incompatible code.
+ Los campos <em style ='color: %1'><strong>resaltados</strong></em> en el formulario o uno de sus valores sólo están disponibles en versiones específicas de PostgreSQL.
+ Generar código SQL para versiones distintas a las especificadas en las sugerencias de los campos puede crear código incompatible.
+
+
+
+ BaseRelationship
+
+
+ rel_%1_%2
+ rel_%1_%2
+
+
+
+ BaseTableView
+
+
+ Toggles the extended attributes display
+
+
+
+
+ Connected rels: %1
+ Rels conectados: %1
+
+
+
+ BugReportForm
+
+
+ Bug Report
+ Informe Bug
+
+
+
+ Bug report
+ Informe bug
+
+
+
+ Create
+ Crear
+
+
+
+ &Cancel
+ &Cancel
+
+
+
+ Use the form below to generate a complete bug report. Please, try to be as clear as possible when describing the actions that can reproduce the bug. Additionally, it's important to attach a sample database model so that the bug can be quickly discovered and fixed!
+ Utilice el formulario de abajo para generar un informe completo error. Por favor, trate de ser lo más claro posible al describir las acciones que pueden reproducir el error. Adicionalmente, es importante adjuntar un modelo de base de datos de muestra para que el error puede ser descubierto y se fija rápidamente!
+
+
+
+ Report
+ Reporte
+
+
+
+ Issue details
+ Detalles del problema
+
+
+
+ Output:
+ Salida:
+
+
+
+ Select the report's output folder
+ Seleccione la carpeta de destino del informes
+
+
+
+
+ ...
+ ...
+
+
+
+ <html><head/><body><p>If you prefer it's possible to report this issue anytime on pgModeler's project repository at <a href="http://github.com/pgmodeler/pgmodeler/issues"><span style=" text-decoration: underline; color:#0057ae;">GitHub</span></a>. </p></body></html>
+ <html><head/><body><p>Si lo prefiere, se pueden informar de este tema en cualquier momento en repositorio del proyecto de pgModeler en <a href="http://github.com/pgmodeler/pgmodeler/issues"><span style=" text-decoration: underline; color:#0057ae;">GitHub</span></a>. </p></body></html>
+
+
+
+ Database Model
+ Base de datos del modelo
+
+
+
+ Attach the below database model file to be debugged.
+ Adjunte el archivo de modelo de base de datos de abajo para depurar.
+
+
+
+ Attach a different database model
+ Adjunte un modelo de base de datos diferente
+
+
+
+ Bug report successfuly generated! Please, send the file <strong>%1</strong> to <em>%2</em> in order be analyzed. Thank you for the collaboration!
+ Informe de error generado exitosamente! Por favor, enviar el archivo <strong>%1</strong> para <em>%2</em> con el fin de analizar. Gracias por la colaboración!
+
+
+
+ Load model
+ cargar modelo
+
+
+
+ Database model (*.dbm);;All files (*.*)
+ Modelo de base de datos (*.dbm);;Todos los Archivos (*.*)
+
+
+
+ Select report output folder
+ Seleccione carpeta de destino del informe
+
+
+
+ BulkDataEditWidget
+
+
+ Bulk data edit
+
+
+
+
+ CastWidget
+
+
+ I&mplicit
+ I&mplícito
+
+
+
+ Assignment
+ Asignación
+
+
+
+ Input / Output
+ Entrada / Salida
+
+
+
+ Conversion Func.:
+ Func. de conversión:
+
+
+
+ Cast Type:
+ Tipo de Conversión:
+
+
+
+ E&xplicit
+ E&xplícito
+
+
+
+ Source data type
+ Tipo de datos origen
+
+
+
+ Target data type
+ Tipo de datos destino
+
+
+
+ The function to be assigned to a cast from <em><strong>typeA</strong></em> to <em><strong>typeB</strong></em> must have the following signature: <em><strong>typeB</strong> function(<strong>typeA</strong>, integer, boolean)</em>.
+ La función que se asignará a una conversión de <em><strong>typeA</strong></em> a <em><strong>typeB</strong></em> debe tener la siguiente firma: <em><strong>typeB</strong> function(<strong>typeA</strong>, integer, boolean)</em>.
+
+
+
+ CodeCompletionWidget
+
+
+ Make &persistent
+
+
+
+
+ Makes the widget closable only by ESC key or mouse click on other controls.
+ Hace que el widget se puede cerrar solamente por tecla ESC o clic del ratón sobre otros controles.
+
+
+
+ SQL Keyword
+ Palabra clave SQL
+
+
+
+ (no items found.)
+ (No se encontraron items.)
+ (No se encontró ninguna.)
+
+
+
+ CollationWidget
+
+
+ Locale:
+ Local:
+
+
+
+ Encoding:
+ Codificación:
+
+
+
+ LC_COLLATE:
+ LC_COLLATE:
+
+
+
+ LC_CTYPE:
+ LC_CTYPE:
+
+
+
+ The fields <strong><em>Collation</em></strong>, <strong><em>Locale</em></strong>, <strong><em>LC_COLLATE & LC_CTYPE</em></strong> are mutually exclusive, so you have to set only one of them in order to properly handle a collation.
+ Los campos <strong><em>Collation</em></strong>, <strong><em>Locale</em></strong>, <strong><em>LC_COLLATE & LC_CTYPE</em></strong> son mutuamente excluyentes, así que tienes que configurar sólo uno de ellos con el fin de manejar adecuadamente una colación.
+
+
+
+
+ Not defined
+ No definido
+
+
+
+ ColorPickerWidget
+
+
+ Form
+ Formulario
+
+
+
+ Generate random color(s)
+ Generar color(es) al azar
+
+
+
+ Alt+R
+ Alt+R
+
+
+
+ Select color
+ Seleccionar colores
+
+
+
+ ColumnWidget
+
+
+ Default Value:
+ Valor por Defecto:
+
+
+
+ Edit the underlying sequence's attributes
+
+
+
+
+ Edit sequence
+
+
+
+
+ Identity:
+
+
+
+
+ E&xpression:
+ E&xpresión:
+
+
+
+ &NOT NULL
+
+
+
+
+ Se&quence:
+
+
+
+
+ ConfigurationForm
+
+
+ pgModeler Configuration
+ Configuración del pgModeler
+
+
+
+ General
+ General
+
+
+
+ Relationships
+ Relaciones
+
+
+
+ Appearance
+ Apariencia
+
+
+
+ Connections
+ Conexiones
+
+
+
+ Snippets
+ Snippets
+
+
+
+ Plug-ins
+ Plug-ins
+
+
+
+ Defaults
+ Valores por Defecto
+
+
+
+ &Apply
+ &Aplicar
+
+
+
+ &Cancel
+ &Cancelar
+
+
+
+ In some cases restore the default settings related to it may solve the problem. Would like to do that?
+ En algunos casos, restaurar la configuración predeterminada relacionada con él puede resolver el problema. ¿Le gustaría hacer eso?
+
+
+
+ Restore
+ Restaurar
+
+
+
+ Any modification made until now in the current section will be lost! Do you really want to restore default settings?
+ Cualquier modificación realizada hasta ahora en la sección actual se perderá! ¿Realmente desea restaurar la configuración predeterminada?
+
+
+
+ ConnectionsConfigWidget
+
+
+ Password:
+ Contraseña:
+
+
+
+ Connection Alias:
+ Alias de Conexión:
+
+
+
+ Connection DB:
+ BD Conexión:
+
+
+
+ Host/Port:
+ Host/Puerto:
+
+
+
+ User:
+ Usuario:
+
+
+
+ Timeout:
+ Timeout:
+
+
+
+ SSL Mode:
+ Modo SSL:
+
+
+
+ Disable
+ Desactivado
+
+
+
+ Diff
+ Diff
+
+
+
+ Export
+ Exportar
+
+
+
+ Import
+ Importar
+
+
+
+ Validation
+ Validación
+
+
+
+ Security
+ Seguridad
+
+
+
+ Allow
+ Permitir
+
+
+
+ Require
+ Requerido
+
+
+
+ AC verification
+ Verificación de AC
+
+
+
+ Full verification
+ Verificación Completa
+
+
+
+ Kerberos Server:
+ Servidor Kerberos:
+
+
+
+ Client Certificate:
+ Certificado Cliente:
+
+
+
+ Revoked Certs.:
+ Cert. Revocados:
+
+
+
+ Client Key:
+ Clave Cliente:
+
+
+
+ Root Certificate:
+ Certificado Root:
+
+
+
+ ~/.postgresql/root.crt
+ ~/.postgresql/root.crt
+
+
+
+ Connections:
+ Conexiones:
+
+
+
+ second(s)
+ segundo(s)
+
+
+
+ Force GSSAPI
+ Forzar a GSSAPI
+
+
+
+ ~/.postgresql/postgresql.crt
+ ~/.postgresql/postgresql.crt
+
+
+
+ Add
+ Añadir
+
+
+
+ Update
+ Actualizar
+
+
+
+ Test
+ Testear
+
+
+
+ ~/.postgresql/root.crl
+ ~/.postgresql/root.crl
+
+
+
+ ~/.postgresql/postgresql.key
+ ~/.postgresql/postgresql.key
+
+
+
+ Create new connection
+ Crear nueva conexión
+
+
+
+
+ Edit database connections
+ Editar conexiones de base de datos
+
+
+
+ Cancel edition
+ Cancelar edición
+
+
+
+ Duplicate the selected connection
+ Duplicar la conexión seleccionada
+
+
+
+ Edit selected connection
+ Editar conexión seleccionada
+
+
+
+ Delete selected connection
+ Eliminar conexión seleccionada
+
+
+
+ General
+ General
+
+
+
+ Other params:
+ Otros parámetros:
+
+
+
+ Specify additional connection parameters in the form [param]=[value]. These parameters are described in the <strong>libpq</strong> chapter at PostgreSQL docs.
+ Especifique los parámetros de conexión adicionales en la forma [param]=[valor]. Estos parámetros se describen en el capítulo <strong> libpq </strong> en la documentación de PostgreSQL.
+
+
+
+ Default for:
+
+
+
+
+ Automatically browses the named database when using this connection to manage databases on <strong>Manage</strong> view.
+ Busca automáticamente la base de datos llamada cuando se utiliza esta conexión para administrar bases de datos en la vista <strong>Manage</strong>.
+
+
+
+ Auto browse
+ Auto explorar
+
+
+
+ Indicates in which operations (diff, export, import or validation) the connection is used if none is explicitly specified by the user.
+
+
+
+
+ Success
+ Éxito
+
+
+
+ Connection successfully established!
+
+Server details:
+
+PID: `%1'
+Protocol: `%2'
+Version: `%3'
+
+
+
+
+ There is a connection being created or edited! Do you want to save it?
+ ¡Hay una conexión que se está creando o editando! ¿Desea guardarla?
+
+
+
+ Found %1 connection(s)
+ Se encontró %1 conexión(es)
+
+
+
+ No connections found
+ No se encontraron conexiones
+
+
+
+ Edit connections
+ Editar conexiones
+
+
+
+ ConstraintWidget
+
+
+ Match:
+ Partida:
+
+
+
+ Constraint Type:
+ Tipo de Restricción:
+
+
+
+ This attribute cannot be changed once the object is created.
+ Este atributo no se puede cambiar una vez que se crea el objeto.
+
+
+
+ Expression:
+ Expresión:
+
+
+
+ Deferrable:
+ Diferible:
+
+
+
+ Deferral:
+ Diferimiento:
+
+
+
+ ON DELETE:
+ ON DELETE:
+
+
+
+ ON UPDATE:
+ ON UPDATE:
+
+
+
+ No inherit:
+ No se hereda:
+
+
+
+ Exclude Elements
+ Excluir Elementos
+
+
+
+ Columns
+ Columnas
+
+
+
+
+ Column:
+ Columna:
+
+
+
+ Referenced Columns
+ Columnas Referenciadas
+
+
+
+ Table:
+ Tabla:
+
+
+
+ Indexing:
+ Indexación:
+
+
+
+ Fill Factor:
+ Factor Rellen.:
+
+
+
+
+ Column
+ Column
+
+
+
+
+ Type
+ Tipo
+
+
+
+ Columns which were included by relationship can not be added / removed manually from the primary key. If done such changes they can raise errors. To create primary key using columns included by relationship use the following options: identifier field, attributes & constraints tab or primary key tab on the relationship form.
+ Las columnas que se incluyeron por la relación no se pueden añadir / retirado manualmente de la clave principal. Si se hace este tipo de cambios que pueden elevar los errores. Para crear la clave primaria utilizando columnas incluidas por relación utilizar las siguientes opciones: campo de identificador, atributos & limitaciones ficha o pestaña clave principal en el formulario de la relación.
+
+
+
+ ConversionWidget
+
+
+ Source Encoding:
+ Codificación Fuente:
+
+
+
+ Target Encoding:
+ Codificación Destino:
+
+
+
+ Conversion Func.:
+ Func. Conversión:
+
+
+
+ Default Conversion:
+ Conversión por Defecto:
+
+
+
+ The function to be assigned to an encoding conversion must have the following signature: <em>void function(integer, integer, cstring, internal, integer)</em>.
+ La función que se asigna a una conversión de codificación debe tener la siguiente firma: <em>void función(integer, integer, cstring, internal, integer)</em>.
+
+
+
+ CrashHandlerForm
+
+
+ Crash Handler
+ Accidente del Handler
+
+
+
+ Stack trace
+ Pila de traza
+
+
+
+ Input:
+ Entrada:
+
+
+
+ Load report file for analysis
+ Cargando archivos de reporte para el análisis
+
+
+
+ Save the attached model file on the filesystem
+ Guarde el archivo de modelo que se adjunta en el sistema de archivos
+
+
+
+ pgModeler bug report (*.bug);;All files (*.*)
+ Reporte de Bog del pgModeler (*.bug);;Todos los archivos (*.*)
+
+
+
+ Load report
+ Cargando reporte
+
+
+
+ Save model
+ Salvar modelo
+
+
+
+ Database model (*.dbm);;All files (*.*)
+ Modelo de Bases de Datos (*.dbm);;Todos los archivo (*.*)
+
+
+
+ Crash handler
+ Accidente del Handler
+
+
+
+ Bug report analysis mode activated.
+ Modo de análisis para informar de fallos activada.
+
+
+
+ Oops! pgModeler just crashed!
+ ¡Huy! pgModeler simplemente cayó!
+
+
+
+ We apologize for what happened! It is clear that a nasty bug caused that. Please fill out the form below describing your actions before pgModeler quit unexpectedly. This will help on bug extermination and improve the software.
+ ¡Pedimos disculpas por lo ocurrido! Es evidente que un error desagradable ha causado eso. Rellene el siguiente formulario para describir sus acciones antes de que pgModeler se cierre inesperadamente. Esto ayudará en la exterminación de errores y mejorará el software.
+
+
+
+ CsvLoadWidget
+
+
+ Form
+ Formulario
+
+
+
+ Load CSV
+ Cargar CSV
+
+
+
+ CSV File:
+ Archivo CSV:
+
+
+
+ Select output file
+ Seleccionar archivo de salida
+
+
+
+ ...
+ ...
+
+
+
+ Separator:
+ Separador:
+
+
+
+ Use the first row as column names in the CSV file. By unchecking this option the first row is used as data.
+
+
+
+
+ Columns in the first row
+
+
+
+
+ Load
+ Cargar
+
+
+
+ Semicolon (;)
+
+
+
+
+ Comma (,)
+
+
+
+
+ Space
+ Espacio
+
+
+
+ Tabulation
+
+
+
+
+ Other
+
+
+
+
+ ;
+
+
+
+
+ Text delimiter:
+
+
+
+
+ "
+
+
+
+
+ Load CSV file
+
+
+
+
+ Comma-separted values (*.csv);;All files (*.*)
+
+
+
+
+ CustomSQLWidget
+
+
+ Add custom SQL code
+
+
+
+
+ SQL code
+ Código SQL
+
+
+
+ Puts an SELECT command template at current cursor position.
+ Pone un comando SELECT en una plantilla en la posición actual de cursor.
+
+
+
+ &SELECT
+ &SELECT
+
+
+
+ Puts an INSERT command template at current cursor position.
+ Pone un comando INSERT en una plantilla en la posición actual de cursor.
+
+
+
+ &INSERT
+ &INSERT
+
+
+
+ Puts an UPDATE command template at current cursor position.
+ Pone un comando UPDATE en una plantilla en la posición actual de cursor.
+
+
+
+ &UPDATE
+ &UPDATE
+
+
+
+ Puts an DELETE command template at current cursor position.
+ Pone un comando DELETE en una plantilla en la posición actual de cursor.
+
+
+
+ &DELETE
+ &DELETE
+
+
+
+ &Clear
+ &Borrar
+
+
+
+ Append SQL
+ Adjuntar SQL
+
+
+
+
+ Append the SQL code at the very end of model definition.
+Unchecking this will cause the SQL to be appended at the end of CREATE DATABASE command.
+ Anexe el código SQL en el final de la determinación del modelo.
+Desmarcando esto hará que el SQL que se adjunta al final del mandato CREATE DATABASE.
+
+
+
+ Append at end of model definition.
+ Adjuntar al final de la definición del modelo.
+
+
+
+ Prepend SQL
+ Prefijar SQL
+
+
+
+ Prepend at beginning of model definition.
+ Prefijar al comienzo de la determinación del modelo.
+
+
+
+ <html><head/><body><p>Use custom commands with extreme caution because you can change the semantics of the entire model when running SQL validation or export processes. Additionally, depending on the amount of commands, those processes can have their performance sensibly degradated.</p></body></html>
+ <html><head/><body><p>Utilice comandos personalizados con extrema precaución ya que puede cambiar la semántica de todo el modelo cuando se ejecutan los procesos de validación de SQL o de exportación. Además, dependiendo de la cantidad de comandos, esos procesos pueden tener su rendimiento sensiblemente degrada.</p></body></html>
+
+
+
+ Generic INSERT
+ INSERT genérico
+
+
+
+ Include serial columns
+ Incluir columnas serial
+
+
+
+ Exclude serial columns
+ Excluir columnas serial
+
+
+
+ Generic SELECT
+ SELECT genérico
+
+
+
+ Table SELECT
+ SELECT tabla
+
+
+
+ Generic UPDATE
+
+
+
+
+ Table UPDATE
+ UPDATE genérico
+
+
+
+ Generic DELETE
+ DELETE genérico
+
+
+
+ Table DELETE
+ DELETE tabla
+
+
+
+ DataManipulationForm
+
+
+ Data Manipulation
+ Manipulación de Datos
+
+
+
+ &Close
+ &Cerrar
+
+
+
+ Refresh listing
+ Refrescar listado
+
+
+
+ F5
+ F5
+
+
+
+ Save changes
+ Salvar cambios
+
+
+
+ Ctrl+S
+ Ctrl+S
+
+
+
+ Export results to CSV file
+ Exportar resultados a archivo CSV
+
+
+
+ Ctrl+X
+ Ctrl+X
+
+
+
+ Undo modifications
+ Deshacer modificaciones
+
+
+
+ Ctrl+Z
+ Ctrl+Z
+
+
+
+
+ Ins
+ Ins
+
+
+
+ Mark the selected rows to be deleted
+ Marque las filas seleccionadas para ser borradas
+
+
+
+
+
+
+
+ Del
+ Del
+
+
+
+ Change the values of all selected cells at once
+
+
+
+
+ Ctrl+E
+ Ctrl+E
+
+
+
+ Duplicate the selected rows
+
+
+
+
+ Ctrl+D
+
+
+
+
+ Add new rows from a CSV file
+
+
+
+
+ Filter the result set
+ Filtrar el conjunto de resultados
+
+
+
+ Table:
+ Tabla:
+
+
+
+ Schema:
+ Esquema:
+
+
+
+ in
+ in
+
+
+
+ Hide views
+ Ocultar vista
+
+
+
+ Filter expression
+ Filtrar expresión
+
+
+
+ Order && Limit
+ Order && Límite
+
+
+
+ results (Use <strong>0</strong> for no limit)
+
+
+
+
+ Column:
+ Columna:
+
+
+
+ <html><head/><body><p>Empty values are assumed as <span style=" font-weight:600;">DEFAULT</span>. To use special values like <span style=" font-weight:600;">NULL</span>, a function call like <span style=" font-weight:600;">now()</span> or a specific data escaping, enclose values in two slashes, e.g., <span style=" font-weight:600;">/value/</span>. To use a slash as part of the value prepend the backslash character, e.g., <span style=" font-weight:600;">\/</span>.</p></body></html>
+
+
+
+
+ Copy items on the grid
+
+
+
+
+ Paste items on the grid
+
+
+
+
+ Ctrl+V
+ Ctrl+V
+
+
+
+ Browse referenced tables
+
+
+
+
+ ASC
+ ASC
+
+
+
+ Add empty rows
+
+
+
+
+ DESC
+ DESC
+
+
+
+ Limit in:
+ Límite en:
+
+
+
+ Add Item
+ Añadir Item
+
+
+
+ Remove Item
+ Eliminar Item
+
+
+
+ Clear the order by columns list
+ Desactive el orden de lista columnas
+
+
+
+ Move selected item up
+ Mover arriba el item seleccionado
+
+
+
+ Move selected item down
+ Mover abajo el item seleccionado
+
+
+
+ Copy as CSV
+
+
+
+
+ Copy as text
+
+
+
+
+ Copy items
+
+
+
+
+ Pase items
+
+
+
+
+ Browse tables
+
+
+
+
+ Duplicate row(s)
+
+
+
+
+ Delete row(s)
+
+
+
+
+ Edit cell(s)
+
+
+
+
+ <strong>WARNING: </strong> There are some changed rows waiting the commit! Do you really want to discard them and retrieve the data now?
+
+
+
+
+ Rows returned: <strong>%1</strong>
+
+
+
+
+ <em>(Limit: <strong>%1</strong>)</em>
+ <em>(Límite: <strong>%1</strong>)</em>
+
+
+
+ none
+
+
+
+
+ Column
+
+
+
+
+ No objects found
+ Objects no encontrado
+
+
+
+ Found %1 object(s)
+ Encontrado %1 objecto(s)
+
+
+
+ Views can't have their data handled through this grid, this way, all operations are disabled.
+ Las vistas no pueden tener sus datos manejados a través de esta red, de esta manera, todas las operaciones están desactivadas.
+
+
+
+ The selected table doesn't owns a primary key! Updates and deletes will be performed by considering all columns as primary key. <strong>WARNING:</strong> those operations can affect more than one row.
+ La tabla seleccionada no posee una clave primaria! Las actualizaciones y eliminaciones se realizarán teniendo en cuenta todas las columnas como clave primaria. <strong>WARNING:</strong> estas operaciones pueden afectar a más de una fila.
+
+
+
+ Referenced tables
+
+
+
+
+
+ (none)
+
+
+
+
+ Referrer tables
+
+
+
+
+ This row is marked to be %1
+ Esta fila se marca para ser %1
+
+
+
+ deleted
+ eliminado
+
+
+
+ updated
+ actualizado
+
+
+
+ inserted
+ insertado
+
+
+
+ [binary data]
+ [datos binarios]
+
+
+
+ <strong>WARNING:</strong> Once commited its not possible to undo the changes! Proceed with saving?
+ <strong>WARNING:</strong> Una vez que su cometido no es posible deshacer los cambios! Procedo con salvar?
+
+
+
+ delete
+ eliminar
+
+
+
+ update
+ actualizar
+
+
+
+ insert
+ insertar
+
+
+
+ DatabaseExplorerWidget
+
+
+ Form
+ Formulario
+
+
+
+
+ Data &Grid
+ Datos &Cuadrícula
+
+
+
+
+ Alt+G
+ Alt+G
+
+
+
+
+
+
+
+ ...
+ ...
+
+
+
+ Open the grid to visualize or edit data
+
+
+
+
+ Open a new SQL execution pane
+ Abrir un nuevo panel de ejecución de SQL
+
+
+
+ Ctrl+F6
+ Ctrl+F6
+
+
+
+ Update the objects tree
+ Actualizar el árbol de objetos
+
+
+
+ Toggle the display of filter widget as well the system/extension objects.
+
+
+
+
+ Sort items alphabetically. When unchecked, items are sorted by OID.
+
+
+
+
+ Sort alphabetically
+
+
+
+
+ Drop this database
+ Eliminar esta base de datos
+
+
+
+ Expands all items
+ Expande todos los item
+
+
+
+ Collapses all items
+ Contrae todos los item
+
+
+
+ Filters the currently loaded items in the tree by using a pattern and matching their names. If <strong>By OID</strong> is checked the pattern is interpreted as an integer value that represents the object id (OID). <br><br/><strong>HINT:</strong> if you need to search the entire database use the full refresh (<strong>Ctrl+F5</strong>) prior the filtering.
+
+
+
+
+ Filter:
+ Filtro:
+
+
+
+ By OID
+ Por OID
+
+
+
+
+ Attribute
+ Atributo
+
+
+
+ Value
+ Valor
+
+
+
+ Show raw attributes
+
+
+
+
+ (not found, OID: %1)
+
+
+
+
+ -- Source code not generated! Hit F7 or middle-click the item to load it. --
+
+
+
+
+ Admin. roles
+ Admin. roles
+
+
+
+ Alignment
+ Alineación
+
+
+
+ Analyze func.
+ Analizar func.
+
+
+
+ Arg. count
+ Arg. Contar
+
+
+
+ Arg. default count
+ Arg. contar por defecto
+
+
+
+ Arg. defaults
+ Arg. por defecto
+
+
+
+ Arg. modes
+ Arg. modos
+
+
+
+ Arg. names
+ Arg. nombres
+
+
+
+ Arg. types
+ Arg. tipos
+
+
+
+ Behavior type
+ Tipo de comportamiento
+
+
+
+ By value
+ Por valor
+
+
+
+ Cast type
+ Tipo conversión
+
+
+
+ Category
+ Categoria
+
+
+
+ Collatable
+ Intercalable
+
+
+
+ Collation
+ Intercalación
+
+
+
+ Comment
+ Comentario
+
+
+
+ Commutator Op.
+ Commutador Op.
+
+
+
+ Configuration
+ Configuración
+
+
+
+ Conn. limit
+ Conn. límite
+
+
+
+
+ Constraint
+ Restricción
+
+
+
+ Create DB
+ Crear BD
+
+
+
+ Create role
+ Crear rol
+
+
+
+ Curr. version
+ Corr. versión
+
+
+
+ Default
+ Por defecto
+
+
+
+ Default value
+ Valor por defecto
+
+
+
+ Definition
+ Definición
+
+
+
+ Delimiter
+ Delimitador
+
+
+
+ Dest. type
+ Dest. tipo
+
+
+
+ Dimension
+ Dimensión
+
+
+
+ Directory
+ Directorio
+
+
+
+ Dest. encoding
+ Dest. codificación
+
+
+
+ Element
+ Elemento
+
+
+
+ Encoding
+ Codificación
+
+
+
+ Encrypted
+ Encriptado
+
+
+
+ Enumerations
+ Enumeraciones
+
+
+
+ Exec. cost
+ Costo ejec
+
+
+
+ Expression
+ Expresión
+
+
+
+ Op. family
+ Op. familia
+
+
+
+ Final func.
+ Final func.
+
+
+
+ Function
+ Función
+
+
+
+ Func. type
+ Func. tipo
+
+
+
+ Handler func.
+ Handler func.
+
+
+
+ Handles type
+ Handles tipo
+
+
+
+ Hashes
+ Hashes
+
+
+
+ Index type
+ Indixe tipo
+
+
+
+ Inherit
+ Heredar
+
+
+
+ Ini. condition
+ Ini. condición
+
+
+
+ Inline func.
+ En linea func.
+
+
+
+ Input func.
+ Entrada func.
+
+
+
+ Internal length
+ Longitud interna
+
+
+
+ Interval type
+ Intervalo tipo
+
+
+
+ I/O cast
+ I/O cast
+
+
+
+ Join func.
+ Join func.
+
+
+
+ Language
+ Languaje
+
+
+
+ LC COLLATE
+ LC COLLATE
+
+
+
+ LC CTYPE
+ LC CTYPE
+
+
+
+ Leak proof
+ Prueba de fugas
+
+
+
+ Left type
+ Tipo izquierda
+
+
+
+ Length
+ Longitud
+
+
+
+ Library
+ Biblioteca
+
+
+
+ Can login
+ Puede login
+
+
+
+ Materialized
+ Materializada
+
+
+
+ Member roles
+ Roles miembros
+
+
+
+ Merges
+ Unir
+
+
+
+ Name
+ Nombre
+
+
+
+ Negator op.
+ Op negador.
+
+
+
+ Not null
+ No null
+
+
+
+ Object type
+ Tipo object
+
+
+
+ OID
+ OID
+
+
+
+ With OIDs
+ Con OIDs
+
+
+
+ Old version
+ Vieja version
+
+
+
+ Operator
+ Operador
+
+
+
+ Operator func.
+ Operador func.
+
+
+
+ Output func.
+ Salida func.
+
+
+
+ Owner
+ Dueño
+
+
+
+ Owner column
+ Dueño columna
+
+
+
+ Parents
+ Padres
+
+
+
+ Password
+ Contraseña
+
+
+
+ Permissions
+ Permisos
+
+
+
+ Precision
+ Precisión
+
+
+
+ Preferred
+ Preferido
+
+
+
+ Range attributes
+ Rango atributos
+
+
+
+ Receive func.
+ Recibe func.
+
+
+
+ Ref. roles
+ Ref. roles
+
+
+
+ Replication
+ Replicación
+
+
+
+ Restriction func.
+ Restricción func.
+
+
+
+ Return type
+ Retornar tipo
+
+
+
+ Returns SETOF
+ Retornar SETOF
+
+
+
+ Right type
+ Tipo a la derecha
+
+
+
+ Rows amount
+ Cantidad filas
+
+
+
+ Schema
+ Esquema
+
+
+
+ Security type
+ Tipo de seguridad
+
+
+
+ Send func.
+ Envio func.
+
+
+
+ Sort op.
+ Op ordenación.
+
+
+
+ Source type
+ Tipo de fuentes
+
+
+
+ Src. encoding
+ Fnt. codificación
+
+
+
+ State type
+ Tipo estado
+
+
+
+ Storage
+ Almacenamiento
+
+
+
+ Superuser
+ Superusuario
+
+
+
+ Tablespace
+ Tablespace
+
+
+
+ Type mod. in func.
+ Tipo mod. entrada func.
+
+
+
+ Type mod. out func.
+ Tipo mod. salida func.
+
+
+
+ Transition func.
+ Transición func.
+
+
+
+ Trusted
+ Verdadero
+
+
+
+ Type
+ Tipo
+
+
+
+ Type attribute
+ Tipo atributos
+
+
+
+ Types
+ Tipos
+
+
+
+ Unlogged
+ Invitados
+
+
+
+ Validator func.
+ Validador func.
+
+
+
+ Validity
+ Validez
+
+
+
+ Windows func.
+ Func. ventana.
+
+
+
+ false
+ falso
+
+
+
+ true
+ verdadero
+
+
+
+ Cache value
+ Valor en cache
+
+
+
+ Cycle
+ Ciclo
+
+
+
+ Increment
+ Incremneto
+
+
+
+ Max. value
+ Max. valor
+
+
+
+ Min. value
+ Min valor
+
+
+
+ Start value
+ Valor inicial
+
+
+
+ Last value
+ Próximo valor
+
+
+
+ Subtype
+ Subtipo
+
+
+
+ Op. class
+ Op. clases
+
+
+
+ Canonical func.
+ func. canonica.
+
+
+
+ Subtype diff func.
+ Subtipo diff func.
+
+
+
+ Deferrable
+ Diferible
+
+
+
+ For each row
+ For each row
+
+
+
+ Firing
+ Disparadores
+
+
+
+ On insert
+ On insert
+
+
+
+
+ On delete
+ On delete
+
+
+
+
+ On update
+ On update
+
+
+
+ On truncate
+ On truncate
+
+
+
+ Arguments
+ Argumentos
+
+
+
+ Table
+ Tabla
+
+
+
+ Trigger func.
+ func. Trigger.
+
+
+
+
+
+ Columns
+ Columnas
+
+
+
+ Condition
+ Condición
+
+
+
+ Deferment
+ Diferimiento
+
+
+
+ Event
+ Evento
+
+
+
+ Execution mode
+ Modo Ejecución
+
+
+
+ Commands
+ Comandos
+
+
+
+ Position
+ Posición
+
+
+
+ Comparison type
+ Tipo comparación
+
+
+
+ Ref. columns
+ Ref. columnas
+
+
+
+ Expressions
+ Expresiones
+
+
+
+ Fill factor
+ Factor de relleno
+
+
+
+ No inherit
+ No hereda
+
+
+
+ Op. classes
+ Op. clases
+
+
+
+ Operators
+ Operador
+
+
+
+ Ref. table
+ Tabla Ref
+
+
+
+ Unique
+ Unique
+
+
+
+ Predicate
+ Predicado
+
+
+
+ Collations
+ Intercalaciones
+
+
+
+ Inherited
+ Heredado
+
+
+
+ Client encoding
+
+
+
+
+ Configuration file
+
+
+
+
+ Data directory
+
+
+
+
+ Dynamic library path
+
+
+
+
+ Dynamic shared memory
+
+
+
+
+ Hba file
+
+
+
+
+ Listen addresses
+
+
+
+
+ Max. connections
+
+
+
+
+ Listen port
+
+
+
+
+ Server encoding
+
+
+
+
+ SSL
+
+
+
+
+ SSL ca file
+
+
+
+
+ SSL cert file
+
+
+
+
+ SSL crl file
+
+
+
+
+ SSL key file
+
+
+
+
+ Server version
+
+
+
+
+ Ident file
+
+
+
+
+ Password encryption
+
+
+
+
+ Connection ID
+
+
+
+
+ Server PID
+
+
+
+
+ Server protocol
+
+
+
+
+ Referrers
+
+
+
+
+ Identity
+
+
+
+
+ Command
+
+
+
+
+ USING expr.
+
+
+
+
+ CHECK expr.
+
+
+
+
+ Roles
+ Roles
+
+
+
+ RLS enabled
+
+
+
+
+ RLS forced
+
+
+
+
+ Show objects filter
+
+
+
+
+ Show system objects
+
+
+
+
+ Show extension objects
+
+
+
+
+ Snippets
+ Snippets
+
+
+
+ Drop object
+ Drop object
+
+
+
+ Drop cascade
+ Drop cascade
+
+
+
+ Truncate
+ Truncate
+
+
+
+ Trunc. cascade
+ Trunc. cascade
+
+
+
+ Show data
+ Mostrar dato
+
+
+
+ Reload properties
+ Recargar propiedades
+
+
+
+ Update
+ Actualizar
+
+
+
+ Rename
+ Renombrar
+
+
+
+ Source code
+ Código fuente
+
+
+
+ Quick refresh
+
+
+
+
+ Full refresh
+
+
+
+
+ -- Source code unavailable for this kind of object --
+
+
+
+
+ Do you really want to drop the object <strong>%1</strong> <em>(%2)</em>?
+ ¿De verdad quiere borrar el objeto <strong>%1</strong> <em>(%2)</em>?
+
+
+
+ Do you really want to <strong>cascade</strong> drop the object <strong>%1</strong> <em>(%2)</em>? This action will drop all the other objects that depends on it.
+
+
+
+
+ Also restart sequences
+
+
+
+
+ Src. table: %1
+Src. column(s): %2
+
+
+
+
+ Ref. table: %1
+Ref. column(s): %2
+
+
+
+
+ -- Source code genaration for buil-in and base types currently unavailable --
+
+
+
+
+ -- Source code unavailable for the object %1 (%2). --
+
+
+
+
+
+ Warning
+ Advertencia
+
+
+
+ You're running a demonstration version! The data manipulation feature is available only in the full version!
+ Usted está ejecutando una versión de demostración! La función de manipulación de datos sólo está disponible en la versión completa!
+
+
+
+ <strong>CAUTION:</strong> You are about to drop the entire database <strong>%1</strong>! All data will be completely wiped out. Do you really want to proceed?
+ <strong>ATENCION:</strong> Vas a dejar toda la base de datos <strong>%1</strong>! Todos los datos serán completamente eliminados. ¿Realmente desea continuar?
+
+
+
+ Do you really want to truncate the table <strong>%1</strong>?
+ ¿De verdad quiere truncar la tabla <strong>%1</strong>?
+
+
+
+ Do you really want to <strong>cascade</strong> truncate the table <strong>%1</strong>? This action will truncate all the tables that depends on it?
+ ¿De verdad quieres truncar en <strong>cascade</strong> la tabla <strong>%1</strong>? ¿Esta acción truncar todas las tablas que depende de ella?
+
+
+
+ DatabaseImportForm
+
+
+ Settings
+ Configuración
+
+
+
+ Options
+ Opciones
+
+
+
+ Connection:
+ Conexión:
+
+
+
+ Automatically resolve dependencies
+ Resolver dependencias automáticamente
+
+
+
+
+
+
+ ...
+ ...
+
+
+
+ Random colors will be assigned to imported relationships facilitating the identification of links between tables mainly in large models.
+ Colores al azar serán asignados a las relaciones importados que faciliten la identificación de los vínculos entre las tablas, principalmente en modelos de gran tamaño.
+
+
+
+ Resolve some of the object's dependencies by querying the catalog when a needed object does not exists on the loaded set. In some cases it's necessary to combine this option with others below. This option does not applies to database level objects like role, tablespace and language as well for data types, extensions.
+
+
+
+
+ Random colors for relationships
+ Colores aleatorios para las relaciones
+
+
+
+ Enables the import of system built-in objects. It's recommend to select only those objects that are directly referenced by the ones to be imported. WARNING: Try to import a huge set of system objects can bloat the resultant model or even crash pgModeler due to memory/cpu overuse.
+ Permite la importación de sistema de objetos integrados. Se recomienda seleccionar sólo aquellos objetos que se hace referencia directamente por las que ser importados. ADVERTENCIA: Trate de importar un enorme conjunto de objetos del sistema puede inflar el modelo resultante o incluso estrellarse pgModeler debido a la memoria / CPU uso excesivo.
+
+
+
+ Import system objects
+ Importa objeto del sistema
+
+
+
+ Enables the import of objects created by extensions. Generally there is no need to check this option but if there are objects in the database that directly references this category of objects this mode must be enabled.
+ Permite la importación de objetos creados por las extensiones. Generalmente no hay necesidad de revisar esta opción, pero si hay objetos en la base de datos que hace referencia directa a esta categoría de objetos de este modo debe estar habilitado.
+
+
+
+ Import extension objects
+ Importar extensiones de objetos
+
+
+
+ pgModeler ignores import errors and will try to create as many as possible objects. By checking this option the import operation will be not aborted but an incomplete model will be constructed. This option generates a log file on pgModeler's temp directory.
+ pgModeler ignora los errores de importación y tratará de crear el mayor número posible de objetos. Al marcar esta opción, la operación de importación no se concluye, pero un modelo incompleto se construirá. Esta opción genera un archivo de registro en el directorio temporal de pgModeler.
+
+
+
+ Ignore import errors
+ Ignorar errores de importación
+
+
+
+ All catalog queries as well the created objects' source code are printed to standard output (stdout).
+
+
+
+
+
+ Import database
+
+
+
+
+ Debug mode
+ Modo depurarión
+
+
+
+ Create all imported objects in the current working model instead of create a new one.
+ Crear todos los objetos importados en el modelo de trabajo actual en lugar de crear uno nuevo.
+
+
+
+ Import objects to the working model
+ Importar objetos al modelo de trabajo
+
+
+
+ Database
+ Base de datos
+
+
+
+ Filter:
+ Filtrar:
+
+
+
+ Filter object by it's OID
+ Filtrar objeto por OID
+
+
+
+ By OID
+ Por OID
+
+
+
+ Select all objects
+ Seleccionar todos los objetos
+
+
+
+ Clear object selection
+ Limpiar los objetos seleccionados
+
+
+
+ Expands all items
+ Expandir todos los item
+
+
+
+ Collapses all items
+ Contrae todos los item
+
+
+
+ Output
+ Salida
+
+
+
+ Progress label...
+ Etiqueta de Progreso...
+
+
+
+ Cancel
+ Cancelar
+
+
+
+ &Import
+ &Importar
+
+
+
+ &Close
+ &Cerrar
+
+
+
+ <strong>ATTENTION:</strong> You are about to import objects to the current working model! This action will cause irreversible changes to it even in case of critical errors during the process. Do you want to proceed?
+ <strong>ATENCIÓN:</strong> Estás a punto de importar objetos al modelo actual de trabajo! Esta acción provocará cambios irreversibles a él, incluso en caso de errores críticos durante el proceso. ¿Quieres proceder?
+
+
+
+ Importing process aborted!
+ Proceso de Importación abortado!
+
+
+
+ Importing process canceled by user!
+ Proceso de Importación cancelado por usuario!
+
+
+
+ Importing process sucessfuly ended!
+ Proceso de Importación terminado satisfactoriamente!
+
+
+
+ No databases found
+ Base de datos no encontrada
+
+
+
+ Found %1 database(s)
+ Encontrada %1 bases de dato(s)
+
+
+
+ Retrieving objects from database...
+ Recuperando objetos de base de datos...
+
+
+
+ Retrieving cluster level objects...
+ Recuperando objetos a nivel de clúster...
+
+
+
+ Retrieving objects of schema `%1'...
+ Recuperando objetos del esquema `%1'...
+
+
+
+ Retrieving objects of `%1' (%2)...
+
+
+
+
+ This is a PostgreSQL built-in data type and cannot be imported.
+ Esta es una tipo de datos incorporado PostgreSQL y no se puede importar.
+
+
+
+ This is a pgModeler's built-in object. It will be ignored if checked by user.
+ Esta es objeto incorporado del pgModeler. Se ignora si se activa por el usuario.
+
+
+
+ DatabaseImportHelper
+
+
+ Retrieving system objects... `%1'
+ Recuperando objetos del sistema... `%1'
+
+
+
+
+ Retrieving objects... `%1'
+ Recuperando objetos... `%1'
+
+
+
+ Creating object `%1' (%2), oid `%3'...
+
+
+
+
+ Trying to recreate object `%1' (%2), oid `%3'...
+
+
+
+
+ Creating object `%1' (%2)...
+ Creando objecto `%1' (%2)...
+
+
+
+ Import failed to recreate some objects in `%1' tries.
+ Importación no pudo recrear algunos objetos en `%1' intento.
+
+
+
+ Creating permissions for object `%1' (%2)...
+ Creación permisos por objecto `%1' (%2)...
+
+
+
+ Creating columns permissions...
+ Creación permisos de columnas...
+
+
+
+ Updating relationships of `%1' (%2)...
+
+
+
+
+ Validating relationships...
+
+
+
+
+ Assigning sequences to columns...
+
+
+
+
+ The database import ended but some errors were generated and saved into the log file `%1'. This file will last until pgModeler quit.
+ La importación de base de datos terminó pero algunos errores se genera y se guarda en el archivo de registro `%1'. Este archivo se prolongará hasta salga de pgModeler.
+
+
+
+ Destroying unused detached columns...
+ Destruyendo columnas separadas no utilizados...
+
+
+
+ Creating table inheritances...
+ Creación de herencias de tabla...
+
+
+
+ DatabaseModel
+
+
+ The demonstration version can create only `%1' instances of each object type! You've reach this limit for the type: `%2'
+ La versión de demostración sólo puede crear `%1' instancias de cada tipo de objeto! Tienes que llegar a este límite para el tipo: `%2'
+
+
+
+ Loading: `%1' (%2)
+ Cargando: `%1' (%2)
+
+
+
+
+ Validating relationships...
+
+
+
+
+ Generating %1 code: `%2' (%3)
+
+
+
+
+ Saving object `%1' (%2)
+
+
+
+
+ Saving metadata of the object `%1' (%2)
+
+
+
+
+ Metadata file successfully saved!
+
+
+
+
+ Process successfully ended but no metadata was saved!
+
+
+
+
+ Creating object `%1' (%2)
+ Creando objecto `%1' (%2)
+
+
+
+ Object `%1' (%2) already exists. Ignoring.
+
+
+
+
+ Loading metadata for object `%1' (%2)
+
+
+
+
+ Object `%1' (%2) not found. Ignoring metadata.
+
+
+
+
+ Metadata file successfully loaded!
+
+
+
+
+ DatabaseWidget
+
+
+ Attributes
+ Atributos
+
+
+
+ LC_COLLATE:
+ LC_COLLATE:
+
+
+
+ LC_CTYPE:
+ LC_CTYPE:
+
+
+
+ Template DB:
+ DB Modelo:
+
+
+
+ Model Author:
+ Autor del Modelo:
+
+
+
+ Encoding:
+ Codificación:
+
+
+
+ Connections:
+ Conexiones:
+
+
+
+ Options:
+ Opciones:
+
+
+
+ Allow connections
+
+
+
+
+ Is template
+
+
+
+
+ Default Objects
+ Objectos por Defecto
+
+
+
+ Tablespace:
+ Tablespace:
+
+
+
+ Schema:
+ Esquema:
+
+
+
+ Collation:
+ Colación:
+
+
+
+ Owner:
+ Propietario:
+
+
+
+ The fields <strong>LC_COLLATE</strong> and <strong>LC_CTYPE</strong> have pre-configured values based upon the running system. You can freely modify those values if you intend to export the model to another host.
+ Los campos <strong>LC_COLLATE</strong> y <strong>LC_CTYPE</strong> valores basados en el sistema en funcionamiento han preconfigurado. Usted puede modificar libremente estos valores si tiene intención de exportar el modelo a otro host.
+
+
+
+ Use the above fields to specify the default attributes assigned to new objects created on the database model. Leaving a field empty will cause PostgreSQL to use the default values when exporting the model.
+ Utilice los campos de arriba para especificar los atributos predeterminados asignados a los nuevos objetos creados en el modelo de base de datos. Dejando a un campo vacío hará que PostgreSQL para utilizar los valores predeterminados al exportar el modelo.
+
+
+
+
+
+
+ Default
+ Por Defecto
+
+
+
+ DomainWidget
+
+
+ Attributes
+ Atributos
+
+
+
+ Default Value:
+ Valor Por Defecto:
+
+
+
+ Not null
+ No null
+
+
+
+ Check constraints
+
+
+
+
+ Expression:
+ Expresión:
+
+
+
+ Name:
+ Nombre:
+
+
+
+ Name
+ Nombre
+
+
+
+ Expression
+ Expresión
+
+
+
+ DonateWidget
+
+
+ Form
+ Formulario
+
+
+
+ Donate to pgModeler
+ Hacer una donación a pgModeler
+
+
+
+ Hide this widget
+ Ocultar este widget
+
+
+
+ ...
+ ...
+
+
+
+ <html><head/><body><p>pgModeler is brought to you thanks to a <span style=" font-style:italic;">great effort to create and distribute a quality product</span>. This project is reaching out levels of maturity never imagined. All this is the result of a joint work between its author and the <span style=" font-weight:600;">Open Source community</span>. <br/><br/>This software has a long way to go yet and with your help we'll keep maintaining the good job and bringing new improvements on each release. If you did like pgModeler and thinks it deserves a contribution please make a donation!</p></body></html>
+ <html><head/><body><p>pgModeler es traído a usted gracias a un <span style=" font-style:italic;">gran esfuerzo para crear y distribuir un producto de calidad</span>. Este proyecto está alcanzando niveles de madurez nunca imaginados. Todo esto es el resultado de un trabajo conjunto entre su autor y la <span style=" font-weight:600;">comunidad Open Source </span>. <br/><br/>Este software tiene un largo camino por recorrer y con su ayuda seguiremos manteniendo el buen trabajo y trayendo nuevas mejoras en cada versión. Si te gustó pgModeler y cree que merece una contribución, haz una donación!</p></body></html>
+
+
+
+ I want to help!
+ ¡Quiero ayudar!
+
+
+
+ ElementsWidget
+
+
+ Form
+ Formulario
+
+
+
+ Column:
+ Columna:
+
+
+
+ Expression:
+ Expresión:
+
+
+
+ Collation:
+ Colación:
+
+
+
+ Operator Class:
+ Operador de Clases:
+
+
+
+ Operator:
+ Operador:
+
+
+
+ Sorting:
+ Ordenación:
+
+
+
+ Ascending
+ Ascendente
+
+
+
+ Descending
+ Descendente
+
+
+
+ Nulls first
+ Nulos primeros
+
+
+
+ Element
+ Elemento
+
+
+
+ Type
+ Tipo
+
+
+
+ Operator Class
+ Operador de Clases
+
+
+
+ Sorting
+ Ordenación
+
+
+
+ Nulls First
+ Nulos Primero
+
+
+
+ Collation
+ Colación
+
+
+
+ Operator
+ Operador
+
+
+
+ Expression
+ Expresión
+
+
+
+ Yes
+ Si
+
+
+
+ No
+ No
+
+
+
+ EventTriggerWidget
+
+
+ Event:
+ Evento:
+
+
+
+ Function:
+ Función:
+
+
+
+ Filter
+ Filtro
+
+
+
+ Tag:
+ Tag:
+
+
+
+ Tag command
+ Comando tag
+
+
+
+ Exception
+
+
+ Assignment of a pseudo-type to the type of the column!
+ Asignación de un tipo de pseudo con el tipo de la columna!
+
+
+
+ Assignment of a precision greater than the length of the type!
+ Asignación de una precisión mayor que la longitud del tipo!
+
+
+
+ Assignment of an invalid precision to type time, timestamp or interval. The precision in this case must be equal to or less than 6!
+ Asignación de una precisión no válido para el tipo de tiempo, marca de tiempo o intervalo. La precisión en este caso debe ser igual o inferior a 6!
+
+
+
+ Assignment of a not allocated column to object `%1' (%2)!
+ Asignación de una columna no asignados a objeto `%1' (%2)!
+
+
+
+ Reference to a column which index is out of the capacity of the column list!
+ La referencia a una columna que índice está fuera de la capacidad de la lista de columnas!
+
+
+
+ Assignment of not allocated object!
+ Asignación de objeto no asignado!
+
+
+
+ Assignment of a not allocated schema to object `%1' (%2)!
+ Asignación de un esquema no asignado al objeto `%1' (%2)!
+
+
+
+ The object `%1' (%2) has inconsistent SQL or XML definition!
+ El objeto `%1' (%2) tiene la configuración inconsistente (definición SQL / XML no válido)!
+
+
+
+ The object `%1' (%2) already exists on `%3' (%4)!
+ El objeto `%1' (%2) ya existe en `%3' (%4)!
+
+
+
+ The object `%1' (%2) cannot be assigned because there is already exists in the container object `%3'!
+ El objeto `%1' (%2) no puede ser asignado porque ya se existe en el objeto contenedor `%3'!
+
+
+
+ Assigning object of an invalid type!
+ Asignación de objeto de un tipo no válido!
+
+
+
+ Removing an object of an invalid type!
+ Eliminación de un objeto de un tipo no válido!
+
+
+
+ Obtaining an object of an invalid type!
+ Obtención de un objeto de un tipo no válido!
+
+
+
+ Assignment of empty name to table return type!
+ Asignación de nombre vacío de tipo de tabla de retorno!
+
+
+
+ The insertion of the parameter `%1' will not be possible because there is another parameter with same name in the function `%2'!
+ La inserción del parámetro `%1' no será posible porque no hay otro parámetro con el mismo nombre en la función `%2'!
+
+
+
+ The insertion of the table return type `%1' will not be possible because there is another return type with the same name in the `%2'!
+ La inserción del tipo de tabla de retorno `%1' no será posible porque hay otro tipo de retorno con el mismo nombre en el `%2'!
+
+
+
+ Reference to a parameter which index is out of the parameter list bounds!
+ La referencia a un evento que no pertenece a disparar!
+
+
+
+ Reference to an event which does not belongs to trigger!
+ La referencia a un evento que no pertenece al trigger!
+
+
+
+ The column `%1' cannot be assigned to the trigger `%2' because they belongs to different parent tables!
+ La columna `%1' no puede ser asignada a un Trigger `%2' porque no pertenece a la tabla padre!
+
+
+
+ Assignment of a not allocated function to object `%1' (%2)!
+ Asignación de una función no asignada a objeto `%1' (%2)!
+
+
+
+ Assignment of a function which return type is different from `%1'!
+ Asignación de una función que tipo de retorno es diferente de `%1'!
+
+
+
+ Assignment of a function which parameter count is invalid to the object `%1' (%2)!
+ Asignación de una función que cuente parámetro no es válido para el objeto `%1' (%2)!
+
+
+
+ Assignment of a function which language is invalid!
+ Asignación de una función que el lenguaje no es válido!
+
+
+
+ Event trigger function must be coded in any language other than SQL!
+ Función de disparo de eventos debe estar codificado en cualquier idioma que no sea SQL!
+
+
+
+ Assignment of not allocated table to object `%1' (%2)!
+ Asignación de tabla no asignado a objeto `%1' (%2)!
+
+
+
+ Reference to an argument which index is out of argument list bounds!
+ La referencia a un argumento que el índice está fuera de la capacidad de la lista de argumentos!
+
+
+
+ Assignment of empty name to an object!
+ Asignación de nombre vacío a un objeto!
+
+
+
+ Assignment of a name which contains invalid characters!
+ Asignación de nombre no válido a un objeto!
+
+
+
+ Assignment of a name which length exceeds the maximum of 63 characters!
+ Asignación de un nombre cuya longitud supera el máximo de 63 caracteres!
+
+
+
+ Assignment of schema object which type is invalid!
+ Asignación de objeto que tipo de esquema no válido!
+
+
+
+ Assignment of tablespace object with invalid type!
+ Asignación de objeto de tablespace con tipo no válido!
+
+
+
+ Assignment of tablespace to an invalid object!
+ Asignación de tablespace a un objeto no válido!
+
+
+
+ Assignment of tablespace to a constraint which type is invalid! To belong to a tablespace the constraint must be a primary key or unique!
+ Asignación de espacio de tabla a una restricción de qué tipo es válido! Para pertenecer a un espacio de tabla la restricción debe ser una clave primaria o único!
+
+
+
+ Assignment of owner object which type is invalid!
+ Asignación de objeto que tipo de propietario no es válido!
+
+
+
+ Assignment of owner to an invalid object!
+ Asignación de propietario para un objeto no válido!
+
+
+
+ Assignment of appended or prepended SQL to an invalid object!
+ Asignación de SQL añadido o preañadido a un objeto no válido!
+
+
+
+ Reference to a function with invalid type!
+ La referencia a una función con tipo no válido!
+
+
+
+ Reference to an argument of the operator with invalid type!
+ La referencia a un argumento del operador con el tipo no válido!
+
+
+
+ Reference to an operator with invalid type!
+ La referencia a un operador con tipo no válido!
+
+
+
+ Assignment of value to an invalid option type on role!
+ Asignación de valor a un tipo de opción no válida en el rol!
+
+
+
+ Reference to an invalid role type!
+ La referencia a un tipo de rol no válido!
+
+
+
+ The insertion of the role `%1' is not possible because this is already being referenced by role `%2'!
+ La inserción del rol `%1' no es posible porque esto ya está siendo referenciado por rol `%2'!
+
+
+
+ Reference redundancy detected by having the role `%1' referencing the role `%2'!
+ Referencia redundancia detecta por tener el rol `%1' referencia al rol `%2'!
+
+
+
+ The role `%1' can not be listed as a member of itself!
+ El rol `%1' no puede ser listado como un miembro de sí mismo!
+
+
+
+ Reference to a role which index is out of role list bounds!
+ La referencia a un rol el índice del cual está fuera de la lista de rol límites!
+
+
+
+ Insertion of empty command to the rule!
+ Inserción de comando nulo en la regla!
+
+
+
+ Reference to a command which index is out of the command list bounds!
+ La referencia a un comando que el índice está fuera de la capacidad de la lista de comandos!
+
+
+
+ Is not possible to create a self generalization/copy relationship! The table can not inherit or copy their own attributes!
+ No es posible crear una relación de auto generalización / dependecy! La tabla no puede heredar o copiar sus propios atributos!
+
+
+
+ Assignment of an object that already belongs to another table!
+ Asignación de un objeto que ya pertenece a otra tabla!
+
+
+
+ Assignment of a schema to the sequence which differs from the schema of the owner table!
+ Asignación de un esquema de la secuencia que se diferencia del esquema de la tabla dueño!
+
+
+
+ Assignment of an invalid value to one of the sequence attributes!
+ Asignación de un valor no válido para uno de los atributos de secuencia!
+
+
+
+ Assignment of a minimum value to the sequence which is greater than the maximum value!
+ Asignación de un valor mínimo a la secuencia que es mayor que el valor máximo!
+
+
+
+ Assignment of a start value to the sequence which is extrapolating the range defined by minimum and maximum values!
+ Asignación de un valor de inicio a la secuencia que se extrapolando el rango definido por valores mínimo y máximo!
+
+
+
+ Assignment of a null increment value to the sequence!
+ Asignación de un valor nulo de incremento a la secuencia!
+
+
+
+ Assignment of null cache value to the sequence!
+ Asignación de cache de secuencia con valor nulo!
+
+
+
+ Assignment of owner table which is not in the same schema as the sequence `%1'!
+ Asignación de dueño de tabla que no está en el mismo esquema que la secuencia `%1'!
+
+
+
+ Assignment of owner table which does not belong to the same owner of the sequence `%1'!
+ Asignación de dueño de tabla que no pertenece al mismo dueño de la secuencia `%1'!
+
+
+
+ Assignment of a nonexistent owner column to the sequence `%1'!
+ Asignación de una dueño inexistente a una columna para secuencia `%1'!
+
+
+
+ Assignment of an owner column to the sequence `%1' that is not related to any table!
+ Asignación de una dueño a una columna para la secuencia `%1' que no está relacionada a ninguna tabla!
+
+
+
+ Reference to a label which index is out of labels list bounds!
+ Referencia a una etiqueta que el índice está fuera de límites de la lista de etiquetas!
+
+
+
+ Allocation of object with invalid type!
+ Asignación del objeto con tipo no válido!
+
+
+
+ Assignment of a function with invalid return type to object `%1' (%2)!
+ Asignación de función con tipo de retorno inválido a objeto `%1' (%2)!
+
+
+
+ Assignment of a function with invalid parameter(s) type(s) to object `%1' (%2)!
+ Asignación de función con tipo de parâmetro(s) inválido(s) a objeto `%1' (%2)!
+
+
+
+ Assignment of not allocated language!
+ Asignación de el lenguaje no asignado!
+
+
+
+ Assignment of language object which type is invalid!
+ Asignación de objeto de lenguaje que el tipo no es válido!
+
+
+
+ Reference to data type with an index outside the capacity of data types list!
+ Referencia al tipo de datos con un índice fuera de la capacidad de la lista actualizada tipos!
+
+
+
+ Assignment of a null type to object `%1' (%2)!
+
+
+
+
+ Unable to write the file `%1' due to one or more errors in the definition generation process!
+
+
+
+
+ There is already a relationship between `%1' (%2) and `%3' (%4) in the model! When using relationships of the type generalization, copy and one-to-one there can't be other relationships linked to the pair of tables.
+
+
+
+
+ The configuration of the relationship `%1' generates a redundancy between the relationships `%2'. Redundancy on identifier or generalization/copy relationships are not accepted since they result in incorrect column spreading making the model inconsistent!
+
+
+
+
+ Unable to load the configuration file `%1'! Please check if file exists in its folder and/or if it is not corrupted!
+
+
+
+
+ Invalid syntax in file `%1', line %2, column %3!
+
+
+
+
+ Invalid instruction `%1' on file `%2', line %3, column %4!
+
+
+
+
+ Unknown attribute `%1' in file `%2', line %3, column %4!
+
+
+
+
+ Invalid metacharacter `%1' in file `%2', line %3, column %4!
+
+
+
+
+ Invalid operator `%1' in comparison expression, file `%2', line %3, column %4!
+
+
+
+
+ Attribute `%1' with an undefined value in file `%2', line %3, column %4!
+
+
+
+
+ Attribute `%1' with an invalid name in file `%2', line %3, column %4!
+
+
+
+
+ Could not access the file or directory `%1'! Make sure that it exists or if the user has access permissions on it!
+
+
+
+
+ Could not load file `%1'. The same appears to be inconsistent or one of its dependencies (DTD files) has errors or is missing!
+
+
+
+
+ Reference to a tuple with an invalid index or the result is empty (no tuples)!
+
+
+
+
+ Invalid use of a view reference as whole SQL definition! The assigned reference must be an expression!
+
+
+
+
+ At the moment pgModeler does not support the creation of primary keys which some columns were generated by relationship connection. To create primary keys with this feature you can use the field `Identifier' or the tab `Primary key' on relationship editing form!
+
+
+
+
+ Reference to a function id which is incompatible with the user define type configuration!
+
+
+
+
+ Unsupported PostgreSQL version (%1) detected! Valid versions are between %2 and %3.
+
+
+
+
+ Invalid use of variadic parameter mode! This mode can be used only with an array or "any" data type!
+
+
+
+
+ The object `%1' (%2), oid `%3', could not be imported due to one or more errors! Check the exception stack for more details. `HINT:' if the object somehow references objects in `pg_catalog' or `information_schema' consider enable the importing of system objects.
+
+
+
+
+ Assignment of an invalid object to `%1' (%2)! The assigned object must be of type `%3'.
+
+
+
+
+ It's not possible convert the type of the column `%1' to serial! It must have an `integer' based type and its default value must be a call to `nextval(seq_name::regclass)' function or a sequence object must be directly assigned to the column!
+
+
+
+
+ Trying to undo/redo an invalid operation over an object that does not exists anymore or can't be handled! The operation history will be cleaned up.
+
+
+
+
+ A parent table of `%1' which OID is `%2' was not found in the set of imported objects!
+
+
+
+
+ The enumeration `%1' can't be assigned to the type `%2' because contains invalid characters!
+
+
+
+
+ The enumeration `%1' can't be assigned to the type `%2' because is too long!
+
+
+
+
+ The connection was idle for too long and was automatically closed!
+
+
+
+
+ The connection was unexpectedly closed by the database server `%1' at port `%2'!
+
+
+
+
+ Failed to drop the database `%1' because it is defined as the default database for the connection `%2'!
+
+
+
+
+ The column `%1' must be `NOT NULL' because it composes the primary key of the table `%2'. You need to remove the column from the mentioned contraint in order to disable the `NOT NULL' on it!
+
+
+
+
+ The identity column `%1' has an invalid data type! The data type must be `smallint', `integer' or `bigint'.
+
+
+
+
+ Reference to an invalid affected command in policy `%1'!
+
+
+
+
+ Reference to an invalid special role in policy `%1'!
+
+
+
+
+ Assignment of invalid type to the object!
+ Asignación de un tipo inválido a objeto!
+
+
+
+ Assignment of an empty directory to object `%1' (%2)!
+ Asignación de un diretório vacio a objeto: `%1' (%2)!
+
+
+
+ Obtaining types with invalid quantity!
+ Obtención de tipos con una cantidad no válida!
+
+
+
+ Insertion of item which already exists in the attributes list of the type!
+ Inserción de objeto que ya existe en la lista del tipo de atributos!
+
+
+
+ Insertion of invalid item in the attributes list of the type!
+ Inserción de item inválido en la lista del tipo de atibutos!
+
+
+
+ Insertion of item which already exists in the enumarations list of the type!
+ Inserción de item ya existente en la lista del tipo de enumeraciones!
+
+
+
+ Insertion of invalid item in the enumerations list of the type!
+ Inserción de item inválido en laa lista del tipo de enumeraciones!
+
+
+
+ Reference to an attribute which index is out of the attributes list bounds!
+ Referencia a un atributo que el índice está fuera de la capacidad de la lista de atributos!
+
+
+
+ Reference to an enumeration which index is out of the enumerations list bounds!
+ Referencia a una enumeración con índice fuera de la capacidad de la lista de enumeraciones!
+
+
+
+ Assignment of invalid configuration to the type!
+ Asignación de configuración no válida para el tipo!
+
+
+
+ Assignment of an operator which input type count is invalid to aggregate function!
+ Asignación de operador a una función de agregacíon con cantidad de tipos de entrada inválida!
+
+
+
+ Assignment of an operator which types of arguments is invalid!
+ Asignación de operador con argumentos de tipos inválidos!
+
+
+
+ Assignment of system reserved name to the object `%1' (%2)!
+ Asignación de nombre reservado por el sistema a objeto `%1' (%2)!
+
+
+
+ One function with invalid configuration is been used by the object `%1' (%2)!
+ Una función de configuración inválido está siendo usada por el objeto `%1' (%2)!
+
+
+
+ Assignment of an invalid strategy/support number to an operator class element!
+ Asignación de un número inválido de estratégia/suporte del elemento de clase de operadores!
+
+
+
+ Insertion of element which already exists in the element list!
+ Inserción de elemento ya existente en la lista de elementos!
+
+
+
+ Reference to an element which index is out of element list bounds!
+ Referencia a un elemento con índice fuera de límites de la lista de elementos!
+
+
+
+ Reference to an object which index is out of object list bounds!
+ La referencia a un objeto que el índice está fuera de límites de la lista de objetos!
+
+
+
+ Removal of an object not allocated!
+ Eliminación de un objeto no asignado!
+
+
+
+ The object `%1' (%2) can not be removed because it is being referenced by object `%3' (%4)!
+ El objeto `%1' (%2) no puede ser removido pues está siendo referenciado por el objeto `%3' (%4)!
+
+
+
+ The object `%1' (%2) can not be removed because it is being referenced by object `%3' (%4) that belongs to `%5' (%6)!
+ El objeto `%1' (%2) no pode ser removido pues está siendo referenciado por el objeto `%3' (%4) perteneciente a `%5' (%6)!
+
+
+
+ Operation with object(s) which type(s) is invalid!
+ Operación con objeto(s) de tipo(s) inválido(s)!
+
+
+
+ Reference to object with invalid type!
+ Referencia a un objeto con tipo inválido!
+
+
+
+ Operation with object not allocated!
+ Operación con objeto no asignado!
+
+
+
+ The creation of the relationship `%1' between the table `%2' and `%3' can not be done because one does not have a primary key. If the relationship is of the type n-n both tables must have primary keys!
+ La criación de la Relación `%1' entre las tabla `%2' y `%3' no puede ser hecha pues una de ellas no posee una llave primária. Si la relación es del tipo n-n ambas tablas deben tener claves principales!
+
+
+
+ The relationship of the type 1-1 where both tables are mandatory participation is not implemented because it requires fusion between the tables that breaks the modeling done by the user!
+ La relación del tipo 1-1, donde ambas tablas son la participación obligatoria no se aplica, ya que requiere la fusión entre las tablas que rompe el modelado realizado por el usuario!
+
+
+
+ Assignment of an invalid expression to the object!
+ Asignación de expresión inválida a objeto!
+
+
+
+ Assignment of a primary key to a table which already has one!
+ Asignación de llave primaria a una tabla la cual ya poseia una!
+
+
+
+ Identifier relationship can not be created for a self relationship, relationships of the type n-n, copy or generalization!
+ Identificador relación no se puede crear de una relación autorelaciones del tipo n-n, dependencia o la generalización!
+
+
+
+ Unable to create a copy relationship because the column `%1' in table `%2' already exists in table `%3'!
+ Imposible crear una Relación de dependencia pues la columna `%1' de la tabla `%2' ya existe en la tabla `%3'!
+
+
+
+ Unable to create the generalization relationship because the column `%1' in table `%2' can not be merged with the column `%3' of table `%4' because they have incompatible types!
+ Imposible crear una Relación de generalización pues la columna `%1' de la tabla `%2' no puede ser funcionada con la columna `%3' de la tabla `%4' por ser de tipos incompatibles!
+
+
+
+ Unable to create the generalization relationship because the constraint `%1' in table `%2' can not be merged with the constraint `%3' of table `%4' due to their incompatible composition!
+
+
+
+
+ An attribute can not be added to a copy or generalization relationship!
+ Un atributo no puede ser adicionado a una Relación de generalización o dependencia!
+
+
+
+ A foreign key can not be added to a relationship because is created automatically when this is connected!
+ Una llave estrangera no puede ser adicionado a um Relación pues esta es creada automaticamente en el momento de la conexión de la mismo!
+
+
+
+ The object `%1' (%2) is referencing the object `%3' (%4) which was not found in the model!
+ El objeto `%1' (%2) está referenciando el objeto `%3' (%4) el cual no fue encontrado en la lista de objetos del mismo tipo en el modelo!
+
+
+
+ Reference to an user-defined data type that not exists in the model!
+ Referencia un tipo de dato definido por el usuário el cual no existe en el modelo!
+
+
+
+ Assignment of invalid maximum size to operation list!
+ Asignación de tamaño máximo inválido a lista de operaciones!
+
+
+
+ Unable to write the file or directory `%1'! Make sure the output directory exists, or if the user has write permissions over it!
+ Imposible escribir en el archivo `%1'! Asegurase de que el diretório existe o si el usuário tiene permisos de aceso al mismo!
+
+
+
+ One or more objects were invalidated and automatically removed because they were referencing table columns which were included through relationships and which no longer exists due to disconnection of relationships or exclusion of such generated columns!
+ Uno o más objetos fueron invalidadas y se eliminan de forma automática, ya que se hacer referencia a columnas de tabla que se incluyeron a través de relaciones y que ya no existe debido a la desconexión de las relaciones o la exclusión de tales columnas generadas!
+
+
+
+ The primary key `%1' can only be allocated if declared within a block of code that defines a table or relationship!
+ La llave primaria `%1' sólo puede ser asignada si es declarada dentro de un bloque de código que define una tabla o Relación!
+
+
+
+ Reference to an invalid privilege type!
+ Referencia a un tipo de privilégio inválido!
+
+
+
+ Insertion of a role which already exists in the role list of the permission!
+ La inserción de un rol que ya existe en la lista de roles de los permisos!
+
+
+
+ Assignment of privilege incompatible with the type of object referenced by permission!
+ Asignación de privilegios incompatibles con el tipo de objeto al que hace referencia el permiso!
+
+
+
+ There is already a permission on object `%1' (%2) which has one or more equal roles from those present on permission to be assigned to the object!
+ Ya existe una permiso sobre el objeto `%1' (%2) que tiene uno o más iguales roles de de aquellos presentes en el permiso para ser asignado al objeto!
+
+
+
+ A permission is referencing the object `%1' (%2) which was not found in the model!
+ Una permiso está referenciando al objeto `%1' (%2) el cual no fue encontrado en el modelo!
+
+
+
+ The object `%1' (%2) can not be created because its not being assigned to any schema!
+ El objeto `%1' (%2) no puede ser creado por no estar asignado a ningun esquema!
+
+
+
+ The tablespace `%1' can not be inserted into the model because it points to the same directory as the tablespace `%2'!
+ El tablespace `%1' no puede ser insertado en el modelo pues apunta para el mismo diretório que el tablespace '%2'!
+
+
+
+ It is not possible to create arrays of domains or sequences (dimension >= 1)! PostgreSQL does not yet implement this feature!
+ No es posíble crear arreglos de domínios o secuencias (dimención >= 1)! PostgreSQL todavía no implementa esta funcionalidad!
+
+
+
+ The function `%1' can not get a source code as a definition because its language is set to C. Use the attributes symbol and dynamic library instead!
+ La función `%1' no puede obtener un código fuente como una definición, porque su lenguaje se establece en C. Use el símbolo de atributos y la biblioteca dinámica en su lugar!
+
+
+
+ The function `%1' can have the attributes symbol and dynamic library configured only if the language is set to C. For all other cases you must specify a source code that defines it in the DBMS!
+ La función %1' puede tener el símbolo de atributos y la biblioteca dinámica configurada sólo si el idioma se establece en C. Para todos los demás casos se debe especificar un código fuente que lo define en el SGBD!
+
+
+
+ The operator `%1' can not be assigned as a comutator of operator `%2' because it has incompatible settings!
+ El operador %1'; no puede ser asignado como comutador de operador `%2' porque tiene configuración incompatibles!
+
+
+
+ The operator `%1' can not be assigned as negator of operator `%2' because it has incompatible settings!
+ El operador `%1' no puede ser asignado como negador del operador `%2' porque tiene configuración incompatibles!
+
+
+
+ The type `%1' can not self refer in the attributes `element' or `copy type' or be used as a data type of an attribute in the configuration of a composite type!
+ El tipo `%1' no puede ser referenciado en los atributos `elementos' o `tipo cópia' o ser usado como tipo de dato de un atributo en la configuración de tipo compuesto!
+
+
+
+ Assignment of invalid element to type `%1'!
+ Asignación de elemento no válido con el tipo `%1'!
+
+
+
+ Assignment of invalid alignment to type `%1'!
+ Asignación de elemento no válido con el tipo `%1'!
+
+
+
+ Assignment of invalid name to the table generated from N-N relationship!
+ Asignación de nombre no válido a la tabla genera a partir de la relación N-N!
+
+
+
+ The relationship `%1' can not make use of the special primary key because it is marked as identifier or it is a self relationship!
+ La Relación `%1' no puede hacer uso de la clave primaria especial. Sólo las relaciones de generalización / dependencia tienen acceso a este recurso!
+
+
+
+ The object `%1' (%2) can not be edited or deleted because it was automatically included through a relationship! If the object is an attribute or constraint the modifications must be done on the relationship editing form.
+ El objeto `%1' (%2) no puede ser editado o eliminado porque estaba incluido automáticamente a través de una relación! Para manipular el objeto es necesario hacerlo desde el formulario de edición de la relación que mantiene.
+
+
+
+ The object `%1' (%2) can not be deleted because it is protected!
+ El objeto `%1' (%2) no puede ser excluído por estar protegido!
+
+
+
+ The group `%1' has already been declared earlier!
+ El grupo `%1' ya fue declarado anteriormente!
+
+
+
+ The group `%1' can not be built in the groups declaration block (%2)!
+ El grupo `%1' no puede ser construído en el bloque de declaración de grupos (%2)!
+
+
+
+ The group `%1' was built but not declared in the groups declaration block (%2)!
+ El grupo `%1' fue construído pero no declarado en el bloque de declaración de grupos (%2)!
+
+
+
+ The group `%1' can not be built without possessing child elements!
+ El grupo `%1' no se puede construir sin poseer elementos hijos!
+
+
+
+ The group `%1' can not be built once more because this was done in previous blocks!
+ El grupo `%1' no puede ser construído nuevamente debido a que ya fue construído en el bloque anteriores!
+
+
+
+ The group `%1' has been declared but not built!
+ El grupo `%1' fue declarado pero no construído!
+
+
+
+ Reference to a column of the objects table with invalid index!
+
+
+
+
+ Reference to a row of the objects table with invalid index!
+ Referencia a uaa columna de la tabla de objetos con índice inválido!
+
+
+
+ The object `%1' (%2) can not be manipulated because it is reserved to PostgreSQL! This object is present in the database model only as a reference!
+ El objeto `%1' (%2) no puede ser manipulado porque está reservado para PostgreSQL! Este objeto está presente en el modelo de base de datos sólo como una referencia!
+
+
+
+ The new configuration of the function invalidates the object `%1' (%2)! In this case it is needed to undo the relationship between the affected object and function in order to the new configuration to take effect!
+ La nueva configuración de la función invalida El objeto `%1' (%2)! En este caso se necesita para deshacer la relación entre el objeto afectado y la función de forma que la nueva configuración de este último tenga efecto!
+
+
+
+ A view reference must be used in at least one these SQL scopes: View Definition, SELECT-FROM, FROM-WHERE or After WHERE!
+ Una Referencia de Vista debe tener por lo menos una aplicación SQL: SELECT-FROM, FROM-WHERE o después WHERE!
+
+
+
+ Constraints like primary key, foreign key or unique must have at least one column related to them! For foreign keys must be selected, in addition, the referenced columns!
+ Restricciones como clave primaria, clave externa o único deben tener al menos una columna relacionada con ellos! Para las claves externas se deben seleccionar, además, el columnas referenciadas!
+
+
+
+ Could not find the default settings file `%1'! To restore default settings check the existence of the file and try again!
+ No fue posíble encontrar el archivo de configuración por defecto `%1'! Para restaurar la configuración predeterminada comprobar la existencia del archivo y vuelva a intentarlo!
+
+
+
+ The export process failed due to an error triggered by the PostgreSQL server in an attempt to execute a SQL command. For more details about the error check the exception stack!
+
+** Executed SQL command: **
+
+%1
+ El proceso de exportación falló debido a un error provocado por el servidor PostgreSQL en un intento de ejecutar un comando SQL. Para más detalles sobre el error verificar la excepción pila!
+
+** Comando SQL ejecutado: **
+
+%1
+
+
+
+ Could not load the plugin `%1' from the library `%2'! Message returned by plugin manager: `%3'
+ No fue posible cargar el plugin `%1' a partir de la biblioteca `%2'! Mensaje devuelto por el administrador de plugins: `%3'
+
+
+
+ One or more plugins were not activated due to errors during the loading process! Check the exception stack for more details.
+ Uno o más plugins no se activan debido a errores durante el proceso de carga! Compruebe la pila de la excepción para obtener más detalles.
+
+
+
+ Assignment of empty XML buffer to parser!
+ Asignación de buffer de código XML vacio o parser!
+
+
+
+ Assignment of empty DTD file name!
+ Asignación de nombre de archivo DTD vacio!
+
+
+
+ Assignment of empty name to the DTD declaration!
+ Asignación de nombre vacio para la declaración DTD!
+
+
+
+ Error while interpreting XML buffer at line %1 column %2.
+Message generated by the parser: %3. %4
+ Error mientras se interpretar búfer XML en línea %1 columna %2.
+ Mensage generada por el parser: %3 %4
+
+
+
+ Operation on unallocated element tree! It is necessary to load the XML parser buffer and interpret it so that the tree is generated!
+ Operación de árbol de elementos sin asignar! Es necesario para cargar el tampón parser XML e interpretar de manera que se genera el árbol!
+
+
+
+ Operation with unallocated tree element!
+ Operación con elemento de árbol sin asignar!
+
+
+
+ Operation with element which does not exists in the element tree currently loaded!
+ Existe Funcionamiento con elemento que no lo hace en el árbol de elementos cargados actualmente!
+
+
+
+ Assignment of a value to an invalid connection parameter!
+ Asignación de un valor a un parámetro de conexión no válido!
+
+
+
+ Operation on connection not established!
+ Operación en la conexión no se ha establecido!
+
+
+
+ Attempt to connect without define configuration parameters!
+ Intenta conectarse sin definir los parámetros de configuración!
+
+
+
+ Attempt to start a connection already stablished!
+ Intenta iniciar una conexión ya establecida!
+
+
+
+ Could not connect to the database.
+Message returned: `%1'
+ No se pudo conectar a la base de datos.
+Mensage retornada: `%1'
+
+
+
+ Assignment of not allocated SQL command result!
+ Asignación de no asignados resultado de comandos SQL!
+
+
+
+ Unable to allocate the result of the SQL command because the response from the DBMS was not understood by the client!
+ No se puede asignar el resultado del comando SQL porque la respuesta de los DBMS no fue entendido por el cliente!
+
+
+
+ Unable to allocate command result for the SQL because the server has generated a fatal error!
+Message returned by the DBMS: `%1'
+ No se puede asignar resultado de comandos para el SQL porque el servidor ha generado un error fatal!
+Mensage retornada por el SGBD: `%1'
+
+
+
+ Reference to a column of tuple with invalid index!
+ Referencia a una columna de tupla con índice no válido!
+
+
+
+ Reference to a column of tuple with invalid name!
+ Referencia a una columna de tupla con nombre no válido!
+
+
+
+ Reference to a column of a tuple which was not yet initialized (tuple navigation not started)!
+ Referencia a una columna de una tupla que aún no se ha inicializado (navegación de tupla no iniciado)!
+
+
+
+ Could not execute the SQL command.
+ Message returned: `%1'
+ No se pudo ejecutar el comando SQL.
+ Mensage retornada: %1
+
+
+
+ Assignment of a second definition expression to the view!
+ Asignación de una segunda expresión definición a la vista!
+
+
+
+ It is not possible mix ordinary references (SELECT-FROM, FROM-WHERE, After WHERE) with references used as view SQL definition!
+ No es posible la mezcla referencias ordinarias (SELECT-FROM, FROM-WHERE, After WHERE) con referencias utilizadas como definición SQL de la vista!
+
+
+
+ Assignment of collation object which type is invalid!
+ Asignación de objeto que tipo de colación no es válido!
+
+
+
+ Collations must be created at least with attributes LC_COLLATE and LC_CTYPE defined!
+ Colaciones deben crear al menos con los atributos definidos LC_COLLATE y LC_CTYPE!
+
+
+
+ The object `%1' (%2) cannot reference itself! This operation is not permitted for this kind of object!
+ El objecto `%1' (%2) no se puede hacer referencia a sí mismo! No se permite esta operación para este tipo de objeto!
+
+
+
+ Only operator families which uses `btree' as indexing method are accepted by operator class elements!
+ Sólo las familias de operadores que utiliza ``btree' como método de indexación son aceptados por elementos de clase operador!
+
+
+
+ Reference to an invalid copy table option!
+ Referencia a una opción de tabla de copia no válida!
+
+
+
+ Copy relationship between tables `%1' and `%2' cannot be done because the first one already copies attributes from `%3'! Tables can have only one copy table!
+ Copia relación entre las tablas %1' y `%2' no se puede hacer porque el primero ya copias de los atributos `%3'! Las tablas pueden tener sólo una mesa de copia!
+
+
+
+ The INSTEAD OF mode cannot be used on triggers that belongs to tables! This is available only for view triggers!
+ El modo INSTEAD OF no se puede utilizar en los triggers que pertenece a tabla! Este servicio está disponible sólo para ver triggers!
+
+
+
+ The TRUNCATE event can only be used when the trigger executes for each statement and belongs to a table!
+ El evento TRUNCATE sólo se puede utilizar cuando el disparador se ejecuta para cada declaración y pertenece a una mesa!
+
+
+
+ The INSTEAD OF mode cannot be used on view triggers that executes for each statement!
+ El modo INSTEAD OF no puede ser utilizado en vista desencadenantes que ejecuta para cada declaración!
+
+
+
+ Constraint triggers can only be executed on AFTER events and for each row!
+ Restricciones de triggers de sólo pueden ejecutarse en eventos AFTER y para cada fila!
+
+
+
+ A view trigger cannot be AFTER/BEFORE when it executes for each row!
+ Un trigger de vista no puede ser AFTER/BEFORE cuando se ejecuta para cada fila!
+
+
+
+ A trigger cannot make reference to columns when using INSTEAD OF mode and UPDATE event!
+ Un trigger no puede hacer referencia a las columnas cuando se utiliza el modo INSTEAD OF y el evento UPDATE!
+
+
+
+ Assignment of a column which has no parent table to the object `%1' (%2)!
+ Asignación de una columna que no tiene ninguna tabla padre al objeto `%1' (%2)!
+
+
+
+ Only constraint triggers can be deferrable or reference another table!
+ Solo las restricción de triggers pueden ser prorrogable o hacer referencia a otra tabla!
+
+
+
+ The operator class assigned to the object `%1' (%2) must use `btree' as indexing method!
+ El operador de clase asignado al objeto `%1' (%2) puede usar `btree' como metodo de indexado!
+
+
+
+ The validation process failed due to an error triggered by the validation helper. For more details about the error check the exception stack!
+ El proceso de validación ha fallado debido a un error provocado por el ayudante de validación. Para más detalles sobre el error verificar la excepción pila!
+
+
+
+ The extension `%1' is registered as a data type and cannot have the attribute `handles datatype' modified!
+ La extensión `%1' se registra como un tipo de datos y no se puede tener el atributo `handles datatype' modificado!
+
+
+
+ The fk relationship `%1' cannot be created because the foreign-key that represents it was not created on table `%2'!
+ La relación fk `%1' no se puede crear porque la clave externa que representa no se ha creado en la tabla `%2'!
+
+
+
+ Assignement of an invalid object name pattern to the relationship `%1'!
+ Asignacion de un patrón de nombre de objeto no válido a la relación `%1'!
+
+
+
+ Reference to an invalid object name pattern id on the relationship `%1'!
+ Referencia a un inválido nombre del objeto patrón Identificación de la relación `%1'!
+
+
+
+ Mixing incompatibles DBMS export modes: `ignore object duplications', `drop database' or `drop objects' cannot be used with `simulate export'!
+ Mezcla incompatibles del SGDB en modos de exportación: `ignore object duplications', `drop database' or `drop objects' no se puede utilizar con `simulate export'!
+
+
+
+ Mixing incompatibles DROP options: `drop database' and `drop objects' cannot be used at the same time!
+ Mezcla incompatibles en la opción DROP: `drop database' y `drop objects' no puede ser utilizado al mismo tiempo!
+
+
+
+ Invalid object id swapping operation! The objects involved are the same!
+ Invalida operación de intercambio del objeto id! Los objetos involucrados son lo mismo!
+
+
+
+ Invalid object id swapping operation! The database itself, tablespaces or roles cannot have the ids swapped!
+ Invalida operación de intercambio del objeto id! La propia base de datos, tablespaces o roles no pueden tener los ids de intercambiar!
+
+
+
+ The widget already has a parent and cannot be assigned to a different object!
+ El widget de ya cuenta con uno de los padres y no puede ser asignado a un objeto diferente!
+
+
+
+ Could not load the database model file `%1'. Check the error stack to see details. Try to run `pgmodeler-cli --fix-model' in order to correct the structure of the file if that is the case.
+ No se pudo cargar el archivo de modelo de base de datos `%1'. Compruebe la pila de errores para ver los detalles. Intente ejecutar `pgmodeler-cli --fix-model' con el fin de corregir la estructura del archivo si ese es el caso.
+
+
+
+ The column `%1' cannot reference it's parent table `%2' as data type!
+ La columna `%1' no puede hacer referencia es la tabla padre `%2' como tipo de datos!
+
+
+
+ Operation with an invalid element id `%1'!
+ Operación con un elemento id `%1' no válido!
+
+
+
+ Reference to an invalid color id `%1' for element `%2'!
+ La referencia a un id `%1' de color no válido para el elemento `%2'!
+
+
+
+ The sequence `%1' can't be assigned to the column `%2' because the data type of the latter is incompatible. The type used must be an integer one!
+ La secuencia `%1' no puede ser asignada a la columna `%2' debido a que el tipo de datos de este último es incompatible. El tipo que se utiliza debe ser un número entero!
+
+
+
+ The option to generate temporary object names can only be used in simulation mode!
+ La opción para generar nombres de objeto temporal sólo se puede utilizar en el modo de simulación!
+
+
+
+ Could not assign the variable `%1' to event trigger's filter. Currently, PostgreSQL supports only the `TAG' variable!
+ No se pudo asignar la variable `%1' al filtrar el evento trigger's. Actualmente, PostgreSQL soporta sólo la variable `TAG'!
+
+
+
+ Could not perform the `%1' operation on `%2' using the data on row `%3'! All changes were rolled back.
+
+ ** Returned error **
+
+%4
+ No se pudo realizar la operación `%1' en `%2' usando el dato en la fila `%3'! Todos los cambios fueron deshacen.
+
+ ** Error retornado **
+
+%4
+
+
+
+ Malformed unescaped value on row `%1' column `%2'!
+ Valor sin escapar con formato incorrecto en la fila `%1' columna `%2'!
+
+
+
+ The object `%1' (%2) can't be handled because some needed fields are not set! Please, make sure to fill at least the requires fields in order to properly create or update the object.
+ El objeto `%1' (%2) no se pueden manejar debido a que algunos campos necesarios no están ajustados! Por favor, asegúrese de llenar al menos la requiere campos con el fin de crear o actualizar correctamente el objeto.
+
+
+
+ A relationship can only be swapped by other object of the same kind!
+ Una relación sólo puede ser intercambiado por otro objeto del mismo tipo!
+
+
+
+ ExtensionWidget
+
+
+ Version:
+ Versión:
+
+
+
+ Old Version:
+ Versión Antigua:
+
+
+
+ This attribute cannot be changed once the object is created.
+ Este atributo no se puede cambiar una vez que se crea el objeto.
+
+
+
+ Handles data type
+ Tipo de datos Handles
+
+
+
+ FindReplaceWidget
+
+
+ Form
+ Formulario
+
+
+
+ Hide this widget
+ Ocultar este widget
+
+
+
+ ...
+ ...
+
+
+
+ Replace one occurrence
+ Reemplazar una ocurrencia
+
+
+
+ Replace
+ Reemplazar
+
+
+
+ Replace all occurrences
+ Reemplazar todas las ocurrencias
+
+
+
+ Replace All
+ Reemplazar todas
+
+
+
+ Replace the selection and find the next one
+ Reemplace la selección y buscar la siguiente
+
+
+
+ Replace && Find
+ Reemplazar && Buscar
+
+
+
+ Replace:
+ Reemplazar:
+
+
+
+ Find:
+ Buscar:
+
+
+
+ Find previous
+ Buscar anterior
+
+
+
+ Shift+F3
+ Shift+F3
+
+
+
+ Find next
+ Buscar siguiente
+
+
+
+ F3
+ F3
+
+
+
+ Case sensitive
+ Caso sensible
+
+
+
+ Regular expression
+ Expresón regular
+
+
+
+ Whole words
+ Palabras completas
+
+
+
+ FunctionWidget
+
+
+ Attributes
+ Atributos
+
+
+
+ Security:
+ Seguridad:
+
+
+
+ Function Type:
+ Tipo de Función:
+
+
+
+ Rows Returned:
+ Filas Retornadas:
+
+
+
+ Return Method:
+ Método de Retorno:
+
+
+
+ Behavior:
+ Comportamiento:
+
+
+
+ Set
+ Conjunto
+
+
+
+ Language:
+
+
+
+
+ Si&mple
+
+
+
+
+ Tab&le
+
+
+
+
+ Return Table
+ Tabla de retorno
+
+
+
+ Execution Cost:
+ Costo ejecución:
+
+
+
+ Windown Func.
+ Func. Ventana.
+
+
+
+ Leakproof
+ Prueba de fugas
+
+
+
+ Parameters
+ Parámetros
+
+
+
+ Definition
+ Definición
+
+
+
+ Dynamic Library:
+ Biblioteca Dinámica:
+
+
+
+ Symbol:
+ Símbolo:
+
+
+
+ Library:
+ Biblioteca:
+
+
+
+ Source code:
+ Código fuente:
+
+
+
+ Column
+ Columna
+
+
+
+
+ Type
+ Tipo
+
+
+
+ Name
+ Nombre
+
+
+
+ Mode
+ Modo
+
+
+
+ Default Value
+ Valor por defecto
+
+
+
+ GeneralConfigWidget
+
+
+ Form
+ Formulario
+
+
+
+ General && Design
+ Diseño && General
+
+
+
+ General
+ General
+
+
+
+ Operation history:
+ Histórico de operaciones:
+
+
+
+ Check if there is a new version on server
+ Compruebe si hay una nueva versión en el servidor
+
+
+
+ Design
+ Diseño
+
+
+
+ Graphical objects (table, views and textboxes) will be created in a single step without the need to click on canvas
+ Los objetos gráficos (mesa, puntos de vista y los cuadros de texto) se crearán en un solo paso sin la necesidad de hacer clic sobre lienzo
+
+
+
+ Simplify creation of graphical objects
+ Simplificar la creación de objetos gráficos
+
+
+
+ After loading the model the last zoom and position on canvas will be restored
+ Después de cargar el modelo se restaurará el último zoom y la posición en la lona
+
+
+
+ Save and restore last position and zoom
+ Salvar y restaurar la última posición y el zoom
+
+
+
+ Disable render smoothness
+ Deshabilitar renderizado suave
+ Deshabilitar render suave
+
+
+
+ Hide the object that represents the relationship name
+ Ocultar el objeto que representa el nombre de relación
+
+
+
+ Hide relationship name
+ Ocultar nombre de la relación
+
+
+
+ Validate before save, export or diff
+ Validar antes de guardar, exportar o diff
+
+
+
+ Hide the object which represents the tag assigned to the table
+ Ocultar el objeto que representa la etiqueta asignada a la tabla
+
+
+
+ Hide table tags
+ Ocultar etiquetas de tabla
+
+
+
+ Start move the canvas when the cursor is on the canvas edges
+ Iniciar mover el lienzo cuando el cursor está en los bordes de la lona
+
+
+
+ Move canvas by keep mouse on corners
+ Mueva la lona por el ratón torreón en las esquinas
+
+
+
+ Hide the portion of table which represent triggers, indexes and rules
+ Ocultar la parte de la tabla que representan triggers, índices y reglas
+
+
+
+ Hide table extended attributes
+ Ocultar atributos de tabla extendida
+
+
+
+ Enable SQL code completion
+ Activar autocompletado de código SQL
+
+
+
+ Printing && Code
+ Imprimir && Cógigo
+
+
+
+ pt
+ pt
+
+
+
+ Size:
+ Tamaño:
+
+
+
+ Font:
+ Fuente:
+
+
+
+ Printing
+ Imprimiendo
+
+
+
+
+ Options:
+ Opciones:
+
+
+
+ Disable antialiasing for lines and texts improving performance when handling huge models.
+
+
+
+
+ Triggers a dialog asking the user to validate the model before a save, export or diff operation.
+
+
+
+
+ When enabled this option creates a placeholder object at the previous table's position when starting to move it. This will cause graphical updates on relationship lines to be performed only when the drag & drop action is done improving the performance. Disabling placeholders will cause those updates to be executed every time the table's position changes a single pixel (classical behavior).
+
+
+
+
+ Use placeholders when moving tables
+
+
+
+
+ Toggles the code completion in all fields that accepts the input of SQL commands.
+
+
+
+
+ Minimum object opacity (%):
+
+
+
+
+ Defines the minimum opacity percentage applied to the objects when using the fade out feature. A zero opacity causes the object to be completely hidden not being possible to interact with it in the canvas area.
+
+
+
+
+ Canvas grid size:
+
+
+
+
+ Defines the vertical and horizontal grid size. This value affects the spacing of objects when using object grid alignment feature.
+
+
+
+
+ By default the range selection is triggered with Shift + left click. By checking this option range selection will be activated only with a single click and move.
+
+
+
+
+ Trigger range selection with a single click
+
+
+
+
+ Defines the maximum amount of elements held in the operation history. Once reached the maximum number the history is automatically cleaned.
+
+
+
+
+ Defines the period when the opened models will be saved automatically.
+
+
+
+
+ Autosave interval (minutes):
+
+
+
+
+ Replaces any straight line in relationship by curved ones in order to improve the model's visualization.
+
+
+
+
+ Use curved lines for relationships
+
+
+
+
+ SQL history max. length:
+
+
+
+
+ Souce code editor:
+
+
+
+
+ lines
+ lineas
+
+
+
+ Clear the entire SQL comand history.
+
+
+
+
+ Clear history
+ Limpiar historial
+
+
+
+ Configurations directory:
+ Directorio de configuraciones:
+
+
+
+ Browse the source code editor application
+ Examinar la aplicación del editor de código fuente
+
+
+
+ Open in file manager
+ Abrir en el administrador de archivos
+
+
+
+ Check updates at startup
+ Comprobar actualizaciones al inicio
+
+
+
+ Souce code editor args:
+
+
+
+
+ User interface language:
+ Idioma de la interfaz de usuario:
+
+
+
+ Overrides the default user interface language defined by the system. Requires restarting the program. <strong>NOTE:</strong> UI translations are third party collaborations thus any typo or mistake should be reported directly to their respective maintainers.
+
+
+
+
+ Code style
+
+
+
+
+ Colors:
+ Colores:
+
+
+
+ Display line numbers
+
+
+
+
+ Highlight lines at cursor's position
+
+
+
+
+ Custom tab width:
+
+
+
+
+ Print grid
+ Imprimir cuadrícula
+
+
+
+ Print page numbers
+ Imprimir número de página
+
+
+
+ Paper:
+ Papel:
+
+
+
+ A0 (841 x 1189 mm)
+ A0 (841 x 1189 mm)
+
+
+
+ A1 (594 x 841 mm)
+ A1 (594 x 841 mm)
+
+
+
+ A2 (420 x 594 mm)
+ A2 (420 x 594 mm)
+
+
+
+ A3 (297 x 420 mm)
+ A3 (297 x 420 mm)
+
+
+
+ A4 (210 x 297 mm)
+ A4 (210 x 297 mm)
+
+
+
+ A5 (148 x 210 mm)
+ A5 (148 x 210 mm)
+
+
+
+ A6 (105 x 148 mm)
+ A6 (105 x 148 mm)
+
+
+
+ A7 (74 x 105 mm)
+ A7 (74 x 105 mm)
+
+
+
+ A8 (52 x 74 mm)
+ A8 (52 x 74 mm)
+
+
+
+ A9 (37 x 52 mm)
+ A9 (37 x 52 mm)
+
+
+
+ B0 (1030 x 1456 mm)
+ B0 (1030 x 1456 mm)
+
+
+
+ B1 (728 x 1030 mm)
+ B1 (728 x 1030 mm)
+
+
+
+ B10 (32 x 45 mm)
+ B10 (32 x 45 mm)
+
+
+
+ B2 (515 x 728 mm)
+ B2 (515 x 728 mm)
+
+
+
+ B3 (364 x 515 mm)
+ B3 (364 x 515 mm)
+
+
+
+ B4 (257 x 364 mm)
+ B4 (257 x 364 mm)
+
+
+
+ B5 (182 x 257 mm)
+ B5 (182 x 257 mm)
+
+
+
+ B6 (128 x 182 mm)
+ B6 (128 x 182 mm)
+
+
+
+ B7 (91 x 128 mm)
+ B7 (91 x 128 mm)
+
+
+
+ B8 (64 x 91 mm)
+ B8 (64 x 91 mm)
+
+
+
+ B9 (45 x 64 mm)
+ B9 (45 x 64 mm)
+
+
+
+ C5E (163 x 229 mm)
+ C5E (163 x 229 mm)
+
+
+
+ Comm10E (105 x 241 mm)
+ Comm10E (105 x 241 mm)
+
+
+
+ DLE (110 x 220 mm)
+ DLE (110 x 220 mm)
+
+
+
+ Executive (191 x 254 mm)
+ Ejecutivo (191 x 254 mm)
+
+
+
+ Folio (210 x 330 mm)
+ Folio (210 x 330 mm)
+
+
+
+ Ledger (432 x 279 mm)
+ Ledger (432 x 279 mm)
+
+
+
+ Legal (216 x 356 mm)
+ Legal (216 x 356 mm)
+
+
+
+ Letter (216 x 279 mm)
+ Carta (216 x 279 mm)
+
+
+
+ Tabloid (279 x 432 mm)
+ Tabloid (279 x 432 mm)
+
+
+
+ Custom
+ Personalizar
+
+
+
+ Orientation:
+ Orientación:
+
+
+
+ Landscape
+ Landscape
+
+
+
+ Portrait
+ Portrait
+
+
+
+ Unity:
+ Unidad:
+
+
+
+ Custom Size:
+ Tamaño Personalizado:
+
+
+
+ Width:
+ Ancho:
+
+
+
+ Height:
+ Altura:
+
+
+
+ Page Margins:
+ Márgenes de página:
+
+
+
+ Left:
+ Izquierdo:
+
+
+
+ Left margin
+ Margen izquierdo
+
+
+
+ Top:
+ Superior:
+
+
+
+ Top margin
+ Margen superior
+
+
+
+ Right:
+ Derecho:
+
+
+
+ Right margin
+ Margen derecho
+
+
+
+ Bottom:
+ Inferior:
+
+
+
+ Bottom margin
+ Margen inferior
+
+
+
+ Milimeters
+ Milímetros
+
+
+
+ Pixels
+ Pixeles
+
+
+
+ Inches
+ Pulgadas
+
+
+
+ Centimeter
+ Centímetros
+
+
+
+ Line numbers' font color
+
+
+
+
+ Line numbers' background color
+
+
+
+
+ Highlighted line color
+
+
+
+
+ The little brown fox jumps over the lazy dog
+
+
+
+
+ System default
+
+
+
+
+ All files (*.*)
+
+
+
+
+ Load file
+
+
+
+
+ GenericSQLWidget
+
+
+ SQL code
+ Código SQL
+
+
+
+ HintTextWidget
+
+
+ Form
+ Formulario
+
+
+
+ IndexWidget
+
+
+ Attributes
+ Atributos
+
+
+
+ Indexing:
+ Indexación:
+
+
+
+ Fill Factor:
+ Factor Relleno:
+
+
+
+ Options:
+ Opciones:
+
+
+
+ Concurrent
+ Concurrente
+
+
+
+ Unique
+ Unico
+
+
+
+ Fast update
+ Actual. Rápida
+
+
+
+ Buffering
+ Buffering
+
+
+
+ Predicate:
+ Predicado:
+
+
+
+ Elements
+ Elementos
+
+
+
+ LanguageWidget
+
+
+ Trusted:
+ Confiable:
+
+
+
+ Validator Func.:
+ Func. Validador:
+
+
+
+ Handler Func.:
+ Func. Handler:
+
+
+
+ Inline Func.:
+ Func. en linea:
+
+
+
+ The functions to be assigned to the language should have, respectively, the following signatures:<br/><br/> <strong>Handler Function:</strong> <em>language_handler function()</em><br/> <strong>Validator Function:</strong> <em>void function(oid)</em><br/> <strong>Inline Function:</strong> <em>void function(internal)</em>
+ Las funciones que se asignará a el lenguaje debe tener, respectivamente, las siguientes firmas:<br/><br/> <strong>Función Handler:</strong> <em>language_handler funcao()</em><br/> <strong>Función Validador:</strong> <em>void funcao(oid)</em><br/> <strong>Función en línea:</strong> <em>void funcao(internal)</em>
+
+
+
+ MainWindow
+
+
+ pgModeler - PostgreSQL Database Modeler
+ pgModeler - Modelador de Base de datos PostgreSQL
+
+
+
+ Toggle the model objects widget
+ Cambiar el modelo de objetos del widget
+
+
+
+ O&bjects
+ O&bjectos
+
+
+
+ Alt+B
+ Alt+B
+
+
+
+ Toogle the model validation widgets
+ Cambiar el modelo de validación del widgets
+
+
+
+ &Validation
+ &Validación
+
+
+
+ Alt+V
+ Alt+V
+
+
+
+ Toggle the operation history widget
+ Cambiar el historial de operaciones del widget
+
+
+
+ &Operations
+ &Operaciones
+
+
+
+ Alt+O
+ Alt+O
+
+
+
+ Toggle the object finder
+ Cambiar el buscador objeto
+
+
+
+ Find Object
+ Buscar Objeto
+
+
+
+ Ctrl+F
+ Ctrl+F
+
+
+
+ &File
+ &Archivo
+
+
+
+ &Edit
+ &Editar
+
+
+
+ &Show
+ &Mostrar
+
+
+
+ General
+ General
+
+
+
+ Controls
+ Controles
+
+
+
+ &Load
+ &Cargar
+
+
+
+ Sa&ve as
+
+
+
+
+ E&xit
+ &Salir
+
+
+
+ Exit pgModeler
+ Salir de pgModeler
+
+
+
+ &About pgModeler
+ &Acerca de pgModeler
+
+
+
+ &Print
+ Im&primir
+
+
+
+ Print model
+ Imprimir modelo
+
+
+
+ &Undo
+
+
+
+
+ Undo operation
+
+
+
+
+ &Redo
+
+
+
+
+ Redo operation
+
+
+
+
+ &Export
+ &Exportar
+
+
+
+ Ctrl+Shift+E
+
+
+
+
+ &Show grid
+ Mostrar &grid
+
+
+
+ &Close
+ &Cerrar
+
+
+
+ &Normal zoom
+
+
+
+
+ &Align to grid
+ &Alinear a la cuadrícula
+
+
+
+ Show &delimiters
+ Mostrar &delimitadores
+
+
+
+ &Settings
+ &Configuración
+
+
+
+ F12
+ F12
+
+
+
+ &Overview
+
+
+
+
+ &Support
+ &Soporte
+
+
+
+ Access the support page
+ Acceder a la página de soporte
+
+
+
+ New
+ Nuevo
+
+
+
+ &Diff
+ &Diff
+
+
+
+ Determine the changes between model/database and another database
+
+
+
+
+ Design database models
+
+
+
+
+ Shift+D
+
+
+
+
+ Shift+M
+
+
+
+
+ &Bug report
+
+
+
+
+ Report a bug
+ Reportar un error
+
+
+
+ Donate
+ Donar
+
+
+
+ Help pgModeler by donating!
+ ¡Ayuda a pgModeler donando!
+
+
+
+ Objects me&tadata
+
+
+
+
+ Objects metadata
+
+
+
+
+ Arrange objects
+
+
+
+
+ Rearrange objects over the canvas
+
+
+
+
+ Ctrl+N
+ Ctrl+N
+
+
+
+ Ctrl+S
+ Ctrl+S
+
+
+
+ Zoom in
+ Zoom +
+
+
+
+ Ctrl+=
+ Ctrl+=
+
+
+
+ Zoom out
+ Zoom -
+
+
+
+ Zoom -
+ Zoom -
+
+
+
+ He&lp
+ A&yuda
+
+
+
+ Pl&ugins
+
+
+
+
+ &New
+ &Nuevo
+
+
+
+ New model
+ Nuevo modelo
+
+
+
+ &Save
+ &Guardar
+
+
+
+ &Zoom in
+
+
+
+
+ Zoo&m out
+
+
+
+
+ Ctrl+-
+ >Ctrl+-
+
+
+
+ Ctrl+O
+ Ctrl+O
+
+
+
+ Ctrl+Q
+ Ctrl+Q
+
+
+
+ F4
+ F4
+
+
+
+ Ctrl+P
+ Ctrl+P
+
+
+
+ Ctrl+Z
+ Ctrl+Z
+
+
+
+ Ctrl+Y
+ Ctrl+Y
+
+
+
+ Export the current opened model in different modes
+ Exportar el modelo abierto actual en diferentes modos
+
+
+
+ &Recent Models
+ &Modelos Recientes
+
+
+
+ &Import
+ &Importar
+
+
+
+ Rest&ore Session
+ &Restaurar Sesión
+
+
+
+ &Fix a model
+ Arreglar un modelo
+
+
+
+ &Check for update
+ &Buscar actualizaciones
+
+
+
+ Ctrl+Shift+S
+ Ctrl+Shift+S
+
+
+
+ Show grid
+ Mostrar cuadrícula
+
+
+
+ Ctrl+G
+ Ctrl+G
+
+
+
+ Close current model
+ Cerrar modelo actual
+
+
+
+ Ctrl+W
+ Ctrl+W
+
+
+
+ Ctrl+0
+ Ctrl+0
+
+
+
+ Align objects position to grid
+ Alinear la posición de los objetos con la cuadrícula
+
+
+
+ Ctrl+H
+ Ctrl+H
+
+
+
+ Show the page delimiters
+ Mostrar los delimitadores de la página
+
+
+
+ Ctrl+L
+ Ctrl+L
+
+
+
+ Edit pgModeler settings
+ Editar configuraciones de pgModeler
+
+
+
+ Save all
+ Guardar todo
+
+
+
+ Show the model overview
+ Mostrar visión general del modelo
+
+
+
+ F10
+ F10
+
+
+
+ F1
+ F1
+
+
+
+ New object
+
+
+
+
+ Plugins
+ Plugins
+
+
+
+ Access the list of loaded plugins
+ Acceda a la lista de plugins cargados
+
+
+
+ Load recently opened model
+ Cargar modelos abiertos recientemente
+
+
+
+ Import existing database to new model (reverse engineering)
+ Importación de base de datos existente para nuevo modelo (ingeniería inversa)
+
+
+
+ Ctrl+Shift+I
+ Ctrl+Shift+I
+
+
+
+ New version found!
+ Nueva versión encontrado!
+
+
+
+ Update for the current version is available on project's site
+ Actualización para la versión actual está disponible en el sitio del proyecto
+
+
+
+ action_main_menu
+ action_main_menu
+
+
+
+ Main menu
+ Menú principal
+
+
+
+ Show expanded
+ Mostrar expandido
+
+
+
+ Expands the main menu bar in classical mode
+ Expande la barra de menú principal en el modo clásico
+
+
+
+ Hide main menu
+ Ocultar menú principal
+
+
+
+ Hides the main menu bar and put the action on a separated action
+ Oculta la barra de menú principal y poner la acción en una acción separada
+
+
+
+ Ctrl+Shift+H
+ Ctrl+Shift+H
+
+
+
+ Ctrl+Shift+D
+
+
+
+
+ Welcome
+ Bienvenidos
+
+
+
+ Welcome screen
+ Pantalla de bienvenida
+
+
+
+ Shift+W
+
+
+
+
+ Design
+ Diseño
+
+
+
+ Manage
+ Administrar
+
+
+
+ Manage existent databases
+ Administrar base de datos existentes
+
+
+
+ (Demo)
+ (Demo)
+
+
+
+ Saving temp. models
+ Guardando modelos temp
+
+
+
+ Clear Menu
+ Limpiar Menú
+
+
+
+ The demonstration version can create only `one' instance of database model!
+ La versión de demostración sólo puede crear `una' instancia de modelo de base de datos!
+
+
+
+
+ Save model
+ Guardar Modelo
+
+
+
+ Save modified model(s)
+ Guardar modelo(s) modificado(s)
+
+
+
+ The following models were modified but not saved: %1. Do you really want to quit pgModeler?
+ Los siguientes modelos fueron modificados pero no guardados: %1. ¿De verdad quieres salir de pgModeler?
+
+
+
+ The model <strong>%1</strong> was modified! Do you really want to close without save it?
+ Se ha modificado el modelo <strong>%1</strong>. ¿Realmente quieres cerrar sin guardarlo?
+
+
+
+
+ Warning
+ Advertencia
+
+
+
+ You're running a demonstration version! The model saving feature is available only in the full version!
+ Usted está ejecutando una versión de demostración! La función de ahorro de modelo está disponible sólo en la versión completa!
+
+
+
+
+
+ Confirmation
+ Confirmación
+
+
+
+ <strong>WARNING:</strong> The model <strong>%1</strong> is invalidated! It's recommended to validate it before save in order to create a consistent model otherwise the generated file will be broken demanding manual fixes to be loadable again!
+ <strong>ADVERTENCIA:</strong> El modelo <strong>%1</strong> está invalidado! Se recomienda para validarlo antes de guardar con el fin de crear un modelo coherente de lo contrario el archivo generado se romperá exigiendo correcciones manuales que sea cargable de nuevo!
+
+
+
+ Save anyway
+ Guardar de todos modos
+
+
+
+
+
+ Validate
+ Validar
+
+
+
+ Save '%1' as...
+ Guardar '%1' como...
+
+
+
+
+ Database model (*.dbm);;All files (*.*)
+ Modelo de base de datos (*.dbm);; Todos los arquivos (*.*)
+
+
+
+ Access support page
+
+
+
+
+ You're running a demonstration version! Note that you'll be able to create only <strong>%1</strong> instances of each type of object and some key features will be disabled or limited!<br/><br/>You can purchase a full binary copy or get the source code at <a href='http://pgmodeler.com.br'>pgmodeler.com.br</a>. <strong>NOTE:</strong> pgModeler is an open source software, but purchasing binary copies or providing some donations will support the project and cover all development costs.<br/><br/> <strong>HINT:</strong> in order to test all features it's recommended to use the <strong>demo.dbm</strong> model located in </strong>Sample models</strong> at <strong>Welcome</strong> view.<br/><br/><br/><br/>
+
+
+
+
+ Rearrange objects over the canvas is an irreversible operation! Would like to proceed?
+
+
+
+
+ <strong>WARNING:</strong> The model <strong>%1</strong> is invalidated! Before run the export process it's recommended to validate in order to correctly create the objects on database server!
+ <strong>ADVERTENCIA:</strong> El modelo <strong>%1</strong> está invalidado. Antes de ejecutar el proceso de exportación se recomienda validar para crear correctamente los objetos en el servidor de base de datos!
+
+
+
+ Grid
+
+
+
+
+ Hierarchical
+
+
+
+
+ Scattered
+
+
+
+
+ Export anyway
+ Exportar de todas modos
+
+
+
+ <strong>WARNING:</strong> The model <strong>%1</strong> is invalidated! Before run the diff process it's recommended to validate in order to correctly analyze and generate the difference between the model and a database!
+ <strong>ADVERTENCIA:</strong> El modelo <strong>%1</strong> está invalidado! Antes ejecutar el proceso diff se recomienda para validar el fin de analizar correctamente y generar la diferencia entre el modelo y una base de datos!
+
+
+
+ Diff anyway
+ Diff de todas modo
+
+
+
+ Database model printing
+ Imprimir modelo de Base de datos
+
+
+
+ Changes were detected in the definitions of paper/margin of the model which may cause the incorrect print of the objects. Do you want to continue printing using the new settings? To use the default settings click 'No' or 'Cancel' to abort printing.
+ Se detectaron cambios en las definiciones de papel / margen del modelo que pueden causar la impresión incorrecta de los objetos. ¿Quieres continuar con la impresión utilizando la nueva configuración? Para utilizar la configuración predeterminada, haga clic 'No' o 'Cancel' para abortar la impresión.
+
+
+
+ Load model
+ Cargar modelo
+
+
+
+ Could not load the database model file `%1'. Check the error stack to see details. You can try to fix it in order to make it loadable again.
+ No se pudo cargar el archivo de modelo de base de datos `%1'. Compruebe la pila de errores para ver los detalles. Usted puede tratar de arreglarlo con el fin de hacer que se puede cargar de nuevo.
+
+
+
+ Fix model
+ Fijar modelo
+
+
+
+ Cancel
+ Cancelar
+
+
+
+ This action will open a web browser window! Want to proceed?
+ Esta acción abrirá una ventana del navegador web! ¿Quieres continuar?
+
+
+
+ (no samples found)
+ (no hay ejemplos encontrados)
+
+
+
+ save
+ guardar
+
+
+
+ export
+ exportar
+
+
+
+ diff
+ diff
+
+
+
+ Executing pending <strong>%1</strong> operation...
+ Ejecución de operarienes pendientes <strong>%1</strong>...
+
+
+
+ Messagebox
+
+
+ Dialog
+ Diálogo
+
+
+
+ msg
+ msg
+
+
+
+ Exceptions
+ Excepciones
+
+
+
+ Show raw text errors or information.
+ Mostrar errores de texto crudos o información.
+
+
+
+ Show/hide exceptions stack.
+ Mostrar/ocultar pila excepciones.
+
+
+
+ ...
+ ...
+
+
+
+
+ &Yes
+ &Si
+
+
+
+
+ &No
+ &No
+
+
+
+ Cancel
+ Cancelar
+
+
+
+ &Ok
+ &Ok
+
+
+
+ &Cancel
+ &Cancelar
+
+
+
+ Error
+ Error
+
+
+
+ Alert
+ Alerta
+
+
+
+ Information
+ Información
+
+
+
+ Confirmation
+ Confirmación
+
+
+
+ MetadataHandlingForm
+
+
+ Handle metadata
+
+
+
+
+ &Apply
+ &Aplicar
+
+
+
+ &Cancel
+
+
+
+
+ Handle objects metadata
+
+
+
+
+ Settings
+
+
+
+
+ Extract from:
+
+
+
+
+ Loading a metadata file to the current model is an irreversible operation so be sure to specify a backup file before proceed.
+
+
+
+
+ Options
+ Opciones
+
+
+
+ Handles the following database model attributes in the metadata file: author, zoom factor, last position and default objects.
+
+
+
+
+ Database model metadata
+
+
+
+
+ Handles the objects' positioning in the metadata file.
+
+
+
+
+ Objects' positioning
+
+
+
+
+ Handles the objects' custom colors in the metadata file. Currently available only for relationships and schemas.
+
+
+
+
+ Custom object's colors
+
+
+
+
+ Handles the objects' protection status in the metadata file.
+
+
+
+
+ Objects' protection status
+
+
+
+
+ Handles the objects' SQL disabled status in the metadata file.
+
+
+
+
+ Objects' SQL disabled status
+
+
+
+
+ Handles the objects' fade out status in the metadata file.
+
+
+
+
+ Objects' fade out status
+
+
+
+
+ Save tags to the output file when extracting metadata. When loading the file, the tags are recreated and duplicated ones are ignored.
+
+
+
+
+ Save textboxes to the output file when extracting metadata. When loading the file, the textboxes are recreated and duplicated ones are ignored.
+
+
+
+
+ Handles the objects' custom SQL commands in the metadata file.
+
+
+
+
+ Custom SQL commands
+
+
+
+
+ Textbox objects
+
+
+
+
+ Tag objects
+
+
+
+
+ Handles the tables' and views' extended attributes display status in the metadata file.
+
+
+
+
+ Tables' extended attributes display
+
+
+
+
+ Save generic SQL objects to the output file when extracting metadata. When loading the file, the objects are recreated and duplicated ones are ignored.
+
+
+
+
+ Generic SQL objects
+
+
+
+
+ Backup file:
+
+
+
+
+
+ Select file
+
+
+
+
+ ...
+ ...
+
+
+
+ Extracts the objects' metadata from the loaded models and apply to the current focused model. A backup file can be specified to where the focused model's current metadata will be saved.
+
+
+
+
+ &Extract and restore
+
+
+
+
+ Extracts the objects metadata from one of the loaded models saving the info to a backup file.
+
+
+
+
+ Extract &only
+
+
+
+
+ Reads the objects' metadata from a previously saved backup file and apply to the current model.
+
+
+
+
+ &Restore a backup file
+
+
+
+
+ Apply to:
+
+
+
+
+ Operation:
+
+
+
+
+ Output
+ Salida
+
+
+
+ Progress label...
+
+
+
+
+
+ model not saved yet
+
+
+
+
+ The backup file cannot be the same as the input model!
+
+
+
+
+ Extracting metadata to file `%1'
+
+
+
+
+ Saving backup metadata to file `%1'
+
+
+
+
+ Applying metadata from file `%1'
+
+
+
+
+ Metadata processing aborted!
+
+
+
+
+ Objects metadata file (*.omf);;All files (*.*)
+
+
+
+
+ ModelDatabaseDiffForm
+
+
+ Settings
+ Configuraciones
+
+
+
+
+ Connection:
+ Conexión:
+
+
+
+ ...
+ ...
+
+
+
+
+
+ Database:
+ bases de datos:
+
+
+
+ Ignore import errors
+ Ignorar errores de importación
+
+
+
+ Import system objects
+ Importar objectos del sistema
+
+
+
+ Import extension objects
+ Importar extensión de objecto
+
+
+
+ For DROP command, the objects that depends on an object to be dropped will be deleted as well. For TRUNCATE command, tables that are linked to a table to be truncated will be truncate too. <strong>NOTE:</strong> this option can affect more objects than listed in the output or diff preview.
+ Para comando DROP, los objetos que depende de un objeto que se retiren serán eliminados también. Para comando TRUNCATE, tablas que están vinculadas a una mesa para truncar se truncará también. <strong>NOTA:</strong> esta opción puede afectar a varios objetos que se enumeran en la salida o diff vista previa.
+
+
+
+ Drop or truncate in cascade mode
+ Drop o truncate en cascada mode
+
+
+
+ Permissions already set on database objects will be kept.The ones configured on the model will be applied to the database.
+ Permisos ya establecidos en los objetos de base de datos serán los kept.The configuradas en el modelo se puede aplicar a la base de datos.
+
+
+
+ Keep object's permissions
+ Mantenga los permisos del objeto
+
+
+
+ Database cluster level objects like roles and tablespaces will not be dropped.
+ No se cayeron objetos de base de datos a nivel de grupo como los roles y espacios de tabla.
+
+
+
+ Keep cluster objects
+ Mantenga objetos clúster
+
+
+
+ Recreate only unmodifiable objects
+ Recrear objetos sólo no modificables
+
+
+
+ Force recreation of objects
+ Forzar recreación de objetos
+
+
+
+ Ignores errors generated by duplicated objects when exporting the diff to database.
+ Ignora errores generados por objetos duplicados cuando se exporta el diff de base de datos.
+
+
+
+ Ignore duplicity errors
+ Ignorar duplicidad de errores
+
+
+
+ Serial columns are converted to integer and having the default value changed to <strong>nextval(sequence)</strong> function call. By default, a new sequence is created for each serial column but checking this option sequences matching the name on column's default value will be reused and will not be dropped.
+ Columnas de serie se convierten a entero y haber cambiado el valor predeterminado para llamada a la función <strong>nextval(sequence)</strong>. De forma predeterminada, se crea una nueva secuencia para cada columna de serie, pero marcando esta opción secuencias que coinciden con el nombre en valor por defecto de la columna se volverá a utilizar y no se borró.
+
+
+
+ Reuse sequences on serial columns
+ Reciclar secuencias sobre columnas de serial
+
+
+
+ Diff mode
+ Modo diff
+
+
+
+ Override the PostgreSQL version when generating the diff. The default is to use the same version as the input database.
+ Anular la versión de PostgreSQL al generar el diff. El valor por defecto es usar la misma versión que la base de datos de entrada.
+
+
+
+ Use PostgreSQL:
+ Use PostgreSQL:
+
+
+
+ Compares the model and the input database storing the diff in a SQL file for later usage.
+ Compara el modelo y la base de datos de entrada almacenar el diff en un archivo SQL para un uso posterior.
+
+
+
+ File:
+ Archivo:
+
+
+
+ Select output file
+ Seleccionar archivo de salida
+
+
+
+ Compares the model and the input database generating a diff and applying it directly to the latter. <strong>WARNING:</strong> this mode causes irreversible changes on the database and in case of failure the original structure is not restored, so make sure to have a backup before proceed.
+ Compara el modelo y la base de datos de entrada generar un diff y aplicándolo directamente a éste. < strong>ADVERTENCIA:</strong> este modo provoca cambios irreversibles en la base de datos y en caso de fallo de la estructura original no se restablece, así que asegúrese de tener una copia de seguridad antes de proceder.
+
+
+
+ Ignores as many as possible errors on import step. This option generates an incomplete diff.
+
+
+
+
+ Clears the data of all tables which will have columns modified. This is useful to avoid errors related to type casting. <strong>WARNING:</strong> DO NOT use this option on production servers and always make a backup before use it.
+
+
+
+
+ Import system (built-in) objects. Use this if the import step is returning errors related to missing objects.
+
+
+
+
+ Import objects created by extensions. Use this if the import step is returning errors even importing built in ones.
+
+
+
+
+ Instead of use an ALTER command to modify certain kind of objects a DROP and CREATE will be used in order to do a full modification. This option does not affects the database object.
+
+
+
+
+ No command to rename the destination database will be generated even the model's name differ from database name.
+
+
+
+
+ Preserve database name
+
+
+
+
+ Avoid the generation of DROP commands for objects that exists in database but not in the model. This is useful when diff a partial model against the complete database.
+
+
+
+
+ Do not drop missing objects
+
+
+
+
+ Store in S&QL file
+
+
+
+
+ Diff tool
+
+
+
+
+ Generate diff code
+
+
+
+
+ Source database
+
+
+
+
+ Current model:
+
+
+
+
+ (model)
+
+
+
+
+ Compare to
+
+
+
+
+ Appl&y on server
+
+
+
+
+ Diff
+ Diff
+
+
+
+ Froce the generation of DROP commands for columns and constraints that exist in database but not in the model. This is useful when diff a partial model against the complete database and the user needs to drop columns and constraint but preserve the rest of the objects.
+
+
+
+
+ Drop missing columns and constraints
+
+
+
+
+ Truncate tables before alter columns
+
+
+
+
+ Import && Export
+
+
+
+
+ Import
+ Importar
+
+
+
+ Export
+ Exportar
+
+
+
+ This advanced option causes pgModeler to ignore extra errors by their numeric codes. These errors must be informed in the input below and separeted by space. For the complete list of error codes check the PostgreSQL docs, section <strong> Appendix A. PostgreSQL Error Codes</strong>. <strong>WARNING:</strong> use this option with extreme care since it can interfere in final export result.
+
+
+
+
+ Ignore error codes
+
+
+
+
+ Output
+ Salida
+
+
+
+ Changes:
+ Cambios:
+
+
+
+ Cancel
+ Cancelar
+
+
+
+ Progress label...
+ Etiqueta de progreso...
+
+
+
+ Step label...
+ Etiqueta de pasos...
+
+
+
+ <html><head/><body><p>Objects marked with an <span style=" font-weight:600;">ALTER</span> may not be effectively changed unless that the differences detected are in attributes that can be modified through ALTER commands otherwise no operation will be performed or, if the force recreation is checked, the object will be dropped and created again.</p></body></html>
+ <html><head/><body><p>Objetos marcados con un <span style=" font-weight:600;">ALTER</span> No se puede cambiar de manera efectiva a menos que las diferencias detectadas son en los atributos que se pueden modificar a través de comandos ALTER de lo contrario no se realizará ninguna operationwill o, si la fuerza de la recreación está marcada, el objeto será dado de baja y creó de nuevo.</p></body></html>
+
+
+
+ Objects to be created
+ Objetos que se creen
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+ Objects to be dropped
+ Objetos que se borran
+
+
+
+ Possible objects to be changed
+ Objetos posibles de ser cambiados
+
+
+
+ Ignored objects (system ones or with sql disabled)
+ Objetos ignorados (los del sistema o con sql disabilitado)
+
+
+
+ Diff Preview
+ Vista previa Diff
+
+
+
+ &Apply diff
+ &Aplicar diff
+
+
+
+ &Generate
+ &Generar
+
+
+
+ &Close
+ &Cerrar
+
+
+
+
+ Waiting process to start...
+ Proceso en espera para iniciar...
+
+
+
+ Confirmation
+ Confirmación
+
+
+
+ <strong>WARNING:</strong> The generated diff is ready to be exported! Once started this process will cause irreversible changes on the database. Do you really want to proceed?
+ <strong>ADVERTENCIA:</strong> El diff generada está listo para ser exportado! Una vez iniciado este proceso provocará cambios irreversibles en la base de datos. ¿Realmente desea continuar?
+
+
+
+ Apply diff
+ Aplicar diff
+
+
+
+ Preview diff
+ Vista previa Diff
+
+
+
+ model not saved yet
+
+
+
+
+ (none)
+
+
+
+
+ Step %1/%2: Importing database <strong>%3</strong>...
+
+
+
+
+ Step %1/%2: Comparing <strong>%3</strong> and <strong>%4</strong>...
+
+
+
+
+ Step %1/%2: Exporting diff to database <strong>%3</strong>...
+
+
+
+
+ Diff process paused. Waiting user action...
+ Proceso Diff en pausa. Esperando acción del usuario...
+
+
+
+ Saving diff to file <strong>%1</strong>
+ Guardando diff a archivo <strong>%1</strong>
+
+
+
+ Diff process sucessfully ended!
+ Proceso Diff finalizado satisfactoriamente!
+
+
+
+
+ No operations left.
+ No hay operaciones a la izquierda.
+
+
+
+ Operation cancelled by the user.
+ Operación cancelada por el usuario.
+
+
+
+ Process aborted due to errors!
+ Proceso abortado debido a errores!
+
+
+
+
+
+-- SQL code purposely truncated at this point in demo version!
+
+
+
+
+ -- No differences were detected between model and database. --
+ -- No se detectaron diferencias entre el modelo y la base de datos. --
+
+
+
+ Error code <strong>%1</strong> found and ignored. Proceeding with export.
+ Error de código encontrado <strong>%1</strong> y ignorado. Procediendo con la exportación.
+
+
+
+ Save diff as...
+ Salvar diff como...
+
+
+
+ SQL code (*.sql);;All files (*.*)
+ Código SQL (*.sql);;Todos los archivos (*.*)
+
+
+
+ ModelExportForm
+
+
+
+ Export model
+ Exportar Modelo
+
+
+
+ Settings
+ Configuración
+
+
+
+ Database server
+ Servidor de Bases de datos
+
+
+
+ pgModeler ignores errors generated by duplicated objects and creates only that ones which does not exists in the database. This option may be used when an object was created after a previous model export.
+ El pgModeler ignora los errores generados por objetos duplicados y sólo crea objetos del modelo que no existen en la base de datos. Esta opción se puede usar cuando un objeto fue creado después de una exportación de modelo posterior.
+
+
+
+ Ignore object duplicity
+ Ignorar duplicidad de objetos
+
+
+
+ Connection:
+ Conexión:
+
+
+
+ PostgreSQL version in which the SQL code should be generated. It is recommended to select this option only when the version of the DBMS, somehow, is not identifiable or if you need to generate a specific version of SQL code for test purposes.
+ PostgreSQL versión en la que se debe generar el código SQL. Se recomienda seleccionar esta opción sólo cuando la versión del SGDB, de alguna manera, no es identificable o si usted necesita para generar una versión específica de código SQL con fines de prueba.
+
+
+
+
+ PostgreSQL:
+ PostgreSQL:
+
+
+
+ This advanced option causes pgModeler to ignore extra errors by their numeric codes. These errors must be informed in the input below and separeted by space. For the complete list of error codes check the PostgreSQL docs, section <strong> Appendix A. PostgreSQL Error Codes</strong>. <strong>WARNING:</strong> use this option with extreme care since it can interfere in final export result.
+
+
+
+
+ Ignore error codes
+
+
+
+
+ If <strong>DB</strong> is checked pgModeler will destroy the database if already exists on the server. When <strong>Objects</strong> is checked pgModeler will execute the DROP command attached to SQL-enabled objects. <strong>WARNING:</strong> this option leads to data loss so make sure to have a backup first.
+ Si <strong>BD</strong> se comprueba pgModeler destruirá la base de datos si ya existe en el servidor. Cuando <strong>Objetos</strong> se comprueba pgModeler ejecutará el comando DROP unido a objetos de SQL-habilitado. <strong>ADVERTENCIA:</strong> esta opción conduce a la pérdida de datos, así que asegúrese de tener una copia de seguridad primero.
+
+
+
+ Drop:
+ Borrar:
+
+
+
+ DB
+ BD
+
+
+
+ pgModeler will destroy the database if already exists on the server. Make sure to have a backup before use this option because all data will be lost.
+ pgModeler destruirá la base de datos si ya existe en el servidor. Asegúrese de tener una copia de seguridad antes de usar esta opción porque se perderán todos los datos.
+
+
+
+ Zoom:
+ Zoom:
+
+
+
+ Show grid
+ Mostrar cuadrícula
+
+
+
+ Show delimiters
+ Mostrar delimitadores
+
+
+
+ Exporting the model page by page will generate files with a <strong>_p[n]</strong> suffix where <strong>n</strong> is the page id. Check if the current user has write permission on output folder.
+ Exportación de la página modelo por página generará archivos con un <strong>_p[n]</strong> sufijo donde <strong>n</strong> es el identificador de página. Compruebe si el usuario actual tiene permiso de escritura en la carpeta de salida.
+
+
+
+ Page by page
+ Página por página
+
+
+
+
+ Select target file
+ Seleccionar archivo de destino
+
+
+
+
+ ...
+ ...
+
+
+
+ SQL file
+ Archivo SQL
+
+
+
+
+ File:
+ Archivo:
+
+
+
+ Ob&jects
+
+
+
+
+ Graphics file
+
+
+
+
+ Type:
+ Tipo:
+
+
+
+ PostgreSQL version in which the SQL code should be generated
+ PostgreSQL versión en la que se debe generar el código SQL
+
+
+
+ I&mage (PNG)
+
+
+
+
+ &Vectorial (SVG)
+
+
+
+
+ Output
+ Salida
+
+
+
+ Cancel
+ Cancelar
+
+
+
+ Progress label...
+ Etiqueta de progreso...
+
+
+
+ &Export
+ &Exportar
+
+
+
+ &Close
+ &Cerrar
+
+
+
+ Error code <strong>%1</strong> found and ignored. Proceeding with export.
+ Error de código encontrado en <strong>%1</strong> y ignorado. Procediendo con la exportación.
+
+
+
+ Initializing model export...
+ Inicializando exportación del modelo...
+
+
+
+ Saving file '%1'
+ Guardar archivo '%1'
+
+
+
+
+ Exporting process aborted!
+ Porceso de exportación abortado!
+
+
+
+ Export model as...
+ Exportar modelo como...
+
+
+
+ SQL script (*.sql);;All files (*.*)
+
+
+
+
+ Portable Network Graphics (*.png);;All files (*.*)
+
+
+
+
+ Scalable Vector Graphics (*.svg);;All files (*.*)
+
+
+
+
+ Exporting process canceled by user!
+ Proceso de exportación cancelada por el usuario!
+
+
+
+ Exporting process sucessfuly ended!
+ Proceso de exportación terminó satisfactoriamente!
+
+
+
+ ModelExportHelper
+
+
+ Generating SQL code for PostgreSQL `%1'
+ Generación de código SQL para PostgreSQL `%1'
+
+
+
+ Output SQL file `%1' successfully written.
+ Archivo SQL de salida `%1' escrito satisfactoriamente.
+
+
+
+ Rendering objects to page %1/%2.
+ Renderiando objetos a la página %1/%2.
+
+
+
+ Output image `%1' successfully written.
+ Imagen de salida `%1' escrito satisfactoriamente.
+
+
+
+ Exporting model to SVG file.
+
+
+
+
+ SVG representation of database model
+
+
+
+
+ SVG file generated by pgModeler
+
+
+
+
+ Output file `%1' successfully written.
+
+
+
+
+ Starting export to DBMS.
+ Comenzando exportación a SGDB.
+
+
+
+ PostgreSQL version detection overridden. Using version `%1'.
+ Versión detección PostgreSQL anulado. Al usar la versión. Usar la versión `%1'.
+
+
+
+ PostgreSQL `%1' server detected.
+ Servidor PostgreSQL `%1' detectado.
+
+
+
+ Generating temporary names for database, roles and tablespaces.
+ Generar nombres temporales para bases de datos, roles y tablespaces.
+
+
+
+ Enabling the SQL code for database `%1' to avoid errors.
+ Habilitar el código SQL para la base de datos `%1' para evitar errores.
+
+
+
+ Ignoring object duplication errors.
+ Ignorando los errores de duplicación de objetos.
+
+
+
+ Ignoring the following error code(s): `%1'.
+ Ignorando el código de error siguiente (s): `%1'.
+
+
+
+ Trying to drop database `%1'.
+ Tratando de borrarr la base de datos `%1'.
+
+
+
+ Simulation mode activated.
+ Modo de simulación activado.
+
+
+
+ Generating SQL for `%1' objects...
+ Generación de SQL para los objetos `%1'...
+
+
+
+ Destroying objects created on the server.
+ Destruyendo los objetos creados en el servidor.
+
+
+
+ Restoring original names of database, roles and tablespaces.
+ Restauración de los nombres originales de base de datos, roles y tablespaces.
+
+
+
+
+
+ Creating object `%1' (%2)
+ Creando objecto `%1' (%2)
+
+
+
+ Creating database `%1'
+
+
+
+
+ Connecting to database `%1'
+
+
+
+
+ Renaming `%1' (%2) to `%3'
+
+
+
+
+
+ Dropping object `%1' (%2)
+ Borrando objetos `%1' (%2)
+
+
+
+ Changing object `%1' (%2)
+ Cambiando objecto `%1' (%2)
+
+
+
+ Running auxiliary command.
+ Ejecución de comandos auxiliar.
+
+
+
+ ModelFixForm
+
+
+ Model file fix
+ Fijar archivo Modelo
+
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Monospace'; font-size:10pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Waiting process to start...</span></p></body></html>
+
+
+
+
+ &Fix
+ &Fijar
+
+
+
+ &Close
+ &Cerrar
+
+
+
+ Fix model file
+ Fijar archivo Modelo
+
+
+
+ <html><head/><body><p>[pgmodeler-cli not found error]</p></body></html>
+ <html><head/><body><p>[pgmodeler-error no encontrado]</p></body></html>
+
+
+
+ pgmodeler-cli:
+ pgmodeler-cli:
+
+
+
+ Browse for pgmodeler-cli tool
+ Navegue por herramienta pgmodeler-cli
+
+
+
+
+
+ ...
+ ...
+
+
+
+ The specified file is not the pgModeler command line tool (pgmodeler-cli).
+ El archivo especificado no es la herramienta de línea de comandos pgModeler (pgmodeler-cli).
+
+
+
+ Input file:
+ Archivo entrada:
+
+
+
+ Output file:
+ Archivo salida:
+
+
+
+ Fix tries:
+ Fijar intentos:
+
+
+
+ Select input file
+ Seleccionar archivo entrada
+
+
+
+ Select output file
+ Seleccionar archivo salida
+
+
+
+ Load fixed model when finish
+ Modelo fijo de carga cuando acabado
+
+
+
+ In some cases the fix process will fail to restore all objects within the model demanding manual fixes by changing the file on a text editor. <strong>NOTE:</strong> relationships may lost their graphical configuration like custom points and line color.
+ En algunos casos, el Proceso Fijar no podrá restaurar todos los objetos dentro del modelo exigir correcciones manuales cambiando el archivo en un editor de texto. <strong>NOTA:</strong> relaciones pueden perdido su configuración gráfica como puntos de medida y color de la línea.
+
+
+
+ Waiting process to start...
+ Proceso esperandi para iniciar...
+
+
+
+ Could not locate <strong>%1</strong> tool on <strong>%2</strong>. The fix process can't continue! Please check pgModeler installation or try to manually specify the command below.
+ No se pudo encontrar <strong>%1</strong> herramienta en <strong>%2</strong>. El proceso de corrección no puede continuar! Por favor verifique la instalación pgModeler o tratar de especificar manualmente el comando a continuación.
+
+
+
+ pgModeler command line tool (%1)
+ pgModeler herramienta de línea de comandos (%1)
+
+
+
+ ModelNavigationWidget
+
+
+ Form
+ Formulario
+
+
+
+ Previous model
+ Modelo anterior
+
+
+
+ Ctrl+Left
+
+
+
+
+ Ctrl+Right
+
+
+
+
+ Alt+C
+
+
+
+
+ Next model
+ Siguiente modelo
+
+
+
+ Close model
+ Cerrar modelo
+
+
+
+ ...
+ ...
+
+
+
+ (model not saved yet)
+ (modelo no guarda aún)
+
+
+
+ ModelObjectsWidget
+
+
+ Model Objects
+ Modelo Objetos
+
+
+
+ Visible object types
+
+
+
+
+ Hide this widget
+ Ocultar este widget
+
+
+
+
+
+
+
+
+ ...
+ ...
+
+
+
+ 1
+ 1
+
+
+
+ ID
+ ID
+
+
+
+ Object
+ Objecto
+
+
+
+ Type
+ Tipo
+
+
+
+ Parent Object
+ Objeto Padre
+
+
+
+ Parent Type
+ Tipo del Padre
+
+
+
+ Select All
+ Marcar Todos
+
+
+
+ Clear All
+ Desmarcar Todos
+
+
+
+ Model objects
+
+
+
+
+ Select
+ Selecionar
+
+
+
+ Return
+ Retorno
+
+
+
+ Cancel
+ Cancelar
+
+
+
+ Esc
+ Esc
+
+
+
+ Tree view
+ Vista en árbol
+
+
+
+ List view
+ Vista en lista
+
+
+
+ Objects view configuration
+ Configuración de la Vista de objetos
+
+
+
+ Expands all items
+ Expande todos los items
+
+
+
+ Collapses all items
+ Contrae todos los items
+
+
+
+ Filter:
+ Filtrar:
+
+
+
+ By ID
+ Por ID
+
+
+
+ New
+ Nuevo
+
+
+
+ ModelOverviewWidget
+
+
+ Model overview
+ Vista general del modelo
+
+
+
+ Failed to generate the overview image.
+The requested size %1 x %2 was too big and there was not enough memory to allocate!
+
+
+
+
+ ModelRestorationForm
+
+
+ Model restoration
+ Restauración de modelos
+
+
+
+ pgModeler was not closed properly in a previous execution and some models were still being edited. Click <strong>Restore</strong> to reopen the models or <strong>Cancel</strong> to abort the restoration.
+ pgModeler no se cerró correctamente en una ejecución anterior y todavía se está editando algunos modelos. Haga clic en 'Restaurar' para reabrir los modelos o 'Cancelar' para abortar la restauración.
+
+
+
+ pgModeler will try to recover the selected models but will not destroy them in case of loading failure. This option serves as a last resort in order to try to recover the database model. Temporary models will last until the application is closed so the user must try to manually recover the files before exit pgModeler.
+ pgModeler tratará de recuperar los modelos seleccionados, pero no destruirlos en caso de fallo de carga. Esta opción sirve como último recurso con el fin de tratar de recuperar el modelo de base de datos. Modelos temporales durarán hasta que la aplicación está cerrada por lo que el usuario debe intentar recuperar manualmente los archivos antes de la salida pgModeler.
+
+
+
+ Keep temporary models in case of restoration failure
+ Mantenga modelos temporales en caso de fallo de restauración
+
+
+
+ Database
+
+
+
+
+ File
+
+
+
+
+ Modified
+
+
+
+
+ Size
+
+
+
+
+ &Cancel
+ &Cancelar
+
+
+
+ &Restore
+ &Restaurar
+
+
+
+ ModelValidationHelper
+
+
+ There are pending errors! SQL validation will not be executed.
+ Hay errores pendientes! No se ejecutará la validación de SQL.
+
+
+
+ Operation canceled by the user.
+ Operación cancelada por el usuario.
+
+
+
+ ModelValidationWidget
+
+
+ Form
+ Formulario
+
+
+
+ Enables the validation of SQL code in DBMS. This process requires the use of a pre-configured connection. SQL validation will occur only in the last step (when all objects were validated) or when there are no warnings.
+
+
+
+
+ Connection to be used in the SQL validation
+
+
+
+
+ pgModeler will generate unique and temporary names for database, role and tablespace objects. This option avoids object duplication errors when running the SQL validation.
+
+
+
+
+ Use unique temporary names for cluster level objects
+
+
+
+
+ Warnings: does not prevents model to be saved.
+ Advertencias: no previene modelo para ser salvos.
+
+
+
+
+ 0
+ 0
+
+
+
+ Errors: model will not be saved while there are validation errors.
+ Errores: modelo no se guardará mientras que hay errores de validación.
+
+
+
+ Hide this widget
+ Ocultar este widget
+
+
+
+ ...
+ ...
+
+
+
+ Swap ids
+
+
+
+
+ SQL Validation:
+ Validación de SQL:
+
+
+
+ PostgreSQL version
+ Versión PostgreSQL
+
+
+
+ Try to resolve the reported issues.
+ Trate de resolver los problemas comunicados.
+
+
+
+ Ctrl+S
+ Ctrl+S
+
+
+
+ Clear validation results
+ Limpiar resultados de la validación
+
+
+
+ Clear
+ Limpiar
+
+
+
+ Try to apply a fix on the selected validation info.
+ Trate de aplicar una solución en la información de validación seleccionado.
+
+
+
+ Options
+ Opciones
+
+
+
+ Cancel the SQL validation in progress.
+ Cancelar la validación de SQL en curso.
+
+
+
+ Cancel
+ Cancelar
+
+
+
+ Esc
+ Esc
+
+
+
+ Apply fixes
+
+
+
+
+ Change the creation order for two objects by swapping their ids
+ Cambiar el orden de la creación de dos objetos mediante el canje de sus ids
+
+
+
+ Va&lidate
+ Va&lidar
+
+
+
+ Autodetect
+ Autodetectar
+
+
+
+ The object <strong>%1</strong> <em>(%2)</em> [id: %3] is being referenced by <strong>%4</strong> object(s) before its creation.
+ El objeto <strong>%1</strong> <em>(%2)</em> [id:% 3] está siendo referenciado por <strong>%4</strong> objeto(s) antes de su creación.
+
+
+
+ The object <strong>%1</strong> <em>(%2)</em> [id: %3]%4 is referencing columns created by <strong>%5</strong> relationship(s) but is created before them.
+ El objeto <strong>%1</strong> <em>(%2)</em> se hace referencia a las columnas creadas por <strong>%5</strong> relación (es), pero se crea ante ellos.
+
+
+
+ The object <strong>%1</strong> <em>(%2)</em> has a name that conflicts with <strong>%3</strong> object's name(s).
+ El objeto <strong>%1</strong> <em>(%2)</em> tiene un nombre que entre en conflicto con <strong>%3</strong> nombre(s) de objteto(s).
+
+
+
+ The relationship <strong>%1</strong> [id: %2] is in a permanent invalidation state and needs to be relocated.
+
+
+
+
+ The column <strong>%1</strong> on <strong>%2</strong> <em>(%3)</em> is referencing the geospatial data type <strong>%4</strong> but the <strong>postgis</strong> extension is not present in the model!
+
+
+
+
+ <strong>HINT:</strong> try to swap the relationship by another ones that somehow are linked to it through generated columns or constraints to solve this issue. Note that other objects may be lost in the swap process.
+
+
+
+
+ <strong>HINT:</strong> Create the extension in the model or let it be created by applying the needed fixes.
+
+
+
+
+ SQL validation not executed! No connection defined.
+
+
+
+
+ Database model successfully validated.
+
+
+
+
+ SQL validation failed due to error(s) below. <strong>NOTE:</strong><em> These errors does not invalidates the model but may affect operations like <strong>export</strong> and <strong>diff</strong>.</em>
+ Validación de SQL ha fallado debido a un error (s) a continuación. <strong>NOTA:</strong><em> Estos errores no invalida el modelo, pero pueden afectar a las operaciones como <strong>export</strong> and <strong>diff</strong>.</em>
+
+
+
+ <em>The above object was created by a relationship. Change the name pattern on it's generator relationship. Fix will not be applied!</em>
+ <em>El objetivo anterior fue creado por una relación. Cambiar el patrón de nombre en él la relación de generador. Fijar no se aplicará!</em>
+
+
+
+ Conflicting object: <strong>%1</strong> <em>(%2)</em>.
+ Objeto en conflicto: <strong>%1</strong> <em>(%2)</em>.
+
+
+
+ Relationship: <strong>%1</strong> [id: %2].
+ Relación: <strong>%1</strong> [id: %2].
+
+
+
+ Referrer object: <strong>%1</strong> <em>(%2)</em> [id: %3].
+ Objeto referente:: <strong>%1</strong> <em>(%2)</em> [id: %3].
+
+
+
+ Running SQL commands on server...
+ Ejecución de comandos SQL en el servidor...
+
+
+
+ Processing object: %1
+ Procesando object: %1
+
+
+
+ ModelWidget
+
+
+ One to One (1-1)
+ Uno a Uno (1-1)
+
+
+
+ One to Many (1-n)
+ Uno a Muchos (1-n)
+
+
+
+ Many to Many (n-n)
+ Mucho a Mucho (n-n)
+
+
+
+
+ Copy
+ Copiar
+
+
+
+ Inheritance
+ Herencia
+
+
+
+ <strong>ATTENTION:</strong> The database model is protected! Operations that could modify it are disabled!
+ <strong>ATENCIÓN:</strong> El modelo de base de datos está protegida! Operaciones que podrían modificar la misma son habilitado!
+
+
+
+ Source
+ Fuente
+
+
+
+ Alt+S
+ Alt+S
+
+
+
+ Show object source code
+ Exibir el código-Fuente del objeto
+
+
+
+
+ Properties
+ Propiedades
+
+
+
+ Space
+ Espacio
+
+
+
+ Edit the object properties
+ Edita las propriedades del objeto
+
+
+
+
+ Protect
+ Proteger
+
+
+
+
+ Unprotect
+ Desproteger
+
+
+
+ Protects object(s) from modifications
+ Protege objeto(s) a partir de las modificaciones
+
+
+
+
+ Delete
+ Eliminar
+
+
+
+ Del
+ Del
+
+
+
+
+ Del. cascade
+ Del. cascada
+
+
+
+ Shift+Del
+ Shift+Del
+
+
+
+ Select all
+ Seleccionar todos
+
+
+
+ Select
+ Selecionar
+
+
+
+ Ctrl+A
+ Ctrl+A
+
+
+
+ Selects all the graphical objects in the model
+ Selecciona todos los objetos gráficos en el modelo
+
+
+
+ Edit data
+ Editar datos
+
+
+
+ Convert
+ Convertir
+
+
+
+ Ctrl+C
+ Ctrl+C
+
+
+
+ Paste
+ Pegar
+
+
+
+ Ctrl+V
+ Ctrl+V
+
+
+
+ Cut
+ Cortar
+
+
+
+ Ctrl+X
+ Ctrl+X
+
+
+
+ Deps && Referrers
+ Deps && Referreridos
+
+
+
+ New
+ Nuevo
+
+
+
+ Add a new object in the model
+ Adicionar un nuevo objeto en el modelo
+
+
+
+ Quick
+ Rápido
+
+
+
+ Quick action for the selected object
+ Acciones rápidas para la selección de objecto
+
+
+
+ Rename
+ Renombrar
+
+
+
+ F2
+ F2
+
+
+
+ Quick rename the object
+ Renombrar rápida del objeto
+
+
+
+ Move to schema
+ Mover al esquema
+
+
+
+ Set tag
+ Configurar tag
+
+
+
+ Edit permissions
+ Editar permisos
+
+
+
+ Ctrl+E
+ Ctrl+E
+
+
+
+ Change owner
+ Cambiar propietario
+
+
+
+ Select children
+ Seleccione los hijos
+
+
+
+ Select tagged
+
+
+
+
+ Open relationship
+ Abrir relación
+
+
+
+ Custom SQL
+ Personalizar SQL
+
+
+
+ Alt+Q
+ Alt+Q
+
+
+
+ Convert to sequence
+ Converir a secuencia
+
+
+
+ Convert to serial
+ Converir a serial
+
+
+
+ Break line
+ Saltos de líena
+
+
+
+ Remove points
+ Remover puntos
+
+
+
+ Enable SQL
+ Habilitar SQL
+
+
+
+ Disable SQL
+ Deshabilitar SQL
+
+
+
+ Duplicate
+ Duplicar
+
+
+
+ Ctrl+D
+
+
+
+
+ Extended attributes
+ Atributos extendidos
+
+
+
+
+ Show
+ Mostrar
+
+
+
+
+ Hide
+ Ocultar
+
+
+
+ Jump to table
+ Ir a tabla
+
+
+
+ Schemas rectangles
+
+
+
+
+ Fade in/out
+
+
+
+
+
+ Fade in
+
+
+
+
+
+ Fade out
+
+
+
+
+
+
+ Relationships
+ Relaciones
+
+
+
+ Swap ids
+
+
+
+
+ Edit the objects creation order by swapping their ids
+
+
+
+
+ 90° (vertical)
+ 90° (vertical)
+
+
+
+ 90° (horizontal)
+ 90° (horizontal)
+
+
+
+ 90° + 90° (vertical)
+ 90° + 90° (vertical)
+
+
+
+ 90° + 90° (horizontal)
+ 90° + 90° (horizontal)
+
+
+
+
+
+ All objects
+ Todos los objetos
+
+
+
+
+ Schemas
+
+
+
+
+
+ Tables
+ Tablas
+
+
+
+
+ Views
+ Vistas
+
+
+
+
+ Textboxes
+
+
+
+
+ Zoom: %1%
+ Zoom: %1%
+
+
+
+ Do you really want to convert the relationship into an intermediate table?
+ ¿Realmente desea convertir la relación en una tabla intermedia?
+
+
+
+ Loading database model
+ Cargando modelo de base de datos
+
+
+
+ Saving database model
+ Guardando modelo de base de datos
+
+
+
+ Do you want to %1 the selected schema's children too?
+
+
+
+
+ protect
+
+
+
+
+ unprotect
+
+
+
+
+ Also copy all dependencies of selected objects? This minimizes the breakdown of references when copied objects are pasted into another model.
+ También copiar todas las dependencias de los objetos seleccionados? Esto minimiza la ruptura de referencias cuando los objetos copiados se pegan en otro modelo.
+
+
+
+ Pasting objects...
+ Pegar Objetos...
+
+
+
+ Validating object: `%1' (%2)
+ Validando El objeto: `%1' (%2)
+
+
+
+ Generating XML for: `%1' (%2)
+ Generando código XML del objeto: `%1' (%2)
+
+
+
+ Pasting object: `%1' (%2)
+ Pegar Objetos: `%1' (%2)
+
+
+
+ Not all objects were pasted to the model due to errors returned during the process! Refer to error stack for more details!
+ No todos los objetos se pegan a la modelo debido a errores devueltos durante el proceso! Consulte a un error de pila para más detalles!
+
+
+
+ <strong>CAUTION:</strong> You are about to delete objects in cascade mode which means more objects than the selected will be dropped too. Do you really want to proceed?
+ <strong>PRECAUCIÓN:</strong> Estás a punto de eliminar objetos en modo de cascada que significa más objetos que el seleccionado se redujo también. ¿Realmente desea continuar?
+
+
+
+ <strong>CAUTION:</strong> Remove multiple objects at once can cause irreversible invalidations to other objects in the model causing such invalid objects to be deleted too. Do you really want to proceed?
+ <strong>PRECAUCIÓN:</strong> Eliminar varios objetos a la vez puede causar invalidaciones irreversibles a otros objetos en el modelo que causa este tipo de objetos no válidos para ser borrados también. ¿Realmente desea continuar?
+
+
+
+ <strong>CAUTION:</strong> Remove a relationship can cause irreversible invalidations to other objects in the model causing such invalid objects to be deleted too. Do you really want to proceed?
+ <strong>PRECAUCIÓN:</strong> Eliminar una relación puede causar invalidaciones irreversibles a otros objetos en el modelo que causa este tipo de objetos no válidos para ser borrados también. ¿Realmente desea continuar?
+
+
+
+ Do you really want to delete the selected object?
+ ¿Realmente desea eliminar el objeto seleccionado?
+
+
+
+ The cascade deletion found some problems when running! Some objects could not be deleted or registered in the operation's history! Please, refer to error stack for more details.
+ La eliminación en cascada encontró algunos problemas al ejecutar! Algunos objetos no podían ser borrados o registrados en la historia de la operación! Por favor, consulte a un error de la pila para obtener más detalles.
+
+
+
+ (no objects)
+ (no hay objetos)
+
+
+
+ None
+
+
+
+
+ Source code
+ Código fuente
+
+
+
+ Constraints
+ Restricciones
+
+
+
+ ModelsDiffHelper
+
+
+ Processing object `%1' (%2)...
+ Procesando objecto `%1' (%2)...
+
+
+
+ Skipping object `%1' (%2)...
+ Omitiendo objeto `%1' (%2)...
+
+
+
+ Processing diff infos...
+ Procesando diff infos...
+
+
+
+ Processing `%1' info for object `%2' (%3)...
+
+
+
+
+ No differences between the model and database.
+
+
+
+
+ Preparing diff code...
+
+
+
+
+ NewObjectOverlayWidget
+
+
+ Form
+ Formulario
+
+
+
+ Role
+ Rol
+
+
+
+ Tag
+ Tag
+
+
+
+ Cast
+ Cast
+
+
+
+
+ A
+ A
+
+
+
+ Language
+ Lenguaje
+
+
+
+ Textbox
+ Textbox
+
+
+
+ Event Trigger
+ Evento Trigger
+
+
+
+ Tablespace
+ Tablespace
+
+
+
+ Schema
+ Esquema
+
+
+
+ Domain
+ Dominio
+
+
+
+ Conversion
+ Conversión
+
+
+
+ Aggregate
+ Agregado
+
+
+
+ Collation
+ Collation
+
+
+
+ Table
+ Tabla
+
+
+
+ Type
+ Tipo
+
+
+
+ Op. Family
+ Op. Familia
+
+
+
+ Sequence
+ Sequencia
+
+
+
+ Extension
+ Extensión
+
+
+
+ Function
+ Función
+
+
+
+ Op. Class
+ Op. Clase
+
+
+
+ Operator
+ Operador
+
+
+
+ View
+ Vista
+
+
+
+
+ Permissions
+ Permisos
+
+
+
+ Rule
+ Regla
+
+
+
+ Index
+ Indice
+
+
+
+ Column
+ Columna
+
+
+
+ Constraint
+ Restricción
+
+
+
+ Generic SQL
+
+
+
+
+ Trigger
+ Trigger
+
+
+
+ Policy
+
+
+
+
+ Many-to-many
+ Muchos-a-muchos
+
+
+
+ One-to-many
+ Uno-a-muchos
+
+
+
+ One-to-one
+ Uno-a-uno
+
+
+
+ Inheritance
+ Herencia
+
+
+
+ Copy
+ Copia
+
+
+
+ G
+ G
+
+
+
+ K
+ K
+
+
+
+ H
+ H
+
+
+
+ J
+ J
+
+
+
+ D
+ D
+
+
+
+ E
+ E
+
+
+
+ F
+ F
+
+
+
+ L
+ L
+
+
+
+ O
+ O
+
+
+
+ U
+ U
+
+
+
+ I
+ I
+
+
+
+ R
+ R
+
+
+
+ S
+ S
+
+
+
+ Q
+ Q
+
+
+
+ T
+ T
+
+
+
+ P
+ P
+
+
+
+ M
+ M
+
+
+
+ Y
+ Y
+
+
+
+ W
+ W
+
+
+
+
+ 9
+ 9
+
+
+
+ Z
+ Z
+
+
+
+ X
+ X
+
+
+
+ C
+ C
+
+
+
+ V
+ V
+
+
+
+ B
+ B
+
+
+
+ 8
+ 8
+
+
+
+ 1
+ 1
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+
+
+ 5
+ 5
+
+
+
+ 4
+ 4
+
+
+
+ 0
+ 0
+
+
+
+ NumberedTextEditor
+
+
+ Load file
+
+
+
+
+ Load the object's source code from an external file
+
+
+
+
+ Load
+ Cargar
+
+
+
+ Edit
+
+
+
+
+ Edit the source code in the preferred external editor
+
+
+
+
+ Clear
+ Limpiar
+
+
+
+ Upper case
+
+
+
+
+ Lower case
+
+
+
+
+ Ident right
+
+
+
+
+ Ident left
+
+
+
+
+ SQL file (*.sql);;All files (*.*)
+ Archivo SQL (*.sql);;Todos los archivos (*.*)
+
+
+
+ The source editor `%1' is running on `pid: %2'.
+
+
+
+
+ Could not start the source code editor application `%1'! Make to sure that the source editor path defined in the general settings points to a valid executable and the current user has permission to run the application. Error message returned: `%2'
+
+
+
+
+ ObjectDepsRefsWidget
+
+
+ Dependencies
+ Dependencias
+
+
+
+
+ ID
+ ID
+
+
+
+
+ Object
+ Objecto
+
+
+
+
+ Type
+ Tipo
+
+
+
+
+ Parent Object
+ Objeto Padre
+
+
+
+
+ Parent Type
+ Tipo del Padre
+
+
+
+ Exclude indirect dependencies
+ Excluir dependencias indirectas
+
+
+
+ References
+ Referencias
+
+
+
+ Include indirect references
+ Incluir referencias indirectas
+
+
+
+ This object does not exists anymore. The dependencies and references listing are disabled.
+ Este objeto no existe más. Las dependencias y referencias listadas se deshabilitan.
+
+
+
+ Object's dependencies & references
+ Dependencias de objeto & referencias
+
+
+
+ ObjectFinderWidget
+
+
+ Form
+ Formulario
+
+
+
+ Pattern:
+ Patrón:
+
+
+
+ Find
+ Buscar
+
+
+
+ Defines the search filter
+ Define el filtro de búsqueda
+
+
+
+ Filter
+ Filtro
+
+
+
+ Clears the search results
+ Limpiar los resultados de la búsqueda
+
+
+
+ Clear
+ Limpiar
+
+
+
+
+ ...
+ ...
+
+
+
+ Hide this widget
+ Ocultar este widget
+
+
+
+ (Un)selects the graphical objects in the results grid
+
+
+
+
+ Select
+ Selecionar
+
+
+
+ Regular Expression
+ Expresión Regular
+
+
+
+ Exact Match
+ Resultado Exacto
+
+
+
+ Select All
+ Selecionar todos
+
+
+
+ Clear All
+ Limpiar Todos
+
+
+
+ Case Sensitive
+ Sensible Case
+
+
+
+ ID
+ ID
+
+
+
+ Object
+ Objecto
+
+
+
+ Type
+ Tipo
+
+
+
+ Parent Object
+ Objecto Padre
+
+
+
+ Parent Type
+ Tipo del Padre
+
+
+
+ Fades outs all the graphical objects in the results grid (or those not listed). The current fade in/out state of all objects is modified.
+
+
+
+
+ Fade out
+
+
+
+
+
+ Listed
+
+
+
+
+
+ Not listed
+
+
+
+
+ Found <strong>%1</strong> object(s).
+ Encontrado objecto(s) <strong>%1</strong>.
+
+
+
+ No objects found.
+ Objetos no encontrados.
+
+
+
+ ObjectRenameWidget
+
+
+ Form
+ Formulario
+
+
+
+ ....
+ ....
+
+
+
+ to:
+ a:
+
+
+
+
+ Rename
+ Renombrar
+
+
+
+ Cancel
+ Cancelar
+
+
+
+ ObjectSelectorWidget
+
+
+ Form
+ Formulario
+
+
+
+ Clear field
+ Limpiar campo
+
+
+
+ Select Object
+ Seleccionar Objecto
+
+
+
+ Select %1
+
+
+
+
+ ObjectsTableWidget
+
+
+ Form
+ Formulario
+
+
+
+ Add Item
+
+
+
+
+ Ins
+ Ins
+
+
+
+ Remove Item
+
+
+
+
+ Del
+ Del
+
+
+
+ Update Item
+ Actualizar Item
+
+
+
+ Alt+R
+ Alt+R
+
+
+
+ Remove All
+
+
+
+
+ Shift+Del
+ Shift+Del
+
+
+
+ Duplicate item
+
+
+
+
+ Ctrl+D
+
+
+
+
+ Edit Item
+ Editar Item
+
+
+
+ Space
+ Espacio
+
+
+
+ Move Up
+ Mover Arriba
+
+
+
+ Ctrl+Up
+ Ctrl+Up
+
+
+
+ Move Down
+ Mover Abajo
+
+
+
+ Ctrl+Down
+ Ctrl+Down
+
+
+
+ Move to start
+ Mover al inicio
+
+
+
+ Ctrl+Home
+ Ctrl+Home
+
+
+
+ Move to end
+ Mover al final
+
+
+
+ Ctrl+End, Ctrl+S
+ Ctrl+End, Ctrl+S
+
+
+
+
+ Confirmation
+ Confirmación
+
+
+
+ Do you really want to remove the selected item?
+ ¿Realmente desea eliminar el elemento seleccionado?
+
+
+
+ Do you really want to remove all the items?
+
+
+
+
+ OperationList
+
+
+ (invalid object)
+ (objeto no válido)
+
+
+
+ OperationListWidget
+
+
+
+ Executed Operations
+ Operaciones Ejecutadas
+
+
+
+ Hide this widget
+ Ocultar este widget
+
+
+
+ ...
+ ...
+
+
+
+ 1
+ 1
+
+
+
+ Operations:
+ Operaciones:
+
+
+
+
+ 0
+ 0
+
+
+
+ Position:
+ Posición:
+
+
+
+ Delete operation history
+ Borrar histórico de operaciones
+
+
+
+ Undo
+ Deshacer
+
+
+
+ Redo
+ Rehacer
+
+
+
+ Object: %1
+ Objecto: %1
+
+
+
+ Name: %1
+ Nambre: %1
+
+
+
+ created
+ creado
+
+
+
+ removed
+ removido
+
+
+
+ modified
+ modificado
+
+
+
+ moved
+ movido
+
+
+
+ Operation: %1
+ Operación: %1
+
+
+
+ Operation history exclusion
+ Exclusión del historia de Operación
+
+
+
+ Delete the executed operations history is an irreversible action, do you want to continue?
+ Eliminar el historial de operaciones ejecutadas es una acción irreversible, es lo que quieres continuar?
+
+
+
+ OperatorClassWidget
+
+
+ Default Class:
+ Clase por Defecto:
+
+
+
+ Indexing:
+ Indexación:
+
+
+
+ Elements
+ Elementos
+
+
+
+ Element Type:
+ Tipo de Elemento:
+
+
+
+ Operator
+ Operador
+
+
+
+ Function
+ Función
+
+
+
+ Storage
+ Almacenamiento
+
+
+
+ Function:
+ Función:
+
+
+
+ Operator:
+ Operador:
+
+
+
+ Support/Strategy:
+ Suporte/Estrategía:
+
+
+
+
+ Op. Family:
+ Op. Familia:
+
+
+
+ Storage Type
+ Tipo de Almacenamiento
+
+
+
+ Object
+ Objecto
+
+
+
+ Type
+ Tipo
+
+
+
+ Support/Strategy
+ Suporte/Estrategía
+
+
+
+ Operator Family
+ Operador Familiar
+
+
+
+ OperatorFamilyWidget
+
+
+ Indexing:
+ Indexación:
+
+
+
+ OperatorWidget
+
+
+ MERGES
+ MERGES
+
+
+
+ HASHES
+ HASHES
+
+
+
+ Options:
+ Opciones:
+
+
+
+ Arguments
+ Algumentos
+
+
+
+ Advanced
+ Avanzado
+
+
+
+ Join:
+ Join:
+
+
+
+ Restrict:
+ Restricción:
+
+
+
+ Commutator:
+ Conmutador:
+
+
+
+ Negator:
+ Negación:
+
+
+
+ Operator Func.:
+ Operador Func .:
+
+
+
+ Left Argument Type
+ Tipo Algumento Izquierdo
+
+
+
+ Right Argument Type
+ Tipo Argumento Direcho
+
+
+
+ To create a unary operator it is necessary to specify as <strong><em>'any'</em></strong> one of its arguments. Additionally, the function that defines the operator must have only one parameter and this, in turn, must have the same data type of the the argument of unary operator.
+ Para crear un operador unario es necesario especificar como <strong><em>'any'</em></strong> uno de sus argumentos. Además, la función que define el operador debe tener un solo parámetro y esto, a su vez, debe tener el mismo tipo de datos del argumento del operador unitario.
+
+
+
+ ParameterWidget
+
+
+ Default Value:
+ Valor por Defecto:
+
+
+
+ Mode:
+ Modo:
+
+
+
+ IN
+ IN
+
+
+
+ OUT
+ OUT
+
+
+
+ VARIADIC
+ VARIADIC
+
+
+
+ PermissionWidget
+
+
+
+ Permissions
+ Permisos
+
+
+
+ ID:
+ ID:
+
+
+
+ Disable SQL code
+ Desactivar Código SQL
+
+
+
+
+ Roles
+ Roles
+
+
+
+
+ Privileges
+ Privilégios
+
+
+
+ Edit permissions
+ Editar permisos
+
+
+
+ &Grant
+
+
+
+
+ Re&voke
+
+
+
+
+ Cascade
+ Cascade
+
+
+
+ Privilege
+ Privilégio
+
+
+
+ GRANT OPTION
+ GRANT OPTION
+
+
+
+ Add Permission
+ Adicionar Permiso
+
+
+
+ Update Permission
+ Actualizar Permiso
+
+
+
+ Cancel Operation
+ Cancelar Operación
+
+
+
+ Code Preview
+ Vista previa Código
+
+
+
+ Id
+ Id
+
+
+
+ Name
+ Nombre
+
+
+
+ Leave the <em><strong>Roles</strong></em> grid empty in order to create a %1 applicable to <strong><em>PUBLIC</em></strong>.
+
+
+
+
+ -- No permissions defined for the specified object!
+ -- No hay permisos definidos para el objeto especificado!
+
+
+
+ /* Could not generate the SQL code preview for permissions!
+ / * No se pudo generar el código SQL para previsualización permisos!
+
+
+
+ PgModelerCLI
+
+
+ Unrecognized option '%1'.
+ Opción no reconocido '%1'.
+
+
+
+ Value not specified for option '%1'.
+ El valor no se especifica para la opción '%1'.
+
+
+
+ Option '%1' does not accept values.
+ Opción '%1' no acepta valores.
+
+
+
+ Usage: pgmodeler-cli [OPTIONS]
+ El uso: pgmodeler-cli [OPTIONS]
+
+
+
+
+ command line interface.
+ interfaz de línea de comandos.
+
+
+
+ General options:
+ Opciones Generales:
+
+
+
+ DBMS export options:
+ Opciones de exportación del SGDB:
+
+
+
+ Miscellaneous options:
+ Otros Opciones:
+
+
+
+ There are no connections configured.
+ No hay conexiones configuradas.
+
+
+
+ Input file must be different from output!
+ Archivo de entrada debe ser diferente de la salida!
+
+
+
+ Incomplete connection information!
+ Información de conexión incompleto!
+
+
+
+ Invalid zoom specified!
+ Inválido Zoom especificado!
+
+
+
+ Invalid action specified to update mime option!
+ Acción inválida para actualizar opción mimo!
+
+
+
+ Starting model fixing...
+ Iniciar fijación modelo...
+
+
+
+ Starting mime update...
+ Iniciar actualización de mime...
+
+
+
+ Starting model export...
+ Comenzando del modelo de exportación ...
+
+
+
+ Model successfully fixed!
+ Modelo fijado correctamente!
+
+
+
+ PNG and SVG export options:
+
+
+
+
+ Connection aliased as '%1' was not found in the configuration file.
+
+
+
+
+ PostgreSQL Database Modeler Project - pgmodeler.io
+
+
+
+
+ Copyright 2006-2018 Raphael A. Silva <raphael@pgmodeler.io>
+
+
+
+
+ This CLI tool provides several operations over models and databases without the need to perform them
+in pgModeler's graphical interface. All available options are described below.
+
+
+
+
+ %1, %2 [FILE] Input model file (.dbm). This is mandatory for fix, export operations.
+
+
+
+
+ %1, %2 [DBNAME] Input database name. This is mandatory for import operation.
+
+
+
+
+ %1, %2 [FILE] Output file. This is mandatory for fixing model or exporting to file, png or svg.
+
+
+
+
+ %1, %2 Try to fix the structure of the input model file in order to make it loadable again.
+
+
+
+
+ %1, %2 [NUMBER] Model fix tries. When reaching the maximum count the invalid objects will be discarded.
+
+
+
+
+ %1, %2 Export the input model to a sql script file.
+
+
+
+
+ %1, %2 Export the input model to a png image.
+
+
+
+
+ %1, %2 Export the input model to a svg file.
+
+
+
+
+ %1, %2 Export the input model directly to a PostgreSQL server.
+
+
+
+
+ %1, %2 Import a database to an output file.
+
+
+
+
+ %1, %2 Compares a model and a database or two databases generating the SQL script to synch the latter in relation to the first.
+
+
+
+
+ %1, %2 Force the PostgreSQL version of generated SQL code.
+
+
+
+
+ %1, %2 Silent execution. Only critical messages and errors are shown during process.
+
+
+
+
+ %1, %2 Show this help menu.
+
+
+
+
+ Connection options:
+
+
+
+
+ %1, %2 List available connections in file %3.
+
+
+
+
+ %1, %2 [ALIAS] Connection configuration alias to be used.
+
+
+
+
+ %1, %2 [HOST] PostgreSQL host in which a task will operate.
+
+
+
+
+ %1, %2 [PORT] PostgreSQL host listening port.
+
+
+
+
+ %1, %2 [USER] PostgreSQL username.
+
+
+
+
+ %1, %2 [PASSWORD] PostgreSQL user password.
+
+
+
+
+ %1, %2 [DBNAME] Connection's initial database.
+
+
+
+
+ %1, %2 Draws the grid in the exported image.
+
+
+
+
+ %1, %2 Draws the page delimiters in the exported image.
+
+
+
+
+ %1, %2 Each page will be exported in a separated png image. (Only for PNG images)
+
+
+
+
+ %1, %2 [FACTOR] Applies a zoom (in percent) before export to png image. Accepted zoom interval: %3-%4 (Only for PNG images)
+
+
+
+
+ %1, %2 Ignores errors related to duplicated objects that eventually exist in the server.
+
+
+
+
+ %1, %2 [CODES] Ignores additional errors by their codes. A comma-separated list of alphanumeric codes should be provided.
+
+
+
+
+ %1, %2 Drop the database before execute a export process.
+
+
+
+
+ %1, %2 Runs the DROP commands attached to SQL-enabled objects.
+
+
+
+
+ %1, %2 Simulates an export process by executing all steps but undoing any modification in the end.
+
+
+
+
+ %1, %2 Generates temporary names for database, roles and tablespaces when in simulation mode.
+
+
+
+
+ Database import options:
+
+
+
+
+ %1, %2 Ignore all errors and try to create as many as possible objects.
+
+
+
+
+ %1, %2 Import system built-in objects. This option causes the model bloating due to the importing of unneeded objects.
+
+
+
+
+ %1, %2 Import extension objects. This option causes the model bloating due to the importing of unneeded objects.
+
+
+
+
+ %1, %2 Run import in debug mode printing all queries executed in the server.
+
+
+
+
+ Diff options:
+
+
+
+
+ %1, %2 [DBNAME] The database used in the comparison. All the SQL code generated is applied to it.
+
+
+
+
+ %1, %2 Save the generated diff code to output file.
+
+
+
+
+ %1, %2 Apply the generated diff code on the database server.
+
+
+
+
+ %1, %2 Don't preview the generated diff code when applying it to the server.
+
+
+
+
+ %1, %2 Drop cluster level objects like roles and tablespaces.
+
+
+
+
+ %1, %2 Revoke permissions already set on the database. New permissions configured in the input model are still applied.
+
+
+
+
+ %1, %2 Drop missing objects. Generates DROP commands for objects that are present in the input model but not in the compared database.
+
+
+
+
+ %1, %2 Force the drop of missing columns and constraints. Causes only columns and constraints to be dropped, other missing objects aren't removed.
+
+
+
+
+ %1, %2 Rename the destination database when the names of the involved databases are different.
+
+
+
+
+ %1, %2 Don't drop or truncate objects in cascade mode.
+
+
+
+
+ %1, %2 Truncate tables prior to alter columns. Avoids errors related to type casting when the new type of a column isn't compatible to the old one.
+
+
+
+
+ %1, %2 Don't reuse sequences on serial columns. Drop the old sequence assigned to a serial column and creates a new one.
+
+
+
+
+ %1, %2 Don't force the recreation of objects. Avoids the usage of a DROP and CREATE commands to create a new version of the objects.
+
+
+
+
+ %1, %2 Don't recreate the unmodifiable objects. These objects are the ones which can't be changed via ALTER command.
+
+
+
+
+ %1, %2 [ACTION] Handles the file association to .dbm files. The ACTION can be [%3 | %4].
+
+
+
+
+ ** The diff process allows the usage of the following options related to import and export operations:
+
+
+
+
+ * Export:
+
+
+
+
+ * Import:
+
+
+
+
+ ** When running the diff using two databases (%1 and %2) there's the need to specify two connections/aliases.
+
+
+
+
+ If only one connection is set it will be used to import the input database as well to retrieve database used in the comparison.
+
+
+
+
+ A second connection can be specified by appending a 1 on any connection configuration parameter listed above.
+
+
+
+
+ Available connections (alias : connection string)
+
+
+
+
+ No operation mode was specified!
+
+
+
+
+ Export, fix model, import database, diff and update mime operations can't be used at the same time!
+
+
+
+
+ Multiple export mode was specified!
+
+
+
+
+ No input file was specified!
+
+
+
+
+ No input database was specified!
+
+
+
+
+ No output file was specified!
+
+
+
+
+ No input file or database was specified!
+
+
+
+
+ The input file and database can't be used at the same time!
+
+
+
+
+ No database to be compared was specified!
+
+
+
+
+ No diff action (save or apply) was specified!
+
+
+
+
+ No output file for the diff code was specified!
+
+
+
+
+ ** Error code `%1' found and ignored. Proceeding with export.
+
+
+
+
+ ** Command: %1
+
+
+
+
+ Extracting objects' XML...
+ Exportando objetos XML...
+
+
+
+ Invalid input file! It seems that is not a pgModeler generated model or the file is corrupted!
+ Archivo de entrada no es válido! Parece que no es un modelo pgModeler generada o el archivo está dañado!
+
+
+
+ Recreating objects...
+ Recreando objetos...
+
+
+
+
+** Object(s) that couldn't fixed:
+
+** Objeto(s) que no podían ser fijado:
+
+
+
+ WARNING: There are objects that maybe can't be fixed. Trying again... (tries %1/%2)
+ ADVERTENCIA: Hay objetos que tal vez no se pueden arreglar. Tratando de nuevo ... (Trata %1/%2)
+
+
+
+
+ Loading input file: %1
+
+
+
+
+ Fixed model file: %1
+
+
+
+
+ Export to PNG image: %1
+
+
+
+
+ Export to SVG file: %1
+
+
+
+
+ Export to SQL script file: %1
+
+
+
+
+ Export to DBMS: %1
+
+
+
+
+ Export successfully ended!
+
+
+
+
+
+ Starting database import...
+
+
+
+
+
+ Input database: %1
+
+
+
+
+ Saving the imported database to file...
+
+
+
+
+ Import successfully ended!
+
+
+
+
+
+ Starting diff process...
+
+
+
+
+ Input model: %1
+
+
+
+
+ Compare to: %1
+
+
+
+
+ Loading input model...
+
+
+
+
+
+ Importing the database `%1'...
+
+
+
+
+ Comparing the generated models...
+
+
+
+
+ No differences were detected.
+
+
+
+
+ Saving diff to file `%1'
+
+
+
+
+ ** WARNING: You are about to apply the generated diff code to the server. Data can be lost in the process!
+
+
+
+
+ ** Proceed with the diff applying? (yes/no) >
+
+
+
+
+ yes
+
+
+
+
+
+ no
+
+
+
+
+ Diff code not applied to the server.
+
+
+
+
+ Applying diff to the database `%1'...
+
+
+
+
+ Diff successfully ended!
+
+
+
+
+
+ Mime database successfully updated!
+
+
+
+
+
+ Database model files (.dbm) are already associated to pgModeler!
+ Archivos de modelo de base de datos (.dbm) ya están asociados a pgModeler!
+
+
+
+ There is no file association related to pgModeler and .dbm files!
+ No hay ninguna asociación de archivos relacionados con pgModeler y archivos .dbm!
+
+
+
+ Mime database operation: %1
+ Operación Mime de base de datos: %1
+
+
+
+ Can't erase the file %1! Check if the current user has permissions to delete it and if the file exists.
+ No se puede borrar el archivo% 1! Compruebe si el usuario actual tiene permisos para eliminarlo y si existe el archivo.
+
+
+
+ Running update-mime-database command...
+ Ejecución de comando update-mime-database...
+
+
+
+ PgModelerPlugin
+
+
+ Plugin Information
+ Información del plugin
+
+
+
+ Version: %1
+ Versión: %1
+
+
+
+ Author: %1
+ Autor: %1
+
+
+
+ PgModelerUiNS
+
+
+ Do you want to apply the <strong>SQL %1 status</strong> to the object's references too? This will avoid problems when exporting or validating the model.
+ ¿Desea aplicar el <strong>SQL %1 estatus</strong> a las referencias del objeto también? Esto evitará problemas al exportar o validar el modelo.
+
+
+
+ disabling
+ deshabilitando
+
+
+
+ enabling
+ habilitando
+
+
+
+ PgSQLTypeWidget
+
+
+ Form
+ Formulario
+
+
+
+ Data Type
+ Tipo de Dato
+
+
+
+ SRID:
+ SRID:
+
+
+
+ Variation:
+ Variación:
+
+
+
+ Z
+ Z
+
+
+
+ M
+ M
+
+
+
+
+ Precision
+ Precisión
+
+
+
+ Spatial:
+ Espacial:
+
+
+
+
+ Dimension
+ Dimensión
+
+
+
+ Format:
+ Formato:
+
+
+
+ Timezone:
+ Zona Horaria:
+
+
+
+ Type:
+ Tipo:
+
+
+
+ P:
+ P:
+
+
+
+
+ Length
+ Longitud
+
+
+
+ L:
+ L:
+
+
+
+ Interval:
+ Intervalo:
+
+
+
+ [ ]:
+ [ ]:
+
+
+
+ NONE
+ NONE
+
+
+
+ PluginsConfigWidget
+
+
+ Form
+ Formulario
+
+
+
+ Open in file manager
+ Abrir en el administrador de archivos
+
+
+
+ Plug-ins root directory:
+ Plug-ins de directorio raíz:
+
+
+
+ Loaded plug-ins
+ Cargando plug-ins
+
+
+
+ Plugin
+ Plugin
+
+
+
+ Version
+ Versión
+
+
+
+ Library
+ Biblioteca
+
+
+
+ PolicyWidget
+
+
+ Basics
+
+
+
+
+ Command:
+
+
+
+
+ Permissive
+
+
+
+
+ Roles
+ Roles
+
+
+
+ Expressions
+ Expresiones
+
+
+
+ USING:
+
+
+
+
+ CHECK:
+
+
+
+
+ Name
+ Nombre
+
+
+
+ Leave the <em><strong>Roles</strong></em> grid empty in order to create a %1 applicable to <strong><em>PUBLIC</em></strong>.
+
+
+
+
+ QObject
+
+
+ new_database
+ new_database
+
+
+
+
+
+
+ %1 (line: %2)
+ %1 (line: %2)
+
+
+
+ Relationship
+
+
+ %1_has_one_%2
+ %1_tiene_uno_%2
+
+
+
+ %1_has_many_%2
+ %1_tiene_muchos_%2
+
+
+
+ many_%1_has_many_%2
+ muchos_%1_tiene_muchos_%2
+
+
+
+ %1_inherits_%2
+ %1_herencia_%2
+
+
+
+ %1_copies_%2
+ %1_copias_%2
+
+
+
+ RelationshipConfigWidget
+
+
+ Form
+ Formulario
+
+
+
+ Connection Mode
+ Modo de Conexión
+
+
+
+ Connect FK to PK columns
+ Conecte FK a columnas PK
+
+
+
+ This mode renders the relationships in crow's foot notation which has a better semantics and readability. It also determines the optimal point where the relationship is connected on the tables' edges taking their position into account.
+
+
+
+
+ Crow's foot notation
+
+
+
+
+ This mode determines the optimal point where the relationship is connected on the tables' edges taking their position into account. It implies the usage of the classical ER notation.
+
+
+
+
+ Connect tables' edges
+
+
+
+
+ This mode is available only for <strong>one-to-one</strong>, <strong>one-to-many</strong> and <strong>fk relationships</strong> but provides a better semantics when linking tables by placing the lines on the exact point where the relationship occurs. It implies the usage of the classical ER notation.
+
+
+
+
+ This mode is the classical one. It connects the relationship to tables through their central points. It implies the usage of the classical ER notation.
+
+
+
+
+ Connect tables' center points
+ Conecte tabla a puntos central
+
+
+
+ FK Settings && Patterns
+ Configurar FK && Patrones
+
+
+
+ Foreign key settings
+ Configurar llave foránea
+
+
+
+ Deferral:
+ Diferimiento:
+
+
+
+ Deferrable:
+ Diferible:
+
+
+
+ ON DELETE:
+ ON DELETE:
+
+
+
+ ON UPDATE:
+ ON UPDATE:
+
+
+
+ Name patterns
+ Nombre patrones
+
+
+
+ Pattern for foreign key generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+ Patrón de llave foránea generada basa en pk de las tablas de referencia (1-1 y 1-n) o basada en pk (nn) de las tablas de origen.
+
+
+
+ Foreign Key (Source):
+ Llave Foránea (Fuente):
+
+
+
+ Relationship type:
+ Tipo de relación:
+
+
+
+ Pattern for columns generated based upon target table's pk (n-n).
+ Patrón de columnas generadas basa en pk (nn) de las tablas de destino.
+
+
+
+ Column (Target):
+ Columna (Target):
+
+
+
+ One to one (1:1)
+ Uno a uno (1:1)
+
+
+
+ One to many (1:n)
+ Uno a muchos (1:n)
+
+
+
+ Many to many (n:n)
+ muchos a muchos (n:n)
+
+
+
+ Generalization
+ Generalización
+
+
+
+ Copy
+ Copia
+
+
+
+ Pattern for columns generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+ Patrón de columnas generadas basa en pk de las tablas de referencia (1-1 y 1-n) o basada en pk (nn) de las tablas de origen.
+
+
+
+ Column (Source):
+ Column (Fuente):
+
+
+
+ Pattern for foreign key generated based upon target table's pk (n-n).
+ Patrón de llave foránea generada basa en pk (nn) de las tablaa de destino.
+
+
+
+ Foreign Key (Target):
+ Lave Foránea (Destino):
+
+
+
+ Pattern for unique key generated by the relationship.
+ Patrón de llave única generada por la relación.
+
+
+
+ Unique Key Name:
+ Nombre Llave Única:
+
+
+
+
+ Pattern for primary key generated by identifier relationship.
+ Patrón para la llave primaria generada por la relación identificador.
+
+
+
+ Primary Key Name:
+ Nombre Llave Primaria:
+
+
+
+ Primary Key Column:
+ Columna Llave Primaria:
+
+
+
+ Default
+ por Defecto
+
+
+
+ RelationshipWidget
+
+
+ General
+ General
+
+
+
+ Table 1:
+ Tabla 1:
+
+
+
+ Name Patterns
+ Nombre Patrones
+
+
+
+
+ Use the values defined on settings dialogs for the fields below
+ Utilice los valores definidos en la configuración de los cuadros de diálogo de los campos siguientes
+
+
+
+
+ Use global settings for these fields
+ Utilice la configuración global de estos campos
+
+
+
+ Pattern for columns generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+ Patrón de columnas generadas basa en pk de las tablas de referencia (1-1 y 1-n) o basada en pk (nn) de las tablas de origen.
+
+
+
+ Column (Source):
+ Columna (Fuente):
+
+
+
+ Pattern for columns generated based upon target table's pk (n-n).
+ Patrón de columnas generadas basa en pk (nn) de las tablas de destino.
+
+
+
+ Column (Target):
+ Columna (Target):
+
+
+
+ Pattern for foreign key generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+ Patrón de llave foránea generada basa en pk de las tablas de referencia (1-1 y 1-n) o basada en pk (nn) de las tablas de origen.
+
+
+
+ Foreign Key (Source):
+ Llave Foránea (Fuente):
+
+
+
+ Pattern for foreign key generated based upon target table's pk (n-n).
+ Patrón de llave foránea generada basa en pk (nn) de tabla de destino.
+
+
+
+ Foreign Key (Target):
+ Llave Foránea (Destino):
+
+
+
+
+ Pattern for primary key generated by identifier relationship.
+ Patrón para la llave primaria generada por la relación identificador.
+
+
+
+ Primary Key Name:
+ Nombre Llave Primaria:
+
+
+
+ Pattern for unique key generated by the relationship.
+ Patrón de llave única generada por la relación.
+
+
+
+ Unique Key Name:
+ Nombra Llave Única:
+
+
+
+ Primay Key Column:
+ Columna Llave Primaria:
+
+
+
+ Cardinality:
+ Cardinalidad:
+
+
+
+
+ Name of the table generated from many to many relationship
+ Nombre de la tabla generada a partir de relación muchos a muchos
+
+
+
+ Gen. Table Name:
+ Nombre tabla Gen.:
+
+
+
+ Rel. Type:
+ Tipo Rel.:
+
+
+
+ Table 2:
+ Tabla 2:
+
+
+
+ [SRC] is required
+ [SRC] es requirido
+
+
+
+ [DST] is required
+ [DST] es requirido
+
+
+
+ Foreign key Settings
+ Configuración de Llave Foránea
+
+
+
+ Deferrable:
+ Diferible:
+
+
+
+ Deferral:
+ Diferimiento:
+
+
+
+ ON DELETE:
+
+
+
+
+ ON UPDATE:
+ ON DELETE:
+
+
+
+ One to one relationship
+ Relación uno a uno
+
+
+
+ &1-1
+
+
+
+
+ &gen
+
+
+
+
+ E&XCLUDING
+
+
+
+
+ One to many relationship
+ Relación de uno a muchos
+
+
+
+ 1-n
+ 1-n
+
+
+
+ Many to many relationship
+ Relación de muchos a muchos
+
+
+
+ n-n
+ n-n
+
+
+
+ Generalization relationship (inheritance)
+ Relación de generalización (herencia)
+
+
+
+ Dependency / Copy relationship
+ Relación de Dependencia / Copia
+
+
+
+ dep
+ dep
+
+
+
+ Relationship generated via foreign key
+ Relación generada a través de clave externa
+
+
+
+ fk
+ fk
+
+
+
+ The receiver's primary key will be composed by the generated foreign key columns.
+ Clave principal del receptor estará compuesta por las columnas llave foránea generadas.
+
+
+
+ Identifier
+ Identificador
+
+
+
+ Instead of create a multi-valued primary key with the generated foreign keys columns a single column is created and used as primary key.
+ En lugar de crear una clave principal de varios valores con las teclas extranjero generada columnas se crea una sola columna y se utiliza como clave principal.
+
+
+
+ Single PK column
+ Una sola columna PK
+
+
+
+ Custom Color:
+ Color personalizado:
+
+
+
+ Copy Options
+ Opciones de copia
+
+
+
+ INDEXES
+ INDEXES
+
+
+
+ COMMENTS
+ COMMENTS
+
+
+
+ INCLUDING
+ INCLUDING
+
+
+
+ DEFAULTS
+ DEFAULTS
+
+
+
+ CONSTRAINTS
+ CONSTRAINTS
+
+
+
+ Use defaults
+ Usar valores predeterminados
+
+
+
+ ALL
+ ALL
+
+
+
+ STORAGE
+ STORAGE
+
+
+
+ Attributes
+ Atributos
+
+
+
+ Constraints
+ Resticciones
+
+
+
+ Primary key
+ Llave Primaria
+
+
+
+ Advanced
+ Avanzado
+
+
+
+ Attribute
+ Atributo
+
+
+
+
+
+ Type
+ Tipo
+
+
+
+ Constraint
+ Resticción
+
+
+
+ Name
+ Nombre
+
+
+
+ Use the special primary key if you want to include a primary key containing generated columns to the receiver table. <strong>Important:</strong> if this is a new relationship there is a need to finish its creation and reopen this dialog to create the special primary key.
+ Utilice la clave primaria especial si usted desea incluir una clave principal que contiene las columnas generadas de la tabla receptor. <strong>Importante:</strong> si se trata de una nueva relación es necesario para terminar su creación y vuelva a abrir este cuadro de diálogo para crear la clave primaria especial.
+
+
+
+ This advanced tab shows the objects (columns or table) auto created by the relationship's connection as well the foreign keys that represents the link between the participant tables.
+ Esta pestaña avanzado muestra los objetos (columnas o tabla) de automóviles creados por la conexión de la relación, así las claves externas que representa el enlace entre las mesas de los participantes.
+
+
+
+ Available tokens to define name patterns:<br/> <strong>%1</strong> = Reference (source) primary key column name. <em>(Ignored on constraint patterns)</em><br/> <strong>%2</strong> = Reference (source) table name.<br/> <strong>%3</strong> = Receiver (destination) table name.<br/> <strong>%4</strong> = Generated table name. <em>(Only for n:n relationships)</em>
+
+
+
+
+ Default
+ por Defecto
+
+
+
+ Referer View:
+ Vista Intermedia:
+
+
+
+ Referer view references one or more columns of a table to construct it's own columns.
+ Vista Intermedia hace referencia a una o más columnas de una tabla de construir es propias columnas.
+
+
+
+ Referenced table has its columns referenced by a view in order to construct the columns of this latter.
+ Tabla referenciada tiene sus columnas referenciadas por una vista para construir las columnas de este último.
+
+
+
+ Referer Table:
+ Tabla Intermedia:
+
+
+
+ Referer table references one or more columns of a table through foreign keys. This is the (n) side of relationship.
+ Tabla intermedia referencia a una o más columnas de una tabla a través de claves externas. Este es el lado (n) de relación.
+
+
+
+ Referenced table has its columns referenced by a table's foreign key. This is the (1) side of relationship.
+ Tabla referenciada tiene sus columnas referenciadas por una mesa y apos; s clave externa. Esta es la (1) lado de relación.
+
+
+
+ Referenced Table:
+ Tabla Referenciada:
+
+
+
+
+
+ Reference Table:
+ Tabla Referencia:
+
+
+
+ Reference table has the columns from its primary key will copied to the receiver table in order to represent the linking between them. This is the (1) side of relationship.
+ Tabla de referencia tiene las columnas de su clave primaria se copian en la tabla del receptor con el fin de representar a la vinculación entre ellos. Esta es la (1) lado de relación.
+
+
+
+ Receiver Table:
+ Tabla Receptora:
+
+
+
+ Receiver (or referer) table will receive the generated columns and the foreign key in order to represent the linking between them. This is the (n) side of relationship.
+ Receptor tabla (o intermedia) recibirá las columnas generadas y la clave externa con el fin de representar a la vinculación entre ellos. Este es el lado (n) de relación.
+
+
+
+ In many-to-many relationships both tables are used as reference to generate the table that represents the linking. Columns from both tables are copied to the resultant table and two foreign keys are created as well in order to reference each participant table.
+ En muchos-a-muchos relación ambas tablas se utilizan como referencia para generar la tabla que representa la vinculación. Las columnas de ambas tablas se copian en la tabla resultante y dos claves externas se crean así con el fin de hacer referencia a cada mesa participante.
+
+
+
+
+ is required
+ es requerido
+
+
+
+ ResultSetModel
+
+
+ [binary data]
+ [datos binarios]
+
+
+
+ RoleWidget
+
+
+ yyyy-MMM-dd hh:mm:ss
+ yyyy-MMM-dd hh:mm:ss
+
+
+
+
+ Validity
+ Validez
+
+
+
+ Connections:
+ Conexión:
+
+
+
+ Attributes
+ Atributos
+
+
+
+ Superuser
+ Superusuário
+
+
+
+ Inherit permissions
+
+
+
+
+ Can create database
+
+
+
+
+ Bypass RLS
+
+
+
+
+ Can use replication
+
+
+
+
+ Can login
+ Puede login
+
+
+
+ Can create role
+
+
+
+
+
+ Members
+ Miembros
+
+
+
+
+ Member of
+ Miembro de
+
+
+
+
+ Members (Admin.)
+ Miembros (Admin.)
+
+
+
+ Password:
+ Contraseña:
+
+
+
+ Encrypted
+ Encriptada
+
+
+
+ Assigning <strong><em>-1</em></strong> to <strong><em>Connections</em></strong> creates a role without connection limit.<br/> Unchecking <strong><em>Validity</em></strong> creates an role that never expires.
+
+
+
+
+ Role
+ Rol
+
+
+
+ RuleWidget
+
+
+ Event:
+ Evento:
+
+
+
+ Execution Type:
+ Tipo Ejecución:
+
+
+
+ Conditional Expr.:
+ Expr. Condicional:
+
+
+
+ Commands
+ Comandos
+
+
+
+ SQL Command:
+ Comando SQL:
+
+
+
+ SQL command
+ Comando SQL
+
+
+
+ To create a rule that does not perform any action (<strong>DO NOTHING</strong>) simply do not specify commands in the SQL commands table.
+ Para crear una regla que no realiza ninguna acción (<strong>DO NOTHING</strong>) basta não especificar Comandos na tabla de Comandos SQL.
+
+
+
+ SQLExecutionWidget
+
+
+ Form
+ Formulario
+
+
+
+ Save SQL commands
+ Guardar comandos SQL
+
+
+
+ Search in SQL code
+
+
+
+
+ Close the current SQL script
+
+
+
+
+ SQL script currently handled
+
+
+
+
+ (not saved)
+
+
+
+
+ Handle external SQL script
+
+
+
+
+ &Script
+
+
+
+
+ Alt+F
+ Alt+F
+
+
+
+ Fi&nd
+
+
+
+
+ Run the specified SQL command
+ Ejecutar un comando SQL especificada
+
+
+
+ Run SQL
+ Ejecutar SQL
+
+
+
+ F6
+ F6
+
+
+
+ Clear sql input field and results
+ Limpiar campo de entrada de SQL y resultados
+
+
+
+ Clear All
+ Limpiar Todos
+
+
+
+
+ Export results to a CSV file
+ Exportar resultados a un acchivo CSV
+
+
+
+ Snippe&ts
+ Snippe&ts
+
+
+
+ Alt+T
+
+
+
+
+ E&xport
+ E&xportar
+
+
+
+ Alt+X
+
+
+
+
+ Toggles the output pane
+
+
+
+
+ &Output
+
+
+
+
+ Alt+O
+ Alt+O
+
+
+
+ Current working database
+
+
+
+
+
+
+ Results
+
+
+
+
+ Messages
+
+
+
+
+ History
+
+
+
+
+ ...
+ ...
+
+
+
+ SQL file (*.sql);;All files (*.*)
+ Archivo SQL (*.sql);;Todos los archivos (*.*)
+
+
+
+ Load
+ Cargar
+
+
+
+ Save
+
+
+
+
+ Save as
+ Guardar como
+
+
+
+ [binary data]
+ [datos binarios]
+
+
+
+ No results retrieved or changes done due to the error above.
+
+
+
+
+
+ Messages (%1)
+
+
+
+
+ Results (%1)
+
+
+
+
+ [%1]: SQL command successfully executed in <em><strong>%2</strong></em>. <em>%3 <strong>%4</strong></em>
+
+
+
+
+ Rows affected
+
+
+
+
+ Rows retrieved
+
+
+
+
+ Load SQL commands
+ Cargar comandos SQL
+
+
+
+ Save CSV file
+ Guardar archivos CSV
+
+
+
+ Comma-separated values file (*.csv);;All files (*.*)
+ Archivo de valores separados por comas (*.csv);;Todos los archivos (*.*)
+
+
+
+ The SQL input field and the results grid will be cleared! Want to proceed?
+ El campo de entrada de SQL y la cuadrícula de resultados se borrará! ¿Quieres continuar?
+
+
+
+ Copy selection
+ Copiar la selección
+
+
+
+ Plain format
+
+
+
+
+ CVS format
+
+
+
+
+ This action will wipe out all the SQL commands history for all connections! Do you really want to proceed?
+
+
+
+
+ Clear history
+ Limpiar historial
+
+
+
+ Save history
+
+
+
+
+ Reload history
+
+
+
+
+ Find in history
+
+
+
+
+ Hide find tool
+
+
+
+
+ This action will wipe out all the SQL commands history for the current connection! Do you really want to proceed?
+
+
+
+
+ SQLToolWidget
+
+
+ Form
+ Formulario
+
+
+
+ Database explorer
+ Explorar Base de Datos
+
+
+
+ Disconnect from all databases
+
+
+
+
+ Update the database list
+
+
+
+
+ Toggle the object's attributes grid
+
+
+
+
+ Attributes
+ Atributos
+
+
+
+ Alt+R
+ Alt+R
+
+
+
+ Toggle the display of source code pane
+
+
+
+
+
+ Source code
+ Código fuente
+
+
+
+
+ ...
+ ...
+
+
+
+ SQL execution
+ Ejecutar SQL
+
+
+
+ Warning
+ Advertencia
+
+
+
+ <strong>ATTENTION:</strong> Disconnect from all databases will close any opened tab in this view! Do you really want to proceed?
+
+
+
+
+ SceneInfoWidget
+
+
+ Form
+ Formulario
+
+
+
+
+ Current position of the mouse in the canvas
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+ Currently selected object(s)
+
+
+
+
+
+ Dimensions of the selected object(s)
+
+
+
+
+
+ Current zoom factor
+
+
+
+
+ No selection
+
+
+
+
+ N/A
+
+
+
+
+ Sel. objects: %1
+
+
+
+
+ SchemaWidget
+
+
+ Fill color:
+ Color de relleno:
+
+
+
+ Show rectangle
+ Mostrar rectángulo
+
+
+
+ SequenceWidget
+
+
+ Cyclic:
+ Cíclico:
+
+
+
+ Start:
+ Inicio:
+
+
+
+ Maximum:
+ Maximo:
+
+
+
+ Minimum:
+ Minimo:
+
+
+
+ Defualt values:
+
+
+
+
+ Increment:
+ Incremento:
+
+
+
+ Cache:
+ Cache:
+
+
+
+ Owner Col.:
+ Dueño Col.:
+
+
+
+ User defined
+
+
+
+
+ SnippetsConfigWidget
+
+
+ Form
+ Formulario
+
+
+
+ Create new connection
+ Crear nueva conexión
+
+
+
+ Cancel edition
+ Cancelar edición
+
+
+
+ Edit selected connection
+ Editar conexión seleccionada
+
+
+
+ Delete selected connection
+ Eliminar conexión seleccionada
+
+
+
+ Remove All
+ Borrar Todos
+
+
+
+ Shift+Del
+ Shift+Del
+
+
+
+ Filter:
+ Filtrar:
+
+
+
+ Label:
+ Etiqueta:
+
+
+
+ Applies to:
+ Aplicar a:
+
+
+
+ ID:
+ ID:
+
+
+
+ Parsable or dynamic snippets are written in the <strong>schema micro language</strong> syntax. When using a parsable snippet the attributes surrounded in <strong>{}</strong> will be replaced by the selected object's matching attributes.
+ Fragmentos analizable o dinámicas están escritos en el sintaxis <strong>esquema micro lenguaje</strong>. Cuando se utiliza un fragmento parsable los atributos envueltos en <strong>{}</strong> será reemplazado por atributos coincidentes del objeto seleccionado.
+
+
+
+ Parsable
+ Parseable
+
+
+
+ When handling parsable snippets empty attributes will be replaced by a value in the format <strong>{attribute}</strong>. Note that this option can affect the semantics of the resulting snippet.
+ When handling parsable snippets empty attributes will be replaced by a value in the format <strong>{atributo}</strong>. Tenga en cuenta que esta opción puede afectar a la semántica del fragmento resultante.
+
+
+
+ Placeholders
+ Marcadores de posición
+
+
+
+ Parse the snippet in order to check if there are syntax errors.
+ Analizar el fragmento con el fin de comprobar si hay errores de sintaxis.
+
+
+
+ Parse
+ Analizar
+
+
+
+ Add
+ Adicionar
+
+
+
+ Update
+ Actualizar
+
+
+
+ Snippets:
+ Fragmentos:
+
+
+
+ General purpose
+ Propósito general
+
+
+
+ All snippets
+ Todos los fragmentos
+
+
+
+ /* Error parsing the snippet '%1':
+
+ %2 */
+ / * Error al analizar el fragmento '%1':
+
+ %2 */
+
+
+
+ Duplicated snippet id <strong>%1</strong> detected. Please, specify a different one!
+ Duplicado Identificación del fragmento <strong>%1</strong> detectado. Por favor, especifique uno diferente!
+
+
+
+ Invalid ID pattern detected <strong>%1</strong>. This one must start with at leat one letter and be composed by letters, numbers and/or underscore!
+ Patrón de ID no válido detectado <strong>%1</strong>. Éste debe comenzar con una letra en del acueducto y estar compuesta por letras, números y/o destacar!
+
+
+
+ Empty label for snippet <strong>%1</strong>. Please, specify a value for it!
+ Etiqueta vacía para el fragmento <strong>%1</strong>. Por favor, especifique un valor para él!
+
+
+
+ Empty code for snippet <strong>%1</strong>. Please, specify a value for it!
+ Código vacío para el fragmento <strong>%1</strong>. Por favor, especifique un valor para él!
+
+
+
+ The dynamic snippet contains syntax error(s). Additional info: <br/><em>%1</em>
+ El fragmento de código dinámico contiene error de sintaxis (s). Información adicional: <br/><em>%1</em>
+
+
+
+ Do you really want to remove all snippets?
+ ¿De verdad quiere eliminar todos los fragmentos?
+
+
+
+ No syntax errors found in the snippet.
+ No hay errores de sintaxis encontrados en el fragmento.
+
+
+
+ General
+ General
+
+
+
+ SourceCodeWidget
+
+
+ Version:
+ Versión:
+
+
+
+ PostgreSQL
+ PostgreSQL
+
+
+
+ iconecodigo
+ iconecodigo
+
+
+
+ SQL
+ SQL
+
+
+
+ Code display:
+ Visualización de Código:
+
+
+
+ Original
+ Originales
+
+
+
+ Original + depedencies' SQL
+ Originales + SQL dependientes
+
+
+
+ Original + children's SQL
+ Originales + SQL hijos
+
+
+
+ Save the SQL code to a file.
+ Guardar el código SQL code para un archivo.
+
+
+
+ Save SQL
+ Guardar SQL
+
+
+
+ XML
+ XML
+
+
+
+ Source code visualization
+ Visualización del código fuente
+
+
+
+ <strong>Original:</strong> displays only the original object's SQL code.<br/><br/> <strong>Dependencies:</strong> displays the original code including all dependencies needed to properly create the selected object.<br/><br/> <strong>Children:</strong> displays the original code including all object's children SQL code. This option is used only by schemas, tables and views.
+
+
+
+
+ Save SQL code as...
+ Guardar código SQL como...
+
+
+
+ SQL code (*.sql);;All files (*.*)
+ Código SQL (*.sql);;Todos los archivos (*.*)
+
+
+
+ Generating source code...
+ Generación de código fuente...
+
+
+
+ -- NOTE: the code below contains the SQL for the selected object
+-- as well for its dependencies and children (if applicable).
+--
+-- This feature is only a convinience in order to permit you to test
+-- the whole object's SQL definition at once.
+--
+-- When exporting or generating the SQL for the whole database model
+-- all objects will be placed at their original positions.
+
+
+
+ -- NOTA: el código de abajo contiene el SQL para el objeto seleccionado
+-- así como para sus dependencias y los hijos (en su caso).
+--
+-- Esta función sólo una conveniencia a fin de permitir que probar
+-- Definición SQL el conjunto de objetos a la vez.
+--
+-- Al exportar o generar el SQL para todo el modelo de base de datos
+-- Todos los objetos serán colocados en sus posiciones originales.
+
+
+
+
+
+
+
+
+-- SQL code purposely truncated at this point in demo version!
+
+
+
+
+ -- SQL code unavailable for this type of object --
+ -- Código SQL disponible para este tipo de objeto --
+
+
+
+ <!-- XML code preview disabled in demonstration version -->
+ <!-- Código XML previsualización desactivado en la versión de demostración -->
+
+
+
+ SwapObjectsIdsWidget
+
+
+ Change objects creation order
+
+
+
+
+ Create:
+ Crear:
+
+
+
+
+ ID:
+ ID:
+
+
+
+ Before:
+ Anterior:
+
+
+
+ Change the objects creation order is an irreversible operation and cause the operations history to be automatically erased. Note that the creation order configured in this form is not definitive and may change after a model validation.
+
+
+
+
+ Swap the object ids changing their creation order
+
+
+
+
+ Swap ids
+
+
+
+
+ Filter:
+
+
+
+
+ ID
+ ID
+
+
+
+ Object
+ Objecto
+
+
+
+ Type
+ Tipo
+
+
+
+ Parent Object
+
+
+
+
+ Parent Type
+ Tipo del Padre
+
+
+
+ Swap the values of the fields
+ Cambie los valores de los campos
+
+
+
+ Swap values
+ Cambie los valores
+
+
+
+ Table
+
+
+ new_table
+ nueva_tabla
+
+
+
+ In demonstration version tables can have only `%1' instances of each child object type or ancestor tables! You've reach this limit for the type: `%2'
+ En la demostración mesas versión sólo pueden tener `%1' instancias de cada tipo de objeto hijo o antepasado de la tabla! Tienes que llegar a este límite para el tipo: `%2'
+
+
+
+ TableDataWidget
+
+
+ Edit table data
+
+
+
+
+ Copy items on the grid
+
+
+
+
+ Copy
+
+
+
+
+ Add empty rows
+
+
+
+
+ Add row
+
+
+
+
+ Ins
+ Ins
+
+
+
+ Delete column
+
+
+
+
+ Paste items on the grid
+
+
+
+
+ Paste
+ Pegar
+
+
+
+ Ctrl+V
+ Ctrl+V
+
+
+
+ Fills the grid using a CSV file
+
+
+
+
+ <html><head/><body><p>Some invalid or duplicated columns were detected. In order to solve this issue double-click the header of the highlighted ones in order to define the correct name in which the data belongs to or delete the entire column. Note that these columns are completely ignored when generating the <span style=" font-weight:600;">INSERT</span> commands.</p></body></html>
+
+
+
+
+ Add column
+
+
+
+
+ Duplicate rows
+
+
+
+
+ Change the values of all selected cells at once
+
+
+
+
+ Bulk data edit
+
+
+
+
+ Ctrl+E
+ Ctrl+E
+
+
+
+ Delete all columns
+
+
+
+
+ Delete rows
+
+
+
+
+ <html><head/><body><p>Empty values are assumed as <span style=" font-weight:600;">DEFAULT</span>. To use special values like <span style=" font-weight:600;">NULL</span>, a function call like <span style=" font-weight:600;">now()</span> or a specific data escaping, enclose values in two slashes, e.g., <span style=" font-weight:600;">/value/</span>. To use a slash as part of the value prepend the backslash character, e.g., <span style=" font-weight:600;">\/</span>.</p></body></html>
+
+
+
+
+ Add an empty column
+
+
+
+
+ Remove all rows from the grid preserving columns
+
+
+
+
+ Delete all rows
+
+
+
+
+ Shift+Del
+ Shift+Del
+
+
+
+ Delete the selected rows
+
+
+
+
+
+ Del
+ Del
+
+
+
+ Duplicate the selected rows
+
+
+
+
+ Ctrl+D
+
+
+
+
+ Delete the selected columns
+
+
+
+
+ Remove all columns (and rows) from the grid
+
+
+
+
+ Ctrl+Shift+Del
+
+
+
+
+ Delete columns is an irreversible action! Do you really want to proceed?
+
+
+
+
+ Remove all rows is an irreversible action! Do you really want to proceed?
+
+
+
+
+ Remove all columns is an irreversible action! Do you really want to proceed?
+
+
+
+
+
+ Unknown column
+
+
+
+
+ Duplicated column
+
+
+
+
+ TableObjectView
+
+
+
+Relationship: %1
+
+Relación: %1
+
+
+
+ TableWidget
+
+
+ Options
+ Opciones
+
+
+
+ Tag:
+ Tag:
+
+
+
+ With OID
+ Con OIDs
+
+
+
+ Generate ALTER for columns/constraints
+ Generar ALTER para columnas/restricciones
+
+
+
+ Unlogged
+ Invitados
+
+
+
+ Enable row level security
+
+
+
+
+ Force RLS for owner
+
+
+
+
+ &Columns
+ &Columnas
+
+
+
+ Co&nstraints
+
+
+
+
+ Tri&ggers
+
+
+
+
+ &Rules
+ &Reglas
+
+
+
+ &Indexes
+ &Indíces
+
+
+
+ &Policies
+
+
+
+
+ &Tables
+ &Tablas
+
+
+
+ Edit data
+ Editar datos
+
+
+
+ Define initial data for the table
+ Definir los datos iniciales de la tabla
+
+
+
+
+
+
+
+
+
+ Name
+ Nombre
+
+
+
+ Schema
+ Esquema
+
+
+
+
+
+ Type
+ Tipo
+
+
+
+ PK
+
+
+
+
+ Default Value
+ Valor por defecto
+
+
+
+ Attribute(s)
+ Atributo(s)
+
+
+
+ It is not possible to mark a column as primary key when the table already has a primary key which was created by a relationship! This action should be done in the section <strong>Primary key</strong> of the relationship's editing form.
+
+
+
+
+ It is not possible to mark a column created by a relationship as primary key! This action should be done in the section <strong>Primary key</strong> of the relationship's editing form.
+
+
+
+
+ ON DELETE
+ ON DELETE
+
+
+
+ ON UPDATE
+ ON UPDATE
+
+
+
+ Refer. Table
+ Tabla Refer
+
+
+
+ Firing
+ Firing
+
+
+
+ Events
+ Eventos
+
+
+
+ Execution
+ Ejecución
+
+
+
+ Event
+ Evento
+
+
+
+ Indexing
+ Indezado
+
+
+
+ Command
+
+
+
+
+ Permissive
+
+
+
+
+ USING expression
+
+
+
+
+ CHECK expression
+
+
+
+
+ Roles
+ Roles
+
+
+
+ Parent
+ Padre
+
+
+
+ Copy
+ Copia
+
+
+
+ Yes
+ Si
+
+
+
+ No
+ No
+
+
+
+ TablespaceWidget
+
+
+ Form
+ Formulario
+
+
+
+ Directory:
+ Directorio:
+
+
+
+ TagWidget
+
+
+ Colors
+ Colores
+
+
+
+ Extended body:
+ Cuerpo extendido:
+
+
+
+ Body:
+ Cuerpo:
+
+
+
+ Title:
+ Título:
+
+
+
+ Schema name:
+ Nombre esquema:
+
+
+
+ Table name:
+ Nombre tabla:
+
+
+
+ TaskProgressWidget
+
+
+ Executing tasks
+ Ejecutando tareas
+
+
+
+
+ Waiting task to start...
+ Esperando tarea para empezar...
+
+
+
+ TextboxWidget
+
+
+ Font:
+ Fuente:
+
+
+
+ Text
+ Texto
+
+
+
+ pt
+ pt
+
+
+
+ Color:
+ Color:
+
+
+
+ Bold
+ Negrita
+
+
+
+ Italic
+ Itálica
+
+
+
+ Underline
+ Subrayado
+
+
+
+ Select text color
+ Seleccionar color del texto
+
+
+
+ TriggerWidget
+
+
+ Constraint
+ Restricción
+
+
+
+ Deferrable:
+ Diferible:
+
+
+
+ FOR EACH ROW
+ FOR EACH ROW
+
+
+
+ Event:
+ Evento:
+
+
+
+ INSERT
+ INSERT
+
+
+
+ DELETE
+ DELETE
+
+
+
+ UPDATE
+ UPDATE
+
+
+
+ TRUNCATE
+ TRUNCATE
+
+
+
+ Refer. Table:
+ Tabla Refer.:
+
+
+
+ Condition:
+ Condición:
+
+
+
+ Arguments
+ Argumentos
+
+
+
+ Argument:
+ Argumento:
+
+
+
+ Columns
+ Columnas
+
+
+
+ Column:
+ Columna:
+
+
+
+ Function:
+ Función:
+
+
+
+ Options:
+ Opciones:
+
+
+
+ Excution:
+ Ejecución:
+
+
+
+ Column
+ Columna
+
+
+
+ Type
+ Tipo
+
+
+
+ TypeWidget
+
+
+ Range
+ Rango
+
+
+
+ Functions
+ Funciones
+
+
+
+ INPUT:
+ INPUT:
+
+
+
+ OUTPUT:
+ OUTPUT:
+
+
+
+ RECV:
+ RECV:
+
+
+
+ SEND:
+ SEND:
+
+
+
+ TPMOD_IN:
+ TPMOD_IN:
+
+
+
+ TPMOD_OUT:
+ TPMOD_OUT:
+
+
+
+ ANALYZE:
+ ANALYZE:
+
+
+
+
+
+ Attributes
+ Atributos
+
+
+
+ Internal Length:
+ Longtud Interna:
+
+
+
+ Storage:
+ Almacenar:
+
+
+
+ Options:
+ Opciones:
+
+
+
+ By value
+ Por valor
+
+
+
+ Preferred
+ Preferida
+
+
+
+ Collatable
+ Collatable
+
+
+
+ Category:
+ Categoría:
+
+
+
+ Delimiter:
+ Delimitador:
+
+
+
+ Default Value:
+ Valor por Defecto:
+
+
+
+ Alignment:
+ Aliniación:
+
+
+
+ integer
+ integer
+
+
+
+ char
+ char
+
+
+
+ smallint
+ smallint
+
+
+
+ double precision
+ double precision
+
+
+
+ Configuration:
+ Configuración:
+
+
+
+ Base Type
+ Tipo Base
+
+
+
+ Enumeration
+ Enumeración
+
+
+
+ Co&mposite
+
+
+
+
+ Enumerations
+ Enumeraciones
+
+
+
+ Enumeration:
+ Enumeration:
+
+
+
+ Name:
+ Nombre:
+
+
+
+ Collation:
+ Colación:
+
+
+
+ Subtype Diff Func.:
+ Subtipo Diff Func .:
+
+
+
+ Operator Class:
+ Operador de Clase:
+
+
+
+ Canonical Func.:
+ Func. Canónica:
+
+
+
+ Like Type
+ Como Tipo
+
+
+
+ Element Type
+ Elemento Tipo
+
+
+
+ Subtype
+ Subtipo
+
+
+
+ Name
+ Nombre
+
+
+
+ Type
+ Tipo
+
+
+
+ Collation
+ Colación
+
+
+
+ The functions to be assigned to a type should be written in C language and possess, respectively, the following signatures:<br/> <table> <tr> <td><strong>INPUT:</strong> <em>any function(cstring, oid, integer)</em></td> <td><strong>OUTPUT:</strong> <em>cstring function(any)</em></td> </tr> <tr> <td><strong>SEND:</strong> <em>byta function(any)</em></td> <td><strong>RECV:</strong> <em>any function(internal, oid, integer)</em></td> </tr> <tr> <td><strong>TPMOD_IN:</strong> <em>integer function(cstring[])</em></td> <td><strong>TPMOD_OUT:</strong> <em>cstring function(integer)</em></td> </tr> <tr> <td><strong>ANALYZE:</strong> <em>boolean function(internal)</em></td> <tr> </table>
+
+
+
+
+ The functions to be assigned to a range type should have the following signatures:<br/><br/><strong>Canonical:</strong> <em>any function(any)</em> <br/><strong>Subtype Diff:</strong> <em>double precision function(subtype, subtype)</em>
+ Las funciones que se asigna a un tipo de rango deben tener las siguientes firmas:<br/><br/><strong>Canonical:</strong> <em>any function(any)</em> <br/><strong>Subtype Diff:</strong> <em>double precision function(subtype, subtype)</em>
+
+
+
+ UpdateNotifierWidget
+
+
+ Update Notifier
+ Notificación de Actualizaciones
+
+
+
+ Hide this widget
+ Ocultar este widget
+
+
+
+ ...
+ ...
+
+
+
+ Released in:
+ Liberado en:
+
+
+
+ mmm dd, yyyy
+ mmm dd, yyyy
+
+
+
+ Update found!
+
+
+
+
+ New version:
+
+
+
+
+ 0.0.0
+ 0.0.0
+
+
+
+ Changelog
+ Historial de cambios
+
+
+
+ Redirects to purchase page.
+ Redirige a página de comprar.
+
+
+
+ Get binary package
+ Obtener paquete binario
+
+
+
+ Redirects to GitHub source repository.
+ Redirige al repositorio de fuentes GitHub.
+
+
+
+ Get source code
+ Obtener el código fuente
+
+
+
+
+ Failed to check updates
+ No se ha podido comprobar las actualizaciones
+
+
+
+ The update notifier failed to check for new versions! Please, verify your internet connectivity and try again! Connection error returned: <em>%1</em> - <strong>%2</strong>.
+
+
+
+
+ No updates found
+ No se encontraron actualizaciones
+
+
+
+ You are running the most recent pgModeler version! No update needed.
+ Está ejecutando la versión más reciente pgModeler! Ninguna actualización necesaria.
+
+
+
+ The update notifier failed to check for new versions! A HTTP status code was returned: <strong>%1</strong>
+ El notificador de actualización no pudo comprobar si hay nuevas versiones! Un código de estado HTTP fue devuelto: <strong>%1</strong>
+
+
+
+ ViewWidget
+
+
+ References
+ Referencias
+
+
+
+ Expression Alias:
+ Alias Expresión:
+
+
+
+ Column:
+ Columna:
+
+
+
+ Table:
+ Tabla:
+
+
+
+ Table Alias:
+ Alias Tabla:
+
+
+
+ Used in:
+ Usado en:
+
+
+
+ Column
+ Columna
+
+
+
+ Expression
+ Expresión
+
+
+
+ Reference Type:
+ Tipo de Referencia:
+
+
+
+ View Definition
+ Definición de Vista
+
+
+
+ Expression:
+ Expresión:
+
+
+
+ Column Alias:
+ Alias de Columna:
+
+
+
+ The element will be used as part of the SELECT statement to retrieve columns or expressions that will compose the view's columns
+
+
+
+
+ SELECT ...
+
+
+
+
+ The element will be used as part of the WHERE clause in form of conditional expression
+
+
+
+
+ WHERE ...
+
+
+
+
+ The element is used in the FROM portion of the command in order to reference tables or construct JOIN statements
+
+
+
+
+ FROM ...
+
+
+
+
+ The element's expression is used exclusively as the view's definition
+
+
+
+
+ The element will be appended to the very end of the view's definition. This is useful when using GROUP BY/HAVING statements
+
+
+
+
+ End expression
+
+
+
+
+ Triggers
+ Triggers
+
+
+
+ Rules
+ Reglas
+
+
+
+ Indexes
+ Índices
+
+
+
+ Table Expression
+ Expresión de tabla
+
+
+
+ Code Preview
+ Vista previa código
+
+
+
+ Options
+ Opciones
+
+
+
+ Tag:
+ Tag:
+
+
+
+ Mode:
+ Modo:
+
+
+
+ Ordinary
+ Ordinario
+
+
+
+ Recursi&ve
+
+
+
+
+ &Materialized
+
+
+
+
+ With no data
+ Sin datos
+
+
+
+ Col./Expr.
+ Col./Expr.
+
+
+
+ Alias
+ Alias
+
+
+
+ Alias Col.
+ Alias Col.
+
+
+
+ Flags: SF FW AW EX VD
+
+
+
+
+ To reference all columns in a table (*) just do not fill the field <strong>Column</strong>, this is the same as write <em><strong>[schema].[table].*</strong></em>
+
+
+
+
+
+
+ Name
+ Nombre
+
+
+
+ Refer. Table
+ Refer. Tabla
+
+
+
+ Firing
+ Firing
+
+
+
+ Events
+ Eventos
+
+
+
+ Indexing
+ Indexación
+
+
+
+ Execution
+ Ejecución
+
+
+
+ Event
+ Evento
+
+
+
+ /* Could not generate the SQL code. Make sure all attributes are correctly filled!
+ / * No se pudo generar el código SQL. Asegúrese de que todos los atributos se rellenan correctamente!
+
+
+
+ WelcomeWidget
+
+
+ Form
+ Formulario
+
+
+
+ New model
+ Nuevo modelo
+
+
+
+ Open model
+ Abrir modelo
+
+
+
+ Sample models
+ Ejemplo de modelos
+
+
+
+ Recent models
+ Modelos recientes
+
+
+
+ Last session
+ Última sesión
+
+
+
diff --git a/assets/lang/fr_FR.qm b/assets/lang/fr_FR.qm
new file mode 100644
index 0000000000..df0ddf64ef
Binary files /dev/null and b/assets/lang/fr_FR.qm differ
diff --git a/assets/lang/fr_FR.ts b/assets/lang/fr_FR.ts
new file mode 100644
index 0000000000..7376ebbaba
--- /dev/null
+++ b/assets/lang/fr_FR.ts
@@ -0,0 +1,15787 @@
+
+
+
+
+ AboutWidget
+
+
+ About pgModeler
+ À propos de pgModeler
+
+
+
+ 0.0.0
+ Version is replaced at runtime
+ 0.0.0
+
+
+
+ build:
+ Anglicisme accepté (jargon)
+ build:
+
+
+
+ PostgreSQL Database Modeler
+ Modeleur de base de données PostgreSQL
+
+
+
+ Open source data modeling tool designed for PostgreSQL. No more DDL commands written by hand, let pgModeler do the job for you! This software reunites the concepts of entity-relationship diagrams and the features that PostgreSQL implements as extensions of SQL standards.
+ Outil open source de modélisation de bases de données PostgreSQL. Plus aucun ordre LDD à saisir à la main, laissez pgModeler le faire pour vous ! Ce logiciel fusionne le concept de modélisation entité-association et toutes les fonctionnalités étendues que propose PostgreSQL en plus des standards SQL.
+
+
+
+ <html><head/><body><p>Copyright 2006-2019 - Raphael Araújo e Silva <<a href="mailto:raphael@pgmodeler.com.br"><span style=" text-decoration: underline; color:#0057ae;">raphael@pgmodeler.io</span></a>></p></body></html>
+ Même chose
+ <html><head/><body><p>Copyright 2006-2019 - Raphael Araújo e Silva <<a href="mailto:raphael@pgmodeler.com.br"><span style=" text-decoration: underline; color:#0057ae;">raphael@pgmodeler.io</span></a>></p></body></html>
+
+
+
+ pgModeler is proudly a brazilian software!
+ pgModeler est un logiciel brésilien et fier de l'être !
+
+
+
+ <html><head/><body><p><a href="http://pgmodeler.com.br"><span style=" text-decoration: underline; color:#2980b9;">https://pgmodeler.io</span></a></p></body></html>
+
+
+
+
+ ...
+ ...
+
+
+
+ (BUILD_NUM)
+
+
+
+
+ License
+
+
+
+
+ Hide this widget
+ Cacher ce widget
+
+
+
+ AggregateWidget
+
+
+ Final Function:
+ Fonction finale :
+
+
+
+ Sort Operator:
+ Opérateur de tri :
+
+
+
+ Initial Condition:
+ Condition initiale :
+
+
+
+ Funtion Inputs
+ Entrées de la fonction
+
+
+
+ Function State
+ État de la fonction
+
+
+
+ Transition Func.:
+ Fonction de transition :
+
+
+
+ Input Data Type
+ Type de donnée en entrée
+
+
+
+ State Data Type
+ Type de donnée d'état
+
+
+
+ An aggregate function that accepts the types <em><strong>typeA</strong></em> and <em><strong>typeB</strong></em> as input types and which type of state is <em><strong>state_type</strong></em>, must obey the following rules: <br/><br/> <strong> • Final Function:</strong> <em>void final_function(<strong>state_type</strong>)</em><br/> <strong> • Transition Function:</strong> <em><strong>state_type</strong> transition_function(<strong>state_type</strong>, <strong>typeA</strong>, <strong>typeB</strong>)</em>
+ Une fonction d'agrégat qui accepte les types <em><strong>typeA</strong></em> et <em><strong>typeB</strong></em> en types d'entrée et dont le type d'état est <em><strong>state_type</strong></em>, vous devez respecter les règles suivantes : <br/> <strong> • Fonction finale : </strong><em>void final_function (<strong>state_type</strong>)</em><br/> <strong> • Fonction de transition: </strong><em><strong>state_type</strong> transition_function(<strong>state_type</strong>,<strong>typeA</strong>, <strong>typeB</strong>)</em>
+
+
+
+ AppearanceConfigWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Element:
+ Élément :
+
+
+
+ Global: Font style
+ Global : Style de police
+
+
+
+ Global: Constraints descriptor
+ Global : Marqueurs de contraintes
+
+
+
+ Global: Object selection
+ Global : Sélection d'objet
+
+
+
+ Global: Position hint text
+ Global : Texte de la boite de coordonnées
+
+
+
+ Global: Position hint box
+ Global : Fond de la boite de coordonnées
+
+
+
+ Global: Objects type
+ Global : Type de colonne
+
+
+
+ Global: Lock arc
+ Global : Cadenas (objet verrouillé, couleur de l'arceau)
+
+
+
+ Global: Lock body
+ Global : Cadenas (objet verrouillé, couleur du corps)
+
+
+
+ Table: Schema name
+ Table : Nom du schéma
+
+
+
+ Table: Columns box
+ Table : Zone des colonnes
+
+
+
+ Table: Extended attributes box
+ Table : Zone d'attributs étendus
+
+
+
+ Table: Title box
+ Table : Zone de titre
+
+
+
+ Rule: Name
+ Règle : Nom
+
+
+
+ Rule: Descriptor
+ Règle : Couleur de l'icône
+
+
+
+ Index: Name
+ Index : Nom
+
+
+
+ Index: Descriptor
+ Index : Couleur de l'icône
+
+
+
+ Trigger: Name
+ Déclencheur : Nom
+
+
+
+ Trigger: Descriptor
+ Déclencheur : Couleur de l'icône
+
+
+
+ Policy: Name
+ Politique : Nom
+
+
+
+ Policy: Descriptor
+ Politique : Couleur de l'icône
+
+
+
+ View: Schema name
+ Vue : Nom du schéma
+
+
+
+ View: References box
+ Vue : Couleur d'arrière plan
+
+
+
+ View: Extended attributes box
+ Vue : Dialogue des attributs étendus
+
+
+
+ View: Title box
+ Vue : Couleur d'arrière plan de la barre de titre
+
+
+
+ View: Table / columns alias
+ Vue : Alias de table / colonne
+
+
+
+ View: Referenced column
+ Vue : Colonne référencée
+
+
+
+ View: Referenced table
+ Vue : Table référencée
+
+
+
+ View: Reference descriptor
+ Vue : Couleur de l'icône des références
+
+
+
+ Textbox: Body
+ Zone de texte : Corps
+
+
+
+ Column: Column name
+ Colonne : Nom de la colonne
+
+
+
+ Column: Descriptor
+ Colonne : Couleur de l'icône
+
+
+
+ Column: Included / Inherited by relationship
+ Colonne : Incluses / Héritées par associations
+
+
+
+ Column: Protected
+ Colonne : Protégée
+
+
+
+ Column (pk): Descriptor
+ Colonne (pk) : Couleur de l'icône
+
+
+
+ Column (fk): Descriptor
+ Colonne (fk) : Couleur de l'icône
+
+
+
+ Column (uq): Descriptor
+ Colonne (uq) : Couleur de l'icône
+
+
+
+ Column (nn): Descriptor
+ Colonne (nn) : Couleur de l'icône
+
+
+
+ Relationship: Descriptor
+ Associations : Couleur de l'icône
+
+
+
+ Relationship: Label text
+ Associations : Texte de l'étiquette
+
+
+
+ Relationship: Label box
+ Relations : Arrière plan de l'étiquette
+
+
+
+ Relationship: Attribute text
+ Relations : Texte des attributs
+
+
+
+ Relationship: Attribute descriptor
+ Relations : Couleur de l'icône des attributs
+
+
+
+ Tag: Name
+ Tag : Nom
+
+
+
+ Tag: Body
+ Tag : Corps
+
+
+
+ Foreign table: Schema name
+ Table distante: Nom du schéma
+
+
+
+ Foreign table: Name
+ Table distante : Nom
+
+
+
+ Foreign table: Attributes box
+ Table distante : Dialogue des attributs
+
+
+
+ Foreign table: Extended attributes box
+ Table distante : Dialogue des attributs étendus
+
+
+
+ Foreign table: Title box
+ Table distante: Zone de titre
+
+
+
+ Font:
+ Police :
+
+
+
+ pt
+ pt
+
+
+
+ Bold
+ Gras
+
+
+
+ Italic
+ Italique
+
+
+
+ Table: Name
+ Table : Nom
+
+
+
+ View: Name
+ Vue : Nom
+
+
+
+ Column (pk): Name
+ Colonne (pk): Nom
+
+
+
+ Column (fk): Name
+ Colonne (fk): Nom
+
+
+
+ Column (uq): Name
+ Colonne (uq): Nom
+
+
+
+ Column (nn): Name
+ Colonne (nn): Nom
+
+
+
+ Colors:
+ Couleurs :
+
+
+
+ Underline
+ Souligné
+
+
+
+ Placeholder: Body
+ Placeholder : Corps
+
+
+
+ Constraint: Name
+ Contrainte : Nom
+
+
+
+ Constraint: Descriptor
+ Contrainte : Descripteur
+
+
+
+ AttributesTogglerItem
+
+
+ Expands the currently collapsed section of the object
+ Développer
+
+
+
+ Collapses the currently expanded section of the object
+ Replier
+
+
+
+ Displays the next attributes page
+ Page suivante des attributs
+
+
+
+ Displays the previous attributes page
+ Page précédente des attributs
+
+
+
+ Displays the next extended attributes page
+ Page suivante des attributs étendus
+
+
+
+ Displays the previous extended attributes page
+ Page précédente des attributs étendus
+
+
+
+ Toggles the attributes pagination on the object
+ Activer/Désactiver la pagination des attributs
+
+
+
+ BaseConfigWidget
+
+
+ A backup of the previous settings was saved into <strong>%1</strong>!
+ Une sauvegarde des paramètres précédents a été enregistrée dans <strong>%1</strong> !
+
+
+
+ BaseForm
+
+
+ Dialog
+ Dialogue
+
+
+
+
+ &Apply
+ &Appliquer
+
+
+
+ &Ok
+ &Ok
+
+
+
+ &Cancel
+ A&nnuler
+
+
+
+ %1 properties
+ %1 propriétés
+
+
+
+ BaseObject
+
+
+ Column
+ Colonne
+
+
+
+ Constraint
+ Contrainte
+
+
+
+ Function
+ Fonction
+
+
+
+ Trigger
+ Déclencheur
+
+
+
+ Index
+ Index
+
+
+
+ Rule
+ Règle
+
+
+
+ Table
+ Table
+
+
+
+ View
+ Vue
+
+
+
+ Domain
+ Domaine
+
+
+
+ Schema
+ Schéma
+
+
+
+ Aggregate
+ Fonction d'agrégat
+
+
+
+ Operator
+ Opérateur
+
+
+
+ Sequence
+ Séquence
+
+
+
+ Role
+ Rôle
+
+
+
+ Conversion
+ Convertion
+
+
+
+ Cast
+ Convertion de type
+
+
+
+ Language
+ Langage
+
+
+
+ Type
+ Type
+
+
+
+ Operator Family
+ Famille d'opérateurs
+
+
+
+ Operator Class
+ Classe d'opérateurs
+
+
+
+ Database
+ Base de données
+
+
+
+ Extension
+ Extension
+
+
+
+ Foreign Data Wrapper
+ Wrapper de données distantes
+
+
+
+ Foreign Server
+ Serveur distant
+
+
+
+ Foreign Table
+ Table distante
+
+
+
+ User Mapping
+ Correspondance d'utilisateurs
+
+
+
+ Relationship
+ Relation
+
+
+
+ Collation
+ Collation
+
+
+
+ Textbox
+ Boite de texte
+
+
+
+ Event Trigger
+ Déclencheur sur évènement
+
+
+
+ Policy
+ Politique
+
+
+
+ Permission
+ Permission
+
+
+
+ Parameter
+ Paramètre
+
+
+
+ Type Attribute
+ Attribut de type
+
+
+
+ Basic Relationship
+ Relation simple
+
+
+
+ Tag
+ Balise
+
+
+
+ Generic SQL
+ SQL générique
+
+
+
+ new_object
+
+ nouvel_objet
+ nouveaux_objets
+
+
+
+
+ Tablespace
+ Tablespace
+
+
+
+ BaseObjectView
+
+
+ SQL off
+ SQL désactivé
+
+
+
+ BaseObjectWidget
+
+
+ Name:
+ Nom :
+
+
+
+ ID:
+ Identifiant :
+
+
+
+ icone
+ icône
+
+
+
+ Comment:
+ Commentaire :
+
+
+
+ This is the name of the object in the PostgreSQL database.
+ Ceci est le nom de l'objet dans la base de données PostgreSQL.
+
+
+
+ Tablespace:
+ Tablespace :
+
+
+
+ Edit object's permissions
+ Modifier les permissions de l'objet
+
+
+
+ Disables the generated SQL code using comment tokens (--).
+This will disable the code of all child and referrer objects.
+ Désactivez le code SQL généré en utilisant les marqueurs de commentaire (--).
+Ceci désactivera également le code SQL pour ses objets enfants.
+
+
+
+ Append or prepend a set of SQL commands to the object's definition.
+ Ajouter des commandes SQL avant ou après la définition de cet objet.
+
+
+
+ Custom SQL
+ Code SQL Libre
+
+
+
+ Owner:
+ Propriétaire :
+
+
+
+ <p>This is a more friendly name for the object. When displaying the model in compact view this is the name shown for the object instead of its real name. If this field is empty the real name will be displayed anyway.</p>
+ <p>Entrez ici un nom plus convivial pour cet objet (optionnel). Ce nom remplace le nom réel lorsque le modèle est affiché en mode Vue compacte" . Si ce champ est vide le nom réel est utilisé.</p>
+
+
+
+ Alias:
+ Alias :
+
+
+
+ Schema:
+ Schéma :
+
+
+
+ Disable SQL code
+ Désactiver le code SQL
+
+
+
+ Collation:
+ Collation :
+
+
+
+ Edit permissions
+ Modifier les permissions
+
+
+
+ This object is protected thus no change in form will be applied to it.
+ L'objet est verrouillé, par conséquent aucun changement dans cette fenêtre ne peut lui être apporté.
+
+
+
+ Required field. Leaving this empty will raise errors!
+ Champ requis. Laisser ce champ vide génèrera une erreur !
+
+
+
+ Value(s)
+ Valeur(s)
+
+
+
+ Version
+ Version
+
+
+
+ The <em style='color: %1'><strong>highlighted</strong></em> fields in the form or one of their values are available only on specific PostgreSQL versions. Generating SQL code for versions other than those specified in the fields' tooltips may create incompatible code.
+ Les champs <em style='color:%1'><strong>en surbrillance</strong></em> dans le formulaire ou de l'une des valeurs ne sont disponibles que sur des versions spécifiques de PostgreSQL. La génération de code SQL pour des versions autres que celles spécifiées dans les info-bulles des champs peut créer un code incompatible.
+
+
+
+ BaseRelationship
+
+
+ rel_%1_%2
+ rel_%1_%2
+
+
+
+ One-to-one
+ Un-à-un
+
+
+
+ One-to-many
+ Un-à-plusieurs
+
+
+
+ Many-to-many
+ Plusieurs-à-plusieurs
+
+
+
+ Inheritance
+ Héritage
+
+
+
+ Partitioning
+ Partitionnement
+
+
+
+ FK relationship
+ Association clé étrangère
+
+
+
+ Dependency
+ Dépendance
+
+
+
+ Copy
+ Copie
+
+
+
+ BaseTableView
+
+
+ Connected rels: %1
+ Nombre d'associations : %1
+
+
+
+ BugReportForm
+
+
+ Bug Report
+ Signaler un bug
+
+
+
+ Bug report
+ Signaler un bug
+
+
+
+ Create
+ Créer
+
+
+
+ &Cancel
+ A&nnuler
+
+
+
+ Use the form below to generate a complete bug report. Please, try to be as clear as possible when describing the actions that can reproduce the bug. Additionally, it's important to attach a sample database model so that the bug can be quickly discovered and fixed!
+ Utilisez le formulaire ci-dessous pour générer un rapport d'erreur complet. Merci d'être le plus clair possible dans la description de vos actions afin que le bug puisse être reproduit. De plus, il est important de joindre un modèle de base dans lequel le bug puisse être rapidement découvert, et par la même occasion rapidement corrigé !
+
+
+
+ Report
+ Rapport
+
+
+
+ Issue details
+ Détails du problème
+
+
+
+ Output:
+ Sortie :
+
+
+
+ Select the report's output folder
+ Sélectionnez un dossier de sortie pour écrire le rapport d'erreur
+
+
+
+
+ ...
+ ...
+
+
+
+ <html><head/><body><p>If you prefer it's possible to report this issue anytime on pgModeler's project repository at <a href="http://github.com/pgmodeler/pgmodeler/issues"><span style=" text-decoration: underline; color:#0057ae;">GitHub</span></a>. </p></body></html>
+ <html><head/><body><p>Il vous est également possible de signaler un bug à tout moment via le dépôt du projet pgModeler sur <a href="http ://github.com/pgmodeler/pgmodeler/issues"><span style=" text-decoration : underline; color :#0057ae;">GitHub</span></a>. </p></body></html>
+
+
+
+ Database Model
+ Modèle de base
+
+
+
+ Attach the below database model file to be debugged.
+ Joindre le fichier modèle ci-dessous pour débogage.
+
+
+
+ Attach a different database model
+ Joindre un autre modèle de base
+
+
+
+ Bug report successfuly generated! Please, send the file <strong>%1</strong> to <em>%2</em> in order be analyzed. Thank you for the collaboration!
+ Le rapport de bug a été généré avec succès ! S'il vous plait, veuillez envoyer le fichier <strong>%1</strong> à <em>%2</em> pour expertise. Merci de votre collaboration !
+
+
+
+ Load model
+ Charger un modèle
+
+
+
+ Database model (*.dbm);;All files (*.*)
+ Modèle de base de données (*.dbm);; Tous les fichiers (*.*)
+
+
+
+ Select report output folder
+ Sélectionner le dossier de sortie du rapport
+
+
+
+ BulkDataEditWidget
+
+
+ Bulk data edit
+ Modification de données en masse
+
+
+
+ CastWidget
+
+
+ Conversion Func.:
+ Fonction de conversion :
+
+
+
+ Cast Type:
+ Conversion de type :
+
+
+
+ Assignment
+ Affectation
+
+
+
+ Input / Output
+ Entrée / Sortie
+
+
+
+ Source data type
+ Type de donnée source
+
+
+
+ Target data type
+ Type de donnée cible
+
+
+
+ The function to be assigned to a cast from <em><strong>typeA</strong></em> to <em><strong>typeB</strong></em> must have the following signature: <em><strong>typeB</strong> function(<strong>typeA</strong>, integer, boolean)</em>.
+ La fonction convertissant de <em><strong>typeA</strong></em> vers <em><strong>typeB</strong></em> doit avoir la signature suivante : <em><strong>typeB</strong> function(<strong>typeA</strong>, integer, boolean)</em>.
+
+
+
+ I&mplicit
+ I&mplicite
+
+
+
+ E&xplicit
+ E&xplicite
+
+
+
+ Catalog
+
+
+
+
+ Object type: %1
+
+ Type d'objet : %1
+ Types d'objets : %1
+
+
+
+
+ The catalog query returned more than one OID!
+
+ La requête sur le catalogue retourne plusieurs OID !
+ Les requêtes sur le catalogue retournent plusieurs OID !
+
+
+
+
+ Object type: server
+
+ Type d'objet : serveur
+
+
+
+
+
+ CodeCompletionWidget
+
+
+ Make &persistent
+ Rendre &persistant
+
+
+
+ Makes the widget closable only by ESC key or mouse click on other controls.
+ Rendre ce widget refermable uniquement par la touche Échap ou par un clic sur les autres contrôles.
+
+
+
+ SQL Keyword
+ Mot-clé SQL
+
+
+
+ (no items found.)
+ (aucun élément trouvé.)
+
+
+
+ CollationWidget
+
+
+ Locale:
+ Locale :
+
+
+
+ Encoding:
+ Encodage :
+
+
+
+ LC_COLLATE:
+ LC_COLLATE :
+
+
+
+ LC_CTYPE:
+ LC_CTYPE :
+
+
+
+ The fields <strong><em>Collation</em></strong>, <strong><em>Locale</em></strong>, <strong><em>LC_COLLATE & LC_CTYPE</em></strong> are mutually exclusive, so you have to set only one of them in order to properly handle a collation.
+ Les champs <strong><em>Collation</em></strong>, <strong><em>Locale</em></strong> et <strong><em>LC_COLLATE & LC_CTYPE</em></strong> sont mutuellement exclusifs, vous ne devez en définir qu'un seul de manière à gérer correctement la collation.
+
+
+
+
+ Not defined
+ Non défini
+
+
+
+ ColorPickerWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Generate random color(s)
+ Génération aléatoire de couleur(s)
+
+
+
+ Alt+R
+ Alt+R
+
+
+
+ Select color
+ Sélectionner une couleur
+
+
+
+ ColumnWidget
+
+
+ Default Value:
+ Valeur par défaut :
+
+
+
+ E&xpression:
+ E&xpression :
+
+
+
+ &NOT NULL
+ &NON NULL
+
+
+
+ Se&quence:
+ Sé&quence :
+
+
+
+ Edit the underlying sequence's attributes
+ Modifier les propriétés sous-jacentes de la séquence
+
+
+
+ Edit sequence
+ Modifier la séquence
+
+
+
+ Identity:
+ Identité :
+
+
+
+ ConfigurationForm
+
+
+ pgModeler Configuration
+ Paramètres de pgModeler
+
+
+
+ Relationships
+ Associations
+
+
+
+ Appearance
+ Apparence
+
+
+
+ Connections
+ Connexions
+
+
+
+ Snippets
+ Extraits de code
+
+
+
+ &Apply
+ &Appliquer
+
+
+
+ &Cancel
+ A&nnuler
+
+
+
+ Defaults
+ Défauts
+
+
+
+ General
+ Général
+
+
+
+ Plug-ins
+ Extensions
+
+
+
+ In some cases restore the default settings related to it may solve the problem. Would like to do that?
+ Dans certains cas, restaurer les paramètres liés par défaut peut résoudre le problème. Voulez-vous le faire ?
+
+
+
+ Restore
+ Restaurer
+
+
+
+ Any modification made until now in the current section will be lost! Do you really want to restore default settings?
+ Toutes les modifications réalisées jusqu'à maintenant dans la section actuelle seront perdues ! Souhaitez-vous réellement restaurer les paramètres par défaut ?
+
+
+
+ Connection
+
+
+ ERROR: trying to open an already stablished connection.
+ ERREUR : Tentative d'ouverture d' une connexion déjà établie.
+
+
+
+ ConnectionsConfigWidget
+
+
+ Connections:
+ Connexions :
+
+
+
+ Create new connection
+ Créer une nouvelle connexion
+
+
+
+ Cancel edition
+ Annuler l'édition
+
+
+
+ Duplicate the selected connection
+ Dupliquer la connexion sélectionnée
+
+
+
+ Edit selected connection
+ Modifier la connexion sélectionnée
+
+
+
+ Delete selected connection
+ Supprimer la connexion sélectionnée
+
+
+
+ <p>Indicates in which operations (diff, export, import or validation) the connection is used if none is explicitly specified by the user.</p>
+ <p>Indique pour quelles opérations (diff, export, import ou validation) cette connexion sera utilisée par défaut si aucune autre n'est choisie par l'utilisateur.</p>
+
+
+
+ Connection Alias:
+ Alias de la connexion :
+
+
+
+ Connection DB:
+ Nom de la base :
+
+
+
+ Host/Port:
+ Hôte/Port :
+
+
+
+ User:
+ Utilisateur :
+
+
+
+ Password:
+ Mot de passe :
+
+
+
+ Timeout:
+ Délai d'expiration :
+
+
+
+ second(s)
+ seconde(s)
+
+
+
+ SSL Mode:
+ Mode SSL :
+
+
+
+ Disable
+ Désactivé
+
+
+
+ Allow
+ Autorisé
+
+
+
+ Require
+ Requis
+
+
+
+ AC verification
+ Vérification des AC
+
+
+
+ Full verification
+ Vérification complète
+
+
+
+ Client Certificate:
+ Certificat client :
+
+
+
+ ~/.postgresql/postgresql.crt
+ ~/.postgresql/postgresql.crt
+
+
+
+ Automatically browses the named database when using this connection to manage databases on <strong>Manage</strong> view.
+ Parcourt automatiquement la base de données nommée lors de l'utilisation de cette connexion pour gérer les bases de données dans la vue <strong>Gérer</strong>.
+
+
+
+ Auto browse
+ Toujours montrer
+
+
+
+ Client Key:
+ Clé client :
+
+
+
+ ~/.postgresql/postgresql.key
+ ~/.postgresql/postgresql.key
+
+
+
+ Root Certificate:
+ Certificat racine :
+
+
+
+ ~/.postgresql/root.crt
+ ~/.postgresql/root.crt
+
+
+
+ Revoked Certs.:
+ Liste de révocations :
+
+
+
+ ~/.postgresql/root.crl
+ ~/.postgresql/root.crl
+
+
+
+ Force GSSAPI
+ Forcer GSSAPI
+
+
+
+ Add
+ Ajouter
+
+
+
+ Update
+ Mettre à jour
+
+
+
+ Test
+ Tester
+
+
+
+ Success
+ Succès
+
+
+
+
+ Edit database connections
+ Modifier les connexions de la base de données
+
+
+
+ General
+ Général
+
+
+
+ Other params:
+ Autres paramètres :
+
+
+
+ Specify additional connection parameters in the form [param]=[value]. These parameters are described in the <strong>libpq</strong> chapter at PostgreSQL docs.
+ Spécifier des paramètres de connexion supplémentaires sous la forme [param]=[valeur]. Ces paramètres sont décrits dans le chapitre <strong>libpq</strong> de la doc de PostgreSQL.
+
+
+
+ Default for:
+ Par défaut pour :
+
+
+
+ Diff
+ Comparer
+
+
+
+ Export
+ Exporter
+
+
+
+ Import
+ Importer
+
+
+
+ Validation
+ Validation
+
+
+
+ Security
+ Sécurité
+
+
+
+ Kerberos Server:
+ Serveur Kerberos :
+
+
+
+ Connection successfully established!
+
+Server details:
+
+PID: `%1'
+Protocol: `%2'
+Version: `%3'
+ Connexion établie avec succès !
+
+Détails du serveur :
+
+PID : `%1'
+Protocole : `%2'
+Version : `%3'
+
+
+
+ There is a connection being created or edited! Do you want to save it?
+ Une connexion est en cours de création ou d'édition ! Voulez-vous la sauvegarder ?
+
+
+
+ Found %1 connection(s)
+ %1 connexion(s) trouvée(s)
+
+
+
+ No connections found
+ Aucune connexion trouvée
+
+
+
+ Edit connections
+ Modifier les connexions
+
+
+
+ ConstraintWidget
+
+
+ Constraint Type:
+ Type de contrainte :
+
+
+
+ Fill Factor:
+ Taux de remplissage :
+
+
+
+ Match:
+ Comparaison :
+
+
+
+ This attribute cannot be changed once the object is created.
+ Cet attribut ne peut pas être modifié une fois l'objet créé.
+
+
+
+ Expression:
+ Expression :
+
+
+
+ Deferrable:
+ Reportable :
+
+
+
+ Deferral:
+ Report :
+
+
+
+ ON DELETE:
+ ON DELETE :
+
+
+
+ ON UPDATE:
+ ON UPDATE :
+
+
+
+ Columns
+ Colonnes
+
+
+
+
+ Column:
+ Colonne :
+
+
+
+ Referenced Columns
+ Colonnes référencées
+
+
+
+ Table:
+ Table :
+
+
+
+ Indexing:
+ Indexation :
+
+
+
+ Exclude Elements
+ Éléments exclus
+
+
+
+ No inherit:
+ Pas d'héritage :
+
+
+
+
+ Column
+ Colonne
+
+
+
+
+ Type
+ Type
+
+
+
+ Columns which were included by relationship can not be added / removed manually from the primary key. If done such changes they can raise errors. To create primary key using columns included by relationship use the following options: identifier field, attributes & constraints tab or primary key tab on the relationship form.
+ Les colonnes inclues dans la relation ne peuvent être ajoutées/retirées manuellement de la clé primaire sous peine d’erreur. Pour créer une clé primaire utilisant des colonnes contenues dans une relation, veuillez utiliser une des options suivantes: champ identifiant, l'onglet attributs et contraintes ou l'onglet clé primaire du formulaire de la relation.
+
+
+
+ ConversionWidget
+
+
+ Source Encoding:
+ Encodage de la source :
+
+
+
+ Target Encoding:
+ Encodage de la destination :
+
+
+
+ Conversion Func.:
+ Fonction de conversion :
+
+
+
+ Default Conversion:
+ Conversion par défaut :
+
+
+
+ The function to be assigned to an encoding conversion must have the following signature: <em>void function(integer, integer, cstring, internal, integer)</em>.
+ La fonction de convertion d'encodage doit avoir la signature suivante : <em>void function(integer, integer, cstring, internal, integer)</em>.
+
+
+
+ CrashHandlerForm
+
+
+ Crash Handler
+ Gestionnaire d'incident
+
+
+
+ Stack trace
+ Pile d'exécution
+
+
+
+ Input:
+ Entrée :
+
+
+
+ Load report file for analysis
+ Charger un rapport d'erreur pour analyse
+
+
+
+ Save the attached model file on the filesystem
+ Enregistrer le modèle joint sur le système de fichiers
+
+
+
+ pgModeler bug report (*.bug);;All files (*.*)
+ Rapport de bug pgModeler (*.bug);;Tous les fichiers (*.*)
+
+
+
+ Load report
+ Charger un rapport
+
+
+
+ Save model
+ Enregistrer le modèle
+
+
+
+ Database model (*.dbm);;All files (*.*)
+ Modèle de base de données (*.dbm);; Tous les fichiers (*.*)
+
+
+
+ Crash handler
+ Gestionnaire d'incident
+
+
+
+ Bug report analysis mode activated.
+ Mode d'analyse de rapport d'erreur activé.
+
+
+
+ Oops! pgModeler just crashed!
+ Oups ! pgModeler a planté !
+
+
+
+ We apologize for what happened! It is clear that a nasty bug caused that. Please fill out the form below describing your actions before pgModeler quit unexpectedly. This will help on bug extermination and improve the software.
+ Veuillez nous excuser pour ce qui vient de se passer ! Il est clair qu'un vilain bug est à l'origine de tout cela. Veuillez renseigner le formulaire ci-dessous en décrivant les actions que vous avez faites avant que pgModeler ne sombre de manière inopinée. Cela nous aidera à exterminer ce bug et ainsi, à améliorer le logiciel.
+
+
+
+ CsvLoadWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Load CSV
+ Charger un fichier CSV
+
+
+
+ CSV File:
+ Fichier CSV :
+
+
+
+ Select output file
+ Sélectionner un fichier de sortie
+
+
+
+ ...
+ ...
+
+
+
+ Separator:
+ Séparateur :
+
+
+
+ <p>Use the first row as column names in the CSV file. By unchecking this option the first row is used as data.</p>
+ <p>La première ligne du fichier CSV sera utilisée pour les noms des colonnes. En décochant cette option la première ligne sera utilisée comme source de données.</p>
+
+
+
+ Columns in the first row
+ Nom des colonnes sur 1ère ligne
+
+
+
+ Load
+ Charger
+
+
+
+ Semicolon (;)
+ Point virgule (;)
+
+
+
+ Comma (,)
+ Virgule (,)
+
+
+
+ Space
+ Espace
+
+
+
+ Tabulation
+
+
+
+
+ Other
+ Autre
+
+
+
+ ;
+ ;
+
+
+
+ Text delimiter:
+ Délimiteur :
+
+
+
+ "
+ "
+
+
+
+ Load CSV file
+ Charger un fichier CSV
+
+
+
+ Comma-separted values (*.csv);;All files (*.*)
+ Valeurs séparées par une virgule (*.csv);;Tous les fichiers (*.*)
+
+
+
+ CustomSQLWidget
+
+
+ SQL code
+ Code SQL
+
+
+
+ Puts an SELECT command template at current cursor position.
+ Insère une commande SELECT à la position courante du curseur.
+
+
+
+ &SELECT
+ &SELECT
+
+
+
+ Puts an INSERT command template at current cursor position.
+ Insère une commande INSERT à la position courante du curseur.
+
+
+
+ &INSERT
+ &INSERT
+
+
+
+ Puts an UPDATE command template at current cursor position.
+ Insère une commande UPDATE à la position courante du curseur.
+
+
+
+ Puts an DELETE command template at current cursor position.
+ Insère une commande DELETE à la position courante du curseur.
+
+
+
+ &DELETE
+ &DELETE
+
+
+
+ &Clear
+ E&ffacer
+
+
+
+ Append SQL
+ Code SQL suffixé
+
+
+
+
+ Append the SQL code at the very end of model definition.
+Unchecking this will cause the SQL to be appended at the end of CREATE DATABASE command.
+ Ajouter le code SQL à la toute fin de la définition du modèle
+Sinon (décoché) pgModeler ajoutera ce code après la commande SQL CREATE DATABASE.
+
+
+
+ Append at end of model definition.
+ Suffixer à la fin de la définition du modèle.
+
+
+
+ Prepend SQL
+ Code SQL préfixé
+
+
+
+ Prepend at beginning of model definition.
+ Préfixer au tout début de la définition du modèle.
+
+
+
+ <html><head/><body><p>Use custom commands with extreme caution because you can change the semantics of the entire model when running SQL validation or export processes. Additionally, depending on the amount of commands, those processes can have their performance sensibly degradated.</p></body></html>
+ <html><head/><body><p>Utilisez cet espace pour y inscrire vos commandes SQL personnalisées avec précaution. Vous pourriez créer des incohérences qui peuvent interférer avec les fonctionnalités de validation et d'export du modèle. De plus, selon la nature des commandes entrées ces fonctionnalités peuvent être ralenties.</p></body></html>
+
+
+
+ Generic INSERT
+ INSERT générique
+
+
+
+ Include serial columns
+ Inclure les colonnes en série
+
+
+
+ Exclude serial columns
+ Exclure les colonnes de type séries
+
+
+
+ Generic SELECT
+ Faut-il le traduire ?
+ SELECT générique
+
+
+
+ Table SELECT
+ Faut-il le traduire ?
+ SELECT table
+
+
+
+ Generic UPDATE
+ Faut-il le traduire ?
+ UPDATE générique
+
+
+
+ Table UPDATE
+ Faut-il le traduire ?
+ UPDATE table
+
+
+
+ Generic DELETE
+ Faut-il le traduire ?
+ DELETE générique
+
+
+
+ Table DELETE
+ Faut-il le traduire ?
+ DELETE table
+
+
+
+ &UPDATE
+ Faut-il le traduire ?
+ &UPDATE
+
+
+
+ Add custom SQL code
+ Ajouter un code SQL personnalisé
+
+
+
+ DataManipulationForm
+
+
+ Data Manipulation
+ Édition des données
+
+
+
+ Refresh
+ Actualiser
+
+
+
+ Truncate the browsed table
+ Vide la table
+
+
+
+
+ Truncate
+ Vider
+
+
+
+ &Close
+ &Fermer
+
+
+
+ Refresh listing
+ Actualiser la liste
+
+
+
+ F5
+ F5
+
+
+
+ Save changes
+ Enregistrer les changements
+
+
+
+ Ctrl+F
+ Ctrl+F
+
+
+
+ Delete
+ Effacer
+
+
+
+ Open a new data manipulation window
+ Ouvre une nouvelle fenêtre d'édition des données
+
+
+
+ New
+ Nouvelle fenêtre
+
+
+
+ Ctrl+N
+ Ctrl+N
+
+
+
+ Paste
+ Coller
+
+
+
+ Save
+ Enregistrer
+
+
+
+ Ctrl+S
+ Ctrl+S
+
+
+
+ Undo
+ Annuler
+
+
+
+ Export results to CSV file
+ Exporter les résultats vers un fichier CSV
+
+
+
+ Export
+ Exporter
+
+
+
+ Ctrl+X
+ Ctrl+X
+
+
+
+ Undo modifications
+ Annuler les modifications
+
+
+
+ Ctrl+Z
+ Ctrl+Z
+
+
+
+ Ins
+ Ins
+
+
+
+ Mark the selected rows to be deleted
+ Marquer les lignes sélectionner pour suppression
+
+
+
+ Del
+ Suppr
+
+
+
+ Filter the result set
+ Filtrer les résultats
+
+
+
+ Table:
+ Table :
+
+
+
+ Schema:
+ Schéma :
+
+
+
+ Hide views
+ Masquer les vues
+
+
+
+ Order && Limit
+ Ordre && Limite
+
+
+
+ Column:
+ Colonne :
+
+
+
+ Limit in:
+ Limite :
+
+
+
+ Add Item
+ Ajouter un élément
+
+
+
+
+ Filter
+ Filtrer
+
+
+
+ Expression
+ Expression
+
+
+
+ Remove Item
+ Supprimer un élément
+
+
+
+ Clear the order by columns list
+ Effacer la liste
+
+
+
+ Move selected item up
+ Déplacer vers le haut
+
+
+
+ Move selected item down
+ Déplacer vers le bas
+
+
+
+ Copy as CSV
+ Copier au format CSV
+
+
+
+ Copy as text
+ Copier au format texte simple
+
+
+
+ Copy items
+ Copier les valeurs
+
+
+
+ Pase items
+ Coller les éléments
+
+
+
+ Clear items
+ Effacer les valeurs
+
+
+
+ Browse tables
+ Navigateur de tables
+
+
+
+ Duplicate row(s)
+ Dupliquer ligne(s)
+
+
+
+ Delete row(s)
+ Effacer ligne(s)
+
+
+
+ Edit cell(s)
+ Modifier en masse la valeur des cellules sélectionnées dans la grille
+
+
+
+ <em>(Limit: <strong>%1</strong>)</em>
+ <em>(Limite : <strong>%1</strong>)</em>
+
+
+
+ Paste as text
+ Coller depuis format texte simple
+
+
+
+ Paste as CSV
+ Coller depuis format CSV
+
+
+
+ Truncate cascade
+ Vide la table avec clause CASCADE
+
+
+
+ Column
+ Colonne
+
+
+
+ No objects found
+ Aucun objet trouvé
+
+
+
+ Found %1 object(s)
+ %1 objet(s) trouvé(s)
+
+
+
+ Views can't have their data handled through this grid, this way, all operations are disabled.
+ Les données des vues ne sont pas modifiables via cette grille, de ce fait, toutes les opérations sont désactivées.
+
+
+
+ The selected table doesn't owns a primary key! Updates and deletes will be performed by considering all columns as primary key. <strong>WARNING:</strong> those operations can affect more than one row.
+ La table sélectionnée n'a pas sa propre clé primaire ! Les mises à jour et les suppressions seront réalisées en considérant que l'ensemble des colonnes constitue une clé primaire. <strong>ATTENTION :</strong> ces opérations peuvent affecter plus d'une ligne.
+
+
+
+ Referenced tables
+ Tables référencées
+
+
+
+
+ (none)
+ (aucun)
+
+
+
+ Referrer tables
+ Tables de référence
+
+
+
+ This row is marked to be %1
+ Cette ligne est marquée pour être %1
+
+
+
+ deleted
+ supprimé
+
+
+
+ updated
+ mise à jour
+
+
+
+ inserted
+ inséré
+
+
+
+ [binary data]
+ [données binaires]
+
+
+
+ Warning
+ Avertissement
+
+
+
+ You're running a demonstration version! The save feature of the data manipulation form is available only in the full version!
+ Vous utilisez une version de démonstration ! La fonctionnalité de sauvegarde des changements n'est disponible que dans la version complète !
+
+
+
+ <strong>WARNING:</strong> Once commited its not possible to undo the changes! Proceed with saving?
+ <strong>ATTENTION :</strong> Une fois validés, il ne sera plus possible d'annuler les changements ! Sauvegarder les changements ?
+
+
+
+ delete
+ effacer
+
+
+
+ update
+ mettre à jour
+
+
+
+ insert
+ inserer
+
+
+
+ ASC
+ ASC
+
+
+
+ DESC
+ DESC
+
+
+
+ Columns
+ Colonnes
+
+
+
+ Select all
+ Tout sélectionner
+
+
+
+ Clear all
+ Effacer tout
+
+
+
+ Add empty rows
+ Ajouter des lignes vides
+
+
+
+ Add
+ Ajouter
+
+
+
+ Clears the items selected on the grid
+ Effacer les valeurs sélectionnées sur la grille
+
+
+
+ Clear
+ Effacer
+
+
+
+ Ctrl+R
+ Ctrl+R
+
+
+
+ Edit
+ Modifier
+
+
+
+ Browse
+ Naviguer
+
+
+
+ Load CSV
+ Charger un fichier CSV
+
+
+
+ Ctrl+L
+ Ctrl+L
+
+
+
+ Copy
+ Copier
+
+
+
+ Duplicate the selected rows
+ Dupliquer les lignes sélectionnées
+
+
+
+ Duplicate
+ Dupliquer
+
+
+
+ Ctrl+D
+ Ctrl+D
+
+
+
+ results (Use <strong>0</strong> for no limit)
+ résultats (Utiliser <strong>0</strong> pour ne pas limiter)
+
+
+
+ <strong>WARNING: </strong> There are some changed rows waiting the commit! Do you really want to discard them and retrieve the data now?
+ <strong>ALERTE :</strong> Des lignes modifiées attendent d'être soumises ! Voulez-vous vraiment les jeter et récupérer les données maintenant ?
+
+
+
+ Rows returned: <strong>%1</strong>
+ Lignes retournées : <strong>%1</strong>
+
+
+
+ none
+ aucun
+
+
+
+ <html><head/><body><p>Empty values are assumed as <span style=" font-weight:600;">DEFAULT</span>. To use special values like <span style=" font-weight:600;">NULL</span>, a function call like <span style=" font-weight:600;">now()</span> or a specific data escaping, enclose values in two slashes, e.g., <span style=" font-weight:600;">/value/</span>. To use a slash as part of the value prepend the backslash character, e.g., <span style=" font-weight:600;">\/</span>.</p></body></html>
+ <html><head/><body><p>Les valeurs vides sont supposées être <span style="font-weight :600;">DEFAULT</span>. Pour utiliser des valeurs spéciales comme <span style="font-weight :600;">NULL</span>, un appel de fonction comme <span style="font-weight :600;">now()</span> ou un échappement des données spécifiques, entourer les valeurs de deux barres obliques, par exemple <span style="font-weight :600;">/valeur/</span>. Pour utiliser une barre oblique dans le cadre de la valeur, ajouter le caractère barre oblique inverse, par exemple <span style="font-weight :600;">/</span>.</p></body></html>
+
+
+
+ Copy items on the grid
+ Copier les valeurs de la grille
+
+
+
+ Paste items on the grid
+ Copier les éléments sur la grille
+
+
+
+ Browse referenced tables
+ Parcourir les tables référencées
+
+
+
+ Add new rows from a CSV file
+ Ajouter de nouvelles lignes depuis un fichier CSV
+
+
+
+ Change the values of all selected cells at once
+ Modifier les valeurs de toutes les cellules sélectionnées
+
+
+
+ Ctrl+E
+ Ctrl+E
+
+
+
+ DatabaseExplorerWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Filter
+ Filtrer
+
+
+
+ Data &Grid
+ &Grille des données
+
+
+
+ Alt+G
+ Alt+G
+
+
+
+ Add a new SQL execution tab for the current database
+ Nouvel onglet d'exécution SQL pour la base courante
+
+
+
+
+
+
+
+ ...
+ ...
+
+
+
+ Ctrl+T
+ Ctrl+T
+
+
+
+ Expands all items
+ Développer tous les éléments
+
+
+
+ Collapses all items
+ Ferme tous les nœuds de l'arborescence
+
+
+
+ Filter:
+ Filtrer :
+
+
+
+ By OID
+ Par OID
+
+
+
+
+ Attribute
+ Attribut
+
+
+
+ Value
+ Valeur
+
+
+
+ (not found, OID: %1)
+ (OID: %1 non trouvé)
+
+
+
+ Source code not generated! Hit F7 or middle-click the item to load it.
+ Code source non généré ! Appuyez sur F7 ou faire un clic central sur l'élément pour le charger.
+
+
+
+ By value
+ Par valeur
+
+
+
+ Collatable
+ Assemblable
+
+
+
+ Constraint
+ Contrainte
+
+
+
+ Default
+ Défaut
+
+
+
+ Definition
+ Définition
+
+
+
+ Element
+ Élément
+
+
+
+ Encrypted
+ Chiffré
+
+
+
+ Enumerations
+ Énumérations
+
+
+
+ Function
+ Fonction
+
+
+
+ Language
+ Langage
+
+
+
+ Length
+ Longueur
+
+
+
+ Library
+ Bibliothèque
+
+
+
+ Materialized
+ Matérialisée
+
+
+
+ Name
+ Nom
+
+
+
+ Precision
+ Précision
+
+
+
+ Preferred
+ Préféré
+
+
+
+ Schema
+ Schéma
+
+
+
+ Storage
+ Stockage
+
+
+
+ Superuser
+ Superutilisateur
+
+
+
+ Tablespace
+ Jargon
+ Tablespace
+
+
+
+ Unlogged
+ Jargon
+ Unlogged
+
+
+
+ Validity
+ Validité
+
+
+
+ Subtype
+ Sous-type
+
+
+
+
+
+ Columns
+ Colonnes
+
+
+
+ Event
+ Évènement
+
+
+
+ Client encoding
+ Codage du client
+
+
+
+ Configuration file
+ Fichier de configuration
+
+
+
+ Data directory
+ Dossier de données
+
+
+
+ Dynamic library path
+ Chemin des bibliothèques dynamiques
+
+
+
+ Dynamic shared memory
+ Mémoire partagée dynamique
+
+
+
+ Hba file
+ Fichier hba
+
+
+
+ Listen addresses
+ Adresses d'écoute
+
+
+
+ Max. connections
+ Connexions max.
+
+
+
+ Listen port
+ Port d'écoute
+
+
+
+ Server encoding
+ Encodage serveur
+
+
+
+ SSL ca file
+ Fichier ca SSL
+
+
+
+ SSL cert file
+ Fichier cert SSL
+
+
+
+ SSL crl file
+ Fichier crl SSL
+
+
+
+ SSL key file
+ Fichier clé SSL
+
+
+
+ Server version
+ Version serveur
+
+
+
+ Ident file
+ Fichier d'identité
+
+
+
+ Password encryption
+ Mot de passe de chiffrement
+
+
+
+ Connection ID
+ ID connexion
+
+
+
+ Server PID
+ PID serveur
+
+
+
+ Server protocol
+ Protocole serveur
+
+
+
+ Identity
+ Identité
+
+
+
+ Command
+ Commande
+
+
+
+ Roles
+ Rôles
+
+
+
+ Last analyze
+ Denière analyse
+
+
+
+ Last autovacuum
+ Dernier autovacuum
+
+
+
+ Last vacuum
+ Dernier vacuum
+
+
+
+ Tuples deleted
+ Lignes supprimées
+
+
+
+ Tuples updated
+ Lignes mises à jour
+
+
+
+ Tuples inserted
+ Lignes insérées
+
+
+
+ Partitioned
+ Partitionnée
+
+
+
+ Partition of
+ Partition de
+
+
+
+ Partition bound expr.
+ Expr. de bornage de la partition
+
+
+
+ Dead rows amount
+ Quantité de lignes mortes
+
+
+
+ Partition keys
+ Clés de partitionnement
+
+
+
+ Partitioning
+ Partionnement
+
+
+
+ Options
+ Options
+
+
+
+ Foreign data wrapper
+ Wrapper de données distantes
+
+
+
+ Server
+ Serveur
+
+
+
+ Bypass RLS
+ Contournement RLS
+
+
+
+ Show objects filter
+ Afficher le filtrage
+
+
+
+ Show system objects
+ Afficher les objets système
+
+
+
+ Show extension objects
+ Afficher les objets d'extension
+
+
+
+ Snippets
+ Bouts de code
+
+
+
+ Drop object
+ Supprimer l'objet
+
+
+
+ Drop cascade
+ Supprimer en cascade
+
+
+
+ Truncate
+ Vider
+
+
+
+ Trunc. cascade
+ Vider en cascade
+
+
+
+ Show data
+ Afficher les données
+
+
+
+ Reload properties
+ Recharger les propriétés
+
+
+
+ Update
+ Mettre à jour
+
+
+
+ -- Source code unavailable for this kind of object --
+ -- Code source indisponible pour ce type d'objet --
+
+
+
+ Do you really want to drop the object <strong>%1</strong> <em>(%2)</em>?
+ Voulez-vous vraiment supprimer l'objet <strong>%1</strong> <em>(%2)</em> ?
+
+
+
+ <strong>CAUTION:</strong> You are about to drop the entire database <strong>%1</strong> from the server <strong>%2</strong>! All data will be completely wiped out. Do you really want to proceed?
+ <strong>AVERTISSEMENT :</strong>Vous êtes sur le point de supprimer entièrement la base de données <strong>%1</strong> du serveur <strong>%2</strong> ! Toutes les données seront supprimées. Souhaitez-vous continuer ?
+
+
+
+ Admin. roles
+ Rôles admin.
+
+
+
+ Alignment
+ Alignement
+
+
+
+ Analyze func.
+ Fonc. d'analyse
+
+
+
+ Arg. count
+ Nombre d'arg.
+
+
+
+ Arg. default count
+ Nombre d'arg. par défaut
+
+
+
+ Arg. defaults
+ Arg. par défaut
+
+
+
+ Arg. modes
+ Modes des arg.
+
+
+
+ Arg. names
+ Noms des arg.
+
+
+
+ Arg. types
+ Types des arg.
+
+
+
+ Behavior type
+ Type de comportement
+
+
+
+ Cast type
+ Type de conversion
+
+
+
+ Category
+ Catégorie
+
+
+
+ Comment
+ Commentaire
+
+
+
+ Commutator Op.
+ Commutateur Op.
+
+
+
+ Collation
+
+
+
+
+ Conn. limit
+ Limite conn.
+
+
+
+ Configuration
+
+
+
+
+ Create DB
+ Créer DB
+
+
+
+ Create role
+ Créer rôle
+
+
+
+ Curr. version
+ Version courante
+
+
+
+ Default value
+ Valeur par défaut
+
+
+
+ Delimiter
+ Délimiteur
+
+
+
+ Dest. type
+ Type de dest.
+
+
+
+ Dimension
+
+
+
+
+ Directory
+ Répertoire
+
+
+
+ Dest. encoding
+ Encodage de dest.
+
+
+
+ Encoding
+ Encodage
+
+
+
+ Exec. cost
+ Coût d'exécution
+
+
+
+ Op. family
+ Famille d'op.
+
+
+
+ Expression
+
+
+
+
+ Final func.
+ Fonc. finale
+
+
+
+ Func. type
+ Type de fonc.
+
+
+
+ Handler func.
+
+
+
+
+ Handles type
+
+
+
+
+ Hashes
+ Jargon
+ Hashes
+
+
+
+ Index type
+ Type d'index
+
+
+
+ Inherit
+ Hérité
+
+
+
+ Ini. condition
+ Condition ini.
+
+
+
+ Inline func.
+ Func. en ligne
+
+
+
+ Input func.
+ Fonc. d'entrée
+
+
+
+ Internal length
+ Longueur interne
+
+
+
+ Interval type
+ Type d'interval
+
+
+
+ I/O cast
+ Conversion E/S
+
+
+
+ Join func.
+ Fonc. de jointure
+
+
+
+ LC COLLATE
+ Faut-il le traduire ?
+ LC COLLATE
+
+
+
+ LC CTYPE
+ Faut-il le traduire ?
+ LC CTYPE
+
+
+
+ Leak proof
+ Étanche
+
+
+
+ Left type
+ Type gauche
+
+
+
+ Can login
+ Peut se connecter
+
+
+
+ Member roles
+ Rôles des membres
+
+
+
+ Merges
+ Fusionne
+
+
+
+ Negator op.
+ Négateur op.
+
+
+
+ Not null
+ Non nul
+
+
+
+ Object type
+ Type d'objet
+
+
+
+ With OIDs
+ Avec OIDs
+
+
+
+ Old version
+ Ancienne version
+
+
+
+ OID
+ Faut-il le traduire ?
+ OID
+
+
+
+ Operator
+ Opérateur
+
+
+
+ Operator func.
+ Fonc. de l'opérateur
+
+
+
+ Output func.
+ Func. de sortie
+
+
+
+ Owner
+ Propriétaire
+
+
+
+ Owner column
+ Colonne propriétaire
+
+
+
+ Parents
+
+
+
+
+ Password
+ Mot de passe
+
+
+
+ Permissions
+
+
+
+
+ Range attributes
+ Attributs de plage
+
+
+
+ Receive func.
+ Fonc. de réception
+
+
+
+ Ref. roles
+ Rôles de ref.
+
+
+
+ Replication
+ Reproduction
+
+
+
+ Restriction func.
+ Fonc. de restriction
+
+
+
+ Return type
+ Type de retour
+
+
+
+ Returns SETOF
+ Retours SETOF
+
+
+
+ Right type
+ Type droit
+
+
+
+ Rows amount
+ Montant des lignes
+
+
+
+ Security type
+ Type de sécurité
+
+
+
+ Send func.
+ Fonc. d'envoi
+
+
+
+ Sort op.
+ Opér. de tri
+
+
+
+ Source type
+ Type de la source
+
+
+
+ Src. encoding
+ Encodage de la src.
+
+
+
+ State type
+ Type d'état
+
+
+
+ Type mod. in func.
+ Type de mod. dans la fonc.
+
+
+
+ Type mod. out func.
+ Type de mod. hors fonc.
+
+
+
+ Transition func.
+ Fonc. de transition
+
+
+
+ Trusted
+ Jargon
+ Trusted
+
+
+
+ Type attribute
+ Attribut de type
+
+
+
+ Type
+
+
+
+
+ Types
+ Types
+
+
+
+ Validator func.
+ Fonct. de validation
+
+
+
+ Windows func.
+ Fonct. de fenêtrage
+
+
+
+ false
+ faux
+
+
+
+ true
+ vrai
+
+
+
+ Cache value
+ Valeur du cache
+
+
+
+ Increment
+ Incrément
+
+
+
+ Cycle
+
+
+
+
+ Max. value
+ Valeur max
+
+
+
+ Min. value
+ Valeur min
+
+
+
+ Start value
+ Valeur de départ
+
+
+
+ Last value
+ Dernière valeure
+
+
+
+ Op. class
+ Classe d'opérateur
+
+
+
+ Canonical func.
+ Fonct. canonique
+
+
+
+ Subtype diff func.
+ Fonc de comparaison de sous-type
+
+
+
+ Deferrable
+ Reportable
+
+
+
+ For each row
+ Pour chaque ligne
+
+
+
+ Firing
+ Déclencheur
+
+
+
+ On insert
+ Jargon SQL
+
+
+
+
+
+ On delete
+ Jargon SQL
+
+
+
+
+
+ On update
+ Jargon SQL
+
+
+
+
+ On truncate
+ Jargon SQL
+
+
+
+
+ Arguments
+
+
+
+
+ Table
+ Table
+
+
+
+ Trigger func.
+ Fonc. de déclenchement
+
+
+
+ Condition
+
+
+
+
+ Deferment
+ Ajournement
+
+
+
+ Execution mode
+ Mode d'exécution
+
+
+
+ Commands
+ Commandes
+
+
+
+ Comparison type
+ Type de comparaison
+
+
+
+ Position
+
+
+
+
+ Ref. columns
+ Colonnes de ref.
+
+
+
+ Expressions
+
+
+
+
+ Fill factor
+ Facteur de remplissage
+
+
+
+ No inherit
+ Non hérité
+
+
+
+ Op. classes
+ Classes d'opérateur
+
+
+
+ Operators
+ Opérateurs
+
+
+
+ Ref. table
+ Table de ref.
+
+
+
+ Unique
+ Unique
+
+
+
+ Predicate
+ Prédicat
+
+
+
+ Inherited
+ Hérité
+
+
+
+ Collations
+
+
+
+
+ SSL
+ SSL
+
+
+
+ Referrers
+ Référents
+
+
+
+ USING expr.
+ expr. USING
+
+
+
+ CHECK expr.
+ expr. CHECK
+
+
+
+ RLS enabled
+ RLS activé
+
+
+
+ RLS forced
+ RLS forcé
+
+
+
+ Do you really want to truncate the table <strong>%1.%2</strong>?
+ Voulez-vous vraiment vider la table <strong>%1.%2</strong> ?
+
+
+
+ Do you really want to truncate in <strong>cascade</strong> mode the table <strong>%1.%2</strong>? This action will truncate all the tables that depends on it?
+ Souhaitez-vous réellement vider en mode <strong>CASCADE</strong> la table <strong>%1.%2</strong> ? Cette action poura entraîner des suppressions de lignes dans les tables dépendantes.
+
+
+
+ Also restart sequences
+ Remettre également les séquences à zéro ?
+
+
+
+ Source code genaration for built-in and base types currently unavailable.
+ La génération du code source pour les objets intégrés et les types n'est pas possible pour le moment.
+
+
+
+ Source code unavailable for the object %1 (%2).
+ Code source indisponible pour l'objet %1 (%2).
+
+
+
+ Warning
+ Avertissement
+
+
+
+ Open the grid to visualize or edit data
+ Ouvrir la grille pour visualiser ou modifier les données
+
+
+
+ Update the objects tree
+ Actualiser l'arbre des objets
+
+
+
+ Drop this database
+ Supprimer cette base de données
+
+
+
+ Filters the currently loaded items in the tree by using a pattern and matching their names. If <strong>By OID</strong> is checked the pattern is interpreted as an integer value that represents the object id (OID). <br><br/><strong>HINT:</strong> if you need to search the entire database use the full refresh (<strong>Ctrl+F5</strong>) prior the filtering.
+ Filtre les éléments actuellement chargés dans l'arborescence en utilisant un motif et en faisant correspondre leurs noms. Si <strong>Par OID</strong> est coché, le motif est interprété comme une valeur entière qui représente l'identifiant de l'objet (OID).<br><br/><strong>ASTUCE :</strong> si vous devez effectuer une recherche dans toute la base de données, utilisez l'actualisation complète (<strong>Ctrl+F5</strong>) avant le filtrage.
+
+
+
+ Show raw attributes
+ Noms bruts pour les attributs
+
+
+
+ Rename
+ Renommer
+
+
+
+ Source code
+ Code source
+
+
+
+ Quick refresh
+ Actualisation rapide
+
+
+
+ Full refresh
+ Actualisation complète
+
+
+
+ Do you really want to <strong>cascade</strong> drop the object <strong>%1</strong> <em>(%2)</em>? This action will drop all the other objects that depends on it.
+ Voulez-vous vraiment supprimer en <strong>cascade</strong> l'objet <strong>%1</strong><em> (%2)</em> ? Cette action supprimera tous les autres objets qui en dépendent.
+
+
+
+ Src. table: %1
+Src. column(s): %2
+ Table src. : %1
+Colonne(s) src. : %2
+
+
+
+ Ref. table: %1
+Ref. column(s): %2
+ Table de ref. : %1
+Colonne(s) de ref. : %2
+
+
+
+ Toggle the display of filter widget as well the system/extension objects.
+ Afficher le widget de filtre ainsi que les objets système/extension.
+
+
+
+ Sort items alphabetically. When unchecked, items are sorted by OID.
+ Trier les éléments par ordre alphabétique. Lorsque ce n'est pas coché, les éléments sont triés par OID.
+
+
+
+ Sort alphabetically
+ Trier par ordre alphabétique
+
+
+
+ DatabaseImportForm
+
+
+ &Import
+ &Importer
+
+
+
+ &Close
+ &Fermer
+
+
+
+ Options
+ Options
+
+
+
+ Import extension objects
+ Importer les objets des extensions
+
+
+
+ Connection:
+ Connexion :
+
+
+
+ Ignore import errors
+ Ignorer les erreurs
+
+
+
+ Import system objects
+ Importer les objets système
+
+
+
+ Automatically resolve dependencies
+ Résoudre automatiquement les dépendances
+
+
+
+
+
+
+ ...
+ ...
+
+
+
+ Debug mode
+ Activer le mode debug
+
+
+
+ Settings
+ Paramètres
+
+
+
+ Random colors for relationships
+ Coloriser les relations de manière aléatoire
+
+
+
+ Database
+ Base de données
+
+
+
+ Select all objects
+ Tout cocher
+
+
+
+ Clear object selection
+ Tout décocher
+
+
+
+ Expands all items
+ Développer tous les éléments
+
+
+
+ Collapses all items
+ Replier tous les éléments
+
+
+
+ Filter:
+ Filtrer :
+
+
+
+ <p>Resolve some of the object's dependencies by querying the catalog when a needed object does not exists on the loaded set. In some cases it's necessary to combine this option with others below. This option does not applies to database level objects like role, tablespace and language as well for data types, extensions.</p>
+ <p>Résoudre les dépendances de certains objets en intérrogeant le catalogue lorsqu'un objet nécessaire n'existe pas dans le jeu chargé. Dans certains cas il est nécessaire de combiner cette option avec d'autres ci-dessous. Cette option ne s'applique pas aux roles, aux tablespaces, aux langages aux extensions ainsi qu'au types de données.</p>
+
+
+
+ <p>All catalog queries as well the created objects' source code are printed to standard output (stdout).</p>
+ <p>Toutes les requêtes sur le catalogue ainsi que les codes SQL des objets générés seront affichés sur la sortie standard (stdout).</p>
+
+
+
+ <p>Create all imported objects in the current working model instead of create a new one.</p>
+ <p>Créer les objets importés dans le modèle en cours plutôt que dans créer un nouveau.</p>
+
+
+
+ <p>Enables the import of system built-in objects. It's recommend to select only those objects that are directly referenced by the ones to be imported. WARNING: Try to import a huge set of system objects can bloat the resultant model or even crash pgModeler due to memory/cpu overuse.</p>
+ <p>Active l'importation des objets système. Il est recommandé de les sélectionner seulement ci ces objets sont directement référencés par ceux importés. ATTENTION : Importer un nombre important d'objets système peut saturer le modèle voire même faire planter pgModeler en cas de surconsommation CPU ou mémoire.</p>
+
+
+
+ <p>Enables the import of objects created by extensions. Generally there is no need to check this option but if there are objects in the database that directly references this category of objects this mode must be enabled.</p>
+ <p>Active l'importation des objets créés par les extensions. Générallement il n'y a pas lieu d'activer cette option mais s'il existe des objets dans la base de cette catégorie alors ce mode doit être activé.</p>
+
+
+
+ <p> pgModeler ignores import errors and will try to create as many as possible objects. By checking this option the import operation will not be aborted but an incomplete model will be constructed. This option generates a log file on pgModeler's temp directory.</p>
+ <p>pgModeler ignorera les erreurs lors de l'importation et tentera de créer le maximum d'objets possible. En activant cette option l'opération d'importation ne sera pas annulée mais pourra générer un modèle incomplet. Cette option génère un fichier journal dans le répertoire temporaire de pgModeler.</p>
+
+
+
+ <p>Random colors will be assigned to imported relationships facilitating the identification of links between tables mainly in large models.</p>
+ <p>Des couleurs aléatoires seront utilisées pour les relations afin de faciliter l'identification des liens entre les tables pour les gros modèles.</p>
+
+
+
+ Filter object by it's OID
+ Filtrer un objet par son OID
+
+
+
+ By OID
+ Par OID
+
+
+
+ Output
+ Sortie
+
+
+
+ Progress label...
+ Indicateur de progression...
+
+
+
+ Cancel
+ Annuler
+
+
+
+ Retrieving objects from database...
+ Récupération des objets depuis la base de données...
+
+
+
+ Importing process aborted!
+ Processus d'import abandonnée !
+
+
+
+ <strong>Low verbosity is set:</strong> only key informations and errors will be displayed.
+ <strong>Le mode verbeux n'est pas activé :</strong> seules quelques informations clés et les erreurs seront affichées.
+
+
+
+ Importing process canceled by user!
+ Processus d'import interrompu par l'utilisateur !
+
+
+
+ Importing process sucessfuly ended!
+ Processus d'import terminé avec succès !
+
+
+
+ No databases found
+ Aucune base de données trouvée
+
+
+
+ Found %1 database(s)
+ %1 base(s) de données trouvée(s)
+
+
+
+ Retrieving cluster level objects...
+ Récupération des objets du cluster...
+
+
+
+ Retrieving objects of schema `%1'...
+ Récupération des objets du schéma `%1'...
+
+
+
+ Retrieving objects of `%1' (%2)...
+ Réccupération des objets de `%1' (%2)...
+
+
+
+ This is a PostgreSQL built-in data type and cannot be imported.
+ C'est un type de données nativement intégré à PostgreSQL. Il ne peut être importé.
+
+
+
+ This is a pgModeler's built-in object. It will be ignored if checked by user.
+ C'est un objet nativement intégré à pgModeler. Il sera ignoré s'il est coché par l'utilisateur.
+
+
+
+ Import objects to the working model
+ Importer les objets dans le modèle en cours
+
+
+
+ <strong>ATTENTION:</strong> You are about to import objects to the current working model! This action will cause irreversible changes to it even in case of critical errors during the process. Do you want to proceed?
+ <strong>ATTENTION :</strong> Vous êtes sur le point d'importer des objets dans le modèle actuel ! Cette action entraînera des modifications irréversibles même en cas d'erreurs critiques au cours du processus. Souhaitez-vous poursuivre ?
+
+
+
+ Import database
+ Importer une base de données
+
+
+
+ DatabaseImportHelper
+
+
+ Retrieving system objects... `%1'
+ Récupération des objets système... `%1'
+
+
+
+ Retrieving objects... `%1'
+ Récupération des objets... `%1'
+
+
+
+ Creating table inheritances...
+ Création des tables héritées...
+
+
+
+ Creating object `%1' (%2)...
+ Création de l'objet `%1' (%2)...
+
+
+
+ Creating columns permissions...
+ Création des permissions sur les champs...
+
+
+
+ Destroying unused detached columns...
+ Destruction des colonnes détachées inutilisées...
+
+
+
+ The database import ended but some errors were generated and saved into the log file `%1'. This file will last until pgModeler quit.
+ L'import de la base de données est términée mais des erreurs ont été générées et sauvegardées dans le journal `%1'. Ce fichier sera disponible jusqu'à la fermeture de pgModeler.
+
+
+
+ Retrieving columns of table `%1.%2', oid `%3'...
+ Récupération des colonnes de la table `%1.%2', oid `%3'...
+
+
+
+ Creating object `%1' (%2), oid `%3'...
+ Création de l'objet `%1' (%2), oid `%3'...
+
+
+
+ Trying to recreate object `%1' (%2), oid `%3'...
+ Tentative de création de l'objet `%1' (%2), oid `%3'...
+
+
+
+ Import failed to recreate some objects in `%1' tries.
+ L'import a échoué à recréer certains objets à `%1' reprise(s).
+
+
+
+ Creating permissions for object `%1' (%2)...
+ Création des autorisations pour l'objet `%1' (%2)...
+
+
+
+ Updating relationships of `%1' (%2)...
+ Mise à jour des relations de `%1' (%2)...
+
+
+
+ Validating relationships...
+ Validation des relations...
+
+
+
+ Creating table partitionings...
+ Création des tables partitionnées...
+
+
+
+ Assigning sequences to columns...
+ Affectation des séquences aux colonnes...
+
+
+
+ DatabaseModel
+
+
+ The demonstration version can create only `%1' instances of each object type! You've reach this limit for the type: `%2'
+ Cette version de démonstration peut seulement créer `%1' instances pour chaque type d'objet ! Cette limite a été atteinte pour les objets de type : `%2'
+
+
+
+ Loading: `%1' (%2)
+ Chargement : `%1' (%2)
+
+
+
+
+
+ Validating relationships...
+ Validation des relations...
+
+
+
+ Rendering database model...
+ Création du rendu du modèle...
+
+
+
+ Generating %1 code: `%2' (%3)
+ Génération du code %1 : `%2' (%3)
+
+
+
+ Saving object `%1' (%2)
+ Enregistrement de l'objet `%1' (%2)
+
+
+
+ Saving metadata of the object `%1' (%2)
+ Enregistrement des métadonnées de l'objet `%1' (%2)
+
+
+
+ Metadata file successfully saved!
+ Fichier de métadonnées enregistré avec succès !
+
+
+
+ Process successfully ended but no metadata was saved!
+ Le processus s'est terminé avec succès mais aucune métadonnée n'a été enregistrée !
+
+
+
+ Creating object `%1' (%2)
+ Création de l'objet `%1' (%2)
+
+
+
+ Object `%1' (%2) already exists. Ignoring.
+ L'objet `%1' (%2) existe déjà et a été ignoré.
+
+
+
+ Loading metadata for object `%1' (%2)
+ Chargement des métadonnées de l'objet `%1' (%2)
+
+
+
+ Object `%1' (%2) not found. Ignoring metadata.
+ Objet`%1' (%2) introuvable. Métadonnée ignorée.
+
+
+
+ Metadata file successfully loaded!
+ Fichier de métadonnées chargé avec succès !
+
+
+
+ DatabaseWidget
+
+
+ Attributes
+ Attributs
+
+
+
+ Template DB:
+ Modèle de BDD :
+
+
+
+ Model Author:
+ Auteur du modèle :
+
+
+
+ Encoding:
+ Encodage :
+
+
+
+ Default Objects
+ Attributs par défaut des objets
+
+
+
+ Tablespace:
+ Tablespace :
+
+
+
+ Schema:
+ Schéma :
+
+
+
+ Collation:
+ Collation :
+
+
+
+ Owner:
+ Propriétaire :
+
+
+
+ LC_COLLATE:
+ LC_COLLATE :
+
+
+
+ Connections:
+ Connexions :
+
+
+
+ LC_CTYPE:
+ LC_CTYPE :
+
+
+
+ The fields <strong>LC_COLLATE</strong> and <strong>LC_CTYPE</strong> have pre-configured values based upon the running system. You can freely modify those values if you intend to export the model to another host.
+ Les champs <strong>LC_COLLATE</strong> et <strong>LC_CTYPE</strong> ont déjà des valeurs pré-configurées basées sur le système. Vous pouvez librement les modifier si vous devez exporter le modèle vers une autre machine hôte.
+
+
+
+ Use the above fields to specify the default attributes assigned to new objects created on the database model. Leaving a field empty will cause PostgreSQL to use the default values when exporting the model.
+ Utilisez les champs ci-dessus pour spécifier les attributs par défaut à assigner aux nouveaux objets créés dans le modèle. Laisser un champ vide fera que PostgreSQL utilisera ses valeurs par défaut lors de l'export du modèle.
+
+
+
+
+
+
+ Default
+ Défaut
+
+
+
+ Options:
+ Options :
+
+
+
+ Allow connections
+ Autoriser les connexions
+
+
+
+ Is template
+ Est le modèle
+
+
+
+ DomainWidget
+
+
+ Name:
+ Nom :
+
+
+
+ Default Value:
+ Valeur par défaut :
+
+
+
+ Attributes
+ Attributs
+
+
+
+ Not null
+ Non nulle
+
+
+
+ Check constraints
+ Vérifier les contraintes
+
+
+
+ Expression:
+ Expression :
+
+
+
+ Name
+ Nom
+
+
+
+ Expression
+
+
+
+
+ DonateWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Donate to pgModeler
+ Faire un don à pgModeler
+
+
+
+ Hide this widget
+ Cacher ce widget
+
+
+
+ ...
+ ...
+
+
+
+ <html><head/><body><p>pgModeler is brought to you thanks to a <span style=" font-style:italic;">great effort to create and distribute a quality product</span>. This project is reaching out levels of maturity never imagined. All this is the result of a joint work between its author and the <span style=" font-weight:600;">Open Source community</span>. <br/><br/>This software has a long way to go yet and with your help we'll keep maintaining the good job and bringing new improvements on each release. If you did like pgModeler and thinks it deserves a contribution please make a donation!</p></body></html>
+ <html><head/><body><p>pgModeler vous est offert grâce à un <span style=" font-style :italic;">gros effort pour créer et distribuer un produit de qualité </span>. Ce projet atteint un niveau de maturité jamais imaginé. Tout ceci est le résultat d'un travail conjoint entre son auteur et la <span style="font-weight :600;">Communauté Open Source</span>.<br/><br/>Ce logiciel a encore un long chemin à parcourir mais avec votre aide, nous continuerons à faire du bon travail et à apporter de nouvelles améliorations à chaque version. Si vous avez aimé pgModeler et pensez qu'il mérite une contribution, faites un don ! </p></body></html>
+
+
+
+ I want to help!
+ Je veux aider !
+
+
+
+ ElementWidget
+
+
+ Element properties
+ Propriétés de l'élément
+
+
+
+ Operator Class:
+ Classe d'opérateur :
+
+
+
+ Sorting:
+ Tri :
+
+
+
+ Ascending
+ Ascendant
+
+
+
+ Descending
+ Descendant
+
+
+
+ Nulls first
+ Null en premier
+
+
+
+ Column:
+ Colonne :
+
+
+
+ Operator:
+ Opérateur :
+
+
+
+ Expression:
+ Expression :
+
+
+
+ Collation:
+ Collation :
+
+
+
+ Index element properties
+ Propriétés de l'élément de l'index
+
+
+
+ Exclude element properties
+ Propriétés de l'élément d'exclusion
+
+
+
+ Partition key properties
+ Propriétés de clé de partition
+
+
+
+ ElementsTableWidget
+
+
+ Element
+ Élément
+
+
+
+ Type
+ Type
+
+
+
+ Operator
+ Opérateur
+
+
+
+ Operator Class
+ Classe d'opérateurs
+
+
+
+ Collation
+ Collation
+
+
+
+ Sorting
+ Tri
+
+
+
+ Nulls First
+ Vides en premier
+
+
+
+ Expression
+ Expression
+
+
+
+ Ascending
+ Ascendant
+
+
+
+ Descending
+ Descendant
+
+
+
+ Yes
+ Oui
+
+
+
+ No
+ Non
+
+
+
+ EventTriggerWidget
+
+
+ Event:
+ Évènement :
+
+
+
+ Function:
+ Fonction :
+
+
+
+ Filter
+ Filtrer
+
+
+
+ Tag:
+ Étiquette :
+
+
+
+ Tag command
+ Balise de la commande
+
+
+
+ Exception
+
+
+ Assignment of a pseudo-type to the type of the column!
+ Utilisation d'un pseudo-type comme type de la colonne !
+
+
+
+ Assignment of a precision greater than the length of the type!
+ Utilisation d'une précision est plus grande que la longueur du type !
+
+
+
+ Assignment of an invalid precision to type time, timestamp or interval. The precision in this case must be equal to or less than 6!
+ Utilisation d'une précision de type time, timestamp ou interval invalide. La précision de ces types doit être inférieure ou égale à 6 !
+
+
+
+ Reference to a column which index is out of the capacity of the column list!
+ Référence à une colonne dont l'index dépasse la capacité de la liste des colonnes !
+
+
+
+ Assignment of not allocated object!
+ Utilisation d'un objet non référencé !
+
+
+
+ Assigning object of an invalid type!
+ Assignation d'un objet dont le type est invalide !
+
+
+
+ Removing an object of an invalid type!
+ Suppression d'un objet dont le type est invalide !
+
+
+
+ Obtaining an object of an invalid type!
+ L'objet obtenu est de type invalide !
+
+
+
+ Assignment of empty name to table return type!
+ Affectation d'un nom vide au type retourné par la table !
+
+
+
+ Reference to an event which does not belongs to trigger!
+ Référence à un évènement qui n'appartient pas au déclencheur !
+
+
+
+ Assignment of a function which language is invalid!
+ Définition d'une fonction dont le langage est invalide !
+
+
+
+ Assignment of empty name to an object!
+ Affectation d'un nom vide à l'objet !
+
+
+
+ Assignment of schema object which type is invalid!
+ Affectation d'un schema dont le type est invalide !
+
+
+
+ Assignment of tablespace object with invalid type!
+ Utilisation d'un espace logique dont le type est invalide !
+
+
+
+ Assignment of tablespace to an invalid object!
+ Affectation d'un espace logique à un objet invalide !
+
+
+
+ Assignment of tablespace to a constraint which type is invalid! To belong to a tablespace the constraint must be a primary key or unique!
+ Affectation d'un espace logique à une contrainte dont le type est invalide ! Pour appartenir à un espace logique une contrainte doit être une clé primaire ou unique !
+
+
+
+ Assignment of owner object which type is invalid!
+ Affectation d'un propiétaire dont le type est invalide !
+
+
+
+ Assignment of owner to an invalid object!
+ Affectation d'un propriétaire à un objet invalide !
+
+
+
+ Reference to a function with invalid type!
+ Référence à une fonction dont le type est invalide !
+
+
+
+ Reference to an argument of the operator with invalid type!
+ Référence à un argument de l'opérateur dont le type est invalide !
+
+
+
+ Reference to an operator with invalid type!
+ Référence à un opérateur dont le type est invalide !
+
+
+
+ Assignment of value to an invalid option type on role!
+ Utilisation d'un attribut invalide pour un rôle !
+
+
+
+ Reference to an invalid role type!
+ Référence à un type de rôle invalide !
+
+
+
+ Insertion of empty command to the rule!
+ Insertion d'une commande vide dans cette règle !
+
+
+
+ Assignment of an object that already belongs to another table!
+ Utilisation d'un objet appartenant déjà à une autre table !
+
+
+
+ Assignment of a schema to the sequence which differs from the schema of the owner table!
+ Affectation d'un schéma à la séquence diffèrent du schéma de la table !
+
+
+
+ Assignment of an invalid value to one of the sequence attributes!
+ Utilisation d'une valeur invalide comme attribut de séquence !
+
+
+
+ Assignment of a minimum value to the sequence which is greater than the maximum value!
+ La valeur minimale de la séquence est supérieure à la valeur maximale !
+
+
+
+ Assignment of a null increment value to the sequence!
+ La valeur de l'incrément de la séquence est nulle !
+
+
+
+ Assignment of null cache value to the sequence!
+ La valeur cache de la séquence est nulle !
+
+
+
+ Assignment of not allocated language!
+ Utilisation d'un langage inconnu !
+
+
+
+ Assignment of language object which type is invalid!
+ Définition d'un objet langage dont le type est invalide !
+
+
+
+ Reference to data type with an index outside the capacity of data types list!
+ Référence à un type de donnée dont l'index est en dehors de la capacité de la liste des types de données !
+
+
+
+ Assignment of invalid type to the object!
+ Affectation d'un type invalide à l'objet !
+
+
+
+ Obtaining types with invalid quantity!
+ Utilisation d'une quantité de types invalide !
+
+
+
+ Insertion of item which already exists in the attributes list of the type!
+ Insertion d'un attribut déjà présent dans la définition de ce type !
+
+
+
+ Insertion of invalid item in the attributes list of the type!
+ Insertion d'un attribut invalide à la liste des attributs de ce type !
+
+
+
+ Insertion of item which already exists in the enumarations list of the type!
+ Insertion d'un élément déjà existant dans l'énumeration !
+
+
+
+ Insertion of invalid item in the enumerations list of the type!
+ Insertion d'un élément invlaide dans l'énumeration !
+
+
+
+ Assignment of invalid configuration to the type!
+ La configuration assigné au type est invalide !
+
+
+
+ Assignment of an operator which input type count is invalid to aggregate function!
+ Utilisation d'un opérateur dont le nombre d'argument est invalide avec une fonction d'agrégation !
+
+
+
+ Assignment of an operator which types of arguments is invalid!
+ Utilisation d'un opérateur dont le type des arguments est invalide !
+
+
+
+ There is already a relationship between `%1' (%2) and `%3' (%4) in the model! When using relationships of the type generalization, copy and one-to-one there can't be other relationships linked to the pair of tables.
+ Il y a déjà une relation entre `%1 '(%2) et `%3' (%4) dans le modèle ! Lors de l'utilisation de relations de type généralisation, copie et un-à-un, il ne peut y avoir d'autres relations liées à la paire de tables.
+
+
+
+ Unable to load the configuration file `%1'! Please check if file exists in its folder and/or if it is not corrupted!
+ Impossible de charger le fichier de configuration `%1'! Merci de vérifier que le fichier existe dans son dossier et / ou s'il n'est pas corrompu !
+
+
+
+ Could not find the default settings file `%1'! To restore default settings check the existence of the file and try again!
+ Impossible de trouver le fichier des préférences par défaut `%1' ! Pour restaurer les préférences par défaut veuillez vérifier l'existance de ce fichier et réessayez !
+
+
+
+ Could not load the plugin `%1' from the library `%2'! Message returned by plugin manager: `%3'
+ Impossible de charger l'extension `%1' depuis la bibliothèque`%2' ! Message retourné par le gestionnaire d'extension : `%3'
+
+
+
+ Failed to drop the database `%1' because it is defined as the default database for the connection `%2'!
+ Impossible de supprimer la base de données `%1 'car elle est définie comme base de données par défaut pour la connexion`%2' !
+
+
+
+ The column `%1' must be `NOT NULL' because it composes the primary key of the table `%2'. You need to remove the column from the mentioned contraint in order to disable the `NOT NULL' on it!
+ La colonne `%1' doit être `NOT NULL' car elle compose la clé primaire de la table `%2'. Vous devez supprimer la colonne de la contrainte mentionnée afin de désactiver le `NOT NULL' dessus !
+
+
+
+ The identity column `%1' has an invalid data type! The data type must be `smallint', `integer' or `bigint'.
+ La colonne d'identité `%1' a un type de données invalide ! Le type de données doit être `smallint', `integer' ou `bigint'.
+
+
+
+ Reference to an invalid affected command in policy `%1'!
+ Référence à une commande affectée invalide dans la règle `%1' !
+
+
+
+ Reference to an invalid special role in policy `%1'!
+ Référence à un rôle spécial invalide dans la politique `%1' !
+
+
+
+ Assignment of a second definition expression to the view!
+ Assignation d'une seconde expression à la vue !
+
+
+
+ Assignment of collation object which type is invalid!
+ Utilisation d'un objet collation invalide !
+
+
+
+ Collations must be created at least with attributes LC_COLLATE and LC_CTYPE defined!
+ Les collations doivent être définies avec les attributs LC_COLLATE et LC_CTYPE renseignés !
+
+
+
+ Reference to an invalid copy table option!
+ Référence à une option invalide de copie de table !
+
+
+
+ The INSTEAD OF mode cannot be used on triggers that belongs to tables! This is available only for view triggers!
+ Le mode AU LIEU DE (INSTEAD OF) ne peut être utilisé comme déclencheur de table ! Ce n'est valable que pour les déclencheurs de vue !
+
+
+
+ The TRUNCATE event can only be used when the trigger executes for each statement and belongs to a table!
+ L'événement TRUNCATE ne peut être utilisé que lors d'un déclencheur sur chaque ligne et que s'il appartient à une table !
+
+
+
+ The INSTEAD OF mode cannot be used on view triggers that executes for each statement!
+ Le mode AU LIEU DE (INSTEAD OF) ne peut être utilisé avec des déclencheurs de vues qui s’exécutent à chaque requête !
+
+
+
+ Constraint triggers can only be executed on AFTER events and for each row!
+ Les déclencheurs de contraintes ne peuvent être exécutés qu'APRÈS les événements et pour chaque ligne !
+
+
+
+ A view trigger cannot be AFTER/BEFORE when it executes for each row!
+ Les déclencheurs de vues ne peuvent être AFTER/BEFORE quand il sont configurés pour une exécution sur chaque ligne !
+
+
+
+ A trigger cannot make reference to columns when using INSTEAD OF mode and UPDATE event!
+ Un déclencheur ne peut faire référence aux colonnes quand il est utilisé en mode INSTEAD OF sur un événement de type UPDATE !
+
+
+
+ Only constraint triggers can be deferrable or reference another table!
+ Seuls les déclencheurs de contraintes peuvent être déférés ou référencer une autre table !
+
+
+
+ The validation process failed due to an error triggered by the validation helper. For more details about the error check the exception stack!
+ La procédure de validation a échouée à cause d'une erreur levée par l'assistant de validation. Pour de plus d'informations, referez-vous à la pile des exceptions !
+
+
+
+ Assignment of an invalid strategy/support number to an operator class element!
+ Affectation d'un numéro de stratégie/support invalide à un élément de la classe 'operator' !
+
+
+
+ Insertion of element which already exists in the element list!
+ Insertion d'un élément déjà existant dans la liste des éléments !
+
+
+
+ Reference to a parameter which index is out of the parameter list bounds!
+ Référence un paramètre dont l'index est hors des limites de la liste de ces derniers !
+
+
+
+ Reference to an argument which index is out of argument list bounds!
+ Référence un argument dont l'index est hors des limites de la liste de ces derniers !
+
+
+
+ Assignment of a name which contains invalid characters!
+ Utilisation de caractères invalides dans le nom !
+
+
+
+ Assignment of a name which length exceeds the maximum of 63 characters!
+ Utilisation de plus de 63 caractères dans le nom !
+
+
+
+ Reference to a role which index is out of role list bounds!
+ Référence un rôle dont l'index est hors des limites de la liste de ces derniers !
+
+
+
+ Reference to a command which index is out of the command list bounds!
+ Référence une commande dont l'index est hors des limites de la liste de ces dernières !
+
+
+
+ Assignment of a start value to the sequence which is extrapolating the range defined by minimum and maximum values!
+ Affectation de la valeur de départ de la séquence en dehors de la plage de cette dernière définie par les valeurs min et max !
+
+
+
+ Reference to a label which index is out of labels list bounds!
+ Référence un label dont l'index est hors des limites de la liste de ces derniers !
+
+
+
+ Reference to an attribute which index is out of the attributes list bounds!
+ Référence un attribut dont l'index est hors des limites de la liste de ces derniers !
+
+
+
+ Reference to an enumeration which index is out of the enumerations list bounds!
+ Référence une énumération dont l'index est hors des limites de la liste de ces dernières !
+
+
+
+ Reference to an element which index is out of element list bounds!
+ Référence un élément dont l'index est hors des limites de la liste de ces derniers !
+
+
+
+ Reference to an object which index is out of object list bounds!
+ Référence un objet dont l'index est hors des limites de la liste de ces derniers !
+
+
+
+ Removal of an object not allocated!
+ Suppression d'un objet non alloué !
+
+
+
+ The object `%1' (%2) can not be manipulated because it is reserved to PostgreSQL! This object is present in the database model only as a reference!
+ L'objet `%1' (%2) ne peut être modifié car il est est réservé à PostgreSQL ! Cet objet apparaît dans le modèle uniquement comme référence !
+
+
+
+ Operation with object(s) which type(s) is invalid!
+ Opérations sur un ou des objets dont les types sont invalides !
+
+
+
+ Reference to object with invalid type!
+ Référence à un objet ayant un type invalide !
+
+
+
+ Operation with object not allocated!
+ Opération sur des objets non alloués !
+
+
+
+ The relationship of the type 1-1 where both tables are mandatory participation is not implemented because it requires fusion between the tables that breaks the modeling done by the user!
+ Une association de type 1-1, quand les deux tables sont obligatoires, n'est pas implémentée car cela requiert la fusion des tables, ce qui casse le modèle réalisé par l'utilisateur !
+
+
+
+ Assignment of an invalid expression to the object!
+ Affectation d'une expression invalide à l'objet !
+
+
+
+ Assignment of a primary key to a table which already has one!
+ Impossible de définir une clé primaire à une table qui en possède déjà une !
+
+
+
+ Identifier relationship can not be created for a self relationship, relationships of the type n-n, copy or generalization!
+ La relation d'identifiant ne peut pas être créée pour une relation vers elle même, pour les relations de type n-n, pour la copie ou pour la généralisation!
+
+
+
+ A foreign key can not be added to a relationship because is created automatically when this is connected!
+ Une clé étrangère ne peut être ajoutée à une relation car elle est créée automatiquement lors de la mise en relation !
+
+
+
+ Reference to an user-defined data type that not exists in the model!
+ Référence à un type de donné défini par l'utilisateur qui n'existe pas dans le modèle !
+
+
+
+ Assignment of invalid maximum size to operation list!
+ La taille maximum affectée à la liste d'opérations est invalide !
+
+
+
+ One or more objects were invalidated and automatically removed because they were referencing table columns which were included through relationships and which no longer exists due to disconnection of relationships or exclusion of such generated columns!
+ Un ou plusieurs objets ont été invalidés et automatiquement supprimés car ils référençaient des colonnes qui étaient incluses dans des associations et qui n'existaient plus du fait de la suppression de l'associations ou de l'exclusion de ces colonnes !
+
+
+
+ Reference to an invalid privilege type!
+ Référence à un type de privilège invalide !
+
+
+
+ Insertion of a role which already exists in the role list of the permission!
+ Insertion d'un rôle déjà existant dans la liste de cette permission !
+
+
+
+ Assignment of privilege incompatible with the type of object referenced by permission!
+ Utilisation d'un privilège incompatible avec le type d'objet référencé par la permission !
+
+
+
+ Assignment of invalid name to the table generated from N-N relationship!
+ Le nom de la table générée par la relation N-N est invalide !
+
+
+
+ Reference to a column of the objects table with invalid index!
+ Référence à une colonne de la table ayant un index invalide !
+
+
+
+ Reference to a row of the objects table with invalid index!
+ Référence à une ligne de la table ayant un index invalide !
+
+
+
+ Constraints like primary key, foreign key or unique must have at least one column related to them! For foreign keys must be selected, in addition, the referenced columns!
+ Les contraintes telles que clé primaire, clé étrangère ou unicité doivent avoir au moins une colonne associée ! Pour les clés étrangères, les colonnes référencées doivent également être sélectionnées !
+
+
+
+ The export process failed due to an error triggered by the PostgreSQL server in an attempt to execute a SQL command. For more details about the error check the exception stack!
+
+** Executed SQL command: **
+
+%1
+ Le process d'exportat a échoué suite à une erreur déclenchée par le serveur PostgreSQL lors de la tentative d'exécution d'une commande SQL. Pour plus de détails concernant l'erreur vérifiez la pile d'exceptions !
+
+** Commande SQL exécutée: **
+
+%1
+
+
+
+ One or more plugins were not activated due to errors during the loading process! Check the exception stack for more details.
+ Une ou plusieurs extensions n'ont pas été activées suite à la survenue d'erreurs lors du chargement. Pour plus de détails, consultez la pile d'exceptions.
+
+
+
+ Assignment of empty XML buffer to parser!
+ Passage d'un tampon XML vide à l'analyseur !
+
+
+
+ Assignment of empty DTD file name!
+ Le nom du fichier DTD est vide !
+
+
+
+ Assignment of empty name to the DTD declaration!
+ Le nom de la déclaration DTD est vide !
+
+
+
+ Operation on unallocated element tree! It is necessary to load the XML parser buffer and interpret it so that the tree is generated!
+ Opération sur l'arbre d'élément non alloué ! Il est nécessaire de charger le tampon d'analyseur XML et de l'interpréter pour que l'arbre soit généré !
+
+
+
+ Operation with unallocated tree element!
+ Opération avec un élément de l'arbre non alloué !
+
+
+
+ Operation with element which does not exists in the element tree currently loaded!
+ Opération avec un élément inexistant dans l'arbre des éléments actullement chargé !
+
+
+
+ Assignment of a value to an invalid connection parameter!
+ Affectation d'une valeur à un paramètre de connexion invalide !
+
+
+
+ Operation on connection not established!
+ Opération sur une connexion non établie !
+
+
+
+ Attempt to connect without define configuration parameters!
+ Tentative de connexion sans paramètre de configuration défini !
+
+
+
+ Assignment of not allocated SQL command result!
+ Affectation d'un résultat de commande SQL non alloué !
+
+
+
+ Unable to allocate the result of the SQL command because the response from the DBMS was not understood by the client!
+ Impossible de retourner le résultat de la commande SQL car la réponse du SGBD n'a pas été comprise par le client !
+
+
+
+ Reference to a column of tuple with invalid index!
+ Référence à une colonne de tuple dont l'index est invalide !
+
+
+
+ Reference to a column of tuple with invalid name!
+ Référence à une colonne de tuple dont le nom est invalide !
+
+
+
+ Assignment of a not allocated column to object `%1' (%2)!
+ Affectation d'une colonne non allouée à l'objet `%1 '(%2) !
+
+
+
+ Assignment of a not allocated schema to object `%1' (%2)!
+ Affectation d'un schéma non allouée à l'objet `%1 '(%2) !
+
+
+
+ The object `%1' (%2) has inconsistent SQL or XML definition!
+ L'objet `%1 '(%2) a une définition SQL ou XML incohérente !
+
+
+
+ The object `%1' (%2) already exists on `%3' (%4)!
+ L'objet `%1 '(%2) existe déjà sur `%3' (%4) !
+
+
+
+ The object `%1' (%2) cannot be assigned because there is already exists in the container object `%3'!
+ L'objet `%1 '(%2) ne peut être assigné car il existe déjà dans l'objet conteneur `%3' !
+
+
+
+ The insertion of the parameter `%1' will not be possible because there is another parameter with same name in the function `%2'!
+ L'insertion du paramètre `%1' ne sera pas possible car il existe un autre paramètre avec le même nom dans la fonction `%2' !
+
+
+
+ The insertion of the table return type `%1' will not be possible because there is another return type with the same name in the `%2'!
+ L'insertion du type de retour de la table `%1' ne sera pas possible car il existe un autre type de retour avec le même nom dans le`%2' !
+
+
+
+ The column `%1' cannot be assigned to the trigger `%2' because they belongs to different parent tables!
+ La colonne `%1' ne peut pas être affectée au déclencheur `%2' car ils appartiennent à des tables parentes différentes !
+
+
+
+ Assignment of a not allocated function to object `%1' (%2)!
+ Affectation d'une fonction non allouée à l'objet `%1' (%2) !
+
+
+
+ Assignment of a function which return type is different from `%1'!
+ Affectation d'une fonction dont le type de retour est différent de `%1' !
+
+
+
+ Assignment of a function which parameter count is invalid to the object `%1' (%2)!
+ Affectation d'une fonction dont le nombre de paramètres n'est pas valide pour l'objet `%1' (%2) !
+
+
+
+ Event trigger function must be coded in any language other than SQL!
+ La fonction de déclenchement d'événement doit être codée dans n'importe quelle langue autre que SQL !
+
+
+
+ Assignment of not allocated table to object `%1' (%2)!
+ Affectation de la table non allouée à l'objet `%1' (%2) !
+
+
+
+ Assignment of appended or prepended SQL to an invalid object!
+ Affectation de code SQL ajouté ou préfixé à un objet invalide !
+
+
+
+ The insertion of the role `%1' is not possible because this is already being referenced by role `%2'!
+ L'insertion du rôle `%1 n'est pas possible car il est déjà référencé par le rôle `%2' !
+
+
+
+ Reference redundancy detected by having the role `%1' referencing the role `%2'!
+ Redondance de références détectée en ayant le rôle `%1' référençant le rôle `%2' !
+
+
+
+ The role `%1' can not be listed as a member of itself!
+ Le rôle `%1' ne peut pas être listé comme un membre de lui-même !
+
+
+
+ It's not possible to create a self generalization/copy/partition relationship! The table can not inherit or copy its own attributes or be a partition of itself!
+
+
+
+
+ Assignment of owner table which is not in the same schema as the sequence `%1'!
+ Affectation de la table propriétaire qui n'est pas dans le même schéma que la séquence `%1' !
+
+
+
+ Assignment of owner table which does not belong to the same owner of the sequence `%1'!
+ Affectation de la table propriétaire qui n'appartient pas au même propriétaire de la séquence `%1' !
+
+
+
+ Assignment of a nonexistent owner column to the sequence `%1'!
+ Affectation d'une colonne propriétaire inexistante à la séquence `%1' !
+
+
+
+ Assignment of an owner column to the sequence `%1' that is not related to any table!
+ Affectation d'une colonne propriétaire à la séquence `%1' qui n'est liée à aucune table !
+
+
+
+ Allocation of an object with invalid type!
+
+
+
+
+ Assignment of a function with invalid return type to object `%1' (%2)!
+ Affectation d'une fonction avec un type de retour invalide à l'objet `%1' (%2) !
+
+
+
+ Assignment of a function with invalid parameter(s) type(s) to object `%1' (%2)!
+ Affectation d'une fonction avec un (des) paramètre(s) non valide(s) à l'objet `%1' (%2) !
+
+
+
+ Assignment of an empty directory to object `%1' (%2)!
+ Affectation d'un répertoire vide à l'objet `%1' (%2) !
+
+
+
+ Assignment of system reserved name to the object `%1' (%2)!
+ Affectation du nom réservé au système à l'objet `%1' (%2) !
+
+
+
+ One function with invalid configuration is been used by the object `%1' (%2)!
+ Une fonction avec une configuration invalide est utilisée par l'objet `%1' (%2) !
+
+
+
+ The object `%1' (%2) can not be removed because it is being referenced by object `%3' (%4)!
+ L'objet `%1' (%2) ne peut pas être supprimé car il est référencé par l'objet `%3' (%4) !
+
+
+
+ The object `%1' (%2) can not be removed because it is being referenced by object `%3' (%4) that belongs to `%5' (%6)!
+ L'objet `%1' (%2) ne peut pas être supprimé car il est référencé par l'objet `%3' (%4) appartenant à `%5' (%6) !
+
+
+
+ The creation of the relationship `%1' between the table `%2' and `%3' can not be done because one does not have a primary key. If the relationship is of the type n-n both tables must have primary keys!
+ La création de la relation `%1' entre la table `%2' et `%3' ne peut pas être effectuée car il n'y a pas de clé primaire. Si la relation est du type n-n, les deux tables doivent avoir des clés primaires !
+
+
+
+ Unable to create a copy relationship because the column `%1' in table `%2' already exists in table `%3'!
+ Impossible de créer une relation de copie car la colonne `%1' de la table `%2' existe déjà dans la table `%3' !
+
+
+
+ Unable to create the generalization relationship because the column `%1' in table `%2' can not be merged with the column `%3' of table `%4' because they have incompatible types!
+ Impossible de créer la relation de généralisation car la colonne `%1' de la table `%2' ne peut pas être fusionnée avec la colonne `%3' de la table `%4' car ils ont des types incompatibles !
+
+
+
+ An attribute can not be added to a copy, generalization or partitioning relationship!
+
+
+
+
+ The object `%1' (%2) is referencing the object `%3' (%4) which was not found in the model!
+ L'objet `%1' (%2) fait référence à l'objet `%3' (%4) qui n'a pas été trouvé dans le modèle !
+
+
+
+ The primary key `%1' can only be allocated if declared within a block of code that defines a table or relationship!
+ La clé primaire `%1' ne peut être allouée que si elle est déclarée dans un bloc de code qui définit une table ou une relation !
+
+
+
+ There is already a permission on object `%1' (%2) which has one or more equal roles from those present on permission to be assigned to the object!
+ Il y a déjà une permission sur l'objet `%1' (%2) qui a un ou plusieurs rôles égaux à ceux présents dans l'autorisation à assigner à l'objet !
+
+
+
+ A permission is referencing the object `%1' (%2) which was not found in the model!
+ Une permission fait référence à l'objet `%1' (%2) qui n'a pas été trouvé dans le modèle !
+
+
+
+ The object `%1' (%2) can not be created because its not being assigned to any schema!
+ L'objet `%1' (%2) ne peut pas être créé car il n'est affecté à aucun schéma !
+
+
+
+ The tablespace `%1' can not be inserted into the model because it points to the same directory as the tablespace `%2'!
+ L'espace de stockage `%1' ne peut pas être inséré dans le modèle car il pointe sur le même répertoire que l'espace de table `%2' !
+
+
+
+ The function `%1' can not get a source code as a definition because its language is set to C. Use the attributes symbol and dynamic library instead!
+ La fonction `%1' ne peut pas obtenir un code source en tant que définition car sa langue est définie sur C. Utilisez plutôt le symbole d'attributs et la bibliothèque dynamique !
+
+
+
+ The function `%1' can have the attributes symbol and dynamic library configured only if the language is set to C. For all other cases you must specify a source code that defines it in the DBMS!
+ La fonction `%1' peut avoir le symbole des attributs et la bibliothèque dynamique configurés uniquement si la langue est définie sur C. Dans tous les autres cas, il faut spécifier un code source qui le définit dans le SGBD !
+
+
+
+ The operator `%1' can not be assigned as negator of operator `%2' because it has incompatible settings!
+ L'opérateur `%1' ne peut pas être affecté en tant que négateur de l'opérateur `%2' car il a des paramètres incompatibles !
+
+
+
+ The type `%1' can not self refer in the attributes `element' or `copy type' or be used as a data type of an attribute in the configuration of a composite type!
+ Le type `%1' ne peut pas se référer à lui-même dans les attributs `element' ou `copy type' ou être utilisé comme type de données d'un attribut dans la configuration d'un type composite !
+
+
+
+ Assignment of invalid element to type `%1'!
+ Affectation d'un élément invalide de type `%1' !
+
+
+
+ Assignment of invalid alignment to type `%1'!
+ Affectation de l'alignement invalide de type `%1' !
+
+
+
+ The relationship `%1' can not make use of the special primary key because it is marked as identifier or it is a self relationship!
+ La relation `%1' ne peut pas utiliser la clé primaire spéciale car elle est marquée comme identifiant ou c'est une association d'elle-même !
+
+
+
+ The object `%1' (%2) can not be edited or deleted because it was automatically included through a relationship! If the object is an attribute or constraint the modifications must be done on the relationship editing form.
+ L'objet `%1' (%2) ne peut pas être modifié ou supprimé car il a été automatiquement inclus dans une association ! Si l'objet est un attribut ou une contrainte, les modifications doivent être effectuées sur le formulaire d'édition de la relation.
+
+
+
+ The object `%1' (%2) can not be deleted because it is protected!
+ L'objet `%1' (%2) ne peut pas être supprimé car il est protégé !
+
+
+
+ The group `%1' has already been declared earlier!
+ Le groupe `%1' a déjà été déclaré !
+
+
+
+ The group `%1' can not be built in the groups declaration block (%2)!
+ Le groupe `%1' ne peut pas être construit dans le bloc de déclaration de groupe (%2) !
+
+
+
+ The group `%1' was built but not declared in the groups declaration block (%2)!
+ Le groupe `%1' a été construit mais pas déclaré dans le bloc de déclaration de groupe (%2) !
+
+
+
+ The group `%1' can not be built without possessing child elements!
+ Le groupe `%1' ne peut pas être construit sans posséder d'éléments enfants !
+
+
+
+ The group `%1' can not be built once more because this was done in previous blocks!
+ Le groupe `%1' ne peut pas être construit une fois de plus car cela a été fait dans les blocs précédents !
+
+
+
+ The group `%1' has been declared but not built!
+ Le groupe `%1' a été déclaré mais pas construit !
+
+
+
+ The new configuration of the function invalidates the object `%1' (%2)! In this case it is needed to undo the relationship between the affected object and function in order to the new configuration to take effect!
+ La nouvelle configuration de la fonction invalide l'objet `%1' (%2) ! Dans ce cas, il est nécessaire d'annuler la relation entre l'objet affecté et la fonction afin que la nouvelle configuration prenne effet !
+
+
+
+ Error while interpreting XML buffer at line %1 column %2.
+Message generated by the parser: %3. %4
+ Erreur lors de l'interprétation du tampon XML à la ligne %1, colonne %2.
+Message généré par l'analyseur : %3. %4
+
+
+
+ Attempt to start a connection already stablished!
+ Tentative de lancement d'une connexion déjà établie !
+
+
+
+ Could not connect to the database.
+Message returned: `%1'
+ Impossible de se connecter à la base de données.
+Message renvoyé : `%1'
+
+
+
+ Unable to allocate command result for the SQL because the server has generated a fatal error!
+Message returned by the DBMS: `%1'
+ Impossible d'allouer le résultat de la commande SQL car le serveur a généré une erreur fatale !
+Message renvoyé par le SGBD : `%1'
+
+
+
+ Reference to a column of a tuple which was not yet initialized (tuple navigation not started)!
+ Référence à une colonne d'un tuple qui n'a pas encore été initialisé (navigation en tuple non démarrée) !
+
+
+
+ Could not execute the SQL command.
+ Message returned: `%1'
+ Impossible d'exécuter la commande SQL.
+ Message renvoyé : `%1'
+
+
+
+ It is not possible mix ordinary references (SELECT-FROM, FROM-WHERE, After WHERE) with references used as view SQL definition!
+ Il n'est pas possible de mélanger des références ordinaires (SELECT-FROM, FROM-WHERE, Après WHERE) avec des références utilisées comme vue de définition SQL !
+
+
+
+ The object `%1' (%2) cannot reference itself! This operation is not permitted for this kind of object!
+ L'objet `%1' (%2) ne peut pas se référencer lui-même ! Cette opération n'est pas autorisée pour ce genre d'objet !
+
+
+
+ Only operator families which uses `btree' as indexing method are accepted by operator class elements!
+ Seules les familles d'opérateurs qui utilisent `btree 'comme méthode d'indexation sont acceptées par les éléments de classe d'opérateur !
+
+
+
+ Assignment of a column which has no parent table to the object `%1' (%2)!
+ Affectation d'une colonne qui n'a pas de table parent à l'objet `%1' (%2) !
+
+
+
+ The operator class assigned to the object `%1' (%2) must use `btree' as indexing method!
+ La classe d'opérateur affectée à l'objet `%1' (%2) doit utiliser` btree' comme méthode d'indexation !
+
+
+
+ The extension `%1' is registered as a data type and cannot have the attribute `handles datatype' modified!
+ L'extension `%1' est enregistrée en tant que type de données et ne peut pas avoir l'attribut `handle datatype' modifié !
+
+
+
+ The fk relationship `%1' cannot be created because the foreign-key that represents it was not created on table `%2'!
+ L'association clé étrangère `%1' ne peut pas être créée car la clé étrangère qui la représente n'a pas été créée sur la table `%2' !
+
+
+
+ Assignement of an invalid object name pattern to the relationship `%1'!
+ Affectation d'un modèle de nom d'objet invalide à la relation `%1' !
+
+
+
+ Reference to an invalid object name pattern id on the relationship `%1'!
+ Référence à un identifiant de modèle de nom d'objet invalide sur la relation `%1' !
+
+
+
+ Mixing incompatibles DBMS export modes: `ignore object duplications', `drop database' or `drop objects' cannot be used with `simulate export'!
+ Mélange incompatibles des modes d'export du SGBD : `ignore object duplications', `drop database' ou `drop objects' ne peuvent être utilisés avec `simulate export' !
+
+
+
+ Mixing incompatibles DROP options: `drop database' and `drop objects' cannot be used at the same time!
+ Mixage incompatible des options DROP : `drop database' et `drop objects' ne peuvent pas être utilisés en même temps !
+
+
+
+ Invalid object id swapping operation! The objects involved are the same!
+ Opération d'échange d'identifiant d'objet invalide ! Les objets impliqués sont les mêmes !
+
+
+
+ Invalid object id swapping operation! The database itself, tablespaces or roles cannot have the ids swapped!
+ Opération d'échange d'identifiant d'objet invalide ! La base de données elle-même, les espaces de stockage ou les rôles ne peuvent pas échanger leurs identifiants !
+
+
+
+ The widget already has a parent and cannot be assigned to a different object!
+ Le widget a déjà un parent et ne peut pas être assigné à un objet différent !
+
+
+
+ Could not load the database model file `%1'. Check the error stack to see details. Try to run `pgmodeler-cli --fix-model' in order to correct the structure of the file if that is the case.
+ Impossible de charger le fichier de modèle de base de données `%1'. Vérifiez la pile d'erreurs pour plus de détails. Essayez d'exécuter `pgmodeler-cli --fix-model' afin de corriger la structure du fichier si besoin.
+
+
+
+ The column `%1' cannot reference it's parent table `%2' as data type!
+ La colonne `%1' ne peut pas référencer sa table parent `%2' comme type de données !
+
+
+
+ Operation with an invalid element id `%1'!
+ Opération avec un identifiant d'élément invalide `%1' !
+
+
+
+ Reference to an invalid color id `%1' for element `%2'!
+ Référence à un identifiant de couleur invalide `%1' pour l'élément `%2' !
+
+
+
+ The sequence `%1' can't be assigned to the column `%2' because the data type of the latter is incompatible. The type used must be an integer one!
+ La séquence `%1' ne peut pas être affectée à la colonne `%2' car le type de données de cette dernière est incompatible. Le type utilisé doit être un entier !
+
+
+
+ The option to generate temporary object names can only be used in simulation mode!
+ L'option de génération de noms d'objets temporaires ne peut être utilisée qu'en mode simulation !
+
+
+
+ Could not assign the variable `%1' to event trigger's filter. Currently, PostgreSQL supports only the `TAG' variable!
+ Impossible d'affecter la variable `%1 'au filtre du déclencheur d'événement. Actuellement, PostgreSQL supporte uniquement la variable `TAG' !
+
+
+
+ Malformed unescaped value on row `%1' column `%2'!
+ Valeur non echappée malformée à la ligne `%1', colonne `%2' !
+
+
+
+ The object `%1' (%2) can't be handled because some needed fields are not set! Please, make sure to fill at least the requires fields in order to properly create or update the object.
+ L'objet `%1' (%2) ne peut pas être manipulé car certains champs nécessaires ne sont pas définis ! Merci de vous assurer de remplir au moins les champs requis afin de créer ou de mettre à jour correctement l'objet.
+
+
+
+ A relationship can only be swapped by other object of the same kind!
+ Une association ne peut être permutée que par un autre objet du même genre !
+
+
+
+ Assignment of a null type to object `%1' (%2)!
+ Affectation d'un type nul à l'objet `%1' (%2) !
+
+
+
+ Unable to create the generalization relationship because the constraint `%1' in table `%2' can not be merged with the constraint `%3' of table `%4' due to their incompatible composition!
+ Impossible de créer l'association de généralisation car la contrainte `%1' de la table `%2' ne peut pas être fusionnée avec la contrainte `%3' de la table `%4' en raison de leurs compositions incompatibles !
+
+
+
+ Unable to write the file or directory `%1'! Make sure that the path exists and the user has write permissions over it!
+
+
+
+
+ Unable to write the file `%1' due to one or more errors in the definition generation process!
+ Impossible d'écrire le fichier `%1' en raison d'une ou de plusieurs erreurs dans le processus de génération de définition !
+
+
+
+ The configuration of the relationship `%1' generates a redundancy between the relationships `%2'. Redundancy on identifier or generalization/copy relationships are not accepted since they result in incorrect column spreading making the model inconsistent!
+ La configuration de la relation `%1' génère une redondance entre les associations `%2 . La redondance sur l'identificateur ou les relations de généralisation/copie de l'association ne sont pas acceptées car elles entraînent une répartition incorrecte des colonnes, ce qui rend le modèle incohérent !
+
+
+
+ It is not possible to create arrays sequences (dimension >= 1)! PostgreSQL does not yet implement this feature!
+
+
+
+
+ The operator `%1' can not be assigned as a commutator of operator `%2' because it has incompatible settings!
+
+
+
+
+ A view reference should be used in at least one of these SQL scopes: View Definition, SELECT, FROM, WHERE or GROUP/HAVING!
+
+
+
+
+ Invalid syntax in file `%1', line %2, column %3!
+ Syntaxe non valide dans le fichier `%1', ligne %2, colonne %3!
+
+
+
+ Invalid instruction `%1' on file `%2', line %3, column %4!
+ Instruction invalide `%1' dans le fichier `%2', ligne `%3', colonne `%4' !
+
+
+
+ Unknown attribute `%1' in file `%2', line %3, column %4!
+ Attribut inconnu `%1' dans le fichier `%2', ligne `%3', colonne `%4' !
+
+
+
+ Invalid metacharacter `%1' in file `%2', line %3, column %4!
+ Métacaractère invalide `%1' dans le fichier `%2', ligne `%3', colonne `%4' !
+
+
+
+ Invalid operator `%1' in comparison expression, file `%2', line %3, column %4!
+ Opérateur invalide `%1' dans l'expression de comparaison, fichier `%2', ligne`%3', colonne `%4' !
+
+
+
+ Attribute `%1' with an undefined value in file `%2', line %3, column %4!
+ L'attribut `%1' a une valeur non définie dans le fichier `%2', ligne`%3', colonne `%4' !
+
+
+
+ Attribute `%1' with an invalid name in file `%2', line %3, column %4!
+ L'attribut `%1' a un nom invalide dans le fichier `%2', ligne`%3', colonne `%4' !
+
+
+
+ Could not access the file or directory `%1'! Make sure that it exists or if the user has access permissions on it!
+ Impossible d'acceder au fichier ou fossier `%1' ! Vérifiez qu'il existe et que l'utilisateur à les droits d'écritures !
+
+
+
+ Could not load file `%1'. The same appears to be inconsistent or one of its dependencies (DTD files) has errors or is missing!
+ Impossible de charger le fichier `%1'. La même chose semble être incohérente ou l'une de ses dépendances (fichiers DTD) a des erreurs ou est manquante !
+
+
+
+ Reference to a tuple with an invalid index or the result is empty (no tuples)!
+ Référence à un tuple avec un index invalide ou le résultat est vide (pas de tuple) !
+
+
+
+ Invalid use of a view reference as whole SQL definition! The assigned reference must be an expression!
+ Utilisation invalide d'une référence de vue comme définition SQL entière ! La référence affectée doit être une expression !
+
+
+
+ At the moment pgModeler does not support the creation of primary keys which some columns were generated by relationship connection. To create primary keys with this feature you can use the field `Identifier' or the tab `Primary key' on relationship editing form!
+ Actuellement pgModeler ne supporte pas la création de clés primaires dont certaines colonnes ont été générées par la connection d'associations. Pour créer des clés primaires avec cette fonctionnalité, vous pouvez utiliser le champ `Identifier' ou l'onglet `Primary key' sur le formulaire d'édition de relation !
+
+
+
+ The copy relationship between the tables `%1' and `%2' cannot be done because the first one already copies attributes from `%3'! Tables can have only one copy table!
+
+
+
+
+ The paritioning relationship between the tables `%1' and `%2' cannot be done because the first one is already a partition of the table `%3'! Partition tables can be participating of only one partition hierarchy at a time!
+
+
+
+
+ The relationship between the tables `%1' and `%2' can't be created because one of the entities is part of a partitioning hierachy! The table `%3' can't be used in `generalization', `copy' and `one-to-one' relationships. In `one-to-many' and `many-to-many' relationships the mentioned table can't be referenced by the generated foreign key(s).
+
+
+
+
+ Reference to a function id which is incompatible with the user define type configuration!
+ Référence à un identifiant de fonction incompatible avec la configuration du type de définition de l'utilisateur !
+
+
+
+ Unsupported PostgreSQL version (%1) detected! Valid versions are between %2 and %3.
+ Version PostgreSQL non prise en charge (%1) détectée! Les versions valides sont comprises entre %2 et %3.
+
+
+
+ Invalid use of variadic parameter mode! This mode can be used only with an array or "any" data type!
+ Utilisation invalide du mode paramètre variadique ! Ce mode ne peut être utilisé qu'avec un tableau ou un type de données "any" !
+
+
+
+ The object `%1' (%2), oid `%3', could not be imported due to one or more errors! Check the exception stack for more details. `HINT:' if the object somehow references objects in `pg_catalog' or `information_schema' consider enable the importing of system objects.
+ L'objet `%1 '(%2), oid `%3', n'a pu être importé en raison d'au moins une erreur ! Vérifiez la pile d'exceptions pour plus de détails. `REMARQUE : 'Si l'objet référence d'une manière ou d'une autre les objets dans` pg_catalog' ou `information_schema ', envisagez d'importer les objets système.
+
+
+
+ Assignment of an invalid object to `%1' (%2)! The assigned object must be of type `%3'.
+ Affectation d'un objet invalide à `%1' (%2) ! L'objet affecté doit être de type `%3'.
+
+
+
+ It's not possible convert the type of the column `%1' to serial! It must have an `integer' based type and its default value must be a call to `nextval(seq_name::regclass)' function or a sequence object must be directly assigned to the column!
+ Il n'est pas possible de convertir le type de la colonne `%1' en série ! Il doit avoir un type basé sur `integer' et sa valeur par défaut doit être un appel à la fonction `nextval (seq_name::regclass)' ou un objet séquence doit être directement assigné à la colonne !
+
+
+
+ Could not perform the `%1' operation on `%2' using the data on row `%3'! All changes were rolled back.
+
+ ** Returned error **
+
+%4
+ Impossible d'exécuter l'opération `%1 'sur `%2' en utilisant les données de la ligne `%3 '! Tous les changements ont été annulés.
+
+ ** Erreur retournée **
+
+%4
+
+
+
+ Trying to undo/redo an invalid operation over an object that does not exists anymore or can't be handled! The operation history will be cleaned up.
+ Tentative d'annulation/de rétablissement d'une opération invalide sur un objet qui n'existe plus ou ne peut plus être géré ! L'historique des opérations sera nettoyé.
+
+
+
+ A parent table of `%1' which OID is `%2' was not found in the set of imported objects!
+ Une table parente de `%1' dont l'OID est `%2' n'a pas été trouvée dans l'ensemble des objets importés !
+
+
+
+ The enumeration `%1' can't be assigned to the type `%2' because contains invalid characters!
+ L'énumération `%1' ne peut pas être affectée au type `%2' car elle contient des caractères non valides !
+
+
+
+ The enumeration `%1' can't be assigned to the type `%2' because is too long!
+ L'énumération `%1' ne peut pas être affectée au type `%2' car elle est trop longue !
+
+
+
+ The connection was idle for too long and was automatically closed!
+ La connexion était inactive depuis trop longtemps et a été automatiquement fermée !
+
+
+
+ The connection was unexpectedly closed by the database server `%1' at port `%2'!
+ La connexion a été fermée de manière inattendue par le serveur de la base de données `%1' sur le port `%2' !
+
+
+
+ Unable to create a partition relationship because the partion table `%1' is not empty or has columns that are not present on the partitioned table `%2'!
+
+
+
+
+ Unable to create a partition relationship between the tables `%1' (partition) and `%2' (partitioned) because no partitioning type is defined on the latter!
+
+
+
+
+ Invalid amount of partition keys being assinged to the table `%1'! Multiples partition keys are allowed only on `HASH' and `RANGE' partitioning strategies.
+
+
+
+
+ A partition key of the table `%1' is referencing the object `%3' (%4) which was not found in the model!
+
+
+
+
+ The column `%1' can't be assigned to a partition key because it was created by a relatinship and this kind of operation is not yet supported! HINT: create the column manually on the table and then create the partition key using it.
+
+
+
+
+ The column `%1' on the table `%2' can't be removed because it is being referenced by one or more patition keys!
+
+
+
+
+ Assignment of an option to the object with an invalid name!
+
+
+
+
+ Assignment of an invalid name to the object reference!
+
+
+
+
+ Assignment of a not allocated object to the object reference!
+
+
+
+
+ The object reference name `%1' is already defined!
+
+
+
+
+ A zero-byte file was detected while saving to `%1'. In order to avoid data loss the original contents of the file prior to the last saving was restored and a security copy kept on `%2'. You can copy that backup file to a safe place as a last resort to avoid the complete data loss! Note that the backup file will be erased when the application is closed.
+
+
+
+
+ The object `%1' (%2) can't be assigned to the foreign table `%3' because it's unsupported! Foreign tables only accepts columns, check constraints and triggers.
+
+
+
+
+ The creation of the relationship `%1' between the tables `%2' and `%3' can't be done because one of the entities is a foreign table. Foreign tables can only be part of a inheritance, copy or partitioning relationship!
+
+
+
+
+ The creation of the copy relationship `%1' between the tables `%2' and `%3' can't be done because a foreign table is not allowed to copy table columns!
+
+
+
+
+ Failed to save the data dictionary into `%1'! Make sure that the provided path points to a directory or if the user has write permissions over it!
+
+
+
+
+ ** Another %1 error(s) were suppressed due to stacktrace size limits.
+
+
+
+
+
+
+ ExtensionWidget
+
+
+ Version:
+ Version :
+
+
+
+ Old Version:
+ Ancienne version :
+
+
+
+ This attribute cannot be changed once the object is created.
+ Cet attribut ne peut être modifié une fois l'objet créé.
+
+
+
+ Handles data type
+ Gérer les types de données
+
+
+
+ FindReplaceWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Hide this widget
+
+
+
+
+ ...
+ ...
+
+
+
+ Replace one occurrence
+ Remplace une occurrence
+
+
+
+ Replace
+ Remplacer
+
+
+
+ Replace all occurrences
+ Remplace toutes les occurrences
+
+
+
+ Replace All
+ Remplacer tout
+
+
+
+ Replace the selection and find the next one
+ Remplacer l'occurrence courante et trouver le suivant
+
+
+
+ Replace && Find
+ Remplacer && Suivant
+
+
+
+ Replace:
+ Remplacer par :
+
+
+
+ Find:
+ Recherche :
+
+
+
+ Find previous
+ Précédent
+
+
+
+ Shift+F3
+ Maj+F3
+
+
+
+ Find next
+ Suivant
+
+
+
+ F3
+ F3
+
+
+
+ Case sensitive
+ Respecter la casse
+
+
+
+ Regular expression
+ Expression régulière
+
+
+
+ Whole words
+ Mots entier
+
+
+
+ ForeignDataWrapperWidget
+
+
+ Validator:
+
+
+
+
+ Handler:
+
+
+
+
+ Options
+ Options
+
+
+
+ The handler function must have the following signature: <strong>fdw_handler</strong> <em>function_name</em>()
+
+
+
+
+ The validator function must have the following signature: <em>function_name</em>(<strong>text[]</strong>,<strong>oid</strong>). The return type of ths function is ignored.
+
+
+
+
+ Option
+
+
+
+
+ Value
+ Valeur
+
+
+
+ ForeignServerWidget
+
+
+ Version:
+ Version :
+
+
+
+ FDW:
+
+
+
+
+ Type:
+ Type :
+
+
+
+ Options
+ Options
+
+
+
+ Option
+
+
+
+
+ Value
+ Valeur
+
+
+
+ ForeignTable
+
+
+ new_foreign_table
+
+
+
+
+ FunctionWidget
+
+
+ Attributes
+ Attributs
+
+
+
+ Function Type:
+ Type de fonction :
+
+
+
+ Execution Cost:
+ Coût d'exécution :
+
+
+
+ Rows Returned:
+ Lignes retournées :
+
+
+
+ Behavior:
+ Comportement :
+
+
+
+ Security:
+ Sécurité :
+
+
+
+ Return Method:
+ Type de retour :
+
+
+
+ Set
+ Multiple
+
+
+
+ Return Table
+ Table de retour
+
+
+
+ Windown Func.
+ Fonct. fenêtrage.
+
+
+
+ Leakproof
+ Leakproof
+
+
+
+ Parameters
+ Arguments
+
+
+
+ Definition
+ Définition
+
+
+
+ Dynamic Library:
+ Bibliothèque dynamique :
+
+
+
+ Symbol:
+ Symbole :
+
+
+
+ Library:
+ Bibliothèque :
+
+
+
+ Source code:
+ Code source :
+
+
+
+ Column
+ Colonne
+
+
+
+
+ Type
+
+
+
+
+ Name
+ Nom
+
+
+
+ Mode
+
+
+
+
+ Default Value
+ Valeur par défaut
+
+
+
+ Si&mple
+ Si&mple
+
+
+
+ Tab&le
+ Tab&le
+
+
+
+ Language:
+ Langage :
+
+
+
+ GeneralConfigWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Milimeters
+ Millimètres
+
+
+
+ Pixels
+ Pixels
+
+
+
+ Inches
+ Pouces
+
+
+
+ Centimeter
+ Centimètres
+
+
+
+ A0 (841 x 1189 mm)
+ A0 (841 x 1189 mm)
+
+
+
+ General && Design
+ Général && modélisation
+
+
+
+ Check if there is a new version on server
+ Vérifier la présence d'une nouvelle version au lancement
+
+
+
+ Design
+ Modélisation
+
+
+
+ Save and restore last position and zoom
+ Sauvegarder la position et le zoom
+
+
+
+ Disable render smoothness
+ Désactiver l'anticrénelage
+
+
+
+ Hide the object that represents the relationship name
+ Masque l'étiquette indiquant le nom de chaque association.
+
+
+
+ Validate before save, export or diff
+ Validation du modèle exigée pour sauvegarder, exporter ou comparer
+
+
+
+ Hide the object which represents the tag assigned to the table
+ Masquer l'objet qui représente la balise affectée à la table.
+
+
+
+ Enable SQL code completion
+ Activer la complétion du code SQL
+
+
+
+ Printing && Code
+ Impression && édition
+
+
+
+ Size:
+ Taille :
+
+
+
+ pt
+ pt
+
+
+
+ Font:
+ Police :
+
+
+
+ Hide relationship name
+ Masquer le nom des associations
+
+
+
+ Hide table extended attributes
+ Masquer les attributs étendus des tables
+
+
+
+ Paper:
+ Papier :
+
+
+
+ Orientation:
+ Orientation :
+
+
+
+ General
+ Général
+
+
+
+ Hide table tags
+ Masquer les balises des tables
+
+
+
+ Printing
+ Impression
+
+
+
+
+ Options:
+ Options :
+
+
+
+ Attributes per page:
+
+
+
+
+ <p>These spinners define the minimum amount of attributes visible per page in each section of tables and views when the pagination is enabled on them. The first one controls the amount of columns per page. The second defines the amount of extended attributes (constraints, indexes, trigger, rules, policies) displayed per page.</p>
+
+
+
+
+ <p>Defines the minimum amount of attributes visible per page on tables and view when the pagination is enabled on these objects.</p>
+
+
+
+
+ <p>Defines the minimum opacity percentage applied to the objects when using the fade out feature. A zero opacity causes the object to be completely hidden not being possible to interact with it in the canvas area.</p>
+
+
+
+
+ <p>Defines the period when the opened models will be saved automatically. The temporary models saving period will be defined as the half of the value defined here. If the autosave is disabled the temporary models saving will occur in a period of 5 minutes.</p>
+
+
+
+
+ Operation history size:
+
+
+
+
+ <p>Defines the maximum amount of elements held in the operation history. Once reached the maximum number the history is automatically cleaned.</p>
+
+
+
+
+ <p>Defines the vertical and horizontal grid size. This value affects the spacing of objects when using the feature that aligns the objects on the grid. </p>
+
+
+
+
+ <p>Graphical objects (table, views and textboxes) will be created in a single step without the need to click on canvas </p>
+
+
+
+
+ Simplify the creation of graphical objects
+
+
+
+
+ <p>When enabled this option creates a placeholder object at the previous table's position when starting to move it. This will cause graphical updates on relationship lines to be performed only when the drag & drop action is done improving the performance. Disabling placeholders will cause those updates to be executed every time the table's position changes a single pixel (classical behavior).</p>
+
+
+
+
+ <p>After loading the model the last zoom and position on canvas will be restored</p>
+
+
+
+
+ <p>By default the range selection is triggered with Shift + left click. By checking this option range selection will be activated only with a single click and move.</p>
+
+
+
+
+ Hide the portion of table which represents triggers, indexes and rules.
+
+
+
+
+ <p>Triggers a dialog asking the user to validate the model before a save, export or diff operation.</p>
+
+
+
+
+ Move canvas by keeping the mouse on corners
+
+
+
+
+ <p> Disable the antialiasing for lines and texts improving performance when handling huge models.</p>
+
+
+
+
+ <p>Forces the escaping of line breaks and tabulations in objects' comments during SQL code generation. This option produces a more compact SQL code since all comments will be presented in one line. Despite changing the presentation this option doesn't affect the final semantics of multilined comments.</p>
+
+
+
+
+ Escape objects' comments in SQL code
+
+
+
+
+ Save/restore dialogs sizes
+
+
+
+
+ Reset the dialogs sizes and positions to their default values.
+
+
+
+
+ Reset sizes
+
+
+
+
+ <p>Reduces the verbosity of the export, import and diff process causing only key info messages and errors to be displayed. This option causes less rendering operations to be performed when displaying progress messages and, as a consequence, it makes these processes run faster.</p>
+
+
+
+
+ Low verbosity for the export, import and diff processes
+
+
+
+
+ Print grid
+ Imprimer la grille
+
+
+
+ A1 (594 x 841 mm)
+
+
+
+
+ A2 (420 x 594 mm)
+
+
+
+
+ A3 (297 x 420 mm)
+
+
+
+
+ A4 (210 x 297 mm)
+
+
+
+
+ A5 (148 x 210 mm)
+
+
+
+
+ A6 (105 x 148 mm)
+
+
+
+
+ A7 (74 x 105 mm)
+
+
+
+
+ A8 (52 x 74 mm)
+
+
+
+
+ A9 (37 x 52 mm)
+
+
+
+
+ B0 (1030 x 1456 mm)
+
+
+
+
+ B1 (728 x 1030 mm)
+
+
+
+
+ B10 (32 x 45 mm)
+
+
+
+
+ B2 (515 x 728 mm)
+
+
+
+
+ B3 (364 x 515 mm)
+
+
+
+
+ B4 (257 x 364 mm)
+
+
+
+
+ B5 (182 x 257 mm)
+
+
+
+
+ B6 (128 x 182 mm)
+
+
+
+
+ B7 (91 x 128 mm)
+
+
+
+
+ B8 (64 x 91 mm)
+
+
+
+
+ B9 (45 x 64 mm)
+
+
+
+
+ C5E (163 x 229 mm)
+
+
+
+
+ Comm10E (105 x 241 mm)
+
+
+
+
+ DLE (110 x 220 mm)
+
+
+
+
+ Executive (191 x 254 mm)
+
+
+
+
+ Folio (210 x 330 mm)
+
+
+
+
+ Ledger (432 x 279 mm)
+
+
+
+
+ Legal (216 x 356 mm)
+
+
+
+
+ Letter (216 x 279 mm)
+
+
+
+
+ Tabloid (279 x 432 mm)
+
+
+
+
+ Custom
+ Personnalisé
+
+
+
+ Unity:
+ Unité :
+
+
+
+ Custom Size:
+ Taille papier :
+
+
+
+ Width:
+ Largeur :
+
+
+
+ Height:
+ Hauteur :
+
+
+
+ Page Margins:
+ Marges :
+
+
+
+ Left:
+ Gauche :
+
+
+
+ Left margin
+ Marge de gauche
+
+
+
+ Top:
+ Haut :
+
+
+
+ Top margin
+ Marge du haut
+
+
+
+ Right:
+ Droite :
+
+
+
+ Right margin
+ Marge de droite
+
+
+
+ Bottom:
+ Bas :
+
+
+
+ Bottom margin
+ Marge du bas
+
+
+
+ Landscape
+ Paysage
+
+
+
+ Portrait
+ Portrait
+
+
+
+ Print page numbers
+ Imprimer les numéros de page
+
+
+
+ Start move the canvas when the cursor is on the canvas edges
+ Commencer à déplacer le canevas lorsque le curseur se trouve sur les bords de celui-ci.
+
+
+
+ Use placeholders when moving tables
+ Utiliser des espaces réservés lors du déplacement de tables
+
+
+
+ Toggles the code completion in all fields that accepts the input of SQL commands.
+ (Dés)active l'achèvement du code dans tous les champs qui acceptent les commandes SQL en entrée.
+
+
+
+ Code style
+ Style du code
+
+
+
+ Colors:
+ Couleurs :
+
+
+
+ Display line numbers
+ Afficher les numéros de ligne
+
+
+
+ Highlight lines at cursor's position
+ Surligner les lignes à la position du curseur
+
+
+
+ Custom tab width:
+ Largeur d'onglet personnalisé :
+
+
+
+ Line numbers' font color
+ Couleur de la police des numéros de ligne
+
+
+
+ Line numbers' background color
+ Couleur d'arrière-plan des numéros de ligne
+
+
+
+ Highlighted line color
+ Couleur de la ligne en surbrillance
+
+
+
+ The little brown fox jumps over the lazy dog
+ Le petit renard brun saute par-dessus le chien paresseux
+
+
+
+ System default
+ Défaillance du système
+
+
+
+ All files (*.*)
+ Tous les fichiers (*.*)
+
+
+
+ Load file
+ Charger un fichier
+
+
+
+ This action will reset all dialogs to their default size and positions on the screen! Do you really want to proceed?
+
+
+
+
+ Minimum object opacity (%):
+ Opacité min. des objets (%) :
+
+
+
+ Canvas grid size:
+ Taille de grille du canevas :
+
+
+
+ Trigger range selection with a single click
+ Déclenchement de la sélection en un clic
+
+
+
+ Autosave interval (minutes):
+ Intervalle sauv. auto :
+
+
+
+ Replaces any straight line in relationship by curved ones in order to improve the model's visualization.
+ Remplace les lignes droites des relations par des courbes pour améliorer la lisibilité du modèle.
+
+
+
+ Use curved lines for relationships
+ Utiliser des lignes courbes pour les associations
+
+
+
+ SQL history max. length:
+ Longueur max. de l'historique SQL :
+
+
+
+ Souce code editor:
+ Éditeur de code source :
+
+
+
+ lines
+ lignes
+
+
+
+ Clear the entire SQL comand history.
+ Nettoyer complètement l'historique des commandes SQL.
+
+
+
+ Clear history
+ Nettoyer l'historique
+
+
+
+ Configurations directory:
+ Dossier de configuration :
+
+
+
+ Browse the source code editor application
+ Rechercher l'éditeur de code source
+
+
+
+ Open in file manager
+ Ouvrir dans le gestionnaire de fichier
+
+
+
+ Check updates at startup
+ Vérifier MAJ au démarrage
+
+
+
+ Souce code editor args:
+ Arg. pour l'éditeur de code source :
+
+
+
+ User interface language:
+ Langue de l'interface graphique :
+
+
+
+ Overrides the default user interface language defined by the system. Requires restarting the program. <strong>NOTE:</strong> UI translations are third party collaborations thus any typo or mistake should be reported directly to their respective maintainers.
+ Remplace la langue de l'interface utilisateur définie par défaut par le système. Nécessite de redémarrer le programme. <strong>REMARQUE :</strong> les traductions de l'interface utilisateur sont des collaborations avec des tiers; par conséquent, toute faute de frappe ou erreur doit être signalée directement à leurs responsables respectifs.
+
+
+
+ GenericSQLWidget
+
+
+ SQL code
+ Code SQL
+
+
+
+ References
+ Référence
+
+
+
+ Object:
+ Objet :
+
+
+
+ Ref. name:
+
+
+
+
+ <p>The name of the reference to an object. All occurences of the reference enclosed by <strong>{}</strong> are replaced by the referenced object's name or signature in the generic SQL object's code.</p>
+
+
+
+
+ <p>Use the referenced object's signature instead of its name. For some objects like functions, casts, operators and some others the signature will include parameters types and some other information.</p>
+
+
+
+
+ Use signature
+
+
+
+
+ <p>The referenced object's name or signature will be automatically quoted when special characters are found. Additionally, for schema qualified objects, the name of the parent schema is prepended to the referenced object's name or signature. This will avoid common SQL syntax errors or loss of semantics.</p>
+
+
+
+
+
+ Format name
+
+
+
+
+ Preview
+
+
+
+
+ Ref. name
+
+
+
+
+ Object
+ Objet
+
+
+
+ Type
+ Type
+
+
+
+ Signature
+ Signature
+
+
+
+
+
+
+ Yes
+ Oui
+
+
+
+ No object name, SQL code or references defined! Preview unavailable.
+
+
+
+
+
+ No
+ Non
+
+
+
+ HintTextWidget
+
+
+ Form
+ Formulaire
+
+
+
+ IndexWidget
+
+
+ Attributes
+ Attributs
+
+
+
+ Indexing:
+ Indexation :
+
+
+
+ Fill Factor:
+ Taux de remplissage :
+
+
+
+ Options:
+ Options :
+
+
+
+ Concurrent
+ Concurrent
+
+
+
+ Unique
+ Unique
+
+
+
+ Fast update
+ Mise à jour rapide
+
+
+
+ Elements
+ Éléments
+
+
+
+ Buffering
+ Mémoire tampon
+
+
+
+ Predicate:
+ Prédicat :
+
+
+
+ LanguageWidget
+
+
+ Trusted:
+ De confiance :
+
+
+
+ The functions to be assigned to the language should have, respectively, the following signatures:<br/><br/> <strong>Handler Function:</strong> <em>language_handler function()</em><br/> <strong>Validator Function:</strong> <em>void function(oid)</em><br/> <strong>Inline Function:</strong> <em>void function(internal)</em>
+ Les fonctions attribuées au langage doivent avoir respectivement les signatures suivantes :<br/><br/> <strong>Fonction de gestion :</strong> <em>language_handler function()</em><br/> <strong>Fonction de validation :</strong> <em>void function(oid)</em><br/> <strong>Fonction sur une ligne :</strong> <em>void function(internal)</em>
+
+
+
+ Validator Func.:
+ Fonc. de validation :
+
+
+
+ Handler Func.:
+ Fonc. gestionnaire :
+
+
+
+ Inline Func.:
+ Fonc. en ligne :
+
+
+
+ LayersWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Remove all layers
+ Effacer toutes les couches
+
+
+
+ Delete all
+ Effacer tout
+
+
+
+
+ Shift+Del
+ Shift+Del
+
+
+
+ Hide this widget
+ Fermer ce widget
+
+
+
+ ...
+ ...
+
+
+
+ Add a new layer
+ Ajouter une nouvelle couche
+
+
+
+ Add
+ Ajouter
+
+
+
+ Ins
+ Ins
+
+
+
+ Remove the selected layer
+ Efface la couche sélectionnée
+
+
+
+ Delete
+ Effacer
+
+
+
+ This action will delete all layers (except the default one) and the objects in them will be moved to the default layer. Do you want to proceed?
+ Cette opération supprimera toutes les couches (à l'exception de celle par défaut) et tous leurs objets seront déplacés dans celle-ci. Souhaitez-vous continuer ?
+
+
+
+ Delete the selected layer will cause objects in it to be moved to the default layer. Do you want to proceed?
+ Supprimer la couche sélectionnée provoquera le déplacement de ses objets dans la couche par défaut. Souhaitez-vous continuer ?
+
+
+
+ New layer
+ Nouvelle couche
+
+
+
+ MainWindow
+
+
+ pgModeler - PostgreSQL Database Modeler
+ pgModeler – Modeleur de bases de données PostgreSQL
+
+
+
+ &Validation
+
+
+
+
+ Alt+V
+
+
+
+
+ Ctrl+F
+
+
+
+
+ Alt+O
+
+
+
+
+ Alt+B
+
+
+
+
+ &File
+ &Fichier
+
+
+
+ &Edit
+ Édit&ion
+
+
+
+ &Show
+ &Affichage
+
+
+
+ Plugins
+ Extensions
+
+
+
+ New
+ Nouveau
+
+
+
+ Controls
+ Contrôles
+
+
+
+ General
+ Général
+
+
+
+ Ctrl+N
+ Ctrl+N
+
+
+
+ Ctrl+S
+ Ctrl+S
+
+
+
+ Zoom in
+ Zoom +
+
+
+
+ Ctrl+=
+ Ctrl+=
+
+
+
+ Zoom out
+ Zoom -
+
+
+
+ Zoom -
+ Zoom -
+
+
+
+ Find objects
+ Rechercher des objets
+
+
+
+ Layers
+ Couches
+
+
+
+ Ctrl+-
+ Ctrl+-
+
+
+
+ Ctrl+O
+ Ctrl+O
+
+
+
+ Ctrl+Q
+ Ctrl+Q
+
+
+
+ Export the current opened model in different modes
+ Exporter le modèle courant sous différentes formes
+
+
+
+ Close current model
+ Fermer le modèle courant
+
+
+
+ Ctrl+H
+ Ctrl+H
+
+
+
+ Edit pgModeler settings
+ Configurer pgModeler
+
+
+
+ F10
+ F10
+
+
+
+ Access the list of loaded plugins
+ Accéder à la liste des extensions chargées
+
+
+
+ Load recently opened model
+ Charger des modèles ouverts récemment
+
+
+
+ Import existing database to new model (reverse engineering)
+ Importer une base de données existante vers un modèle (reverse engineering)
+
+
+
+ Ctrl+Shift+I
+ Ctrl+Maj+I
+
+
+
+ &Model's structure
+ Réparer un m&odèle
+
+
+
+ Performs the model structure fix routine
+ Routine de récupération des fichiers modèles corrompus
+
+
+
+ New version found!
+ Nouvelle version disponible !
+
+
+
+ Update for the current version is available on project's site
+ Une mise à jour pour votre version est disponible sur le site de pgModeler
+
+
+
+ Main menu
+ Menu principal
+
+
+
+ Show expanded
+ Afficher la barre de menus
+
+
+
+ Hide main menu
+ Cacher la barre de menus
+
+
+
+ Hides the main menu bar and put the action on a separated action
+ Masque la barre de menu (le menu reste accessible via un bouton dans la barre d'outils)
+
+
+
+ Ctrl+Shift+H
+ Ctrl+Maj+H
+
+
+
+ Welcome
+ Accueil
+
+
+
+ Welcome screen
+ Écran d'accueil
+
+
+
+ Design
+ Modéliser
+
+
+
+ Manage
+ Administrer
+
+
+
+ Manage existent databases
+ Administrer des bases existantes
+
+
+
+ O&bjects
+ O&bjets
+
+
+
+ &Operations
+ &Opérations
+
+
+
+ Ctrl+Shift+S
+ Ctrl+Maj+S
+
+
+
+ Show grid
+ Afficher la grille
+
+
+
+ Align objects position to grid
+ Aligner les objets sur la grille
+
+
+
+ Show the page delimiters
+ Afficher les délimiteurs de page
+
+
+
+ Save all
+ Tout enregistrer
+
+
+
+ Show the model overview
+ Afficher la vue d'ensemble du modèle
+
+
+
+ Clear Menu
+ Vider le menu
+
+
+
+ The demonstration version can create only `one' instance of database model!
+ La version de démonstration ne peut gérer qu'une seule instance de modèle de base de données !
+
+
+
+
+ Save model
+ Enregistrer le modèle
+
+
+
+
+ Warning
+ Avertissement
+
+
+
+ Save '%1' as...
+ Enregistrer '%1' sous...
+
+
+
+
+ Database model (*.dbm);;All files (*.*)
+ Modèle de base de données (*.dbm);; Tous les fichiers (*.*)
+
+
+
+ Database model printing
+ Impression du modèle de base de données
+
+
+
+ Save anyway
+ Sauvegarder quand même
+
+
+
+
+
+ Validate
+ Valider
+
+
+
+ Changes were detected in the definitions of paper/margin of the model which may cause the incorrect print of the objects. Do you want to continue printing using the new settings? To use the default settings click 'No' or 'Cancel' to abort printing.
+ Des modifications ont été détectées dans les définitions du papier ou des marges du modèle ce qui pourrait causer une mauvaise impression des objets. Souhaitez-vous continuer l'impression avec les nouveaux paramètres ? Pour utiliser les paramètres par défaut cliquez sur 'Non' ou sur 'Annuler' pour interrompre l'impression.
+
+
+
+ Load model
+ Charger un modèle
+
+
+
+ Could not load the database model file `%1'. Check the error stack to see details. You can try to fix it in order to make it loadable again.
+ Impossible de charger le ficher modèle de base de données `%1'. Consultez la pile d'appel pour plus de détails. Essayez de réparer le modèle pour tenter de l'ouvrir à nouveau.
+
+
+
+ Fix model
+ Réparer un modèle
+
+
+
+ Cancel
+ Annuler
+
+
+
+ Toggle the model objects widget
+ (Dés)activer le widget des objets du modèle
+
+
+
+ Toogle the model validation widgets
+ (Dés)activer le widget de validation du modèle
+
+
+
+ Toggle the operation history widget
+ (Dés)activer le widget de l'historique des opérations
+
+
+
+
+ Toggle the object finder
+ (Dés)activer le chercheur d'objet
+
+
+
+ action_main_menu
+ action_menu_principal
+
+
+
+ Expands the main menu bar in classical mode
+ Développe la barre de menus principale en mode classique
+
+
+
+ Saving temp. models
+ Sauvegarde temp. des modèles
+
+
+
+ Grid
+ Grille
+
+
+
+ Hierarchical
+ Hiérarchique
+
+
+
+ Scattered
+ Dispersé
+
+
+
+ (Demo)
+ (Démo)
+
+
+
+ You're running a demonstration version! The model saving feature is available only in the full version!
+ Vous utilisez une version de démonstration ! La fonctionnalité d'enregistrement du modèle est uniquement disponible dans la version complète !
+
+
+
+
+
+ Confirmation
+
+
+
+
+ <strong>WARNING:</strong> The model <strong>%1</strong> is invalidated! It's recommended to validate it before save in order to create a consistent model otherwise the generated file will be broken demanding manual fixes to be loadable again!
+ <strong>AVERTISSEMENT :</strong> Le modèle <strong>%1</strong> n'a pas été validé ! Il est recommandé de le valider avant de l'enregistrer afin de créer un modèle cohérent, sinon il peut en résulter un fichier cassé nécessitant une réparation manuelle pour être chargé à nouveau chargeable !
+
+
+
+ <strong>WARNING:</strong> The model <strong>%1</strong> is invalidated! Before run the export process it's recommended to validate in order to correctly create the objects on database server!
+ <strong>AVERTISSEMENT :</strong> Le modèle <strong>%1</strong> n'a pas été validé ! Avant de procéder à un export il est recommandé de le valider afin de s'assurer de correctement créer les objets sur le serveur de base de données !
+
+
+
+ Export anyway
+ Exporter quand même
+
+
+
+ <strong>WARNING:</strong> The model <strong>%1</strong> is invalidated! Before run the diff process it's recommended to validate in order to correctly analyze and generate the difference between the model and a database!
+ <strong>AVERTISSEMENT :</strong> Le modèle <strong>%1</strong> n'a pas été validé ! Avant de procéder à une comparaison il est recommandé de le valider afin de s'assurer que l'analyse entre celui-ci de la base de donnée se fasse correctement !
+
+
+
+ Diff anyway
+ Comparer quand même
+
+
+
+ (no samples found)
+ (aucun exemple trouvé)
+
+
+
+ You're running a demonstration version! Note that you'll be able to create only <strong>%1</strong> instances of each type of object and some key features will be disabled or limited!<br/><br/>You can purchase a full binary copy or get the source code at <a href='https://pgmodeler.io'>https://pgmodeler.io</a>. <strong>NOTE:</strong> pgModeler is an open source software, but purchasing binary copies or providing some donations will support the project and keep the development alive and at full speed!<br/><br/> <strong>HINT:</strong> in order to test all features it's recommended to use the <strong>demo.dbm</strong> model located in </strong>Sample models</strong> at <strong>Welcome</strong> view.<br/><br/><br/><br/>
+ Vous utilisez une version de démonstration ! Vous ne pouvez créer uniquement que <strong>%1</strong> instances de chaque type d'objet et certaines fonctionnalités sont bridées ou désactivées !<br/><br/>Vous pouvez acheter une copie exécutable de ce logiciel ou obtenir son code source sur <a href='https://pgmodeler.io'>https://pgmodeler.io</a>. <strong>REMARQUE:</strong> pgModeler est un logiciel libre, mais acheter une copie binaire ou faire un don permet de soutenir ce projet et de continuer son développement actif.<br/><br/> <strong>CONSEIL:</strong>pour avoir un aperçu de toutes les fonctionnalités, ouvrez le modèle <strong>demo.dbm</strong> situé dans le dossier </strong>Modèles de démo</strong> à l'écran d' <strong>Accueil</strong> du logiciel.<br/><br/><br/><br/>
+
+
+
+ save
+ sauvegarde
+
+
+
+ export
+ exporter
+
+
+
+ diff
+ comparer
+
+
+
+ Executing pending <strong>%1</strong> operation...
+ Exécution de l'opération <strong>%1</strong> en attente...
+
+
+
+ Rearrange objects over the canvas is an irreversible operation! Would like to proceed?
+ Réorganiser les objets sur le canvas est une opération irréversible ! Voulez-vous poursuivre ?
+
+
+
+ He&lp
+ Ai&de
+
+
+
+ Pl&ugins
+ Mod&ules
+
+
+
+ &New
+ &Nouveau
+
+
+
+ New model
+ Nouveau modèle
+
+
+
+ &Save
+ E&nregistrer
+
+
+
+ &Zoom in
+ &Zoomer
+
+
+
+ Zoo&m out
+ Dézoo&mer
+
+
+
+ &Load
+ C&harger
+
+
+
+ Sa&ve as
+ Enre&gistrer sous
+
+
+
+ E&xit
+ Qui&tter
+
+
+
+ Exit pgModeler
+ Quitter pgModeler
+
+
+
+ &About pgModeler
+ &À propos de pgModeler
+
+
+
+ F4
+
+
+
+
+ &Print
+ Im&primer
+
+
+
+ Print model
+ Imprimer le modèle
+
+
+
+ Ctrl+P
+
+
+
+
+ &Undo
+ Ann&uler
+
+
+
+ Undo operation
+ Annuler l'opération
+
+
+
+ Ctrl+Z
+
+
+
+
+ &Redo
+ &Rétablir
+
+
+
+ Redo operation
+ Rétablir l'opération
+
+
+
+ Ctrl+Y
+
+
+
+
+ &Export
+ &Exporter
+
+
+
+ Ctrl+Shift+E
+ Ctrl+Maj+E
+
+
+
+ &Show grid
+ A&fficher la grille
+
+
+
+ Ctrl+G
+
+
+
+
+ &Close
+ &Fermer
+
+
+
+ Ctrl+W
+
+
+
+
+ &Normal zoom
+ Zoom &normal
+
+
+
+ Ctrl+0
+
+
+
+
+ &Align to grid
+ &Aligner sur la grille
+
+
+
+ Show &delimiters
+ Afficher les &délimiteurs
+
+
+
+ Ctrl+L
+
+
+
+
+ &Settings
+ Paramètre&s
+
+
+
+ F12
+
+
+
+
+ &Overview
+ &Vue d'ensemble
+
+
+
+ &Support
+
+
+
+
+ Access the support page
+ Accéder à la page du support
+
+
+
+ F1
+
+
+
+
+ New object
+ Nouvel objet
+
+
+
+ &Recent Models
+ Modèles &récents
+
+
+
+ &Import
+ &Importer
+
+
+
+ Rest&ore Session
+ Restaurer la sessi&on
+
+
+
+ Compact view
+ Vue compacte
+
+
+
+ Toggle the compact view on the model(s)
+ Activer la vue compacte
+
+
+
+ More
+ Plus
+
+
+
+ Addition action over the model
+ Plus d'actions concernant le modèle
+
+
+
+ Fix
+ Réparer
+
+
+
+ &Check for update
+ Re&chercher une mise à jour
+
+
+
+ &Diff
+ &Comparer
+
+
+
+ Ctrl+Shift+D
+ Ctrl+Maj+D
+
+
+
+ Shift+W
+ Maj+W
+
+
+
+ Design database models
+ Conception de modèles de base de données
+
+
+
+ Shift+D
+ Maj+D
+
+
+
+ Shift+M
+ Maj+M
+
+
+
+ &Bug report
+ Rapport de &bug
+
+
+
+ Report a bug
+ Rapporter un bug
+
+
+
+ Donate
+ Faire un don
+
+
+
+ Help pgModeler by donating!
+ Aider pgModeler en faisant un don !
+
+
+
+ Objects me&tadata
+ Mé&tadonnées des objets
+
+
+
+ Save modified model(s)
+ Enregistrer le(s) modèle(s) modifié(s)
+
+
+
+ The following models were modified but not saved: %1. Do you really want to quit pgModeler?
+ Les modèles suivants ont été modifiés mais non enregistrés : %1. Voulez-vous vraiment quitter pgModeler ?
+
+
+
+ The model <strong>%1</strong> was modified! Do you really want to close without save it?
+ Le modèle <strong>%1</strong> a été modifié ! Êtes-vous certain de vouloir quitter sans l'enregistrer ?
+
+
+
+ Determine the changes between model/database and another database
+ Déterminer les changements entre le modèle/la base de données et une autre base de données
+
+
+
+ Perform the objects metadata handling
+ Manipulation des métadonnées des objets
+
+
+
+ Arrange objects
+ Organiser des objets
+
+
+
+ Rearrange objects over the canvas
+ Réorganiser les objets sur le canevas
+
+
+
+ Messagebox
+
+
+ Dialog
+ Boîte de dialogue
+
+
+
+ msg
+ message
+
+
+
+ Exceptions
+ Exceptions
+
+
+
+ Show/hide exceptions stack.
+ Afficher/cacher la pile d'exceptions.
+
+
+
+ ...
+ ...
+
+
+
+
+ &Yes
+ &Oui
+
+
+
+
+ &No
+ &Non
+
+
+
+ Information
+
+
+
+
+ Confirmation
+
+
+
+
+ Cancel
+ Annuler
+
+
+
+ Error
+ Erreur
+
+
+
+ Alert
+ Alerte
+
+
+
+ &Ok
+ &Ok
+
+
+
+ &Cancel
+ A&nnuler
+
+
+
+ Show raw text errors or information.
+ Afficher le texte brute des erreurs ou des informations.
+
+
+
+ MetadataHandlingForm
+
+
+ Handle metadata
+ Gérer les métadonnées
+
+
+
+ &Apply
+ &Appliquer
+
+
+
+ &Cancel
+ A&nnuler
+
+
+
+ Settings
+ Paramètres
+
+
+
+ Extract from:
+ Extraction depuis :
+
+
+
+ Loading a metadata file to the current model is an irreversible operation so be sure to specify a backup file before proceed.
+ Le chargement d'un fichier de métadonnées dans le modèle actuel est une opération irréversible, assurez-vous de spécifier un fichier de sauvegarde avant de continuer.
+
+
+
+ Database model metadata
+ Métadonnées du modèle de base de données
+
+
+
+ Handles the objects' positioning in the metadata file.
+ Gère le positionnement des objets dans le fichier de métadonnées.
+
+
+
+ Options
+
+
+
+
+ Objects' positioning
+ Positionnement des objets
+
+
+
+ Custom object's colors
+ Couleurs de l'objet personnalisé
+
+
+
+ Handles the objects' protection status in the metadata file.
+ Gère l'état de protection des objets dans le fichier de métadonnées.
+
+
+
+ Objects' protection status
+ Statut de protection des objets
+
+
+
+ Handles the objects' SQL disabled status in the metadata file.
+ Gère le statut désactivé du code SQL des objets dans le fichier de métadonnées.
+
+
+
+ Objects' SQL disabled status
+ Statut désactivé du code SQL des objets
+
+
+
+ Handles the objects' custom SQL commands in the metadata file.
+ Gère les commandes SQL personnalisées des objets dans le fichier de métadonnées.
+
+
+
+ Custom SQL commands
+ Commandes SQL personnalisées
+
+
+
+ Textbox objects
+ Objets de zone de texte
+
+
+
+ <p>Handles the objects' aliases in the metadata file. Only for graphical objects and table's children objects.</p>
+
+
+
+
+ Objects' aliases
+
+
+
+
+ <p>Handles the objects' custom colors in the metadata file. Currently available only for relationships and schemas.</p>
+
+
+
+
+ <p>Handles the following database model attributes in the metadata file: author, zoom factor, last position and default objects.</p>
+
+
+
+
+ <p>Save tags to the output file when extracting metadata. When loading the file, the tags are recreated and duplicated ones are ignored.</p>
+
+
+
+
+ Tag objects
+ Balises des objets
+
+
+
+ <p>Save textboxes to the output file when extracting metadata. When loading the file, the textboxes are recreated and duplicated ones are ignored.</p>
+
+
+
+
+ Handles the tables' and views' collapsing mode in the metadata file.
+
+
+
+
+ Tables and views collpsing mode
+
+
+
+
+ <p>Save generic SQL objects to the output file when extracting metadata. When loading the file, the objects are recreated and duplicated ones are ignored.</p>
+
+
+
+
+ Select all
+ Tout sélectionner
+
+
+
+ Clear all
+
+
+
+
+ Backup file:
+ Fichier de sauvegarde :
+
+
+
+
+ Select file
+ Sélectionner un fichier
+
+
+
+ <p>Extracts the objects' metadata from the loaded models and apply to the current focused model. A backup file can be specified to where the focused model's current metadata will be saved.</p>
+
+
+
+
+ <p>Extracts the objects metadata from one of the loaded models saving the info to a backup file.</p>
+
+
+
+
+ <p>Reads the objects' metadata from a previously saved backup file and apply to the current model.</p>
+
+
+
+
+ Apply to:
+ Appliquer à :
+
+
+
+ Operation:
+ Opération :
+
+
+
+ Output
+ Sortie
+
+
+
+ Progress label...
+ Indicateur de progression...
+
+
+
+
+ model not saved yet
+ modèle pas encore enregistré
+
+
+
+ The backup file cannot be the same as the input model!
+ Le fichier de sauvegarde ne peut être le même que le modèle d'entrée !
+
+
+
+ Extracting metadata to file `%1'
+ Extraction des métadonnées vers le fichier `%1'
+
+
+
+ Saving backup metadata to file `%1'
+ Enregistrement des métadonnées de sauvegarde vers le fichier `%1'
+
+
+
+ Applying metadata from file `%1'
+ Application des métadonnées depuis le fichier `%1'
+
+
+
+ Metadata processing aborted!
+ Traitement des métadonnées abandonné !
+
+
+
+ Objects metadata file (*.omf);;All files (*.*)
+ Fichiers de métadonnées d'objets (*.omf);;Tous les fichiers (*.*)
+
+
+
+ Handles the objects' fade out status in the metadata file.
+ Gère l'estompement des objets dans le fichier de métadonnées.
+
+
+
+ Objects' fade out status
+ Effet d'estompement des objets
+
+
+
+ Generic SQL objects
+ Objets SQL génériques
+
+
+
+ ...
+
+
+
+
+ &Extract and restore
+ &Extraction et restauration
+
+
+
+ Extract &only
+ Extracti&on seule
+
+
+
+ &Restore a backup file
+ &Restaurer une sauvegarde
+
+
+
+ ModelDatabaseDiffForm
+
+
+ Settings
+ Paramètres
+
+
+
+
+ Connection:
+ Connexion :
+
+
+
+ Ignore import errors
+ Ignorer les erreurs d'import
+
+
+
+ Import system objects
+ Importer les objets système
+
+
+
+ Import extension objects
+ Importer les objets des extensions
+
+
+
+ File:
+ Fichier :
+
+
+
+ Presets
+
+
+
+
+ Add new preset
+
+
+
+
+ Ins
+
+
+
+
+ Edit preset name
+
+
+
+
+ Ctrl+E
+ Ctrl+E
+
+
+
+ Save preset
+
+
+
+
+ Ctrl+S
+ Ctrl+S
+
+
+
+ Cancel operation on the preset
+
+
+
+
+ Esc
+ Échap
+
+
+
+ Delete the selected preset
+
+
+
+
+ Del
+ Suppr
+
+
+
+ Restore the default presets
+
+
+
+
+ Ctrl+R
+
+
+
+
+ Input
+
+
+
+
+ <p>Override the PostgreSQL version when generating the diff code. The default is to use the same version as the input database (detected automatically).</p>
+
+
+
+
+ <p>Compares the model and the input database storing the diff in a SQL file for later usage.</p>
+
+
+
+
+ Select output file
+ Sélectionner un fichier de sortie
+
+
+
+ <p>Compares the model and the input database generating a diff and applying it directly to the latter. <strong>WARNING:</strong> this mode causes irreversible changes on the database and in case of failure the original structure is not restored, so make sure to have a backup before proceed.</p>
+
+
+
+
+ <p>Database cluster level objects like roles and tablespaces will not be dropped.</p>
+
+
+
+
+ <p>Permissions already set on database objects will be kept. The ones configured on the model will be applied to the database.</p>
+
+
+
+
+ <p>Avoid the generation of DROP commands for objects that exists in database but not in the model. This is useful when diff a partial model against the complete database.</p>
+
+
+
+
+ <p>Force the generation of DROP commands for columns and constraints that exist in database but not in the model. This is useful when diff a partial model against the complete database and the user needs to drop columns and constraint but preserve the rest of the objects.</p>
+
+
+
+
+ <p>No command to rename the destination database will be generated even the model's name differ from database name.</p>
+
+
+
+
+ <p>For DROP command, the objects that depends on an object to be dropped will be deleted as well. For TRUNCATE command, tables that are linked to a table to be truncated will be truncate too. <strong>NOTE:</strong> this option can affect more objects than listed in the output or diff preview.</p>
+
+
+
+
+ <p>Clears the data of all tables which will have columns modified. This is useful to avoid errors related to type casting. <strong>WARNING:</strong> DO NOT use this option on production servers and always make a backup before use it.</p>
+
+
+
+
+ <p>Serial columns are converted to integer and having the default value changed to <strong>nextval(sequence)</strong> function call. By default, a new sequence is created for each serial column but checking this option sequences matching the name on column's default value will be reused and will not be dropped.</p>
+
+
+
+
+ <p>Instead of use an ALTER command to modify certain kind of objects a DROP and CREATE will be used in order to do a full modification. This option does not affects the database object.</p>
+
+
+
+
+ Recreates only objects that can't be changed through ALTER commands according to pgModeler implementation not the PostgreSQL one. <br/>Currently, these objects are:<br/><br/>aggregate, cast, constraint, collation, conversion, language, operator, operator class, operator family, rule, trigger and view.
+
+
+
+
+ <p>Import system (built-in) objects. Use this if the import step is returning errors related to missing objects.</p>
+
+
+
+
+ <p>Import objects created by extensions. Use this if the import step is returning errors even importing built in ones.</p>
+
+
+
+
+ <p>Ignores as many as possible errors on import step. This option generates an incomplete diff.</p>
+
+
+
+
+ <p>Ignores errors generated by duplicated objects when exporting the diff to database.</p>
+
+
+
+
+ <p>This advanced option causes pgModeler to ignore extra errors by their numeric codes. These errors must be informed in the input below and separeted by space. For the complete list of error codes check the PostgreSQL docs, section <strong> Appendix A. PostgreSQL Error Codes</strong>. <strong>WARNING:</strong> use this option with extreme care since it can interfere in final export result.</p>
+
+
+
+
+ Cancel
+ Annuler
+
+
+
+ Progress label...
+ Indicateur de progression...
+
+
+
+ Loads the generated diff code in the destination server for manual applying.
+
+
+
+
+ Open in SQL Tool
+
+
+
+
+ &Close
+ &Fermer
+
+
+
+
+ Waiting process to start...
+ En attente du démarrage de la tâche...
+
+
+
+ Step %1/%2: Exporting diff to database <strong>%3@%4</strong>...
+ Étape %1/%2 : Export de la comparaison de la base de données <strong>%3</strong>... {1/%2:?} {3@%4<?}
+
+
+
+ SQL code (*.sql);;All files (*.*)
+ Code SQL (*.sql);;Tous les fichiers (*.*)
+
+
+
+
+
+ Database:
+ Base de données :
+
+
+
+ Drop or truncate in cascade mode
+ Supprimer ou tronquer en mode cascade
+
+
+
+ Keep object's permissions
+ Conserver les permissions des objets
+
+
+
+ Keep cluster objects
+ Conserver les objets de cluster
+
+
+
+ Recreate only unmodifiable objects
+ Recréer uniquement des objets non modifiables
+
+
+
+ Force recreation of objects
+ Forcer la recréation d'objets
+
+
+
+ Ignore duplicity errors
+ Ignorer les erreurs de duplicité
+
+
+
+ Reuse sequences on serial columns
+ Réutiliser des séquences sur des colonnes de séries
+
+
+
+ Diff mode
+ Mode comparaison
+
+
+
+ Use PostgreSQL:
+ Utiliser PostgreSQL :
+
+
+
+ ...
+
+
+
+
+ Output
+ Sortie
+
+
+
+ Changes:
+ Modifications :
+
+
+
+ Step label...
+ Étiquette étape...
+
+
+
+ <html><head/><body><p>Objects marked with an <span style=" font-weight:600;">ALTER</span> may not be effectively changed unless that the differences detected are in attributes that can be modified through ALTER commands otherwise no operation will be performed or, if the force recreation is checked, the object will be dropped and created again.</p></body></html>
+ <html><head/><body><p>Les objets marqués d'un <span style="font-weight : 600;">ALTER</span> ne peuvent être modifiés efficacement que si les différences détectées sont dans les attributs qui peuvent être modifié à l'aide des commandes ALTER. Dans le cas contraire, aucune opération ne sera effectuée ou, si la recréation de force est vérifiée, l'objet sera supprimé et créé à nouveau.</p></body></html>
+
+
+
+ Objects to be created
+ Objets à créer
+
+
+
+
+
+
+ 0
+
+
+
+
+ Objects to be dropped
+ Objets à supprimer
+
+
+
+ Possible objects to be changed
+ Objets possiblement modifiables
+
+
+
+ Ignored objects (system ones or with sql disabled)
+ Objets ignorés (ceux du système ou avec code SQL désactivé)
+
+
+
+ Diff Preview
+ Aperçu de la comparaison
+
+
+
+ &Apply diff
+ &Appliquer la comparaison
+
+
+
+ &Generate
+ &Générer
+
+
+
+ <strong>WARNING:</strong> The generated diff is ready to be exported! Once started this process will cause irreversible changes on the database. Do you really want to proceed?
+ <strong>AVERTISSEMENT :</strong> La comparaison générée est prête à être exportée ! Une fois démarré, ce processus entraînera des changements irréversibles dans la base de données. Voulez-vous vraiment poursuivre ?
+
+
+
+ Apply diff
+ Appliquer la comparaison
+
+
+
+ Preview diff
+ Aperçu de la comparaison
+
+
+
+ model not saved yet
+ modèle pas encore enregistré
+
+
+
+ (none)
+ (aucun)
+
+
+
+ <strong>Low verbosity is set:</strong> only key informations and errors will be displayed.
+
+
+
+
+ Step %1/%2: Importing database <strong>%3</strong>...
+ Étape %1/%2 : Import de la base de données <strong>%3</strong>...
+
+
+
+ Step %1/%2: Comparing <strong>%3</strong> and <strong>%4</strong>...
+ Étape %1/%2 : Comparaison de <strong>%3</strong> et de <strong>%4</strong>...
+
+
+
+ Confirmation
+
+
+
+
+ Diff process paused. Waiting user action...
+ Comparaison mise en pause. En attente d'une action utilisateur...
+
+
+
+ Saving diff to file <strong>%1</strong>
+ Enregistrement de la comparaison vers le fichier <strong>%1</strong>
+
+
+
+ Diff process sucessfully ended!
+ Comparaison términée avec succès !
+
+
+
+
+ No operations left.
+ Aucune opération restante.
+
+
+
+ Operation cancelled by the user.
+ Opération annulée par l'utilisateur.
+
+
+
+ Process aborted due to errors!
+ Processus abandonné en raison d'erreurs !
+
+
+
+ -- No differences were detected between model and database. --
+ -- Aucune différence détectée entre le modèle et la base de données. --
+
+
+
+ Error code <strong>%1</strong> found and ignored. Proceeding with export.
+ Code erreur <strong>%1</strong> reçu et ignoré. Poursuite de l'export.
+
+
+
+ Save diff as...
+ Enregistrer la comparaison sous...
+
+
+
+ In some cases restore the default settings related to it may solve the problem. Would like to do that?
+ Dans certains cas, restaurer les paramètres liés par défaut peut résoudre le problème. Voulez-vous le faire ?
+
+
+
+ Restore
+ Restaurer
+
+
+
+ Do you really want to restore the default settings?
+
+
+
+
+ Are you sure do you want to remove the selected diff preset?
+
+
+
+
+ Preserve database name
+ Conserver le nom de la base de données
+
+
+
+ Do not drop missing objects
+ Ne pas supprimer les objets manquants
+
+
+
+ Store in S&QL file
+ Stocker dans un fichier S&QL
+
+
+
+ Appl&y on server
+ Appliquer sur le serveur
+
+
+
+
+
+-- SQL code purposely truncated at this point in demo version!
+
+
+-- Le code SQL est volontairement tronqué à ce stade dans la version démo !
+
+
+
+ Diff tool
+ Outil de comparaison
+
+
+
+ Current model:
+ Modèle courant :
+
+
+
+ (model)
+ (modèle)
+
+
+
+ Compare to
+ Comparer à
+
+
+
+ Diff
+ Comparaison
+
+
+
+ Import && Export
+ Import && Export
+
+
+
+ Import
+
+
+
+
+ Export
+
+
+
+
+ Ignore error codes
+ Ignorer les codes d'erreur
+
+
+
+ Drop missing columns and constraints
+ Supprimer colonnes/contraintes manquantes
+
+
+
+ Truncate tables before alter columns
+ Tronquer les tables avant de modifier les colonnes
+
+
+
+ ModelExportForm
+
+
+
+ File:
+ Fichier :
+
+
+
+
+
+ Select target file
+ Sélectionner le fichier cible
+
+
+
+
+
+ ...
+ ...
+
+
+
+ Zoom:
+ Zoom :
+
+
+
+ Export model
+ Export d'un modèle
+
+
+
+ Settings
+ Paramètres
+
+
+
+ Database server
+ Serveur de base de données
+
+
+
+ PostgreSQL version in which the SQL code should be generated. It is recommended to select this option only when the version of the DBMS, somehow, is not identifiable or if you need to generate a specific version of SQL code for test purposes.
+ Version de PostgreSQL pour laquelle le code SQL sera généré. Il est recommandé d'activer cette option uniquement si la version du SGBD n'est pas identifiable ou pour une raison spécifique par exemple pour des essais.
+
+
+
+ Drop:
+ Suppr. :
+
+
+
+ DB
+ BDD
+
+
+
+ Show delimiters
+ Afficher les délimiteurs de page
+
+
+
+ Exporting the model page by page will generate files with a <strong>_p[n]</strong> suffix where <strong>n</strong> is the page id. Check if the current user has write permission on output folder.
+ Exporter le modèle page par page générera des fichiers avec un suffixe de type <strong>_p[n]</strong> où <strong>n</strong> est le numéro de la page. Vérifiez que vous avez bien le droit d'écriture dans le dossier de sortie.
+
+
+
+ Page by page
+ Une image par page
+
+
+
+
+ PostgreSQL:
+ PostgreSQL :
+
+
+
+ PostgreSQL version in which the SQL code should be generated
+ Version de PostgreSQL pour laquelle le code SQL doit être généré
+
+
+
+ Cancel
+ Annuler
+
+
+
+ Show grid
+ Afficher la grille
+
+
+
+ Connection:
+ Connexion :
+
+
+
+ <p>pgModeler ignores errors generated by duplicated objects and creates only that ones which does not exists in the database. This option may be used when an object was created after a previous model export.</p>
+
+
+
+
+ Ignore object duplicity
+ Ignorer les objets dupliqués
+
+
+
+ If <strong>DB</strong> is checked pgModeler will destroy the database if already exists on the server. When <strong>Objects</strong> is checked pgModeler will execute the DROP command attached to SQL-enabled objects. <strong>WARNING:</strong> this option leads to data loss so make sure to have a backup before exporting.
+
+
+
+
+ SQL file
+ Fichier texte SQL
+
+
+
+ I&mage (PNG)
+
+
+
+
+ Data dictionary
+
+
+
+
+ <strong>Standalone:</strong> pgModeler will generate a single HTML file containing the data dictionaries of all tables in the database model.
+
+
+
+
+ Standalone
+
+
+
+
+ <strong>Splitted:</strong> the data dictionaries are generated in separated files inside the selected directory. In this mode the files are named <em>schema.table.html</em>.
+
+
+
+
+ Splitted
+
+
+
+
+ Mode:
+ Mode :
+
+
+
+ pgModeler will generate an index to help navigate through the data dictionary. If splitted mode is set then a separated file named <em>index.html</em> will be saved into the destination folder.
+
+
+
+
+ Include index
+
+
+
+
+ Output:
+ Sortie :
+
+
+
+ Output
+ Progression
+
+
+
+ Progress label...
+ Indicateur de progression...
+
+
+
+ &Export
+ &Exporter
+
+
+
+ &Close
+ &Fermer
+
+
+
+ Initializing model export...
+ Initialisation de l'export du modèle...
+
+
+
+ <strong>Low verbosity is set:</strong> only key informations and errors will be displayed.
+
+
+
+
+ Saving file '%1'
+ Enregistrement du fichier '%1'
+
+
+
+
+ Exporting process aborted!
+ Export abandonnée !
+
+
+
+ HTML file (*.html);;All files (*.*)
+
+
+
+
+ Exporting process canceled by user!
+ Export annulée par l'utilisateur !
+
+
+
+ Exporting process sucessfully ended!
+
+
+
+
+ Export model as...
+ Exporter le modèle sous...
+
+
+
+ Error code <strong>%1</strong> found and ignored. Proceeding with export.
+ Code erreur <strong>%1</strong> reçu et ignoré. Poursuite de l'export.
+
+
+
+ Ob&jects
+ Ob&jets
+
+
+
+ Graphics file
+ Fichier graphique
+
+
+
+ Type:
+ Type :
+
+
+
+ SQL script (*.sql);;All files (*.*)
+ Script SQL (*.sql);;Tous les fichiers (*.*)
+
+
+
+ Portable Network Graphics (*.png);;All files (*.*)
+ Portable Network Graphics (*.png);;Tous les fichiers (*.*)
+
+
+
+ Scalable Vector Graphics (*.svg);;All files (*.*)
+ Scalable Vector Graphics (*.svg);;Tous les fichiers (*.*)
+
+
+
+ This advanced option causes pgModeler to ignore extra errors by their numeric codes. These errors must be informed in the input below and separeted by space. For the complete list of error codes check the PostgreSQL docs, section <strong> Appendix A. PostgreSQL Error Codes</strong>. <strong>WARNING:</strong> use this option with extreme care since it can interfere in final export result.
+ Cette option avancée oblige pgModeler à ignorer les erreurs supplémentaires par leurs codes numériques. Ces erreurs doivent être renseignées dans l'entrée ci-dessous et séparées par des espaces. Pour la liste complète des codes d'erreur, consulter les documents PostgreSQL, section <strong>Annexe A. Codes d'erreur PostgreSQL</strong>. <strong>AVERTISSEMENT :</strong> utiliser cette option avec un soin extrême, car elle peut interférer dans le résultat de l'export finale.
+
+
+
+ Ignore error codes
+ Ignorer les codes d'erreur
+
+
+
+ &Vectorial (SVG)
+ &Vectoriel (SVG)
+
+
+
+ ModelExportHelper
+
+
+ Generating SQL code for PostgreSQL `%1'
+ Génération du code SQL pour PostgreSQL `%1'
+
+
+
+ Output SQL file `%1' successfully written.
+ Fichier SQL de sortie `%1' écrit avec succès.
+
+
+
+ Rendering objects to page %1/%2.
+ Rendu des objets de la page %1/%2.
+
+
+
+ Output image `%1' successfully written.
+ Fichier image de sortie `%1' écrit avec succès.
+
+
+
+ Starting export to DBMS.
+ Lancement de l'export vers le SGBD.
+
+
+
+ PostgreSQL version detection overridden. Using version `%1'.
+ Détection de version dépassée de PostgreSQL. Utilisation de la version `%1'.
+
+
+
+ PostgreSQL `%1' server detected.
+ Serveur PostgreSQL `%1' détecté.
+
+
+
+ Generating temporary names for database, roles and tablespaces.
+ Génération de noms, de rôles et d'espace de stockage temporaires pour la base de données.
+
+
+
+ Enabling the SQL code for database `%1' to avoid errors.
+ Activation du code SQL de la base de données `%1' pour éviter les erreurs.
+
+
+
+ Ignoring object duplication errors.
+ Omission des erreurs de duplication d'objet.
+
+
+
+ Ignoring the following error code(s): `%1'.
+ Omission des codes erreur suivants : `%1'.
+
+
+
+ Trying to drop database `%1'.
+ Tentative de suppression de la base de données `%1'.
+
+
+
+ Simulation mode activated.
+ Mode simulation activé.
+
+
+
+ Generating SQL for `%1' objects...
+ Génération de code SQL pour `%1' objets...
+
+
+
+ Starting data dictionary generation...
+ Début de la génération du dictionnaire des données...
+
+
+
+ Data dictionary successfully saved into `%1'.
+ Le dictionnaire des données à été sauvegardé avec succès dans `%1'.
+
+
+
+ Destroying objects created on the server.
+ Destruction des objets créés sur le server.
+
+
+
+ Restoring original names of database, roles and tablespaces.
+ Restauration des noms, des rôles et des espaces de stockage originaux de la base de données.
+
+
+
+
+
+ Creating object `%1' (%2)
+ Création de l'objet `%1' (%2)
+
+
+
+
+ Dropping object `%1' (%2)
+ Suppression de l'objet `%1' (%2)
+
+
+
+ Changing object `%1' (%2)
+ Modification de l'objet `%1' (%2)
+
+
+
+ Running auxiliary `%1' command...
+ Exécution de la commande auxiliaire `%1'...
+
+
+
+ Running auxiliary command.
+ Exécution de la commande auxiliaire.
+
+
+
+ Exporting model to SVG file.
+ Export du modèle vers un fichier SVG.
+
+
+
+ SVG representation of database model
+ Représentation SVG d'un modèle de base de données
+
+
+
+ SVG file generated by pgModeler
+ Fichier SVG généré par pgModeler
+
+
+
+ Output file `%1' successfully written.
+ Fichier de sortie `%1' écrit avec succès.
+
+
+
+ Creating database `%1'
+ Création de la base de données `%1'
+
+
+
+ Connecting to database `%1'
+ Connexion à la base de données `%1'
+
+
+
+ Renaming `%1' (%2) to `%3'
+ Renommage de `%1' (%2) en `%3'
+
+
+
+ ModelFixForm
+
+
+ Model file fix
+ Réparer un fichier modèle
+
+
+
+ &Fix
+ &Réparer
+
+
+
+ &Close
+ &Fermer
+
+
+
+ <html><head/><body><p>[pgmodeler-cli not found error]</p></body></html>
+ <html><head/><body><p>[pgmodeler-cli not found error]</p></body></html>
+
+
+
+ pgmodeler-cli:
+ pgmodeler-cli :
+
+
+
+ Browse for pgmodeler-cli tool
+ Rechercher l'outil pgmodeler-cli
+
+
+
+
+
+ ...
+ ...
+
+
+
+ The specified file is not the pgModeler command line tool (pgmodeler-cli).
+ Ce fichier n'est pas l'outil en ligne de commande de pgModeler (pgmodeler-cli).
+
+
+
+ Input file:
+ Fichier source :
+
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Monospace'; font-size:11pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Waiting process to start...</span></p></body></html>
+ < !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http ://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Monospace'; font-size:10pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">En attente du lancement du processus...</span></p></body></html> {3C?} {4.0/?} {3.?} {40/?} {1"?} {11p?} {400;?} {0p?} {0p?} {0p?} {0p?} {0;?} {0p?} {9p?}
+
+
+
+ Output file:
+ Fichier cible :
+
+
+
+ Fix tries:
+ Tentatives :
+
+
+
+ Select input file
+ Sélectionner le modèle à réparer
+
+
+
+ Select output file
+ Sélectionner un fichier de sortie
+
+
+
+ Load fixed model when finish
+ Charger le modèle réparé une fois l'opération terminée
+
+
+
+ In some cases the fix process will fail to restore all objects within the model demanding manual fixes by changing the file on a text editor. <strong>NOTE:</strong> relationships may lost their graphical configuration like custom points and line color.
+ Dans certains cas, le processus de réparation peut échouer à restaurer et récupérer tous les objets du modèle, ce qui peut réclamer des modifications manuelles dans le fichier à partir d'un éditeur de texte. <strong>REMARQUE :</strong> les associations peuvent perdre leur configuration graphique tels que des points placés manuellement par l'utilisateur ou la couleur.
+
+
+
+ Waiting process to start...
+ Processus en attente de lancement...
+
+
+
+ Could not locate <strong>%1</strong> tool on <strong>%2</strong>. The fix process can't continue! Please check pgModeler installation or try to manually specify the command below.
+ Impossible de localiser l'outil <strong>%1</strong> sur <strong>%2</strong>. Le processus de réparation ne peut continuer ! Vérifiez votre installation de pgModeler ou spécifiez manuellement la commande ci-dessous.
+
+
+
+ pgModeler command line tool (%1)
+ Outil en ligne de commande de pgModeler (%1)
+
+
+
+ ModelNavigationWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Previous model
+ Modèle précédent
+
+
+
+ Alt+C
+
+
+
+
+ Next model
+ Modèle suivant
+
+
+
+ Close model
+ Fermer
+
+
+
+ ...
+ ...
+
+
+
+ (model not saved yet)
+ (modèle pas encore enregistré)
+
+
+
+ Ctrl+Left
+ Ctrl+Gauche
+
+
+
+ Ctrl+Right
+ Ctrl+Droite
+
+
+
+ ModelObjectsWidget
+
+
+ Model Objects
+ Objets du modèle
+
+
+
+ Hide this widget
+ Cacher ce widget
+
+
+
+ 1
+ 1
+
+
+
+ Object
+ Objet
+
+
+
+ Type
+ Type
+
+
+
+ Parent Object
+ Objet parent
+
+
+
+ Parent Type
+ Type parent
+
+
+
+ Select All
+ Tout sélectionner
+
+
+
+ Clear All
+ Tout effacer
+
+
+
+ Select
+ Sélectionner
+
+
+
+ Return
+ Retour
+
+
+
+ Cancel
+ Annuler
+
+
+
+ Esc
+ Échap
+
+
+
+ Objects view configuration
+ Filtres d'affichage des objets
+
+
+
+ Expands all items
+ Développer tous les éléments
+
+
+
+ Collapses all items
+ Replier tous les éléments
+
+
+
+ Filter:
+ Filtrer :
+
+
+
+
+
+
+
+
+ ...
+ ...
+
+
+
+ Tree view
+ Vue en arbre
+
+
+
+ List view
+ Vue en liste
+
+
+
+ New
+ Nouveau
+
+
+
+ ID
+ Identifiant
+
+
+
+ By ID
+ Par identifiant
+
+
+
+ Visible object types
+ Types d'objets visibles
+
+
+
+ Model objects
+ Objets de modèle
+
+
+
+ ModelOverviewWidget
+
+
+ Model overview
+ Vue générale du modèle
+
+
+
+ Failed to generate the overview image.
+The requested size %1 x %2 was too big and there was not enough memory to allocate!
+ Impossible de générer l'aperçu de l'image.
+La taille demandée%1 x%2 était trop grande et il n'y avait pas assez de mémoire à allouer !
+
+
+
+ ModelRestorationForm
+
+
+ Model restoration
+ Restauration de modèle
+
+
+
+ &Restore
+ &Restaurer
+
+
+
+ <p>pgModeler will try to recover the selected models but will not destroy them in case of loading failure. This option serves as a last resort in order to try to recover the database model. Temporary models will last until the application is closed so the user must try to manually recover the files before exit pgModeler.</p>
+
+
+
+
+ &Cancel
+ A&nnuler
+
+
+
+ pgModeler was not closed properly in a previous execution and some models were still being edited. Click <strong>Restore</strong> to reopen the models or <strong>Cancel</strong> to abort the restoration.
+ pgModeler n'a pas été fermé correctement lors d'une précédente exécution et certains modèles étaient encore en cours d'édition. Cliquez sur <strong>Restaurer</strong> pour rouvrir les modèles ou sur <strong>Annuler</strong> pour abandonner la restauration.
+
+
+
+ Keep temporary models in case of restoration failure
+ Conserver les modèles temporaires en cas d'échec de la restauration
+
+
+
+ Database
+ Base de données
+
+
+
+ File
+ Fichier
+
+
+
+ Modified
+ Modifié
+
+
+
+ Size
+ Taille
+
+
+
+ ModelValidationHelper
+
+
+ There are pending errors! SQL validation will not be executed.
+ Il y a des erreurs en attente ! La validation SQL ne sera pas exécutée.
+
+
+
+ Operation canceled by the user.
+ Opération annulée par l'utilisateur.
+
+
+
+ ModelValidationWidget
+
+
+ Form
+ Formulaire
+
+
+
+
+ 0
+ 0
+
+
+
+ Try to apply a fix on the selected validation info.
+ Essayer d'appliquer le correctif sur l’élément sélectionné.
+
+
+
+ Clear validation results
+ Effacer le résultat de la validation
+
+
+
+ Va&lidate
+ Va&lider
+
+
+
+ Warnings: does not prevents model to be saved.
+ Avertissements : n'empêche de pouvoir sauvegarder le modèle.
+
+
+
+ Errors: model will not be saved while there are validation errors.
+ Erreurs : le modèle ne peut être sauvegardé tant que des erreurs de validation subsistent.
+
+
+
+ SQL Validation:
+ Validation SQL :
+
+
+
+ PostgreSQL version
+ Version de PostgreSQL
+
+
+
+ Try to resolve the reported issues.
+ Essayer de résoudre les problèmes rencontrés.
+
+
+
+ Ctrl+S
+ Ctrl+S
+
+
+
+ Clear
+ Effacer
+
+
+
+ Options
+ Options
+
+
+
+ <p>pgModeler will generate unique and temporary names for database, role and tablespace objects. This option avoids object duplication errors when running the SQL validation.</p>
+
+
+
+
+ <p>Enables the validation of SQL code in DBMS. This process requires the use of a pre-configured connection. SQL validation will occur only in the last step (when all objects were validated) or when there are no warnings.</p>
+
+
+
+
+ Cancel the SQL validation in progress.
+ Annuler le processus de validation SQL en cours.
+
+
+
+ Cancel
+ Annuler
+
+
+
+ Esc
+ Échap
+
+
+
+ Apply fixes
+
+
+
+
+ Change the creation order for two objects by swapping their ids
+ Modifie l'ordre de création de deux objets en échangeant leurs numéros d'identification
+
+
+
+ Swap ids
+ Échanger identifiants
+
+
+
+ Hide this widget
+ Fermer ce widget
+
+
+
+ ...
+ ...
+
+
+
+ The object <strong>%1</strong> <em>(%2)</em> [id: %3] is being referenced by <strong>%4</strong> object(s) before its creation.
+ L'objet <strong>%1</strong> <em>(%2)</em> [id: %3] est référencé par <strong>%4</strong> objet(s) avant sa création.
+
+
+
+ Autodetect
+ Auto détection
+
+
+
+ The object <strong>%1</strong> <em>(%2)</em> [id: %3]%4 is referencing columns created by <strong>%5</strong> relationship(s) but is created before them.
+ L'objet <strong>%1</strong> <em>(%2)</em> [id : %3]%4 référence des colonnes créées par <strong>%5</strong> association(s) mais a été créé avant eux.
+
+
+
+ Processing object: %1
+ Traitement de l'objet : %1
+
+
+
+ Conflicting object: <strong>%1</strong> <em>(%2)</em>.
+ Objet en conflit : <strong>%1</strong> <em>(%2)</em>.
+
+
+
+ The object <strong>%1</strong> <em>(%2)</em> has a name that conflicts with <strong>%3</strong> object name(s).
+
+
+
+
+ Referrer object: <strong>%1</strong> <em>(%2)</em> [id: %3].
+ Objet réferent : <strong>%1</strong> <em>(%2)</em> [id: %3].
+
+
+
+ The column <strong>%1</strong> on <strong>%2</strong> <em>(%3)</em> is referencing the geospatial data type <strong>%4</strong> but the <strong>postgis</strong> extension is not present in the model!
+
+
+
+
+ <strong>HINT:</strong> Create the extension in the model or let it be created by applying the needed fixes.
+
+
+
+
+ <em>The above object was created by a relationship. Change the name pattern on it's generator relationship. Fix will not be applied!</em>
+ <em>L'objet ci-dessus a été créé par une relation. Changer le motif du nom sur sa relation de générateur. La correction ne sera pas appliquée !</Em>
+
+
+
+ Relationship: <strong>%1</strong> [id: %2].
+ Relation : <strong>%1</strong> [id : %2].
+
+
+
+ Running SQL commands on server...
+ Exécution des commandes SQL sur le serveur...
+
+
+
+ Connection to be used in the SQL validation
+ Connexion à utiliser dans la validation SQL
+
+
+
+ Use unique temporary names for cluster level objects
+ Utiliser des noms temporaires uniques pour les objets de niveau cluster
+
+
+
+ The relationship <strong>%1</strong> [id: %2] is in a permanent invalidation state and needs to be relocated.
+ La relation <strong>%1</strong> [id : %2] est dans un état d'invalidation permanent et a besoin d'être déplacé.
+
+
+
+ SQL validation failed due to the error(s) below. <strong>NOTE:</strong><em> Errors during SQL validation don't invalidate the model but may affect operations like <strong>export</strong> and <strong>diff</strong>.</em>
+
+
+
+
+ <strong>HINT:</strong> try to swap the relationship by another ones that somehow are linked to it through generated columns or constraints to solve this issue. Note that other objects may be lost in the swap process.
+ <strong>CONSEIL :</strong> essayer d'échanger la relation par une autre qui est liée à celle-ci via des colonnes générées ou des contraintes pour résoudre ce problème. Noter que d'autres objets peuvent être perdus dans le processus d'échange.
+
+
+
+ SQL validation not executed! No connection defined.
+ La validation SQL n'est pas exécutée ! Aucune connexion définie.
+
+
+
+ Database model successfully validated.
+ Modèle de base de données validé avec succès.
+
+
+
+ ModelWidget
+
+
+ Copy
+ Copier
+
+
+
+ Convert
+ Convertir
+
+
+
+ New
+ Nouveau
+
+
+
+ Quick
+ Actions rapides
+
+
+
+ Source code
+ Code source
+
+
+
+ Show object source code
+ Afficher le code source de l'objet
+
+
+
+
+ Properties
+ Propriétés
+
+
+
+ Space
+ Espace
+
+
+
+ Edit the object properties
+ Modifier les propriétés de l'objet
+
+
+
+
+ Protect
+ Vérrouiller
+
+
+
+
+ Unprotect
+ Déverrouiller
+
+
+
+ Protects object(s) from modifications
+ Empêcher la modification du ou des objets
+
+
+
+
+ Delete
+ Supprimer
+
+
+
+ Shift+Del
+ Shift+Suppr
+
+
+
+ Select all
+ Tout sélectionner
+
+
+
+ Selects all the graphical objects in the model
+ Sélectionner tous les objets graphiques du modèle
+
+
+
+ Paste
+ Coller
+
+
+
+ Cut
+ Couper
+
+
+
+ Deps && Referrers
+ Voir les dépendances && les références
+
+
+
+ Add a new object in the model
+ Ajouter un nouvel objet dans le modèle
+
+
+
+ Rename
+ Renommer
+
+
+
+ Quick rename the object
+ Renommage rapide de l'objet
+
+
+
+ Move to schema
+ Déplacer vers le schema
+
+
+
+ Edit permissions
+ Modifier les permissions
+
+
+
+ Change owner
+ Changer le propriétaire
+
+
+
+ Select children
+ Sélectionner les enfants
+
+
+
+ Del
+ Suppr
+
+
+
+ Custom SQL
+ Code SQL personnalisé
+
+
+
+ Stacking
+ Positionnement
+
+
+
+ Send to back
+ Envoyer à l'arrière plan
+
+
+
+ Bring to front
+ Ramener au premier plan
+
+
+
+ Loading database model
+ Ouverture du modèle de base de données
+
+
+
+ Saving database model
+ Enregistrement du modèle de base de données
+
+
+
+ Do you want to %1 the children of the schema <strong>%2</strong> too?
+ Souhaitez vous également %1 l'objet enfant du schéma <strong>%2</strong> ?
+
+
+
+ Also copy all dependencies of selected objects? This minimizes the breakdown of references when copied objects are pasted into another model.
+ Copier également les dépendences des objets sélectionnés ? Cela minimise la casse des références lorsque les objets copiés sont collés dans un autre modèle.
+
+
+
+ Pasting objects...
+ Collage des objets...
+
+
+
+ Not all objects were pasted to the model due to errors returned during the process! Refer to error stack for more details!
+ Tous les objets n'ont pas été collés dans le modèle car des erreurs ont été retournées durant le processus ! Se référer à la pile d'erreurs pour plus de détails !
+
+
+
+ Do you really want to delete the selected object?
+ Souhaitez-vous réellement supprimer l'objet sélectionné ?
+
+
+
+ (no objects)
+ (aucun objet)
+
+
+
+
+ None
+ Aucun
+
+
+
+ Table && Relationships
+ Table && ses associations
+
+
+
+ Constraints
+ Contraintes
+
+
+
+ <strong>ATTENTION:</strong> The database model is protected! Operations that could modify it are disabled!
+ <strong>ATTENTION :</strong> Le modèle de base de données est protégé ! Les opérations qui pourraient le modifier sont désactivées !
+
+
+
+ Edit data
+ Modifier les données
+
+
+
+ Source
+
+
+
+
+ Alt+S
+
+
+
+
+
+ Del. cascade
+ Supprimer en cascade
+
+
+
+ Ctrl+C
+
+
+
+
+ Ctrl+V
+
+
+
+
+ Ctrl+X
+
+
+
+
+ Quick action for the selected object
+ Action rapide pour l'objet sélectionné
+
+
+
+ F2
+
+
+
+
+ Move to layer
+ Déplacer vers la couche
+
+
+
+ Set tag
+ Affecter une balise
+
+
+
+ Ctrl+E
+
+
+
+
+ Select tagged
+ Séléction balisée
+
+
+
+ Select
+ Sélectionner
+
+
+
+ Open relationship
+ Ouvrir les relations
+
+
+
+ Alt+Q
+
+
+
+
+ Convert to sequence
+ Convertir en séquence
+
+
+
+ Convert to serial
+ Convertir en série
+
+
+
+ Break line
+ Cassure de ligne
+
+
+
+ Remove points
+ Supprimer des points
+
+
+
+ Enable SQL
+ Activer le code SQL
+
+
+
+ Disable SQL
+ Désactiver le code SQL
+
+
+
+ Duplicate
+ Dupliquer
+
+
+
+ Ctrl+D
+
+
+
+
+ Pagination
+ Pagination des attributs
+
+
+
+ Enable
+ Activer
+
+
+
+ Disable
+ Désactiver
+
+
+
+ Collapse
+ Replier
+
+
+
+ Not collapsed
+ Aucun repliement (tout afficher)
+
+
+
+ Extended attributes
+ Attributs étendus uniquement
+
+
+
+ All attributes
+ Tous les attributs
+
+
+
+ Show
+ Afficher
+
+
+
+ Hide
+ Masquer
+
+
+
+ Jump to table
+ Aller à la table
+
+
+
+ Schemas rectangles
+ Rectangles des schémas
+
+
+
+ Fade in/out
+ Transparence
+
+
+
+
+ Fade in
+ Accentuer
+
+
+
+
+ Fade out
+ Estomper
+
+
+
+
+
+ Relationships
+ Associations
+
+
+
+
+ Swap ids
+ Échanger les identifiants
+
+
+
+ Edit the objects creation order by swapping their ids
+ Modifier l'ordre de création des objets en échangeant leurs identifiants
+
+
+
+ 90° (vertical)
+
+
+
+
+ 90° (horizontal)
+
+
+
+
+ 90° + 90° (vertical)
+
+
+
+
+ 90° + 90° (horizontal)
+
+
+
+
+ Database object
+ Objet de base de données
+
+
+
+ Schema object
+ Objet de schéma
+
+
+
+
+
+ All objects
+ Tous les objets
+
+
+
+
+ Schemas
+ Schémas
+
+
+
+ Foreign Tables
+ Tables distantes
+
+
+
+
+ Views
+ Vues
+
+
+
+
+ Textboxes
+ Boîtes de textes
+
+
+
+
+ Tables
+ Tables
+
+
+
+ Ctrl+A
+
+
+
+
+ Zoom: %1%
+ Zoom : %1%
+
+
+
+ Do you really want to convert the relationship into an intermediate table?
+ Voulez-vous vraiment convertir les associations en une table intermédiaire ?
+
+
+
+ Validating object: `%1' (%2)
+ Validation de l'objet : `%1' (%2)
+
+
+
+ Generating XML for: `%1' (%2)
+ Génération du code XML pour : `%1' (%2)
+
+
+
+ Pasting object: `%1' (%2)
+ Collage de l'objet : `%1' (%2)
+
+
+
+ <strong>CAUTION:</strong> You are about to delete objects in cascade mode which means more objects than the selected will be dropped too. Do you really want to proceed?
+ <strong>ATTENTION :</strong> Vous êtes sur le point de supprimer des objets en mode cascade, ce qui signifie que des objets non sélectionnés seront également supprimés. Souhaitez-vous vraiment poursuivre ?
+
+
+
+ <strong>CAUTION:</strong> Remove multiple objects at once can cause irreversible invalidations to other objects in the model causing such invalid objects to be deleted too. Do you really want to proceed?
+ <strong>ATTENTION :</strong> Supprimer plusieurs objets à la fois peut entraîner des invalidations irréversibles sur d'autres objets du modèle, entraînant également la suppression de ces objets invalides. Voulez-vous vraiment poursuivre ?
+
+
+
+ <strong>CAUTION:</strong> Remove a relationship can cause irreversible invalidations to other objects in the model causing such invalid objects to be deleted too. Do you really want to proceed?
+ <strong>ATTENTION :</strong> Supprimer une association peut entraîner des invalidations irréversibles d'autres objets dans le modèle, entraînant également la suppression de ces objets invalides. Voulez-vous vraiment poursuivre ?
+
+
+
+ The cascade deletion found some problems when running! Some objects could not be deleted or registered in the operation's history! Please, refer to error stack for more details.
+ La suppression en cascade a rencontré des problèmes lors de son exécution ! Certains objets n'ont pas pu être supprimés ou enregistrés dans l'historique des opérations ! Veuillez vous reporter à la pile d'erreurs pour plus de détails.
+
+
+
+ protect
+ protéger
+
+
+
+ unprotect
+ déprotéger
+
+
+
+ ModelsDiffHelper
+
+
+ Processing object `%1' (%2)...
+ Traitement de l'objet `%1' (%2)...
+
+
+
+ Skipping object `%1' (%2)...
+ Omission de l'objet `%1' (%2)...
+
+
+
+ Processing diff infos...
+ Comparaison des informations...
+
+
+
+ Processing `%1' info for object `%2' (%3)...
+ Traitement de l'info `%1' pour l'objet `%2' (%3)...
+
+
+
+ No differences between the model and database.
+ Aucune différence entre le modèle et la base de données.
+
+
+
+ Preparing diff code...
+ Préparation du code de comparaison...
+
+
+
+ NewObjectOverlayWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Role
+ Rôle
+
+
+
+ Tag
+ Tag
+
+
+
+ Cast
+ Conversion de type
+
+
+
+ Language
+ Langage
+
+
+
+ Textbox
+ Zone de texte
+
+
+
+ Event Trigger
+ Déclencheur sur évènement
+
+
+
+ Tablespace
+ Tablespace
+
+
+
+ Schema
+ Schéma
+
+
+
+ Domain
+ Domaine
+
+
+
+ Conversion
+ Conversion
+
+
+
+ Extension
+
+
+
+
+ Type
+
+
+
+
+ Aggregate
+ Agrégat
+
+
+
+ Collation
+
+
+
+
+ Sequence
+ Séquence
+
+
+
+ Table
+
+
+
+
+ Function
+ Fonction
+
+
+
+ View
+ Vue
+
+
+
+ Database objects
+ Objets de base de données
+
+
+
+ Data Wrapper
+ Wrapper de données
+
+
+
+
+ Permissions
+
+
+
+
+ Server
+ Serveur
+
+
+
+ User mapping
+ Correspondance d'utilisateur
+
+
+
+ Schema objects
+ Objets de schéma
+
+
+
+ Foreign Table
+ Table distante
+
+
+
+ Table objects
+ Objets de table
+
+
+
+ Index
+
+
+
+
+ Rule
+ Règle
+
+
+
+ Partitioning
+ Partionnement
+
+
+
+ Column
+ Colonne
+
+
+
+ Constraint
+ Contrainte
+
+
+
+ Trigger
+ Déclencheur
+
+
+
+ Copy
+ Copie
+
+
+
+
+ A
+
+
+
+
+ G
+
+
+
+
+ K
+
+
+
+
+ H
+
+
+
+
+ J
+
+
+
+
+ D
+
+
+
+
+ E
+
+
+
+
+ F
+
+
+
+
+ L
+
+
+
+
+ O
+
+
+
+
+ U
+
+
+
+
+ I
+
+
+
+
+ R
+
+
+
+
+ S
+
+
+
+
+ Q
+
+
+
+
+ T
+
+
+
+
+ P
+
+
+
+
+ M
+
+
+
+
+ Y
+
+
+
+
+ W
+
+
+
+
+
+ 9
+
+
+
+
+ Z
+
+
+
+
+ X
+
+
+
+
+ C
+
+
+
+
+ V
+
+
+
+
+ B
+
+
+
+
+ 8
+
+
+
+
+ 7
+ 7
+
+
+
+
+ 6
+ 6
+
+
+
+ 1
+
+
+
+
+ 2
+
+
+
+
+ 3
+
+
+
+
+
+ 5
+
+
+
+
+
+ 4
+
+
+
+
+ 0
+
+
+
+
+ Op. Family
+ Famille d'op.
+
+
+
+ Op. Class
+ Classe d'op.
+
+
+
+ Operator
+ Opérateur
+
+
+
+ Relationships
+ Associations
+
+
+
+ Many-to-many
+ Plusieurs-à-plusieurs
+
+
+
+ One-to-many
+ Un-à-plusieurs
+
+
+
+ One-to-one
+ Un-à-un
+
+
+
+ Inheritance
+ Héritage
+
+
+
+ Generic SQL
+ SQL générique
+
+
+
+ Policy
+ Politique
+
+
+
+ NumberedTextEditor
+
+
+ Load
+ Charger
+
+
+
+ Load the object's source code from an external file
+ Charger le code source de l'objet depuis un fichier externe
+
+
+
+ Edit
+ Modifier
+
+
+
+ Edit the source code in the preferred external editor
+ Modifier le code source avec son éditeur préféré
+
+
+
+ Clear
+ Effacer
+
+
+
+ Upper case
+ Majuscule
+
+
+
+ Lower case
+ Minuscule
+
+
+
+ Ident right
+ Ident droit
+
+
+
+ Ident left
+ Ident gauche
+
+
+
+ SQL file (*.sql);;All files (*.*)
+ Fichier SQL (*.sql);;Tous les fichiers (*.*)
+
+
+
+ Load file
+ Charger un fichier
+
+
+
+ The source editor `%1' is running on `pid: %2'.
+ L'éditeur de source `%1' s'exécute sur pid : `%2'.
+
+
+
+ Failed to the source code editor <strong>%1</strong>! Make to sure that the source editor path points to a valid executable and the current user has permission to run the application. Error message returned: <strong>%2</strong>
+ Impossible
+
+
+
+ ObjectDepsRefsWidget
+
+
+ Dependencies
+ Dépendances
+
+
+
+
+ Object
+ Objet
+
+
+
+
+ Type
+ Type
+
+
+
+
+ Parent Object
+ Objet parent
+
+
+
+
+ Parent Type
+ Type parent
+
+
+
+ References
+ Références
+
+
+
+
+ ID
+ ID
+
+
+
+ Exclude indirect dependencies
+ Exclure les dépendances indirectes
+
+
+
+ Include indirect references
+ Inclure les références indirectes
+
+
+
+ This object does not exists anymore. The dependencies and references listing are disabled.
+ Cet objet n'existe plus. L'affichage de ses dépendances et références est désactivé.
+
+
+
+ Object's dependencies & references
+ Dépendances et références d'un objet
+
+
+
+ ObjectFinderWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Pattern:
+ Motif :
+
+
+
+ Hide this widget
+ Cacher ce widget
+
+
+
+
+ ...
+ ...
+
+
+
+ Find
+ Chercher
+
+
+
+ Clears the search results
+ Effacer les résultats
+
+
+
+ Clear
+ Effacer
+
+
+
+ (Un)selects the graphical objects in the results grid
+ (Dés)sélectionner les objets graphiques dans la grille des résultats
+
+
+
+ Regular Expression
+ Expression régulières
+
+
+
+ Exact Match
+ Correspondance exacte
+
+
+
+ Select All
+ Tout sélectionner
+
+
+
+ Clear All
+ Tout effacer
+
+
+
+
+
+ Comment
+ Commentaire
+
+
+
+ The attribute of the objects in which the search will occur
+
+
+
+
+ Case Sensitive
+ Sensible à la casse
+
+
+
+ Object
+ Objet
+
+
+
+ Type
+ Type
+
+
+
+ Parent Object
+ Objet parent
+
+
+
+ Parent Type
+ Type parent
+
+
+
+ Fades outs all the graphical objects in the results grid (or those not listed). The current fade in/out state of all objects is modified.
+
+
+
+
+ Defines the search filter
+ Défini le filtre de recherche
+
+
+
+ Filter
+ Filtrer
+
+
+
+ Name
+ Nom
+
+
+
+ Signature
+ Signature
+
+
+
+ Schema
+ Schéma
+
+
+
+ Owner
+ Propriétaire
+
+
+
+ Tablespace
+ Jargon
+ Tablespace
+
+
+
+ Data type
+ Type de donnée
+
+
+
+ Return type
+ Type de retour
+
+
+
+
+ Listed
+ Listé
+
+
+
+
+ Not listed
+ Non listé
+
+
+
+ Found <strong>%1</strong> object(s).
+ <strong>%1</strong> objet(s) trouvé(s).
+
+
+
+ No objects found.
+ Aucun objet trouvé.
+
+
+
+ ID
+ Identifiant
+
+
+
+ Select
+ Sélectionner
+
+
+
+ Fade out
+ Estomper
+
+
+
+ ObjectRenameWidget
+
+
+ Form
+ Formulaire
+
+
+
+ ....
+ ....
+
+
+
+ to:
+ en :
+
+
+
+
+ Rename
+ Renommer
+
+
+
+ Cancel
+ Annuler
+
+
+
+ Rename <strong>%1</strong> object(s) to:
+ Renommer <strong>%1</strong> objet(s) en :
+
+
+
+ <strong>CAUTION:</strong> You're about to rename multiple objects at once! This operation may cause irreversible changes to other objects not necessarily selected. Do you really want to proceed?
+ <strong>ATTENTION :<strong>Vous allez renommer plusieurs objets à la fois ! Cette opération peut entrâiner des changements irréversibles sur des objets non sélectionnés. Souhaitez-vous continuer ?
+
+
+
+ ObjectSelectorWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Clear field
+ Effacer le champ
+
+
+
+ Select Object
+ Sélectionner un objet
+
+
+
+ Select %1
+ Sélectionner %1
+
+
+
+ ObjectsScene
+
+
+ Default layer
+ Couche par défaut
+
+
+
+ ObjectsTableWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Add Item
+ Ajouter un élément
+
+
+
+ Ins
+ Insérer
+
+
+
+ Remove Item
+ Supprimer un élément
+
+
+
+ Del
+ Suppr
+
+
+
+ Update Item
+ Actualiser l'élément
+
+
+
+ Alt+R
+
+
+
+
+ Remove All
+ Tout supprimer
+
+
+
+ Shift+Del
+ Maj+Suppr
+
+
+
+ Duplicate item
+ Dupliquer l'élément
+
+
+
+ Ctrl+D
+
+
+
+
+ Edit Item
+ Modifier l'élément
+
+
+
+ Space
+ Espace
+
+
+
+ Move Up
+ Déplacer vers le haut
+
+
+
+ Ctrl+Up
+ Ctrl+Haut
+
+
+
+ Move Down
+ Déplacer vers le bas
+
+
+
+ Ctrl+Down
+ Ctrl+Bas
+
+
+
+ Move to start
+ Déplacer au début
+
+
+
+ Ctrl+Home
+ Ctrl+début
+
+
+
+ Move to end
+ Déplacer à la fin
+
+
+
+ Ctrl+End, Ctrl+S
+ Ctrl+Fin, Ctrl+S
+
+
+
+ Resize columns to fit contents
+ Retailler la largeur des colonnes à leur contenu
+
+
+
+ Do you really want to remove the selected item?
+ Souhaitez-vous réellement supprimer l'élément sélectionné ?
+
+
+
+
+ Confirmation
+
+
+
+
+ Do you really want to remove all the items?
+ Souhaitez-vous réellement supprimer tous les éléments ?
+
+
+
+ OperationList
+
+
+ (invalid object)
+ (objet invalide)
+
+
+
+ OperationListWidget
+
+
+
+ Executed Operations
+ Opérations exécutées
+
+
+
+ Hide this widget
+ Cacher ce widget
+
+
+
+ ...
+ ...
+
+
+
+ 1
+ 1
+
+
+
+ Operations:
+ Opérations :
+
+
+
+
+ 0
+ 0
+
+
+
+ Position:
+ Position :
+
+
+
+ Delete operation history
+ Supprimer l'historique des opérations
+
+
+
+ Undo
+ Annuler
+
+
+
+ Redo
+ Rétablir
+
+
+
+ created
+ créé
+
+
+
+ removed
+ supprimé
+
+
+
+ modified
+ modifié
+
+
+
+ moved
+ déplacé
+
+
+
+ Operation history exclusion
+ Exclure l'historique des opérations
+
+
+
+ Delete the executed operations history is an irreversible action, do you want to continue?
+ Effacer l'historique des opérations exécutées est une action irréversible, souhaitez-vous continuer ?
+
+
+
+ OperatorClassWidget
+
+
+ Default Class:
+ Classe par défaut :
+
+
+
+ Indexing:
+ Indexation :
+
+
+
+ Elements
+ Éléments
+
+
+
+ Element Type:
+ Type d'élément :
+
+
+
+ Operator
+ Opérateur
+
+
+
+ Function
+ Fonction
+
+
+
+ Storage
+ Stockage
+
+
+
+ Function:
+ Fonction :
+
+
+
+ Operator:
+ Opérateur :
+
+
+
+ Support/Strategy:
+ Support/Stratégie :
+
+
+
+
+ Op. Family:
+ Famille d'opérateurs :
+
+
+
+ Storage Type
+ Type de Stockage
+
+
+
+ Object
+ Objet
+
+
+
+ Type
+
+
+
+
+ Support/Strategy
+ Support/Stratégie
+
+
+
+ Operator Family
+ Famille d'opérateurs
+
+
+
+ OperatorFamilyWidget
+
+
+ Indexing:
+ Indexation :
+
+
+
+ OperatorWidget
+
+
+ Options:
+ Options :
+
+
+
+ MERGES
+ MERGES
+
+
+
+ HASHES
+ HASHES
+
+
+
+ Arguments
+ Arguments
+
+
+
+ Advanced
+ Avancé
+
+
+
+ Restrict:
+ Restriction :
+
+
+
+ Commutator:
+ Commutateur :
+
+
+
+ Negator:
+ Négateur :
+
+
+
+ Operator Func.:
+ Fonction de l'opérateur :
+
+
+
+ Join:
+ Jointure :
+
+
+
+ Right Argument Type
+ Type d'argument de droite
+
+
+
+ Left Argument Type
+ Type d'argument de gauche
+
+
+
+ To create a unary operator it is necessary to specify as <strong><em>'any'</em></strong> one of its arguments. Additionally, the function that defines the operator must have only one parameter and this, in turn, must have the same data type of the the argument of unary operator.
+ Pour créer un opérateur unitaire, il est nécessaire de spécifier <strong><em>'any'</em></strong> comme l'un de ses arguments. De plus, la fonction qui définit l'opérateur doit avoir seulement un paramètre et celui-ci doit avoir le même type de donnée que l'argument de l'opérateur unitaire.
+
+
+
+ ParameterWidget
+
+
+ Default Value:
+ Valeur par défaut :
+
+
+
+ Mode:
+ Mode :
+
+
+
+ IN
+ IN
+
+
+
+ OUT
+ OUT
+
+
+
+ VARIADIC
+ VARIADIC
+
+
+
+ PermissionWidget
+
+
+
+ Roles
+ Rôles
+
+
+
+ ID:
+ Identifiant :
+
+
+
+
+ Permissions
+ Permissions
+
+
+
+ Add Permission
+ Ajouter permission
+
+
+
+ Update Permission
+ Actualiser permission
+
+
+
+ Cancel Operation
+ Annuler l'opération
+
+
+
+
+ Privileges
+ Privilèges
+
+
+
+ Disable SQL code
+ Désactiver le code SQL
+
+
+
+ Cascade
+ Cascade
+
+
+
+ Privilege
+ Privilège
+
+
+
+ GRANT OPTION
+ GRANT OPTION
+
+
+
+ Code Preview
+ Prévisualisation du code
+
+
+
+ Name
+ Nom
+
+
+
+ Id
+
+
+
+
+ Leave the <em><strong>Roles</strong></em> grid empty in order to create a %1 applicable to <strong><em>PUBLIC</em></strong>.
+ Laissez la grille <em><strong>Rôles</strong></em> vide afin de créer un %1 applicable à <strong><em>PUBLIC</em></strong>.
+
+
+
+ -- No permissions defined for the specified object!
+ -- Aucune permission définie pour cet objet !
+
+
+
+ /* Could not generate the SQL code preview for permissions!
+ /* Impossible de générer la prévisualisation du code SQL pour les permissions !
+
+
+
+ Edit permissions
+ Modifier les permissions
+
+
+
+ &Grant
+ Acco&rder
+
+
+
+ Re&voke
+ Ré&voquer
+
+
+
+ PgModelerApp
+
+
+ Unknown exception caught!
+ Exception inconnue rencontrée !
+
+
+
+ Failed to create initial configuration in `%1'! Check if the current user has write permission over that path and at least read permission over `%2'.
+ Impossible de créer les fichiers de configuration initiaux dans `%1' ! Vérifiez que le dossier existe et que vous ayez la permission d'écrire dans `%2'.
+
+
+
+ PgModelerCliApp
+
+
+ Database model files (.dbm) are already associated to pgModeler!
+ Les fichiers de modèle de bases de données (.dbm) sont déjà associés à pgModeler !
+
+
+
+ There is no file association related to pgModeler and .dbm files!
+ Il n'y a pas d'association entre pgModeler et .les fichiers dbm !
+
+
+
+ Unrecognized option '%1'.
+ Option '%1' non reconnue.
+
+
+
+ Value not specified for option '%1'.
+ Valeur pour l'option '%1' manquante.
+
+
+
+ Option '%1' does not accept values.
+ L'option '%1' n'accepte pas de valeur.
+
+
+
+ Connection aliased as '%1' was not found in the configuration file.
+
+
+
+
+ command line interface.
+ interface en ligne de commande.
+
+
+
+ PostgreSQL Database Modeler Project - pgmodeler.io
+
+
+
+
+ Copyright 2006-2019 Raphael A. Silva <raphael@pgmodeler.io>
+
+
+
+
+ Usage: pgmodeler-cli [OPTIONS]
+ Utilisation : pgmodeler-cli [OPTIONS]
+
+
+
+ This CLI tool provides several operations over models and databases without the need to perform them
+in pgModeler's graphical interface. All available options are described below.
+
+
+
+
+ General options:
+ Options générales :
+
+
+
+ %1, %2 [FILE] Input model file (.dbm). This is mandatory for fix, export operations.
+
+
+
+
+ %1, %2 [DBNAME] Input database name. This is mandatory for import operation.
+
+
+
+
+ %1, %2 [FILE] Output file. This is mandatory for fixing model or exporting to file, png or svg.
+
+
+
+
+ %1, %2 Try to fix the structure of the input model file in order to make it loadable again.
+
+
+
+
+ %1, %2 [NUMBER] Model fix tries. When reaching the maximum count the invalid objects will be discarded.
+
+
+
+
+ %1, %2 Export the input model to a sql script file.
+
+
+
+
+ %1, %2 Export the input model to a png image.
+
+
+
+
+ %1, %2 Export the input model to a svg file.
+
+
+
+
+ %1, %2 Export the input model directly to a PostgreSQL server.
+
+
+
+
+ %1, %2 Export the input model to a data directory in HTML format.
+
+
+
+
+ %1, %2 Import a database to an output file.
+
+
+
+
+ %1, %2 Compares a model and a database or two databases generating the SQL script to synch the latter in relation to the first.
+
+
+
+
+ %1, %2 Force the PostgreSQL version of generated SQL code.
+
+
+
+
+ %1, %2 Silent execution. Only critical messages and errors are shown during process.
+
+
+
+
+ %1, %2 Show this help menu.
+
+
+
+
+ Connection options:
+
+
+
+
+ %1, %2 List available connections in file %3.
+
+
+
+
+ %1, %2 [ALIAS] Connection configuration alias to be used.
+
+
+
+
+ %1, %2 [HOST] PostgreSQL host in which a task will operate.
+
+
+
+
+ %1, %2 [PORT] PostgreSQL host listening port.
+
+
+
+
+ %1, %2 [USER] PostgreSQL username.
+
+
+
+
+ %1, %2 [PASSWORD] PostgreSQL user password.
+
+
+
+
+ %1, %2 [DBNAME] Connection's initial database.
+
+
+
+
+ PNG and SVG export options:
+ Options d'export en PNG et SVG :
+
+
+
+ %1, %2 Draws the grid in the exported image.
+
+
+
+
+ %1, %2 Draws the page delimiters in the exported image.
+
+
+
+
+ %1, %2 Each page will be exported in a separated png image. (Only for PNG images)
+
+
+
+
+ %1, %2 [FACTOR] Applies a zoom (in percent) before export to png image. Accepted zoom interval: %3-%4 (Only for PNG images)
+
+
+
+
+ DBMS export options:
+ Options d'export directe dans un serveur :
+
+
+
+ %1, %2 Ignores errors related to duplicated objects that eventually exist in the server.
+
+
+
+
+ %1, %2 [CODES] Ignores additional errors by their codes. A comma-separated list of alphanumeric codes should be provided.
+ %1, %2=[CODES] Ignore les erreurs supplémentaires par leurs codes. Une liste de codes alphanumériques séparés par des virgules doit être fournie. {1,?} {2 ?}
+
+
+
+ %1, %2 Drop the database before execute a export process.
+
+
+
+
+ %1, %2 Runs the DROP commands attached to SQL-enabled objects.
+
+
+
+
+ %1, %2 Simulates an export process by executing all steps but undoing any modification in the end.
+
+
+
+
+ %1, %2 Generates temporary names for database, roles and tablespaces when in simulation mode.
+
+
+
+
+ Data dictionary export options:
+
+
+
+
+ %1, %2 The data dictionaries are generated in separated files inside the selected output directory.
+
+
+
+
+ %1, %2 Avoids the generation of the index that is used to help navigating through the data dictionary.
+
+
+
+
+ Database import options:
+
+
+
+
+ %1, %2 Ignore all errors and try to create as many as possible objects.
+
+
+
+
+ %1, %2 Import system built-in objects. This option causes the model bloating due to the importing of unneeded objects.
+
+
+
+
+ %1, %2 Import extension objects. This option causes the model bloating due to the importing of unneeded objects.
+
+
+
+
+ %1, %2 Run import in debug mode printing all queries executed in the server.
+
+
+
+
+ Diff options:
+
+
+
+
+ %1, %2 [DBNAME] The database used in the comparison. All the SQL code generated is applied to it.
+
+
+
+
+ %1, %2 Save the generated diff code to output file.
+
+
+
+
+ %1, %2 Apply the generated diff code on the database server.
+
+
+
+
+ %1, %2 Don't preview the generated diff code when applying it to the server.
+
+
+
+
+ %1, %2 Drop cluster level objects like roles and tablespaces.
+
+
+
+
+ %1, %2 Revoke permissions already set on the database. New permissions configured in the input model are still applied.
+
+
+
+
+ %1, %2 Drop missing objects. Generates DROP commands for objects that are present in the input model but not in the compared database.
+
+
+
+
+ %1, %2 Force the drop of missing columns and constraints. Causes only columns and constraints to be dropped, other missing objects aren't removed.
+
+
+
+
+ %1, %2 Rename the destination database when the names of the involved databases are different.
+
+
+
+
+ %1, %2 Don't drop or truncate objects in cascade mode.
+
+
+
+
+ %1, %2 Truncate tables prior to alter columns. Avoids errors related to type casting when the new type of a column isn't compatible to the old one.
+
+
+
+
+ %1, %2 Don't reuse sequences on serial columns. Drop the old sequence assigned to a serial column and creates a new one.
+
+
+
+
+ %1, %2 Don't force the recreation of objects. Avoids the usage of a DROP and CREATE commands to create a new version of the objects.
+
+
+
+
+ %1, %2 Don't recreate the unmodifiable objects. These objects are the ones which can't be changed via ALTER command.
+
+
+
+
+ Miscellaneous options:
+ Options diverses :
+
+
+
+ %1, %2 [ACTION] Handles the file association to .dbm files. The ACTION can be [%3 | %4].
+
+
+
+
+ %1, %2 The file association to .dbm files will be applied in a system wide level instead of to the current user.
+
+
+
+
+ ** The diff process allows the usage of the following options related to import and export operations:
+
+
+
+
+ * Export:
+
+
+
+
+ * Import:
+
+
+
+
+ ** When running the diff using two databases (%1 and %2) there's the need to specify two connections/aliases.
+
+
+
+
+ If only one connection is set it will be used to import the input database as well to retrieve database used in the comparison.
+
+
+
+
+ A second connection can be specified by appending a 1 on any connection configuration parameter listed above.
+
+
+
+
+ There are no connections configured.
+ Il n'y a aucune connexion configurée.
+
+
+
+ Available connections (alias : connection string)
+
+
+
+
+ No operation mode was specified!
+
+
+
+
+ Export, fix model, import database, diff and update mime operations can't be used at the same time!
+
+
+
+
+ Multiple export mode was specified!
+
+
+
+
+ No input file was specified!
+
+
+
+
+ No input database was specified!
+
+
+
+
+ No output file was specified!
+
+
+
+
+ Input file must be different from output!
+ Le fichier source doit être différent du fichier de sortie !
+
+
+
+ Incomplete connection information!
+ Les informations de connexion sont incomplètes !
+
+
+
+ Invalid zoom specified!
+ Zoom spécifié invalide !
+
+
+
+ Invalid action specified to update mime option!
+ Action spécifiée invalide pour mettre à jour l'option mime !
+
+
+
+ No input file or database was specified!
+
+
+
+
+ The input file and database can't be used at the same time!
+
+
+
+
+ No database to be compared was specified!
+
+
+
+
+ No diff action (save or apply) was specified!
+
+
+
+
+ No output file for the diff code was specified!
+
+
+
+
+ command line interface.
+
+
+
+
+ ** Error code `%1' found and ignored. Proceeding with export.
+
+
+
+
+ ** Command: %1
+
+
+
+
+ Extracting objects' XML...
+ Extraction des objets XML...
+
+
+
+ Invalid input file! It seems that is not a pgModeler generated model or the file is corrupted!
+ Fichier d'entrée invalide ! Il semble que ce ne soit pas un modèle généré par pgModeler ou que le fichier soit corrompu !
+
+
+
+ Recreating objects...
+ Recréation des objets...
+
+
+
+
+** Object(s) that couldn't fixed:
+
+** Ces objets ne peuvent être corrigés :
+
+
+
+ WARNING: There are objects that maybe can't be fixed. Trying again... (tries %1/%2)
+ AVERTISSEMENT : Certains objets ne peuvent peut-être pas être corrigés. Nouvel essai... (%1/%2)
+
+
+
+ Starting model fixing...
+ Lancement de la fixation du modèle...
+
+
+
+
+ Loading input file: %1
+
+
+
+
+ Fixed model file: %1
+
+
+
+
+ Model successfully fixed!
+ Modèle fixé avec succès !
+
+
+
+ Starting model export...
+ Début de l'export du modèle...
+
+
+
+ Export to PNG image: %1
+
+
+
+
+ Export to SVG file: %1
+
+
+
+
+ Export to SQL script file: %1
+
+
+
+
+ Export to data dictionary: %1
+
+
+
+
+ Export to DBMS: %1
+
+
+
+
+ Export successfully ended!
+
+
+
+
+
+ Starting database import...
+
+
+
+
+
+ Input database: %1
+
+
+
+
+ Saving the imported database to file...
+
+
+
+
+ Import successfully ended!
+
+
+
+
+
+ Starting diff process...
+
+
+
+
+ Input model: %1
+
+
+
+
+ Compare to: %1
+
+
+
+
+ Loading input model...
+
+
+
+
+
+ Importing the database `%1'...
+
+
+
+
+ Comparing the generated models...
+
+
+
+
+ No differences were detected.
+
+
+
+
+ Saving diff to file `%1'
+
+
+
+
+ ** WARNING: You are about to apply the generated diff code to the server. Data can be lost in the process!
+
+
+
+
+ ** Proceed with the diff applying? (yes/no) >
+
+
+
+
+ yes
+
+
+
+
+
+ no
+
+
+
+
+ Diff code not applied to the server.
+
+
+
+
+ Applying diff to the database `%1'...
+
+
+
+
+ Diff successfully ended!
+
+
+
+
+
+ Starting mime update...
+ Lancement de la mise à jour du mime...
+
+
+
+ Mime database successfully updated!
+
+
+
+
+
+ Mime database operation: %1
+ Opération de base de données mime : %1
+
+
+
+ Can't erase the file %1! Check if the current user has permissions to delete it and if the file exists.
+ Impossible d'effacer le fichier %1 ! Vérifiez si l'utilisateur actuel dispose des autorisations pour le supprimer et si le fichier existe.
+
+
+
+ Running update-mime-database command...
+ Exécution de la commande update-mime-database...
+
+
+
+ PgModelerPlugin
+
+
+ Plugin Information
+ Information d'extension
+
+
+
+ Version: %1
+ Version : %1
+
+
+
+ Author: %1
+ Auteur : %1
+
+
+
+ PgModelerUiNs
+
+
+ Do you want to apply the <strong>SQL %1 status</strong> to the object's references too? This will avoid problems when exporting or validating the model.
+ Souhaitez-vous appliquer le statut SQL <strong>%1</strong> aux références de l'objet également ? Cela permet d'éviter des problèmes lors de l'export ou de la validation du modèle.
+
+
+
+ disabling
+ désactivé
+
+
+
+ enabling
+ activé
+
+
+
+ Another %1 error(s) were suppressed due to stacktrace size limits.
+ %1 autre erreur(s) ont été supprimés en raison de la limite de taille de la pile d'appels.
+
+
+
+ PgSQLTypeWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Data Type
+ Type de donnée
+
+
+
+ SRID:
+ SRID :
+
+
+
+ Variation:
+ Variation :
+
+
+
+ Z
+ Z
+
+
+
+ M
+ M
+
+
+
+
+ Precision
+ Précision
+
+
+
+ Spatial:
+ Spatial :
+
+
+
+
+ Dimension
+ Dimension
+
+
+
+ Format:
+ Format :
+
+
+
+ Timezone:
+ Fuseau horaire :
+
+
+
+ Type:
+ Type :
+
+
+
+ P:
+ P :
+
+
+
+
+ Length
+ Longueur
+
+
+
+ L:
+ L :
+
+
+
+ Interval:
+ Intervalle :
+
+
+
+ [ ]:
+ [ ] :
+
+
+
+ NONE
+ AUCUN
+
+
+
+ PhysicalTable
+
+
+ In demonstration version tables can have only `%1' instances of each child object type or ancestor tables! You've reach this limit for the type: `%2'
+ Dans la version de démonstration, les tables ne peuvent contenir que `%1' instance(s) de chaque type d'objet enfant ou table ancêtre ! Vous avez atteint cette limite pour le type : `%2'
+
+
+
+ PluginsConfigWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Plug-ins root directory:
+ Répertoire racine des extensions :
+
+
+
+ Open in file manager
+ Ouvrir dans le gestionnaire de fichier
+
+
+
+ Loaded plug-ins
+ Extensions chargées
+
+
+
+ Plugin
+ Extension
+
+
+
+ Version
+
+
+
+
+ Library
+ Bibliothèque
+
+
+
+ PolicyWidget
+
+
+ Basics
+ Notions de base
+
+
+
+ Command:
+ Commande :
+
+
+
+ Permissive
+ Permissif
+
+
+
+ Roles
+ Rôles
+
+
+
+ Expressions
+
+
+
+
+ USING:
+ Anglicisme a conserver (SQL)
+ USING :
+
+
+
+ CHECK:
+ Anglicisme a conserver (SQL)
+ CHECK :
+
+
+
+ Name
+ Nom
+
+
+
+ Leave the <em><strong>Roles</strong></em> grid empty in order to create a %1 applicable to <strong><em>PUBLIC</em></strong>.
+ Laissez la grille <em><strong>Rôles</strong></em> vide afin de créer un %1 applicable à <strong><em>PUBLIC</em></strong>.
+
+
+
+ QObject
+
+
+ new_database
+ nouvelle_base_de_données
+
+
+
+
+
+
+ %1 (line: %2)
+ %1 (ligne : %2)
+
+
+
+ ReferenceWidget
+
+
+ Reference properties
+
+
+
+
+ Properties
+ Propriétés
+
+
+
+ Ref. type:
+
+
+
+
+ <p>The reference will be used as part of the WHERE clause in form of conditional expression. </p>
+
+
+
+
+ WHERE
+
+
+
+
+ <p>The reference is used in the FROM portion of the command in order to reference tables or construct JOIN statements.</p>
+
+
+
+
+ FROM
+
+
+
+
+ <p>The reference will be appended to the very end of the view's definition. This is useful when using GROUP BY/HAVING statements.</p>
+
+
+
+
+ GROUP/HAVING
+
+
+
+
+ <p>The reference's expression is used exclusively as the view's definition.</p>
+
+
+
+
+ View Definition
+ Définition de la vue
+
+
+
+ <p>The reference will be used as part of the SELECT statement to retrieve columns or expressions that will compose the view's columns.</p>
+
+
+
+
+ SELECT
+
+
+
+
+ View's references can point to a table, column or expression.
+
+
+
+
+
+ Table / Column
+
+
+
+
+ Expression
+ Expression
+
+
+
+ Ref. alias:
+
+
+
+
+ <p>This is a more friendly description for the reference. When displaying the model in compact view this is the text shown for the reference instead of its real description. If this field is empty the real description will be displayed anyway.</p>
+
+
+
+
+ Used in:
+ Utilisé dans :
+
+
+
+ Ref. object:
+
+
+
+
+ Table alias:
+
+
+
+
+ Column alias:
+
+
+
+
+ Expression:
+ Expression :
+
+
+
+ Expr. alias:
+
+
+
+
+ Columns
+ Colonnes
+
+
+
+ This is the name of the object in the PostgreSQL database.
+
+
+
+
+ Name:
+ Nom :
+
+
+
+ <p>This is a more friendly name for the column. When displaying the model in compact view this is the name shown for the column instead of its real name. If this field is empty the real name will be displayed anyway.</p>
+
+
+
+
+ Alias:
+
+
+
+
+ Referenced tables
+ Tables référencées
+
+
+
+ Table:
+ Table :
+
+
+
+ To reference all columns of a table select only a table in the object selector, this is the same as write <em><strong>[schema].[table].*</strong></em>. In order to reference a only a single column of a table select a column object in the selector.
+
+
+
+
+
+ Name
+ Nom
+
+
+
+ Type
+ Type
+
+
+
+ Alias
+
+
+
+
+ This tab can be used to inform the columns that the view owns. This is just a convenience to make the visualization of this kind of object more intuitive. If no column is specified here the columns of the view displayed in the canvas will be a fragment of the expression defined in the previous tab.
+
+
+
+
+ Schema
+ Schéma
+
+
+
+ This tab can be used to inform the tables that the view references. This is just a convenience to make the visualization of this kind of object more intuitive. If no table is specified here no relationship will be displayed in the canvas. Note that no validation will be done to check if the provided tables are really referenced by the view.
+
+
+
+
+ Relationship
+
+
+ %1_has_one_%2
+ Faut-il le traduire ?
+
+
+
+
+ %1_has_many_%2
+ Faut-il le traduire ?
+
+
+
+
+ many_%1_has_many_%2
+ Faut-il le traduire ?
+
+
+
+
+ %1_inherits_%2
+ Faut-il le traduire ?
+
+
+
+
+ %1_is_partition_of_%2
+
+
+
+
+ %1_copies_%2
+ Faut-il le traduire ?
+
+
+
+
+ RelationshipConfigWidget
+
+
+ Form
+ Formulaire
+
+
+
+ <p>This mode renders the relationships in crow's foot notation which has a better semantics and readability. It also determines the optimal point where the relationship is connected on the tables' edges taking their position into account.</p>
+ <p>Mode en patte de corbeau. La liaison s'effectue entre les tables avec cette notation pour une meilleure lisibilité.</p>
+
+
+
+ <p>This mode determines the optimal point where the relationship is connected on the tables' edges taking their position into account. It implies the usage of the classical ER notation.</p>
+ <p>Mode optimisé. La liaison s'effectue entre les tables en un point optimal sur les bords des tables. Ce mode utilise la notation classique Entité-Association.</p>
+
+
+
+ Connect FK to PK columns
+ Relier via les colonnes des clés étrangères et clés primaires
+
+
+
+ <p>This mode is the classical one. It connects the relationship to tables through their central points. It implies the usage of the classical ER notation.</p>
+ <p>Mode classique. La liaison s'effectue entre les tables en leur point central. Ce mode utilise la notation classique Entité-Association.</p>
+
+
+
+
+ Connect tables' center points
+ Relier en un point central
+
+
+
+ Foreign key settings
+ Clés étrangères
+
+
+
+ Deferral:
+ Report :
+
+
+
+ Deferrable:
+ Reportable :
+
+
+
+ ON DELETE:
+ ON DELETE :
+
+
+
+ ON UPDATE:
+ ON UPDATE :
+
+
+
+ Name patterns
+ Règles de nommage
+
+
+
+ Relationship type:
+ Type de relation :
+
+
+
+ Foreign Key (Target):
+ Clé étrangère (Cible) :
+
+
+
+ Unique Key Name:
+ Nom contrainte unique :
+
+
+
+ Primary Key Name:
+ Nom contrainte clé primaire :
+
+
+
+ Primary Key Column:
+ Nom colonne clé primaire :
+
+
+
+ Column (Target):
+ Colonne (Cible) :
+
+
+
+ Foreign Key (Source):
+ Clé étrangère (Source) :
+
+
+
+ Column (Source):
+ Colonne (Source) :
+
+
+
+ Connection Mode
+ Affichage
+
+
+
+ FK Settings && Patterns
+ Clés étrangères && nommage
+
+
+
+ Default
+ Défaut
+
+
+
+ Pattern for foreign key generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+ Motif pour les noms de clés étrangères générées qui sont basées sur la clé primaire d'une table référencée (1 :1 et 1 :n) ou sur la clé primaire de la table source (n :n).
+
+
+
+ Pattern for columns generated based upon target table's pk (n-n).
+ Motif pour les noms de colonnes générées qui sont basées sur la clé primaire de la table cible (n :n).
+
+
+
+ Pattern for columns generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+ Motif pour les noms de colonnes générées qui sont basées sur la clé primaire d'une table référencée (1 :1 et 1 :n) ou sur la clé primaire de la table source (n :n).
+
+
+
+ Pattern for foreign key generated based upon target table's pk (n-n).
+ Motif pour les noms de clés étrangères générées qui sont basées sur une clé primaire de la table cible (n :n).
+
+
+
+ Pattern for unique key generated by the relationship.
+ Motif pour les noms de clés uniques qui sont générées par une association.
+
+
+
+
+ Pattern for primary key generated by identifier relationship.
+ Motif pour les noms de clés primaires qui sont générées par une relation.
+
+
+
+ Crow's foot notation
+ Relier en patte de corbeau (Crow's foot)
+
+
+
+ Connect tables' edges
+ Relier par les bords des tables
+
+
+
+ This mode is available only for <strong>one-to-one</strong>, <strong>one-to-many</strong> and <strong>fk relationships</strong> but provides a better semantics when linking tables by placing the lines on the exact point where the relationship occurs. It implies the usage of the classical ER notation.
+ Ce mode d'affichage est disponible uniquement pour les associations de type <strong>un-à-un</strong>, <strong>un-à-plusieurs</strong> et <strong>les associations aux clés étrangères</strong> mais fournit une meilleure sémantique lors de l'association de tables en plaçant les lignes sur le point exact où l'association se produit. Cela implique l'utilisation de la notation ER classique.
+
+
+
+ RelationshipWidget
+
+
+ General
+ Général
+
+
+
+ Identifier
+ Identifiant
+
+
+
+ Rel. Type:
+ Type de relation :
+
+
+
+ Table 1:
+ Table n°1 :
+
+
+
+ Table 2:
+ Table n°2 :
+
+
+
+ Foreign key Settings
+ Propriétés par défaut des clés étrangères
+
+
+
+
+ Use the values defined on settings dialogs for the fields below
+ Utiliser les paramètres de pgModeler pour les champs ci-dessous
+
+
+
+
+ Use global settings for these fields
+ Utiliser les paramètres globaux de pgModeler
+
+
+
+ ON DELETE:
+ ON DELETE :
+
+
+
+ ON UPDATE:
+ ON UPDATE :
+
+
+
+ Name Patterns
+ Règles de nommage
+
+
+
+ Column (Source):
+ Colonne (Source) :
+
+
+
+ Column (Target):
+ Colonne (Cible) :
+
+
+
+ Foreign Key (Source):
+ Clé étrangère (Source) :
+
+
+
+ Foreign Key (Target):
+ Clé étrangère (Cible) :
+
+
+
+ Cardinality:
+ Cardinalité :
+
+
+
+ [SRC] is required
+ [SRC] est requis
+
+
+
+ [DST] is required
+ [DST] est requis
+
+
+
+
+ Name of the table generated from many to many relationship
+ Nom de la table générée par une relation plusieurs à plusieurs
+
+
+
+ rel_type
+
+
+
+
+ <p>The receiver's primary key will be composed by the generated foreign key columns.</p>
+
+
+
+
+ <p>Instead of create a multi-valued primary key with the generated foreign keys columns a single column is created and used as primary key.</p>
+
+
+
+
+ Bounding expression
+
+
+
+
+ Partitioning type:
+
+
+
+
+ NONE
+ AUCUN
+
+
+
+ <p>Default partitions are only supported on <strong>PostgreSQL 11+</strong>. Using this option and exporting the code to PostgreSQL 10 syntax errors will be raised.</p>
+
+
+
+
+ Default partition
+
+
+
+
+ Generate the partition bounding expression based upon the partitioning type in use.
+
+
+
+
+ Generate expression
+
+
+
+
+ Settings
+ Paramètres
+
+
+
+ Deferrable:
+ Reportable :
+
+
+
+ Deferral:
+ Report :
+
+
+
+ Copy Options
+ Options de copie
+
+
+
+ INDEXES
+ INDEX
+
+
+
+ COMMENTS
+ COMMENTAIRES
+
+
+
+ INCLUDING
+ INCLURE
+
+
+
+ DEFAULTS
+ DEFAUTS
+
+
+
+ CONSTRAINTS
+ CONTRAINTES
+
+
+
+ Use defaults
+ Utiliser les valeurs par défauts
+
+
+
+ ALL
+ TOUT
+
+
+
+ STORAGE
+ STOCKAGE
+
+
+
+ Gen. Table Name:
+ Nom nouvelle table :
+
+
+
+ STATISTICS
+
+
+
+
+ IDENTITY
+
+
+
+
+ Attributes
+ Attributs
+
+
+
+ Constraints
+ Contraintes
+
+
+
+ Primary key
+ Clé primaire
+
+
+
+ Advanced
+ Avancé
+
+
+
+ Attribute
+ Attribut
+
+
+
+
+
+ Type
+
+
+
+
+ Constraint
+ Contrainte
+
+
+
+ Name
+ Nom
+
+
+
+ This advanced tab shows the objects (columns or table) auto created by the relationship's connection as well the foreign keys that represents the link between the participant tables.
+ Cet onglet avancé montre les objets (colonnes ou tables) générés automatiquement par la relation ainsi que les clés étrangères qui forment le(s) lien(s) entre les tables.
+
+
+
+ <p>Referer view references one or more columns of a table to construct it's own columns.</p>
+
+
+
+
+ <p>Referenced table has its columns referenced by a view in order to construct the columns of this latter.</p>
+
+
+
+
+ <p>Referer table references one or more columns of a table through foreign keys. This is the (n) side of relationship.</p>
+
+
+
+
+ <p>Referenced table has its columns referenced by a table's foreign key. This is the (1) side of relationship.</p>
+
+
+
+
+ Partitioned Table:
+
+
+
+
+ <p>Partitioned table is the one which is splitted into smaller pieces (partitions). This table is where the partitioning strategy or type is defined.</p>
+
+
+
+
+ Partition Table:
+
+
+
+
+ <p>Partition table is the one attached to a partitioned table in which operations over data will be routed (according to the paritionig rule) when trying to handle the partitioned table.</p>
+
+
+
+
+ <p>Reference table has the columns from its primary key will copied to the receiver table in order to represent the linking between them. This is the (1) side of relationship.</p>
+
+
+
+
+ <p>Receiver (or referer) table will receive the generated columns and the foreign key in order to represent the linking between them. This is the (n) side of relationship.</p>
+
+
+
+
+ <p>In many-to-many relationships both tables are used as reference to generate the table that represents the linking. Columns from both tables are copied to the resultant table and two foreign keys are created as well in order to reference each participant table.</p>
+
+
+
+
+
+ is required
+ est requis
+
+
+
+
+
+ Reference Table:
+ Table référente :
+
+
+
+ Default
+ Défaut
+
+
+
+ Receiver Table:
+ Table de destination :
+
+
+
+ Pattern for columns generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+ Motif pour les noms de colonnes générées qui sont basées sur la clé primaire d'une table référencée (1 :1 et 1 :n) ou sur la clé primaire de la table source (n :n).
+
+
+
+ Pattern for columns generated based upon target table's pk (n-n).
+ Motif pour les noms de colonnes générées qui sont basées sur la clé primaire de la table cible (n :n).
+
+
+
+ Pattern for foreign key generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+ Motif pour les noms de clés étrangères générées qui sont basées sur la clé primaire d'une table référencée (1 :1 et 1 :n) ou sur la clé primaire de la table source (n :n).
+
+
+
+ Pattern for foreign key generated based upon target table's pk (n-n).
+ Motif pour les noms de clés étrangères générées qui sont basées sur une clé primaire de la table cible (n :n).
+
+
+
+
+ Pattern for primary key generated by identifier relationship.
+ Motif pour les noms de clés primaires qui sont générées par une association.
+
+
+
+ Primary Key Name:
+ Nom de clé primaire :
+
+
+
+ Pattern for unique key generated by the relationship.
+ Motif pour les noms de clés uniques qui sont générées par une association.
+
+
+
+ Unique Key Name:
+ Nom clé unique :
+
+
+
+ Primay Key Column:
+ Colonne de clé primaire :
+
+
+
+ Single PK column
+ Colonne clé primaire simple
+
+
+
+ Custom Color:
+ Couleur personnalisée :
+
+
+
+ Use the special primary key if you want to include a primary key containing generated columns to the receiver table. <strong>Important:</strong> if this is a new relationship there is a need to finish its creation and reopen this dialog to create the special primary key.
+ Utilisez la clé primaire spéciale si vous souhaitez inclure une clé primaire contenant des colonnes générées dans la table de destination. <strong>Important :</strong> s'il s'agit d'une nouvelle relation, il est nécessaire de terminer sa création et de réouvrir cette boîte de dialogue pour créer la clé primaire spéciale.
+
+
+
+ Referer View:
+ Vue référente :
+
+
+
+ Referer Table:
+ Table référente :
+
+
+
+ Referenced Table:
+ Table référencée :
+
+
+
+ E&XCLUDING
+ E&XCLUSION
+
+
+
+ Available tokens to define name patterns:<br/> <strong>%1</strong> = Reference (source) primary key column name. <em>(Ignored on constraint patterns)</em><br/> <strong>%2</strong> = Reference (source) table name.<br/> <strong>%3</strong> = Receiver (destination) table name.<br/> <strong>%4</strong> = Generated table name. <em>(Only for n:n relationships)</em>
+ Formes disponibles pour définir les modèles de noms : <br/> <strong>%1</strong> = Nom de la colonne de clé primaire de référence (source). <em>(Ignoré sur les modèles de contrainte)</em><br/> <strong>%2</strong> = Nom de la table de référence (source).<br/> <strong>%3</strong> = Nom de la table référencée (ou de déstination). <br/> <strong>%4</strong> = Nom de la table générée. <em>(Seulement pour les relations n:n)</em>
+
+
+
+ ResultSetModel
+
+
+
+ [binary data]
+ [données binaires]
+
+
+
+ RoleWidget
+
+
+ Password:
+ Mot de passe :
+
+
+
+ Connections:
+ Connexions :
+
+
+
+ Attributes
+ Attributs
+
+
+
+ Superuser
+ Super utilisateur
+
+
+
+ Inherit permissions
+ Hériter des permissions
+
+
+
+ Can create database
+ Peut créer des bases de données
+
+
+
+ Can use replication
+ Peut utiliser la réplication
+
+
+
+ Can login
+ Peut se loguer
+
+
+
+ Encrypted
+ Encrypté
+
+
+
+
+ Members
+ Membres
+
+
+
+
+ Member of
+ Membre de
+
+
+
+
+ Members (Admin.)
+ Membres (Admin.)
+
+
+
+ Role
+ Rôle
+
+
+
+
+ Validity
+ Validité
+
+
+
+ yyyy-MMM-dd hh:mm:ss
+ aaaa-MMM-jj hh :mm :ss
+
+
+
+ Assigning <strong><em>-1</em></strong> to <strong><em>Connections</em></strong> creates a role without connection limit.<br/> Unchecking <strong><em>Validity</em></strong> creates an role that never expires.
+ L'affectation de <strong><em>-1</em></strong> à <strong><em>Connexions</em></strong> crée un rôle sans limite de connexion.<br/> Décocher <strong><em>Validité</em></strong> crée un rôle qui n'expire jamais.
+
+
+
+ Bypass RLS
+ Contournement RLS
+
+
+
+ Can create role
+ Peut créer des rôles
+
+
+
+ RuleWidget
+
+
+ Event:
+ Évènement :
+
+
+
+ Execution Type:
+ Type d'exécution :
+
+
+
+ Conditional Expr.:
+ Expr. conditionnelle :
+
+
+
+ Commands
+ Commandes
+
+
+
+ SQL Command:
+ Commandes SQL :
+
+
+
+ SQL command
+ Commande SQL
+
+
+
+ To create a rule that does not perform any action (<strong>DO NOTHING</strong>) simply do not specify commands in the SQL commands table.
+ Pour créer une règle qui n'éxécute aucune action (<strong>DO NOTHING</strong>), ne spécifiez aucune commandes dans le champs des commandes SQL.
+
+
+
+ SQLExecutionWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Save SQL commands
+ Sauvegarder commandes SQL
+
+
+
+ Alt+F
+ Alt+F
+
+
+
+ Run the specified SQL command
+ Exécuter la commande SQL entrée
+
+
+
+ Clear sql input field and results
+ Effacer le code SQL et la grille de résultat
+
+
+
+ Clear All
+ Effacer
+
+
+
+
+ Export results to a CSV file
+ Exporter les résultats dans un fichier CSV
+
+
+
+ Snippe&ts
+ Extrai&ts de code
+
+
+
+ Alt+T
+
+
+
+
+ E&xport
+ E&xporter
+
+
+
+
+ ...
+ ...
+
+
+
+ SQL file (*.sql);;All files (*.*)
+ Fichier SQL (*.sql);;Tous les fichiers (*.*)
+
+
+
+ Load
+ Charger
+
+
+
+ Save
+ Enregistrer
+
+
+
+ Save as
+ Enregistrer sous
+
+
+
+ [binary data]
+ [données binaires]
+
+
+
+ No results retrieved or changes done due to the error above! Run the command again.
+ Aucun resultat retourné ou aucun changement effectué en raison de l'erreur ci-dessus. Relancer la commande.
+
+
+
+
+ Messages (%1)
+
+
+
+
+ [%1]: SQL command successfully executed in <em><strong>%2</strong></em>. <em>%3 <strong>%4</strong></em>
+ [%1]: Commande SQL exécutée avec succès en <em><strong>%2</strong></em>. <em>%3 <strong>%4</strong></em>
+
+
+
+ Executed at
+ Exécuté à
+
+
+
+ Command failed
+ La commande a échoué
+
+
+
+ Rows:
+ Lignes :
+
+
+
+ [%1]: SQL command is running...
+ [%1]: Commande SQL en cours d'éxécution...
+
+
+
+ Save CSV file
+ Sauvegarder fichier CSV
+
+
+
+ Comma-separated values file (*.csv);;All files (*.*)
+ Fichiers CSV avec champs séparés par des virgules (*.csv);;Tous les fichiers (*.*)
+
+
+
+ The SQL input field and the results grid will be cleared! Want to proceed?
+ Le champ d'entrée SQL ainsi que la grille des résultats vont être purgés ! Voulez-vous poursuivre ?
+
+
+
+ Save history
+ Enregistrer l'historique
+
+
+
+ Reload history
+ Recharger l'historique
+
+
+
+ Find in history
+ Rechercher dans l'historique
+
+
+
+ Hide find tool
+ Masquer l'outil de recherche
+
+
+
+ This action will wipe out all the SQL commands history for the current connection! Do you really want to proceed?
+ Cette action effacera tout l'historique des commandes SQL pour la connexion en cours ! Voulez-vous vraiment poursuivre ?
+
+
+
+ Load SQL commands
+ Charger commandes SQL
+
+
+
+ Copy selection
+ Copier la sélection
+
+
+
+ Search in SQL code
+ Rechercher dans le code SQL
+
+
+
+ Toggles the output pane
+ (Dés)active le volet de sortie
+
+
+
+ &Output
+ S&ortie
+
+
+
+ Alt+O
+ Alt+O
+
+
+
+
+
+
+ Results
+ Résultats
+
+
+
+ Case sensitive
+ Respecter la casse
+
+
+
+ Regular expression
+ Expression régulière
+
+
+
+ Exact match
+ Correspondance exacte
+
+
+
+ Hide this widget
+ Masquer ce widget
+
+
+
+ Messages
+
+
+
+
+ History
+ Historique
+
+
+
+ Results (%1)
+ Resultats (%1)
+
+
+
+ Rows affected
+ Lignes affectées
+
+
+
+ Rows retrieved
+ Lignes récupérées
+
+
+
+ Plain format
+ Format simple
+
+
+
+ CVS format
+ Format CVS
+
+
+
+ This action will wipe out all the SQL commands history for all connections! Do you really want to proceed?
+ Cette action effacera tout l'historique des commandes SQL pour toutes les connexions ! Voulez-vous vraiment poursuivre ?
+
+
+
+ Clear history
+ Nettoyer l'historique
+
+
+
+ Close the current SQL script
+ Fermer le script SQL actuel
+
+
+
+ SQL script currently handled
+ Script SQL actuellement géré
+
+
+
+ (not saved)
+ (non enregistré)
+
+
+
+ Run
+ Lancer
+
+
+
+ F5
+ F5
+
+
+
+ Cancel the execution of the current SQL command
+ Annuler l'exécution de la commande SQL courante
+
+
+
+ Stop
+ Arrêter
+
+
+
+ Esc
+ Échap
+
+
+
+ Handle external SQL script
+ Gérer le script SQL externe
+
+
+
+ &Script
+
+
+
+
+ Fi&nd
+ &Rechercher
+
+
+
+ Ctrl+F
+ Ctrl+F
+
+
+
+ Alt+X
+
+
+
+
+ Filter the retrived results
+ Filtrer parmis les résultats obtenus
+
+
+
+ F&ilter
+ F&iltrer
+
+
+
+ Alt+I
+ Alt+I
+
+
+
+ Current working database
+ Base de données de travail actuelle
+
+
+
+ SQLToolWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Database explorer
+ Explorateur de bases de données
+
+
+
+ SQL execution
+ Exécuteur de code SQL
+
+
+
+
+ ...
+ ...
+
+
+
+ Add a new execution tab for the current database (%1)
+ Ouvrir un nouvel onglet pour la base courante (%1)
+
+
+
+
+ Warning
+ Avertissement
+
+
+
+ Failed to load the file `%1' in SQL tool because the connection ID `%2' was not found!
+ Echec du chargement du fichier `%1' dans l'outil SQL car la connexion `%2 n'existe pas !
+
+
+
+ <strong>ATTENTION:</strong> Close the database being browsed will close any opened SQL execution pane related to it! Do you really want to proceed?
+ <strong>ATTENTION:</strong> La fermeture de la connexion à la base de données en cours de consultation provoquera la fermeture de tous les onglets ouverts associés ! Souhaitez-vous vraiment poursuivre ?
+
+
+
+ Disconnect from all databases
+ Se déconnecter de toutes les bases de données
+
+
+
+ Update the database list
+ Actualiser la liste des bases disponibles
+
+
+
+ Toggle the object's attributes grid
+ (Dés)active la grille des attributs de l'objet
+
+
+
+ Attributes
+ Attributs
+
+
+
+ Alt+R
+ Alt+R
+
+
+
+ Toggle the display of source code pane
+ (Dés)active l'affichage du volet du code source
+
+
+
+
+ Source code
+ Code source
+
+
+
+ <strong>ATTENTION:</strong> Disconnect from all databases will close any opened tab in this view! Do you really want to proceed?
+ <strong>ATTENTION :</strong> Se déconnecter de toutes les bases de données fermera tout onglet ouvert dans cette vue ! Souhaitez-vous vraiment poursuivre ?
+
+
+
+ SceneInfoWidget
+
+
+ Form
+ Formulaire
+
+
+
+
+ Current position of the mouse in the canvas
+ Position actuelle de la souris dans le canevas
+
+
+
+
+
+
+ -
+
+
+
+
+
+ Current zoom factor
+ Facteur de zoom actuel
+
+
+
+
+ Currently selected object(s)
+ Objet(s) actuellement sélectionné(s)
+
+
+
+
+ Dimensions of the selected object(s)
+ Dimensions de(s) l'objet(s) sélectionné(s)
+
+
+
+ No selection
+ Aucune séléction
+
+
+
+ N/A
+ Inconnu
+
+
+
+ Sel. objects: %1
+ Objets select. : %1
+
+
+
+ SchemaWidget
+
+
+ Show rectangle
+ Afficher le rectangle
+
+
+
+ Fill color:
+ Couleur de remplissage :
+
+
+
+ SequenceWidget
+
+
+ Cyclic:
+ Cyclique :
+
+
+
+ Start:
+ Début :
+
+
+
+ Maximum:
+ Maximum :
+
+
+
+ Minimum:
+ Minimum :
+
+
+
+ Defualt values:
+ Valeurs par défaut :
+
+
+
+ Increment:
+ Incrément :
+
+
+
+ Cache:
+ Cache :
+
+
+
+ Owner Col.:
+ Proprio. Col. :
+
+
+
+ User defined
+ Utilisateur défini
+
+
+
+ SnippetsConfigWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Create new connection
+ Créer une nouvelle connexion
+
+
+
+ Cancel edition
+ Annuler l'édition
+
+
+
+ Edit selected connection
+ Modifier la connexion sélectionnée
+
+
+
+ Delete selected connection
+ Supprimer la connexion sélectionnée
+
+
+
+ Remove All
+ Tout supprimer
+
+
+
+ Shift+Del
+ Maj+Suppr
+
+
+
+ Filter:
+ Filtrer :
+
+
+
+ ID:
+ Identifiant :
+
+
+
+ Add
+ Ajouter
+
+
+
+ Update
+ Mettre à jour
+
+
+
+ General
+ Général
+
+
+
+ Label:
+ Étiquette :
+
+
+
+ Applies to:
+ S'applique à :
+
+
+
+ Parsable or dynamic snippets are written in the <strong>schema micro language</strong> syntax. When using a parsable snippet the attributes surrounded in <strong>{}</strong> will be replaced by the selected object's matching attributes.
+ Les extraits de code analysables ou dynamiques sont écrits dans la syntaxe <strong>schema micro language</strong>. Lorsque vous utilisez un extrait de code analysé, les attributs entourés par des <strong>{}</strong> seront remplacés par les attributs correspondants de l'objet sélectionné.
+
+
+
+ Parsable
+ Analysable
+
+
+
+ When handling parsable snippets empty attributes will be replaced by a value in the format <strong>{attribute}</strong>. Note that this option can affect the semantics of the resulting snippet.
+ Lors de la manipulation d'extraits de code analysables, les attributs vides seront remplacés par une valeur au format <strong>{attribut}</strong>. Noter que cette option peut affecter la sémantique de l'extrait résultant.
+
+
+
+ Placeholders
+ Élément de substitution
+
+
+
+ Parse the snippet in order to check if there are syntax errors.
+ Analyser l'extrait de code afin de vérifier s'il existe des erreurs de syntaxe.
+
+
+
+ Parse
+ Analyser
+
+
+
+ Snippets:
+ Extraits :
+
+
+
+ General purpose
+ Usage général
+
+
+
+ All snippets
+ Tous les extraits
+
+
+
+ /* Error parsing the snippet '%1':
+
+ %2 */
+ /* Erreur lors de l'analyse de l'extrait '%1':
+
+ %2 */
+
+
+
+ Duplicated snippet id <strong>%1</strong> detected. Please, specify a different one!
+ Identifiant <strong>%1</strong> d'extrait dupliqué détécté. Merci d'en choisir un autre !
+
+
+
+ Invalid ID pattern detected <strong>%1</strong>. This one must start with at leat one letter and be composed by letters, numbers and/or underscore!
+ Motif d'identification <strong>%1</strong> incorrect détecté. Celui-ci doit commencer par au moins une lettre et être composé de lettres, de chiffres et/ou de tirets bas _ !
+
+
+
+ Empty label for snippet <strong>%1</strong>. Please, specify a value for it!
+ Label vide pour l'extrait <strong>%1</strong>. Merci de lui spécifier une valeur !
+
+
+
+ Empty code for snippet <strong>%1</strong>. Please, specify a value for it!
+ Code vide pour l'extrait <strong>%1</strong>. Merci de lui spécifier une valeur !
+
+
+
+ The dynamic snippet contains syntax error(s). Additional info: <br/><em>%1</em>
+ L'extrait dynamique contient des erreurs de syntax. Plus d'informations : <br/><em>%1</em>
+
+
+
+ Do you really want to remove all snippets?
+ Voulez-vous vraiment supprimer tous les extraits ?
+
+
+
+ No syntax errors found in the snippet.
+ Aucune erreur de syntax retrouvée dans l'extrait.
+
+
+
+ SourceCodeWidget
+
+
+ Version:
+ Version :
+
+
+
+ PostgreSQL
+ PostgreSQL
+
+
+
+ iconecodigo
+ icône
+
+
+
+ SQL
+ SQL
+
+
+
+ <strong>Original:</strong> displays only the original object's SQL code.<br/><br/><strong>Dependencies:</strong> displays the original code including all dependencies needed to properly create the selected object.<br/><br/><strong>Children:</strong> displays the original code including all object's children SQL code. This option is used only by schemas, tables and views.
+ <strong>Original :</strong>restitue uniquement the code SQL de l'objet.<br/><br/><strong>Dépendances :</strong>restitue le code original de l'objet en y incluant toutes les dépendances nécessaires à sa bonne création.<br/><br/><strong>Enfants :</strong>restitue le code original de l'objet en incluant tous les objets enfants. Cette option n'est utilisée que par les schémas, les tables et les vues.
+
+
+
+ Original
+
+
+
+
+ XML
+ XML
+
+
+
+ Source code visualization
+ Visualisation du code source
+
+
+
+ SQL code (*.sql);;All files (*.*)
+ Code SQL (*.sql);;Tous les fichiers (*.*)
+
+
+
+ Generating source code...
+ Génération du code source...
+
+
+
+ -- NOTE: the code below contains the SQL for the selected object
+-- as well for its dependencies and children (if applicable).
+--
+-- This feature is only a convinience in order to permit you to test
+-- the whole object's SQL definition at once.
+--
+-- When exporting or generating the SQL for the whole database model
+-- all objects will be placed at their original positions.
+
+
+
+ -- NOTE: le code ci-dessous contient le code SQL de l'objet sélectionné
+-- ainsi que de ses dépendances et enfants (le cas échéant).
+--
+-- Cette fonctionnalité n'est qu'une commodité vous permettant de tester
+-- la définition SQL de l'objet entier.
+--
+-- Lors de l'export ou de la génération du code SQL pour l'ensemble du modèle de base de données,
+-- tous les objets seront placés à leurs positions d'origine.
+
+
+
+
+
+
+ -- SQL code unavailable for this type of object --
+ -- Code SQL non disponible pour ce type d'objet. --
+
+
+
+ Code display:
+ Affichage du code :
+
+
+
+ Original + depedencies' SQL
+ Original + dépendances SQL
+
+
+
+ Original + children's SQL
+ Original + enfants SQL
+
+
+
+ Save the SQL code to a file.
+ Enregistrer le code SQL dans un fichier.
+
+
+
+ Save SQL
+ Enregistrer le code SQL
+
+
+
+ Save SQL code as...
+ Enregistrer le code SQL sous...
+
+
+
+ <!-- XML code preview disabled in demonstration version -->
+ < !-- L'aperçu du code XML est désactivé dans la version de démonstration -->
+
+
+
+
+
+-- SQL code purposely truncated at this point in demo version!
+
+
+-- Le code SQL est volontairement tronqué à ce stade dans la version démo !
+
+
+
+ SwapObjectsIdsWidget
+
+
+ Create:
+ Créer :
+
+
+
+
+ ID:
+ Identifiant :
+
+
+
+ Before:
+ Avant :
+
+
+
+ Swap the values of the fields
+ Procède à l'échange
+
+
+
+ Swap values
+ Échanger
+
+
+
+ Filter by name
+ Filtrer par nom
+
+
+
+ Hide system objects
+ Masquer les objets système
+
+
+
+ Hide relationships
+ Masquer les relations
+
+
+
+ Defines the search filter
+ Définir un filtre de recherche
+
+
+
+ Filter
+ Filtrer
+
+
+
+ Change objects creation order
+ Changer l'ordre de création des objets
+
+
+
+ Change the objects creation order is an irreversible operation and cause the operations history to be automatically erased. Note that the creation order configured in this form is not definitive and may change after a model validation.
+ Modifier l'ordre de création des objets est une opération irréversible qui entraîne l'effacement automatique de l'historique des opérations. Noter que l'ordre de création configuré dans ce formulaire n'est pas définitif et peut changer après la validation d'un modèle.
+
+
+
+ ID
+ Identifiant
+
+
+
+ Object
+ Objet
+
+
+
+ Type
+
+
+
+
+ Parent Object
+ Objet parent
+
+
+
+ Parent Type
+ Type parent
+
+
+
+ Table
+
+
+ new_table
+ nouvelle_table
+
+
+
+ TableDataWidget
+
+
+ Edit table data
+ Modifier les données de la table
+
+
+
+ Copy items on the grid
+ Copier les valeurs de la grille
+
+
+
+ Copy
+ Copier
+
+
+
+ Add empty rows
+ Ajouter des lignes vides
+
+
+
+ Add row
+ Ajouter une ligne
+
+
+
+ Ins
+ Insérer
+
+
+
+ Ctrl+D
+
+
+
+
+ Add an empty column
+ Ajouter une colonne vide
+
+
+
+ Delete rows
+ Supprimer des lignes
+
+
+
+ Remove all rows from the grid preserving columns
+ Supprimer toutes les lignes en préservant les colonnes
+
+
+
+ Shift+Del
+ Maj+Suppr
+
+
+
+ Delete the selected rows
+ Supprimer les lignes sélectionnées
+
+
+
+
+ Del
+ Suppr
+
+
+
+ Duplicate the selected rows
+ Dupliquer les lignes sélectionnées
+
+
+
+ Delete the selected columns
+ Supprimer les colonnes sélectionnées
+
+
+
+ Delete column
+ Supprimer une colonne
+
+
+
+ Paste items on the grid
+ Coller les valeurs sur la grille
+
+
+
+ Paste
+ Coller
+
+
+
+ Ctrl+V
+ Ctrl+V
+
+
+
+ <html><head/><body><p>Some invalid or duplicated columns were detected. In order to solve this issue double-click the header of the highlighted ones in order to define the correct name in which the data belongs to or delete the entire column. Note that these columns are completely ignored when generating the <span style=" font-weight:600;">INSERT</span> commands.</p></body></html>
+ <html><head/><body><p>Des colonnes invalides ou en double ont été détectées. Pour solutionner la chose vous pouvez double-cliquer sur l'entête de chaque colonne mise en surbrillance pour lui associer un nom afin d'y rattacher les données ou sinon vous pouvez simplement supprimer ces colonnes. Les colonnes invalides sont ignorées lors de la génération des commandes SQL de type <span style=" font-weight:600;">INSERT</span> </p></body></html>
+
+
+
+ Add column
+ Ajouter une colonne
+
+
+
+ Duplicate rows
+ Dupliquer des lignes
+
+
+
+ Change the values of all selected cells at once
+ Modifier la valeur de toutes les cellules sélectionnées
+
+
+
+ Bulk data edit
+ Modification de données en masse
+
+
+
+ Ctrl+E
+ Ctrl+E
+
+
+
+ Remove all columns (and rows) from the grid
+ Supprimer toutes les lignes et les colonnes également
+
+
+
+ Delete all columns
+ Supprimer toutes les colonnes
+
+
+
+ Ctrl+Shift+Del
+ Ctrl+Maj+Suppr
+
+
+
+ Delete all rows
+ Supprimer toutes les lignes
+
+
+
+ Delete columns is an irreversible action! Do you really want to proceed?
+ Effacer des colonnes est une action irréversible ! Souhaitez-vous continuer ?
+
+
+
+ Remove all rows is an irreversible action! Do you really want to proceed?
+ Supprimer toutes les lignes est une action irréversible ! Souhaitez-vous continuer ?
+
+
+
+ Remove all columns is an irreversible action! Do you really want to proceed?
+ Supprimer toutes les colonnes est une action irréversible ! Voulez-vous vraiment poursuivre ?
+
+
+
+
+ Unknown column
+ Colonne inconnue
+
+
+
+ Duplicated column
+ Colonne dupliquée
+
+
+
+ Fills the grid using a CSV file
+ Remplit la grille en utilisant un fichier CSV
+
+
+
+ <html><head/><body><p>Empty values are assumed as <span style=" font-weight:600;">DEFAULT</span>. To use special values like <span style=" font-weight:600;">NULL</span>, a function call like <span style=" font-weight:600;">now()</span> or a specific data escaping, enclose values in two slashes, e.g., <span style=" font-weight:600;">/value/</span>. To use a slash as part of the value prepend the backslash character, e.g., <span style=" font-weight:600;">\/</span>.</p></body></html>
+ <html><head/><body><p>Les valeurs vides sont supposées être <span style="font-weight :600;">DEFAULT</span>. Pour utiliser des valeurs spéciales comme <span style="font-weight :600;">NULL</span>, un appel de fonction comme <span style="font-weight :600;">now()</span> ou un échappement des données spécifiques, entourer les valeurs de barres obliques, par exemple <span style="font-weight :600;">/valeur/</span>. Pour utiliser une barre oblique dans le cadre de la valeur, ajouter le caractère barre oblique inverse, par exemple <span style="font-weight :600;">\/</span>.</p></body></html>
+
+
+
+ TableObjectView
+
+
+
+Relationship: %1
+
+Relations : %1
+
+
+
+ TableView
+
+
+ Partitioned
+ Partitionnée
+
+
+
+ Partition
+ Partition
+
+
+
+ TableWidget
+
+
+ Options
+ Options
+
+
+
+ Tag:
+ Balise :
+
+
+
+ Attributes
+ Attributs
+
+
+
+ With OID
+ Avec OID
+
+
+
+ Generate ALTER for columns/constraints
+ Utiliser ALTER pour les colonnes/contraintes
+
+
+
+ Unlogged
+ Unlogged
+
+
+
+
+
+
+
+
+
+ Name
+ Nom
+
+
+
+ Schema
+ Schéma
+
+
+
+
+
+ Type
+
+
+
+
+ Option
+ Option
+
+
+
+ Value
+ Valeur
+
+
+
+ PK
+ Faut-il le traduire ? Non, jargon DB accepté
+ PK
+
+
+
+ Default Value
+ Valeur par défaut
+
+
+
+ Attribute(s)
+ Attribut(s)
+
+
+
+
+
+
+
+
+ Alias
+ Alias
+
+
+
+
+
+
+
+
+ Comment
+ Commentaire
+
+
+
+ It is not possible to mark a column as primary key when the table already has a primary key which was created by a relationship! This action should be done in the section <strong>Primary key</strong> of the relationship's editing form.
+ Il n'est pas possible de marquer une colonne comme clé primaire quand la table a déjà une clé primaire qui a été créée par une relation ! Cette action doit être effectuée dans la section <strong>Clé primaire</strong> du formulaire d'édition de la relation.
+
+
+
+ It is not possible to mark a column created by a relationship as primary key! This action should be done in the section <strong>Primary key</strong> of the relationship's editing form.
+ Il n'est pas possible de marquer une colonne créée par une relation comme clé primaire ! Cette action doit être effectuée dans la section <strong>Clé primaire</strong> du formulaire d'édition de la relation.
+
+
+
+ ON DELETE
+ Faut-il le traduire ?
+ À la suppression
+
+
+
+ ON UPDATE
+ Faut-il le traduire ?
+ À la mise à jour
+
+
+
+ Refer. Table
+ Table référencée
+
+
+
+ Firing
+ Déclencheur
+
+
+
+ Events
+ Evènements
+
+
+
+ Execution
+ Exécution
+
+
+
+ Event
+ Evènement
+
+
+
+ Indexing
+ Indexation
+
+
+
+ Command
+ Commande
+
+
+
+ Permissive
+ Jargon commande SQL
+ PERMISSIVE
+
+
+
+ USING expression
+ Faut-il le traduire ?
+ expression USING
+
+
+
+ CHECK expression
+ Faut-il le traduire ?
+ expression CHECK
+
+
+
+ Roles
+ Rôles
+
+
+
+ None
+ Aucun
+
+
+
+ Parent
+
+
+
+
+ Copy
+ Copie
+
+
+
+ Partitioned
+ Partitionnée
+
+
+
+ Partition
+ Partition
+
+
+
+ Yes
+ Oui
+
+
+
+ No
+ Non
+
+
+
+ &Columns
+ &Colonnes
+
+
+
+ Co&nstraints
+ Co&ntraintes
+
+
+
+ Tri&ggers
+ Décl&encheurs
+
+
+
+ &Rules
+ &Régles
+
+
+
+ &Indexes
+ &Index
+
+
+
+ Partition &keys
+ Clés de &partition
+
+
+
+ Partitioning:
+ Partitionnement :
+
+
+
+ &Tables
+ &Tables
+
+
+
+ Edit data
+ Modifier données
+
+
+
+ Define initial data for the table
+ Définir les données initiales de la table
+
+
+
+ Enable row level security
+ Activer la sécurité au niveau de la ligne
+
+
+
+ Force RLS for owner
+ Forcer RLS pour le propriétaire
+
+
+
+ Server:
+ Serveur :
+
+
+
+ &Policies
+ &Politiques
+
+
+
+ TablespaceWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Directory:
+ Dossier :
+
+
+
+ TagWidget
+
+
+ Colors
+ Couleurs
+
+
+
+ Extended body:
+ Corps étendu :
+
+
+
+ Body:
+ Corps :
+
+
+
+ Title:
+ Titre :
+
+
+
+ Schema name:
+ Nom du schéma :
+
+
+
+ Table name:
+ Nom de la table :
+
+
+
+ TaskProgressWidget
+
+
+ Executing tasks
+ Exécution des tâches
+
+
+
+
+ Waiting task to start...
+ En attente du démarrage de la tâche ...
+
+
+
+ TextboxWidget
+
+
+ Font:
+ Police :
+
+
+
+ Text
+ Texte
+
+
+
+ pt
+ pt
+
+
+
+ Color:
+ Couleur :
+
+
+
+ Bold
+ Gras
+
+
+
+ Italic
+ Italique
+
+
+
+ Underline
+ Souligné
+
+
+
+ Select text color
+ Sélection de la couleur du texte
+
+
+
+ TriggerWidget
+
+
+ INSERT
+ INSERT
+
+
+
+ DELETE
+ DELETE
+
+
+
+ UPDATE
+ UPDATE
+
+
+
+ TRUNCATE
+ TRUNCATE
+
+
+
+ Deferrable:
+ Reportable :
+
+
+
+ Events:
+ Evènements :
+
+
+
+ Type:
+ Type :
+
+
+
+ Columns
+ Colonnes
+
+
+
+ Column:
+ Colonne :
+
+
+
+ Transition tables names
+ Noms des tables de transition
+
+
+
+ OLD:
+ Pas à traduire
+ OLD:
+
+
+
+ NEW:
+ Pas à traduire
+ NEW:
+
+
+
+ Arguments
+ Arguments
+
+
+
+ Constraint
+ Contrainte
+
+
+
+ Ordinary trigger
+ Déclencheur ordinaire
+
+
+
+ Constraint trigger
+ Céclencheur contrainte
+
+
+
+ FOR EACH ROW
+ Pour chaque ligne
+
+
+
+ Refer. Table:
+ Table référ. :
+
+
+
+ Condition:
+ Condition :
+
+
+
+ Argument:
+ Argument :
+
+
+
+ Function:
+ Fonction :
+
+
+
+ Options:
+ Options :
+
+
+
+ Excution:
+ Exécution :
+
+
+
+ Column
+ Colonne
+
+
+
+ Type
+ Type
+
+
+
+ TypeWidget
+
+
+ Configuration:
+ Configuration :
+
+
+
+ Base Type
+ Type de base
+
+
+
+ Enumeration
+ Énumération
+
+
+
+ Enumerations
+ Énumérations
+
+
+
+ Enumeration:
+ Énumération :
+
+
+
+
+
+ Attributes
+ Attributs
+
+
+
+ Internal Length:
+ Long. interne :
+
+
+
+ Storage:
+ Stockage :
+
+
+
+ Category:
+ Catégorie :
+
+
+
+ Delimiter:
+ Délimiteur :
+
+
+
+ Alignment:
+ Alignement :
+
+
+
+ char
+ char
+
+
+
+ smallint
+ smallint
+
+
+
+ integer
+ integer
+
+
+
+ double precision
+ double précision
+
+
+
+ Default Value:
+ Valeur par défaut :
+
+
+
+ Range
+ Intervalle
+
+
+
+ Options:
+ Options :
+
+
+
+ By value
+ Par valeur
+
+
+
+ Preferred
+ Préféré
+
+
+
+ Collatable
+ Assemblable
+
+
+
+ Functions
+ Fonctions
+
+
+
+ INPUT:
+ INPUT :
+
+
+
+ OUTPUT:
+ OUTPUT :
+
+
+
+ RECV:
+ RECV :
+
+
+
+ SEND:
+ SEND :
+
+
+
+ TPMOD_IN:
+ TPMOD_IN :
+
+
+
+ TPMOD_OUT:
+ TPMOD_OUT :
+
+
+
+ ANALYZE:
+ ANALYZE :
+
+
+
+ Name:
+ Nom :
+
+
+
+ Collation:
+ Collation :
+
+
+
+ Subtype Diff Func.:
+ Fonction de différence du sous-type :
+
+
+
+ Operator Class:
+ Classe d'opérateurs :
+
+
+
+ Canonical Func.:
+ Fonction canonique :
+
+
+
+ Like Type
+ Type de like
+
+
+
+ Element Type
+ Type d'élement
+
+
+
+ Subtype
+ Sous-type
+
+
+
+ Name
+ Nom
+
+
+
+ Type
+
+
+
+
+ Collation
+
+
+
+
+ The functions to be assigned to a type should be written in C language and possess, respectively, the following signatures:<br/> <table> <tr> <td><strong>INPUT:</strong> <em>any function(cstring, oid, integer)</em></td> <td><strong>OUTPUT:</strong> <em>cstring function(any)</em></td> </tr> <tr> <td><strong>SEND:</strong> <em>byta function(any)</em></td> <td><strong>RECV:</strong> <em>any function(internal, oid, integer)</em></td> </tr> <tr> <td><strong>TPMOD_IN:</strong> <em>integer function(cstring[])</em></td> <td><strong>TPMOD_OUT:</strong> <em>cstring function(integer)</em></td> </tr> <tr> <td><strong>ANALYZE:</strong> <em>boolean function(internal)</em></td> <tr> </table>
+ Les fonctions assignées à un type devraient être écrites en langage C et possèder, les signatures suivantes :<br/> <table> <tr> <td><strong>INPUT:</strong> <em>any function(cstring, oid, integer)</em></td> <td><strong>OUTPUT:</strong> <em>cstring function(any)</em></td> </tr> <tr> <td><strong>SEND:</strong> <em>byta function(any)</em></td> <td><strong>RECV:</strong> <em>any function(internal, oid, integer)</em></td> </tr> <tr> <td><strong>TPMOD_IN:</strong> <em>integer function(cstring[])</em></td> <td><strong>TPMOD_OUT:</strong> <em>cstring function(integer)</em></td> </tr> <tr> <td><strong>ANALYZE:</strong> <em>boolean function(internal)</em></td> <tr> </table>
+
+
+
+ The functions to be assigned to a range type should have the following signatures:<br/><br/><strong>Canonical:</strong> <em>any function(any)</em> <br/><strong>Subtype Diff:</strong> <em>double precision function(subtype, subtype)</em>
+ Les fonction assignables au type plage (RANGE) doivent avoir la signature suivante :<br/><br/><strong>Canonical:</strong> <em>any function(any)</em> <br/><strong>Subtype Diff:</strong> <em>double precision function(subtype, subtype)</em>
+
+
+
+ Co&mposite
+ Co&mposite
+
+
+
+ UpdateNotifierWidget
+
+
+ Update Notifier
+ Vérificateur de mise à jour
+
+
+
+ Update available!
+ Mise à jour disponible !
+
+
+
+ Hide this widget
+ Cacher ce widget
+
+
+
+ ...
+ ...
+
+
+
+ Released in:
+ Date de sortie :
+
+
+
+ mmm dd, yyyy
+ jj mmm aaaa
+
+
+
+ 0.0.0
+ 0.0.0
+
+
+
+ Changelog
+ Journal des modifications
+
+
+
+ Redirects to purchase page.
+ Redirige vers la page web pour acheter.
+
+
+
+ Get binary package
+ Télécharger l'application compilée
+
+
+
+ Redirects to GitHub source repository.
+ Redirige vers la page web du dépôt GitHub.
+
+
+
+ Get source code
+ Télécharger le code source
+
+
+
+
+ Failed to check updates
+ Impossible de vérifier la présence de mise à jour
+
+
+
+ The update notifier failed to check for new versions! Please, verify your internet connectivity and try again! Connection error returned: <em>%1</em> - <strong>%2</strong>.
+ Le notificateur de mise à jour n'a pas pu vérifier les nouvelles versions ! Merci de vérifier votre connexion internet et de réessayer ! Erreur de connexion renvoyée : <em>%1</em> - <strong>%2</strong>.
+
+
+
+ No updates found
+ Aucune mise à jour disponible
+
+
+
+ You are running the most recent pgModeler version! No update needed.
+ Vous utilisez déjà la version de pgModeler la plus récente ! Aucune mise à jour requise.
+
+
+
+ The update notifier failed to check for new versions! A HTTP status code was returned: <strong>%1</strong>
+ Le vérificateur de mise à jour n'a pas pu vérifier la présence de nouvelles versions ! Code retour HTTP reçu : <strong>%1</strong>
+
+
+
+ New version:
+ Nouvelle version :
+
+
+
+ UserMappingWidget
+
+
+ Server:
+ Serveur :
+
+
+
+ Options
+ Options
+
+
+
+ Option
+ Option
+
+
+
+ Value
+ Valeur
+
+
+
+ ViewWidget
+
+
+ References
+ Références
+
+
+
+ Options
+ Options
+
+
+
+ Tag:
+ Balise :
+
+
+
+ Mode:
+ Mode :
+
+
+
+ Ordinary
+ Ordinaire
+
+
+
+ With no data
+ Sans données
+
+
+
+ Triggers
+ Déclencheur
+
+
+
+ Rules
+ Règles
+
+
+
+ Indexes
+
+
+
+
+ Table Expression
+ CTE
+
+
+
+ Code Preview
+ Prévisualisation du code
+
+
+
+ Col./Expr.
+
+
+
+
+ Table alias
+ Alias de table
+
+
+
+ Column alias
+ Alias de colonne
+
+
+
+ Reference alias
+ Alias de référence
+
+
+
+
+
+ Alias
+
+
+
+
+ Flags: SF FW AW EX VD
+ Marques : SF FW AW EX VD
+
+
+
+
+
+ Name
+ Nom
+
+
+
+ Refer. Table
+ Table de référence
+
+
+
+ Firing
+ Déclenche
+
+
+
+ Events
+ Evènements
+
+
+
+
+
+ Comment
+ Commentaire
+
+
+
+ Indexing
+ Indexation
+
+
+
+ Execution
+ Exécution
+
+
+
+ Event
+ Evènement
+
+
+
+ /* Could not generate the SQL code. Make sure all attributes are correctly filled!
+ /* Le code SQL ne peut être généré. Vérifiez que les champs sont correctement remplis !
+
+
+
+ Recursi&ve
+ Récursi&f
+
+
+
+ &Materialized
+ &Matérialiser
+
+
+
+ WelcomeWidget
+
+
+ Form
+ Formulaire
+
+
+
+ Support
+ Support
+
+
+
+ New model
+ Nouveau modèle
+
+
+
+ Open model
+ Ouvrir modèle
+
+
+
+ Sample models
+ Modèles de démo
+
+
+
+ Recent models
+ Modèles récents
+
+
+
+ Last session
+ Dernière session
+
+
+
diff --git a/assets/lang/nl_NL.qm b/assets/lang/nl_NL.qm
new file mode 100644
index 0000000000..d5035fc200
Binary files /dev/null and b/assets/lang/nl_NL.qm differ
diff --git a/assets/lang/nl_NL.ts b/assets/lang/nl_NL.ts
new file mode 100644
index 0000000000..5e3a11cda0
--- /dev/null
+++ b/assets/lang/nl_NL.ts
@@ -0,0 +1,14147 @@
+
+
+
+
+ AboutWidget
+
+
+ About pgModeler
+ Over pgModeler
+
+
+
+ 0.0.0
+ 0.0.0
+
+
+
+ build:
+
+
+
+
+ PostgreSQL Database Modeler
+ PostgreSQL Database Modeler
+
+
+
+ Open source data modeling tool designed for PostgreSQL. No more DDL commands written by hand, let pgModeler do the job for you! This software reunites the concepts of entity-relationship diagrams and the features that PostgreSQL implements as extensions of SQL standards.
+ Een Open Source data modeleer tool ontworpen voor PostgreSQL. Met pgModeler hoef je niet langer zelf je DDL commando's schrijven, laat dit over aan pgModeler! Deze software brengt de concepten van Entity-Relationship diagrammen samen met de features die PostgreSQL implementeerd als uitbreidingen van de SQL standaard.
+
+
+
+ <html><head/><body><p><a href="http://pgmodeler.com.br"><span style=" text-decoration: underline; color:#2980b9;">https://pgmodeler.io</span></a></p></body></html>
+
+
+
+
+ <html><head/><body><p>Copyright 2006-2018 - Raphael Araújo e Silva <<a href="mailto:raphael@pgmodeler.com.br"><span style=" text-decoration: underline; color:#0057ae;">raphael@pgmodeler.io</span></a>></p></body></html>
+
+
+
+
+ pgModeler is proudly a brazilian software!
+ pgModeler is trotse braziliaanse software!
+
+
+
+ Hide this widget
+ Verberg dit widget
+
+
+
+ ...
+
+
+
+
+ (BUILD_NUM)
+
+
+
+
+ License
+ Licensie
+
+
+
+ AggregateWidget
+
+
+ Final Function:
+ Finale functie:
+
+
+
+ Sort Operator:
+ Sorteer-operator:
+
+
+
+ Initial Condition:
+ Initiële Vereiste:
+
+
+
+ Funtion Inputs
+ Functie Invoer
+
+
+
+ Function State
+ Functie Staat
+
+
+
+ Transition Func.:
+ Overgangsfunctie:
+
+
+
+ Input Data Type
+ Invoer Data Type
+
+
+
+ State Data Type
+ Status Data Type
+
+
+
+ An aggregate function that accepts the types <em><strong>typeA</strong></em> and <em><strong>typeB</strong></em> as input types and which type of state is <em><strong>state_type</strong></em>, must obey the following rules: <br/><br/> <strong> • Final Function:</strong> <em>void final_function(<strong>state_type</strong>)</em><br/> <strong> • Transition Function:</strong> <em><strong>state_type</strong> transition_function(<strong>state_type</strong>, <strong>typeA</strong>, <strong>typeB</strong>)</em>
+ Een aggregatie-funtie die de types <em><strong>typeA</strong></em> en <em><strong>typeB</strong></em> als invoer aanvaardt en waarvan het status-type <em><strong>status_type</strong></em> is. De volgende regels moeten voldaan zijn: <br/><br/> <strong> • Finale Functie:</strong> <em>void finale_functie(<strong>status_type</strong>)</em><br/> <strong> • Overgangsfunctie:</strong> <em><strong>status_type</strong> transitie_functie(<strong>status_type</strong>, <strong>typeA</strong>, <strong>typeB</strong>)</em>
+
+
+
+ AppearanceConfigWidget
+
+
+ Form
+ Venster
+
+
+
+ Element:
+ Element:
+
+
+
+ Global: Font style
+ Algemeen: Lettertype
+
+
+
+ Global: Constraints descriptor
+ Algemeen: Constraints beschrijving
+
+
+
+ Global: Object selection
+ Algemeen: Object selectie
+
+
+
+ Global: Position hint text
+ Algemeen: Positie hint tekst
+
+
+
+ Global: Position hint box
+ Algemeen: Positie hint box
+
+
+
+ Global: Objects type
+ Algemeen: Object-type
+
+
+
+ Global: Lock arc
+ Algemeen: Lock arc
+
+
+
+ Global: Lock body
+ Algemeen: Lock body
+
+
+
+ Table: Schema name
+ Tabel: Schemanaam
+
+
+
+ Table: Table name
+ Tabel: Tabelnaam
+
+
+
+ Table: Columns box
+ Tabel: Kolom box
+
+
+
+ Table: Extended attributes box
+ Tabel: Uitgebreide attributen box
+
+
+
+ Table: Title box
+ Tabel: Titel box
+
+
+
+ Rule: Name
+ Regel: Naam
+
+
+
+ Rule: Descriptor
+ Regel: Beschrijving
+
+
+
+ Index: Name
+ Index: Naam
+
+
+
+ Index: Descriptor
+ Index: Beschrijving
+
+
+
+ Trigger: Name
+ Trigger: Naam
+
+
+
+ Trigger: Descriptor
+ Trigger: Beschrijving
+
+
+
+ Constraint: Name
+
+
+
+
+ Constraint: Descriptor
+
+
+
+
+ View: Schema name
+ View: Schemanaam
+
+
+
+ View: View name
+ View: View-naam
+
+
+
+ View: References box
+ View: Referenties box
+
+
+
+ View: Extended attributes box
+ View: Uitgebreide attributen box
+
+
+
+ View: Title box
+ View: Titel box
+
+
+
+ View: Table / columns alias
+ View: Tabel / Kolom alias
+
+
+
+ View: Referenced column
+ View: Gerefereerde kolom
+
+
+
+ View: Referenced table
+ View: Gerefereerde tabel
+
+
+
+ View: Reference descriptor
+ View: Referentiebeschrijving
+
+
+
+ Textbox: Body
+ Tekst box: Inhoud
+
+
+
+ Column: Column name
+ Kolom: Kolom naam
+
+
+
+ Column: Descriptor
+ Kolom: Beschrijving
+
+
+
+ Column: Included / Inherited by relationship
+ Kolom: Ingesloten / Overgeërfd via relatie
+
+
+
+ Column: Protected
+ Kolom: Beschermd
+
+
+
+ Column (pk): Column name
+ Kolom (pk): Kolom naam
+
+
+
+ Column (pk): Descriptor
+ Kolom (pk): Beschrijving
+
+
+
+ Column (fk): Column name
+ Kolom (fk): Kolom naam
+
+
+
+ Column (fk): Descriptor
+ Kolom (fk): Beschrijving
+
+
+
+ Column (uq): Column name
+ Kolom (uq): Kolom naam
+
+
+
+ Column (uq): Descriptor
+ Kolom (uq): Beschrijving
+
+
+
+ Column (nn): Column name
+ Kolom (nn): Kolom naam
+
+
+
+ Column (nn): Descriptor
+ Kolom (nn): Beschrijving
+
+
+
+ Relationship: Descriptor
+ Relatie: Beschrijving
+
+
+
+ Relationship: Label text
+ Relatie: Label tekst
+
+
+
+ Relationship: Label box
+ Relatie: Label box
+
+
+
+ Relationship: Attribute text
+ Relatie: Attribuut tekst
+
+
+
+ Relationship: Attribute descriptor
+ Relatie: Attribuut beschrijving
+
+
+
+ Tag: Name
+ Tag: Naam
+
+
+
+ Tag: Body
+ Tag: Inhoud
+
+
+
+ Placeholder: Body
+
+
+
+
+ Font:
+ Lettertype:
+
+
+
+ Colors:
+ Kleuren:
+
+
+
+ pt
+ pt
+
+
+
+ Underline
+ Onderstrepen
+
+
+
+ Italic
+ Cursief
+
+
+
+ Bold
+ Vet
+
+
+
+ Application
+
+
+ Unknown exception caught!
+ Een onbekende uitzondering trad op!
+
+
+
+ Failed to create initial configuration in `%1'! Check if the current user has write permission over that path and at least read permission over `%2'.
+ De initiële configuratie kon niet worden gecreëerd in `%1'! Kijk na of de huidige gebruiker schrijf-machtigingen heeft op dit pad en minstens lees-machtigingen op '%2'.
+
+
+
+ BaseConfigWidget
+
+
+ A backup of the previous settings was saved into <strong>%1</strong>!
+
+
+
+
+ BaseForm
+
+
+ Dialog
+ Dialoogvenster
+
+
+
+
+ &Apply
+ &Toepassen
+
+
+
+ &Cancel
+ &Annuleren
+
+
+
+ &Ok
+ &Ok
+
+
+
+ %1 properties
+
+
+
+
+ BaseObject
+
+
+ Column
+ Kolom
+
+
+
+ Constraint
+ Constraint
+
+
+
+ Function
+ Functie
+
+
+
+ Trigger
+ Trigger
+
+
+
+ Index
+ Index
+
+
+
+ Rule
+ Regel
+
+
+
+ Table
+ Tabel
+
+
+
+ View
+ View
+
+
+
+ Domain
+ Domein
+
+
+
+ Schema
+ Schema
+
+
+
+ Aggregate
+ Aggregator
+
+
+
+ Operator
+ Operator
+
+
+
+ Sequence
+ Sequentie
+
+
+
+ Role
+ Rol
+
+
+
+ Conversion
+ Conversie
+
+
+
+ Cast
+ Cast
+
+
+
+ Language
+ Taal
+
+
+
+ Type
+ Type
+
+
+
+ Tablespace
+ Tablespace
+
+
+
+ Operator Family
+ Operator Familie
+
+
+
+ Operator Class
+ Operator Klasse
+
+
+
+ Database
+ Database
+
+
+
+ Collation
+ Sortering
+
+
+
+ Extension
+ Uitbreiding
+
+
+
+ Event Trigger
+ Event Trigger
+
+
+
+ Relationship
+ Relatie
+
+
+
+ Policy
+
+
+
+
+ Textbox
+ Tekst box
+
+
+
+ Permission
+ Machtiging
+
+
+
+ Parameter
+ Parameter
+
+
+
+ Type Attribute
+ Type Attribuut
+
+
+
+ Tag
+ Tag
+
+
+
+ Basic Relationship
+ Basisrelatie
+
+
+
+ Generic SQL
+
+
+
+
+ new_object
+
+ nieuw_object
+ nieuwe_objecten
+
+
+
+
+ BaseObjectView
+
+
+ SQL off
+ SQL uit
+
+
+
+ BaseObjectWidget
+
+
+ Name:
+ Naam:
+
+
+
+ Comment:
+ Commentaar:
+
+
+
+ Tablespace:
+ Tablespace:
+
+
+
+ Schema:
+ Schema:
+
+
+
+ Edit object's permissions
+ Machtiginen voor dit object aanpassen
+
+
+
+ Edit permissions
+ Machtigingen aanpassen
+
+
+
+ This object is protected thus no change in form will be applied to it.
+ Dit object is beschermd en dus worden vorm-aanpassingen niet toegepast.
+
+
+
+ Disables the generated SQL code using comment tokens (--).
+This will disable the code of all child and referrer objects.
+ Maakt de gegenereerde SQL code onuitvoerbaar via comment-tokens (--).
+Dit zorgt ervoor dat de code voor alle kinder-objecten en refererende objecten wordt uitgeschakeld.
+
+
+
+ Disable SQL code
+ Niet-uitvoerbare SQL code
+
+
+
+ Collation:
+ Sortering:
+
+
+
+ Append or prepend a set of SQL commands to the object's definition.
+ Voeg SQL commando toe voor of na de definitie van het object.
+
+
+
+ Custom SQL
+ Aangepaste SQL
+
+
+
+ Owner:
+ Eigenaar:
+
+
+
+ ID:
+ ID:
+
+
+
+ icone
+ icone
+
+
+
+ Required field. Leaving this empty will raise errors!
+ Vereist veld. Dit veld leeglaten leidt tot foutmeldingen!
+
+
+
+ Value(s)
+ Waarde(s)
+
+
+
+ Version
+ Versie
+
+
+
+ The <em style='color: %1'><strong>highlighted</strong></em> fields in the form or one of their values are available only on specific PostgreSQL versions. Generating SQL code for versions other than those specified in the fields' tooltips may create incompatible code.
+
+
+
+
+ BaseRelationship
+
+
+ rel_%1_%2
+ rel_%1_%2
+
+
+
+ BaseTableView
+
+
+ Toggles the extended attributes display
+
+
+
+
+ Connected rels: %1
+ Verbonden relaties: %1
+
+
+
+ BugReportForm
+
+
+ Bug Report
+ Bug Rapport
+
+
+
+ Bug report
+ Bug rapport
+
+
+
+ Create
+ Versturen
+
+
+
+ &Cancel
+ &Annuleren
+
+
+
+ Use the form below to generate a complete bug report. Please, try to be as clear as possible when describing the actions that can reproduce the bug. Additionally, it's important to attach a sample database model so that the bug can be quickly discovered and fixed!
+ Gebruik dit formulier om een volledig bug rapport aan te maken. Gelieve zo volledig en duidelijk mogelijk de actie die tot de bug leidden, te beschrijven. Indien mogelijk, voeg een voorbeeld database model toe aan dit rapport zodat de bug snel gevonden en gecorigeerd kan worden!
+
+
+
+ Report
+ Rapport
+
+
+
+ Issue details
+ Probleeminformatie
+
+
+
+ Output:
+ Output:
+
+
+
+ Select the report's output folder
+ Selecteer de output-map voor het rapport
+
+
+
+
+ ...
+ ...
+
+
+
+ <html><head/><body><p>If you prefer it's possible to report this issue anytime on pgModeler's project repository at <a href="http://github.com/pgmodeler/pgmodeler/issues"><span style=" text-decoration: underline; color:#0057ae;">GitHub</span></a>. </p></body></html>
+ <html><head/><body><p>Indien u wenst kan u bugs ook rapporten via pgModeler's project repository op <a href="http://github.com/pgmodeler/pgmodeler/issues"><span style=" text-decoration: underline; color:#0057ae;">GitHub</span></a>. </p></body></html>
+
+
+
+ Database Model
+ Database Model
+
+
+
+ Attach the below database model file to be debugged.
+ Voeg het database model waarmee het probleem zich voordoet toe.
+
+
+
+ Attach a different database model
+ Voeg een ander database model toe
+
+
+
+ Bug report successfuly generated! Please, send the file <strong>%1</strong> to <em>%2</em> in order be analyzed. Thank you for the collaboration!
+ Het bug rapport werd gegeneerd! Gelieve het bestand <strong>%1</strong> naar <em>%2</em> te sturen zodat het kan worden gebruikt bij het debuggen. Hartelijk dank voor je bijdrage!
+
+
+
+ Load model
+ Laad model
+
+
+
+ Database model (*.dbm);;All files (*.*)
+ Database model (*.dbm);;Alle bestanden (*.*)
+
+
+
+ Select report output folder
+ Selecteer de rapport-uitvoer map
+
+
+
+ BulkDataEditWidget
+
+
+ Bulk data edit
+
+
+
+
+ CastWidget
+
+
+ I&mplicit
+
+
+
+
+ Assignment
+ Toewijzing
+
+
+
+ Input / Output
+ Invoer / Uitvoer
+
+
+
+ Conversion Func.:
+ Conversie-functie:
+
+
+
+ Cast Type:
+ Cast Type:
+
+
+
+ E&xplicit
+
+
+
+
+ Source data type
+ Bron data type
+
+
+
+ Target data type
+ Doel data type
+
+
+
+ The function to be assigned to a cast from <em><strong>typeA</strong></em> to <em><strong>typeB</strong></em> must have the following signature: <em><strong>typeB</strong> function(<strong>typeA</strong>, integer, boolean)</em>.
+ De functie die wordt gebruikt bij den cast van <em><strong>typeA</strong></em> naar <em><strong>typeB</strong></em> moet de volgende signature hebben:: <em><strong>typeB</strong> functie(<strong>typeA</strong>, integer, boolean)</em>.
+
+
+
+ CodeCompletionWidget
+
+
+ Make &persistent
+
+
+
+
+ Makes the widget closable only by ESC key or mouse click on other controls.
+ Zorgt ervoor dat widgets enkel kunnen worden gesloten via de ESC toets of via een muisklik op andere controls.
+
+
+
+ SQL Keyword
+ SQL Sleutelwoord
+
+
+
+ (no items found.)
+ (geen items gevonden.)
+
+
+
+ CollationWidget
+
+
+ Locale:
+ Locale:
+
+
+
+ Encoding:
+ Codering:
+
+
+
+ LC_COLLATE:
+
+
+
+
+ LC_CTYPE:
+
+
+
+
+ The fields <strong><em>Collation</em></strong>, <strong><em>Locale</em></strong>, <strong><em>LC_COLLATE & LC_CTYPE</em></strong> are mutually exclusive, so you have to set only one of them in order to properly handle a collation.
+ De velden <strong><em>Sortering</em></strong>, <strong><em>Locale</em></strong>, <strong><em>LC_COLLATE & LC_CTYPE</em></strong> zijn onderling uitsluitend, om een sortering correct te gebruiken hoeft u slechts één van deze velden in te stellen.
+
+
+
+
+ Not defined
+ Niet gedefinieerd
+
+
+
+ ColorPickerWidget
+
+
+ Form
+ Venster
+
+
+
+ Generate random color(s)
+ Genereer willekeurige kleur(en)
+
+
+
+ Alt+R
+ Alt+R
+
+
+
+ Select color
+ Selecteer kleur
+
+
+
+ ColumnWidget
+
+
+ Default Value:
+ Standaardwaarde:
+
+
+
+ Edit the underlying sequence's attributes
+
+
+
+
+ Edit sequence
+
+
+
+
+ Identity:
+
+
+
+
+ E&xpression:
+
+
+
+
+ &NOT NULL
+
+
+
+
+ Se&quence:
+
+
+
+
+ ConfigurationForm
+
+
+ pgModeler Configuration
+ pgModeler Configuratie
+
+
+
+ General
+ Algemeen
+
+
+
+ Relationships
+ Relaties
+
+
+
+ Appearance
+ Voorkomen
+
+
+
+ Connections
+ Verbindingen
+
+
+
+ Snippets
+ Snippets
+
+
+
+ Plug-ins
+ Plug-ins
+
+
+
+ Defaults
+ Standaard waarden
+
+
+
+ &Apply
+ &Toepassen
+
+
+
+ &Cancel
+ &Annuleren
+
+
+
+ In some cases restore the default settings related to it may solve the problem. Would like to do that?
+
+
+
+
+ Restore
+
+
+
+
+ Any modification made until now in the current section will be lost! Do you really want to restore default settings?
+ De waarden in de huidige sectie zullen worden overschreven! Bent u er zeker van dat u de standaard waarden wilt instellen?
+
+
+
+ ConnectionsConfigWidget
+
+
+ Password:
+ Wachtwoord:
+
+
+
+ Connection Alias:
+ Verbindingsalias:
+
+
+
+ Connection DB:
+ Verbinding DB:
+
+
+
+ Host/Port:
+ Host/Poort:
+
+
+
+ User:
+ Gebruiker:
+
+
+
+ Timeout:
+ Timeout:
+
+
+
+ SSL Mode:
+ SSL Modus:
+
+
+
+ Disable
+ Uit
+
+
+
+ Diff
+ Diff
+
+
+
+ Export
+ Exporteer
+
+
+
+ Import
+ Importeren
+
+
+
+ Validation
+
+
+
+
+ Security
+
+
+
+
+ Allow
+ Toegelaten
+
+
+
+ Require
+ Vereist
+
+
+
+ AC verification
+ AC verificatie
+
+
+
+ Full verification
+ Volledige verificatie
+
+
+
+ Kerberos Server:
+
+
+
+
+ Client Certificate:
+ Client Certificaat:
+
+
+
+ Revoked Certs.:
+ Herroepen Certs:
+
+
+
+ Client Key:
+ Client Sleutel:
+
+
+
+ Root Certificate:
+ Root Certificaat:
+
+
+
+ ~/.postgresql/root.crt
+
+
+
+
+ Connections:
+ Verbindingen:
+
+
+
+ second(s)
+ Second(en)
+
+
+
+ Force GSSAPI
+ Forceer GSSAPI
+
+
+
+ ~/.postgresql/postgresql.crt
+
+
+
+
+ Add
+ Toevoegen
+
+
+
+ Update
+ Updaten
+
+
+
+ Test
+ Test
+
+
+
+ ~/.postgresql/root.crl
+
+
+
+
+ ~/.postgresql/postgresql.key
+
+
+
+
+ Create new connection
+ Maak een nieuwe verbinding
+
+
+
+
+ Edit database connections
+
+
+
+
+ Cancel edition
+ Annuleer aanpassingen
+
+
+
+ Duplicate the selected connection
+ Dupliceer de geselecteerde verbinding
+
+
+
+ Edit selected connection
+ Pas de geselecteerde verbinding aan
+
+
+
+ Delete selected connection
+ Verwijder de geselecteerde verbinding
+
+
+
+ General
+ Algemeen
+
+
+
+ Other params:
+
+
+
+
+ Specify additional connection parameters in the form [param]=[value]. These parameters are described in the <strong>libpq</strong> chapter at PostgreSQL docs.
+
+
+
+
+ Default for:
+
+
+
+
+ Automatically browses the named database when using this connection to manage databases on <strong>Manage</strong> view.
+ Bladert automatisch door de genoemde database wanneer deze verbinding wordt gebruikt om databases te beheren via de <strong>Beheer</strong> view.
+
+
+
+ Auto browse
+
+
+
+
+ Indicates in which operations (diff, export, import or validation) the connection is used if none is explicitly specified by the user.
+
+
+
+
+ Success
+ Success
+
+
+
+ Connection successfully established!
+
+Server details:
+
+PID: `%1'
+Protocol: `%2'
+Version: `%3'
+
+
+
+
+ There is a connection being created or edited! Do you want to save it?
+ Wenst u de nieuwe of aan te passen verbinding op te slaan vooraleer verder te gaan?
+
+
+
+ Found %1 connection(s)
+ %1 verbinding(en) gevonden
+
+
+
+ No connections found
+ Geen verbindingen gevonden
+
+
+
+ Edit connections
+
+
+
+
+ ConstraintWidget
+
+
+ Match:
+ Evenaar:
+
+
+
+ Constraint Type:
+ Constraint Type:
+
+
+
+ This attribute cannot be changed once the object is created.
+ Dit attribuut kan niet worden aangepast eens het object is aangemaakt.
+
+
+
+ Expression:
+ Expressie:
+
+
+
+ Deferrable:
+ Uitstelbaar:
+
+
+
+ Deferral:
+ Uitstel:
+
+
+
+ ON DELETE:
+
+
+
+
+ ON UPDATE:
+
+
+
+
+ No inherit:
+ Geen overerving:
+
+
+
+ Exclude Elements
+ Elementen Uitsluiten
+
+
+
+ Columns
+ Kolommen
+
+
+
+
+ Column:
+ Kolom:
+
+
+
+ Referenced Columns
+ Gerefereerde Kolommen
+
+
+
+ Table:
+ Tabel:
+
+
+
+ Indexing:
+ Indexering:
+
+
+
+ Fill Factor:
+ Vul-factor:
+
+
+
+
+ Column
+ Kolom
+
+
+
+
+ Type
+ Type
+
+
+
+ Columns which were included by relationship can not be added / removed manually from the primary key. If done such changes they can raise errors. To create primary key using columns included by relationship use the following options: identifier field, attributes & constraints tab or primary key tab on the relationship form.
+ Kolommen die werden ingesloten via relaties kunnen niet manueel worden toegevoegd aan of verwijderd uit de primaire sleutel. Dit soort aanpassingen kan tot fouten leiden. Om een primaire sleutel aan te maken via kolommen die werden ingesloten door relaties, gebruik de volgende opties: identifier veld, attributen & constraints tab-blad of primaire sleutel tab=blad in het relatie-venster.
+
+
+
+ ConversionWidget
+
+
+ Source Encoding:
+ Broncodering:
+
+
+
+ Target Encoding:
+ Doelcodering:
+
+
+
+ Conversion Func.:
+ Conversie-functie:
+
+
+
+ Default Conversion:
+ Standaard Conversie:
+
+
+
+ The function to be assigned to an encoding conversion must have the following signature: <em>void function(integer, integer, cstring, internal, integer)</em>.
+ Een functie die wordt toegewezen aan een coderingsconversie met de volgende signature hebben: <em>void functie(integer, integer, cstring, internal, integet)</em>.
+
+
+
+ CrashHandlerForm
+
+
+ Crash Handler
+ Crash Handler
+
+
+
+ Stack trace
+ Stack trace
+
+
+
+ Input:
+ Invoer:
+
+
+
+ Load report file for analysis
+ Laad rapport bestand voor analyze
+
+
+
+ Save the attached model file on the filesystem
+ Bewaar het ingevoegde model bestaand op het bestandssysteem
+
+
+
+ pgModeler bug report (*.bug);;All files (*.*)
+ pgModeler bug rapport (*.bug);;Alle bestanden (*.*)
+
+
+
+ Load report
+ Laad rapport
+
+
+
+ Save model
+ Bewaar model
+
+
+
+ Database model (*.dbm);;All files (*.*)
+ Database model (*.dbm);;Alle bestanden (*.*)
+
+
+
+ Crash handler
+ Crash Handler
+
+
+
+ Bug report analysis mode activated.
+ Bug rapport analyze modus is geactiveerd.
+
+
+
+ Oops! pgModeler just crashed!
+ Oeps! pgModeler crashte!
+
+
+
+ We apologize for what happened! It is clear that a nasty bug caused that. Please fill out the form below describing your actions before pgModeler quit unexpectedly. This will help on bug extermination and improve the software.
+ We verontschuldigen ons voor wat net gebeurde! Het is overduidelijk dat een ernstige bug dit veroorzaakte. Gelieve het formuleer hieronder in te vullen met een beschrijving van wat u deed vooraleer pgModeler onverwachts afsloot. Dit zal ons helpen om deze bug te corrigeren en de software te verbeteren.
+
+
+
+ CsvLoadWidget
+
+
+ Form
+ Venster
+
+
+
+ Load CSV
+
+
+
+
+ CSV File:
+
+
+
+
+ Select output file
+ Selecteer uitvoerbestand
+
+
+
+ ...
+ ...
+
+
+
+ Separator:
+
+
+
+
+ Use the first row as column names in the CSV file. By unchecking this option the first row is used as data.
+
+
+
+
+ Columns in the first row
+
+
+
+
+ Load
+ Laden
+
+
+
+ Semicolon (;)
+
+
+
+
+ Comma (,)
+
+
+
+
+ Space
+ Spatie
+
+
+
+ Tabulation
+
+
+
+
+ Other
+
+
+
+
+ ;
+
+
+
+
+ Text delimiter:
+
+
+
+
+ "
+
+
+
+
+ Load CSV file
+
+
+
+
+ Comma-separted values (*.csv);;All files (*.*)
+
+
+
+
+ CustomSQLWidget
+
+
+ Add custom SQL code
+
+
+
+
+ SQL code
+ SQL code
+
+
+
+ Puts an SELECT command template at current cursor position.
+ Plaatst een SELECT commando-sjabloon op de huidige positie van de cursor.
+
+
+
+ &SELECT
+ &SELECT
+
+
+
+ Puts an INSERT command template at current cursor position.
+ Plaatst een INSERT commando-sjabloon op de huidige positie van de cursor.
+
+
+
+ &INSERT
+ &INSERT
+
+
+
+ Puts an UPDATE command template at current cursor position.
+ Plaatst een UPDATE commando-sjabloon op de huidige positie van de cursor.
+
+
+
+ &UPDATE
+ &UPDATE
+
+
+
+ Puts an DELETE command template at current cursor position.
+ Plaatst een DELETE commando-sjabloon op de huidige positie van de cursor.
+
+
+
+ &DELETE
+ &DELETE
+
+
+
+ &Clear
+ &Leegmaken
+
+
+
+ Append SQL
+ Nagevoegde SQL
+
+
+
+
+ Append the SQL code at the very end of model definition.
+Unchecking this will cause the SQL to be appended at the end of CREATE DATABASE command.
+ Plaats de SQL code op het einde van de modeldefinitie.
+Deze optie afvinken zorgt ervoor dat de SQL wordt ingevoegd na het CREATE DATABASE commando.
+
+
+
+ Append at end of model definition.
+ Voeg toe aan het einde van de modeldefinitie.
+
+
+
+ Prepend SQL
+ Voorgevoegde SQL
+
+
+
+ Prepend at beginning of model definition.
+ Voeg toe aan het begin van de modeldefinitie.
+
+
+
+ <html><head/><body><p>Use custom commands with extreme caution because you can change the semantics of the entire model when running SQL validation or export processes. Additionally, depending on the amount of commands, those processes can have their performance sensibly degradated.</p></body></html>
+ <html><head/><body><p>Wees voorzichtig bij het gebruik van aangepaste SQL. Dit kan leiden tot een verandering van de betekenis van het volledige model wanneer SQL validatie wordt uigevoerd of wanneer het model wordt geëxporteerd. Het is ook mogelijk, afhankelijk van de hoeveelheid commando's, dat de prestaties van deze processen voelbaar en negatief kunnen worden beïnvloed.</p></body></html>
+
+
+
+ Generic INSERT
+ Generische INSERT
+
+
+
+ Include serial columns
+ Sluit seriële kolommen in
+
+
+
+ Exclude serial columns
+ Sluit seriële kolommen uit
+
+
+
+ Generic SELECT
+ Generische SELECT
+
+
+
+ Table SELECT
+ Tabel SELECT
+
+
+
+ Generic UPDATE
+ Generische UPDATE
+
+
+
+ Table UPDATE
+ Tabel UPDATE
+
+
+
+ Generic DELETE
+ Generische DELETE
+
+
+
+ Table DELETE
+ Tabel DELETE
+
+
+
+ DataManipulationForm
+
+
+ Data Manipulation
+ Datamanipulatie
+
+
+
+ &Close
+ &Sluiten
+
+
+
+ Refresh listing
+ De lijst wordt vernieuwd
+
+
+
+ F5
+ F5
+
+
+
+ Save changes
+ Aanpassingen opslaan
+
+
+
+ Ctrl+S
+ Ctrl+S
+
+
+
+ Export results to CSV file
+ Exporteer de resultaten naar een CSV bestand
+
+
+
+ Ctrl+X
+ Ctrl+X
+
+
+
+ Undo modifications
+ Aanpassingen ongedaan maken
+
+
+
+ Ctrl+Z
+ Ctrl+Z
+
+
+
+
+ Ins
+ Ins
+
+
+
+ Mark the selected rows to be deleted
+ Markeer de geselecteerde rij als 'te verwijderen'
+
+
+
+
+
+
+
+ Del
+ Del
+
+
+
+ Duplicate the selected rows
+
+
+
+
+ Ctrl+D
+
+
+
+
+ Add new rows from a CSV file
+
+
+
+
+ Filter the result set
+ Filter de resultaten
+
+
+
+ Table:
+ Tabel:
+
+
+
+ Schema:
+ Schema:
+
+
+
+ in
+ in
+
+
+
+ Hide views
+ Verberg views
+
+
+
+ Filter expression
+ Filterexpressie
+
+
+
+ Order && Limit
+ Sortering && Limiet
+
+
+
+ results (Use <strong>0</strong> for no limit)
+
+
+
+
+ Column:
+ Kolom:
+
+
+
+ <html><head/><body><p>Empty values are assumed as <span style=" font-weight:600;">DEFAULT</span>. To use special values like <span style=" font-weight:600;">NULL</span>, a function call like <span style=" font-weight:600;">now()</span> or a specific data escaping, enclose values in two slashes, e.g., <span style=" font-weight:600;">/value/</span>. To use a slash as part of the value prepend the backslash character, e.g., <span style=" font-weight:600;">\/</span>.</p></body></html>
+
+
+
+
+ Copy items on the grid
+
+
+
+
+ Paste items on the grid
+
+
+
+
+ Ctrl+V
+ Ctrl+V
+
+
+
+ Browse referenced tables
+
+
+
+
+ Change the values of all selected cells at once
+
+
+
+
+ Ctrl+E
+ Ctrl+E
+
+
+
+ ASC
+ ASC
+
+
+
+ Add empty rows
+
+
+
+
+ DESC
+ DESC
+
+
+
+ Limit in:
+ Limiet in:
+
+
+
+ Add Item
+ Item Toevoegen
+
+
+
+ Remove Item
+ Item Verwijderen
+
+
+
+ Clear the order by columns list
+ Maak de sorterings-kolomlijst leeg
+
+
+
+ Move selected item up
+ Verplaats het geselecteerde item naar boven
+
+
+
+ Move selected item down
+ Verplaats het geselecteerde item naar beneden
+
+
+
+ Copy as CSV
+
+
+
+
+ Copy as text
+
+
+
+
+ Copy items
+
+
+
+
+ Pase items
+
+
+
+
+ Browse tables
+
+
+
+
+ Duplicate row(s)
+
+
+
+
+ Delete row(s)
+
+
+
+
+ Edit cell(s)
+
+
+
+
+ <strong>WARNING: </strong> There are some changed rows waiting the commit! Do you really want to discard them and retrieve the data now?
+
+
+
+
+ Rows returned: <strong>%1</strong>
+
+
+
+
+ <em>(Limit: <strong>%1</strong>)</em>
+ <em>(Limiet: <strong>%1</strong>)</em>
+
+
+
+ none
+
+
+
+
+ Column
+ Kolom
+
+
+
+ No objects found
+ Geen objecten gevonden
+
+
+
+ Found %1 object(s)
+ %1 object(en) gevonden
+
+
+
+ Views can't have their data handled through this grid, this way, all operations are disabled.
+ Data van views kan niet worden aangepast via dit raster, alle operaties zijn uitgeschakeld.
+
+
+
+ The selected table doesn't owns a primary key! Updates and deletes will be performed by considering all columns as primary key. <strong>WARNING:</strong> those operations can affect more than one row.
+ De geselecteerde tabel bevat geen primary key! Update en delete commando's worden uitgevoerd door alle kolommen als primary key te beschouwen. <strong>OPGEPAST</strong> deze acties kunnen meer dan één rij beïnvloeden.
+
+
+
+ Referenced tables
+
+
+
+
+
+ (none)
+
+
+
+
+ Referrer tables
+
+
+
+
+ This row is marked to be %1
+ Deze rij is als %1 gemarkeerd.
+
+
+
+ deleted
+ verwijderd
+
+
+
+ updated
+ aangepast
+
+
+
+ inserted
+ ingevoegd
+
+
+
+ [binary data]
+ [binaire data]
+
+
+
+ <strong>WARNING:</strong> Once commited its not possible to undo the changes! Proceed with saving?
+ <strong>OPGEPAST: </strong> Eens toegepast is het niet langer mogelijk om aanpassingen ongedaan te maken! Bent u zeker dat u wilt opslaan?
+
+
+
+ delete
+ delete
+
+
+
+ update
+ update
+
+
+
+ insert
+ insert
+
+
+
+ DatabaseExplorerWidget
+
+
+ Form
+ Venster
+
+
+
+
+ Data &Grid
+ Data &Grid
+
+
+
+
+ Alt+G
+ Alt+G
+
+
+
+
+
+
+
+ ...
+ ...
+
+
+
+ Open the grid to visualize or edit data
+
+
+
+
+ Open a new SQL execution pane
+
+
+
+
+ Ctrl+F6
+ Ctrl+F6
+
+
+
+ Update the objects tree
+
+
+
+
+ Toggle the display of filter widget as well the system/extension objects.
+
+
+
+
+ Sort items alphabetically. When unchecked, items are sorted by OID.
+
+
+
+
+ Sort alphabetically
+
+
+
+
+ Drop this database
+ Verwijder deze database
+
+
+
+ Expands all items
+ Alle items uitklappen
+
+
+
+ Collapses all items
+ Alle items inklappen
+
+
+
+ Filters the currently loaded items in the tree by using a pattern and matching their names. If <strong>By OID</strong> is checked the pattern is interpreted as an integer value that represents the object id (OID). <br><br/><strong>HINT:</strong> if you need to search the entire database use the full refresh (<strong>Ctrl+F5</strong>) prior the filtering.
+
+
+
+
+ Filter:
+ Filter:
+
+
+
+ By OID
+ Per OID
+
+
+
+
+ Attribute
+ Attribuut
+
+
+
+ Value
+ Waarde
+
+
+
+ Show raw attributes
+
+
+
+
+ (not found, OID: %1)
+ (niet gevonden, OID: %1)
+
+
+
+ -- Source code not generated! Hit F7 or middle-click the item to load it. --
+
+
+
+
+ Admin. roles
+ Admin. rollen
+
+
+
+ Alignment
+ Uitlijning
+
+
+
+ Analyze func.
+ Analyzeer func.
+
+
+
+ Arg. count
+ Aantal Argumenten
+
+
+
+ Arg. default count
+ Standaard aantal argument
+
+
+
+ Arg. defaults
+ Standaardargumenten
+
+
+
+ Arg. modes
+ Argumentenmodus
+
+
+
+ Arg. names
+ Argumentennamen
+
+
+
+ Arg. types
+ Argumententypes
+
+
+
+ Behavior type
+ Gedragstype
+
+
+
+ By value
+ Per waarde
+
+
+
+ Cast type
+ Cast type
+
+
+
+ Category
+ Categorie
+
+
+
+ Collatable
+ Sorteerbaar
+
+
+
+ Collation
+ Sortering
+
+
+
+ Comment
+ Commentaar
+
+
+
+ Commutator Op.
+ Commutator Op.
+
+
+
+ Configuration
+ Configuratie
+
+
+
+ Conn. limit
+ Verbindingslimiet
+
+
+
+
+ Constraint
+ Constraint
+
+
+
+ Create DB
+ Maak DB aan
+
+
+
+ Create role
+ Maak rol aan
+
+
+
+ Curr. version
+ Huidige versie
+
+
+
+ Default
+ Standaard
+
+
+
+ Default value
+ Standaardwaarde
+
+
+
+ Definition
+ Definitie
+
+
+
+ Delimiter
+ Delimiter
+
+
+
+ Dest. type
+ Doeltype
+
+
+
+ Dimension
+ Dimensie
+
+
+
+ Directory
+ Map
+
+
+
+ Dest. encoding
+ Doelcodering
+
+
+
+ Element
+ Element
+
+
+
+ Encoding
+ Codering
+
+
+
+ Encrypted
+ Geëncrypteerd
+
+
+
+ Enumerations
+ Enumeraties
+
+
+
+ Exec. cost
+ Uitvoeringskost
+
+
+
+ Expression
+ Expressie
+
+
+
+ Op. family
+ Operator Familie
+
+
+
+ Final func.
+ Finale functie
+
+
+
+ Function
+ Functie
+
+
+
+ Func. type
+ Functietype
+
+
+
+ Handler func.
+ Behandelende Functie
+
+
+
+ Handles type
+ Behandelt type
+
+
+
+ Hashes
+ Hashes
+
+
+
+ Index type
+ Indextype
+
+
+
+ Inherit
+ Erft over
+
+
+
+ Ini. condition
+ Initiële Vereiste:
+
+
+
+ Inline func.
+ Inline Functie
+
+
+
+ Input func.
+ Invoerfunctie
+
+
+
+ Internal length
+ Interne lengte
+
+
+
+ Interval type
+ Intervalstype
+
+
+
+ I/O cast
+ I/O cast
+
+
+
+ Join func.
+ Join func.
+
+
+
+ Language
+ Taal
+
+
+
+ LC COLLATE
+ LC COLLATE
+
+
+
+ LC CTYPE
+ LC CTYPE
+
+
+
+ Leak proof
+ Lekdicht
+
+
+
+ Left type
+ Linkse type
+
+
+
+ Length
+ Lengte
+
+
+
+ Library
+ Bibliotheek
+
+
+
+ Can login
+ Kan inloggen
+
+
+
+ Materialized
+ Gematerialiseerd
+
+
+
+ Member roles
+ Lid-rollen
+
+
+
+ Merges
+ Samenvoegingen
+
+
+
+ Name
+ Naam
+
+
+
+ Negator op.
+ Negator op.
+
+
+
+ Not null
+ Niet null
+
+
+
+ Object type
+ Objecttype
+
+
+
+ OID
+ OID
+
+
+
+ With OIDs
+ Met OIDs
+
+
+
+ Old version
+ Oude versie
+
+
+
+ Operator
+ Operator
+
+
+
+ Operator func.
+ Operator functie
+
+
+
+ Output func.
+ Uitvoerfunctie
+
+
+
+ Owner
+ Eigenaar
+
+
+
+ Owner column
+ Bezittende kolom
+
+
+
+ Parents
+ Ouders
+
+
+
+ Password
+ Wachtwoord
+
+
+
+ Permissions
+ Machtigingen
+
+
+
+ Precision
+ Precisie
+
+
+
+ Preferred
+ Voorkeur
+
+
+
+ Range attributes
+ Omvangsattributen
+
+
+
+ Receive func.
+ Ontvangersfunctie
+
+
+
+ Ref. roles
+ Ref. rollen
+
+
+
+ Replication
+ Replicatie
+
+
+
+ Restriction func.
+ Belemmeringsfunctie
+
+
+
+ Return type
+ Resultaatstype
+
+
+
+ Returns SETOF
+ Geeft SETOF terug
+
+
+
+ Right type
+ Rechtse type
+
+
+
+ Rows amount
+ Aantal rijen
+
+
+
+ Schema
+ Schema
+
+
+
+ Security type
+ Beveiligingstype
+
+
+
+ Send func.
+ Zendfunctie
+
+
+
+ Sort op.
+ Sorteeroperato
+
+
+
+ Source type
+ Brontype
+
+
+
+ Src. encoding
+ Broncodering
+
+
+
+ State type
+ Statustype
+
+
+
+ Storage
+ Opslag
+
+
+
+ Superuser
+ Superuser
+
+
+
+ Tablespace
+ Tablespace
+
+
+
+ Type mod. in func.
+ Type mod. in functie
+
+
+
+ Type mod. out func.
+ Type mod. buiten functie
+
+
+
+ Transition func.
+ Transitiefunctie
+
+
+
+ Trusted
+ Vertrouwd
+
+
+
+ Type
+ Type
+
+
+
+ Type attribute
+ Typeattribuut
+
+
+
+ Types
+ Types
+
+
+
+ Unlogged
+ Niet gelogged
+
+
+
+ Validator func.
+ Validatiefunctie
+
+
+
+ Validity
+ Geldigheid
+
+
+
+ Windows func.
+ Windowing func.
+
+
+
+ false
+ onwaar
+
+
+
+ true
+ waar
+
+
+
+ Cache value
+ Cachewaarde
+
+
+
+ Cycle
+ Cyclus
+
+
+
+ Increment
+ Toename
+
+
+
+ Max. value
+ Max. waarde
+
+
+
+ Min. value
+ Min. waarde
+
+
+
+ Start value
+ Startwaarde
+
+
+
+ Last value
+ Laatste waarde
+
+
+
+ Subtype
+ Subtype
+
+
+
+ Op. class
+ Op. klasse
+
+
+
+ Canonical func.
+ Canonische func.
+
+
+
+ Subtype diff func.
+ Subtype diff func.
+
+
+
+ Deferrable
+ Uitstelbaar
+
+
+
+ For each row
+ Voor elke rij
+
+
+
+ Firing
+ Afvuring
+
+
+
+ On insert
+ Bij insert
+
+
+
+
+ On delete
+ Bij delete
+
+
+
+
+ On update
+ Bij update
+
+
+
+ On truncate
+ Bij truncate
+
+
+
+ Arguments
+ Argumenten
+
+
+
+ Table
+ Tabel
+
+
+
+ Trigger func.
+ Trigger func.
+
+
+
+
+
+ Columns
+ Kolommen
+
+
+
+ Condition
+ Voorwaarde
+
+
+
+ Deferment
+ Uitstel
+
+
+
+ Event
+ Event
+
+
+
+ Execution mode
+ Uitvoeringsmodus
+
+
+
+ Commands
+ Commando's
+
+
+
+ Position
+ Positie
+
+
+
+ Comparison type
+ Vergelijkingstype
+
+
+
+ Ref. columns
+ Ref. columns
+
+
+
+ Expressions
+ Expressies
+
+
+
+ Fill factor
+ Vulfactor
+
+
+
+ No inherit
+ Geen overerving
+
+
+
+ Op. classes
+ Op. klasses
+
+
+
+ Operators
+ Operators
+
+
+
+ Ref. table
+ Ref. tabel
+
+
+
+ Unique
+ Uniek
+
+
+
+ Predicate
+ Predicaat
+
+
+
+ Collations
+ Sorteringen
+
+
+
+ Inherited
+ Overgeërfd
+
+
+
+ Client encoding
+
+
+
+
+ Configuration file
+
+
+
+
+ Data directory
+
+
+
+
+ Dynamic library path
+
+
+
+
+ Dynamic shared memory
+
+
+
+
+ Hba file
+
+
+
+
+ Listen addresses
+
+
+
+
+ Max. connections
+
+
+
+
+ Listen port
+
+
+
+
+ Server encoding
+
+
+
+
+ SSL
+
+
+
+
+ SSL ca file
+
+
+
+
+ SSL cert file
+
+
+
+
+ SSL crl file
+
+
+
+
+ SSL key file
+
+
+
+
+ Server version
+
+
+
+
+ Ident file
+
+
+
+
+ Password encryption
+
+
+
+
+ Connection ID
+
+
+
+
+ Server PID
+
+
+
+
+ Server protocol
+
+
+
+
+ Referrers
+
+
+
+
+ Identity
+
+
+
+
+ Command
+
+
+
+
+ USING expr.
+
+
+
+
+ CHECK expr.
+
+
+
+
+ Roles
+ Rollen
+
+
+
+ RLS enabled
+
+
+
+
+ RLS forced
+
+
+
+
+ Show objects filter
+
+
+
+
+ Show system objects
+
+
+
+
+ Show extension objects
+
+
+
+
+ Snippets
+ Snippets
+
+
+
+ Drop object
+ Verwijder object
+
+
+
+ Drop cascade
+ Verwijder cascade
+
+
+
+ Truncate
+ Truncate
+
+
+
+ Trunc. cascade
+ Trunc. cascade
+
+
+
+ Show data
+ Toon data
+
+
+
+ Reload properties
+ Eigenschappen herladen
+
+
+
+ Update
+ Updaten
+
+
+
+ Rename
+ Hernoem
+
+
+
+ Source code
+ Broncode
+
+
+
+ Quick refresh
+
+
+
+
+ Full refresh
+
+
+
+
+ -- Source code unavailable for this kind of object --
+
+
+
+
+ Do you really want to drop the object <strong>%1</strong> <em>(%2)</em>?
+ Bent u zeker dat u het object <strong>%1</strong> <em>%2</em> wilt verwijderen?
+
+
+
+ Do you really want to <strong>cascade</strong> drop the object <strong>%1</strong> <em>(%2)</em>? This action will drop all the other objects that depends on it.
+ Bent u er zeker van dat u het object <strong>%1</strong> <em>(%2)</em> via <strong>cascade</strong> wilt verwijderen? Deze actie verwijdert ook alle objecten die afhankelijk zijn van dit object.
+
+
+
+ Do you really want to truncate the table <strong>%1</strong>?
+ Bent u zeker dat u de tabel <strong>%1</strong> wil truncaten?
+
+
+
+ Do you really want to <strong>cascade</strong> truncate the table <strong>%1</strong>? This action will truncate all the tables that depends on it?
+ Bent u er zeker van dat u de tabel <strong>%1</strong> <em>(%2)</em> via <strong>cascade</strong> wilt verwijderen? Deze actie verwijdert ook alle tabellen die afhankelijk zijn van deze tabel.
+
+
+
+ Also restart sequences
+
+
+
+
+ Src. table: %1
+Src. column(s): %2
+
+
+
+
+ Ref. table: %1
+Ref. column(s): %2
+
+
+
+
+ -- Source code genaration for buil-in and base types currently unavailable --
+
+
+
+
+ -- Source code unavailable for the object %1 (%2). --
+
+
+
+
+
+ Warning
+ Opgepast
+
+
+
+ You're running a demonstration version! The data manipulation feature is available only in the full version!
+ Dit is een demonstratie-versie. De data manipulatie functionaliteit is enkel beschikbaar in de volledige versie!
+
+
+
+ <strong>CAUTION:</strong> You are about to drop the entire database <strong>%1</strong>! All data will be completely wiped out. Do you really want to proceed?
+ <strong>PAS OP:</strong> U staat op het punt om de volledige database <strong>%1</strong> te verwijderen! Alle data zal verloren gaan. Bent u zeker dat u verder wilt gaan?
+
+
+
+ DatabaseImportForm
+
+
+ Settings
+ Instellingen
+
+
+
+ Options
+ Opties
+
+
+
+ Connection:
+ Verbinding:
+
+
+
+ Resolve some of the object's dependencies by querying the catalog when a needed object does not exists on the loaded set. In some cases it's necessary to combine this option with others below. This option does not applies to database level objects like role, tablespace and language as well for data types, extensions.
+
+
+
+
+ Automatically resolve dependencies
+ Los afhankelijkheden automatisch op
+
+
+
+ Random colors will be assigned to imported relationships facilitating the identification of links between tables mainly in large models.
+ Om de identificatie van de links tussen tabellen in grote modellen makkelijker te maken zullen willekeurige kleuren worden gebruikt om de geïmporteerde relaties aan te duiden.
+
+
+
+ Random colors for relationships
+ Willekeurige kleuren voor relaties
+
+
+
+ Enables the import of system built-in objects. It's recommend to select only those objects that are directly referenced by the ones to be imported. WARNING: Try to import a huge set of system objects can bloat the resultant model or even crash pgModeler due to memory/cpu overuse.
+ Activeert het importeren van ingebouwde systeemobjecten. Het is aangeraden om enkel objecten te importeren waarnaar onmiddellijk worden gerefereerd. PAS OP: grote hoeveelheden systeemobjecten importeren kan leiden tot een opgezwollen resultaatsmodel of kan zelfs pgModeler tot een crash leiden omwillen van geheugen- of processor-uitputting.
+
+
+
+
+ Import database
+
+
+
+
+ Import system objects
+ Importeer systeemobjecten
+
+
+
+ Enables the import of objects created by extensions. Generally there is no need to check this option but if there are objects in the database that directly references this category of objects this mode must be enabled.
+ Activeert het importeren van objecten die werden aangemaakt door uitbreidingen. Algemeen gezien is er geen nood om deze optie aan te vinken tenzij er objecten in de databse leven die onmiddellijk naar objecten van deze categorie refereren.
+
+
+
+ Import extension objects
+ Importeer uitbreidingsobjecten
+
+
+
+ pgModeler ignores import errors and will try to create as many as possible objects. By checking this option the import operation will be not aborted but an incomplete model will be constructed. This option generates a log file on pgModeler's temp directory.
+ pgModeler negeert importeerfouten en zal pogen om zoveel mogelijk objecten aan te maken. Door deze optie aan te vinken zal de importeer-taak niet afbreken bij een fout maar zal een onvolledig model worden aangemaakt. Deze optie creëert een log bestand in de tijdelijke map voor pgModeler.
+
+
+
+ Ignore import errors
+ Negeer importeerfouten
+
+
+
+ All catalog queries as well the created objects' source code are printed to standard output (stdout).
+ Alle catalogusqueries plus the broncode van de aangemaakte objecten wordt naar de standaard output (stdout) geprint.
+
+
+
+ Debug mode
+ Debugmodus
+
+
+
+ Create all imported objects in the current working model instead of create a new one.
+ Maak alle geïmporteerde objecten aan in het huidige model en maak geen nieuw model aan.
+
+
+
+ Import objects to the working model
+ Importeer de objecten in het huidige model
+
+
+
+ Database
+ Database
+
+
+
+ Filter:
+ Filter:
+
+
+
+ Filter object by it's OID
+ Filter objecten per hun OID
+
+
+
+ By OID
+ Per OID
+
+
+
+ Select all objects
+ Selecteer alle objecten
+
+
+
+
+
+
+ ...
+ ...
+
+
+
+ Clear object selection
+ Maak de objectselectie ongedaan
+
+
+
+ Expands all items
+ Alle items uitklappen
+
+
+
+ Collapses all items
+ Alle items inklappen
+
+
+
+ Output
+ Uitvoer
+
+
+
+ Progress label...
+ Vooruitgangslabel...
+
+
+
+ Cancel
+ Annuleren
+
+
+
+ &Import
+
+
+
+
+ &Close
+ &Sluiten
+
+
+
+ <strong>ATTENTION:</strong> You are about to import objects to the current working model! This action will cause irreversible changes to it even in case of critical errors during the process. Do you want to proceed?
+ <strong>OPGEPAST:</strong> U staat op het punt om objecten te importeren in het huidige model! Deze actie zal onherroepbare verandering teweegbrengen, zelfs wanneer kritische problemen opduiken gedurende dit proces. Bent u zeker dat u verder wilt gaan?
+
+
+
+ Importing process aborted!
+ Het import proces werd afgebroken!
+
+
+
+ Importing process canceled by user!
+ Het import proces werd geannuleerd door de gebruiker!
+
+
+
+ Importing process sucessfuly ended!
+ Het import proces werd succesvol beëindigt!
+
+
+
+ No databases found
+ Er werd database gevonden
+
+
+
+ Found %1 database(s)
+ Er werd(en) %1 database(s) gevonden
+
+
+
+ Retrieving objects from database...
+ De objecten worden van de database opgehaald...
+
+
+
+ Retrieving cluster level objects...
+ De objecten op cluster-niveau worden opgehaald...
+
+
+
+ Retrieving objects of schema `%1'...
+ De objecten uit schema `%1' worden opgehaald...
+
+
+
+ Retrieving objects of `%1' (%2)...
+
+
+
+
+ This is a PostgreSQL built-in data type and cannot be imported.
+ Dit is een ingebouwd type van PostgreSQL en kan niet worden geïmporteerd.
+
+
+
+ This is a pgModeler's built-in object. It will be ignored if checked by user.
+ Dit is een ingebouwd object van pgModeler. Dit object wordt genegeerd indien aangevinkt door de gebruiker.
+
+
+
+ DatabaseImportHelper
+
+
+ Retrieving system objects... `%1'
+ Systeemobjecten ophalen... `%1'
+
+
+
+
+ Retrieving objects... `%1'
+ Objecten ophalen... `%1'
+
+
+
+ Creating object `%1' (%2), oid `%3'...
+
+
+
+
+ Trying to recreate object `%1' (%2), oid `%3'...
+
+
+
+
+ Creating object `%1' (%2)...
+ Object aanmaken `%1' (%2)...
+
+
+
+ Import failed to recreate some objects in `%1' tries.
+ Het importeren faalde na `%1' pogingen om sommige objecten te her-creëeren.
+
+
+
+ Creating permissions for object `%1' (%2)...
+ Machtigingen aanmaken voor object `%1' (%2)...
+
+
+
+ Creating columns permissions...
+ Kolommachtigingen aanmaken...
+
+
+
+ Updating relationships of `%1' (%2)...
+ Updaten van de relaties voor `%1' (%2)...
+
+
+
+ Validating relationships...
+
+
+
+
+ The database import ended but some errors were generated and saved into the log file `%1'. This file will last until pgModeler quit.
+ Het importeren van de database is voltooid maar er werden enkele fouten gegenereerd, deze werden opgeslagen in het log-bestand `%1'. Dit bestand zal worden verwijderd wanneer u pgModeler afsluit.
+
+
+
+ Destroying unused detached columns...
+ De vrijstaande kolommen worden verwijderd...
+
+
+
+ Assigning sequences to columns...
+
+
+
+
+ Creating table inheritances...
+ Tabel-overervingen worden aangemaakt...
+
+
+
+ DatabaseModel
+
+
+ The demonstration version can create only `%1' instances of each object type! You've reach this limit for the type: `%2'
+ U kan slechts `%1' instancies per object type aanmaken in demonstratie-versies! U heeft deze limiet bereikt voor het type `%2'
+
+
+
+ Loading: `%1' (%2)
+ Bezig met laden: `%1' (%2)
+
+
+
+
+ Validating relationships...
+
+
+
+
+ Generating %1 code: `%2' (%3)
+
+
+
+
+ Saving object `%1' (%2)
+
+
+
+
+ Saving metadata of the object `%1' (%2)
+
+
+
+
+ Metadata file successfully saved!
+
+
+
+
+ Process successfully ended but no metadata was saved!
+
+
+
+
+ Creating object `%1' (%2)
+ Object `%1' (%2) wordt aangemaakt.
+
+
+
+ Object `%1' (%2) already exists. Ignoring.
+
+
+
+
+ Loading metadata for object `%1' (%2)
+
+
+
+
+ Object `%1' (%2) not found. Ignoring metadata.
+
+
+
+
+ Metadata file successfully loaded!
+
+
+
+
+ DatabaseWidget
+
+
+ Attributes
+ Attributen
+
+
+
+ LC_COLLATE:
+
+
+
+
+ LC_CTYPE:
+
+
+
+
+ Template DB:
+ Sjabloon DB:
+
+
+
+ Model Author:
+ Modelauteur:
+
+
+
+ Encoding:
+ Codering:
+
+
+
+ Connections:
+ Verbindingen:
+
+
+
+ Options:
+ Opties:
+
+
+
+ Allow connections
+
+
+
+
+ Is template
+
+
+
+
+ Default Objects
+ Standaardobjecten
+
+
+
+ Tablespace:
+ Tablespace:
+
+
+
+ Schema:
+ Schema:
+
+
+
+ Collation:
+ Sortering:
+
+
+
+ Owner:
+ Eigenaar:
+
+
+
+ The fields <strong>LC_COLLATE</strong> and <strong>LC_CTYPE</strong> have pre-configured values based upon the running system. You can freely modify those values if you intend to export the model to another host.
+ De velden <strong>LC_COLLATE</strong> en <strong>LC_CTYPE</strong> hebben voorgedefinieerde waarden gebasseerd op het lopende systeem. Deze waarden kunnen vrij worden aangepast indien u dit model naar een andere host wenst te exporteren.
+
+
+
+ Use the above fields to specify the default attributes assigned to new objects created on the database model. Leaving a field empty will cause PostgreSQL to use the default values when exporting the model.
+ Gebruik de velden hierboven om de waarden voor standaard attributen die aan nieuwe objecten worden toegewezen, te specifieren. Het veld leeglaten zorgt ervoor dat PostgreSQL zijn standaardwaarden gebruikt bij het exporteren.
+
+
+
+
+
+
+ Default
+ Standaard
+
+
+
+ DomainWidget
+
+
+ Attributes
+ Attributen
+
+
+
+ Default Value:
+ Standaardwaarde:
+
+
+
+ Not null
+ Niet null
+
+
+
+ Check constraints
+
+
+
+
+ Expression:
+ Expressie:
+
+
+
+ Name:
+ Naam:
+
+
+
+ Name
+ Naam
+
+
+
+ Expression
+ Expressie
+
+
+
+ DonateWidget
+
+
+ Form
+ Venster
+
+
+
+ Donate to pgModeler
+ Doneer aan pgModeler
+
+
+
+ Hide this widget
+ Verberg dit widget
+
+
+
+ ...
+ ...
+
+
+
+ <html><head/><body><p>pgModeler is brought to you thanks to a <span style=" font-style:italic;">great effort to create and distribute a quality product</span>. This project is reaching out levels of maturity never imagined. All this is the result of a joint work between its author and the <span style=" font-weight:600;">Open Source community</span>. <br/><br/>This software has a long way to go yet and with your help we'll keep maintaining the good job and bringing new improvements on each release. If you did like pgModeler and thinks it deserves a contribution please make a donation!</p></body></html>
+ <html><head/><body><p>pgModeler komt tot stand dankzij <span style=" font-style:italic;">een grote inzet om een kwaliteitsvol product te bezorgen</span>. Dit project heeft een niveau van volwassenheid bereikt die nooit was voorzien. Dit alles is het resultaat van de samenwerken tussen de auteur(s) en de <span style=" font-weight:600;">Open Source gemeenschap</span>. <br/><br/>Dit product heeft nog een lange weg af te leggen; met uw hulp kunnen we deze uitdaging aan en kunnen we nieuwe verbeteringen en toevoegingen aan dit product blijven publiceren bij elke release. Als u vertrouwd op pgMOdeler en denkt dat u kan bijdragen, gelieve dan een donatie te maken aan pgModeler!</p></body></html>
+
+
+
+ I want to help!
+ Ik wil helpen!
+
+
+
+ ElementsWidget
+
+
+ Form
+ Venster
+
+
+
+ Column:
+ Kolom:
+
+
+
+ Expression:
+ Expressie:
+
+
+
+ Collation:
+ Sortering:
+
+
+
+ Operator Class:
+ Operator Klasse:
+
+
+
+ Operator:
+ Operator:
+
+
+
+ Sorting:
+ Sortering:
+
+
+
+ Ascending
+ Stijgend
+
+
+
+ Descending
+ Afdalend
+
+
+
+ Nulls first
+ Nulls eerst
+
+
+
+ Element
+ Element
+
+
+
+ Type
+ Type
+
+
+
+ Operator Class
+ Operator Klasse
+
+
+
+ Sorting
+ Sortering
+
+
+
+ Nulls First
+ Nulls eerst
+
+
+
+ Collation
+ Sortering
+
+
+
+ Operator
+ Operator
+
+
+
+ Expression
+ Expressie
+
+
+
+ Yes
+ Ja
+
+
+
+ No
+ Nee
+
+
+
+ EventTriggerWidget
+
+
+ Event:
+ Event:
+
+
+
+ Function:
+ Functie:
+
+
+
+ Filter
+ Filter
+
+
+
+ Tag:
+ Tag:
+
+
+
+ Tag command
+ Tag commando
+
+
+
+ Exception
+
+
+ Assignment of a pseudo-type to the type of the column!
+ Poging to toewijzing van een pseudo-type als het type van een kolom!
+
+
+
+ Assignment of a precision greater than the length of the type!
+ Toewijzing van een waarde met grotere precisie dan de toegewezen locatie!
+
+
+
+ Assignment of an invalid precision to type time, timestamp or interval. The precision in this case must be equal to or less than 6!
+ Toewijzing van een ongeldige precisie aan het type time, timestamp of interval. De precisie moet in dit geval kleiner dan of gelijk zijn aan 6!
+
+
+
+ Assignment of a not allocated column to object `%1' (%2)!
+ Toewijzing van een niet-gealloceerde kolom aan het object `%1' (%2)!
+
+
+
+ Reference to a column which index is out of the capacity of the column list!
+ Referentie naar een kolom wiens index buiten de capaciteit van de kolomlijst ligt!
+
+
+
+ Assignment of not allocated object!
+ Toewijzing van een niet-gealloceerd object!
+
+
+
+ Assignment of a not allocated schema to object `%1' (%2)!
+ Toewijzing van een niet-gealloceerde schema aan het object `%1' (%2)!
+
+
+
+ The object `%1' (%2) has inconsistent SQL or XML definition!
+ het object `%1' (%2) heeft een inconsistente SQL of XML definitie!
+
+
+
+ The object `%1' (%2) already exists on `%3' (%4)!
+ Het object `%1' (%2) bestaat reeds op `%3' (%4)!
+
+
+
+ The object `%1' (%2) cannot be assigned because there is already exists in the container object `%3'!
+ Het object `%1' (%2) kan niet worden toegewezen omdat het reeds bestaat in het container-object `%3'!
+
+
+
+ Assigning object of an invalid type!
+ Toewijzing van een object van een ongeldig type!
+
+
+
+ Removing an object of an invalid type!
+ Verwijdering van een object van een ongeldig type!
+
+
+
+ Obtaining an object of an invalid type!
+ Het verkregen object is van een ongeldig type!
+
+
+
+ Assignment of empty name to table return type!
+ Toewijzing van een lege naam aan een tabel-terugkeertype!
+
+
+
+ The insertion of the parameter `%1' will not be possible because there is another parameter with same name in the function `%2'!
+ Het toevoegen van parameter `%1' is niet mogelijk omdat de functie `%2' reeds een parameter met deze naam bevat!
+
+
+
+ The insertion of the table return type `%1' will not be possible because there is another return type with the same name in the `%2'!
+ Het invoegen van tabel-terugkeertype `%1' is niet mogelijk omdat er reeds een terugkeer-type met deze naam bestaat in `%2'!
+
+
+
+ Reference to a parameter which index is out of the parameter list bounds!
+ Een referentie naar een parameter met een index die buiten de limieten ligt van de parameterlijst!
+
+
+
+ Reference to an event which does not belongs to trigger!
+ Een referentie naar een event die niet tot de trigger behoort!
+
+
+
+ The column `%1' cannot be assigned to the trigger `%2' because they belongs to different parent tables!
+ De kolom `%1' kan niet toegewezen worden aan de trigger `%2' omdat deze tot verschillende ouder-tabellen behoren!
+
+
+
+ Assignment of a not allocated function to object `%1' (%2)!
+ Toewijzing van een niet-gealloceerde functie aan het object `%1' (%2)!
+
+
+
+ Assignment of a function which return type is different from `%1'!
+ Toewijzing van een functie waarvan het terugkeertype verschilt van `%1'!
+
+
+
+ Assignment of a function which parameter count is invalid to the object `%1' (%2)!
+ Toewijzing van een functie waarvan het aantal parameters ongeldig is voor het object `%1' (%2)!
+
+
+
+ Assignment of a function which language is invalid!
+ Toewijzing van een functie waarvan de taal ongeldig is!
+
+
+
+ Event trigger function must be coded in any language other than SQL!
+ Event triggerfunctie moet geschreven zijn in een taal die verschilt van SQL!
+
+
+
+ Assignment of not allocated table to object `%1' (%2)!
+ Toewijzing van een niet-gealloceerde tabel aan object `%1' (%2)!
+
+
+
+ Reference to an argument which index is out of argument list bounds!
+ Referentie naar een argument met een index die buiten de limieten ligt van de argumentenlijst!
+
+
+
+ Assignment of empty name to an object!
+ Toewijzing van een lege naam aan een object!
+
+
+
+ Assignment of a name which contains invalid characters!
+ Toewijzen van een naam die ongeldige karakters bevat!
+
+
+
+ Assignment of a name which length exceeds the maximum of 63 characters!
+ Toewijzing van een naam die de maximumlengte van 63 karakters overtreed!
+
+
+
+ Assignment of schema object which type is invalid!
+ Toewijzing van een schemaobject wiens type ongeldig is!
+
+
+
+ Assignment of tablespace object with invalid type!
+ Toewijzing van een tablespaceobject met een ongeldig type!
+
+
+
+ Assignment of tablespace to an invalid object!
+ Toewijzing van een tablespace aan een ongeldig object!
+
+
+
+ Assignment of tablespace to a constraint which type is invalid! To belong to a tablespace the constraint must be a primary key or unique!
+ Toewijzing van een tablespace aan een constraint wiens type ongeldig is! Om tot een tablespace te behoren moet een constraint een primary key of een unieke sleutel zijn!
+
+
+
+ Assignment of owner object which type is invalid!
+ Toewijzing van een eigenaarsobject wiens type ongeldig is!
+
+
+
+ Assignment of owner to an invalid object!
+ Toewijzing van een eigenaar aan een ongeldig object!
+
+
+
+ Assignment of appended or prepended SQL to an invalid object!
+ Toewijzing van toegevoegde of voorgevoegde SQL aan een ongeldig object!
+
+
+
+ Reference to a function with invalid type!
+ Referentie naar een functie met een ongeldig type!
+
+
+
+ Reference to an argument of the operator with invalid type!
+ Referentie naar een argument van de operator met een ongeldig type!
+
+
+
+ Reference to an operator with invalid type!
+ Referentie naar een operator met een ongeldig type!
+
+
+
+ Assignment of value to an invalid option type on role!
+ Toewijzing van een waarde aan een ongeldig optietype van een rol!
+
+
+
+ Reference to an invalid role type!
+ Referentie naar een ongeldig rol-type!
+
+
+
+ The insertion of the role `%1' is not possible because this is already being referenced by role `%2'!
+ Het invoegen van de rol `%1' is onmogelijk omdat deze reeds wordt gerefereerd door rol `%2'!
+
+
+
+ Reference redundancy detected by having the role `%1' referencing the role `%2'!
+ Referentieredundantie gedetecteerd doordat de rol `%1' refereert naar rol `%2'!
+
+
+
+ The role `%1' can not be listed as a member of itself!
+ De rol `%1' kan geen lid zijn van zichzelf!
+
+
+
+ Reference to a role which index is out of role list bounds!
+ Referentie naar een rol wiens index buiten de limieten van de rollelijst ligt!
+
+
+
+ Insertion of empty command to the rule!
+ Invoeging van een leeg commando aan de regel!
+
+
+
+ Reference to a command which index is out of the command list bounds!
+ Referentie naar een commando wiens index buiten de limieten van de commandolijst ligt!
+
+
+
+ Is not possible to create a self generalization/copy relationship! The table can not inherit or copy their own attributes!
+ Het is onmodelijk om een zelf-generalisatie/kopieer-relatie aan te maken! De tabel kan niet van zichzelf erven of zijn eigen attributen kopieren!
+
+
+
+ Assignment of an object that already belongs to another table!
+ Toewijzing van een object dat reeds aan een andere tabel toehoort!
+
+
+
+ Assignment of a schema to the sequence which differs from the schema of the owner table!
+ Toewijzing van een schema aan de sequentie die verschilt van het schema van de eigenaars-tabel!
+
+
+
+ Assignment of an invalid value to one of the sequence attributes!
+ Toewijzing van een ongeldige waarde aan een van de sequentie-attributen!
+
+
+
+ Assignment of a minimum value to the sequence which is greater than the maximum value!
+ Toewijzing van een minimumwaarde die groter is dan de maximumwaarde van de sequentie!
+
+
+
+ Assignment of a start value to the sequence which is extrapolating the range defined by minimum and maximum values!
+ Toewijzing van een startwaarde aan de sequentie die de omvang extrapoleerd als gedefinieerd door de minimum- en maximumwaarden!
+
+
+
+ Assignment of a null increment value to the sequence!
+ Toewijzing van een null-vermeerdering aan de sequentie!
+
+
+
+ Assignment of null cache value to the sequence!
+ Toewijzing van null-cachewaarden aan de sequentie!
+
+
+
+ Assignment of owner table which is not in the same schema as the sequence `%1'!
+ Toewijzing van een eigenaarstabel die zich niet in hetzelfde schema bevindt als de sequentie `%1'!
+
+
+
+ Assignment of owner table which does not belong to the same owner of the sequence `%1'!
+ Toewijzing van een eigenaarstabel die niet tot dezelfde eigenaar behoort als de sequentie `%1'!
+
+
+
+ Assignment of a nonexistent owner column to the sequence `%1'!
+ Toewijzing van een niet-bestaande eigenaarskolom aan de sequentie `%1'!
+
+
+
+ Assignment of an owner column to the sequence `%1' that is not related to any table!
+ Toewijzing van een eigenaarskolom aan de sequentie `%1' die aan geen enkele tabel gerelateerd is!
+
+
+
+ Reference to a label which index is out of labels list bounds!
+ Referentie naar een label wiens index buiten de limieten ligt van de label-lijst!
+
+
+
+ Allocation of object with invalid type!
+ Allocatie van een object met ongeldig type!
+
+
+
+ Assignment of a function with invalid return type to object `%1' (%2)!
+ Toewijzing van een functie met een ongeldige terugkeerwaarde aan object `%1' (%2)!
+
+
+
+ Assignment of a function with invalid parameter(s) type(s) to object `%1' (%2)!
+ Toewijzing van een functie met ongeldige parametertype(s) aan object `%1' (%2)!
+
+
+
+ Assignment of not allocated language!
+ Toewijzing van een niet-gealloceerde taal!
+
+
+
+ Assignment of language object which type is invalid!
+ Toewijzing van een taalobject wiens type ongeldig is!
+
+
+
+ Reference to data type with an index outside the capacity of data types list!
+ Referentie naar een datatype met een index die buiten de capaciteit van de datatype lijst ligt!
+
+
+
+ Assignment of a null type to object `%1' (%2)!
+ Toewijzing van een null type aan het object `%1' (%2)!
+
+
+
+ Assignment of invalid type to the object!
+ Toewijzing van een ongeldig type aan het object!
+
+
+
+ Assignment of an empty directory to object `%1' (%2)!
+ Toewijzing van een lege map aan object `%1' (%2)!
+
+
+
+ Obtaining types with invalid quantity!
+ Types met ongeldige hoeveelheid verkregen!
+
+
+
+ Insertion of item which already exists in the attributes list of the type!
+ Invoegen van een item dat reeds bestaat in de attributenlijst van het type!
+
+
+
+ Insertion of invalid item in the attributes list of the type!
+ Invoegen van een ongeldig item in de attributenlijst van het type!
+
+
+
+ Insertion of item which already exists in the enumarations list of the type!
+ Invoegen van een item dat reeds bestaat in de enumeratielijst van het type!
+
+
+
+ Insertion of invalid item in the enumerations list of the type!
+ Invoegen van een ongeldig item in de enumeratielijst van het type!
+
+
+
+ Reference to an attribute which index is out of the attributes list bounds!
+ Referentie naar een attribuut met een index die buiten de limieten van de attributenlijst ligt!
+
+
+
+ Reference to an enumeration which index is out of the enumerations list bounds!
+ Referentie naar een enumeratie met een index buiten de limieten van de enumeratielijst!
+
+
+
+ Assignment of invalid configuration to the type!
+ Toewijzing van een ongeldige configuratie aan het type!
+
+
+
+ There is already a relationship between `%1' (%2) and `%3' (%4) in the model! When using relationships of the type generalization, copy and one-to-one there can't be other relationships linked to the pair of tables.
+
+
+
+
+ Unable to load the configuration file `%1'! Please check if file exists in its folder and/or if it is not corrupted!
+
+
+
+
+ Invalid syntax in file `%1', line %2, column %3!
+
+
+
+
+ Invalid instruction `%1' on file `%2', line %3, column %4!
+
+
+
+
+ Unknown attribute `%1' in file `%2', line %3, column %4!
+
+
+
+
+ Invalid metacharacter `%1' in file `%2', line %3, column %4!
+
+
+
+
+ Invalid operator `%1' in comparison expression, file `%2', line %3, column %4!
+
+
+
+
+ Attribute `%1' with an undefined value in file `%2', line %3, column %4!
+
+
+
+
+ Attribute `%1' with an invalid name in file `%2', line %3, column %4!
+
+
+
+
+ Could not access the file or directory `%1'! Make sure that it exists or if the user has access permissions on it!
+
+
+
+
+ Could not load file `%1'. The same appears to be inconsistent or one of its dependencies (DTD files) has errors or is missing!
+
+
+
+
+ Unsupported PostgreSQL version (%1) detected! Valid versions are between %2 and %3.
+
+
+
+
+ Failed to drop the database `%1' because it is defined as the default database for the connection `%2'!
+
+
+
+
+ The column `%1' must be `NOT NULL' because it composes the primary key of the table `%2'. You need to remove the column from the mentioned contraint in order to disable the `NOT NULL' on it!
+
+
+
+
+ The identity column `%1' has an invalid data type! The data type must be `smallint', `integer' or `bigint'.
+
+
+
+
+ Reference to an invalid affected command in policy `%1'!
+
+
+
+
+ Reference to an invalid special role in policy `%1'!
+
+
+
+
+ Assignment of an operator which input type count is invalid to aggregate function!
+ Toewijzing van een operatie wiens inputtypehoeveelheid ongeldig is voor een aggregatiefunctie!
+
+
+
+ Assignment of an operator which types of arguments is invalid!
+ Toewijzing van een operator wiens argumententypes ongeldig zijn!
+
+
+
+ Assignment of system reserved name to the object `%1' (%2)!
+ Toewijzing van een systeem-gereserveerde naam aan het object `%1' (%2)!
+
+
+
+ One function with invalid configuration is been used by the object `%1' (%2)!
+ Een functie met ongeldige configuratie wordt gebruikt door het object `%1' (%2)!
+
+
+
+ Assignment of an invalid strategy/support number to an operator class element!
+ Toewijzing van een ongeldig strategy- of supportnummer aan een operatorklasse element!
+
+
+
+ Insertion of element which already exists in the element list!
+ Invoegen van een element dat reeds bestaat in de elementenlijst!
+
+
+
+ Reference to an element which index is out of element list bounds!
+ Referentie naar een element wiens index buiten de limiet van de elementenlijst valt!
+
+
+
+ Reference to an object which index is out of object list bounds!
+ Referentie anar een object wiens index buiten de limiet van de objectenlijst valt!
+
+
+
+ Removal of an object not allocated!
+ Verwijdering van een niet-gealloceerd object!
+
+
+
+ The object `%1' (%2) can not be removed because it is being referenced by object `%3' (%4)!
+ Het object `%1' (%2) kan niet worden verwijderd omdat object `%3' (%4) ernaar verwijst!
+
+
+
+ The object `%1' (%2) can not be removed because it is being referenced by object `%3' (%4) that belongs to `%5' (%6)!
+ Het object `%1' (%2) kan niet worden verwijderd omdat object `%3' (%4), dat aan `%5' (%6) toehoort, ernaar verwijst!
+
+
+
+ Operation with object(s) which type(s) is invalid!
+ Operatie met object(en) van een ongeldig type!
+
+
+
+ Reference to object with invalid type!
+ Verwijzing naar een object van een ongeldig type!
+
+
+
+ Operation with object not allocated!
+ Operatie op een niet-gealloceerd object!
+
+
+
+ The creation of the relationship `%1' between the table `%2' and `%3' can not be done because one does not have a primary key. If the relationship is of the type n-n both tables must have primary keys!
+ Het aanmaken van de relatie `%1' tussen de tabellen `%2' en `%3' kan niet worden voltooid omdat deze geen primary key bevatten. Indien de relatie van het type n-n is, moeten beide tabellen over een primary key beschikken!
+
+
+
+ The relationship of the type 1-1 where both tables are mandatory participation is not implemented because it requires fusion between the tables that breaks the modeling done by the user!
+ De relatie van het type 1-1 waar beide tabellen verplicht meespelen is niet geimplementeerd omdat dit een fusie tussen de tabellen vereist die het design van de gebruiker zou breken!
+
+
+
+ Assignment of an invalid expression to the object!
+ Toewijzing van een ongeldige expressie aan het object!
+
+
+
+ Assignment of a primary key to a table which already has one!
+ Toewijzing van een primary key aan een tabel die reeds over een primary key beschikt!
+
+
+
+ Identifier relationship can not be created for a self relationship, relationships of the type n-n, copy or generalization!
+ De identifier-relatie kan niet worden aangemaakt voor een zelf-relatie, relaties van het type n-n, kopie or generalisatie!
+
+
+
+ Unable to create a copy relationship because the column `%1' in table `%2' already exists in table `%3'!
+ De kopie-relatie kon niet worden aangemaakt omdat de kolom `%1' in table `%2' reeds bestaat in tabel `%3'!
+
+
+
+ Unable to create the generalization relationship because the column `%1' in table `%2' can not be merged with the column `%3' of table `%4' because they have incompatible types!
+ De generalisatierelatie kan niet worden aangemaakt omdat de kolom `%1' in tabel `%2' niet kan worden samengevoegd met kolom `%3' van tabel `%4', deze kolommen hebben incompatibele types!
+
+
+
+ Unable to create the generalization relationship because the constraint `%1' in table `%2' can not be merged with the constraint `%3' of table `%4' due to their incompatible composition!
+ De generalisatierelatie kan niet worden aangemaakt omdat de constraint `%1' in tabel `%2' niet kan worden samengevoegd met constraint `%3' van tabel `%4', deze constraints hebben een incompatibele compositie!
+
+
+
+ An attribute can not be added to a copy or generalization relationship!
+ Een attribuut kan niet worden toegevoegd aan een kopie of een generalisatierelatie!
+
+
+
+ A foreign key can not be added to a relationship because is created automatically when this is connected!
+ Een foreign key kan niet worden toegevoegd aan een relatie omdat deze automatisch wordt aangemaakt wanneer deze wordt verbonden!
+
+
+
+ The object `%1' (%2) is referencing the object `%3' (%4) which was not found in the model!
+ Het object `%1' (%2) refereert naar het object `%3' (%4), dit laatste object kon niet worden gevonden in het model!
+
+
+
+ Reference to an user-defined data type that not exists in the model!
+ Referentie naar een gebruikersgedefinieerd type dat niet in het model bestaat!
+
+
+
+ Assignment of invalid maximum size to operation list!
+ Toewijzing van een ongeldige maximumwaarde aan de operatielijst!
+
+
+
+ Unable to write the file or directory `%1'! Make sure the output directory exists, or if the user has write permissions over it!
+ Het bestand of de map `%1' kon niet worden aangemaakt! Zorg ervoor dat de uitvoermap bestaat en dat de gebruiker er schrijfmachtigingen toe heeft!
+
+
+
+ Unable to write the file `%1' due to one or more errors in the definition generation process!
+ Het bestand `%1' kan niet worden geschreven omwille van een of meerdere fouten die optraden tijdens het definitie-generatie proces!
+
+
+
+ The configuration of the relationship `%1' generates a redundancy between the relationships `%2'. Redundancy on identifier or generalization/copy relationships are not accepted since they result in incorrect column spreading making the model inconsistent!
+ De configuratie van de relatie `%1' creeert een redundantie tussen de relaties `%2'. Redundanties van identifiers of generalisatie/kopie-relaties zijn niet geldig omdat deze kunnen leiden tot het incorrect verspreiden van kolommen en dit kan het model inconsistent maken!
+
+
+
+ One or more objects were invalidated and automatically removed because they were referencing table columns which were included through relationships and which no longer exists due to disconnection of relationships or exclusion of such generated columns!
+ Een of meerdere objecten werden als ongeldig gemarkeerd en werde automatisch verwijderd omdat deze naar kolommen refereerden die werden ingesloten door relaties die niet langer bestaan omwille van het ontkoppelen van de relatie of het uitsluiten van zulke gegenereerde kolommen!
+
+
+
+ The primary key `%1' can only be allocated if declared within a block of code that defines a table or relationship!
+ Een foreign key `%1' kan niet worden toegevoegd aan een relatie omdat deze automatisch wordt aangemaakt wanneer deze wordt verbonden!
+
+
+
+ Reference to an invalid privilege type!
+ Referentie naar een ongeldig machtigingstype!
+
+
+
+ Insertion of a role which already exists in the role list of the permission!
+ Invoegen van een rol die reeds in de rollenlijst van de machtiging aanwezig is!
+
+
+
+ Assignment of privilege incompatible with the type of object referenced by permission!
+ Toewijzing van een machtiging die niet compatibel is met het type waarnaar wordt verwezen door de machtiging!
+
+
+
+ There is already a permission on object `%1' (%2) which has one or more equal roles from those present on permission to be assigned to the object!
+ Er bestaat reeds een machtiging op object `%1' (%2) die een of meerdere zelfde rollen bevat als deze die onderdeel uitmaken van de nieuwe machtiging die aan het object worden toegewezen!
+
+
+
+ A permission is referencing the object `%1' (%2) which was not found in the model!
+ Een machtiging refereert naar object `%1' (%2) dat niet in het model kon worden teruggevonden!
+
+
+
+ The object `%1' (%2) can not be created because its not being assigned to any schema!
+ Het object `%1' (%2) kan niet worden aangemaakt omdat het niet aan een schema is toegewezen!
+
+
+
+ The tablespace `%1' can not be inserted into the model because it points to the same directory as the tablespace `%2'!
+ De tablespace `%1' kan niet worden ingevoegd in het model omdat het naar dezelfde map verwijst als de tablespace `%2'!
+
+
+
+ It is not possible to create arrays of domains or sequences (dimension >= 1)! PostgreSQL does not yet implement this feature!
+ Het is niet mogelijk om arrays van domeinen of sequenties (dimensie >= 1) aan te maken! Dit feature is nog niet aanwezig in PostgreSQL!
+
+
+
+ The function `%1' can not get a source code as a definition because its language is set to C. Use the attributes symbol and dynamic library instead!
+ De functie `%1' kan geen broncode bevatten als definitie omdat de taal is ingesteld als 'C'. Gebruik het attributensymbool en dynamische bibliotheek in de plaats!
+
+
+
+ The function `%1' can have the attributes symbol and dynamic library configured only if the language is set to C. For all other cases you must specify a source code that defines it in the DBMS!
+ De functie `%1' kan enkel symboolattributen en een dynamische bibliotheek configureren waneer de taal is ingesteld als zijnde 'C'. In alle andere gevallen moet u broncode specifieren die de functie definieert in het DBMS!
+
+
+
+ The operator `%1' can not be assigned as a comutator of operator `%2' because it has incompatible settings!
+ De operator `%1' kan niet worden toegewezen als comutator van operator `%2' omdat deze incompatibele instellingen heeft!
+
+
+
+ The operator `%1' can not be assigned as negator of operator `%2' because it has incompatible settings!
+ De operator `%1' kan niet worden toegewezen als negator van operator `%2' omdat deze incompatibele instellingen heeft!
+
+
+
+ The type `%1' can not self refer in the attributes `element' or `copy type' or be used as a data type of an attribute in the configuration of a composite type!
+ Het type `%1' kan geen zelf-referentie bevatten in de attributen 'element' of 'kopie type' noch kan het worden gebruikt als het data type van een attribuut in de configuratie van een composiet-type!
+
+
+
+ Assignment of invalid element to type `%1'!
+ Toewijzing van een ongeldig element aan type `%1'!
+
+
+
+ Assignment of invalid alignment to type `%1'!
+ Toewijzing van een ongeldig uitlijning aan type `%1'!
+
+
+
+ Assignment of invalid name to the table generated from N-N relationship!
+ Een ongeldige naam werd toegewezen aan de tabel gegenereerd op basis van een N-N relatie!
+
+
+
+ The relationship `%1' can not make use of the special primary key because it is marked as identifier or it is a self relationship!
+ De relatie `%1' kan geen gebruik maken van de primary key omdat deze is aangeduid als identifier of omdat het een zelfverwijzende relatie is!
+
+
+
+ The object `%1' (%2) can not be edited or deleted because it was automatically included through a relationship! If the object is an attribute or constraint the modifications must be done on the relationship editing form.
+ Het object `%1' (%2) kan niet worden bewerkt of verwijderd omdat het automatisch werd ingesloten via een relatie! Indien het object een attribuut of een constraint is moeten de bewerkingen worden uitgevoerd via het Relatie bewerk-venster.
+
+
+
+ The object `%1' (%2) can not be deleted because it is protected!
+ Het object `%1' (%2) kan niet worden verwijderd omdat het beschermd is!
+
+
+
+ The group `%1' has already been declared earlier!
+ De groep `%1' werd reeds eerder gedeclareerd!
+
+
+
+ The group `%1' can not be built in the groups declaration block (%2)!
+ De groep `%1' kan niet worden opgebouwd in de groependeclaratie-block (%2)!
+
+
+
+ The group `%1' was built but not declared in the groups declaration block (%2)!
+ De groep `%1' werd opgebouwd maar is niet gedeclareerd in de groependeclaratie-block (%2)!
+
+
+
+ The group `%1' can not be built without possessing child elements!
+ De groep `%1' kan niet worden opgebouwd zonder kind-elementen!
+
+
+
+ The group `%1' can not be built once more because this was done in previous blocks!
+ De groep `%1' kan niet worden opgebouwd omdat dit reeds werd uitgevoerd in een vorige block!
+
+
+
+ The group `%1' has been declared but not built!
+ De groep `%1' werd gedeclareerd maar niet opgebouwd!
+
+
+
+ Reference to a column of the objects table with invalid index!
+ Een referentie naar een kolom in de objectentabel met een ongeldige index!
+
+
+
+ Reference to a row of the objects table with invalid index!
+ Een referentie naar een rij in de objectentabel met een ongeldige index!
+
+
+
+ The object `%1' (%2) can not be manipulated because it is reserved to PostgreSQL! This object is present in the database model only as a reference!
+ Het object `%1' (%2) kan niet worden gemanipuleerd omdat dit een gereserveerd object is in PostgreSQL! Dit object bestaat enkel als referentie in het databasemodel!
+
+
+
+ The new configuration of the function invalidates the object `%1' (%2)! In this case it is needed to undo the relationship between the affected object and function in order to the new configuration to take effect!
+ De nieuwe configuratie van de functie maakt het object `%1' (%2) niet langer gevalideerd! Om de nieuwe configuratie in voege te doen treden moet u de relatie tussen het beinvloedde object en de functie ongedaan maken.
+
+
+
+ A view reference must be used in at least one these SQL scopes: View Definition, SELECT-FROM, FROM-WHERE or After WHERE!
+ Een viewreferentie moet minstens in een van de volgende SQL scopes worden gebruikt: View Definitie, SELECT-FROM, FROM_WHERE of Na WHERE!
+
+
+
+ Constraints like primary key, foreign key or unique must have at least one column related to them! For foreign keys must be selected, in addition, the referenced columns!
+ Constraints zoals primary key, foreign key of unique key moeten minstens een kolom bevatten! Voor foreign keys moeten ook de gerefereerde kolommen worden geselecteerd!
+
+
+
+ Could not find the default settings file `%1'! To restore default settings check the existence of the file and try again!
+ Het standaardinstellingsbestand `%1' kon niet worden gevonden. Kijk na of dit bestand bestaat om de standaardinstellingen terug te zetten en probeer opnieuw!
+
+
+
+ The export process failed due to an error triggered by the PostgreSQL server in an attempt to execute a SQL command. For more details about the error check the exception stack!
+
+** Executed SQL command: **
+
+%1
+ Het exportproces faalde door een fout die werd gegenereerd door PostgreSQL tijdens het uitvoeren van een SQL commando. Voor meer informatie over de fout, gelieve de exception stack na te kijken!
+
+** Uitgevoerde SQL commando: **
+
+%1
+
+
+
+ Could not load the plugin `%1' from the library `%2'! Message returned by plugin manager: `%3'
+ De plugin `%1' kon niet worden geladen van de bibliotheek `%2'! De plugin manager antwoordde met: `%3'
+
+
+
+ One or more plugins were not activated due to errors during the loading process! Check the exception stack for more details.
+ Een of meerdere plugin werden niet geactiveerd omwille van fouten gedurende het laadproces! Kijk de exception stack na voor meer details.
+
+
+
+ Assignment of empty XML buffer to parser!
+ Toewijzingen van een lege XML buffer aan de parser!
+
+
+
+ Assignment of empty DTD file name!
+ Toewijzing van een lege DTD bestandsnaam!
+
+
+
+ Assignment of empty name to the DTD declaration!
+ Toewijzing van een lege naam aan de DTD declaratie!
+
+
+
+ Error while interpreting XML buffer at line %1 column %2.
+Message generated by the parser: %3. %4
+ Er trad een fout op tijdens het interpreteren van de XML buffer op lijn %1, kolom %2.
+De parser antwoordde met: %3. %4
+
+
+
+ Operation on unallocated element tree! It is necessary to load the XML parser buffer and interpret it so that the tree is generated!
+ Een operatie werd uitgevoerd op een niet-gealloceerd element in de boomstructuur! De XML parser buffer moet eerst worden geladen en geinterpreteerd zodat deze boomstructuur kan worden gegenereerd!
+
+
+
+ Operation with unallocated tree element!
+ Operatie met een niet-gealloceerd object!
+
+
+
+ Operation with element which does not exists in the element tree currently loaded!
+ Er werd een operatie uitgevoerd op een element dat niet bestaat in de huidig geladen elementen-boomstructuur!
+
+
+
+ Assignment of a value to an invalid connection parameter!
+ Toewijzing van een waarde aan een ongeldige verbindingsparameter!
+
+
+
+ Operation on connection not established!
+ Er werd een operatie uitgevoerd op een niet-verbonden verbinding!
+
+
+
+ Attempt to connect without define configuration parameters!
+ Poging tot verbinden zonder dat de configuratieparameters zijn gedefinieerd!
+
+
+
+ Attempt to start a connection already stablished!
+ Poging tot het starten van een verbinding die reeds verbonden is!
+
+
+
+ Could not connect to the database.
+Message returned: `%1'
+ Er kon geen verbinding worden gemaakt met de database.
+Het bericht is: `%1'
+
+
+
+ Assignment of not allocated SQL command result!
+ Toewijzing van een niet-gealloceerde SQL commandoresultaat!
+
+
+
+ Unable to allocate the result of the SQL command because the response from the DBMS was not understood by the client!
+ Het is niet mogelijk om het resultaat van het SQL commando te allocaren omdat de client het antwoord van de DBMS niet verstond!
+
+
+
+ Unable to allocate command result for the SQL because the server has generated a fatal error!
+Message returned by the DBMS: `%1'
+ Het commandoresultaat voor de SQL code kan niet worden gealloceerd omdat de server een fatale fout genereerde!
+Het bericht dat terugkwam van de DBMS is: `%1'
+
+
+
+ Reference to a column of tuple with invalid index!
+ Referentie naar een kolom van een tuple met een ongeldige index!
+
+
+
+ Reference to a column of tuple with invalid name!
+ Referentie naar een kolom van een tuple met een ongeldige naam!
+
+
+
+ Reference to a tuple with an invalid index or the result is empty (no tuples)!
+ Referentie naar een tuple met een ongeldige index of het resultaat is leeg (geen tuples)!
+
+
+
+ Reference to a column of a tuple which was not yet initialized (tuple navigation not started)!
+ Referentie naar een kolom van een tuple dat nog niet werd geinitializeerd (tuple-navigatie nog niet gestart)!
+
+
+
+ Could not execute the SQL command.
+ Message returned: `%1'
+ Het SQL commando kon niet worden uitgevoerd.
+ Het teruggekeerde bericht is: `%1'
+
+
+
+ Invalid use of a view reference as whole SQL definition! The assigned reference must be an expression!
+ Ongeldig gebruik van een view-referentie als volledige SQL definitie! De toegewezen referentie moet een expressie zijn!
+
+
+
+ Assignment of a second definition expression to the view!
+ Toewijzing van een tweede definitie-expressie aan de view!
+
+
+
+ It is not possible mix ordinary references (SELECT-FROM, FROM-WHERE, After WHERE) with references used as view SQL definition!
+ Gewone referenties (SELECT-FROM, FROM-WHERE, Na WHERE) kunnen niet worden gemixt met referenties die gebruikt worden als SQL definitie!
+
+
+
+ Assignment of collation object which type is invalid!
+ Toewijzing van een sorteringsobject wiens type ongeldig is!
+
+
+
+ At the moment pgModeler does not support the creation of primary keys which some columns were generated by relationship connection. To create primary keys with this feature you can use the field `Identifier' or the tab `Primary key' on relationship editing form!
+ Op dit moment ondersteunt pgModeler de aanmaak van primary keys waarvan sommige kolomen door relatie-verbindingen worden gegenereerd nog niet. Om primary keys met dit feature aan te maken kan u gebruik maken van het veld 'Identifier' of het 'Primary key' tab-blad in het relatie-bewerkingsvenster!
+
+
+
+ Collations must be created at least with attributes LC_COLLATE and LC_CTYPE defined!
+ Sorteringsmethodes moeten worden aangemaakt en minstens LC_COLLATE en LC_CTYPE gedefinieerd hebben!
+
+
+
+ The object `%1' (%2) cannot reference itself! This operation is not permitted for this kind of object!
+ Het object `%1' (%2) kan niet naar zichzelf verwijzen! Deze operatie is niet toegelaten voor dit type object!
+
+
+
+ Only operator families which uses `btree' as indexing method are accepted by operator class elements!
+ Enkel operator-families die gebruik maken van `btree' als indexeringsmethod kunnen worden aanvaard als operatorklasse element!
+
+
+
+ Reference to an invalid copy table option!
+ Referentie naar een ongeldige kopie-tabel optie!
+
+
+
+ Copy relationship between tables `%1' and `%2' cannot be done because the first one already copies attributes from `%3'! Tables can have only one copy table!
+ De kopie-relatie tussen tabellen `%1' en `%2' kan niet worden aangemaakt omdat de eerste reeds attributen kopieert van `%3'! Tabellen kunnen over slechts een kopie-tabel beschikken!
+
+
+
+ The INSTEAD OF mode cannot be used on triggers that belongs to tables! This is available only for view triggers!
+ De INSTEAD OF modus kan niet worden gebruikt voor triggers die aan tabellen toehoren! Dit is enkel beschikbaar voor triggers die aan views toehoren!
+
+
+
+ The TRUNCATE event can only be used when the trigger executes for each statement and belongs to a table!
+ Het TRUNCATE event kan enkel worden gebruikt wanneer de trigger uitvoert voor elk statement en aan een tabel toebehoort!
+
+
+
+ The INSTEAD OF mode cannot be used on view triggers that executes for each statement!
+ De INSTEAD OF modus kan niet worden gebruikt voor view triggers die voor elk statement worden uitgevoerd!
+
+
+
+ Constraint triggers can only be executed on AFTER events and for each row!
+ Constraint triggers kunnen enkel worden uitgevoerd NA events en voor elke rij!
+
+
+
+ A view trigger cannot be AFTER/BEFORE when it executes for each row!
+ Een view trigger kan niet AFTER/BEFORE zijn wanneer deze voor elke rij wordt uitgevoerd!
+
+
+
+ A trigger cannot make reference to columns when using INSTEAD OF mode and UPDATE event!
+ Een trigger kan niet naar kolommen refereren wanneer deze gebruikt maakt van de INSTEAD OF modus binnen een UPDATE event!
+
+
+
+ Assignment of a column which has no parent table to the object `%1' (%2)!
+ Toewijzing van een kolom aan object `%1' (%2) die geen ouder-tabel heeft!
+
+
+
+ Only constraint triggers can be deferrable or reference another table!
+ Enkel constraint triggers kunnen uitstelbaar zijn of naar andere tabellen refereren!
+
+
+
+ Reference to a function id which is incompatible with the user define type configuration!
+ Een referentie naar een functie id die niet compatibel is met de configuratie van het gebruiker gedefinieerde type!
+
+
+
+ The operator class assigned to the object `%1' (%2) must use `btree' as indexing method!
+ De operatorklasse die is toegewezen aan het object `%1' (%2) moet 'btree' als indexeringsmethod gebruiken!
+
+
+
+ The validation process failed due to an error triggered by the validation helper. For more details about the error check the exception stack!
+ Het validatieproces faalde omwille van een fout in de validatie-helper. Kijk voor meer details over de fout de exception stack na!
+
+
+
+ The extension `%1' is registered as a data type and cannot have the attribute `handles datatype' modified!
+ De uitbreiding `%1' is geregistreerd als een data type, het 'behandeld data type' attribuut kan niet worden aangepast!
+
+
+
+ The fk relationship `%1' cannot be created because the foreign-key that represents it was not created on table `%2'!
+ De fk relatie `%1' kan niet worden aangemaakt omdat de foreign key die deze relatie weergeeft niet werd aangemaakt op tabel `%2'!
+
+
+
+ Assignement of an invalid object name pattern to the relationship `%1'!
+ Toewijzijng van een ongeldig objectnaamspatroon aan de relatie `%1'!
+
+
+
+ Reference to an invalid object name pattern id on the relationship `%1'!
+ Referentie naar een ongeldige id van objectnaamspatronen voor de relatie `%1'!
+
+
+
+ Invalid use of variadic parameter mode! This mode can be used only with an array or "any" data type!
+
+
+
+
+ The object `%1' (%2), oid `%3', could not be imported due to one or more errors! Check the exception stack for more details. `HINT:' if the object somehow references objects in `pg_catalog' or `information_schema' consider enable the importing of system objects.
+
+
+
+
+ It's not possible convert the type of the column `%1' to serial! It must have an `integer' based type and its default value must be a call to `nextval(seq_name::regclass)' function or a sequence object must be directly assigned to the column!
+
+
+
+
+ A parent table of `%1' which OID is `%2' was not found in the set of imported objects!
+
+
+
+
+ The enumeration `%1' can't be assigned to the type `%2' because contains invalid characters!
+
+
+
+
+ The enumeration `%1' can't be assigned to the type `%2' because is too long!
+
+
+
+
+ The connection was idle for too long and was automatically closed!
+
+
+
+
+ The connection was unexpectedly closed by the database server `%1' at port `%2'!
+
+
+
+
+ Mixing incompatibles DBMS export modes: `ignore object duplications', `drop database' or `drop objects' cannot be used with `simulate export'!
+ Mixen van niet-compatibele DBMS export-modussen: `negeer object duplicaten', `verwijder database' of `verwijder objecten' kan niet samen worden gebruikt met `simuleer export'!
+
+
+
+ Mixing incompatibles DROP options: `drop database' and `drop objects' cannot be used at the same time!
+ Mixen van niet-compatibele DROP opties: `verwijder database' en `verwijder objecten' kunnen niet samen worden gebruikt!
+
+
+
+ Invalid object id swapping operation! The objects involved are the same!
+ Ongeldige object id wissel-operatie! De betrokken objecten zijn dezelfde!
+
+
+
+ Invalid object id swapping operation! The database itself, tablespaces or roles cannot have the ids swapped!
+ Ongeldige object id wissel-operatie! De database zelf, tablespaces en rollen kunnen geen ids omwisselen!
+
+
+
+ The widget already has a parent and cannot be assigned to a different object!
+ Het widget heeft reeds een ouder en kan niet aan een ander object worden toegewezen!
+
+
+
+ Could not load the database model file `%1'. Check the error stack to see details. Try to run `pgmodeler-cli --fix-model' in order to correct the structure of the file if that is the case.
+ Het datababase modelbestand `%1' kon niet worden geladen. Kijk de foutenstack na voor meer details. Probeer `pgmodeler-cli --fix-model' uit te voeren op het model om de bestandsstructuur te corigeren indien dit nodig zou zijn.
+
+
+
+ The column `%1' cannot reference it's parent table `%2' as data type!
+ De kolom `%1' kan niet naar de oudertabel `%2' als data type verwijzen!
+
+
+
+ Operation with an invalid element id `%1'!
+ Operatie met een ongeldige olement id `%1'!
+
+
+
+ Reference to an invalid color id `%1' for element `%2'!
+ Referentie naar een ongeldige kleuren-id `%1' voor element `%2'!
+
+
+
+ Assignment of an invalid object to `%1' (%2)! The assigned object must be of type `%3'.
+ Toewijzing van een ongeldig object aan `%1' (%2)! Het toegewezen object moet van het type `%3' zijn.
+
+
+
+ The sequence `%1' can't be assigned to the column `%2' because the data type of the latter is incompatible. The type used must be an integer one!
+ De sequentie `%1' kan niet aan de kolom `%2' worden toegewezen omdat het data type van de kolom niet compatibel is. Het gebruikte type moet een integer type zijn!
+
+
+
+ The option to generate temporary object names can only be used in simulation mode!
+ De optie om tijdelijke objectnamen te genereren kan enkel worden gebruikt in simulatie-modus!
+
+
+
+ Could not assign the variable `%1' to event trigger's filter. Currently, PostgreSQL supports only the `TAG' variable!
+ De variabele `%1' kon niet worden toegewezen aan de filter van de event trigger! Op dit moment ondersteunt PostgreSQL enkel de `TAG' variabele!
+
+
+
+ Could not perform the `%1' operation on `%2' using the data on row `%3'! All changes were rolled back.
+
+ ** Returned error **
+
+%4
+ De operatie `%1' op `%2' kon niet worden voltooid met de data op rij `%3'! Alle aanpassingen werden ongedaan gemaakt.
+
+ ** Gerapporteerde fout **
+
+%4
+
+
+
+ Malformed unescaped value on row `%1' column `%2'!
+ Incorrect gevormde un-escape waarde op rij `%1', kolom `%2'!
+
+
+
+ Trying to undo/redo an invalid operation over an object that does not exists anymore or can't be handled! The operation history will be cleaned up.
+ Poging tot het ongedaan maken of opnieuw uitvoeren van een ongeldige operatie op een object dat niet langer bestaat of niet kan worden behandeld! De taakgeschiedenis zal worden leeggemaakt.
+
+
+
+ The object `%1' (%2) can't be handled because some needed fields are not set! Please, make sure to fill at least the requires fields in order to properly create or update the object.
+ Het object `%1' (%2) kan niet worden behandeld omdat sommige nodige velden niet werden ingesteld! Gelieve de verplichte velden in te voeren om het object correct aan te kunnen maken of passen.
+
+
+
+ A relationship can only be swapped by other object of the same kind!
+ De relatie kan enkel worden omgewisseld door een ander object van dezelfde soort!
+
+
+
+ ExtensionWidget
+
+
+ Version:
+ Versie:
+
+
+
+ Old Version:
+ Oude Versie:
+
+
+
+ This attribute cannot be changed once the object is created.
+ Dit attribuut kan niet worden veranderd eens het object is aangemaakt.
+
+
+
+ Handles data type
+ Behandelt dit data type
+
+
+
+ FindReplaceWidget
+
+
+ Form
+ Venster
+
+
+
+ Hide this widget
+ Verberg dit widget
+
+
+
+ ...
+ ...
+
+
+
+ Replace one occurrence
+ Vervang één voorkomen
+
+
+
+ Replace
+ Vervangen
+
+
+
+ Replace all occurrences
+ Vervang alle voorkomens
+
+
+
+ Replace All
+ Vervang Allen
+
+
+
+ Replace the selection and find the next one
+ Vervang in de selectie en vindt de volgende
+
+
+
+ Replace && Find
+ Vervang && Zoek
+
+
+
+ Replace:
+ Vervang:
+
+
+
+ Find:
+ Zoek:
+
+
+
+ Find previous
+ Zoek vorige
+
+
+
+ Shift+F3
+
+
+
+
+ Find next
+ Zoek volgende
+
+
+
+ F3
+
+
+
+
+ Case sensitive
+ Hoofdlettergevoelig
+
+
+
+ Regular expression
+ Regular expression
+
+
+
+ Whole words
+ Volledig woord
+
+
+
+ FunctionWidget
+
+
+ Attributes
+ Attributen
+
+
+
+ Security:
+ Beveiliging:
+
+
+
+ Function Type:
+ Functietype:
+
+
+
+ Rows Returned:
+ Aantal rijen
+
+
+
+ Return Method:
+ Terugkeermethode:
+
+
+
+ Behavior:
+ Gedrag:
+
+
+
+ Set
+ Set
+
+
+
+ Language:
+
+
+
+
+ Si&mple
+
+
+
+
+ Tab&le
+
+
+
+
+ Return Table
+ Terugkeertabel
+
+
+
+ Execution Cost:
+ Uitvoeringskost:
+
+
+
+ Windown Func.
+ Windowing Functie
+
+
+
+ Leakproof
+ Lekdicht
+
+
+
+ Parameters
+ Parameters
+
+
+
+ Definition
+ Definitie
+
+
+
+ Dynamic Library:
+ Dynamische Bibliotheek
+
+
+
+ Symbol:
+ Symbool:
+
+
+
+ Library:
+ Bibliotheek:
+
+
+
+ Source code:
+ Broncode:
+
+
+
+ Column
+ Kolom
+
+
+
+
+ Type
+ Type
+
+
+
+ Name
+ Naam
+
+
+
+ Mode
+ Modus
+
+
+
+ Default Value
+ Standaardwaarde:
+
+
+
+ GeneralConfigWidget
+
+
+ Form
+ Venster
+
+
+
+ General && Design
+ Algemeen && Design
+
+
+
+ General
+ Algemeen
+
+
+
+ Operation history:
+ Taakgeschiedenis:
+
+
+
+ Check if there is a new version on server
+ Vink dit aan om na te kijken of een nieuwe versie beschikbaar is op de server
+
+
+
+ Design
+ Design
+
+
+
+ Graphical objects (table, views and textboxes) will be created in a single step without the need to click on canvas
+ Grafische objecten (tabellen, views en tekstvakken) worden in een enkele stap aangemaakt zonder op het canvas te hoeven klikken
+
+
+
+ Simplify creation of graphical objects
+ Should be 'Vereenvoudig de aanmaak van grafische objecten' but that's way too long for the space
+ Versimpel creatie van grafische objecten
+
+
+
+ After loading the model the last zoom and position on canvas will be restored
+ Nadat het model geladen is wordt de laatste zoomwaarde en positie op het canvas hersteld
+
+
+
+ Save and restore last position and zoom
+ Behoud de laatste positie en zoom
+
+
+
+ Disable render smoothness
+ Schakel vlakke rendering uit
+
+
+
+ Hide the object that represents the relationship name
+ Verberg het object dat de relatienaam voorstelt
+
+
+
+ Hide relationship name
+ Verberg relatienaam
+
+
+
+ Validate before save, export or diff
+ Valideer voor opslaan, exporteren of diff
+
+
+
+ Hide the object which represents the tag assigned to the table
+ Verberg het tag object dat is toegekend aan de tabel
+
+
+
+ Hide table tags
+ Verberg tabel-tags
+
+
+
+ Start move the canvas when the cursor is on the canvas edges
+ Verplaatst het canvas wanneer de cursor zich op de rand van het canvas bevindt
+
+
+
+ Move canvas by keep mouse on corners
+ Verplaats canvas bij muis in de hoeken
+
+
+
+ Hide the portion of table which represent triggers, indexes and rules
+ Verberg het tabel-gedeelte dat triggers, indexes en regels voorstelt
+
+
+
+ Hide table extended attributes
+ Verberg uitgebreide attributen
+
+
+
+ Disable antialiasing for lines and texts improving performance when handling huge models.
+
+
+
+
+ Triggers a dialog asking the user to validate the model before a save, export or diff operation.
+
+
+
+
+ When enabled this option creates a placeholder object at the previous table's position when starting to move it. This will cause graphical updates on relationship lines to be performed only when the drag & drop action is done improving the performance. Disabling placeholders will cause those updates to be executed every time the table's position changes a single pixel (classical behavior).
+
+
+
+
+ Use placeholders when moving tables
+
+
+
+
+ Toggles the code completion in all fields that accepts the input of SQL commands.
+ Schakelt codevervollediging aan of af in alle velden die SQL commando's aanvaarden.
+
+
+
+ Minimum object opacity (%):
+
+
+
+
+ Defines the minimum opacity percentage applied to the objects when using the fade out feature. A zero opacity causes the object to be completely hidden not being possible to interact with it in the canvas area.
+
+
+
+
+ Canvas grid size:
+
+
+
+
+ Defines the vertical and horizontal grid size. This value affects the spacing of objects when using object grid alignment feature.
+
+
+
+
+ By default the range selection is triggered with Shift + left click. By checking this option range selection will be activated only with a single click and move.
+
+
+
+
+ Trigger range selection with a single click
+
+
+
+
+ Defines the maximum amount of elements held in the operation history. Once reached the maximum number the history is automatically cleaned.
+
+
+
+
+ Defines the period when the opened models will be saved automatically.
+
+
+
+
+ Autosave interval (minutes):
+
+
+
+
+ Enable SQL code completion
+ Schakel SQL codevervollediging in
+
+
+
+ Replaces any straight line in relationship by curved ones in order to improve the model's visualization.
+
+
+
+
+ Use curved lines for relationships
+
+
+
+
+ Souce code editor args:
+
+
+
+
+ lines
+
+
+
+
+ Clear the entire SQL comand history.
+
+
+
+
+ Clear history
+
+
+
+
+ Open in file manager
+ Open in bestandsbeheer
+
+
+
+ Overrides the default user interface language defined by the system. Requires restarting the program. <strong>NOTE:</strong> UI translations are third party collaborations thus any typo or mistake should be reported directly to their respective maintainers.
+
+
+
+
+ SQL history max. length:
+
+
+
+
+ Check updates at startup
+
+
+
+
+ User interface language:
+
+
+
+
+ Browse the source code editor application
+
+
+
+
+ Souce code editor:
+
+
+
+
+ Configurations directory:
+
+
+
+
+ Printing && Code
+ Printen && Code
+
+
+
+ Code style
+ Codestijl
+
+
+
+ Size:
+ Grootte:
+
+
+
+ Font:
+ Lettertype:
+
+
+
+ Colors:
+ Kleuren:
+
+
+
+
+ Options:
+ Opties:
+
+
+
+ Display line numbers
+ Geef lijnnummers weer
+
+
+
+ Highlight lines at cursor's position
+ Licht de huidige lijn onder de cursor op
+
+
+
+ pt
+ pt
+
+
+
+ Custom tab width:
+
+
+
+
+ Printing
+ Printen
+
+
+
+ Print grid
+ Print raster
+
+
+
+ Print page numbers
+ Print paginanummers
+
+
+
+ Paper:
+ Papier:
+
+
+
+ A0 (841 x 1189 mm)
+
+
+
+
+ A1 (594 x 841 mm)
+
+
+
+
+ A2 (420 x 594 mm)
+
+
+
+
+ A3 (297 x 420 mm)
+
+
+
+
+ A4 (210 x 297 mm)
+
+
+
+
+ A5 (148 x 210 mm)
+
+
+
+
+ A6 (105 x 148 mm)
+
+
+
+
+ A7 (74 x 105 mm)
+
+
+
+
+ A8 (52 x 74 mm)
+
+
+
+
+ A9 (37 x 52 mm)
+
+
+
+
+ B0 (1030 x 1456 mm)
+
+
+
+
+ B1 (728 x 1030 mm)
+
+
+
+
+ B10 (32 x 45 mm)
+
+
+
+
+ B2 (515 x 728 mm)
+
+
+
+
+ B3 (364 x 515 mm)
+
+
+
+
+ B4 (257 x 364 mm)
+
+
+
+
+ B5 (182 x 257 mm)
+
+
+
+
+ B6 (128 x 182 mm)
+
+
+
+
+ B7 (91 x 128 mm)
+
+
+
+
+ B8 (64 x 91 mm)
+
+
+
+
+ B9 (45 x 64 mm)
+
+
+
+
+ C5E (163 x 229 mm)
+
+
+
+
+ Comm10E (105 x 241 mm)
+
+
+
+
+ DLE (110 x 220 mm)
+
+
+
+
+ Executive (191 x 254 mm)
+
+
+
+
+ Folio (210 x 330 mm)
+
+
+
+
+ Ledger (432 x 279 mm)
+
+
+
+
+ Legal (216 x 356 mm)
+
+
+
+
+ Letter (216 x 279 mm)
+
+
+
+
+ Tabloid (279 x 432 mm)
+
+
+
+
+ Custom
+ Aangepast
+
+
+
+ Orientation:
+ Oriëntatie:
+
+
+
+ Landscape
+ Landschap
+
+
+
+ Portrait
+ Portret
+
+
+
+ Unity:
+ Eenheid:
+
+
+
+ Custom Size:
+ Aangepaste Grootte:
+
+
+
+ Width:
+ Breedte:
+
+
+
+ Height:
+ Hoogte:
+
+
+
+ Page Margins:
+ Paginamarges:
+
+
+
+ Left:
+ Links:
+
+
+
+ Left margin
+ Linkermarge
+
+
+
+ Top:
+ Kop:
+
+
+
+ Top margin
+ Kopmarge
+
+
+
+ Right:
+ Rechts:
+
+
+
+ Right margin
+ Rechtermarge
+
+
+
+ Bottom:
+ Voet:
+
+
+
+ Bottom margin
+ Voetmarge
+
+
+
+ Milimeters
+ Milimeters
+
+
+
+ Pixels
+ Pixels
+
+
+
+ Inches
+ Inches
+
+
+
+ Centimeter
+ Centimeter
+
+
+
+ Line numbers' font color
+ Lettertypekleur van lijnnummers
+
+
+
+ Line numbers' background color
+ Achtergrondkleur van lijnnummers
+
+
+
+ Highlighted line color
+ Uitlichtkleur
+
+
+
+ The little brown fox jumps over the lazy dog
+ The little brown fox jumps over the lazy dog
+
+
+
+ System default
+
+
+
+
+ All files (*.*)
+
+
+
+
+ Load file
+
+
+
+
+ GenericSQLWidget
+
+
+ SQL code
+ SQL code
+
+
+
+ HintTextWidget
+
+
+ Form
+ Venster
+
+
+
+ IndexWidget
+
+
+ Attributes
+ Attributen
+
+
+
+ Indexing:
+ Indexering:
+
+
+
+ Fill Factor:
+ Vul-factor:
+
+
+
+ Options:
+ Opties:
+
+
+
+ Concurrent
+ Gelijktijdig
+
+
+
+ Unique
+ Uniek
+
+
+
+ Fast update
+ Snelle update
+
+
+
+ Buffering
+ Buffering
+
+
+
+ Predicate:
+ Predicaat:
+
+
+
+ Elements
+ Elementen
+
+
+
+ LanguageWidget
+
+
+ Trusted:
+ Vertrouwd:
+
+
+
+ Validator Func.:
+ Validatiefunctie:
+
+
+
+ Handler Func.:
+ Behandelende Functie:
+
+
+
+ Inline Func.:
+ Inline Functie:
+
+
+
+ The functions to be assigned to the language should have, respectively, the following signatures:<br/><br/> <strong>Handler Function:</strong> <em>language_handler function()</em><br/> <strong>Validator Function:</strong> <em>void function(oid)</em><br/> <strong>Inline Function:</strong> <em>void function(internal)</em>
+ De functie die worden toegewezen aan de taal moeten de volgende signatures hebben, respectievelijk: <br/><br/> <strong>Handler Functie:</strong> <em>taal_handler_functie()</em><br/> <strong>Validatie Functie:</strong> <em>void functie(oid)</em><br/> <strong>Inline Functie:</strong> <em>void functie(internal)</em>
+
+
+
+ MainWindow
+
+
+ pgModeler - PostgreSQL Database Modeler
+ pgModeler - PostgreSQL Database Modeler
+
+
+
+ Toggle the model objects widget
+ Schakel het modelobjecten-widget in of uit
+
+
+
+ O&bjects
+ O&bjecten
+
+
+
+ Alt+B
+ Alt+B
+
+
+
+ Toogle the model validation widgets
+ Toon of verberg het modelvalidatie-widget
+
+
+
+ &Validation
+ &Validatie
+
+
+
+ Alt+V
+ Alt+V
+
+
+
+ Toggle the operation history widget
+ Toon of verberg het commandogeschiedenis-widget
+
+
+
+ &Operations
+ &Operaties
+
+
+
+ Alt+O
+ Alt+O
+
+
+
+ Toggle the object finder
+ Toon en verberg de objectenvinder
+
+
+
+ Find Object
+ Zoek Object
+
+
+
+ Ctrl+F
+ Ctrl+F
+
+
+
+ &File
+ &Bestand
+
+
+
+ &Edit
+ &Bewerken
+
+
+
+ &Show
+ &Weergave
+
+
+
+ General
+ Algemeen
+
+
+
+ Controls
+ Controls
+
+
+
+ &Load
+ &Laden
+
+
+
+ Sa&ve as
+
+
+
+
+ E&xit
+
+
+
+
+ Exit pgModeler
+
+
+
+
+ &About pgModeler
+
+
+
+
+ &Print
+
+
+
+
+ Print model
+
+
+
+
+ &Undo
+
+
+
+
+ Undo operation
+
+
+
+
+ &Redo
+
+
+
+
+ Redo operation
+
+
+
+
+ &Export
+ &Exporteer
+
+
+
+ Ctrl+Shift+E
+
+
+
+
+ &Show grid
+
+
+
+
+ &Close
+ &Sluiten
+
+
+
+ &Normal zoom
+
+
+
+
+ &Align to grid
+
+
+
+
+ Show &delimiters
+
+
+
+
+ &Settings
+
+
+
+
+ F12
+ F12
+
+
+
+ &Overview
+
+
+
+
+ &Support
+
+
+
+
+ Access the support page
+
+
+
+
+ New
+ Nieuw
+
+
+
+ &Diff
+
+
+
+
+ Determine the changes between model/database and another database
+
+
+
+
+ Shift+M
+
+
+
+
+ &Bug report
+
+
+
+
+ Objects me&tadata
+
+
+
+
+ Objects metadata
+
+
+
+
+ Arrange objects
+
+
+
+
+ Rearrange objects over the canvas
+
+
+
+
+ Ctrl+N
+
+
+
+
+ Ctrl+S
+ Ctrl+S
+
+
+
+ Zoom in
+ Inzoomen
+
+
+
+ Ctrl+=
+ Ctrl+=
+
+
+
+ Zoom out
+ Uitzoomen
+
+
+
+ Zoom -
+ Zoom -
+
+
+
+ He&lp
+
+
+
+
+ Pl&ugins
+
+
+
+
+ &New
+
+
+
+
+ New model
+ Nieuw model
+
+
+
+ &Save
+ Op&slaan
+
+
+
+ &Zoom in
+
+
+
+
+ Zoo&m out
+
+
+
+
+ Ctrl+-
+ Ctrl+-
+
+
+
+ Ctrl+O
+ Ctrl+O
+
+
+
+ Ctrl+Q
+ Ctrl+Q
+
+
+
+ F4
+ F4
+
+
+
+ Ctrl+P
+ Ctrl+P
+
+
+
+ Ctrl+Z
+ Ctrl+Z
+
+
+
+ Ctrl+Y
+ Ctrl+Y
+
+
+
+ Export the current opened model in different modes
+ Exporteer het huidig geopende model in verschillende modussen
+
+
+
+ &Recent Models
+
+
+
+
+ &Import
+
+
+
+
+ Rest&ore Session
+
+
+
+
+ &Fix a model
+
+
+
+
+ &Check for update
+
+
+
+
+ Ctrl+Shift+S
+ Ctrl+Shift+S
+
+
+
+ Show grid
+ Raster tonen
+
+
+
+ Ctrl+G
+ Ctrl+G
+
+
+
+ Close current model
+ Sluit dit model
+
+
+
+ Ctrl+W
+ Ctrl+W
+
+
+
+ Ctrl+0
+ Ctrl+0
+
+
+
+ Align objects position to grid
+ Lijn objecten uit op het raster
+
+
+
+ Ctrl+H
+ Ctrl+H
+
+
+
+ Show the page delimiters
+ Toon pagina-delimiters
+
+
+
+ Ctrl+L
+ Ctrl+L
+
+
+
+ Edit pgModeler settings
+ Bewerk de pgModeler instellingen
+
+
+
+ Save all
+ Alles opslaan
+
+
+
+ Show the model overview
+ Toon modeloverzicht
+
+
+
+ F10
+ F10
+
+
+
+ F1
+ F1
+
+
+
+ New object
+
+
+
+
+ Plugins
+ Plugins
+
+
+
+ Access the list of loaded plugins
+ Bekijk de lijst van geladen plugins
+
+
+
+ Load recently opened model
+ Laad recent geopend model
+
+
+
+ Import existing database to new model (reverse engineering)
+ Importeert een bestaande database in een nieuw model (Reverse Engineering)
+
+
+
+ Ctrl+Shift+I
+ Ctrl+Shift+I
+
+
+
+ New version found!
+ Er is een nieuwe versie beschikbaar!
+
+
+
+ Update for the current version is available on project's site
+ Er is een update beschikbaar voor de huidige versie op de website van het project
+
+
+
+ action_main_menu
+
+
+
+
+ Main menu
+ Hoofdmenu
+
+
+
+ Show expanded
+ Toon uitgeklapt
+
+
+
+ Expands the main menu bar in classical mode
+ Klapt het hoofdmenu uit in klassieke modus
+
+
+
+ Hide main menu
+ Verberg hoofdmenu
+
+
+
+ Hides the main menu bar and put the action on a separated action
+ This looks like something that could use revisiting (the original EN text that is)
+ Verbergt de hoofdmenu en verplaats de actie naar een afgescheiden actie
+
+
+
+ Ctrl+Shift+H
+ Ctrl+Shift+H
+
+
+
+ Ctrl+Shift+D
+
+
+
+
+ Welcome
+ Welkom
+
+
+
+ Welcome screen
+ Welkomstscherm
+
+
+
+ Shift+W
+
+
+
+
+ Design
+ Design
+
+
+
+ Design database models
+ Design databasemodellen
+
+
+
+ Shift+D
+
+
+
+
+ Manage
+ Beheer
+
+
+
+ Manage existent databases
+ Beheer bestaande databases
+
+
+
+ Report a bug
+ Rapporteer een bug
+
+
+
+ Donate
+ Doneer
+
+
+
+ Help pgModeler by donating!
+ Help pgModeler via donering!
+
+
+
+ (Demo)
+ (Demo)
+
+
+
+ Saving temp. models
+ Tijdelijke modellen opslaan
+
+
+
+ Clear Menu
+ Menu leegmaken
+
+
+
+ The demonstration version can create only `one' instance of database model!
+ De demonstratieversie kan slechts één databasemodel instantie aanmaken!
+
+
+
+
+ Save model
+ Model opslaan
+
+
+
+ Grid
+
+
+
+
+ Hierarchical
+
+
+
+
+ Scattered
+
+
+
+
+ Save modified model(s)
+
+
+
+
+ The following models were modified but not saved: %1. Do you really want to quit pgModeler?
+
+
+
+
+ The model <strong>%1</strong> was modified! Do you really want to close without save it?
+
+
+
+
+
+ Warning
+ Opgepast
+
+
+
+ You're running a demonstration version! The model saving feature is available only in the full version!
+ Dit is een demonstratie-versie! Het opslaan van modellen is enkel beschikbaar in de volledige versie!
+
+
+
+
+
+ Confirmation
+ Bevestiging
+
+
+
+ <strong>WARNING:</strong> The model <strong>%1</strong> is invalidated! It's recommended to validate it before save in order to create a consistent model otherwise the generated file will be broken demanding manual fixes to be loadable again!
+ <strong>PAS OP: </strong> Het model <strong>%1</strong> is niet gevalideerd! Het is aangeraden om het model te valideren vooraleer dit op te slaan om ervoor te zorgen dat u een consistent model behoudt, anders is het modelijk dat het gegenereerde bestand onvolledig is en manuele correcties zal vereissen om het opnieuw te kunnen laden!
+
+
+
+ Save anyway
+ Toch opslaan
+
+
+
+
+
+ Validate
+ Valideer
+
+
+
+ Save '%1' as...
+ Sla '%1' op als...
+
+
+
+
+ Database model (*.dbm);;All files (*.*)
+ Database model (*.dbm);;Alle bestanden (*.*)
+
+
+
+ Access support page
+
+
+
+
+ You're running a demonstration version! Note that you'll be able to create only <strong>%1</strong> instances of each type of object and some key features will be disabled or limited!<br/><br/>You can purchase a full binary copy or get the source code at <a href='http://pgmodeler.com.br'>pgmodeler.com.br</a>. <strong>NOTE:</strong> pgModeler is an open source software, but purchasing binary copies or providing some donations will support the project and cover all development costs.<br/><br/> <strong>HINT:</strong> in order to test all features it's recommended to use the <strong>demo.dbm</strong> model located in </strong>Sample models</strong> at <strong>Welcome</strong> view.<br/><br/><br/><br/>
+
+
+
+
+ Rearrange objects over the canvas is an irreversible operation! Would like to proceed?
+
+
+
+
+ <strong>WARNING:</strong> The model <strong>%1</strong> is invalidated! Before run the export process it's recommended to validate in order to correctly create the objects on database server!
+ <strong>PAS OP:</strong> Het model <strong>%1</strong> is niet gevalideerd! Vooraleer u het export proces start is het aangeraden om de validatie uit te voeren. Dit zorgt ervoor dat de objecten correct op de database server kunnen worden aangemaakt!
+
+
+
+ Export anyway
+ Toch exporteren
+
+
+
+ <strong>WARNING:</strong> The model <strong>%1</strong> is invalidated! Before run the diff process it's recommended to validate in order to correctly analyze and generate the difference between the model and a database!
+ <strong>PAS OP:</strong> Het model <strong>%1</strong> is niet gevalideerd! Het is aangeradem om het model te valideren vooraleer u het diff process start. Dit zorgt voor een correcte analyse en het correct genereren van de diff tussen het model en de database!
+
+
+
+ Diff anyway
+ Voer diff toch uit
+
+
+
+ Database model printing
+ Databasemodel printen
+
+
+
+ Changes were detected in the definitions of paper/margin of the model which may cause the incorrect print of the objects. Do you want to continue printing using the new settings? To use the default settings click 'No' or 'Cancel' to abort printing.
+ Er werden veranderingen gedetecteerd tussen de papier- en margedefinities van het model die ertoe kunnen leiden dat de objectenn foutief worden geprint. Wenst u te printen met deze nieuwe instellingen? Om de standaardinstellingen te gebruiken, klik op 'Nee' of klik 'Annuleren' om het printen af te breken.
+
+
+
+ Load model
+ Laad model
+
+
+
+ Could not load the database model file `%1'. Check the error stack to see details. You can try to fix it in order to make it loadable again.
+ Het database modelbestand `%1' kon niet worden geladen. Kijk de error stack na voor details. U kan proberen het probleem te corrigeren om het bestand weer laadbaar te maken.
+
+
+
+ Fix model
+ Corrigeer model
+
+
+
+ Cancel
+ Annuleren
+
+
+
+ This action will open a web browser window! Want to proceed?
+ Deze actie opent een browservenster! Wilt u verdergaan?
+
+
+
+ (no samples found)
+ (geen voorbeelden gevonden)
+
+
+
+ save
+ opslaan
+
+
+
+ export
+ exporteer
+
+
+
+ diff
+ diff
+
+
+
+ Executing pending <strong>%1</strong> operation...
+ De uitvoer wacht op <strong>%1</strong> taak...
+
+
+
+ Messagebox
+
+
+ Dialog
+ Dialoogvenster
+
+
+
+ msg
+
+
+
+
+ Exceptions
+ Uitzonderingen
+
+
+
+ Show raw text errors or information.
+ Toon technische error-tekst en -informatie.
+
+
+
+ Show/hide exceptions stack.
+ Toon/verberg uitzonderingsstack.
+
+
+
+ ...
+
+
+
+
+
+ &Yes
+ &Ja
+
+
+
+
+ &No
+ &Nee
+
+
+
+ Cancel
+ Annuleren
+
+
+
+ &Ok
+ &OK
+
+
+
+ &Cancel
+ &Annuleren
+
+
+
+ Error
+ Fout
+
+
+
+ Alert
+ Waarschuwing
+
+
+
+ Information
+ Informatie
+
+
+
+ Confirmation
+ Bevestiging
+
+
+
+ MetadataHandlingForm
+
+
+ Handle metadata
+
+
+
+
+ &Apply
+
+
+
+
+ &Cancel
+
+
+
+
+ Handle objects metadata
+
+
+
+
+ Settings
+ Instellingen
+
+
+
+ Extract from:
+
+
+
+
+ Loading a metadata file to the current model is an irreversible operation so be sure to specify a backup file before proceed.
+
+
+
+
+ Options
+ Opties
+
+
+
+ Handles the following database model attributes in the metadata file: author, zoom factor, last position and default objects.
+
+
+
+
+ Database model metadata
+
+
+
+
+ Handles the objects' positioning in the metadata file.
+
+
+
+
+ Objects' positioning
+
+
+
+
+ Handles the objects' custom colors in the metadata file. Currently available only for relationships and schemas.
+
+
+
+
+ Custom object's colors
+
+
+
+
+ Handles the objects' protection status in the metadata file.
+
+
+
+
+ Objects' protection status
+
+
+
+
+ Handles the objects' SQL disabled status in the metadata file.
+
+
+
+
+ Objects' SQL disabled status
+
+
+
+
+ Handles the objects' fade out status in the metadata file.
+
+
+
+
+ Objects' fade out status
+
+
+
+
+ Save tags to the output file when extracting metadata. When loading the file, the tags are recreated and duplicated ones are ignored.
+
+
+
+
+ Save textboxes to the output file when extracting metadata. When loading the file, the textboxes are recreated and duplicated ones are ignored.
+
+
+
+
+ Handles the objects' custom SQL commands in the metadata file.
+
+
+
+
+ Custom SQL commands
+
+
+
+
+ Textbox objects
+
+
+
+
+ Tag objects
+
+
+
+
+ Handles the tables' and views' extended attributes display status in the metadata file.
+
+
+
+
+ Tables' extended attributes display
+
+
+
+
+ Save generic SQL objects to the output file when extracting metadata. When loading the file, the objects are recreated and duplicated ones are ignored.
+
+
+
+
+ Generic SQL objects
+
+
+
+
+ Backup file:
+
+
+
+
+
+ Select file
+
+
+
+
+ ...
+ ...
+
+
+
+ Extracts the objects' metadata from the loaded models and apply to the current focused model. A backup file can be specified to where the focused model's current metadata will be saved.
+
+
+
+
+ &Extract and restore
+
+
+
+
+ Extracts the objects metadata from one of the loaded models saving the info to a backup file.
+
+
+
+
+ Extract &only
+
+
+
+
+ Reads the objects' metadata from a previously saved backup file and apply to the current model.
+
+
+
+
+ &Restore a backup file
+
+
+
+
+ Apply to:
+
+
+
+
+ Operation:
+
+
+
+
+ Output
+ Uitvoer
+
+
+
+ Progress label...
+ Vooruitgangslabel...
+
+
+
+
+ model not saved yet
+
+
+
+
+ The backup file cannot be the same as the input model!
+
+
+
+
+ Extracting metadata to file `%1'
+
+
+
+
+ Saving backup metadata to file `%1'
+
+
+
+
+ Applying metadata from file `%1'
+
+
+
+
+ Metadata processing aborted!
+
+
+
+
+ Objects metadata file (*.omf);;All files (*.*)
+
+
+
+
+ ModelDatabaseDiffForm
+
+
+ Settings
+ Instellingen
+
+
+
+
+ Connection:
+ Verbinding:
+
+
+
+
+
+ Database:
+ Database:
+
+
+
+ Ignore import errors
+ Negeer importeerfouten
+
+
+
+ Import system objects
+ Importeer systeemobjecten
+
+
+
+ Import extension objects
+ Importeer uitbreidingsobjecten
+
+
+
+ For DROP command, the objects that depends on an object to be dropped will be deleted as well. For TRUNCATE command, tables that are linked to a table to be truncated will be truncate too. <strong>NOTE:</strong> this option can affect more objects than listed in the output or diff preview.
+ Voor DROP commando's worden objecten die afhankelijk zijn van het object dat verwijderd wordt, ook verwijderd. Voor het TRUNCATE commando worden tabellen die gelinkt zijn aan de te trunceren tabel ook getrunceerd. <strong>LET OP:</strong> deze optie kan objecten beïnvloeden die niet in het uitvoer- of diff-voorbeeld opgenomen zijn.
+
+
+
+ Drop or truncate in cascade mode
+ Drop of trunceer in cascade modus
+
+
+
+ Permissions already set on database objects will be kept.The ones configured on the model will be applied to the database.
+ Machtigingen die reeds op databaseobjecten zijn toegepast zullen behouden blijven. De machtigingen die door het model worden gespecifieerd zullen worden toegepast op de database.
+
+
+
+ Keep object's permissions
+ Behoudt de machtigingen van het object
+
+
+
+ Database cluster level objects like roles and tablespaces will not be dropped.
+ Database cluster-niveau objecten zoals rollen en tablespaces zullen niet worden verwijderd.
+
+
+
+ Keep cluster objects
+ Behoudt clusterobjecten
+
+
+
+ Recreate only unmodifiable objects
+ Hercreeer enkel niet-aanpasbare objecten
+
+
+
+ Force recreation of objects
+ Forceer het heraanmaken van objecten
+
+
+
+ Ignores errors generated by duplicated objects when exporting the diff to database.
+ Negeer fouten die worden gegenereerd door duplicate objecten gedurende het exporteren van de diff naar de database.
+
+
+
+ Ignore duplicity errors
+ Negeer fouten omwille van duplicaten
+
+
+
+ Serial columns are converted to integer and having the default value changed to <strong>nextval(sequence)</strong> function call. By default, a new sequence is created for each serial column but checking this option sequences matching the name on column's default value will be reused and will not be dropped.
+ Seriële kolommen worden geconverteerd naar integers en hun standaardwaarde wordt ingesteld als een functieaanroep naar <strong>nextval(sequentie)</strong>. Normaal gezien wordt een nieuwe sequentie aangemaakt voor elke seriële kolom maar deze optie aanvinken zorgt ervoor dat sequenties die de naam van de kolom gebruiken worden hergebruikt in plaats van verwijderd.
+
+
+
+ Reuse sequences on serial columns
+ Hergebruik sequenties op seriële kolommen
+
+
+
+ No command to rename the destination database will be generated even the model's name differ from database name.
+ Behoudt de naam van de doeldatabase wanneer deze verschilt van de databasenaam in het model.
+
+
+
+ Preserve database name
+ Behoudt databasenaam
+
+
+
+ Diff mode
+ Diff modus
+
+
+
+ Override the PostgreSQL version when generating the diff. The default is to use the same version as the input database.
+ Zet de versie waarvoor de diff wordt gegenereerd expliciet zelf. Standaard wordt dezelfde versie gebruikt als de invoerdatabase.
+
+
+
+ Use PostgreSQL:
+ Gebruikt PostgreSQL:
+
+
+
+ Compares the model and the input database storing the diff in a SQL file for later usage.
+ Vergelijkt het model en de invoerdatabase en slaat het verschil op in een SQL bestand voor later gebruik.
+
+
+
+ File:
+ Bestand:
+
+
+
+ Select output file
+ Selecteer uitvoerbestand
+
+
+
+ ...
+ ...
+
+
+
+ Compares the model and the input database generating a diff and applying it directly to the latter. <strong>WARNING:</strong> this mode causes irreversible changes on the database and in case of failure the original structure is not restored, so make sure to have a backup before proceed.
+ Vergelijkt het model met de invoerdatabase en genereerd een diff die op die laatste wordt toegepast. <strong>PAS OP:</strong> deze modus veroorzaakt onherroepelijke veranderingen in de database en in geval van falen wordt de originele structuur niet hersteld, zorg ervoor dat u een backup hebt vooraleer u verdergaat.
+
+
+
+ Ignores as many as possible errors on import step. This option generates an incomplete diff.
+
+
+
+
+ Clears the data of all tables which will have columns modified. This is useful to avoid errors related to type casting. <strong>WARNING:</strong> DO NOT use this option on production servers and always make a backup before use it.
+
+
+
+
+ Import system (built-in) objects. Use this if the import step is returning errors related to missing objects.
+
+
+
+
+ Import objects created by extensions. Use this if the import step is returning errors even importing built in ones.
+
+
+
+
+ Instead of use an ALTER command to modify certain kind of objects a DROP and CREATE will be used in order to do a full modification. This option does not affects the database object.
+
+
+
+
+ Avoid the generation of DROP commands for objects that exists in database but not in the model. This is useful when diff a partial model against the complete database.
+
+
+
+
+ Do not drop missing objects
+
+
+
+
+ Store in S&QL file
+
+
+
+
+ Diff tool
+
+
+
+
+ Generate diff code
+
+
+
+
+ Source database
+
+
+
+
+ Current model:
+
+
+
+
+ (model)
+
+
+
+
+ Compare to
+
+
+
+
+ Appl&y on server
+
+
+
+
+ Diff
+ Diff
+
+
+
+ Froce the generation of DROP commands for columns and constraints that exist in database but not in the model. This is useful when diff a partial model against the complete database and the user needs to drop columns and constraint but preserve the rest of the objects.
+
+
+
+
+ Drop missing columns and constraints
+
+
+
+
+ Truncate tables before alter columns
+
+
+
+
+ Import && Export
+
+
+
+
+ Import
+ Importeren
+
+
+
+ Export
+ Exporteer
+
+
+
+ This advanced option causes pgModeler to ignore extra errors by their numeric codes. These errors must be informed in the input below and separeted by space. For the complete list of error codes check the PostgreSQL docs, section <strong> Appendix A. PostgreSQL Error Codes</strong>. <strong>WARNING:</strong> use this option with extreme care since it can interfere in final export result.
+
+
+
+
+ Ignore error codes
+
+
+
+
+ Output
+ Uitvoer
+
+
+
+ Changes:
+ Aanpassingen:
+
+
+
+ Cancel
+ Annuleren
+
+
+
+ Progress label...
+ Vooruitgangslabel...
+
+
+
+ Step label...
+ Staplabel...
+
+
+
+ <html><head/><body><p>Objects marked with an <span style=" font-weight:600;">ALTER</span> may not be effectively changed unless that the differences detected are in attributes that can be modified through ALTER commands otherwise no operation will be performed or, if the force recreation is checked, the object will be dropped and created again.</p></body></html>
+ <html><head/><body><p>Objecten die zijn aangeduid met <span style=" font-weight:600;">ALTER</span> kunnen mogelijkerwijs niet worden aangepast tenzij de gedetecteerde verschillen in de attribute liggen die kunnen worden aangepast via een ALTER commando; in alle andere gevallen zal geen actie worden ondernomen of, indien 'Forceer het heraanmaken van objecten' is aangevinkt, zal het object worden verwijderd en heraangemaakt.</p></body></html>
+
+
+
+ Objects to be created
+ Objecten die aangemaakt moeten worden
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+ Objects to be dropped
+ Objecten die verwijderd moeten worden
+
+
+
+ Possible objects to be changed
+ Objecten die mogelijkerwijs aangepast moeten worden
+
+
+
+ Ignored objects (system ones or with sql disabled)
+ Genegeerde objecten (systeemobjecten of objecten waarvan SQL is uitgeschakeld)
+
+
+
+ Diff Preview
+ Diff voorbeeld
+
+
+
+ &Apply diff
+ Diff &Toepassen
+
+
+
+ &Generate
+ &Genereer
+
+
+
+ &Close
+ &Sluiten
+
+
+
+
+ Waiting process to start...
+ Wachten op het starten van de taak...
+
+
+
+ Confirmation
+ Bevestiging
+
+
+
+ <strong>WARNING:</strong> The generated diff is ready to be exported! Once started this process will cause irreversible changes on the database. Do you really want to proceed?
+ <strong>PAS OP:</strong> De gegenereerde diff is klaar om geëxporteerd te worden! Eens gestart zal dit proces onherroepelijke veranderingen aanbrengen aan de database. Bent u zeker dat u wilt verdergaan?
+
+
+
+ Apply diff
+ Diff toepassen
+
+
+
+ Preview diff
+ Diff belijken
+
+
+
+ model not saved yet
+
+
+
+
+ (none)
+
+
+
+
+ Step %1/%2: Importing database <strong>%3</strong>...
+
+
+
+
+ Step %1/%2: Comparing <strong>%3</strong> and <strong>%4</strong>...
+
+
+
+
+ Step %1/%2: Exporting diff to database <strong>%3</strong>...
+
+
+
+
+ Diff process paused. Waiting user action...
+ Het diff proces is gepauzeerd. Wachten op een actie van de gebruiker...
+
+
+
+ Saving diff to file <strong>%1</strong>
+ De diff wordt opgeslagen in het bestand <strong>%1</strong>
+
+
+
+ Diff process sucessfully ended!
+ Het diff proces werd succesvol beëindigd!
+
+
+
+
+ No operations left.
+ Er zijn geen operaties meer.
+
+
+
+ Operation cancelled by the user.
+ De operatie werd geannulleerd door de gebruiker.
+
+
+
+ Process aborted due to errors!
+ Het proces werd afgebroken omwille van fouten!
+
+
+
+
+
+-- SQL code purposely truncated at this point in demo version!
+
+
+
+
+ -- No differences were detected between model and database. --
+ -- Er werden geen verschillen gedetecteerd tussen het model en de database. --
+
+
+
+ Error code <strong>%1</strong> found and ignored. Proceeding with export.
+ Foutencode <strong>%1</strong> trad op en werd genegeerd. De export gaat voort.
+
+
+
+ Save diff as...
+ Sla diff op als...
+
+
+
+ SQL code (*.sql);;All files (*.*)
+ SQL Code (*.sql);;Alle bestanden (*.*)
+
+
+
+ ModelExportForm
+
+
+
+ Export model
+ Exporteer model
+
+
+
+ Settings
+ Instellingen
+
+
+
+ Database server
+ Database server
+
+
+
+ pgModeler ignores errors generated by duplicated objects and creates only that ones which does not exists in the database. This option may be used when an object was created after a previous model export.
+ pgModeler negeert fouten die worden gegenereerd door duplicate objecten en creëert objecten die nog niet in de database bestaan. Deze optie kan worden gebruikt wanneer een object werd gecreëerd door een eerdere model export.
+
+
+
+ Ignore object duplicity
+ Negeer object-duplicaten
+
+
+
+ Connection:
+ Verbinding:
+
+
+
+ PostgreSQL version in which the SQL code should be generated. It is recommended to select this option only when the version of the DBMS, somehow, is not identifiable or if you need to generate a specific version of SQL code for test purposes.
+ De PostgreSQL versie waarvoor SQL code moet worden gegenereerd. Het is aangeraden om deze optie enkel in te stellen wanneer de versie niet automatisch kan worden bepaald of wanneer u een specifieke versie nodig hebt voor bijvoorbeeld test-doeleinden.
+
+
+
+
+ PostgreSQL:
+ PostgreSQL:
+
+
+
+ This advanced option causes pgModeler to ignore extra errors by their numeric codes. These errors must be informed in the input below and separeted by space. For the complete list of error codes check the PostgreSQL docs, section <strong> Appendix A. PostgreSQL Error Codes</strong>. <strong>WARNING:</strong> use this option with extreme care since it can interfere in final export result.
+
+
+
+
+ Ignore error codes
+
+
+
+
+ If <strong>DB</strong> is checked pgModeler will destroy the database if already exists on the server. When <strong>Objects</strong> is checked pgModeler will execute the DROP command attached to SQL-enabled objects. <strong>WARNING:</strong> this option leads to data loss so make sure to have a backup first.
+ Indien <strong>DB</strong> aangevinkt is, zal pgModeler de database verwijderen indien deze reeds in de server bestaat. Indien <strong>Objecten</string> is aangevinkt zal pgModeler DROP commando's toevoegen aan de objecten waarvoor SQL is ingeschakeld. <strong>PAS OP:</strong> deze optie kan tot dataverlies leiden, zorg ervoor dat u een recente backup kan terugplaatsen.
+
+
+
+ Drop:
+ Verwijder:
+
+
+
+ DB
+ DB
+
+
+
+ pgModeler will destroy the database if already exists on the server. Make sure to have a backup before use this option because all data will be lost.
+ pgModeler zal de database verwijderen indien deze reeds in de server aanwezig is. Zorg ervoor dat u een recente backup kan terugplaatsen indien nodig want alle data zal verloren gaan.
+
+
+
+ Zoom:
+ Zoom:
+
+
+
+ Show grid
+ Raster tonen
+
+
+
+ Show delimiters
+ Delimiters tonen
+
+
+
+ Exporting the model page by page will generate files with a <strong>_p[n]</strong> suffix where <strong>n</strong> is the page id. Check if the current user has write permission on output folder.
+ Het model pagina per pagina exportern genereert bestanden met de suffix <strong>_p[n]</strong> waarbij <strong>n</strong> de pagina id is. Zorg ervoor dat de huidige gebruiker schrijf-machtiging heeft in de uitvoermap.
+
+
+
+ Page by page
+ Pagina per pagina
+
+
+
+
+ Select target file
+ Selecteer doelbestand
+
+
+
+
+ ...
+ ...
+
+
+
+ SQL file
+ SQL bestand
+
+
+
+
+ File:
+ Bestand:
+
+
+
+ Ob&jects
+
+
+
+
+ Graphics file
+
+
+
+
+ Type:
+ Type:
+
+
+
+ PostgreSQL version in which the SQL code should be generated
+ De PostgreSQL versie waarvoor SQL code moet worden gegenereerd
+
+
+
+ I&mage (PNG)
+
+
+
+
+ &Vectorial (SVG)
+
+
+
+
+ Output
+ Uitvoer
+
+
+
+ Cancel
+ Annuleren
+
+
+
+ Progress label...
+ Vooruitgangslabel...
+
+
+
+ &Export
+ &Exporteer
+
+
+
+ &Close
+ &Sluiten
+
+
+
+ Error code <strong>%1</strong> found and ignored. Proceeding with export.
+ Foutencode <strong>%1</strong> trad op en werd genegeerd. De export gaat voort.
+
+
+
+ Initializing model export...
+ Model export wordt geïnitialiseerd...
+
+
+
+ Saving file '%1'
+ Bestand `%1' wordt opgeslagen
+
+
+
+
+ Exporting process aborted!
+ Het export proces werd afgebroken!
+
+
+
+ Export model as...
+ Exporteer model als...
+
+
+
+ SQL script (*.sql);;All files (*.*)
+
+
+
+
+ Portable Network Graphics (*.png);;All files (*.*)
+
+
+
+
+ Scalable Vector Graphics (*.svg);;All files (*.*)
+
+
+
+
+ Exporting process canceled by user!
+ Het export proces werd geannuleerd door de gebruiker!
+
+
+
+ Exporting process sucessfuly ended!
+ Het export proces werd succesvol beëindigt!
+
+
+
+ ModelExportHelper
+
+
+ Generating SQL code for PostgreSQL `%1'
+ Bezig met het genereren van SQL code voor PostgreSQL `%1'
+
+
+
+ Output SQL file `%1' successfully written.
+ Het uitvoer-SQL bestand `%1' werd succesvol opgeslagen.
+
+
+
+ Rendering objects to page %1/%2.
+ Objecten worden gerendered naar pagina %1/%2.
+
+
+
+ Output image `%1' successfully written.
+ Uitvoerafbeelding `%1' werd succesvol opgeslagen.
+
+
+
+ Exporting model to SVG file.
+
+
+
+
+ SVG representation of database model
+
+
+
+
+ SVG file generated by pgModeler
+
+
+
+
+ Output file `%1' successfully written.
+
+
+
+
+ Starting export to DBMS.
+ De export naar het DBMS begint.
+
+
+
+ PostgreSQL version detection overridden. Using version `%1'.
+ PostgreSQL versie-detectie werd overschreven. Versie `%1' wordt gebruikt.
+
+
+
+ PostgreSQL `%1' server detected.
+ PostgreSQL `%1' server ontdekt.
+
+
+
+ Generating temporary names for database, roles and tablespaces.
+ De tijdelijke namen voor de database, rollen en tablespaces worden gegenereerd.
+
+
+
+ Enabling the SQL code for database `%1' to avoid errors.
+ SQL code voor de database `%1' wordt geactiveerd om fouten te vermijden.
+
+
+
+ Ignoring object duplication errors.
+ Duplicaten-fouten worden genegeerd.
+
+
+
+ Ignoring the following error code(s): `%1'.
+ De volgende foutencode(s) worden genegeerd: `%1'
+
+
+
+ Trying to drop database `%1'.
+ Proberen om database `%1' te verwijderen.
+
+
+
+ Simulation mode activated.
+ Simulatiemodus geactiveerd.
+
+
+
+ Generating SQL for `%1' objects...
+ Genereren van SQL voor `%1' objecten...
+
+
+
+ Destroying objects created on the server.
+ Objecten aangemaakt op de server worden verwijderd.
+
+
+
+ Restoring original names of database, roles and tablespaces.
+ De originele namen van de database, rollen en tablespaces worden teruggezet.
+
+
+
+
+
+ Creating object `%1' (%2)
+ Object `%1' (%2) wordt aangemaakt.
+
+
+
+ Creating database `%1'
+
+
+
+
+ Connecting to database `%1'
+
+
+
+
+ Renaming `%1' (%2) to `%3'
+
+
+
+
+
+ Dropping object `%1' (%2)
+ Object `%1' (%2) wordt verwijderd
+
+
+
+ Changing object `%1' (%2)
+ Object `%1' (%2) wordt aangepast.
+
+
+
+ Running auxiliary command.
+ Een hulpcommando wordt uitgevoerd.
+
+
+
+ ModelFixForm
+
+
+ Model file fix
+ Modelcorrectiebestand
+
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Monospace'; font-size:10pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Waiting process to start...</span></p></body></html>
+
+
+
+
+ &Fix
+ &Correctie
+
+
+
+ &Close
+ &Sluiten
+
+
+
+ Fix model file
+ Corrigeer modelbestand
+
+
+
+ <html><head/><body><p>[pgmodeler-cli not found error]</p></body></html>
+ <html><head/><body><p>[pgmodeler-cli kon niet worden gevonden]</p></body></html>
+
+
+
+ pgmodeler-cli:
+ pgmodeler-cli:
+
+
+
+ Browse for pgmodeler-cli tool
+ Blader naar pgmodeler-cli tool
+
+
+
+
+
+ ...
+ ...
+
+
+
+ The specified file is not the pgModeler command line tool (pgmodeler-cli).
+ Het gespecifieerde bestand is niet het pgModeler command line tool (pgmodeler-cli).
+
+
+
+ Input file:
+ Invoerbestand:
+
+
+
+ Output file:
+ Uitvoerbestand:
+
+
+
+ Fix tries:
+ Correctiepogingen:
+
+
+
+ Select input file
+ Selecteer invoerbestand
+
+
+
+ Select output file
+ Selecteer uitvoerbestand
+
+
+
+ Load fixed model when finish
+ Laad gecorrigeerde model na voltooïng
+
+
+
+ In some cases the fix process will fail to restore all objects within the model demanding manual fixes by changing the file on a text editor. <strong>NOTE:</strong> relationships may lost their graphical configuration like custom points and line color.
+ In sommige gevallen kan het correctieproces niet alle objecten herstellen en zijn manuele correcties via een tekstverwerker vereist. <strong>LET OP:</strong> relaties kunnen mogelijkerwijs hun configuratie verliezen, zoals aangepaste punten- en lijn-kleur.
+
+
+
+ Waiting process to start...
+ Wachten op het starten van de taak...
+
+
+
+ Could not locate <strong>%1</strong> tool on <strong>%2</strong>. The fix process can't continue! Please check pgModeler installation or try to manually specify the command below.
+ Het tool <strong>%1</strong> kon niet worden gevonden in <strong>%2</strong>. Het correctieprocess kan niet verder gaan! Gelieve uw pgModeler installatie na te kijken of het pad naar het tool manueel in te stellen.
+
+
+
+ pgModeler command line tool (%1)
+ pgModeler command line tool (%1)
+
+
+
+ ModelNavigationWidget
+
+
+ Form
+ Venster
+
+
+
+ Previous model
+ Vorige model
+
+
+
+ Ctrl+Left
+
+
+
+
+ Ctrl+Right
+
+
+
+
+ Alt+C
+
+
+
+
+ Next model
+ Volgende model
+
+
+
+ Close model
+ Sluit model
+
+
+
+ ...
+ ...
+
+
+
+ (model not saved yet)
+ (het model werd nog niet opgeslagen)
+
+
+
+ ModelObjectsWidget
+
+
+ Model Objects
+ Modelobjecten
+
+
+
+ Visible object types
+
+
+
+
+ Hide this widget
+ Verberg dit widget
+
+
+
+
+
+
+
+
+ ...
+ ...
+
+
+
+ 1
+ 1
+
+
+
+ ID
+ ID
+
+
+
+ Object
+ Object
+
+
+
+ Type
+ Type
+
+
+
+ Parent Object
+ Ouder Object
+
+
+
+ Parent Type
+ Ouder Type
+
+
+
+ Select All
+ Selecteer Alles
+
+
+
+ Clear All
+ Alles Wissen
+
+
+
+ Model objects
+
+
+
+
+ Select
+ Selecteer
+
+
+
+ Return
+ Keer terug
+
+
+
+ Cancel
+ Annuleren
+
+
+
+ Esc
+ Esc
+
+
+
+ Tree view
+ Boomstructuur
+
+
+
+ List view
+ Lijst
+
+
+
+ Objects view configuration
+ Object-overzichtsconfiguratie
+
+
+
+ Expands all items
+ Alle items uitklappen
+
+
+
+ Collapses all items
+ Alle items inklappen
+
+
+
+ Filter:
+ Filter:
+
+
+
+ By ID
+ Volgens ID
+
+
+
+ New
+ Nieuw
+
+
+
+ ModelOverviewWidget
+
+
+ Model overview
+ Modeloverzicht
+
+
+
+ Failed to generate the overview image.
+The requested size %1 x %2 was too big and there was not enough memory to allocate!
+
+
+
+
+ ModelRestorationForm
+
+
+ Model restoration
+ Modelherstel
+
+
+
+ pgModeler was not closed properly in a previous execution and some models were still being edited. Click <strong>Restore</strong> to reopen the models or <strong>Cancel</strong> to abort the restoration.
+ pgModeler werd niet correct afgesloten en sommige modellen waren nog steeds geladen. Klik op <strong>Herstel</strong> om deze mogellen te heropenen of <strong>Annuleer</strong> om het herstel af te breken.
+
+
+
+ pgModeler will try to recover the selected models but will not destroy them in case of loading failure. This option serves as a last resort in order to try to recover the database model. Temporary models will last until the application is closed so the user must try to manually recover the files before exit pgModeler.
+ pgModeler zal proberen om de geselecteerde modellen te herstellen. Indien dit niet lukt blijven deze staan. Deze optie dient als laatste redmiddel om een database model te recupereren. Tijdelijke modellen zullen blijven staan totdat de applicatie wordt afgesloten. Dit betekent dat de gebruiker moet proberen deze manueel te recupereren vooraleer pgModeler af te sluiten.
+
+
+
+ Keep temporary models in case of restoration failure
+ Houdt de tijdelijke modellen bij indien recuperatie faalt
+
+
+
+ Database
+ Database
+
+
+
+ File
+
+
+
+
+ Modified
+
+
+
+
+ Size
+
+
+
+
+ &Cancel
+ &Annuleer
+
+
+
+ &Restore
+ &Herstel
+
+
+
+ ModelValidationHelper
+
+
+ There are pending errors! SQL validation will not be executed.
+ Er zijn fouten! SQL validatie zal niet worden uitgevoerd.
+
+
+
+ Operation canceled by the user.
+ De operatie werd geannuleerd door de gebruiker.
+
+
+
+ ModelValidationWidget
+
+
+ Form
+ Venster
+
+
+
+ Enables the validation of SQL code in DBMS. This process requires the use of a pre-configured connection. SQL validation will occur only in the last step (when all objects were validated) or when there are no warnings.
+
+
+
+
+ Connection to be used in the SQL validation
+
+
+
+
+ pgModeler will generate unique and temporary names for database, role and tablespace objects. This option avoids object duplication errors when running the SQL validation.
+
+
+
+
+ Use unique temporary names for cluster level objects
+
+
+
+
+ Warnings: does not prevents model to be saved.
+ Let op: dit voorkomt niet dat het model kan worden opgeslagen.
+
+
+
+
+ 0
+ 0
+
+
+
+ Errors: model will not be saved while there are validation errors.
+ Fouten: het model zal niet worden opgeslagen zolang er validatiefouten zijn.
+
+
+
+ Hide this widget
+ Verberg dit widget
+
+
+
+ ...
+ ...
+
+
+
+ Swap ids
+
+
+
+
+ SQL Validation:
+ SQL Validatie:
+
+
+
+ PostgreSQL version
+ PostgreSQL versie
+
+
+
+ Try to resolve the reported issues.
+ Probeer om de gerapporteerde problemen te verhelpen.
+
+
+
+ Ctrl+S
+ Ctrl+S
+
+
+
+ Clear validation results
+ Validatieresultaten leegmaken
+
+
+
+ Clear
+ Leegmaken
+
+
+
+ Try to apply a fix on the selected validation info.
+ Probeer de validatieinformatie te verhelpen.
+
+
+
+ Options
+ Opties
+
+
+
+ Cancel the SQL validation in progress.
+ Annuleer de lopende SQL validatie.
+
+
+
+ Cancel
+ Annuleren
+
+
+
+ Esc
+ Esc
+
+
+
+ Apply fixes
+
+
+
+
+ Change the creation order for two objects by swapping their ids
+ Wijzig de aanmaak-volgorde voor twee objecten door hun ids om te wisselen
+
+
+
+ Va&lidate
+ Va&lideer
+
+
+
+ Autodetect
+ Autodetecteer
+
+
+
+ The object <strong>%1</strong> <em>(%2)</em> [id: %3] is being referenced by <strong>%4</strong> object(s) before its creation.
+ Het object <strong>%1</strong> <em>(%2)</em> [id: %3] wordt door <strong>%4</strong> object(en) gerefereerd vóór zijn aanmaak.
+
+
+
+ The object <strong>%1</strong> <em>(%2)</em> [id: %3]%4 is referencing columns created by <strong>%5</strong> relationship(s) but is created before them.
+ Het object <strong>%1</strong> <em>(%2)</em> [id: %3]%4 refereerd naar kolommen aangemaakt door <strong>%5</strong> relatie(s) maar wordt vóór deze aangemaakt.
+
+
+
+ The object <strong>%1</strong> <em>(%2)</em> has a name that conflicts with <strong>%3</strong> object's name(s).
+ Het object <strong>%1</strong> <em>(%2)</em> heeft een naam die conflicteerd met de naam van <strong>%3</strong> andere objecten.
+
+
+
+ The relationship <strong>%1</strong> [id: %2] is in a permanent invalidation state and needs to be relocated.
+ De relatie <strong>%1</strong> [id: %2] is in een permanente ongeldige staat en moet worden herplaats.
+
+
+
+ SQL validation failed due to error(s) below. <strong>NOTE:</strong><em> These errors does not invalidates the model but may affect operations like <strong>export</strong> and <strong>diff</strong>.</em>
+ SQL validatie faalde omwille van de volgende fouten. <strong>LET OP:</strong><em> Deze fouten ontkrachten het model niet maar kunnen <strong>export</strong> en <strong>diff</strong> beïnvloeden.</em>
+
+
+
+ The column <strong>%1</strong> on <strong>%2</strong> <em>(%3)</em> is referencing the geospatial data type <strong>%4</strong> but the <strong>postgis</strong> extension is not present in the model!
+
+
+
+
+ <strong>HINT:</strong> try to swap the relationship by another ones that somehow are linked to it through generated columns or constraints to solve this issue. Note that other objects may be lost in the swap process.
+
+
+
+
+ <strong>HINT:</strong> Create the extension in the model or let it be created by applying the needed fixes.
+
+
+
+
+ <em>The above object was created by a relationship. Change the name pattern on it's generator relationship. Fix will not be applied!</em>
+ <em>Het hierboven vermeldde object werd aangemaakt door een relatie. Verander het naamspatroon van de genererende relatie. Dit probleem kan niet automatisch worden verholpen!</em>
+
+
+
+ Conflicting object: <strong>%1</strong> <em>(%2)</em>.
+ Conflicterende object: <strong>%1</strong> <em>(%2)</em>.
+
+
+
+ Relationship: <strong>%1</strong> [id: %2].
+ Relatie: <strong>%1</strong> [id: %2].
+
+
+
+ Referrer object: <strong>%1</strong> <em>(%2)</em> [id: %3].
+ Refererende object: <strong>%1</strong> <em>(%2)</em> [id: %3].
+
+
+
+ SQL validation not executed! No connection defined.
+
+
+
+
+ Database model successfully validated.
+ Het database model werd succesvol gevalideerd.
+
+
+
+ Running SQL commands on server...
+ De SQL commando's worden uitgevoerd op de server...
+
+
+
+ Processing object: %1
+ Bezig met het verwerken van object: %1
+
+
+
+ ModelWidget
+
+
+ One to One (1-1)
+ Een-op-een (1-1)
+
+
+
+ One to Many (1-n)
+ Een op meer (1-n)
+
+
+
+ Many to Many (n-n)
+ Meer op meer (n-n)
+
+
+
+
+ Copy
+ Kopieer
+
+
+
+ Inheritance
+ Overerving
+
+
+
+ <strong>ATTENTION:</strong> The database model is protected! Operations that could modify it are disabled!
+ <strong>OPGELET:</strong> Het databasemodel is beschermd! Operaties die het zouden kunnen aanpassen zijn uitgeschakeld!
+
+
+
+ Source
+ Bron
+
+
+
+ Alt+S
+ Alt+S
+
+
+
+ Show object source code
+ Toon object broncode
+
+
+
+
+ Properties
+ Eigenschappen
+
+
+
+ Space
+ Spatie
+
+
+
+ Edit the object properties
+ Bewerk de eigenschappen van het object
+
+
+
+
+ Protect
+ Bescherm
+
+
+
+
+ Unprotect
+ Bescherming af
+
+
+
+ Protects object(s) from modifications
+ Beschermt object(en) tegen aanpassingen
+
+
+
+
+ Delete
+ Verwijderen
+
+
+
+ Del
+ Del
+
+
+
+
+ Del. cascade
+ Verwijder cascade
+
+
+
+ Shift+Del
+ Shift+Del
+
+
+
+ Select all
+ Selecteer Alles
+
+
+
+ Select tagged
+
+
+
+
+ Select
+ Selecteer
+
+
+
+ Ctrl+A
+ Ctrl+A
+
+
+
+ Selects all the graphical objects in the model
+ Selecteert alle grafische objecten in het model
+
+
+
+ Edit data
+
+
+
+
+ Convert
+ Converteer
+
+
+
+ Ctrl+C
+ Ctrl+C
+
+
+
+ Paste
+ Plakken
+
+
+
+ Ctrl+V
+ Ctrl+V
+
+
+
+ Cut
+ Knippen
+
+
+
+ Ctrl+X
+ Ctrl+X
+
+
+
+ Deps && Referrers
+ Afhankelijkheden && Verwijzers
+
+
+
+ New
+ Nieuw
+
+
+
+ Add a new object in the model
+ Voeg een nieuw object toe aan het model
+
+
+
+ Quick
+ Snel
+
+
+
+ Quick action for the selected object
+ Snelle actie voor het geselecteerde object
+
+
+
+ Rename
+ Hernoem
+
+
+
+ F2
+ F2
+
+
+
+ Quick rename the object
+ Snelle hernoeming van het object
+
+
+
+ Move to schema
+ Verplaats naar schema
+
+
+
+ Set tag
+ Zet tag
+
+
+
+ Edit permissions
+ Machtigingen aanpassen
+
+
+
+ Ctrl+E
+ Ctrl+E
+
+
+
+ Change owner
+ Eigenaar veranderen
+
+
+
+ Select children
+ Selecteer kinderen
+
+
+
+ Open relationship
+ Open relatie
+
+
+
+ Custom SQL
+ Aangepaste SQL
+
+
+
+ Alt+Q
+ Alt+Q
+
+
+
+ Convert to sequence
+ Converteer naar sequentie
+
+
+
+ Convert to serial
+ Converteer naar serieel
+
+
+
+ Break line
+ Nieuw lijn
+
+
+
+ Remove points
+ Verwijder punten
+
+
+
+ Enable SQL
+ Schakel SQL in
+
+
+
+ Disable SQL
+ Schakel SQL uit
+
+
+
+ Duplicate
+
+
+
+
+ Ctrl+D
+
+
+
+
+ Extended attributes
+
+
+
+
+
+ Show
+
+
+
+
+
+ Hide
+
+
+
+
+ Jump to table
+
+
+
+
+ Schemas rectangles
+
+
+
+
+ Fade in/out
+
+
+
+
+
+ Fade in
+
+
+
+
+
+ Fade out
+
+
+
+
+
+
+ Relationships
+ Relaties
+
+
+
+ Swap ids
+
+
+
+
+ Edit the objects creation order by swapping their ids
+
+
+
+
+ 90° (vertical)
+ 90° (vertikaal)
+
+
+
+ 90° (horizontal)
+ 90° (horizontaal)
+
+
+
+ 90° + 90° (vertical)
+ 90° + 90° (vertikaal)
+
+
+
+ 90° + 90° (horizontal)
+ 90° + 90° (horizontaal)
+
+
+
+
+
+ All objects
+
+
+
+
+
+ Schemas
+
+
+
+
+
+ Tables
+ Tabellen
+
+
+
+
+ Views
+
+
+
+
+
+ Textboxes
+
+
+
+
+ Zoom: %1%
+ Zoom: %1%
+
+
+
+ Do you really want to convert the relationship into an intermediate table?
+ Bent u zeker dat u de relatie wilt converteren naar een intermediaire tabel?
+
+
+
+ Loading database model
+ Het databasemodel wordt geladen
+
+
+
+ Saving database model
+ Het databasemodel wordt opgeslagen
+
+
+
+ Do you want to %1 the selected schema's children too?
+
+
+
+
+ protect
+
+
+
+
+ unprotect
+
+
+
+
+ Also copy all dependencies of selected objects? This minimizes the breakdown of references when copied objects are pasted into another model.
+ Wenst u alle afhankelijken van de geselecteerde objecten ook te kopiëren? Dit minimalizeert het verbreken van referenties wanneer gekopieerde objecten in een ander model worden geplakt.
+
+
+
+ Pasting objects...
+ Bezig met het plakken van objecten...
+
+
+
+ Validating object: `%1' (%2)
+ Bezig met het valideren van object: `%1' (%2)
+
+
+
+ Generating XML for: `%1' (%2)
+ Bezig met het genereren van XML voor: `%1' (%2)
+
+
+
+ Pasting object: `%1' (%2)
+ Bezig met het plakken van object: `%1' (%2)
+
+
+
+ Not all objects were pasted to the model due to errors returned during the process! Refer to error stack for more details!
+ Niet alle objecten werden in het model geplakt omwille van fouten die werden gegenereerd gedurende dit proces. Kijk de error-stack na voor meer details!
+
+
+
+ <strong>CAUTION:</strong> You are about to delete objects in cascade mode which means more objects than the selected will be dropped too. Do you really want to proceed?
+ <strong>PAS OP:<strong> U staat op het punt om objecten te verwijderen in cascade modus, dit betekent dat ook objecten die niet geselecteerd zijn verwijderd kunnen worden. Bent u zeker dat u wilt verdergaan?
+
+
+
+ <strong>CAUTION:</strong> Remove multiple objects at once can cause irreversible invalidations to other objects in the model causing such invalid objects to be deleted too. Do you really want to proceed?
+ <strong>PAS OP:</strong> Meerdere objecten in één keer verwijderen kan onherroepbare ongeldigheden veroorzaken in andere objecten binnen het model en ervoor zorgen dat deze objecten ook worden verwijderd. Bent u zeker dat u verder wenst te gaan?
+
+
+
+ <strong>CAUTION:</strong> Remove a relationship can cause irreversible invalidations to other objects in the model causing such invalid objects to be deleted too. Do you really want to proceed?
+ <strong>PAS OP:</strong> Een relatie verwijderen kan onherroepbare ongeldigheden veroorzaken in andere objecten en ervoor zorgen dat deze objecten ook worden verwijderd. Bent u er zeker van dat u wenst verder te gaan?
+
+
+
+ Do you really want to delete the selected object?
+ Bent u er zeker van dat u het geselecteerde object wenst te verwijderen?
+
+
+
+ The cascade deletion found some problems when running! Some objects could not be deleted or registered in the operation's history! Please, refer to error stack for more details.
+ Het cascade verwijderen kwam enkele problemenen tegen tijdens het uitvoeren! Sommige objecten konden niet worden verwijderd of geregistreerd in de actie-geschiedenis! Gelieve de error-stack na te kijken voor meer details.
+
+
+
+ (no objects)
+ (geen objecten)
+
+
+
+ None
+
+
+
+
+ Source code
+ Broncode
+
+
+
+ Constraints
+ Constraints
+
+
+
+ ModelsDiffHelper
+
+
+ Processing object `%1' (%2)...
+ Object `%1' wordt behandeld (%2)...
+
+
+
+ Skipping object `%1' (%2)...
+ Object `%1' wordt overgeslagen (%2)...
+
+
+
+ Processing diff infos...
+ Diff informatie wordt verwerkt...
+
+
+
+ Processing `%1' info for object `%2' (%3)...
+ `%1' informatie voor object `%2' wordt verwerkt (%3)...
+
+
+
+ No differences between the model and database.
+
+
+
+
+ Preparing diff code...
+
+
+
+
+ NewObjectOverlayWidget
+
+
+ Form
+ Venster
+
+
+
+ Role
+ Rol
+
+
+
+ Tag
+ Tag
+
+
+
+ Cast
+ Cast
+
+
+
+
+ A
+ A
+
+
+
+ Language
+ Taal
+
+
+
+ Textbox
+ Tekst box
+
+
+
+ Event Trigger
+ Event Trigger
+
+
+
+ Tablespace
+ Tablespace
+
+
+
+ Schema
+ Schema
+
+
+
+ Domain
+ Domein
+
+
+
+ Conversion
+ Conversie
+
+
+
+ Aggregate
+ Aggregator
+
+
+
+ Collation
+ Sortering
+
+
+
+ Table
+ Tabel
+
+
+
+ Type
+ Type
+
+
+
+ Op. Family
+ Op. Familie
+
+
+
+ Sequence
+ Sequentie
+
+
+
+ Extension
+ Uitbreiding
+
+
+
+ Function
+ Functie
+
+
+
+ Op. Class
+ Op. Klasse
+
+
+
+ Operator
+ Operator
+
+
+
+ View
+ View
+
+
+
+
+ Permissions
+ Machtigingen
+
+
+
+ Rule
+ Regel
+
+
+
+ Index
+ Index
+
+
+
+ Column
+ Kolom
+
+
+
+ Constraint
+ Constraint
+
+
+
+ Generic SQL
+
+
+
+
+ Trigger
+ Trigger
+
+
+
+ Policy
+
+
+
+
+ Many-to-many
+ Meer-op-meer
+
+
+
+ One-to-many
+ Een-op-meer
+
+
+
+ One-to-one
+ Een-op-een
+
+
+
+ Inheritance
+ Overerving
+
+
+
+ Copy
+ Kopieer
+
+
+
+ G
+ G
+
+
+
+ K
+ K
+
+
+
+ H
+ H
+
+
+
+ J
+ J
+
+
+
+ D
+ D
+
+
+
+ E
+ E
+
+
+
+ F
+ F
+
+
+
+ L
+ L
+
+
+
+ O
+ O
+
+
+
+ U
+ U
+
+
+
+ I
+ I
+
+
+
+ R
+ R
+
+
+
+ S
+ S
+
+
+
+ Q
+ Q
+
+
+
+ T
+ T
+
+
+
+ P
+ P
+
+
+
+ M
+ M
+
+
+
+ Y
+ Y
+
+
+
+ W
+ W
+
+
+
+
+ 9
+ 9
+
+
+
+ Z
+ Z
+
+
+
+ X
+ X
+
+
+
+ C
+ C
+
+
+
+ V
+ V
+
+
+
+ B
+ B
+
+
+
+ 8
+ 8
+
+
+
+ 1
+ 1
+
+
+
+ 2
+ 2
+
+
+
+ 3
+ 3
+
+
+
+ 5
+ 5
+
+
+
+ 4
+ 4
+
+
+
+ 0
+ 0
+
+
+
+ NumberedTextEditor
+
+
+ Load
+ Laden
+
+
+
+ Load the object's source code from an external file
+
+
+
+
+ Edit
+
+
+
+
+ Edit the source code in the preferred external editor
+
+
+
+
+ Clear
+ Leegmaken
+
+
+
+ Upper case
+
+
+
+
+ Lower case
+
+
+
+
+ Ident right
+
+
+
+
+ Ident left
+
+
+
+
+ SQL file (*.sql);;All files (*.*)
+ SQL Code (*.sql);;Alle bestanden (*.*)
+
+
+
+ Load file
+
+
+
+
+ The source editor `%1' is running on `pid: %2'.
+
+
+
+
+ Could not start the source code editor application `%1'! Make to sure that the source editor path defined in the general settings points to a valid executable and the current user has permission to run the application. Error message returned: `%2'
+
+
+
+
+ ObjectDepsRefsWidget
+
+
+ Dependencies
+ Afhankelijken
+
+
+
+
+ ID
+ ID
+
+
+
+
+ Object
+ Object
+
+
+
+
+ Type
+ Type
+
+
+
+
+ Parent Object
+ Ouder Object
+
+
+
+
+ Parent Type
+ Ouder Type
+
+
+
+ Exclude indirect dependencies
+ Sluit indirecte afhankelijken uit
+
+
+
+ References
+ Referenties
+
+
+
+ Include indirect references
+ Neem indirecte afhankele op
+
+
+
+ This object does not exists anymore. The dependencies and references listing are disabled.
+ Dit object bestaat niet langer. Het lijsten van afhankelijken en referenties is uitgeschakeld.
+
+
+
+ Object's dependencies & references
+ Afhankelijken & referenties van het object
+
+
+
+ ObjectFinderWidget
+
+
+ Form
+ Venster
+
+
+
+ Pattern:
+ Patroon:
+
+
+
+ Find
+ Zoek
+
+
+
+ Defines the search filter
+ Definieert de zoekfilter
+
+
+
+ Filter
+ Filter
+
+
+
+ Clears the search results
+ Maakt de zoekresultaten leeg
+
+
+
+ Clear
+ Leegmaken
+
+
+
+
+ ...
+ ...
+
+
+
+ Hide this widget
+ Verberg dit widget
+
+
+
+ (Un)selects the graphical objects in the results grid
+
+
+
+
+ Select
+ Selecteer
+
+
+
+ Regular Expression
+ Regular expression
+
+
+
+ Exact Match
+ Exacte Overeenkomst
+
+
+
+ Select All
+ Selecteer Alles
+
+
+
+ Clear All
+ Alles Wissen
+
+
+
+ Case Sensitive
+ Hoofdlettergevoelig
+
+
+
+ ID
+ ID
+
+
+
+ Object
+ Object
+
+
+
+ Type
+ Type
+
+
+
+ Parent Object
+ Ouder Object
+
+
+
+ Parent Type
+ Ouder Type
+
+
+
+ Fades outs all the graphical objects in the results grid (or those not listed). The current fade in/out state of all objects is modified.
+
+
+
+
+ Fade out
+
+
+
+
+
+ Listed
+
+
+
+
+
+ Not listed
+
+
+
+
+ Found <strong>%1</strong> object(s).
+ <strong>%1</strong> object(en) gevonden.
+
+
+
+ No objects found.
+ Geen objecten gevonden.
+
+
+
+ ObjectRenameWidget
+
+
+ Form
+ Venster
+
+
+
+ ....
+ ...
+
+
+
+ to:
+ naar:
+
+
+
+
+ Rename
+ Hernoem
+
+
+
+ Cancel
+ Annuleren
+
+
+
+ ObjectSelectorWidget
+
+
+ Form
+ Venster
+
+
+
+ Clear field
+ Veld leegmaken
+
+
+
+ Select Object
+ Selecteer Object
+
+
+
+ Select %1
+
+
+
+
+ ObjectsTableWidget
+
+
+ Form
+ Venster
+
+
+
+ Add Item
+ Item Toevoegen
+
+
+
+ Ins
+ Ins
+
+
+
+ Remove Item
+ Item Verwijderen
+
+
+
+ Del
+ Del
+
+
+
+ Update Item
+ Item Updaten
+
+
+
+ Alt+R
+ Alt+R
+
+
+
+ Remove All
+ Alles Verwijderen
+
+
+
+ Shift+Del
+ Shift+Del
+
+
+
+ Duplicate item
+
+
+
+
+ Ctrl+D
+
+
+
+
+ Edit Item
+ Item Aanpassen
+
+
+
+ Space
+ Spatie
+
+
+
+ Move Up
+ Naar Boven
+
+
+
+ Ctrl+Up
+
+
+
+
+ Move Down
+ Naar Beneden
+
+
+
+ Ctrl+Down
+
+
+
+
+ Move to start
+ Naar de eerste plaats
+
+
+
+ Ctrl+Home
+ Ctrl+Home
+
+
+
+ Move to end
+ Naar de laatste plaats
+
+
+
+ Ctrl+End, Ctrl+S
+ Ctrl+End, Ctrl+S
+
+
+
+
+ Confirmation
+ Bevestiging
+
+
+
+ Do you really want to remove the selected item?
+ Bent u zeker dat u het geselecteerde item wilt verwijderen?
+
+
+
+ Do you really want to remove all the items?
+
+
+
+
+ OperationList
+
+
+ (invalid object)
+ (ongeldig object)
+
+
+
+ OperationListWidget
+
+
+
+ Executed Operations
+ Uitgevoerde Acties
+
+
+
+ Hide this widget
+ Verberg dit widget
+
+
+
+ ...
+ ...
+
+
+
+ 1
+ 1
+
+
+
+ Operations:
+ Acties:
+
+
+
+
+ 0
+ 0
+
+
+
+ Position:
+ Positie:
+
+
+
+ Delete operation history
+ Verwijder actiegeschiedenis
+
+
+
+ Undo
+ Ongedaan maken
+
+
+
+ Redo
+ Opnieuw doen
+
+
+
+ Object: %1
+ Object: %1
+
+
+
+ Name: %1
+ Naam: %1
+
+
+
+ created
+ aangemaakt
+
+
+
+ removed
+ verwijderd
+
+
+
+ modified
+ aangepast
+
+
+
+ moved
+ verplaatst
+
+
+
+ Operation: %1
+ Actie: %1
+
+
+
+ Operation history exclusion
+ Actiegeschiedenisuitsluiting
+
+
+
+ Delete the executed operations history is an irreversible action, do you want to continue?
+ Het verwijderen van de geschiedenis van de uitgevoerde acties kan niet worden ongedaan gemaakt, bent u zeker dat u wilt verdergaan?
+
+
+
+ OperatorClassWidget
+
+
+ Default Class:
+ Standaardklasse:
+
+
+
+ Indexing:
+ Indexering:
+
+
+
+ Elements
+ Elementen
+
+
+
+ Element Type:
+ Elementtype:
+
+
+
+ Operator
+ Operator
+
+
+
+ Function
+ Functie
+
+
+
+ Storage
+ Opslag
+
+
+
+ Function:
+ Functie:
+
+
+
+ Operator:
+ Operator:
+
+
+
+ Support/Strategy:
+ Ondersteuning/Strategie:
+
+
+
+
+ Op. Family:
+ Operator Familie:
+
+
+
+ Storage Type
+ Opslagtype
+
+
+
+ Object
+ Object
+
+
+
+ Type
+ Type
+
+
+
+ Support/Strategy
+ Ondersteuning/Strategie
+
+
+
+ Operator Family
+ Operator Familie
+
+
+
+ OperatorFamilyWidget
+
+
+ Indexing:
+ Indexering:
+
+
+
+ OperatorWidget
+
+
+ MERGES
+ MERGES
+
+
+
+ HASHES
+ HASHES
+
+
+
+ Options:
+ Opties:
+
+
+
+ Arguments
+ Argumenten
+
+
+
+ Advanced
+ Geavanceerd
+
+
+
+ Join:
+ Join:
+
+
+
+ Restrict:
+ Restrict:
+
+
+
+ Commutator:
+ Commutator:
+
+
+
+ Negator:
+ Negator:
+
+
+
+ Operator Func.:
+ Operator functie:
+
+
+
+ Left Argument Type
+ Linkse Argument Type
+
+
+
+ Right Argument Type
+ Rechtse Argument Type
+
+
+
+ To create a unary operator it is necessary to specify as <strong><em>'any'</em></strong> one of its arguments. Additionally, the function that defines the operator must have only one parameter and this, in turn, must have the same data type of the the argument of unary operator.
+ Om een unaire operator aan te maken moet u <strong><em>'any'</em></strong> als een van zijn argumenten specifiëren. Daarenboven mag de functie die de operator definieert slechts één parameter bezitten die van hetzelfde type moet zijn als de unaire operator.
+
+
+
+ ParameterWidget
+
+
+ Default Value:
+ Standaardwaarde:
+
+
+
+ Mode:
+ Modus:
+
+
+
+ IN
+ IN
+
+
+
+ OUT
+ OUT
+
+
+
+ VARIADIC
+
+
+
+
+ PermissionWidget
+
+
+
+ Permissions
+ Machtigingen
+
+
+
+ ID:
+ ID:
+
+
+
+ Disable SQL code
+ Niet-uitvoerbare SQL code
+
+
+
+
+ Roles
+ Rollen
+
+
+
+
+ Privileges
+ Machtiginen
+
+
+
+ Edit permissions
+ Machtigingen aanpassen
+
+
+
+ &Grant
+
+
+
+
+ Re&voke
+
+
+
+
+ Cascade
+ Cascade
+
+
+
+ Privilege
+ Machtiging
+
+
+
+ GRANT OPTION
+ GRANT OPTION
+
+
+
+ Add Permission
+ Machtiging toekennen
+
+
+
+ Update Permission
+ Machtiging aanpassen
+
+
+
+ Cancel Operation
+ Actie annuleren
+
+
+
+ Code Preview
+ Codevoorbeeld
+
+
+
+ Id
+ Id
+
+
+
+ Name
+ Naam
+
+
+
+ Leave the <em><strong>Roles</strong></em> grid empty in order to create a %1 applicable to <strong><em>PUBLIC</em></strong>.
+
+
+
+
+ -- No permissions defined for the specified object!
+ -- Er zijn geen machtigingen gedefinieerd voor het gespecifieerde object!
+
+
+
+ /* Could not generate the SQL code preview for permissions!
+ /* Er kon geen SQL Codevoorbeeld worden gegenereerd voor de machtigingen!
+
+
+
+ PgModelerCLI
+
+
+ Unrecognized option '%1'.
+ Niet-herkende optie '%1'.
+
+
+
+ Value not specified for option '%1'.
+ Er is geen waarde gespecifieerd voor optie '%1'.
+
+
+
+ Option '%1' does not accept values.
+ Optie '%1' aanvaardt geen waardes.
+
+
+
+ Usage: pgmodeler-cli [OPTIONS]
+ Gebruik: pgmodeler-cli [OPTIES]
+
+
+
+
+ command line interface.
+ commandolijn interface.
+
+
+
+ General options:
+ Algemene opties:
+
+
+
+ PNG and SVG export options:
+
+
+
+
+ DBMS export options:
+ DBMS exporteringsopties:
+
+
+
+ Miscellaneous options:
+ Andere opties:
+
+
+
+ There are no connections configured.
+ Er zijn geen verbindingen geconfigureerd.
+
+
+
+ Input file must be different from output!
+ Het invoerbestand mag niet hetzelfde zijn als het uitvoerbestand!
+
+
+
+ Incomplete connection information!
+ Onvolledige verbindingsinformatie!
+
+
+
+ Invalid zoom specified!
+ Een ongeldige zoom gespecifieerd!
+
+
+
+ Invalid action specified to update mime option!
+ The actie om de mime optie the updaten is ongeldig!
+
+
+
+ Starting model fixing...
+ Modelcorrectie begint...
+
+
+
+ Starting mime update...
+ Mime update begint...
+
+
+
+ Starting model export...
+ Model export begint...
+
+
+
+ Model successfully fixed!
+ Het model werd succesvol gecorrigeerd!
+
+
+
+ Connection aliased as '%1' was not found in the configuration file.
+
+
+
+
+ PostgreSQL Database Modeler Project - pgmodeler.io
+
+
+
+
+ Copyright 2006-2018 Raphael A. Silva <raphael@pgmodeler.io>
+
+
+
+
+ This CLI tool provides several operations over models and databases without the need to perform them
+in pgModeler's graphical interface. All available options are described below.
+
+
+
+
+ %1, %2 [FILE] Input model file (.dbm). This is mandatory for fix, export operations.
+
+
+
+
+ %1, %2 [DBNAME] Input database name. This is mandatory for import operation.
+
+
+
+
+ %1, %2 [FILE] Output file. This is mandatory for fixing model or exporting to file, png or svg.
+
+
+
+
+ %1, %2 Try to fix the structure of the input model file in order to make it loadable again.
+
+
+
+
+ %1, %2 [NUMBER] Model fix tries. When reaching the maximum count the invalid objects will be discarded.
+
+
+
+
+ %1, %2 Export the input model to a sql script file.
+
+
+
+
+ %1, %2 Export the input model to a png image.
+
+
+
+
+ %1, %2 Export the input model to a svg file.
+
+
+
+
+ %1, %2 Export the input model directly to a PostgreSQL server.
+
+
+
+
+ %1, %2 Import a database to an output file.
+
+
+
+
+ %1, %2 Compares a model and a database or two databases generating the SQL script to synch the latter in relation to the first.
+
+
+
+
+ %1, %2 Force the PostgreSQL version of generated SQL code.
+
+
+
+
+ %1, %2 Silent execution. Only critical messages and errors are shown during process.
+
+
+
+
+ %1, %2 Show this help menu.
+
+
+
+
+ Connection options:
+
+
+
+
+ %1, %2 List available connections in file %3.
+
+
+
+
+ %1, %2 [ALIAS] Connection configuration alias to be used.
+
+
+
+
+ %1, %2 [HOST] PostgreSQL host in which a task will operate.
+
+
+
+
+ %1, %2 [PORT] PostgreSQL host listening port.
+
+
+
+
+ %1, %2 [USER] PostgreSQL username.
+
+
+
+
+ %1, %2 [PASSWORD] PostgreSQL user password.
+
+
+
+
+ %1, %2 [DBNAME] Connection's initial database.
+
+
+
+
+ %1, %2 Draws the grid in the exported image.
+
+
+
+
+ %1, %2 Draws the page delimiters in the exported image.
+
+
+
+
+ %1, %2 Each page will be exported in a separated png image. (Only for PNG images)
+
+
+
+
+ %1, %2 [FACTOR] Applies a zoom (in percent) before export to png image. Accepted zoom interval: %3-%4 (Only for PNG images)
+
+
+
+
+ %1, %2 Ignores errors related to duplicated objects that eventually exist in the server.
+
+
+
+
+ %1, %2 [CODES] Ignores additional errors by their codes. A comma-separated list of alphanumeric codes should be provided.
+
+
+
+
+ %1, %2 Drop the database before execute a export process.
+
+
+
+
+ %1, %2 Runs the DROP commands attached to SQL-enabled objects.
+
+
+
+
+ %1, %2 Simulates an export process by executing all steps but undoing any modification in the end.
+
+
+
+
+ %1, %2 Generates temporary names for database, roles and tablespaces when in simulation mode.
+
+
+
+
+ Database import options:
+
+
+
+
+ %1, %2 Ignore all errors and try to create as many as possible objects.
+
+
+
+
+ %1, %2 Import system built-in objects. This option causes the model bloating due to the importing of unneeded objects.
+
+
+
+
+ %1, %2 Import extension objects. This option causes the model bloating due to the importing of unneeded objects.
+
+
+
+
+ %1, %2 Run import in debug mode printing all queries executed in the server.
+
+
+
+
+ Diff options:
+
+
+
+
+ %1, %2 [DBNAME] The database used in the comparison. All the SQL code generated is applied to it.
+
+
+
+
+ %1, %2 Save the generated diff code to output file.
+
+
+
+
+ %1, %2 Apply the generated diff code on the database server.
+
+
+
+
+ %1, %2 Don't preview the generated diff code when applying it to the server.
+
+
+
+
+ %1, %2 Drop cluster level objects like roles and tablespaces.
+
+
+
+
+ %1, %2 Revoke permissions already set on the database. New permissions configured in the input model are still applied.
+
+
+
+
+ %1, %2 Drop missing objects. Generates DROP commands for objects that are present in the input model but not in the compared database.
+
+
+
+
+ %1, %2 Force the drop of missing columns and constraints. Causes only columns and constraints to be dropped, other missing objects aren't removed.
+
+
+
+
+ %1, %2 Rename the destination database when the names of the involved databases are different.
+
+
+
+
+ %1, %2 Don't drop or truncate objects in cascade mode.
+
+
+
+
+ %1, %2 Truncate tables prior to alter columns. Avoids errors related to type casting when the new type of a column isn't compatible to the old one.
+
+
+
+
+ %1, %2 Don't reuse sequences on serial columns. Drop the old sequence assigned to a serial column and creates a new one.
+
+
+
+
+ %1, %2 Don't force the recreation of objects. Avoids the usage of a DROP and CREATE commands to create a new version of the objects.
+
+
+
+
+ %1, %2 Don't recreate the unmodifiable objects. These objects are the ones which can't be changed via ALTER command.
+
+
+
+
+ %1, %2 [ACTION] Handles the file association to .dbm files. The ACTION can be [%3 | %4].
+
+
+
+
+ ** The diff process allows the usage of the following options related to import and export operations:
+
+
+
+
+ * Export:
+
+
+
+
+ * Import:
+
+
+
+
+ ** When running the diff using two databases (%1 and %2) there's the need to specify two connections/aliases.
+
+
+
+
+ If only one connection is set it will be used to import the input database as well to retrieve database used in the comparison.
+
+
+
+
+ A second connection can be specified by appending a 1 on any connection configuration parameter listed above.
+
+
+
+
+ Available connections (alias : connection string)
+
+
+
+
+ No operation mode was specified!
+
+
+
+
+ Export, fix model, import database, diff and update mime operations can't be used at the same time!
+
+
+
+
+ Multiple export mode was specified!
+
+
+
+
+ No input file was specified!
+
+
+
+
+ No input database was specified!
+
+
+
+
+ No output file was specified!
+
+
+
+
+ No input file or database was specified!
+
+
+
+
+ The input file and database can't be used at the same time!
+
+
+
+
+ No database to be compared was specified!
+
+
+
+
+ No diff action (save or apply) was specified!
+
+
+
+
+ No output file for the diff code was specified!
+
+
+
+
+ ** Error code `%1' found and ignored. Proceeding with export.
+
+
+
+
+ ** Command: %1
+
+
+
+
+ Extracting objects' XML...
+ De XML van de objecten word geextraheerd...
+
+
+
+ Invalid input file! It seems that is not a pgModeler generated model or the file is corrupted!
+ Het invoerbestand is ongeldig! Kijk na of dit bestand door pgModeler werd gegenereerd ofdat het bestand gecorrupteerd raakte!
+
+
+
+ Recreating objects...
+ De objecten worden heraangemaakt...
+
+
+
+
+** Object(s) that couldn't fixed:
+ ** Object(en) die niet kon(den) worden gecorrigeerd:
+
+
+
+ WARNING: There are objects that maybe can't be fixed. Trying again... (tries %1/%2)
+ OPGEPAST: Er zijn objecten die niet konden worden gecorrigeerd. We proberen opnieuw... (poging %1 van %2)
+
+
+
+
+ Loading input file: %1
+
+
+
+
+ Fixed model file: %1
+
+
+
+
+ Export to PNG image: %1
+
+
+
+
+ Export to SVG file: %1
+
+
+
+
+ Export to SQL script file: %1
+
+
+
+
+ Export to DBMS: %1
+
+
+
+
+ Export successfully ended!
+
+
+
+
+
+ Starting database import...
+
+
+
+
+
+ Input database: %1
+
+
+
+
+ Saving the imported database to file...
+
+
+
+
+ Import successfully ended!
+
+
+
+
+
+ Starting diff process...
+
+
+
+
+ Input model: %1
+
+
+
+
+ Compare to: %1
+
+
+
+
+ Loading input model...
+
+
+
+
+
+ Importing the database `%1'...
+
+
+
+
+ Comparing the generated models...
+
+
+
+
+ No differences were detected.
+
+
+
+
+ Saving diff to file `%1'
+
+
+
+
+ ** WARNING: You are about to apply the generated diff code to the server. Data can be lost in the process!
+
+
+
+
+ ** Proceed with the diff applying? (yes/no) >
+
+
+
+
+ yes
+
+
+
+
+
+ no
+
+
+
+
+ Diff code not applied to the server.
+
+
+
+
+ Applying diff to the database `%1'...
+
+
+
+
+ Diff successfully ended!
+
+
+
+
+
+ Mime database successfully updated!
+
+
+
+
+
+ Database model files (.dbm) are already associated to pgModeler!
+ Database modelbestanden (.dbm) zijn reeds geassocieerd met pgModeler!
+
+
+
+ There is no file association related to pgModeler and .dbm files!
+ Er is geen bestandsassociatie tussen pgModeler and .dbm bestanden!
+
+
+
+ Mime database operation: %1
+ Mime databaseoperatie: %1
+
+
+
+ Can't erase the file %1! Check if the current user has permissions to delete it and if the file exists.
+ Het bestand %1 kan niet worden verwijderd! Kijk na of de huidige gebruiker voldoende machtigingen heeft om het bestand te verwijderen en of het bestand bestaat.
+
+
+
+ Running update-mime-database command...
+ Het update-mime-database commando wordt uitgevoerd...
+
+
+
+ PgModelerPlugin
+
+
+ Plugin Information
+ Plugin Informatie
+
+
+
+ Version: %1
+ Versie: %1
+
+
+
+ Author: %1
+ Auteur: %1
+
+
+
+ PgModelerUiNS
+
+
+ Do you want to apply the <strong>SQL %1 status</strong> to the object's references too? This will avoid problems when exporting or validating the model.
+ Wenst u de <strong> SQL %1 status</strong> ook toe te passen op de referenties van het object? Dit vermijdt problemen bij het exporteren of valideren van het model.
+
+
+
+ disabling
+ uitschakelen
+
+
+
+ enabling
+ inschakelen
+
+
+
+ PgSQLTypeWidget
+
+
+ Form
+ Venster
+
+
+
+ Data Type
+ Data Type
+
+
+
+ SRID:
+ SRID:
+
+
+
+ Variation:
+ Variatie:
+
+
+
+ Z
+ Z
+
+
+
+ M
+ M
+
+
+
+
+ Precision
+ Precisie
+
+
+
+ Spatial:
+ Ruimtelijk:
+
+
+
+
+ Dimension
+ Dimensie
+
+
+
+ Format:
+ Formaat:
+
+
+
+ Timezone:
+ Tijdszone:
+
+
+
+ Type:
+ Type:
+
+
+
+ P:
+ P:
+
+
+
+
+ Length
+ Lengte
+
+
+
+ L:
+ L:
+
+
+
+ Interval:
+ Interval:
+
+
+
+ [ ]:
+ [ ]:
+
+
+
+ NONE
+ GEEN
+
+
+
+ PluginsConfigWidget
+
+
+ Form
+ Venster
+
+
+
+ Open in file manager
+ Open in bestandsbeheer
+
+
+
+ Plug-ins root directory:
+ Plug-in startmap:
+
+
+
+ Loaded plug-ins
+ Geladen plug-ins
+
+
+
+ Plugin
+ Plugin
+
+
+
+ Version
+ Versie
+
+
+
+ Library
+ Bibliotheek
+
+
+
+ PolicyWidget
+
+
+ Basics
+
+
+
+
+ Command:
+
+
+
+
+ Permissive
+
+
+
+
+ Roles
+ Rollen
+
+
+
+ Expressions
+ Expressies
+
+
+
+ USING:
+
+
+
+
+ CHECK:
+
+
+
+
+ Name
+ Naam
+
+
+
+ Leave the <em><strong>Roles</strong></em> grid empty in order to create a %1 applicable to <strong><em>PUBLIC</em></strong>.
+
+
+
+
+ QObject
+
+
+ new_database
+ nieuwe_database
+
+
+
+
+
+
+ %1 (line: %2)
+ %1 (lijn %2)
+
+
+
+ Relationship
+
+
+ %1_has_one_%2
+ %1_heeft_exact_een_%2
+
+
+
+ %1_has_many_%2
+ %1_heeft_meerdere_%2
+
+
+
+ many_%1_has_many_%2
+ meerdere_%1_heeft_meerdere_%2
+
+
+
+ %1_inherits_%2
+ %1_erft_van_%2
+
+
+
+ %1_copies_%2
+ %1_kopieert_%2
+
+
+
+ RelationshipConfigWidget
+
+
+ Form
+ Venster
+
+
+
+ Connection Mode
+ Verbindingsmodus
+
+
+
+ Connect FK to PK columns
+ Verbindt FK naar PK kolommen
+
+
+
+ This mode renders the relationships in crow's foot notation which has a better semantics and readability. It also determines the optimal point where the relationship is connected on the tables' edges taking their position into account.
+
+
+
+
+ Crow's foot notation
+
+
+
+
+ This mode determines the optimal point where the relationship is connected on the tables' edges taking their position into account. It implies the usage of the classical ER notation.
+
+
+
+
+ Connect tables' edges
+
+
+
+
+ This mode is available only for <strong>one-to-one</strong>, <strong>one-to-many</strong> and <strong>fk relationships</strong> but provides a better semantics when linking tables by placing the lines on the exact point where the relationship occurs. It implies the usage of the classical ER notation.
+
+
+
+
+ This mode is the classical one. It connects the relationship to tables through their central points. It implies the usage of the classical ER notation.
+
+
+
+
+ Connect tables' center points
+ Verbindt de centrale punten van de tabellen
+
+
+
+ FK Settings && Patterns
+ FK instellingen && Patronen
+
+
+
+ Foreign key settings
+ Foreign key instellingen
+
+
+
+ Deferral:
+ Uitstel:
+
+
+
+ Deferrable:
+ Uitstelbaar:
+
+
+
+ ON DELETE:
+ ON DELETE:
+
+
+
+ ON UPDATE:
+ ON UPDATE:
+
+
+
+ Name patterns
+ Naamspatronen
+
+
+
+ Pattern for foreign key generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+ Het patroon voor de foreign key wordt gegenereerd op basis van de pk van de gerefereerde tabel (1-1 en 1-n) of op basis van de pk van de brontabel (n-n).
+
+
+
+ Foreign Key (Source):
+ Foreign Key (Bron):
+
+
+
+ Relationship type:
+ Relatietype:
+
+
+
+ Pattern for columns generated based upon target table's pk (n-n).
+ Het patroon voor kolommen die worden gegenereerd op basis van de pk van de doeltabel (n-n).
+
+
+
+ Column (Target):
+ Kolom (Doel):
+
+
+
+ One to one (1:1)
+ Een-op-een (1:1)
+
+
+
+ One to many (1:n)
+ Een op meerdere (1:n)
+
+
+
+ Many to many (n:n)
+ Meerdere op meerdere (n:n)
+
+
+
+ Generalization
+ Generalisatie
+
+
+
+ Copy
+ Kopieer
+
+
+
+ Pattern for columns generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+ Het patroon voor de kolommen wordt gegenereerd op basis van de pk van de gerefereerde tabel (1-1 en 1-n) of op basis van de pk van de brontabel (n-n).
+
+
+
+ Column (Source):
+ Kolom (Bron):
+
+
+
+ Pattern for foreign key generated based upon target table's pk (n-n).
+ Het patroon voor de foreign key wordt gegenereerd op basis van de pk van de doeltabel (n-n).
+
+
+
+ Foreign Key (Target):
+ Foreign Key (Doel):
+
+
+
+ Pattern for unique key generated by the relationship.
+ Het patroon voor de unieke sleutel wordt gegenereerd op basis van de relatie.
+
+
+
+ Unique Key Name:
+ Naam van de unieke sleutel:
+
+
+
+
+ Pattern for primary key generated by identifier relationship.
+ Het patroon voor de primary key wordt gegenereerd op basis van de relatie met de identifier.
+
+
+
+ Primary Key Name:
+ Naam van de Primary Key:
+
+
+
+ Primary Key Column:
+ Primary Key Kolom:
+
+
+
+ Default
+ Standaard
+
+
+
+ RelationshipWidget
+
+
+ General
+ Algemeen
+
+
+
+ Table 1:
+ Tabel 1:
+
+
+
+ Name Patterns
+ Naamspatronen
+
+
+
+
+ Use the values defined on settings dialogs for the fields below
+ Gebruik de waarden ingesteld in het instellingsvenster voor de velden hieronder
+
+
+
+
+ Use global settings for these fields
+ Gebruik globale instellingen voor deze velden
+
+
+
+ Pattern for columns generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+ Het patroon voor de kolommen wordt gegenereerd op basis van de pk van de gerefereerde tabel (1-1 en 1-n) of op basis van de pk van de brontabel (n-n).
+
+
+
+ Column (Source):
+ Kolom (Bron):
+
+
+
+ Pattern for columns generated based upon target table's pk (n-n).
+ Het patroon voor kolommen die worden gegenereerd op basis van de pk van de doeltabel (n-n).
+
+
+
+ Column (Target):
+ Kolom (Doel):
+
+
+
+ Pattern for foreign key generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+ Het patroon voor de foreign key wordt gegenereerd op basis van de pk van de gerefereerde tabel (1-1 en 1-n) of op basis van de pk van de brontabel (n-n).
+
+
+
+ Foreign Key (Source):
+ Foreign Key (Bron):
+
+
+
+ Pattern for foreign key generated based upon target table's pk (n-n).
+ Het patroon voor de foreign key wordt gegenereerd op basis van de pk van de doeltabel (n-n).
+
+
+
+ Foreign Key (Target):
+ Foreign Key (Doel):
+
+
+
+
+ Pattern for primary key generated by identifier relationship.
+ Het patroon voor de primary key wordt gegenereerd op basis van de relatie met de identifier.
+
+
+
+ Primary Key Name:
+ Naam van de Primary Key:
+
+
+
+ Pattern for unique key generated by the relationship.
+ Het patroon voor de unieke sleutel wordt gegenereerd op basis van de relatie.
+
+
+
+ Unique Key Name:
+ Naam van de unieke sleutel:
+
+
+
+ Primay Key Column:
+ Primary Key Kolom:
+
+
+
+ Cardinality:
+ Cardinaliteit:
+
+
+
+
+ Name of the table generated from many to many relationship
+ De naam van de tabel die is gegenereerd op basis van de meer-op-meer relatie
+
+
+
+ Gen. Table Name:
+ Algemene Tabelnaam:
+
+
+
+ Rel. Type:
+ Relatietype:
+
+
+
+ Table 2:
+ Tabel 2:
+
+
+
+ [SRC] is required
+ [BRON] is vereist
+
+
+
+ [DST] is required
+ [DOEL] is vereist
+
+
+
+ Foreign key Settings
+ Foreign key instellingen
+
+
+
+ Deferrable:
+ Uitstelbaar:
+
+
+
+ Deferral:
+ Uitstel:
+
+
+
+ ON DELETE:
+ ON DELETE:
+
+
+
+ ON UPDATE:
+ ON UPDATE:
+
+
+
+ One to one relationship
+ Een-op-een relatie
+
+
+
+ &1-1
+
+
+
+
+ &gen
+
+
+
+
+ E&XCLUDING
+
+
+
+
+ One to many relationship
+ Een-op-meer relatie
+
+
+
+ 1-n
+ 1-n
+
+
+
+ Many to many relationship
+ Meer-op-meer relatie
+
+
+
+ n-n
+ n-n
+
+
+
+ Generalization relationship (inheritance)
+ Generalisatierelatie (overerving)
+
+
+
+ Dependency / Copy relationship
+ Afhankelijkheid / Kopieer de relatie
+
+
+
+ dep
+ dep
+
+
+
+ Relationship generated via foreign key
+ Relatie gegenereerd via foreign key
+
+
+
+ fk
+ fk
+
+
+
+ The receiver's primary key will be composed by the generated foreign key columns.
+ De ontvanger's primary key wordt samengesteld door de gegenereerde foreign key kolommen.
+
+
+
+ Identifier
+ Identifier
+
+
+
+ Instead of create a multi-valued primary key with the generated foreign keys columns a single column is created and used as primary key.
+ In plaats van een multi-kolom primary key te creeren op basis van de foreign key kolommen, wordt een enkele kolom aangemaakt en gebruikt als primary key.
+
+
+
+ Single PK column
+ Enkele PK kolom
+
+
+
+ Custom Color:
+ Aangepaste kleur:
+
+
+
+ Copy Options
+ Kopieeropties
+
+
+
+ INDEXES
+ INDEXES
+
+
+
+ COMMENTS
+ COMMENTS
+
+
+
+ INCLUDING
+ INCLUDING
+
+
+
+ DEFAULTS
+ DEFAULTS
+
+
+
+ CONSTRAINTS
+ CONSTRAINTS
+
+
+
+ Use defaults
+ Gebruik standaardwaarden
+
+
+
+ ALL
+ ALL
+
+
+
+ STORAGE
+ STORAGE
+
+
+
+ Attributes
+ Attributen
+
+
+
+ Constraints
+ Constraints
+
+
+
+ Primary key
+ Primary key
+
+
+
+ Advanced
+ Geavanceerd
+
+
+
+ Attribute
+ Attribuut
+
+
+
+
+
+ Type
+ Type
+
+
+
+ Constraint
+ Constraint
+
+
+
+ Name
+ Naam
+
+
+
+ Use the special primary key if you want to include a primary key containing generated columns to the receiver table. <strong>Important:</strong> if this is a new relationship there is a need to finish its creation and reopen this dialog to create the special primary key.
+ Gebruik de speciale primary key wanneer u een primary key samengesteld uit gegenereerde kolommen van de ontvangende tabel wilt insluiten. <strong>Belangrijk:</strong> indien dit een nieuwe relatie is moet u de creatie van deze relatie voltooien en dit dialoogvenster daarna opnieuw openen om de speciale primary key aan te maken.
+
+
+
+ This advanced tab shows the objects (columns or table) auto created by the relationship's connection as well the foreign keys that represents the link between the participant tables.
+ Dit geavanceerde tab-blad toont de objecten (kolommen of tabellen) die automatisch worden aangemaakt door de verbindingen van de relatie alsook de foreign keys die de link tussen de deelnemende tabellen voorstelt.
+
+
+
+ Available tokens to define name patterns:<br/> <strong>%1</strong> = Reference (source) primary key column name. <em>(Ignored on constraint patterns)</em><br/> <strong>%2</strong> = Reference (source) table name.<br/> <strong>%3</strong> = Receiver (destination) table name.<br/> <strong>%4</strong> = Generated table name. <em>(Only for n:n relationships)</em>
+
+
+
+
+ Default
+ Standaard
+
+
+
+ Referer View:
+ Refererende View:
+
+
+
+ Referer view references one or more columns of a table to construct it's own columns.
+ De refererende view refereert naar een of meerdere kolommen van een tabel om zijn eigen kolommen aan te maken.
+
+
+
+ Referenced table has its columns referenced by a view in order to construct the columns of this latter.
+ De gerefereerde tabel heeft kolommen waarnaar wordt gerefereerd door een view die deze kolommen gebruikt om zijn eigen kolommen aan te maken.
+
+
+
+ Referer Table:
+ Refererende Tabel:
+
+
+
+ Referer table references one or more columns of a table through foreign keys. This is the (n) side of relationship.
+ De refererende tabel refereert naar een of meerdere kolommen in een andere tabel via foreign keys. Dit is the (n)-zijde van de relatie.
+
+
+
+ Referenced table has its columns referenced by a table's foreign key. This is the (1) side of relationship.
+ De gerefereerde tabel heeft kolommen waarnaar wordt gerefereerd door een foreign key in een andere tabel. Dit is de (1) zijde van de relatie.
+
+
+
+ Referenced Table:
+ Gerefereerde Tabel:
+
+
+
+
+
+ Reference Table:
+ Referentietabel:
+
+
+
+ Reference table has the columns from its primary key will copied to the receiver table in order to represent the linking between them. This is the (1) side of relationship.
+ De referentietabel heeft kolommen in zijn primary key die gekopieerd zullen worden naar de ontvangende tabel om de link tussen deze te bewerkstelligen. Dit is de (1) zijde van de relatie.
+
+
+
+ Receiver Table:
+ Ontvangende Tabel:
+
+
+
+ Receiver (or referer) table will receive the generated columns and the foreign key in order to represent the linking between them. This is the (n) side of relationship.
+ De ontvanger (of gerefereerde) tabel zal de gegenereerde kolommen en de foreign key ontvangen om de link tussen beiden te bewerkstelligen. Dit is de (n) zijde van de relatie.
+
+
+
+ In many-to-many relationships both tables are used as reference to generate the table that represents the linking. Columns from both tables are copied to the resultant table and two foreign keys are created as well in order to reference each participant table.
+ In meer-op-meer relaties worden beide tabellen als referentie gebruikt om de link-tabel te representeren. Kolommen van beide tabellen worden gekopieerd naar de resulterende link-tabel en foreign keys naar elke deelnemende tabel worden aangemaakt.
+
+
+
+
+ is required
+ is vereist
+
+
+
+ ResultSetModel
+
+
+ [binary data]
+ [binaire data]
+
+
+
+ RoleWidget
+
+
+ yyyy-MMM-dd hh:mm:ss
+ yyyy-MMM-dd hh:mm:ss
+
+
+
+
+ Validity
+ Geldigheid
+
+
+
+ Connections:
+ Verbindingen:
+
+
+
+ Attributes
+ Attributen
+
+
+
+ Superuser
+ Superuser
+
+
+
+ Inherit permissions
+
+
+
+
+ Can create database
+
+
+
+
+ Bypass RLS
+
+
+
+
+ Can use replication
+
+
+
+
+ Can login
+ Kan inloggen
+
+
+
+ Can create role
+
+
+
+
+
+ Members
+ Leden
+
+
+
+
+ Member of
+ Lid van
+
+
+
+
+ Members (Admin.)
+ Leden (Admin.)
+
+
+
+ Password:
+ Wachtwoord:
+
+
+
+ Encrypted
+ Geëncrypteerd
+
+
+
+ Assigning <strong><em>-1</em></strong> to <strong><em>Connections</em></strong> creates a role without connection limit.<br/> Unchecking <strong><em>Validity</em></strong> creates an role that never expires.
+
+
+
+
+ Role
+ Rol
+
+
+
+ RuleWidget
+
+
+ Event:
+ Event:
+
+
+
+ Execution Type:
+ Uitvoeringstype:
+
+
+
+ Conditional Expr.:
+ Voorwaardelijke Expressie:
+
+
+
+ Commands
+ Commando's
+
+
+
+ SQL Command:
+ SQL Commando:
+
+
+
+ SQL command
+ SQL commando
+
+
+
+ To create a rule that does not perform any action (<strong>DO NOTHING</strong>) simply do not specify commands in the SQL commands table.
+ Om een regel aan te maken die niets doet (<strong>DO NOTHING</strong>), laat eenvoudigweg de commando's in de SQL commando tabel leeg.
+
+
+
+ SQLExecutionWidget
+
+
+ Form
+ Venster
+
+
+
+ Save SQL commands
+ Sla SQL commando's op
+
+
+
+ Search in SQL code
+
+
+
+
+ Close the current SQL script
+
+
+
+
+ SQL script currently handled
+
+
+
+
+ (not saved)
+
+
+
+
+ Handle external SQL script
+
+
+
+
+ &Script
+
+
+
+
+ Alt+F
+ Alt+Z
+
+
+
+ Fi&nd
+
+
+
+
+ Run the specified SQL command
+ Voer het commando uit
+
+
+
+ Run SQL
+ Uitvoeren
+
+
+
+ F6
+ F6
+
+
+
+ Clear sql input field and results
+ Wis SQL invoerveld en resultaten
+
+
+
+ Clear All
+ Alles Wissen
+
+
+
+
+ Export results to a CSV file
+ Exporteer de resultaten naar CSV bestand
+
+
+
+ Snippe&ts
+ Snippe&ts
+
+
+
+ Alt+T
+
+
+
+
+ E&xport
+ E&xporteren
+
+
+
+ Alt+X
+
+
+
+
+ Toggles the output pane
+
+
+
+
+ &Output
+
+
+
+
+ Alt+O
+ Alt+O
+
+
+
+ Current working database
+
+
+
+
+
+
+ Results
+
+
+
+
+ Messages
+
+
+
+
+ History
+
+
+
+
+ ...
+ ...
+
+
+
+ SQL file (*.sql);;All files (*.*)
+ SQL Code (*.sql);;Alle bestanden (*.*)
+
+
+
+ Load
+ Laden
+
+
+
+ Save
+ Opslaan
+
+
+
+ Save as
+ Opslaan als
+
+
+
+ [binary data]
+ [binaire data]
+
+
+
+ No results retrieved or changes done due to the error above.
+
+
+
+
+
+ Messages (%1)
+
+
+
+
+ Results (%1)
+
+
+
+
+ [%1]: SQL command successfully executed in <em><strong>%2</strong></em>. <em>%3 <strong>%4</strong></em>
+
+
+
+
+ Rows affected
+
+
+
+
+ Rows retrieved
+
+
+
+
+ Load SQL commands
+ Laad SQL commando's
+
+
+
+ Save CSV file
+ Sla CSV bestand op
+
+
+
+ Comma-separated values file (*.csv);;All files (*.*)
+ Bestand met komma-gesepareerde waarden (*.csv);;Alle bestanden (*.*)
+
+
+
+ The SQL input field and the results grid will be cleared! Want to proceed?
+ Het SQL invoerveld en de resultaten-lijst zullen worden leeggemaakt! Wenst u verder te gaan?
+
+
+
+ Copy selection
+ Kopiëer de selectie
+
+
+
+ Plain format
+
+
+
+
+ CVS format
+
+
+
+
+ This action will wipe out all the SQL commands history for all connections! Do you really want to proceed?
+
+
+
+
+ Clear history
+
+
+
+
+ Save history
+
+
+
+
+ Reload history
+
+
+
+
+ Find in history
+
+
+
+
+ Hide find tool
+
+
+
+
+ This action will wipe out all the SQL commands history for the current connection! Do you really want to proceed?
+
+
+
+
+ SQLToolWidget
+
+
+ Form
+ Venster
+
+
+
+ Database explorer
+ Databaseverkenner
+
+
+
+ Disconnect from all databases
+ Van alle databases ontkoppelen
+
+
+
+
+ ...
+
+
+
+
+ Update the database list
+
+
+
+
+ Toggle the object's attributes grid
+
+
+
+
+ Attributes
+ Attributen
+
+
+
+ Alt+R
+ Alt+R
+
+
+
+ Toggle the display of source code pane
+
+
+
+
+
+ Source code
+ Broncode
+
+
+
+ SQL execution
+ SQL uitvoering
+
+
+
+ Warning
+ Opgepast
+
+
+
+ <strong>ATTENTION:</strong> Disconnect from all databases will close any opened tab in this view! Do you really want to proceed?
+ <strong>LET OP:</strong> Van alle databases ontkoppelen sluit alle tab-bladen in dit venster! Bent u zeker dat u verder wilt gaan?
+
+
+
+ SceneInfoWidget
+
+
+ Form
+ Venster
+
+
+
+
+ Current position of the mouse in the canvas
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+ Current zoom factor
+
+
+
+
+
+ Currently selected object(s)
+
+
+
+
+
+ Dimensions of the selected object(s)
+
+
+
+
+ No selection
+
+
+
+
+ N/A
+
+
+
+
+ Sel. objects: %1
+
+
+
+
+ SchemaWidget
+
+
+ Fill color:
+ Vulkleur:
+
+
+
+ Show rectangle
+ Toon rechthoek
+
+
+
+ SequenceWidget
+
+
+ Cyclic:
+ Cyclisch:
+
+
+
+ Start:
+ Start:
+
+
+
+ Maximum:
+ Maximum:
+
+
+
+ Minimum:
+
+
+
+
+ Defualt values:
+
+
+
+
+ Increment:
+ Toename:
+
+
+
+ Cache:
+ Cache:
+
+
+
+ Owner Col.:
+ Bezittende kolom:
+
+
+
+ User defined
+
+
+
+
+ SnippetsConfigWidget
+
+
+ Form
+ Venster
+
+
+
+ Label:
+ Label:
+
+
+
+ Applies to:
+ Van toepassing op:
+
+
+
+ ID:
+ ID:
+
+
+
+ Create new connection
+ Maak een nieuwe verbinding aan
+
+
+
+ Cancel edition
+ Annuleer aanpassingen
+
+
+
+ Edit selected connection
+ Pas de geselecteerde verbinding aan
+
+
+
+ Delete selected connection
+ Verwijder de geselecteerde verbinding
+
+
+
+ Remove All
+ Alles Verwijderen
+
+
+
+ Shift+Del
+ Shift+Del
+
+
+
+ Snippets:
+ Snippets:
+
+
+
+ Parse the snippet in order to check if there are syntax errors.
+ Ontleed het snippet om zeker te zijn dat het geen syntactische fouten bevat.
+
+
+
+ Parse
+ Ontleed
+
+
+
+ Add
+ Toevoegen
+
+
+
+ Update
+ Updaten
+
+
+
+ Parsable or dynamic snippets are written in the <strong>schema micro language</strong> syntax. When using a parsable snippet the attributes surrounded in <strong>{}</strong> will be replaced by the selected object's matching attributes.
+ Ontleedbare of dynamische snippets worden in de <strong>schema micro language</strong> syntax geschreven. Wanneer een ontleedbaar snippet wordt gebruikt worden attributen die met <strong>{}</strong> zijn omringd, vervangen door de attributen van het overeenkomstige geselecteerde object.
+
+
+
+ Parsable
+ Ontleedbaar
+
+
+
+ When handling parsable snippets empty attributes will be replaced by a value in the format <strong>{attribute}</strong>. Note that this option can affect the semantics of the resulting snippet.
+ Bij ontleedbare snippets worden lege attributen vervangen door een waarde volgens het formaat <strong>{attribuut}</strong>. Deze optie kan de betekenis van het snippet beïnvloeden.
+
+
+
+ Placeholders
+ Plaatshouder
+
+
+
+ Filter:
+ Filter:
+
+
+
+ General purpose
+ Algemeen doel
+
+
+
+ All snippets
+ Alle snippets
+
+
+
+ /* Error parsing the snippet '%1':
+
+ %2 */
+ /* Er trad een fout op tijdens het onleden van het snippet '%1':
+
+ %2 */
+
+
+
+ Duplicated snippet id <strong>%1</strong> detected. Please, specify a different one!
+ Gelieve een andere snippet id te selecteren, de id <strong>%1</strong> is reeds in gebruik!
+
+
+
+ Invalid ID pattern detected <strong>%1</strong>. This one must start with at leat one letter and be composed by letters, numbers and/or underscore!
+ Een ongeldig ID patroon werd gedetecteerd. Deze moet starten met minstens één letter en worden gevormed door letters, nummer en/or een underscore!
+
+
+
+ Empty label for snippet <strong>%1</strong>. Please, specify a value for it!
+ Gelieve een waarde in te vullen voor het label van snippet <strong>%1</strong>!
+
+
+
+ Empty code for snippet <strong>%1</strong>. Please, specify a value for it!
+ Gelieve een waarde in te vullen voor de code van snippet <strong>%1</strong>!
+
+
+
+ The dynamic snippet contains syntax error(s). Additional info: <br/><em>%1</em>
+ Het dynamische snippet bevat één of meer syntactische fouten. Bijkomende info: <br/><em>%1</em>
+
+
+
+ Do you really want to remove all snippets?
+ Bent u zeker dat u alle snippets wilt verwijderen?
+
+
+
+ No syntax errors found in the snippet.
+ Het snippet bevat geen syntactische fouten.
+
+
+
+ General
+ Algemeen
+
+
+
+ SourceCodeWidget
+
+
+ Version:
+ Versie:
+
+
+
+ PostgreSQL
+ PostgreSQL
+
+
+
+ iconecodigo
+
+
+
+
+ SQL
+ SQL
+
+
+
+ Code display:
+ Codeweergave:
+
+
+
+ Original
+ Origineel
+
+
+
+ Original + depedencies' SQL
+ Origineel + SQL voor afhankelijken
+
+
+
+ Original + children's SQL
+ Origineel + SQL voor kinderen
+
+
+
+ Save the SQL code to a file.
+ Sla de SQL code op in een bestand.
+
+
+
+ Save SQL
+ Sla SQL Op
+
+
+
+ XML
+ XML
+
+
+
+ Source code visualization
+ Broncodevisualisatie
+
+
+
+ <strong>Original:</strong> displays only the original object's SQL code.<br/><br/> <strong>Dependencies:</strong> displays the original code including all dependencies needed to properly create the selected object.<br/><br/> <strong>Children:</strong> displays the original code including all object's children SQL code. This option is used only by schemas, tables and views.
+
+
+
+
+ Save SQL code as...
+ Sla SQL code op als...
+
+
+
+ SQL code (*.sql);;All files (*.*)
+ SQL Code (*.sql);;Alle bestanden (*.*)
+
+
+
+ Generating source code...
+ De broncode wordt gegeneerd...
+
+
+
+ -- NOTE: the code below contains the SQL for the selected object
+-- as well for its dependencies and children (if applicable).
+--
+-- This feature is only a convinience in order to permit you to test
+-- the whole object's SQL definition at once.
+--
+-- When exporting or generating the SQL for the whole database model
+-- all objects will be placed at their original positions.
+
+
+
+ -- LET OP: de volgende code bevat SQL voor zowel het geselecteerde object
+-- alsook zijn afhankelijken kinderen (indien zo aangevinkt).
+--
+-- Dit feature bestaat enkel zodat u op een eenvoudige manier de volledige
+-- SQL definitie van het object kan testen.
+--
+-- Bij het exporteren of genereren van de SQL code voor de volledige database
+-- worden alle objecten in hun originele positie geplaatst.
+
+
+
+
+
+
+
+
+-- SQL code purposely truncated at this point in demo version!
+
+
+
+
+ -- SQL code unavailable for this type of object --
+ -- Er is geen SQL code beschikbaar voor dit type object --
+
+
+
+ <!-- XML code preview disabled in demonstration version -->
+ <!-- XML codevoorbeelden zijn niet beschikbaar in de demo-versie -->
+
+
+
+ SwapObjectsIdsWidget
+
+
+ Change objects creation order
+
+
+
+
+ Create:
+ Aanmaken:
+
+
+
+
+ ID:
+ ID:
+
+
+
+ Before:
+ Voor:
+
+
+
+ Change the objects creation order is an irreversible operation and cause the operations history to be automatically erased. Note that the creation order configured in this form is not definitive and may change after a model validation.
+
+
+
+
+ Swap the object ids changing their creation order
+
+
+
+
+ Swap ids
+
+
+
+
+ Filter:
+ Filter:
+
+
+
+ ID
+ ID
+
+
+
+ Object
+ Object
+
+
+
+ Type
+ Type
+
+
+
+ Parent Object
+ Ouder Object
+
+
+
+ Parent Type
+ Ouder Type
+
+
+
+ Swap the values of the fields
+ Wissel de veldwaarden om
+
+
+
+ Swap values
+ Wissel de waarden om
+
+
+
+ Table
+
+
+ new_table
+ nieuwe_tabel
+
+
+
+ In demonstration version tables can have only `%1' instances of each child object type or ancestor tables! You've reach this limit for the type: `%2'
+ Tabellen kunnen slechts `%1' instancies per kind-object type of voorouder-tabellen hebben in demonstratie-versies! U heeft deze limiet bereikt voor het type `%2'
+
+
+
+ TableDataWidget
+
+
+ Edit table data
+
+
+
+
+ Add empty rows
+
+
+
+
+ Ins
+ Ins
+
+
+
+ Add an empty column
+
+
+
+
+ Delete rows
+
+
+
+
+ <html><head/><body><p>Empty values are assumed as <span style=" font-weight:600;">DEFAULT</span>. To use special values like <span style=" font-weight:600;">NULL</span>, a function call like <span style=" font-weight:600;">now()</span> or a specific data escaping, enclose values in two slashes, e.g., <span style=" font-weight:600;">/value/</span>. To use a slash as part of the value prepend the backslash character, e.g., <span style=" font-weight:600;">\/</span>.</p></body></html>
+
+
+
+
+ Remove all rows from the grid preserving columns
+
+
+
+
+ Shift+Del
+ Shift+Del
+
+
+
+ Delete the selected rows
+
+
+
+
+
+ Del
+ Del
+
+
+
+ Duplicate the selected rows
+
+
+
+
+ Ctrl+D
+
+
+
+
+ Delete the selected columns
+
+
+
+
+ Copy items on the grid
+
+
+
+
+ Copy
+
+
+
+
+ Add row
+
+
+
+
+ Delete column
+
+
+
+
+ Paste items on the grid
+
+
+
+
+ Paste
+ Plakken
+
+
+
+ Ctrl+V
+ Ctrl+V
+
+
+
+ Fills the grid using a CSV file
+
+
+
+
+ <html><head/><body><p>Some invalid or duplicated columns were detected. In order to solve this issue double-click the header of the highlighted ones in order to define the correct name in which the data belongs to or delete the entire column. Note that these columns are completely ignored when generating the <span style=" font-weight:600;">INSERT</span> commands.</p></body></html>
+
+
+
+
+ Add column
+
+
+
+
+ Duplicate rows
+
+
+
+
+ Change the values of all selected cells at once
+
+
+
+
+ Bulk data edit
+
+
+
+
+ Ctrl+E
+ Ctrl+E
+
+
+
+ Remove all columns (and rows) from the grid
+
+
+
+
+ Delete all columns
+
+
+
+
+ Ctrl+Shift+Del
+
+
+
+
+ Delete all rows
+
+
+
+
+ Delete columns is an irreversible action! Do you really want to proceed?
+
+
+
+
+ Remove all rows is an irreversible action! Do you really want to proceed?
+
+
+
+
+ Remove all columns is an irreversible action! Do you really want to proceed?
+
+
+
+
+
+ Unknown column
+
+
+
+
+ Duplicated column
+
+
+
+
+ TableObjectView
+
+
+
+Relationship: %1
+ Relatie: %1
+
+
+
+ TableWidget
+
+
+ Options
+ Opties
+
+
+
+ Tag:
+ Tag:
+
+
+
+ With OID
+ Met OID
+
+
+
+ Generate ALTER for columns/constraints
+ Genereer ALTER voor kolommen/constraints
+
+
+
+ Unlogged
+ Niet gelogged
+
+
+
+ Enable row level security
+
+
+
+
+ Force RLS for owner
+
+
+
+
+ &Columns
+
+
+
+
+ Co&nstraints
+
+
+
+
+ Tri&ggers
+
+
+
+
+ &Rules
+
+
+
+
+ &Indexes
+
+
+
+
+ &Policies
+
+
+
+
+ &Tables
+
+
+
+
+ Edit data
+
+
+
+
+ Define initial data for the table
+
+
+
+
+
+
+
+
+
+
+ Name
+ Naam
+
+
+
+ Schema
+ Schema
+
+
+
+
+
+ Type
+ Type
+
+
+
+ PK
+
+
+
+
+ Default Value
+ Standaardwaarde
+
+
+
+ Attribute(s)
+
+
+
+
+ It is not possible to mark a column as primary key when the table already has a primary key which was created by a relationship! This action should be done in the section <strong>Primary key</strong> of the relationship's editing form.
+
+
+
+
+ It is not possible to mark a column created by a relationship as primary key! This action should be done in the section <strong>Primary key</strong> of the relationship's editing form.
+
+
+
+
+ ON DELETE
+ ON DELETE
+
+
+
+ ON UPDATE
+ ON UPDATE
+
+
+
+ Refer. Table
+ Refer. Tabel
+
+
+
+ Firing
+ Afvuring
+
+
+
+ Events
+ Events
+
+
+
+ Execution
+ Uitvoering
+
+
+
+ Event
+ Event
+
+
+
+ Indexing
+ Indexering
+
+
+
+ Command
+
+
+
+
+ Permissive
+
+
+
+
+ USING expression
+
+
+
+
+ CHECK expression
+
+
+
+
+ Roles
+ Rollen
+
+
+
+ Parent
+ Ouder
+
+
+
+ Copy
+ Kopie
+
+
+
+ Yes
+ Ja
+
+
+
+ No
+ Nee
+
+
+
+ TablespaceWidget
+
+
+ Form
+ Venster
+
+
+
+ Directory:
+ Map:
+
+
+
+ TagWidget
+
+
+ Colors
+ Kleuren
+
+
+
+ Extended body:
+ Uitgebreide inhoud:
+
+
+
+ Body:
+ Inhoud:
+
+
+
+ Title:
+ Titel:
+
+
+
+ Schema name:
+ Schemanaam:
+
+
+
+ Table name:
+ Tabelnaam:
+
+
+
+ TaskProgressWidget
+
+
+ Executing tasks
+ Taken uitvoeren
+
+
+
+
+ Waiting task to start...
+ Wachten op het starten van de taak...
+
+
+
+ TextboxWidget
+
+
+ Font:
+ Lettertype:
+
+
+
+ Text
+ Tekst
+
+
+
+ pt
+ pt
+
+
+
+ Color:
+ Kleur:
+
+
+
+ Bold
+ Vet
+
+
+
+ Italic
+ Cursief
+
+
+
+ Underline
+ Onderstrepen
+
+
+
+ Select text color
+ Selecteer tekstkleur
+
+
+
+ TriggerWidget
+
+
+ Constraint
+ Constraint
+
+
+
+ Deferrable:
+ Uitstelbaar:
+
+
+
+ FOR EACH ROW
+ FOR EACH ROW
+
+
+
+ Event:
+ Event:
+
+
+
+ INSERT
+ INSERT
+
+
+
+ DELETE
+ DELETE
+
+
+
+ UPDATE
+ UPDATE
+
+
+
+ TRUNCATE
+ TRUNCATE
+
+
+
+ Refer. Table:
+ Refer. Tabel:
+
+
+
+ Condition:
+ Voorwaarde:
+
+
+
+ Arguments
+ Argumenten
+
+
+
+ Argument:
+ Argument:
+
+
+
+ Columns
+ Kolommen
+
+
+
+ Column:
+ Kolom:
+
+
+
+ Function:
+ Functie:
+
+
+
+ Options:
+ Opties:
+
+
+
+ Excution:
+ Uitvoer:
+
+
+
+ Column
+ Kolom
+
+
+
+ Type
+ Type
+
+
+
+ TypeWidget
+
+
+ Range
+ Omvang
+
+
+
+ Functions
+ Functies
+
+
+
+ INPUT:
+ INPUT:
+
+
+
+ OUTPUT:
+ OUTPUT:
+
+
+
+ RECV:
+ RECV:
+
+
+
+ SEND:
+ SEND:
+
+
+
+ TPMOD_IN:
+ TPMOD_IN:
+
+
+
+ TPMOD_OUT:
+ TPMOD_OUT:
+
+
+
+ ANALYZE:
+ ANALYZE:
+
+
+
+
+
+ Attributes
+ Attributen
+
+
+
+ Internal Length:
+ Interne lengte:
+
+
+
+ Storage:
+ Opslag:
+
+
+
+ Options:
+ Opties:
+
+
+
+ By value
+ Per waarde
+
+
+
+ Preferred
+ Voorkeur
+
+
+
+ Collatable
+ Sorteerbaar
+
+
+
+ Category:
+ Categorie:
+
+
+
+ Delimiter:
+ Delimiter:
+
+
+
+ Default Value:
+ Standaardwaarde:
+
+
+
+ Alignment:
+ Uitlijning:
+
+
+
+ integer
+ integer
+
+
+
+ char
+ char
+
+
+
+ smallint
+ smallint
+
+
+
+ double precision
+ double precision
+
+
+
+ Configuration:
+ Configuratie:
+
+
+
+ Base Type
+ Basistype
+
+
+
+ Enumeration
+ Enumeratie
+
+
+
+ Co&mposite
+
+
+
+
+ Enumerations
+ Enumeraties
+
+
+
+ Enumeration:
+ Enumeratie:
+
+
+
+ Name:
+ Naam:
+
+
+
+ Collation:
+ Sortering:
+
+
+
+ Subtype Diff Func.:
+ Subtype Diff Func.:
+
+
+
+ Operator Class:
+ Operator Klasse:
+
+
+
+ Canonical Func.:
+ Canonische Func.:
+
+
+
+ Like Type
+ Like type
+
+
+
+ Element Type
+ Elementtype
+
+
+
+ Subtype
+ Subtype
+
+
+
+ Name
+ Naam
+
+
+
+ Type
+ Type
+
+
+
+ Collation
+ Sortering
+
+
+
+ The functions to be assigned to a type should be written in C language and possess, respectively, the following signatures:<br/> <table> <tr> <td><strong>INPUT:</strong> <em>any function(cstring, oid, integer)</em></td> <td><strong>OUTPUT:</strong> <em>cstring function(any)</em></td> </tr> <tr> <td><strong>SEND:</strong> <em>byta function(any)</em></td> <td><strong>RECV:</strong> <em>any function(internal, oid, integer)</em></td> </tr> <tr> <td><strong>TPMOD_IN:</strong> <em>integer function(cstring[])</em></td> <td><strong>TPMOD_OUT:</strong> <em>cstring function(integer)</em></td> </tr> <tr> <td><strong>ANALYZE:</strong> <em>boolean function(internal)</em></td> <tr> </table>
+ De functies die worden toegewezen aan een type moeten in de C programmeertaal zijn geschreven en moeten, respectievelijk de volgende signatures bezitten:<br/> <table> <tr> <td><strong>INPUT:</strong> <em>any functie(cstring, oid, integer)</em></td> <td><strong>OUTPUT:</strong> <em>cstring functie(any)</em></td> </tr> <tr> <td><strong>SEND:</strong> <em>byta functie(any)</em></td> <td><strong>RECV:</strong> <em>any functie(internal, oid, integer)</em></td> </tr> <tr> <td><strong>TPMOD_IN:</strong> <em>integer functie(cstring[])</em></td> <td><strong>TPMOD_OUT:</strong> <em>cstring functie(integer)</em></td> </tr> <tr> <td><strong>ANALYZE:</strong> <em>boolean functie(internal)</em></td> <tr> </table>
+
+
+
+ The functions to be assigned to a range type should have the following signatures:<br/><br/><strong>Canonical:</strong> <em>any function(any)</em> <br/><strong>Subtype Diff:</strong> <em>double precision function(subtype, subtype)</em>
+ De functies die aan een omvang worden toegewezen moeten de volgende signatures bezitten:<br/><br/><strong>Canonish:</strong> <em>any functie(any)</em> <br/><strong>Subtype Diff:</strong> <em>double precision functie(subtype, subtype)</em>
+
+
+
+ UpdateNotifierWidget
+
+
+ Update Notifier
+ Update Aankondiging
+
+
+
+ Hide this widget
+ Verberg dit widget
+
+
+
+ ...
+ ...
+
+
+
+ Released in:
+ Releasedatum:
+
+
+
+ mmm dd, yyyy
+ mmm dd, yyyy
+
+
+
+ Update found!
+
+
+
+
+ New version:
+
+
+
+
+ 0.0.0
+ 0.0.0
+
+
+
+ Changelog
+ Aanpassingen
+
+
+
+ Redirects to purchase page.
+ Leidt naar de aankooppagina.
+
+
+
+ Get binary package
+ Verkrijg een binair pakket
+
+
+
+ Redirects to GitHub source repository.
+ Leidt naar de broncode op GitHub.
+
+
+
+ Get source code
+ Verkrijg de broncode
+
+
+
+
+ Failed to check updates
+ Het ophalen van update informatie faalde
+
+
+
+ The update notifier failed to check for new versions! Please, verify your internet connectivity and try again! Connection error returned: <em>%1</em> - <strong>%2</strong>.
+
+
+
+
+ No updates found
+ Geen nieuwe updates
+
+
+
+ You are running the most recent pgModeler version! No update needed.
+ Dit is de meest recente versie van pgModeler!
+
+
+
+ The update notifier failed to check for new versions! A HTTP status code was returned: <strong>%1</strong>
+ Het ophalen van nieuwe versie informatie faalde! De volgende HTTP status code werd gegenereerd: <strong>%1</strong>
+
+
+
+ ViewWidget
+
+
+ References
+ Referenties
+
+
+
+ Expression Alias:
+ Expressiealias:
+
+
+
+ Column:
+ Kolom:
+
+
+
+ Table:
+ Tabel:
+
+
+
+ Table Alias:
+ Tabelalias:
+
+
+
+ Used in:
+ Gebruikt in:
+
+
+
+ Column
+ Kolom
+
+
+
+ Expression
+ Expressie
+
+
+
+ Reference Type:
+ Referentietype:
+
+
+
+ View Definition
+ Viewdefinitie
+
+
+
+ Expression:
+ Expressie:
+
+
+
+ Column Alias:
+ Kolomalias:
+
+
+
+ The element will be used as part of the SELECT statement to retrieve columns or expressions that will compose the view's columns
+
+
+
+
+ SELECT ...
+
+
+
+
+ The element will be used as part of the WHERE clause in form of conditional expression
+
+
+
+
+ WHERE ...
+
+
+
+
+ The element is used in the FROM portion of the command in order to reference tables or construct JOIN statements
+
+
+
+
+ FROM ...
+
+
+
+
+ The element's expression is used exclusively as the view's definition
+
+
+
+
+ The element will be appended to the very end of the view's definition. This is useful when using GROUP BY/HAVING statements
+
+
+
+
+ End expression
+
+
+
+
+ Triggers
+ Triggers
+
+
+
+ Rules
+ Regels
+
+
+
+ Indexes
+ Indexen
+
+
+
+ Table Expression
+ Tabelexpressie
+
+
+
+ Code Preview
+ Codevoorbeeld
+
+
+
+ Options
+ Opties
+
+
+
+ Tag:
+ Tag:
+
+
+
+ Mode:
+ Modus:
+
+
+
+ Ordinary
+ Gewoon
+
+
+
+ Recursi&ve
+
+
+
+
+ &Materialized
+
+
+
+
+ With no data
+ Zonder data
+
+
+
+ Col./Expr.
+ Kol./Expr.
+
+
+
+ Alias
+ Alias
+
+
+
+ Alias Col.
+ Alias Kol.
+
+
+
+ Flags: SF FW AW EX VD
+
+
+
+
+ To reference all columns in a table (*) just do not fill the field <strong>Column</strong>, this is the same as write <em><strong>[schema].[table].*</strong></em>
+
+
+
+
+
+
+ Name
+ Naam
+
+
+
+ Refer. Table
+ Refer. Tabel
+
+
+
+ Firing
+ Afvuring
+
+
+
+ Events
+ Events
+
+
+
+ Indexing
+ Indexering
+
+
+
+ Execution
+ Uitvoering
+
+
+
+ Event
+ Event
+
+
+
+ /* Could not generate the SQL code. Make sure all attributes are correctly filled!
+ /* De SQL code kon niet worden gegenereerd. Kijk na of alle attributen correct zijn ingevuld!
+
+
+
+ WelcomeWidget
+
+
+ Form
+ Venster
+
+
+
+ New model
+ Nieuw model
+
+
+
+ Open model
+ Open model
+
+
+
+ Sample models
+ Voorbeeldmodellen
+
+
+
+ Recent models
+ Recente modellen
+
+
+
+ Last session
+ Vorige sessie
+
+
+
diff --git a/assets/lang/pt_BR.qm b/assets/lang/pt_BR.qm
new file mode 100644
index 0000000000..b3cecf0428
Binary files /dev/null and b/assets/lang/pt_BR.qm differ
diff --git a/assets/lang/pt_BR.ts b/assets/lang/pt_BR.ts
new file mode 100644
index 0000000000..acf6b624a1
--- /dev/null
+++ b/assets/lang/pt_BR.ts
@@ -0,0 +1,11243 @@
+
+
+
+
+ AboutWidget
+
+ About pgModeler
+ Sobre o pgModeler
+
+
+ PostgreSQL Database Modeler
+ Modelador de Banco de Dados PostgreSQL
+
+
+ Open source data modeling tool designed for PostgreSQL. No more DDL commands written by hand, let pgModeler do the job for you! This software reunites the concepts of entity-relationship diagrams and the features that PostgreSQL implements as extensions of SQL standards.
+
+
+
+ pgModeler is proudly a brazilian software!
+
+
+
+ Hide this widget
+
+
+
+ ...
+
+
+
+ (BUILD_NUM)
+
+
+
+ License
+
+
+
+ 0.0.0
+
+
+
+ build:
+
+
+
+ <html><head/><body><p><a href="http://pgmodeler.com.br"><span style=" text-decoration: underline; color:#2980b9;">https://pgmodeler.io</span></a></p></body></html>
+
+
+
+ <html><head/><body><p>Copyright 2006-2018 - Raphael Araújo e Silva <<a href="mailto:raphael@pgmodeler.com.br"><span style=" text-decoration: underline; color:#0057ae;">raphael@pgmodeler.io</span></a>></p></body></html>
+
+
+
+
+ AggregateWidget
+
+ Final Function:
+ Função Final:
+
+
+ Sort Operator:
+ Operador de Ordenação:
+
+
+ Initial Condition:
+ Condição Inicial:
+
+
+ Funtion Inputs
+ Entradas da Função
+
+
+ Function State
+ Estado da Função
+
+
+ Input Data Type
+ Tipo de Dados de Entrada
+
+
+ State Data Type
+ Tipo de Dado de Estado
+
+
+ An aggregate function that accepts the types <em><strong>typeA</strong></em> and <em><strong>typeB</strong></em> as input types and which type of state is <em><strong>state_type</strong></em>, must obey the following rules: <br/><br/> <strong> • Final Function:</strong> <em>void final_function(<strong>state_type</strong>)</em><br/> <strong> • Transition Function:</strong> <em><strong>state_type</strong> transition_function(<strong>state_type</strong>, <strong>typeA</strong>, <strong>typeB</strong>)</em>
+ Uma função de agregação que aceita os tipos <em><strong>tipoA</strong></em> e <em><strong>tipoB</strong></em> como entrada e cujo tipo de estado seja <em><strong>tipo_estado</strong></em>, deve obedecer às seguintes regras:<br/><br/> <strong> • Função Final:</strong> <em>void funcao_final(<strong>tipo_estado</strong>)</em><br/> <strong> • Função Transição:</strong> <em><strong>tipo_estado</strong> funcao_transicao(<strong>tipo_estado</strong>, <strong>tipoA</strong>, <strong>tipoB</strong>)</em>
+
+
+ Transition Func.:
+
+
+
+
+ AppearanceConfigWidget
+
+ Form
+ Formulário
+
+
+ Element:
+ Elemento:
+
+
+ Global: Font style
+ Global: Estilo de fonte
+
+
+ Global: Constraints descriptor
+ Global: Descritor de restrições
+
+
+ Global: Object selection
+ Global: Seleção de objetos
+
+
+ Global: Position hint text
+ Global: Texto do informativo de posição
+
+
+ Global: Position hint box
+ Global: Caixa do informativo de posição
+
+
+ Global: Objects type
+ Global: Tipo dos objetos
+
+
+ Global: Lock arc
+ Global: Arco do cadeado
+
+
+ Global: Lock body
+ Global: Corpo do cadeado
+
+
+ Table: Schema name
+ Tabela: Nome do esquema
+
+
+ Table: Table name
+ Tabela: Nome da tabela
+
+
+ Table: Columns box
+ Tabela: Caixa das colunas
+
+
+ Table: Extended attributes box
+ Tabela: Caixa dos atributos extendidos
+
+
+ Table: Title box
+ Tabela: Caixa do título
+
+
+ Rule: Name
+ Regra: Nome
+
+
+ Rule: Descriptor
+ Regra: Descritor
+
+
+ Index: Name
+ Índice: Nome
+
+
+ Index: Descriptor
+ Índice: Descritor
+
+
+ Trigger: Name
+ Gatilho: Nome
+
+
+ Trigger: Descriptor
+ Gatilho: Descritor
+
+
+ View: Schema name
+ Visão: Nome do esquema
+
+
+ View: View name
+ Visão: Nome da visão
+
+
+ View: References box
+ Visão: Caixa das referências
+
+
+ View: Title box
+ Visão: Caixa do título
+
+
+ View: Table / columns alias
+ Visão: Apelido da tabela / coluna
+
+
+ View: Referenced column
+ Visão: Coluna referenciada
+
+
+ View: Referenced table
+ Visão: Tabela referenciada
+
+
+ View: Reference descriptor
+ Visão: Descritor da referência
+
+
+ Textbox: Body
+ Caixa de Texto: Corpo
+
+
+ Column: Column name
+ Coluna: Nome da coluna
+
+
+ Column: Descriptor
+ Coluna: Descritor
+
+
+ Column: Included / Inherited by relationship
+ Coluna: Incluída / Herdada por relacionamento
+
+
+ Column: Protected
+ Coluna: Protegida
+
+
+ Column (pk): Column name
+ Coluna (pk): Nome da coluna
+
+
+ Column (pk): Descriptor
+ Coluna (pk): Descritor
+
+
+ Column (fk): Column name
+ Coluna (fk): Nome da coluna
+
+
+ Column (fk): Descriptor
+ Coluna (fk): Descritor
+
+
+ Column (uq): Column name
+ Coluna (uq): Nome da coluna
+
+
+ Column (uq): Descriptor
+ Coluna (uq): Descritor
+
+
+ Column (nn): Column name
+ Coluna (nn): Nome da coluna
+
+
+ Column (nn): Descriptor
+ Coluna (nn): Descritor
+
+
+ Relationship: Descriptor
+ Relacionamento: Descritor
+
+
+ Relationship: Label text
+ Relacionamento: Texto do rótulo
+
+
+ Relationship: Label box
+ Relacionamento: Caixa do rótulo
+
+
+ Relationship: Attribute text
+ Relacionamento: Texto do atributo
+
+
+ Relationship: Attribute descriptor
+ Relacionamento: Descritor do atributo
+
+
+ Font:
+ Fonte:
+
+
+ pt
+
+
+
+ Bold
+ Negrito
+
+
+ Italic
+ Itálico
+
+
+ Colors:
+ Cores:
+
+
+ Underline
+ Sublinhado
+
+
+ View: Extended attributes box
+ Visão: Caixa dos atributos extendidos
+
+
+ Tag: Name
+
+
+
+ Tag: Body
+
+
+
+ Placeholder: Body
+
+
+
+ Constraint: Name
+
+
+
+ Constraint: Descriptor
+
+
+
+
+ Application
+
+ Unknown exception caught!
+ Exceção desconhecida capturada!
+
+
+ Failed to create initial configuration in `%1'! Check if the current user has write permission over that path and at least read permission over `%2'.
+
+
+
+
+ BaseConfigWidget
+
+ A backup of the previous settings was saved into <strong>%1</strong>!
+
+
+
+
+ BaseForm
+
+ Dialog
+ Diálogo
+
+
+ &Apply
+ &Aplicar
+
+
+ &Cancel
+ &Cancelar
+
+
+ &Ok
+
+
+
+ %1 properties
+
+
+
+
+ BaseObject
+
+ Column
+ Coluna
+
+
+ Constraint
+ Restrição
+
+
+ Function
+ Função
+
+
+ Trigger
+ Gatilho
+
+
+ Index
+ Índice
+
+
+ Rule
+ Regra
+
+
+ Table
+ Tabela
+
+
+ View
+ Visão
+
+
+ Domain
+ Domínio
+
+
+ Schema
+ Esquema
+
+
+ Aggregate
+ Agregação
+
+
+ Operator
+ Operador
+
+
+ Sequence
+ Sequência
+
+
+ Role
+ Papel
+
+
+ Conversion
+ Conversão
+
+
+ Cast
+ Molde
+
+
+ Language
+ Linguagem
+
+
+ Type
+ Tipo
+
+
+ Tablespace
+ Espaço de Tabela
+
+
+ Operator Family
+ Família de Operadores
+
+
+ Operator Class
+ Classe de Operadores
+
+
+ Database
+ Banco de Dados
+
+
+ Relationship
+ Relacionamento
+
+
+ Textbox
+ Caixa de Texto
+
+
+ Permission
+ Permissão
+
+
+ Parameter
+ Parâmetro
+
+
+ Collation
+ Intercalação
+
+
+ Type Attribute
+ Atributo de Tipo
+
+
+ new_object
+
+ novo_objeto
+ novos_objetos
+
+
+
+ Extension
+
+
+
+ Event Trigger
+
+
+
+ Tag
+
+
+
+ Basic Relationship
+
+
+
+ Policy
+
+
+
+ Generic SQL
+
+
+
+
+ BaseObjectView
+
+ SQL off
+
+
+
+
+ BaseObjectWidget
+
+ Name:
+ Nome:
+
+
+ icone
+ Versão em inglês está errada!
+ ícone
+
+
+ Comment:
+ Comentário:
+
+
+ Tablespace:
+ Esp. de Tabela:
+
+
+ Owner:
+ Proprietário:
+
+
+ Schema:
+ Esquema:
+
+
+ This object is protected thus no change in form will be applied to it.
+ Este objeto está protegido, assim nenhuma alteração no formulário será aplicada ao mesmo.
+
+
+ Value(s)
+ Valor(es)
+
+
+ Version
+ Versão
+
+
+ Edit permissions
+ Editar permissões
+
+
+ Disable SQL code
+ Desabilitar código SQL
+
+
+ Collation:
+ Intercalação:
+
+
+ Required field. Leaving this empty will raise errors!
+ Campo requerido. Deixá-lo em branco gerará erros!
+
+
+ Edit object's permissions
+ Editar permissões do objeto
+
+
+ Disables the generated SQL code using comment tokens (--).
+This will disable the code of all child and referrer objects.
+
+
+
+ Append or prepend a set of SQL commands to the object's definition.
+
+
+
+ Custom SQL
+
+
+
+ ID:
+
+
+
+ The <em style='color: %1'><strong>highlighted</strong></em> fields in the form or one of their values are available only on specific PostgreSQL versions. Generating SQL code for versions other than those specified in the fields' tooltips may create incompatible code.
+
+
+
+
+ BaseRelationship
+
+ rel_%1_%2
+
+
+
+
+ BaseTableView
+
+ Toggles the extended attributes display
+
+
+
+ Connected rels: %1
+
+
+
+
+ BugReportForm
+
+ Bug Report
+
+
+
+ Bug report
+
+
+
+ &Cancel
+ &Cancelar
+
+
+ Create
+ Criar
+
+
+ Use the form below to generate a complete bug report. Please, try to be as clear as possible when describing the actions that can reproduce the bug. Additionally, it's important to attach a sample database model so that the bug can be quickly discovered and fixed!
+
+
+
+ Report
+ Relatório
+
+
+ Issue details
+
+
+
+ Output:
+
+
+
+ Select the report's output folder
+
+
+
+ ...
+
+
+
+ <html><head/><body><p>If you prefer it's possible to report this issue anytime on pgModeler's project repository at <a href="http://github.com/pgmodeler/pgmodeler/issues"><span style=" text-decoration: underline; color:#0057ae;">GitHub</span></a>. </p></body></html>
+
+
+
+ Database Model
+
+
+
+ Attach the below database model file to be debugged.
+
+
+
+ Attach a different database model
+
+
+
+ Bug report successfuly generated! Please, send the file <strong>%1</strong> to <em>%2</em> in order be analyzed. Thank you for the collaboration!
+
+
+
+ Load model
+ Carregar modelo
+
+
+ Database model (*.dbm);;All files (*.*)
+ Modelo de banco de dados (*.dbm);; Todos os arquivos (*.*)
+
+
+ Select report output folder
+
+
+
+
+ BulkDataEditWidget
+
+ Bulk data edit
+
+
+
+
+ CastWidget
+
+ Cast Type:
+ Molde de Tipo:
+
+
+ Assignment
+ Atribuição
+
+
+ Input / Output
+ Entrada / Saída
+
+
+ Source data type
+ Tipo dado origem
+
+
+ Target data type
+ Tipo dado destino
+
+
+ The function to be assigned to a cast from <em><strong>typeA</strong></em> to <em><strong>typeB</strong></em> must have the following signature: <em><strong>typeB</strong> function(<strong>typeA</strong>, integer, boolean)</em>.
+ A função a ser atribuída à uma moldagem do <em><strong>tipoA</strong></em> para o <em><strong>tipoB</strong></em> deve possuir a seguinte assinatura: <em><strong>tipoB</strong> funcao(<strong>tipoA</strong>, integer, boolean)</em>.
+
+
+ I&mplicit
+
+
+
+ Conversion Func.:
+ Função de Conv.:
+
+
+ E&xplicit
+
+
+
+
+ CodeCompletionWidget
+
+ Makes the widget closable only by ESC key or mouse click on other controls.
+
+
+
+ SQL Keyword
+
+
+
+ (no items found.)
+
+
+
+ Make &persistent
+
+
+
+
+ CollationWidget
+
+ Locale:
+ Localidade:
+
+
+ Encoding:
+ Codificação:
+
+
+ LC_COLLATE:
+
+
+
+ LC_CTYPE:
+
+
+
+ The fields <strong><em>Collation</em></strong>, <strong><em>Locale</em></strong>, <strong><em>LC_COLLATE & LC_CTYPE</em></strong> are mutually exclusive, so you have to set only one of them in order to properly handle a collation.
+ Os campos <strong><em>Intercalação</em></strong>, <strong><em>Localidade</em></strong>, <strong><em>LC_COLLATE & LC_CTYPE</em></strong> são mutuamente exclusivos, então você tem que definir apenas um deles a fim de manipular corretamente a intercalação.
+
+
+ Not defined
+ Não definido
+
+
+
+ ColorPickerWidget
+
+ Form
+ Formulário
+
+
+ Generate random color(s)
+
+
+
+ Alt+R
+
+
+
+ Select color
+
+
+
+
+ ColumnWidget
+
+ Default Value:
+ Valor Padrão:
+
+
+ E&xpression:
+
+
+
+ &NOT NULL
+
+
+
+ Se&quence:
+
+
+
+ Edit the underlying sequence's attributes
+
+
+
+ Edit sequence
+
+
+
+ Identity:
+
+
+
+
+ ConfigurationForm
+
+ pgModeler Configuration
+ Configuração do pgModeler
+
+
+ &Apply
+ &Aplicar
+
+
+ &Cancel
+ &Cancelar
+
+
+ Defaults
+ Padrões
+
+
+ General
+ Geral
+
+
+ Plug-ins
+ Plugins
+
+
+ Any modification made until now in the current section will be lost! Do you really want to restore default settings?
+ Qualquer modificação feita até agora na seção atual será perdida! Deseja realmente restaurar as configurações padrão?
+
+
+ Relationships
+
+
+
+ Appearance
+
+
+
+ Connections
+
+
+
+ Snippets
+
+
+
+ In some cases restore the default settings related to it may solve the problem. Would like to do that?
+
+
+
+ Restore
+
+
+
+
+ ConnectionsConfigWidget
+
+ Connections:
+ Conexões:
+
+
+ Create new connection
+ Criar nova conexão
+
+
+ Cancel edition
+ Cancelar edição
+
+
+ Edit selected connection
+ Editar conexão selecionada
+
+
+ Delete selected connection
+ Apagar conexão selecionada
+
+
+ Connection Alias:
+ Apelido da Conexão:
+
+
+ Connection DB:
+ BD Conexão:
+
+
+ Host/Port:
+ Servidor/Porta:
+
+
+ User:
+ Usuário:
+
+
+ Password:
+ Senha:
+
+
+ Timeout:
+ Tempo limite:
+
+
+ second(s)
+ segundo(s)
+
+
+ SSL Mode:
+ Modo SSL:
+
+
+ Disable
+ Desabilitar
+
+
+ Allow
+ Permitir
+
+
+ Require
+ Requerir
+
+
+ AC verification
+ Verificação de AC
+
+
+ Full verification
+ Verificação Completa
+
+
+ Client Certificate:
+ Certificado Cliente:
+
+
+ ~/.postgresql/postgresql.crt
+
+
+
+ Client Key:
+ Chave Cliente:
+
+
+ ~/.postgresql/postgresql.key
+
+
+
+ Root Certificate:
+ Certificado Raiz:
+
+
+ ~/.postgresql/root.crt
+
+
+
+ Revoked Certs.:
+ Cert. Revogados:
+
+
+ ~/.postgresql/root.crl
+
+
+
+ Force GSSAPI
+ Forçar GSSAPI
+
+
+ Add
+ Adicionar
+
+
+ Update
+ Atualizar
+
+
+ Test
+ Testar
+
+
+ Success
+ Sucesso
+
+
+ Edit database connections
+
+
+
+ Duplicate the selected connection
+
+
+
+ General
+ Geral
+
+
+ Other params:
+
+
+
+ Specify additional connection parameters in the form [param]=[value]. These parameters are described in the <strong>libpq</strong> chapter at PostgreSQL docs.
+
+
+
+ Default for:
+
+
+
+ Automatically browses the named database when using this connection to manage databases on <strong>Manage</strong> view.
+
+
+
+ Auto browse
+
+
+
+ Diff
+
+
+
+ Export
+ Exportar
+
+
+ Import
+
+
+
+ Validation
+
+
+
+ Security
+
+
+
+ Kerberos Server:
+
+
+
+ Indicates in which operations (diff, export, import or validation) the connection is used if none is explicitly specified by the user.
+
+
+
+ There is a connection being created or edited! Do you want to save it?
+
+
+
+ Found %1 connection(s)
+
+
+
+ No connections found
+
+
+
+ Edit connections
+
+
+
+ Connection successfully established!
+
+Server details:
+
+PID: `%1'
+Protocol: `%2'
+Version: `%3'
+
+
+
+
+ ConstraintWidget
+
+ Constraint Type:
+ Tipo de Restrição:
+
+
+ Fill Factor:
+ Fator Preenc.:
+
+
+ Match:
+ Confrontar:
+
+
+ Deferrable:
+ Postergável:
+
+
+ Deferral:
+ Postergação:
+
+
+ ON DELETE:
+
+
+
+ ON UPDATE:
+
+
+
+ Columns
+ Colunas
+
+
+ Column:
+ Coluna:
+
+
+ Referenced Columns
+ Colunas Referenciadas
+
+
+ Table:
+ Tabela:
+
+
+ Column
+ Coluna
+
+
+ Type
+ Tipo
+
+
+ No inherit:
+ Sem herança:
+
+
+ Exclude Elements
+ Excluir Elementos
+
+
+ Columns which were included by relationship can not be added / removed manually from the primary key. If done such changes they can raise errors. To create primary key using columns included by relationship use the following options: identifier field, attributes & constraints tab or primary key tab on the relationship form.
+ Colunas que foram incluídas por relacionamento não podem ser adicionadas / removidas manualmente da chave primária. Se tais alterações forem feitas elas podem gerar erros. Para criar chaves primárias usando colunas incluídas por relacionamentos use as seguintes opções: campo identificador, aba atributos & restrições ou aba chave primária no formulário de relacionamento.
+
+
+ This attribute cannot be changed once the object is created.
+
+
+
+ Expression:
+ Expressão:
+
+
+ Indexing:
+ Indexação:
+
+
+
+ ConversionWidget
+
+ Source Encoding:
+ Codificação Origem:
+
+
+ Target Encoding:
+ Codificação Destino:
+
+
+ Default Conversion:
+ Conversão Padrão:
+
+
+ The function to be assigned to an encoding conversion must have the following signature: <em>void function(integer, integer, cstring, internal, integer)</em>.
+ A função a ser atribuída a uma conversão de codificação deve possuir a seguinte assinatura: <em>void funcao(integer, integer, cstring, internal, integer)</em>.
+
+
+ Conversion Func.:
+ Função de Conv.:
+
+
+
+ CrashHandlerForm
+
+ Crash Handler
+
+
+
+ Stack trace
+ Rastreamento de pilha
+
+
+ Input:
+
+
+
+ Load report file for analysis
+
+
+
+ Save the attached model file on the filesystem
+
+
+
+ pgModeler bug report (*.bug);;All files (*.*)
+
+
+
+ Load report
+
+
+
+ Save model
+ Salvar modelo
+
+
+ Database model (*.dbm);;All files (*.*)
+ Modelo de banco de dados (*.dbm);; Todos os arquivos (*.*)
+
+
+ Crash handler
+
+
+
+ Bug report analysis mode activated.
+
+
+
+ Oops! pgModeler just crashed!
+ Oopa! O pgModeler acaba de travar!
+
+
+ We apologize for what happened! It is clear that a nasty bug caused that. Please fill out the form below describing your actions before pgModeler quit unexpectedly. This will help on bug extermination and improve the software.
+
+
+
+
+ CsvLoadWidget
+
+ Form
+ Formulário
+
+
+ Load CSV
+
+
+
+ CSV File:
+
+
+
+ Select output file
+
+
+
+ ...
+
+
+
+ Separator:
+
+
+
+ Use the first row as column names in the CSV file. By unchecking this option the first row is used as data.
+
+
+
+ Columns in the first row
+
+
+
+ Load
+ Carregar
+
+
+ Semicolon (;)
+
+
+
+ Comma (,)
+
+
+
+ Space
+
+
+
+ Tabulation
+
+
+
+ Other
+
+
+
+ ;
+
+
+
+ Text delimiter:
+
+
+
+ "
+
+
+
+ Load CSV file
+
+
+
+ Comma-separted values (*.csv);;All files (*.*)
+
+
+
+
+ CustomSQLWidget
+
+ Add custom SQL code
+
+
+
+ SQL code
+
+
+
+ Puts an SELECT command template at current cursor position.
+
+
+
+ &SELECT
+
+
+
+ Puts an INSERT command template at current cursor position.
+
+
+
+ &INSERT
+
+
+
+ Puts an UPDATE command template at current cursor position.
+
+
+
+ &UPDATE
+
+
+
+ Puts an DELETE command template at current cursor position.
+
+
+
+ &DELETE
+
+
+
+ &Clear
+
+
+
+ Append SQL
+
+
+
+ Append the SQL code at the very end of model definition.
+Unchecking this will cause the SQL to be appended at the end of CREATE DATABASE command.
+
+
+
+ Append at end of model definition.
+
+
+
+ Prepend SQL
+
+
+
+ Prepend at beginning of model definition.
+
+
+
+ <html><head/><body><p>Use custom commands with extreme caution because you can change the semantics of the entire model when running SQL validation or export processes. Additionally, depending on the amount of commands, those processes can have their performance sensibly degradated.</p></body></html>
+
+
+
+ Generic INSERT
+
+
+
+ Include serial columns
+
+
+
+ Exclude serial columns
+
+
+
+ Generic SELECT
+
+
+
+ Table SELECT
+
+
+
+ Generic UPDATE
+
+
+
+ Table UPDATE
+
+
+
+ Generic DELETE
+
+
+
+ Table DELETE
+
+
+
+
+ DataManipulationForm
+
+ Data Manipulation
+
+
+
+ &Close
+ &Fechar
+
+
+ Refresh listing
+
+
+
+ F5
+
+
+
+ Save changes
+
+
+
+ Ctrl+S
+
+
+
+ Export results to CSV file
+
+
+
+ Ctrl+X
+
+
+
+ Undo modifications
+
+
+
+ Ctrl+Z
+
+
+
+ Add empty rows
+
+
+
+ Ins
+
+
+
+ Mark the selected rows to be deleted
+
+
+
+ Del
+
+
+
+ Duplicate the selected rows
+
+
+
+ Ctrl+D
+
+
+
+ Filter the result set
+
+
+
+ Table:
+ Tabela:
+
+
+ Schema:
+ Esquema:
+
+
+ in
+
+
+
+ Hide views
+
+
+
+ Filter expression
+
+
+
+ Order && Limit
+
+
+
+ results (Use <strong>0</strong> for no limit)
+
+
+
+ Limit in:
+
+
+
+ Add Item
+ Adicionar Item
+
+
+ Remove Item
+ Remover Item
+
+
+ Clear the order by columns list
+
+
+
+ Move selected item up
+
+
+
+ Move selected item down
+
+
+
+ ASC
+
+
+
+ DESC
+
+
+
+ Column:
+ Coluna:
+
+
+ <strong>WARNING: </strong> There are some changed rows waiting the commit! Do you really want to discard them and retrieve the data now?
+
+
+
+ Rows returned: <strong>%1</strong>
+
+
+
+ <em>(Limit: <strong>%1</strong>)</em>
+
+
+
+ none
+
+
+
+ No objects found
+
+
+
+ Found %1 object(s)
+
+
+
+ Views can't have their data handled through this grid, this way, all operations are disabled.
+
+
+
+ The selected table doesn't owns a primary key! Updates and deletes will be performed by considering all columns as primary key. <strong>WARNING:</strong> those operations can affect more than one row.
+
+
+
+ This row is marked to be %1
+
+
+
+ deleted
+
+
+
+ updated
+
+
+
+ inserted
+
+
+
+ [binary data]
+
+
+
+ <strong>WARNING:</strong> Once commited its not possible to undo the changes! Proceed with saving?
+
+
+
+ delete
+
+
+
+ update
+
+
+
+ insert
+
+
+
+ <html><head/><body><p>Empty values are assumed as <span style=" font-weight:600;">DEFAULT</span>. To use special values like <span style=" font-weight:600;">NULL</span>, a function call like <span style=" font-weight:600;">now()</span> or a specific data escaping, enclose values in two slashes, e.g., <span style=" font-weight:600;">/value/</span>. To use a slash as part of the value prepend the backslash character, e.g., <span style=" font-weight:600;">\/</span>.</p></body></html>
+
+
+
+ Copy items on the grid
+
+
+
+ Paste items on the grid
+
+
+
+ Ctrl+V
+
+
+
+ Browse referenced tables
+
+
+
+ Change the values of all selected cells at once
+
+
+
+ Ctrl+E
+
+
+
+ Add new rows from a CSV file
+
+
+
+ Copy as CSV
+
+
+
+ Copy as text
+
+
+
+ Copy items
+
+
+
+ Pase items
+
+
+
+ Browse tables
+
+
+
+ Duplicate row(s)
+
+
+
+ Delete row(s)
+
+
+
+ Edit cell(s)
+
+
+
+ Column
+ Coluna
+
+
+ Referenced tables
+
+
+
+ (none)
+
+
+
+ Referrer tables
+
+
+
+
+ DatabaseExplorerWidget
+
+ Form
+ Formulário
+
+
+ Open the grid to visualize or edit data
+
+
+
+ Data &Grid
+
+
+
+ Alt+G
+
+
+
+ Open a new SQL execution pane
+
+
+
+ ...
+
+
+
+ Ctrl+F6
+
+
+
+ Update the objects tree
+
+
+
+ Drop this database
+
+
+
+ Expands all items
+ Expandir todos os itens
+
+
+ Collapses all items
+ Recolher todos os itens
+
+
+ Filters the currently loaded items in the tree by using a pattern and matching their names. If <strong>By OID</strong> is checked the pattern is interpreted as an integer value that represents the object id (OID). <br><br/><strong>HINT:</strong> if you need to search the entire database use the full refresh (<strong>Ctrl+F5</strong>) prior the filtering.
+
+
+
+ Filter:
+
+
+
+ By OID
+
+
+
+ Attribute
+ Atributo
+
+
+ Value
+
+
+
+ Show raw attributes
+
+
+
+ (not found, OID: %1)
+
+
+
+ -- Source code not generated! Hit F7 or middle-click the item to load it. --
+
+
+
+ Admin. roles
+
+
+
+ Alignment
+
+
+
+ Analyze func.
+
+
+
+ Arg. count
+
+
+
+ Arg. default count
+
+
+
+ Arg. defaults
+
+
+
+ Arg. modes
+
+
+
+ Arg. names
+
+
+
+ Arg. types
+
+
+
+ Behavior type
+
+
+
+ By value
+ Por valor
+
+
+ Cast type
+
+
+
+ Category
+
+
+
+ Collatable
+ Intercalável
+
+
+ Collation
+ Intercalação
+
+
+ Comment
+
+
+
+ Commutator Op.
+
+
+
+ Configuration
+
+
+
+ Conn. limit
+
+
+
+ Constraint
+ Restrição
+
+
+ Create DB
+
+
+
+ Create role
+
+
+
+ Curr. version
+
+
+
+ Default
+ Padrão
+
+
+ Default value
+
+
+
+ Definition
+ Definição
+
+
+ Delimiter
+
+
+
+ Dest. type
+
+
+
+ Dimension
+ Dimensão
+
+
+ Directory
+
+
+
+ Dest. encoding
+
+
+
+ Element
+ Elemento
+
+
+ Encoding
+
+
+
+ Encrypted
+ Encriptado
+
+
+ Enumerations
+ Enumerações
+
+
+ Exec. cost
+
+
+
+ Expression
+ Expressão
+
+
+ Op. family
+
+
+
+ Final func.
+
+
+
+ Function
+ Função
+
+
+ Func. type
+
+
+
+ Handler func.
+
+
+
+ Handles type
+
+
+
+ Hashes
+
+
+
+ Index type
+
+
+
+ Inherit
+
+
+
+ Ini. condition
+
+
+
+ Inline func.
+
+
+
+ Input func.
+
+
+
+ Internal length
+
+
+
+ Interval type
+
+
+
+ I/O cast
+
+
+
+ Join func.
+
+
+
+ Language
+ Linguagem
+
+
+ LC COLLATE
+
+
+
+ LC CTYPE
+
+
+
+ Leak proof
+
+
+
+ Left type
+
+
+
+ Length
+ Comprimento
+
+
+ Library
+ Biblioteca
+
+
+ Can login
+
+
+
+ Materialized
+
+
+
+ Member roles
+
+
+
+ Merges
+
+
+
+ Name
+ Nome
+
+
+ Negator op.
+
+
+
+ Not null
+
+
+
+ Object type
+
+
+
+ OID
+
+
+
+ With OIDs
+
+
+
+ Old version
+
+
+
+ Operator
+ Operador
+
+
+ Operator func.
+
+
+
+ Output func.
+
+
+
+ Owner
+
+
+
+ Owner column
+
+
+
+ Parents
+
+
+
+ Password
+
+
+
+ Permissions
+ Permissões
+
+
+ Precision
+ Precisão
+
+
+ Preferred
+ Preferido
+
+
+ Range attributes
+
+
+
+ Receive func.
+
+
+
+ Ref. roles
+
+
+
+ Replication
+
+
+
+ Restriction func.
+
+
+
+ Return type
+
+
+
+ Returns SETOF
+
+
+
+ Right type
+
+
+
+ Rows amount
+
+
+
+ Schema
+ Esquema
+
+
+ Security type
+
+
+
+ Send func.
+
+
+
+ Sort op.
+
+
+
+ Source type
+
+
+
+ Src. encoding
+
+
+
+ State type
+
+
+
+ Storage
+ Armazenamento
+
+
+ Superuser
+ Superusuário
+
+
+ Tablespace
+ Espaço de Tabela
+
+
+ Type mod. in func.
+
+
+
+ Type mod. out func.
+
+
+
+ Transition func.
+
+
+
+ Trusted
+
+
+
+ Type
+ Tipo
+
+
+ Type attribute
+
+
+
+ Types
+
+
+
+ Unlogged
+
+
+
+ Validator func.
+
+
+
+ Validity
+ Validade
+
+
+ Windows func.
+
+
+
+ false
+
+
+
+ true
+
+
+
+ Cache value
+
+
+
+ Cycle
+
+
+
+ Increment
+
+
+
+ Max. value
+
+
+
+ Min. value
+
+
+
+ Start value
+
+
+
+ Last value
+
+
+
+ Subtype
+ Subtipo
+
+
+ Op. class
+
+
+
+ Canonical func.
+
+
+
+ Subtype diff func.
+
+
+
+ Deferrable
+
+
+
+ For each row
+
+
+
+ Firing
+ Disparo
+
+
+ On insert
+
+
+
+ On delete
+
+
+
+ On update
+
+
+
+ On truncate
+
+
+
+ Arguments
+ Argumentos
+
+
+ Table
+ Tabela
+
+
+ Trigger func.
+
+
+
+ Columns
+ Colunas
+
+
+ Condition
+
+
+
+ Deferment
+
+
+
+ Event
+ Evento
+
+
+ Execution mode
+
+
+
+ Commands
+
+
+
+ Position
+
+
+
+ Comparison type
+
+
+
+ Ref. columns
+
+
+
+ Expressions
+
+
+
+ Fill factor
+
+
+
+ No inherit
+
+
+
+ Op. classes
+
+
+
+ Operators
+ Operadores
+
+
+ Ref. table
+
+
+
+ Unique
+ Único
+
+
+ Predicate
+
+
+
+ Collations
+
+
+
+ Inherited
+
+
+
+ Snippets
+
+
+
+ Drop object
+
+
+
+ Drop cascade
+
+
+
+ Truncate
+
+
+
+ Trunc. cascade
+
+
+
+ Show data
+
+
+
+ Reload properties
+
+
+
+ Update
+ Atualizar
+
+
+ Rename
+ Renomear
+
+
+ Source code
+
+
+
+ Quick refresh
+
+
+
+ Full refresh
+
+
+
+ Do you really want to drop the object <strong>%1</strong> <em>(%2)</em>?
+
+
+
+ Do you really want to <strong>cascade</strong> drop the object <strong>%1</strong> <em>(%2)</em>? This action will drop all the other objects that depends on it.
+
+
+
+ Do you really want to truncate the table <strong>%1</strong>?
+
+
+
+ Do you really want to <strong>cascade</strong> truncate the table <strong>%1</strong>? This action will truncate all the tables that depends on it?
+
+
+
+ Src. table: %1
+Src. column(s): %2
+
+
+
+ Ref. table: %1
+Ref. column(s): %2
+
+
+
+ -- Source code genaration for buil-in and base types currently unavailable --
+
+
+
+ -- Source code unavailable for the object %1 (%2). --
+
+
+
+ Toggle the display of filter widget as well the system/extension objects.
+
+
+
+ Sort items alphabetically. When unchecked, items are sorted by OID.
+
+
+
+ Sort alphabetically
+
+
+
+ Client encoding
+
+
+
+ Configuration file
+
+
+
+ Data directory
+
+
+
+ Dynamic library path
+
+
+
+ Dynamic shared memory
+
+
+
+ Hba file
+
+
+
+ Listen addresses
+
+
+
+ Max. connections
+
+
+
+ Listen port
+
+
+
+ Server encoding
+
+
+
+ SSL
+
+
+
+ SSL ca file
+
+
+
+ SSL cert file
+
+
+
+ SSL crl file
+
+
+
+ SSL key file
+
+
+
+ Server version
+
+
+
+ Ident file
+
+
+
+ Password encryption
+
+
+
+ Connection ID
+
+
+
+ Server PID
+
+
+
+ Server protocol
+
+
+
+ Referrers
+
+
+
+ Identity
+
+
+
+ Command
+
+
+
+ USING expr.
+
+
+
+ CHECK expr.
+
+
+
+ Roles
+ Papéis
+
+
+ RLS enabled
+
+
+
+ RLS forced
+
+
+
+ Show objects filter
+
+
+
+ Show system objects
+
+
+
+ Show extension objects
+
+
+
+ -- Source code unavailable for this kind of object --
+
+
+
+ Also restart sequences
+
+
+
+ Warning
+
+
+
+ You're running a demonstration version! The data manipulation feature is available only in the full version!
+
+
+
+ <strong>CAUTION:</strong> You are about to drop the entire database <strong>%1</strong>! All data will be completely wiped out. Do you really want to proceed?
+
+
+
+
+ DatabaseImportForm
+
+ Settings
+
+
+
+ Options
+
+
+
+ Connection:
+ Conexão:
+
+
+ Resolve some of the object's dependencies by querying the catalog when a needed object does not exists on the loaded set. In some cases it's necessary to combine this option with others below. This option does not applies to database level objects like role, tablespace and language as well for data types, extensions.
+
+
+
+ Automatically resolve dependencies
+
+
+
+ Random colors will be assigned to imported relationships facilitating the identification of links between tables mainly in large models.
+
+
+
+ Random colors for relationships
+
+
+
+ Enables the import of system built-in objects. It's recommend to select only those objects that are directly referenced by the ones to be imported. WARNING: Try to import a huge set of system objects can bloat the resultant model or even crash pgModeler due to memory/cpu overuse.
+
+
+
+ Import system objects
+
+
+
+ Enables the import of objects created by extensions. Generally there is no need to check this option but if there are objects in the database that directly references this category of objects this mode must be enabled.
+
+
+
+ Import extension objects
+
+
+
+ pgModeler ignores import errors and will try to create as many as possible objects. By checking this option the import operation will be not aborted but an incomplete model will be constructed. This option generates a log file on pgModeler's temp directory.
+
+
+
+ Ignore import errors
+
+
+
+ All catalog queries as well the created objects' source code are printed to standard output (stdout).
+
+
+
+ Debug mode
+
+
+
+ Create all imported objects in the current working model instead of create a new one.
+
+
+
+ Import objects to the working model
+
+
+
+ Database
+ Banco de Dados
+
+
+ Filter:
+
+
+
+ Filter object by it's OID
+
+
+
+ By OID
+
+
+
+ Select all objects
+
+
+
+ ...
+
+
+
+ Clear object selection
+
+
+
+ Expands all items
+ Expandir todos os itens
+
+
+ Collapses all items
+ Recolher todos os itens
+
+
+ Output
+
+
+
+ Progress label...
+ Rótulo de progresso...
+
+
+ Cancel
+ Cancelar
+
+
+ &Import
+
+
+
+ &Close
+ &Fechar
+
+
+ <strong>ATTENTION:</strong> You are about to import objects to the current working model! This action will cause irreversible changes to it even in case of critical errors during the process. Do you want to proceed?
+
+
+
+ Importing process aborted!
+
+
+
+ Importing process canceled by user!
+
+
+
+ Importing process sucessfuly ended!
+
+
+
+ No databases found
+
+
+
+ Found %1 database(s)
+
+
+
+ Retrieving objects from database...
+
+
+
+ Retrieving cluster level objects...
+
+
+
+ Retrieving objects of schema `%1'...
+
+
+
+ This is a PostgreSQL built-in data type and cannot be imported.
+
+
+
+ This is a pgModeler's built-in object. It will be ignored if checked by user.
+
+
+
+ Import database
+
+
+
+ Retrieving objects of `%1' (%2)...
+
+
+
+
+ DatabaseImportHelper
+
+ Retrieving system objects... `%1'
+
+
+
+ Retrieving objects... `%1'
+
+
+
+ Creating object `%1' (%2)...
+
+
+
+ Import failed to recreate some objects in `%1' tries.
+
+
+
+ Creating permissions for object `%1' (%2)...
+
+
+
+ Creating columns permissions...
+
+
+
+ Updating relationships of `%1' (%2)...
+
+
+
+ Validating relationships...
+
+
+
+ The database import ended but some errors were generated and saved into the log file `%1'. This file will last until pgModeler quit.
+
+
+
+ Creating table inheritances...
+
+
+
+ Destroying unused detached columns...
+
+
+
+ Assigning sequences to columns...
+
+
+
+ Creating object `%1' (%2), oid `%3'...
+
+
+
+ Trying to recreate object `%1' (%2), oid `%3'...
+
+
+
+
+ DatabaseModel
+
+ The demonstration version can create only `%1' instances of each object type! You've reach this limit for the type: `%2'
+
+
+
+ Loading: `%1' (%2)
+
+
+
+ Validating relationships...
+
+
+
+ Saving object `%1' (%2)
+
+
+
+ Saving metadata of the object `%1' (%2)
+
+
+
+ Metadata file successfully saved!
+
+
+
+ Process successfully ended but no metadata was saved!
+
+
+
+ Creating object `%1' (%2)
+
+
+
+ Object `%1' (%2) already exists. Ignoring.
+
+
+
+ Loading metadata for object `%1' (%2)
+
+
+
+ Object `%1' (%2) not found. Ignoring metadata.
+
+
+
+ Metadata file successfully loaded!
+
+
+
+ Generating %1 code: `%2' (%3)
+
+
+
+
+ DatabaseWidget
+
+ Template DB:
+ DB Modelo:
+
+
+ Model Author:
+ Autor do Modelo:
+
+
+ Encoding:
+ Codificação:
+
+
+ LC_COLLATE:
+
+
+
+ Connections:
+ Conexões:
+
+
+ LC_CTYPE:
+
+
+
+ Default
+ Padrão
+
+
+ Attributes
+ Atributos
+
+
+ Default Objects
+
+
+
+ Tablespace:
+ Esp. de Tabela:
+
+
+ Schema:
+ Esquema:
+
+
+ Collation:
+ Intercalação:
+
+
+ Owner:
+
+
+
+ The fields <strong>LC_COLLATE</strong> and <strong>LC_CTYPE</strong> have pre-configured values based upon the running system. You can freely modify those values if you intend to export the model to another host.
+
+
+
+ Use the above fields to specify the default attributes assigned to new objects created on the database model. Leaving a field empty will cause PostgreSQL to use the default values when exporting the model.
+
+
+
+ Options:
+ Opções:
+
+
+ Allow connections
+
+
+
+ Is template
+
+
+
+
+ DomainWidget
+
+ Default Value:
+ Valor Padrão:
+
+
+ Name:
+ Nome:
+
+
+ Attributes
+ Atributos
+
+
+ Not null
+
+
+
+ Check constraints
+
+
+
+ Expression:
+ Expressão:
+
+
+ Name
+ Nome
+
+
+ Expression
+ Expressão
+
+
+
+ DonateWidget
+
+ Form
+ Formulário
+
+
+ Donate to pgModeler
+
+
+
+ Hide this widget
+
+
+
+ ...
+
+
+
+ <html><head/><body><p>pgModeler is brought to you thanks to a <span style=" font-style:italic;">great effort to create and distribute a quality product</span>. This project is reaching out levels of maturity never imagined. All this is the result of a joint work between its author and the <span style=" font-weight:600;">Open Source community</span>. <br/><br/>This software has a long way to go yet and with your help we'll keep maintaining the good job and bringing new improvements on each release. If you did like pgModeler and thinks it deserves a contribution please make a donation!</p></body></html>
+
+
+
+ I want to help!
+
+
+
+
+ ElementsWidget
+
+ Form
+ Formulário
+
+
+ Column:
+ Coluna:
+
+
+ Expression:
+ Expressão:
+
+
+ Collation:
+ Intercalação:
+
+
+ Operator Class:
+ Classe de Operadores:
+
+
+ Operator:
+ Operador:
+
+
+ Sorting:
+ Ordenação:
+
+
+ Ascending
+ Ascendente
+
+
+ Descending
+ Descendente
+
+
+ Nulls first
+ Nulos primeiro
+
+
+ Element
+ Elemento
+
+
+ Type
+ Tipo
+
+
+ Operator Class
+ Classe de Operadores
+
+
+ Sorting
+ Ordenação
+
+
+ Nulls First
+ Nulos Primeiro
+
+
+ Collation
+ Intercalação
+
+
+ Operator
+ Operador
+
+
+ Expression
+ Expressão
+
+
+ Yes
+ Sim
+
+
+ No
+ Não
+
+
+
+ EventTriggerWidget
+
+ Event:
+ Evento:
+
+
+ Function:
+ Função:
+
+
+ Filter
+
+
+
+ Tag:
+
+
+
+ Tag command
+
+
+
+
+ Exception
+
+ Assignment of a pseudo-type to the type of the column!
+ Atribuição de um pseudo-tipo ao tipo da coluna!
+
+
+ Assignment of a precision greater than the length of the type!
+ Atribuição de precisão maior do que o comprimento do tipo!
+
+
+ Assignment of an invalid precision to type time, timestamp or interval. The precision in this case must be equal to or less than 6!
+ Atribuição de precisão inválida a um tipo time, timestamp ou interval. A precisão neste caso deve ser igual ou inferior a 6!
+
+
+ Reference to a column which index is out of the capacity of the column list!
+ Referência a uma coluna com índice fora da capacidade da lista de colunas!
+
+
+ Assignment of not allocated object!
+ Atribuição de um objeto não alocado!
+
+
+ Removing an object of an invalid type!
+ Remoção de objeto de tipo inválido!
+
+
+ Obtaining an object of an invalid type!
+ Obtenção de um objeto com tipo inválido!
+
+
+ Assignment of empty name to table return type!
+ Atribuição de nome vazio ao tipo de retorno de tabela!
+
+
+ Reference to an event which does not belongs to trigger!
+ Referência a um evento não pertecente ao gatilho!
+
+
+ Assignment of a function which language is invalid!
+ Atribuição de função com linguagem inválida!
+
+
+ Assignment of empty name to an object!
+ Atribuição de nome vazio a um objeto!
+
+
+ Assignment of schema object which type is invalid!
+ Atribuição de um objeto esquema com tipo inválido!
+
+
+ Assignment of tablespace object with invalid type!
+ Atribuição de objeto espaço de tabela com tipo inválido!
+
+
+ Assignment of tablespace to an invalid object!
+ Atribuição de um espaço de tabela a um objeto de tipo inválido!
+
+
+ Assignment of tablespace to a constraint which type is invalid! To belong to a tablespace the constraint must be a primary key or unique!
+ Atribuição de um objeto espaço de tabela a uma restrição de tipo inválido! A restrição deve ser uma chave-primária ou única para pode pertencer a um espaço de tabela!
+
+
+ Assignment of owner object which type is invalid!
+ Atribuição de um objeto papel com tipo inválido!
+
+
+ Assignment of owner to an invalid object!
+ Atribuição de um dono a um objeto de tipo inválido!
+
+
+ Reference to a function with invalid type!
+ Referência a uma função com tipo inválido!
+
+
+ Reference to an argument of the operator with invalid type!
+ Referência a um argumento do operador com tipo inválido!
+
+
+ Reference to an operator with invalid type!
+ Referência a um operador com tipo inválido!
+
+
+ Reference to an invalid role type!
+ Referência a um tipo de papel inválido!
+
+
+ Assignment of an object that already belongs to another table!
+ Atribuição de um objeto o qual já pertence a outra tabela!
+
+
+ Assignment of a schema to the sequence which differs from the schema of the owner table!
+ Atribuição de esquema à seqüência o qual difere do esquema da tabela possuidora!
+
+
+ Assignment of an invalid value to one of the sequence attributes!
+ Atribuição de valor inválido a um dos atributos da seqüência!
+
+
+ Assignment of a minimum value to the sequence which is greater than the maximum value!
+ Atribuição de valor mínimo da seqüência maior do que o valor máximo!
+
+
+ Assignment of a null increment value to the sequence!
+ Atribuição de incremento de seqüência com valor nulo!
+
+
+ Assignment of null cache value to the sequence!
+ Atribuição de cache de seqüência com valor nulo!
+
+
+ Allocation of object with invalid type!
+ Alocação de objeto com tipo inválido!
+
+
+ Assignment of not allocated language!
+ Atribuição de linguagem não alocada!
+
+
+ Assignment of language object which type is invalid!
+ Atribuição de linguagem com tipo inválido!
+
+
+ Reference to data type with an index outside the capacity of data types list!
+ Referência a tipo de dado com índice fora da capacidade da lista de tipos de dados!
+
+
+ Assignment of invalid type to the object!
+ Atribuição de um tipo inválido ao objeto!
+
+
+ Obtaining types with invalid quantity!
+ Obtenção de tipos com quantidade inválida!
+
+
+ Insertion of item which already exists in the attributes list of the type!
+ Inserção de item já existente na lista de atibutos do tipo!
+
+
+ Insertion of invalid item in the attributes list of the type!
+ Inserção de item inválido na lista de atibutos do tipo!
+
+
+ Insertion of item which already exists in the enumarations list of the type!
+ Inserção de item já existente na lista de enumerações do tipo!
+
+
+ Insertion of invalid item in the enumerations list of the type!
+ Inserção de item inválido na lista de emumerações do tipo!
+
+
+ Assignment of invalid configuration to the type!
+ Atribuição de configuração inválida ao tipo!
+
+
+ Assignment of an invalid strategy/support number to an operator class element!
+ Atribuição de valor inválido ao número de estratégia/suporte do elemento de classe de operadores!
+
+
+ Insertion of element which already exists in the element list!
+ Inserção de elemento já existente na lista de elementos!
+
+
+ Removal of an object not allocated!
+ Remoção de objeto não alocado!
+
+
+ Operation with object(s) which type(s) is invalid!
+ Operação com objeto(s) de tipo(s) inválido(s)!
+
+
+ Reference to object with invalid type!
+ Referência a um objeto com tipo inválido!
+
+
+ Operation with object not allocated!
+ Operação com objeto não alocado!
+
+
+ The relationship of the type 1-1 where both tables are mandatory participation is not implemented because it requires fusion between the tables that breaks the modeling done by the user!
+ O relacionamento do tipo 1-1 onde ambas as tabelas são de participação obrigatória não é implementado por necessitar de fusão entre tabelas o que quebra a modelagem feita pelo usuário!
+
+
+ Assignment of an invalid expression to the object!
+ Atribuição de expressão inválida ao objeto!
+
+
+ Assignment of a primary key to a table which already has one!
+ Atribuição de chave primária à uma tabela a qual já possui uma!
+
+
+ A foreign key can not be added to a relationship because is created automatically when this is connected!
+ Uma chave estrangeira não pode ser adicionado a um relacionamento pois esta é criada automaticamente no momento da ligação do mesmo!
+
+
+ Reference to an user-defined data type that not exists in the model!
+ Referência a tipo de dado definido pelo usuário o qual não existe no modelo!
+
+
+ Assignment of invalid maximum size to operation list!
+ Atribuição de tamanho máximo inválido à lista de operações!
+
+
+ One or more objects were invalidated and automatically removed because they were referencing table columns which were included through relationships and which no longer exists due to disconnection of relationships or exclusion of such generated columns!
+ Um ou mais objetos foram invalidados e automaticamente removidos pois os mesmos referenciavam colunas de tabelas as quais foram incluídas através de relacionamentos e que deixaram de existir devido a desconexão ou exclusão dos relacionamentos geradores de tais colunas!
+
+
+ Reference to an invalid privilege type!
+ Referência a um tipo de privilégio inválido!
+
+
+ Assignment of privilege incompatible with the type of object referenced by permission!
+ Atribuição de privilégio incompatível com o tipo do objeto referenciado pela permissão!
+
+
+ It is not possible to create arrays of domains or sequences (dimension >= 1)! PostgreSQL does not yet implement this feature!
+ Não é possível criar arrays de domínios ou sequências (dimensão >= 1)! O PostgreSQL ainda não implementa esta funcionalidade!
+
+
+ Assignment of invalid name to the table generated from N-N relationship!
+ Atribuição de nome inválido à tabela gerada por relacionamento N-N!
+
+
+ Constraints like primary key, foreign key or unique must have at least one column related to them! For foreign keys must be selected, in addition, the referenced columns!
+ Restrições do tipo chave-primária, chave-estrangeira ou única devem possuir pelo menos uma coluna relacionada às mesmas! Para chaves-estrangeira devem ser selecionadas, adicionalmente, as colunas referenciadas!
+
+
+ The export process failed due to an error triggered by the PostgreSQL server in an attempt to execute a SQL command. For more details about the error check the exception stack!
+
+** Executed SQL command: **
+
+%1
+ O processo de exportação falhou devido a um erro disparado pelo servidor PostgreSQL na tentativa de execução de um comando SQL. Para obter mais detalhes sobre erro cheque a pilha de exceções!
+
+** Comando SQL executado: **
+
+%1
+
+
+ One or more plugins were not activated due to errors during the loading process! Check the exception stack for more details.
+ Um ou mais plugins não foram ativados devido a erros no processo de carregamento! Verifique a pilha de exceções para mais detalhes.
+
+
+ Assignment of empty XML buffer to parser!
+ Atribuição de buffer de código XML vazio ao parser!
+
+
+ Assignment of empty DTD file name!
+ Atribuição de nome de arquivo DTD vazio!
+
+
+ Assignment of empty name to the DTD declaration!
+ Atribuição de nome vazio à declaração DTD!
+
+
+ Operation on unallocated element tree! It is necessary to load the XML parser buffer and interpret it so that the tree is generated!
+ Operação sobre árvore de elementos não alocada! É necessário carregar o buffer XML do parser e interpretá-lo para que a árvore seja gerada!
+
+
+ Operation with unallocated tree element!
+ Operação com elemento de árvore de elementos não alocado!
+
+
+ Operation with element which does not exists in the element tree currently loaded!
+ Operação com elemento o qual não faz parte da árvore de elementos carregada atualmente!
+
+
+ Assignment of a value to an invalid connection parameter!
+ Atribuição de valor a um parâmetro de conexão inválido!
+
+
+ Operation on connection not established!
+ Operação sobre conexão não estabelecida!
+
+
+ Attempt to connect without define configuration parameters!
+ Tentativa de conexão sem parâmetros de configuração definidos!
+
+
+ Assignment of not allocated SQL command result!
+ Atribuição de resultado de comando SQL não alocado!
+
+
+ Unable to allocate the result of the SQL command because the response from the DBMS was not understood by the client!
+ Não foi possível alocar o resultado do comando SQL pois a resposta do SGBD não foi compreendida pelo cliente!
+
+
+ Reference to a column of tuple with invalid index!
+ Referência à uma coluna da tupla com índice inválido!
+
+
+ Reference to a column of tuple with invalid name!
+ Referência à uma coluna da tupla com nome inválido!
+
+
+ Assignment of a not allocated column to object `%1' (%2)!
+
+
+
+ Assignment of a not allocated schema to object `%1' (%2)!
+
+
+
+ The object `%1' (%2) has inconsistent SQL or XML definition!
+
+
+
+ The object `%1' (%2) already exists on `%3' (%4)!
+
+
+
+ The object `%1' (%2) cannot be assigned because there is already exists in the container object `%3'!
+
+
+
+ Assigning object of an invalid type!
+
+
+
+ The insertion of the parameter `%1' will not be possible because there is another parameter with same name in the function `%2'!
+
+
+
+ The insertion of the table return type `%1' will not be possible because there is another return type with the same name in the `%2'!
+
+
+
+ Reference to a parameter which index is out of the parameter list bounds!
+
+
+
+ The column `%1' cannot be assigned to the trigger `%2' because they belongs to different parent tables!
+
+
+
+ Assignment of a not allocated function to object `%1' (%2)!
+
+
+
+ Assignment of a function which return type is different from `%1'!
+
+
+
+ Assignment of a function which parameter count is invalid to the object `%1' (%2)!
+
+
+
+ Event trigger function must be coded in any language other than SQL!
+
+
+
+ Assignment of not allocated table to object `%1' (%2)!
+
+
+
+ Reference to an argument which index is out of argument list bounds!
+
+
+
+ Assignment of a name which contains invalid characters!
+
+
+
+ Assignment of a name which length exceeds the maximum of 63 characters!
+
+
+
+ Assignment of appended or prepended SQL to an invalid object!
+
+
+
+ Assignment of value to an invalid option type on role!
+
+
+
+ The insertion of the role `%1' is not possible because this is already being referenced by role `%2'!
+
+
+
+ Reference redundancy detected by having the role `%1' referencing the role `%2'!
+
+
+
+ The role `%1' can not be listed as a member of itself!
+
+
+
+ Reference to a role which index is out of role list bounds!
+
+
+
+ Insertion of empty command to the rule!
+
+
+
+ Reference to a command which index is out of the command list bounds!
+
+
+
+ Is not possible to create a self generalization/copy relationship! The table can not inherit or copy their own attributes!
+
+
+
+ Assignment of a start value to the sequence which is extrapolating the range defined by minimum and maximum values!
+
+
+
+ Assignment of owner table which is not in the same schema as the sequence `%1'!
+
+
+
+ Assignment of owner table which does not belong to the same owner of the sequence `%1'!
+
+
+
+ Assignment of a nonexistent owner column to the sequence `%1'!
+
+
+
+ Assignment of an owner column to the sequence `%1' that is not related to any table!
+
+
+
+ Reference to a label which index is out of labels list bounds!
+
+
+
+ Assignment of a function with invalid return type to object `%1' (%2)!
+
+
+
+ Assignment of a function with invalid parameter(s) type(s) to object `%1' (%2)!
+
+
+
+ Assignment of a null type to object `%1' (%2)!
+
+
+
+ Assignment of an empty directory to object `%1' (%2)!
+
+
+
+ Reference to an attribute which index is out of the attributes list bounds!
+
+
+
+ Reference to an enumeration which index is out of the enumerations list bounds!
+
+
+
+ Assignment of an operator which input type count is invalid to aggregate function!
+
+
+
+ Assignment of an operator which types of arguments is invalid!
+
+
+
+ Assignment of system reserved name to the object `%1' (%2)!
+
+
+
+ One function with invalid configuration is been used by the object `%1' (%2)!
+
+
+
+ Reference to an element which index is out of element list bounds!
+
+
+
+ Reference to an object which index is out of object list bounds!
+
+
+
+ The object `%1' (%2) can not be removed because it is being referenced by object `%3' (%4)!
+
+
+
+ The object `%1' (%2) can not be removed because it is being referenced by object `%3' (%4) that belongs to `%5' (%6)!
+
+
+
+ The creation of the relationship `%1' between the table `%2' and `%3' can not be done because one does not have a primary key. If the relationship is of the type n-n both tables must have primary keys!
+
+
+
+ Identifier relationship can not be created for a self relationship, relationships of the type n-n, copy or generalization!
+
+
+
+ Unable to create a copy relationship because the column `%1' in table `%2' already exists in table `%3'!
+
+
+
+ Unable to create the generalization relationship because the column `%1' in table `%2' can not be merged with the column `%3' of table `%4' because they have incompatible types!
+
+
+
+ Unable to create the generalization relationship because the constraint `%1' in table `%2' can not be merged with the constraint `%3' of table `%4' due to their incompatible composition!
+
+
+
+ An attribute can not be added to a copy or generalization relationship!
+
+
+
+ The object `%1' (%2) is referencing the object `%3' (%4) which was not found in the model!
+
+
+
+ Unable to write the file or directory `%1'! Make sure the output directory exists, or if the user has write permissions over it!
+
+
+
+ Unable to write the file `%1' due to one or more errors in the definition generation process!
+
+
+
+ The configuration of the relationship `%1' generates a redundancy between the relationships `%2'. Redundancy on identifier or generalization/copy relationships are not accepted since they result in incorrect column spreading making the model inconsistent!
+
+
+
+ The primary key `%1' can only be allocated if declared within a block of code that defines a table or relationship!
+
+
+
+ Insertion of a role which already exists in the role list of the permission!
+
+
+
+ There is already a permission on object `%1' (%2) which has one or more equal roles from those present on permission to be assigned to the object!
+
+
+
+ A permission is referencing the object `%1' (%2) which was not found in the model!
+
+
+
+ The object `%1' (%2) can not be created because its not being assigned to any schema!
+
+
+
+ The tablespace `%1' can not be inserted into the model because it points to the same directory as the tablespace `%2'!
+
+
+
+ The function `%1' can not get a source code as a definition because its language is set to C. Use the attributes symbol and dynamic library instead!
+
+
+
+ The function `%1' can have the attributes symbol and dynamic library configured only if the language is set to C. For all other cases you must specify a source code that defines it in the DBMS!
+
+
+
+ The operator `%1' can not be assigned as a comutator of operator `%2' because it has incompatible settings!
+
+
+
+ The operator `%1' can not be assigned as negator of operator `%2' because it has incompatible settings!
+
+
+
+ The type `%1' can not self refer in the attributes `element' or `copy type' or be used as a data type of an attribute in the configuration of a composite type!
+
+
+
+ Assignment of invalid element to type `%1'!
+
+
+
+ Assignment of invalid alignment to type `%1'!
+
+
+
+ The relationship `%1' can not make use of the special primary key because it is marked as identifier or it is a self relationship!
+
+
+
+ The object `%1' (%2) can not be edited or deleted because it was automatically included through a relationship! If the object is an attribute or constraint the modifications must be done on the relationship editing form.
+
+
+
+ The object `%1' (%2) can not be deleted because it is protected!
+
+
+
+ The group `%1' has already been declared earlier!
+
+
+
+ The group `%1' can not be built in the groups declaration block (%2)!
+
+
+
+ The group `%1' was built but not declared in the groups declaration block (%2)!
+
+
+
+ The group `%1' can not be built without possessing child elements!
+
+
+
+ The group `%1' can not be built once more because this was done in previous blocks!
+
+
+
+ The group `%1' has been declared but not built!
+
+
+
+ Reference to a column of the objects table with invalid index!
+
+
+
+ Reference to a row of the objects table with invalid index!
+
+
+
+ The object `%1' (%2) can not be manipulated because it is reserved to PostgreSQL! This object is present in the database model only as a reference!
+
+
+
+ The new configuration of the function invalidates the object `%1' (%2)! In this case it is needed to undo the relationship between the affected object and function in order to the new configuration to take effect!
+
+
+
+ A view reference must be used in at least one these SQL scopes: View Definition, SELECT-FROM, FROM-WHERE or After WHERE!
+
+
+
+ Could not find the default settings file `%1'! To restore default settings check the existence of the file and try again!
+
+
+
+ Could not load the plugin `%1' from the library `%2'! Message returned by plugin manager: `%3'
+
+
+
+ Error while interpreting XML buffer at line %1 column %2.
+Message generated by the parser: %3. %4
+
+
+
+ Attempt to start a connection already stablished!
+
+
+
+ Could not connect to the database.
+Message returned: `%1'
+
+
+
+ Unable to allocate command result for the SQL because the server has generated a fatal error!
+Message returned by the DBMS: `%1'
+
+
+
+ Reference to a tuple with an invalid index or the result is empty (no tuples)!
+
+
+
+ Reference to a column of a tuple which was not yet initialized (tuple navigation not started)!
+
+
+
+ Could not execute the SQL command.
+ Message returned: `%1'
+
+
+
+ Invalid use of a view reference as whole SQL definition! The assigned reference must be an expression!
+
+
+
+ Assignment of a second definition expression to the view!
+
+
+
+ It is not possible mix ordinary references (SELECT-FROM, FROM-WHERE, After WHERE) with references used as view SQL definition!
+
+
+
+ Assignment of collation object which type is invalid!
+
+
+
+ At the moment pgModeler does not support the creation of primary keys which some columns were generated by relationship connection. To create primary keys with this feature you can use the field `Identifier' or the tab `Primary key' on relationship editing form!
+
+
+
+ Collations must be created at least with attributes LC_COLLATE and LC_CTYPE defined!
+
+
+
+ The object `%1' (%2) cannot reference itself! This operation is not permitted for this kind of object!
+
+
+
+ Only operator families which uses `btree' as indexing method are accepted by operator class elements!
+
+
+
+ Reference to an invalid copy table option!
+
+
+
+ Copy relationship between tables `%1' and `%2' cannot be done because the first one already copies attributes from `%3'! Tables can have only one copy table!
+
+
+
+ The INSTEAD OF mode cannot be used on triggers that belongs to tables! This is available only for view triggers!
+
+
+
+ The TRUNCATE event can only be used when the trigger executes for each statement and belongs to a table!
+
+
+
+ The INSTEAD OF mode cannot be used on view triggers that executes for each statement!
+
+
+
+ Constraint triggers can only be executed on AFTER events and for each row!
+
+
+
+ A view trigger cannot be AFTER/BEFORE when it executes for each row!
+
+
+
+ A trigger cannot make reference to columns when using INSTEAD OF mode and UPDATE event!
+
+
+
+ Assignment of a column which has no parent table to the object `%1' (%2)!
+
+
+
+ Only constraint triggers can be deferrable or reference another table!
+
+
+
+ Reference to a function id which is incompatible with the user define type configuration!
+
+
+
+ The operator class assigned to the object `%1' (%2) must use `btree' as indexing method!
+
+
+
+ The validation process failed due to an error triggered by the validation helper. For more details about the error check the exception stack!
+
+
+
+ The extension `%1' is registered as a data type and cannot have the attribute `handles datatype' modified!
+
+
+
+ The fk relationship `%1' cannot be created because the foreign-key that represents it was not created on table `%2'!
+
+
+
+ Assignement of an invalid object name pattern to the relationship `%1'!
+
+
+
+ Reference to an invalid object name pattern id on the relationship `%1'!
+
+
+
+ Invalid use of variadic parameter mode! This mode can be used only with an array or "any" data type!
+
+
+
+ Mixing incompatibles DBMS export modes: `ignore object duplications', `drop database' or `drop objects' cannot be used with `simulate export'!
+
+
+
+ Mixing incompatibles DROP options: `drop database' and `drop objects' cannot be used at the same time!
+
+
+
+ Invalid object id swapping operation! The objects involved are the same!
+
+
+
+ Invalid object id swapping operation! The database itself, tablespaces or roles cannot have the ids swapped!
+
+
+
+ The widget already has a parent and cannot be assigned to a different object!
+
+
+
+ Could not load the database model file `%1'. Check the error stack to see details. Try to run `pgmodeler-cli --fix-model' in order to correct the structure of the file if that is the case.
+
+
+
+ The column `%1' cannot reference it's parent table `%2' as data type!
+
+
+
+ Operation with an invalid element id `%1'!
+
+
+
+ Reference to an invalid color id `%1' for element `%2'!
+
+
+
+ Assignment of an invalid object to `%1' (%2)! The assigned object must be of type `%3'.
+
+
+
+ The sequence `%1' can't be assigned to the column `%2' because the data type of the latter is incompatible. The type used must be an integer one!
+
+
+
+ The option to generate temporary object names can only be used in simulation mode!
+
+
+
+ It's not possible convert the type of the column `%1' to serial! It must have an `integer' based type and its default value must be a call to `nextval(seq_name::regclass)' function or a sequence object must be directly assigned to the column!
+
+
+
+ Could not assign the variable `%1' to event trigger's filter. Currently, PostgreSQL supports only the `TAG' variable!
+
+
+
+ Could not perform the `%1' operation on `%2' using the data on row `%3'! All changes were rolled back.
+
+ ** Returned error **
+
+%4
+
+
+
+ Malformed unescaped value on row `%1' column `%2'!
+
+
+
+ Trying to undo/redo an invalid operation over an object that does not exists anymore or can't be handled! The operation history will be cleaned up.
+
+
+
+ The object `%1' (%2) can't be handled because some needed fields are not set! Please, make sure to fill at least the requires fields in order to properly create or update the object.
+
+
+
+ A relationship can only be swapped by other object of the same kind!
+
+
+
+ A parent table of `%1' which OID is `%2' was not found in the set of imported objects!
+
+
+
+ The enumeration `%1' can't be assigned to the type `%2' because contains invalid characters!
+
+
+
+ The enumeration `%1' can't be assigned to the type `%2' because is too long!
+
+
+
+ The connection was idle for too long and was automatically closed!
+
+
+
+ The connection was unexpectedly closed by the database server `%1' at port `%2'!
+
+
+
+ There is already a relationship between `%1' (%2) and `%3' (%4) in the model! When using relationships of the type generalization, copy and one-to-one there can't be other relationships linked to the pair of tables.
+
+
+
+ Unable to load the configuration file `%1'! Please check if file exists in its folder and/or if it is not corrupted!
+
+
+
+ Invalid syntax in file `%1', line %2, column %3!
+
+
+
+ Invalid instruction `%1' on file `%2', line %3, column %4!
+
+
+
+ Unknown attribute `%1' in file `%2', line %3, column %4!
+
+
+
+ Invalid metacharacter `%1' in file `%2', line %3, column %4!
+
+
+
+ Invalid operator `%1' in comparison expression, file `%2', line %3, column %4!
+
+
+
+ Attribute `%1' with an undefined value in file `%2', line %3, column %4!
+
+
+
+ Attribute `%1' with an invalid name in file `%2', line %3, column %4!
+
+
+
+ Could not access the file or directory `%1'! Make sure that it exists or if the user has access permissions on it!
+
+
+
+ Could not load file `%1'. The same appears to be inconsistent or one of its dependencies (DTD files) has errors or is missing!
+
+
+
+ Unsupported PostgreSQL version (%1) detected! Valid versions are between %2 and %3.
+
+
+
+ The object `%1' (%2), oid `%3', could not be imported due to one or more errors! Check the exception stack for more details. `HINT:' if the object somehow references objects in `pg_catalog' or `information_schema' consider enable the importing of system objects.
+
+
+
+ Failed to drop the database `%1' because it is defined as the default database for the connection `%2'!
+
+
+
+ The column `%1' must be `NOT NULL' because it composes the primary key of the table `%2'. You need to remove the column from the mentioned contraint in order to disable the `NOT NULL' on it!
+
+
+
+ The identity column `%1' has an invalid data type! The data type must be `smallint', `integer' or `bigint'.
+
+
+
+ Reference to an invalid affected command in policy `%1'!
+
+
+
+ Reference to an invalid special role in policy `%1'!
+
+
+
+
+ ExtensionWidget
+
+ Version:
+ Versão:
+
+
+ Old Version:
+
+
+
+ This attribute cannot be changed once the object is created.
+
+
+
+ Handles data type
+
+
+
+
+ FindReplaceWidget
+
+ Form
+ Formulário
+
+
+ Replace one occurrence
+
+
+
+ Replace
+
+
+
+ Replace all occurrences
+
+
+
+ Replace All
+
+
+
+ Replace the selection and find the next one
+
+
+
+ Replace && Find
+
+
+
+ Replace:
+
+
+
+ Find:
+
+
+
+ Find previous
+
+
+
+ Shift+F3
+
+
+
+ Find next
+
+
+
+ F3
+
+
+
+ Case sensitive
+
+
+
+ Regular expression
+
+
+
+ Whole words
+
+
+
+ Hide this widget
+
+
+
+ ...
+
+
+
+
+ FunctionWidget
+
+ Attributes
+ Atributos
+
+
+ Behavior:
+ Comportamento:
+
+
+ Rows Returned:
+ Linhas Retornadas:
+
+
+ Execution Cost:
+ Custo de Execução:
+
+
+ Return Method:
+ Método de Retorno:
+
+
+ Function Type:
+ Tipo de Função:
+
+
+ Set
+ Conjunto
+
+
+ Return Table
+ Tabela de Retorno
+
+
+ Security:
+ Segurança:
+
+
+ Parameters
+ Parâmetros
+
+
+ Definition
+ Definição
+
+
+ Dynamic Library:
+ Biblioteca Dinâmica:
+
+
+ Symbol:
+ Símbolo:
+
+
+ Library:
+ Biblioteca:
+
+
+ Source code:
+ Código fonte:
+
+
+ Column
+ Coluna
+
+
+ Type
+ Tipo
+
+
+ Name
+ Nome
+
+
+ Default Value
+ Valor Padrão
+
+
+ Si&mple
+
+
+
+ Tab&le
+
+
+
+ Windown Func.
+
+
+
+ Leakproof
+
+
+
+ Mode
+
+
+
+ Language:
+
+
+
+
+ GeneralConfigWidget
+
+ Form
+ Formulário
+
+
+ Milimeters
+ Milímetros
+
+
+ Pixels
+ Píxeis
+
+
+ Inches
+ Polegadas
+
+
+ Centimeter
+ Centímetro
+
+
+ A0 (841 x 1189 mm)
+
+
+
+ A1 (594 x 841 mm)
+
+
+
+ A2 (420 x 594 mm)
+
+
+
+ A3 (297 x 420 mm)
+
+
+
+ A4 (210 x 297 mm)
+
+
+
+ A5 (148 x 210 mm)
+
+
+
+ A6 (105 x 148 mm)
+
+
+
+ A7 (74 x 105 mm)
+
+
+
+ A8 (52 x 74 mm)
+
+
+
+ A9 (37 x 52 mm)
+
+
+
+ B0 (1030 x 1456 mm)
+
+
+
+ B1 (728 x 1030 mm)
+
+
+
+ B10 (32 x 45 mm)
+
+
+
+ B2 (515 x 728 mm)
+
+
+
+ B3 (364 x 515 mm)
+
+
+
+ B4 (257 x 364 mm)
+
+
+
+ B5 (182 x 257 mm)
+
+
+
+ B6 (128 x 182 mm)
+
+
+
+ B7 (91 x 128 mm)
+
+
+
+ B8 (64 x 91 mm)
+
+
+
+ B9 (45 x 64 mm)
+
+
+
+ C5E (163 x 229 mm)
+
+
+
+ Comm10E (105 x 241 mm)
+
+
+
+ DLE (110 x 220 mm)
+
+
+
+ Executive (191 x 254 mm)
+ Executivo (191 x 254 mm)
+
+
+ Folio (210 x 330 mm)
+
+
+
+ Ledger (432 x 279 mm)
+
+
+
+ Legal (216 x 356 mm)
+
+
+
+ Letter (216 x 279 mm)
+ Carta (216 x 279 mm)
+
+
+ Tabloid (279 x 432 mm)
+ Tablóide (279 x 432 mm)
+
+
+ Paper:
+ Papel:
+
+
+ Orientation:
+ Orientação:
+
+
+ Operation history:
+ Histórico de operações:
+
+
+ Print grid
+ Imprimir grade
+
+
+ Left:
+ Esq.:
+
+
+ Left margin
+ Margem esquerda
+
+
+ Top:
+ Topo:
+
+
+ Top margin
+ Margem topo
+
+
+ Right:
+ Dir.:
+
+
+ Right margin
+ Margem direita
+
+
+ Bottom:
+ Base:
+
+
+ Bottom margin
+ Margem base
+
+
+ Landscape
+ Paisagem
+
+
+ Portrait
+ Retrato
+
+
+ Print page numbers
+ Imprimir número de páginas
+
+
+ General && Design
+
+
+
+ General
+ Geral
+
+
+ Check if there is a new version on server
+
+
+
+ Design
+
+
+
+ Disable antialiasing for lines and texts improving performance when handling huge models.
+
+
+
+ Disable render smoothness
+
+
+
+ Triggers a dialog asking the user to validate the model before a save, export or diff operation.
+
+
+
+ Validate before save, export or diff
+
+
+
+ Start move the canvas when the cursor is on the canvas edges
+
+
+
+ Move canvas by keep mouse on corners
+
+
+
+ Graphical objects (table, views and textboxes) will be created in a single step without the need to click on canvas
+
+
+
+ Simplify creation of graphical objects
+
+
+
+ After loading the model the last zoom and position on canvas will be restored
+
+
+
+ Save and restore last position and zoom
+
+
+
+ When enabled this option creates a placeholder object at the previous table's position when starting to move it. This will cause graphical updates on relationship lines to be performed only when the drag & drop action is done improving the performance. Disabling placeholders will cause those updates to be executed every time the table's position changes a single pixel (classical behavior).
+
+
+
+ Use placeholders when moving tables
+
+
+
+ Hide the portion of table which represent triggers, indexes and rules
+
+
+
+ Hide table extended attributes
+
+
+
+ Hide the object which represents the tag assigned to the table
+
+
+
+ Hide table tags
+
+
+
+ Hide the object that represents the relationship name
+
+
+
+ Hide relationship name
+
+
+
+ Toggles the code completion in all fields that accepts the input of SQL commands.
+
+
+
+ Enable SQL code completion
+
+
+
+ Printing && Code
+
+
+
+ Code style
+
+
+
+ Size:
+
+
+
+ Font:
+ Fonte:
+
+
+ Colors:
+ Cores:
+
+
+ Options:
+ Opções:
+
+
+ Display line numbers
+
+
+
+ Highlight lines at cursor's position
+
+
+
+ pt
+
+
+
+ Custom tab width:
+
+
+
+ Printing
+
+
+
+ Custom
+
+
+
+ Unity:
+
+
+
+ Custom Size:
+
+
+
+ Width:
+
+
+
+ Height:
+
+
+
+ Page Margins:
+
+
+
+ Line numbers' font color
+
+
+
+ Line numbers' background color
+
+
+
+ Highlighted line color
+
+
+
+ The little brown fox jumps over the lazy dog
+
+
+
+ Minimum object opacity (%):
+
+
+
+ Defines the minimum opacity percentage applied to the objects when using the fade out feature. A zero opacity causes the object to be completely hidden not being possible to interact with it in the canvas area.
+
+
+
+ Canvas grid size:
+
+
+
+ Defines the vertical and horizontal grid size. This value affects the spacing of objects when using object grid alignment feature.
+
+
+
+ By default the range selection is triggered with Shift + left click. By checking this option range selection will be activated only with a single click and move.
+
+
+
+ Trigger range selection with a single click
+
+
+
+ Defines the maximum amount of elements held in the operation history. Once reached the maximum number the history is automatically cleaned.
+
+
+
+ Defines the period when the opened models will be saved automatically.
+
+
+
+ Autosave interval (minutes):
+
+
+
+ Replaces any straight line in relationship by curved ones in order to improve the model's visualization.
+
+
+
+ Use curved lines for relationships
+
+
+
+ Souce code editor args:
+
+
+
+ lines
+
+
+
+ Clear the entire SQL comand history.
+
+
+
+ Clear history
+
+
+
+ Open in file manager
+ Abrir gerenciador de arquivos
+
+
+ Overrides the default user interface language defined by the system. Requires restarting the program. <strong>NOTE:</strong> UI translations are third party collaborations thus any typo or mistake should be reported directly to their respective maintainers.
+
+
+
+ SQL history max. length:
+
+
+
+ Check updates at startup
+
+
+
+ User interface language:
+
+
+
+ Browse the source code editor application
+
+
+
+ Souce code editor:
+
+
+
+ Configurations directory:
+
+
+
+ System default
+
+
+
+ All files (*.*)
+
+
+
+ Load file
+
+
+
+
+ GenericSQLWidget
+
+ SQL code
+
+
+
+
+ HintTextWidget
+
+ Form
+ Formulário
+
+
+
+ IndexWidget
+
+ Fill Factor:
+ Fator Preenc.:
+
+
+ Indexing:
+ Indexação:
+
+
+ Options:
+ Opções:
+
+
+ Concurrent
+ Concorrente
+
+
+ Unique
+ Único
+
+
+ Fast update
+ Atual. Rápida
+
+
+ Elements
+ Elementos
+
+
+ Attributes
+ Atributos
+
+
+ Buffering
+
+
+
+ Predicate:
+
+
+
+
+ LanguageWidget
+
+ Trusted:
+ Confiável:
+
+
+ The functions to be assigned to the language should have, respectively, the following signatures:<br/><br/> <strong>Handler Function:</strong> <em>language_handler function()</em><br/> <strong>Validator Function:</strong> <em>void function(oid)</em><br/> <strong>Inline Function:</strong> <em>void function(internal)</em>
+ As funções a serem atribuídas à linguagem devem possuir, respectivamente, as seguintes assinaturas:<br/><br/> <strong>Função Manipuladora:</strong> <em>language_handler funcao()</em><br/> <strong>Função Validadora:</strong> <em>void funcao(oid)</em><br/> <strong>Função em Linha:</strong> <em>void funcao(internal)</em>
+
+
+ Validator Func.:
+
+
+
+ Handler Func.:
+
+
+
+ Inline Func.:
+
+
+
+
+ MainWindow
+
+ pgModeler - PostgreSQL Database Modeler
+ pgModeler - Modelador de Banco de Dados PostgreSQL
+
+
+ &File
+ &Arquivo
+
+
+ &Edit
+ &Editar
+
+
+ &Show
+ &Mostrar
+
+
+ Plugins
+
+
+
+ New
+ Novo
+
+
+ Ctrl+N
+
+
+
+ Ctrl+S
+
+
+
+ Zoom in
+ Aumentar Zoom
+
+
+ Ctrl+=
+
+
+
+ Zoom out
+ Diminuir Zoom
+
+
+ Zoom -
+ Zoom -
+
+
+ Ctrl+-
+
+
+
+ Ctrl+O
+
+
+
+ Ctrl+Q
+
+
+
+ Ctrl+P
+
+
+
+ Ctrl+Z
+
+
+
+ Ctrl+Y
+
+
+
+ Ctrl+Shift+S
+
+
+
+ Show grid
+ Mostrar grade
+
+
+ Ctrl+G
+
+
+
+ Ctrl+W
+
+
+
+ Ctrl+0
+
+
+
+ Align objects position to grid
+ Alinhar objetos à grade
+
+
+ Show the page delimiters
+ Mostrar os delimitadores da página
+
+
+ Ctrl+L
+
+
+
+ Save all
+ Salvar todos
+
+
+ Show the model overview
+ Mostra a visão geral do modelo
+
+
+ F1
+
+
+
+ Save model
+ Salvar modelo
+
+
+ Save '%1' as...
+ Salvar '%1' como...
+
+
+ Database model (*.dbm);;All files (*.*)
+ Modelo de banco de dados (*.dbm);; Todos os arquivos (*.*)
+
+
+ Database model printing
+ Impressão do modelo de banco de dados
+
+
+ Confirmation
+ Confirmação
+
+
+ Changes were detected in the definitions of paper/margin of the model which may cause the incorrect print of the objects. Do you want to continue printing using the new settings? To use the default settings click 'No' or 'Cancel' to abort printing.
+ Foram detectadas modificações nas definições de papel/margem do modelo que podem provocar a impressão incorreta dos objetos. Deseja prosseguir com a impressão usando as novas configurações? Para usar as configurações padrão clique em 'Não', ou em 'Cancelar' para abortar a impressão.
+
+
+ Load model
+ Carregar modelo
+
+
+ This action will open a web browser window! Want to proceed?
+ Esta ação abrirá uma janela do navegador de internet! Deseja prosseguir?
+
+
+ Ctrl+H
+
+
+
+ F10
+
+
+
+ Saving temp. models
+
+
+
+ Toogle the model validation widgets
+
+
+
+ &Validation
+
+
+
+ Alt+V
+
+
+
+ Toggle the object finder
+
+
+
+ Find Object
+
+
+
+ Ctrl+F
+
+
+
+ Toggle the operation history widget
+
+
+
+ &Operations
+
+
+
+ Alt+O
+
+
+
+ Toggle the model objects widget
+
+
+
+ O&bjects
+
+
+
+ Alt+B
+
+
+
+ He&lp
+
+
+
+ Pl&ugins
+
+
+
+ General
+ Geral
+
+
+ Controls
+
+
+
+ &New
+
+
+
+ New model
+
+
+
+ &Save
+
+
+
+ &Zoom in
+
+
+
+ Zoo&m out
+
+
+
+ &Load
+
+
+
+ Sa&ve as
+
+
+
+ E&xit
+
+
+
+ Exit pgModeler
+
+
+
+ &About pgModeler
+
+
+
+ F4
+
+
+
+ &Print
+
+
+
+ Print model
+
+
+
+ &Undo
+
+
+
+ Undo operation
+
+
+
+ &Redo
+
+
+
+ Redo operation
+
+
+
+ &Export
+ &Exportar
+
+
+ Export the current opened model in different modes
+
+
+
+ Ctrl+Shift+E
+
+
+
+ &Show grid
+
+
+
+ &Close
+ &Fechar
+
+
+ Close current model
+
+
+
+ &Normal zoom
+
+
+
+ &Align to grid
+
+
+
+ Show &delimiters
+
+
+
+ &Settings
+
+
+
+ Edit pgModeler settings
+
+
+
+ F12
+
+
+
+ &Overview
+
+
+
+ &Support
+
+
+
+ Access the support page
+
+
+
+ New object
+ Novo objeto
+
+
+ Access the list of loaded plugins
+
+
+
+ &Recent Models
+
+
+
+ Load recently opened model
+
+
+
+ &Import
+
+
+
+ Import existing database to new model (reverse engineering)
+
+
+
+ Ctrl+Shift+I
+
+
+
+ Rest&ore Session
+
+
+
+ &Fix a model
+
+
+
+ New version found!
+
+
+
+ Update for the current version is available on project's site
+
+
+
+ &Check for update
+
+
+
+ action_main_menu
+
+
+
+ Main menu
+
+
+
+ Show expanded
+
+
+
+ Expands the main menu bar in classical mode
+
+
+
+ Hide main menu
+
+
+
+ Hides the main menu bar and put the action on a separated action
+
+
+
+ Ctrl+Shift+H
+
+
+
+ &Diff
+
+
+
+ Ctrl+Shift+D
+
+
+
+ Welcome
+
+
+
+ Welcome screen
+
+
+
+ Shift+W
+
+
+
+ Design
+
+
+
+ Design database models
+
+
+
+ Shift+D
+
+
+
+ Manage
+
+
+
+ Manage existent databases
+
+
+
+ Shift+M
+
+
+
+ &Bug report
+
+
+
+ Report a bug
+
+
+
+ Donate
+
+
+
+ Help pgModeler by donating!
+
+
+
+ Objects me&tadata
+
+
+
+ Objects metadata
+
+
+
+ (Demo)
+
+
+
+ Save modified model(s)
+
+
+
+ The following models were modified but not saved: %1. Do you really want to quit pgModeler?
+
+
+
+ Clear Menu
+
+
+
+ The demonstration version can create only `one' instance of database model!
+
+
+
+ The model <strong>%1</strong> was modified! Do you really want to close without save it?
+
+
+
+ Warning
+
+
+
+ You're running a demonstration version! The model saving feature is available only in the full version!
+
+
+
+ <strong>WARNING:</strong> The model <strong>%1</strong> is invalidated! It's recommended to validate it before save in order to create a consistent model otherwise the generated file will be broken demanding manual fixes to be loadable again!
+
+
+
+ Save anyway
+
+
+
+ Validate
+
+
+
+ <strong>WARNING:</strong> The model <strong>%1</strong> is invalidated! Before run the export process it's recommended to validate in order to correctly create the objects on database server!
+
+
+
+ Export anyway
+
+
+
+ <strong>WARNING:</strong> The model <strong>%1</strong> is invalidated! Before run the diff process it's recommended to validate in order to correctly analyze and generate the difference between the model and a database!
+
+
+
+ Diff anyway
+
+
+
+ Could not load the database model file `%1'. Check the error stack to see details. You can try to fix it in order to make it loadable again.
+
+
+
+ Fix model
+
+
+
+ Cancel
+ Cancelar
+
+
+ Access support page
+
+
+
+ (no samples found)
+
+
+
+ You're running a demonstration version! Note that you'll be able to create only <strong>%1</strong> instances of each type of object and some key features will be disabled or limited!<br/><br/>You can purchase a full binary copy or get the source code at <a href='http://pgmodeler.com.br'>pgmodeler.com.br</a>. <strong>NOTE:</strong> pgModeler is an open source software, but purchasing binary copies or providing some donations will support the project and cover all development costs.<br/><br/> <strong>HINT:</strong> in order to test all features it's recommended to use the <strong>demo.dbm</strong> model located in </strong>Sample models</strong> at <strong>Welcome</strong> view.<br/><br/><br/><br/>
+
+
+
+ save
+
+
+
+ export
+
+
+
+ diff
+
+
+
+ Executing pending <strong>%1</strong> operation...
+
+
+
+ Determine the changes between model/database and another database
+
+
+
+ Arrange objects
+
+
+
+ Rearrange objects over the canvas
+
+
+
+ Grid
+
+
+
+ Hierarchical
+
+
+
+ Scattered
+
+
+
+ Rearrange objects over the canvas is an irreversible operation! Would like to proceed?
+
+
+
+
+ Messagebox
+
+ Dialog
+ Diálogo
+
+
+ msg
+
+
+
+ Exceptions
+ Exceções
+
+
+ Show raw text errors or information.
+
+
+
+ Show/hide exceptions stack.
+
+
+
+ ...
+
+
+
+ &Yes
+ &Sim
+
+
+ &No
+ &Não
+
+
+ Cancel
+ Cancelar
+
+
+ &Ok
+
+
+
+ &Cancel
+ &Cancelar
+
+
+ Error
+ Erro
+
+
+ Alert
+ Alerta
+
+
+ Information
+ Informação
+
+
+ Confirmation
+ Confirmação
+
+
+
+ MetadataHandlingForm
+
+ Handle metadata
+
+
+
+ &Apply
+ &Aplicar
+
+
+ &Cancel
+ &Cancelar
+
+
+ Handle objects metadata
+
+
+
+ Settings
+
+
+
+ Extract from:
+
+
+
+ Loading a metadata file to the current model is an irreversible operation so be sure to specify a backup file before proceed.
+
+
+
+ Options
+
+
+
+ Handles the following database model attributes in the metadata file: author, zoom factor, last position and default objects.
+
+
+
+ Database model metadata
+
+
+
+ Handles the objects' positioning in the metadata file.
+
+
+
+ Objects' positioning
+
+
+
+ Handles the objects' custom colors in the metadata file. Currently available only for relationships and schemas.
+
+
+
+ Custom object's colors
+
+
+
+ Handles the objects' protection status in the metadata file.
+
+
+
+ Objects' protection status
+
+
+
+ Handles the objects' SQL disabled status in the metadata file.
+
+
+
+ Objects' SQL disabled status
+
+
+
+ Handles the objects' custom SQL commands in the metadata file.
+
+
+
+ Custom SQL commands
+
+
+
+ Textbox objects
+
+
+
+ Tag objects
+
+
+
+ Backup file:
+
+
+
+ Select file
+
+
+
+ ...
+
+
+
+ Apply to:
+
+
+
+ Operation:
+
+
+
+ Output
+
+
+
+ Progress label...
+ Rótulo de progresso...
+
+
+ model not saved yet
+
+
+
+ The backup file cannot be the same as the input model!
+
+
+
+ Extracting metadata to file `%1'
+
+
+
+ Saving backup metadata to file `%1'
+
+
+
+ Applying metadata from file `%1'
+
+
+
+ Metadata processing aborted!
+
+
+
+ Objects metadata file (*.omf);;All files (*.*)
+
+
+
+ Handles the objects' fade out status in the metadata file.
+
+
+
+ Objects' fade out status
+
+
+
+ Save tags to the output file when extracting metadata. When loading the file, the tags are recreated and duplicated ones are ignored.
+
+
+
+ Save textboxes to the output file when extracting metadata. When loading the file, the textboxes are recreated and duplicated ones are ignored.
+
+
+
+ Handles the tables' and views' extended attributes display status in the metadata file.
+
+
+
+ Tables' extended attributes display
+
+
+
+ Save generic SQL objects to the output file when extracting metadata. When loading the file, the objects are recreated and duplicated ones are ignored.
+
+
+
+ Generic SQL objects
+
+
+
+ Extracts the objects' metadata from the loaded models and apply to the current focused model. A backup file can be specified to where the focused model's current metadata will be saved.
+
+
+
+ &Extract and restore
+
+
+
+ Extracts the objects metadata from one of the loaded models saving the info to a backup file.
+
+
+
+ Extract &only
+
+
+
+ Reads the objects' metadata from a previously saved backup file and apply to the current model.
+
+
+
+ &Restore a backup file
+
+
+
+
+ ModelDatabaseDiffForm
+
+ Settings
+
+
+
+ Connection:
+ Conexão:
+
+
+ Database:
+
+
+
+ Ignores as many as possible errors on import step. This option generates an incomplete diff.
+
+
+
+ Ignore import errors
+
+
+
+ Clears the data of all tables which will have columns modified. This is useful to avoid errors related to type casting. <strong>WARNING:</strong> DO NOT use this option on production servers and always make a backup before use it.
+
+
+
+ Import system (built-in) objects. Use this if the import step is returning errors related to missing objects.
+
+
+
+ Import system objects
+
+
+
+ Import objects created by extensions. Use this if the import step is returning errors even importing built in ones.
+
+
+
+ Import extension objects
+
+
+
+ For DROP command, the objects that depends on an object to be dropped will be deleted as well. For TRUNCATE command, tables that are linked to a table to be truncated will be truncate too. <strong>NOTE:</strong> this option can affect more objects than listed in the output or diff preview.
+
+
+
+ Drop or truncate in cascade mode
+
+
+
+ Permissions already set on database objects will be kept.The ones configured on the model will be applied to the database.
+
+
+
+ Keep object's permissions
+
+
+
+ Database cluster level objects like roles and tablespaces will not be dropped.
+
+
+
+ Keep cluster objects
+
+
+
+ Recreate only unmodifiable objects
+
+
+
+ Instead of use an ALTER command to modify certain kind of objects a DROP and CREATE will be used in order to do a full modification. This option does not affects the database object.
+
+
+
+ Force recreation of objects
+
+
+
+ Ignores errors generated by duplicated objects when exporting the diff to database.
+
+
+
+ Ignore duplicity errors
+
+
+
+ Serial columns are converted to integer and having the default value changed to <strong>nextval(sequence)</strong> function call. By default, a new sequence is created for each serial column but checking this option sequences matching the name on column's default value will be reused and will not be dropped.
+
+
+
+ Reuse sequences on serial columns
+
+
+
+ No command to rename the destination database will be generated even the model's name differ from database name.
+
+
+
+ Preserve database name
+
+
+
+ Avoid the generation of DROP commands for objects that exists in database but not in the model. This is useful when diff a partial model against the complete database.
+
+
+
+ Do not drop missing objects
+
+
+
+ Diff mode
+
+
+
+ Override the PostgreSQL version when generating the diff. The default is to use the same version as the input database.
+
+
+
+ Use PostgreSQL:
+
+
+
+ Compares the model and the input database storing the diff in a SQL file for later usage.
+
+
+
+ Store in S&QL file
+
+
+
+ File:
+ Arquivo:
+
+
+ Select output file
+
+
+
+ ...
+
+
+
+ Compares the model and the input database generating a diff and applying it directly to the latter. <strong>WARNING:</strong> this mode causes irreversible changes on the database and in case of failure the original structure is not restored, so make sure to have a backup before proceed.
+
+
+
+ Appl&y on server
+
+
+
+ Output
+
+
+
+ Changes:
+
+
+
+ Cancel
+ Cancelar
+
+
+ Progress label...
+ Rótulo de progresso...
+
+
+ Step label...
+
+
+
+ <html><head/><body><p>Objects marked with an <span style=" font-weight:600;">ALTER</span> may not be effectively changed unless that the differences detected are in attributes that can be modified through ALTER commands otherwise no operation will be performed or, if the force recreation is checked, the object will be dropped and created again.</p></body></html>
+
+
+
+ Objects to be created
+
+
+
+ 0
+
+
+
+ Objects to be dropped
+
+
+
+ Possible objects to be changed
+
+
+
+ Ignored objects (system ones or with sql disabled)
+
+
+
+ Diff Preview
+
+
+
+ &Apply diff
+
+
+
+ &Generate
+
+
+
+ &Close
+ &Fechar
+
+
+ Waiting process to start...
+
+
+
+ Confirmation
+ Confirmação
+
+
+ <strong>WARNING:</strong> The generated diff is ready to be exported! Once started this process will cause irreversible changes on the database. Do you really want to proceed?
+
+
+
+ Apply diff
+
+
+
+ Preview diff
+
+
+
+ Diff process paused. Waiting user action...
+
+
+
+ Saving diff to file <strong>%1</strong>
+
+
+
+ Diff process sucessfully ended!
+
+
+
+ No operations left.
+
+
+
+ Operation cancelled by the user.
+
+
+
+ Process aborted due to errors!
+
+
+
+
+
+-- SQL code purposely truncated at this point in demo version!
+
+
+
+ -- No differences were detected between model and database. --
+
+
+
+ Error code <strong>%1</strong> found and ignored. Proceeding with export.
+
+
+
+ Save diff as...
+
+
+
+ SQL code (*.sql);;All files (*.*)
+ Código SQL (*.sql);;Todos os Arquivos (*.*)
+
+
+ Diff tool
+
+
+
+ Generate diff code
+
+
+
+ Source database
+
+
+
+ Current model:
+
+
+
+ (model)
+
+
+
+ Compare to
+
+
+
+ Diff
+
+
+
+ Froce the generation of DROP commands for columns and constraints that exist in database but not in the model. This is useful when diff a partial model against the complete database and the user needs to drop columns and constraint but preserve the rest of the objects.
+
+
+
+ Drop missing columns and constraints
+
+
+
+ Truncate tables before alter columns
+
+
+
+ Import && Export
+
+
+
+ Import
+
+
+
+ Export
+ Exportar
+
+
+ This advanced option causes pgModeler to ignore extra errors by their numeric codes. These errors must be informed in the input below and separeted by space. For the complete list of error codes check the PostgreSQL docs, section <strong> Appendix A. PostgreSQL Error Codes</strong>. <strong>WARNING:</strong> use this option with extreme care since it can interfere in final export result.
+
+
+
+ Ignore error codes
+
+
+
+ model not saved yet
+
+
+
+ (none)
+
+
+
+ Step %1/%2: Importing database <strong>%3</strong>...
+
+
+
+ Step %1/%2: Comparing <strong>%3</strong> and <strong>%4</strong>...
+
+
+
+ Step %1/%2: Exporting diff to database <strong>%3</strong>...
+
+
+
+
+ ModelExportForm
+
+ File:
+ Arquivo:
+
+
+ Select target file
+ Selecionar arquivo de destino
+
+
+ ...
+
+
+
+ PostgreSQL:
+
+
+
+ PostgreSQL version in which the SQL code should be generated
+ Versão do PostgreSQL no qual o código SQL deve ser gerado
+
+
+ Show grid
+ Mostrar grade
+
+
+ Connection:
+ Conexão:
+
+
+ Ignore object duplicity
+ Ignorar duplicidade de objetos
+
+
+ Progress label...
+ Rótulo de progresso...
+
+
+ &Export
+ &Exportar
+
+
+ &Close
+ &Fechar
+
+
+ Initializing model export...
+ Iniciando exportação do modelo...
+
+
+ Saving file '%1'
+ Salvando arquivo '%1'
+
+
+ Exporting process sucessfuly ended!
+ Processo de exportação finalizado com sucesso!
+
+
+ Export model as...
+ Exportar modelo como...
+
+
+ Export model
+
+
+
+ Settings
+
+
+
+ Database server
+
+
+
+ pgModeler ignores errors generated by duplicated objects and creates only that ones which does not exists in the database. This option may be used when an object was created after a previous model export.
+
+
+
+ PostgreSQL version in which the SQL code should be generated. It is recommended to select this option only when the version of the DBMS, somehow, is not identifiable or if you need to generate a specific version of SQL code for test purposes.
+
+
+
+ If <strong>DB</strong> is checked pgModeler will destroy the database if already exists on the server. When <strong>Objects</strong> is checked pgModeler will execute the DROP command attached to SQL-enabled objects. <strong>WARNING:</strong> this option leads to data loss so make sure to have a backup first.
+
+
+
+ Drop:
+
+
+
+ DB
+
+
+
+ Ob&jects
+
+
+
+ pgModeler will destroy the database if already exists on the server. Make sure to have a backup before use this option because all data will be lost.
+
+
+
+ Graphics file
+
+
+
+ Type:
+ Tipo:
+
+
+ Zoom:
+
+
+
+ Show delimiters
+
+
+
+ Exporting the model page by page will generate files with a <strong>_p[n]</strong> suffix where <strong>n</strong> is the page id. Check if the current user has write permission on output folder.
+
+
+
+ Page by page
+
+
+
+ SQL file
+
+
+
+ Output
+
+
+
+ Cancel
+ Cancelar
+
+
+ Error code <strong>%1</strong> found and ignored. Proceeding with export.
+
+
+
+ Exporting process aborted!
+
+
+
+ SQL script (*.sql);;All files (*.*)
+
+
+
+ Portable Network Graphics (*.png);;All files (*.*)
+
+
+
+ Scalable Vector Graphics (*.svg);;All files (*.*)
+
+
+
+ Exporting process canceled by user!
+
+
+
+ This advanced option causes pgModeler to ignore extra errors by their numeric codes. These errors must be informed in the input below and separeted by space. For the complete list of error codes check the PostgreSQL docs, section <strong> Appendix A. PostgreSQL Error Codes</strong>. <strong>WARNING:</strong> use this option with extreme care since it can interfere in final export result.
+
+
+
+ Ignore error codes
+
+
+
+ I&mage (PNG)
+
+
+
+ &Vectorial (SVG)
+
+
+
+
+ ModelExportHelper
+
+ Generating SQL code for PostgreSQL `%1'
+
+
+
+ Output SQL file `%1' successfully written.
+
+
+
+ Rendering objects to page %1/%2.
+
+
+
+ Output image `%1' successfully written.
+
+
+
+ Exporting model to SVG file.
+
+
+
+ SVG representation of database model
+
+
+
+ SVG file generated by pgModeler
+
+
+
+ Output file `%1' successfully written.
+
+
+
+ Starting export to DBMS.
+
+
+
+ PostgreSQL version detection overridden. Using version `%1'.
+
+
+
+ PostgreSQL `%1' server detected.
+
+
+
+ Generating temporary names for database, roles and tablespaces.
+
+
+
+ Enabling the SQL code for database `%1' to avoid errors.
+
+
+
+ Ignoring object duplication errors.
+
+
+
+ Ignoring the following error code(s): `%1'.
+
+
+
+ Trying to drop database `%1'.
+
+
+
+ Simulation mode activated.
+
+
+
+ Creating object `%1' (%2)
+
+
+
+ Creating database `%1'
+
+
+
+ Connecting to database `%1'
+
+
+
+ Generating SQL for `%1' objects...
+
+
+
+ Destroying objects created on the server.
+
+
+
+ Restoring original names of database, roles and tablespaces.
+
+
+
+ Renaming `%1' (%2) to `%3'
+
+
+
+ Dropping object `%1' (%2)
+
+
+
+ Changing object `%1' (%2)
+
+
+
+ Running auxiliary command.
+
+
+
+
+ ModelFixForm
+
+ Model file fix
+
+
+
+ Fix model file
+
+
+
+ <html><head/><body><p>[pgmodeler-cli not found error]</p></body></html>
+
+
+
+ pgmodeler-cli:
+
+
+
+ Browse for pgmodeler-cli tool
+
+
+
+ ...
+
+
+
+ The specified file is not the pgModeler command line tool (pgmodeler-cli).
+
+
+
+ Input file:
+
+
+
+ Output file:
+
+
+
+ Fix tries:
+
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Monospace'; font-size:10pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Waiting process to start...</span></p></body></html>
+
+
+
+ Select input file
+
+
+
+ Select output file
+
+
+
+ Load fixed model when finish
+
+
+
+ In some cases the fix process will fail to restore all objects within the model demanding manual fixes by changing the file on a text editor. <strong>NOTE:</strong> relationships may lost their graphical configuration like custom points and line color.
+
+
+
+ &Fix
+
+
+
+ &Close
+ &Fechar
+
+
+ Waiting process to start...
+
+
+
+ Could not locate <strong>%1</strong> tool on <strong>%2</strong>. The fix process can't continue! Please check pgModeler installation or try to manually specify the command below.
+
+
+
+ pgModeler command line tool (%1)
+
+
+
+
+ ModelNavigationWidget
+
+ Form
+ Formulário
+
+
+ Previous model
+
+
+
+ Ctrl+Left
+ Ctrl+Esquerda
+
+
+ Next model
+
+
+
+ Ctrl+Right
+ Ctrl+Direita
+
+
+ Close model
+ Fechar modelo
+
+
+ ...
+
+
+
+ Alt+C
+
+
+
+ (model not saved yet)
+
+
+
+
+ ModelObjectsWidget
+
+ Model Objects
+ Objetos do Modelo
+
+
+ 1
+
+
+
+ Object
+ Objeto
+
+
+ Type
+ Tipo
+
+
+ Parent Object
+ Objeto Pai
+
+
+ Parent Type
+ Tipo Pai
+
+
+ Select All
+ Selecionar Todos
+
+
+ Clear All
+ Desselecionar Todos
+
+
+ Select
+ Selecionar
+
+
+ Cancel
+ Cancelar
+
+
+ Objects view configuration
+ Configuração da visão de objetos
+
+
+ ...
+
+
+
+ Tree view
+ Visão em árvore
+
+
+ List view
+ Visão em lista
+
+
+ Expands all items
+ Expandir todos os itens
+
+
+ Collapses all items
+ Recolher todos os itens
+
+
+ New
+ Novo
+
+
+ Hide this widget
+
+
+
+ ID
+
+
+
+ Return
+
+
+
+ Esc
+
+
+
+ Filter:
+
+
+
+ By ID
+
+
+
+ Visible object types
+
+
+
+ Model objects
+
+
+
+
+ ModelOverviewWidget
+
+ Model overview
+ Visão geral do modelo
+
+
+ Failed to generate the overview image.
+The requested size %1 x %2 was too big and there was not enough memory to allocate!
+
+
+
+
+ ModelRestorationForm
+
+ Model restoration
+ Restauração de modelos
+
+
+ &Restore
+ &Restaurar
+
+
+ &Cancel
+ &Cancelar
+
+
+ pgModeler was not closed properly in a previous execution and some models were still being edited. Click <strong>Restore</strong> to reopen the models or <strong>Cancel</strong> to abort the restoration.
+
+
+
+ pgModeler will try to recover the selected models but will not destroy them in case of loading failure. This option serves as a last resort in order to try to recover the database model. Temporary models will last until the application is closed so the user must try to manually recover the files before exit pgModeler.
+
+
+
+ Keep temporary models in case of restoration failure
+
+
+
+ Database
+ Banco de Dados
+
+
+ File
+ Arquivo
+
+
+ Modified
+
+
+
+ Size
+
+
+
+
+ ModelValidationHelper
+
+ There are pending errors! SQL validation will not be executed.
+
+
+
+ Operation canceled by the user.
+
+
+
+
+ ModelValidationWidget
+
+ Form
+ Formulário
+
+
+ Hide this widget
+
+
+
+ ...
+
+
+
+ Enables the validation of SQL code in DBMS. This process requires the use of a pre-configured connection. SQL validation will occur only in the last step (when all objects were validated) or when there are no warnings.
+
+
+
+ SQL Validation:
+
+
+
+ Connection to be used in the SQL validation
+
+
+
+ PostgreSQL version
+
+
+
+ pgModeler will generate unique and temporary names for database, role and tablespace objects. This option avoids object duplication errors when running the SQL validation.
+
+
+
+ Use unique temporary names for cluster level objects
+
+
+
+ Clear validation results
+
+
+
+ Clear
+
+
+
+ Try to resolve the reported issues.
+
+
+
+ Ctrl+S
+
+
+
+ Change the creation order for two objects by swapping their ids
+
+
+
+ Va&lidate
+
+
+
+ Warnings: does not prevents model to be saved.
+
+
+
+ 0
+
+
+
+ Errors: model will not be saved while there are validation errors.
+
+
+
+ Cancel the SQL validation in progress.
+
+
+
+ Cancel
+ Cancelar
+
+
+ Esc
+
+
+
+ Try to apply a fix on the selected validation info.
+
+
+
+ Options
+
+
+
+ Autodetect
+
+
+
+ The object <strong>%1</strong> <em>(%2)</em> [id: %3] is being referenced by <strong>%4</strong> object(s) before its creation.
+
+
+
+ The object <strong>%1</strong> <em>(%2)</em> [id: %3]%4 is referencing columns created by <strong>%5</strong> relationship(s) but is created before them.
+
+
+
+ The object <strong>%1</strong> <em>(%2)</em> has a name that conflicts with <strong>%3</strong> object's name(s).
+
+
+
+ The relationship <strong>%1</strong> [id: %2] is in a permanent invalidation state and needs to be relocated.
+
+
+
+ SQL validation failed due to error(s) below. <strong>NOTE:</strong><em> These errors does not invalidates the model but may affect operations like <strong>export</strong> and <strong>diff</strong>.</em>
+
+
+
+ <strong>HINT:</strong> try to swap the relationship by another ones that somehow are linked to it through generated columns or constraints to solve this issue. Note that other objects may be lost in the swap process.
+
+
+
+ <em>The above object was created by a relationship. Change the name pattern on it's generator relationship. Fix will not be applied!</em>
+
+
+
+ Conflicting object: <strong>%1</strong> <em>(%2)</em>.
+
+
+
+ Relationship: <strong>%1</strong> [id: %2].
+
+
+
+ Referrer object: <strong>%1</strong> <em>(%2)</em> [id: %3].
+
+
+
+ SQL validation not executed! No connection defined.
+
+
+
+ Database model successfully validated.
+
+
+
+ Running SQL commands on server...
+
+
+
+ Processing object: %1
+
+
+
+ Apply fixes
+
+
+
+ Swap ids
+
+
+
+ The column <strong>%1</strong> on <strong>%2</strong> <em>(%3)</em> is referencing the geospatial data type <strong>%4</strong> but the <strong>postgis</strong> extension is not present in the model!
+
+
+
+ <strong>HINT:</strong> Create the extension in the model or let it be created by applying the needed fixes.
+
+
+
+
+ ModelWidget
+
+ Copy
+ Copiar
+
+
+ Source code
+ Código fonte
+
+
+ Show object source code
+ Mostra o código fonte do objeto
+
+
+ Properties
+ Propriedades
+
+
+ Edit the object properties
+ Edita as propriedades do objeto
+
+
+ Protect
+ Proteger
+
+
+ Unprotect
+ Desproteger
+
+
+ Protects object(s) from modifications
+ Protege objeto(s) contra modificações
+
+
+ Delete
+ Apagar
+
+
+ Select all
+ Selecionar todos
+
+
+ Selects all the graphical objects in the model
+ Seleciona todos os objetos gráficos no modelo
+
+
+ Paste
+ Colar
+
+
+ Cut
+ Recortar
+
+
+ Add a new object in the model
+ Adiciona um novo objeto no modelo
+
+
+ Rename
+ Renomear
+
+
+ Quick rename the object
+ Renomear rapidamente o objeto
+
+
+ Move to schema
+ Mover para o esquema
+
+
+ Edit permissions
+ Editar permissões
+
+
+ Change owner
+ Mudar proprietário
+
+
+ Select children
+ Selecionar filhos
+
+
+ Loading database model
+ Carregando modelo de banco de dados
+
+
+ Saving database model
+ Salvando modelo de banco de dados
+
+
+ Also copy all dependencies of selected objects? This minimizes the breakdown of references when copied objects are pasted into another model.
+ Copiar também todas dependências dos objetos selecionados? Isso minimiza a quebra de referências quando os objetos copiados forem colados em outro modelo.
+
+
+ Pasting objects...
+ Colando objetos...
+
+
+ Not all objects were pasted to the model due to errors returned during the process! Refer to error stack for more details!
+ Nem todos objetos foram colados ao modelo devido a erros retornados durante o processo! Consulte a pilha de erros para mais detalhes!
+
+
+ Do you really want to delete the selected object?
+ Deseja realmente apagar o objeto selecionado?
+
+
+ (no objects)
+ (sem objetos)
+
+
+ Constraints
+ Restrições
+
+
+ One to One (1-1)
+
+
+
+ One to Many (1-n)
+
+
+
+ Many to Many (n-n)
+
+
+
+ Inheritance
+
+
+
+ <strong>ATTENTION:</strong> The database model is protected! Operations that could modify it are disabled!
+
+
+
+ Source
+
+
+
+ Alt+S
+
+
+
+ Space
+
+
+
+ Del
+
+
+
+ Del. cascade
+
+
+
+ Shift+Del
+
+
+
+ Ctrl+A
+
+
+
+ Convert
+
+
+
+ Ctrl+C
+
+
+
+ Ctrl+V
+
+
+
+ Ctrl+X
+
+
+
+ Deps && Referrers
+
+
+
+ New
+ Novo
+
+
+ Quick
+
+
+
+ Quick action for the selected object
+
+
+
+ F2
+
+
+
+ Set tag
+
+
+
+ Ctrl+E
+
+
+
+ Open relationship
+
+
+
+ Custom SQL
+
+
+
+ Alt+Q
+
+
+
+ Convert to sequence
+
+
+
+ Convert to serial
+
+
+
+ Break line
+
+
+
+ Remove points
+
+
+
+ Enable SQL
+
+
+
+ Disable SQL
+
+
+
+ 90° (vertical)
+
+
+
+ 90° (horizontal)
+
+
+
+ 90° + 90° (vertical)
+
+
+
+ 90° + 90° (horizontal)
+
+
+
+ Zoom: %1%
+
+
+
+ Do you really want to convert the relationship into an intermediate table?
+
+
+
+ Do you want to %1 the selected schema's children too?
+
+
+
+ protect
+
+
+
+ unprotect
+
+
+
+ Validating object: `%1' (%2)
+
+
+
+ Generating XML for: `%1' (%2)
+
+
+
+ Pasting object: `%1' (%2)
+
+
+
+ <strong>CAUTION:</strong> You are about to delete objects in cascade mode which means more objects than the selected will be dropped too. Do you really want to proceed?
+
+
+
+ <strong>CAUTION:</strong> Remove multiple objects at once can cause irreversible invalidations to other objects in the model causing such invalid objects to be deleted too. Do you really want to proceed?
+
+
+
+ <strong>CAUTION:</strong> Remove a relationship can cause irreversible invalidations to other objects in the model causing such invalid objects to be deleted too. Do you really want to proceed?
+
+
+
+ The cascade deletion found some problems when running! Some objects could not be deleted or registered in the operation's history! Please, refer to error stack for more details.
+
+
+
+ Edit data
+
+
+
+ Select tagged
+
+
+
+ Select
+ Selecionar
+
+
+ Duplicate
+
+
+
+ Ctrl+D
+
+
+
+ Extended attributes
+
+
+
+ Show
+ Exibir
+
+
+ Hide
+
+
+
+ Jump to table
+
+
+
+ Schemas rectangles
+
+
+
+ Fade in/out
+
+
+
+ Fade in
+
+
+
+ Fade out
+
+
+
+ Relationships
+
+
+
+ Swap ids
+
+
+
+ Edit the objects creation order by swapping their ids
+
+
+
+ All objects
+
+
+
+ Schemas
+
+
+
+ Tables
+ Tabelas
+
+
+ Views
+
+
+
+ Textboxes
+
+
+
+ None
+
+
+
+
+ ModelsDiffHelper
+
+ Processing object `%1' (%2)...
+
+
+
+ Skipping object `%1' (%2)...
+
+
+
+ Processing diff infos...
+
+
+
+ Processing `%1' info for object `%2' (%3)...
+
+
+
+ No differences between the model and database.
+
+
+
+ Preparing diff code...
+
+
+
+
+ NewObjectOverlayWidget
+
+ Form
+ Formulário
+
+
+ Tag
+
+
+
+ Cast
+
+
+
+ A
+
+
+
+ Textbox
+ Caixa de Texto
+
+
+ Tablespace
+ Espaço de Tabela
+
+
+ Schema
+ Esquema
+
+
+ Language
+ Linguagem
+
+
+ Role
+ Papel
+
+
+ Event Trigger
+
+
+
+ Domain
+ Domínio
+
+
+ Conversion
+
+
+
+ Aggregate
+
+
+
+ Collation
+ Intercalação
+
+
+ Table
+ Tabela
+
+
+ Type
+ Tipo
+
+
+ Op. Family
+
+
+
+ Sequence
+
+
+
+ Extension
+
+
+
+ Function
+ Função
+
+
+ View
+
+
+
+ Permissions
+ Permissões
+
+
+ Op. Class
+
+
+
+ Operator
+ Operador
+
+
+ Constraint
+ Restrição
+
+
+ Column
+ Coluna
+
+
+ Index
+ Índice
+
+
+ Trigger
+ Gatilho
+
+
+ Rule
+ Regra
+
+
+ Many-to-many
+
+
+
+ One-to-many
+
+
+
+ One-to-one
+
+
+
+ Inheritance
+
+
+
+ Copy
+ Copiar
+
+
+ G
+
+
+
+ K
+
+
+
+ H
+
+
+
+ J
+
+
+
+ D
+
+
+
+ E
+
+
+
+ F
+
+
+
+ L
+
+
+
+ O
+
+
+
+ U
+
+
+
+ I
+
+
+
+ R
+
+
+
+ S
+
+
+
+ Q
+
+
+
+ T
+
+
+
+ P
+
+
+
+ M
+
+
+
+ Y
+
+
+
+ W
+
+
+
+ 9
+
+
+
+ Z
+
+
+
+ X
+
+
+
+ C
+
+
+
+ V
+
+
+
+ B
+
+
+
+ 1
+
+
+
+ 2
+
+
+
+ 3
+
+
+
+ 5
+
+
+
+ 4
+
+
+
+ 0
+
+
+
+ Generic SQL
+
+
+
+ Policy
+
+
+
+ 8
+
+
+
+
+ NumberedTextEditor
+
+ Upper case
+
+
+
+ Lower case
+
+
+
+ Ident right
+
+
+
+ Ident left
+
+
+
+ Load
+ Carregar
+
+
+ Load the object's source code from an external file
+
+
+
+ Edit
+ Editar
+
+
+ Edit the source code in the preferred external editor
+
+
+
+ Clear
+
+
+
+ SQL file (*.sql);;All files (*.*)
+
+
+
+ Load file
+
+
+
+ The source editor `%1' is running on `pid: %2'.
+
+
+
+ Could not start the source code editor application `%1'! Make to sure that the source editor path defined in the general settings points to a valid executable and the current user has permission to run the application. Error message returned: `%2'
+
+
+
+
+ ObjectDepsRefsWidget
+
+ Dependencies
+ Dependências
+
+
+ Object
+ Objeto
+
+
+ Type
+ Tipo
+
+
+ Parent Object
+ Objeto Pai
+
+
+ Parent Type
+ Tipo Pai
+
+
+ References
+ Referências
+
+
+ Object's dependencies & references
+
+
+
+ ID
+
+
+
+ Exclude indirect dependencies
+
+
+
+ Include indirect references
+
+
+
+ This object does not exists anymore. The dependencies and references listing are disabled.
+
+
+
+
+ ObjectFinderWidget
+
+ Form
+ Formulário
+
+
+ Pattern:
+
+
+
+ Defines the search filter
+
+
+
+ Filter
+
+
+
+ Clears the search results
+
+
+
+ Clear
+
+
+
+ ...
+
+
+
+ Hide this widget
+
+
+
+ Regular Expression
+
+
+
+ Exact Match
+
+
+
+ Select All
+
+
+
+ Clear All
+
+
+
+ Case Sensitive
+
+
+
+ ID
+
+
+
+ Object
+ Objeto
+
+
+ Type
+ Tipo
+
+
+ Parent Object
+ Objeto Pai
+
+
+ Parent Type
+ Tipo Pai
+
+
+ Find
+
+
+
+ Found <strong>%1</strong> object(s).
+
+
+
+ No objects found.
+
+
+
+ (Un)selects the graphical objects in the results grid
+
+
+
+ Select
+ Selecionar
+
+
+ Fades outs all the graphical objects in the results grid (or those not listed). The current fade in/out state of all objects is modified.
+
+
+
+ Fade out
+
+
+
+ Listed
+
+
+
+ Not listed
+
+
+
+
+ ObjectRenameWidget
+
+ Form
+ Formulário
+
+
+ ....
+
+
+
+ to:
+ para:
+
+
+ Rename
+ Renomear
+
+
+ Cancel
+ Cancelar
+
+
+
+ ObjectSelectorWidget
+
+ Form
+ Formulário
+
+
+ Clear field
+ Limpar campo
+
+
+ Select Object
+ Selecionar Objeto
+
+
+ Select %1
+
+
+
+
+ ObjectsTableWidget
+
+ Form
+ Formulário
+
+
+ Add Item
+ Adicionar Item
+
+
+ Ins
+
+
+
+ Remove Item
+ Remover Item
+
+
+ Del
+
+
+
+ Update Item
+ Atualizar Item
+
+
+ Alt+R
+
+
+
+ Remove All
+
+
+
+ Shift+Del
+
+
+
+ Duplicate item
+
+
+
+ Ctrl+D
+
+
+
+ Edit Item
+ Editar Item
+
+
+ Space
+
+
+
+ Move Up
+ Mover para cima
+
+
+ Ctrl+Up
+
+
+
+ Move Down
+ Mover para baixo
+
+
+ Ctrl+Down
+
+
+
+ Move to start
+ Mover para o início
+
+
+ Ctrl+Home
+
+
+
+ Move to end
+
+
+
+ Ctrl+End, Ctrl+S
+
+
+
+ Confirmation
+ Confirmação
+
+
+ Do you really want to remove the selected item?
+
+
+
+ Do you really want to remove all the items?
+
+
+
+
+ OperationList
+
+ (invalid object)
+
+
+
+
+ OperationListWidget
+
+ Executed Operations
+ Operações Executadas
+
+
+ 1
+
+
+
+ Operations:
+ Operações:
+
+
+ 0
+
+
+
+ Position:
+ Posição:
+
+
+ Delete operation history
+ Apagar histórico de operações
+
+
+ Undo
+ Desfazer
+
+
+ Redo
+ Refazer
+
+
+ Object: %1
+ Objeto: %1
+
+
+ Name: %1
+ Nome: %1
+
+
+ created
+ criado
+
+
+ removed
+ removido
+
+
+ modified
+ modificado
+
+
+ moved
+ movido
+
+
+ Operation: %1
+ Operação: %1
+
+
+ Operation history exclusion
+ Exclusão de histórico de operações
+
+
+ Delete the executed operations history is an irreversible action, do you want to continue?
+ Apagar o histórico de operações executadas é uma ação irreversível, deseja realmente prosseguir?
+
+
+ Hide this widget
+
+
+
+ ...
+
+
+
+
+ OperatorClassWidget
+
+ Default Class:
+ Classe Padrão:
+
+
+ Indexing:
+ Indexação:
+
+
+ Elements
+ Elementos
+
+
+ Operator
+ Operador
+
+
+ Function
+ Função
+
+
+ Storage
+ Armazenamento
+
+
+ Function:
+ Função:
+
+
+ Operator:
+ Operador:
+
+
+ Support/Strategy:
+ Suporte/Estratégia:
+
+
+ Storage Type
+ Tipo de Armazenamento
+
+
+ Object
+ Objeto
+
+
+ Type
+ Tipo
+
+
+ Support/Strategy
+ Suporte/Estratégia
+
+
+ Element Type:
+ Tipo de Elemento:
+
+
+ Op. Family:
+ Família de Op.:
+
+
+ Operator Family
+ Família de Operadores
+
+
+
+ OperatorFamilyWidget
+
+ Indexing:
+ Indexação:
+
+
+
+ OperatorWidget
+
+ HASHES
+
+
+
+ Options:
+ Opções:
+
+
+ MERGES
+
+
+
+ Arguments
+ Argumentos
+
+
+ Join:
+ Junção:
+
+
+ Right Argument Type
+ Tipo Argumento Direita
+
+
+ Left Argument Type
+ Tipo Argumento Esquerda
+
+
+ To create a unary operator it is necessary to specify as <strong><em>'any'</em></strong> one of its arguments. Additionally, the function that defines the operator must have only one parameter and this, in turn, must have the same data type of the the argument of unary operator.
+ Para criar um operador unário é necessário especificar como <strong><em>'any'</em></strong> um de seus argumentos. Adicionalmente, a função que define o operador deve possuir apenas um parâmetro e este, por sua vez, deve ter o tipo de dado igual ao tipo de dado do argumento do operador unário.
+
+
+ Advanced
+ Avançado
+
+
+ Restrict:
+ Restrito:
+
+
+ Negator:
+ Negador:
+
+
+ Operator Func.:
+ Fun. Operador:
+
+
+ Commutator:
+
+
+
+
+ ParameterWidget
+
+ Default Value:
+ Valor Padrão:
+
+
+ Mode:
+ Modo:
+
+
+ IN
+
+
+
+ OUT
+
+
+
+ VARIADIC
+
+
+
+
+ PermissionWidget
+
+ Roles
+ Papéis
+
+
+ ID:
+
+
+
+ Permissions
+ Permissões
+
+
+ Add Permission
+ Adicionar Permissão
+
+
+ Update Permission
+ Atualizar Permissão
+
+
+ Cancel Operation
+ Cancelar Operação
+
+
+ Privileges
+ Privilégios
+
+
+ Privilege
+ Privilégio
+
+
+ GRANT OPTION
+
+
+
+ Id
+
+
+
+ Disable SQL code
+ Desabilitar código SQL
+
+
+ Cascade
+ Cascata
+
+
+ Edit permissions
+ Editar permissões
+
+
+ &Grant
+
+
+
+ Re&voke
+
+
+
+ Code Preview
+ Previsão de Código
+
+
+ -- No permissions defined for the specified object!
+
+
+
+ /* Could not generate the SQL code preview for permissions!
+
+
+
+ Name
+ Nome
+
+
+ Leave the <em><strong>Roles</strong></em> grid empty in order to create a %1 applicable to <strong><em>PUBLIC</em></strong>.
+
+
+
+
+ PgModelerCLI
+
+ Unrecognized option '%1'.
+ Opção '%1' não reconehcida.
+
+
+ Value not specified for option '%1'.
+ Valor não specificado para a opção '%1'.
+
+
+ Option '%1' does not accept values.
+ Opção '%1' não aceita valores.
+
+
+ Usage: pgmodeler-cli [OPTIONS]
+ Uso: pgmodeler-cli [OPÇÕES]
+
+
+ command line interface.
+ interface da linha de comando.
+
+
+ DBMS export options:
+ Opções da exportação SGBD:
+
+
+ Input file must be different from output!
+ Arquivo de entrada deve ser diferente do de saída!
+
+
+ Incomplete connection information!
+ Informação de conexão incompleta!
+
+
+ Starting model export...
+ Iniciando exportação de modelo...
+
+
+ General options:
+
+
+
+ PNG and SVG export options:
+
+
+
+ Miscellaneous options:
+
+
+
+ There are no connections configured.
+
+
+
+ Invalid zoom specified!
+
+
+
+ Invalid action specified to update mime option!
+
+
+
+ Starting model fixing...
+
+
+
+ Starting mime update...
+
+
+
+ Model successfully fixed!
+
+
+
+ Extracting objects' XML...
+
+
+
+ Invalid input file! It seems that is not a pgModeler generated model or the file is corrupted!
+
+
+
+ Recreating objects...
+
+
+
+
+** Object(s) that couldn't fixed:
+
+
+
+ WARNING: There are objects that maybe can't be fixed. Trying again... (tries %1/%2)
+
+
+
+ Database model files (.dbm) are already associated to pgModeler!
+
+
+
+ There is no file association related to pgModeler and .dbm files!
+
+
+
+ Mime database operation: %1
+
+
+
+ Can't erase the file %1! Check if the current user has permissions to delete it and if the file exists.
+
+
+
+ Running update-mime-database command...
+
+
+
+ Connection aliased as '%1' was not found in the configuration file.
+
+
+
+ PostgreSQL Database Modeler Project - pgmodeler.io
+
+
+
+ Copyright 2006-2018 Raphael A. Silva <raphael@pgmodeler.io>
+
+
+
+ This CLI tool provides several operations over models and databases without the need to perform them
+in pgModeler's graphical interface. All available options are described below.
+
+
+
+ %1, %2 [FILE] Input model file (.dbm). This is mandatory for fix, export operations.
+
+
+
+ %1, %2 [DBNAME] Input database name. This is mandatory for import operation.
+
+
+
+ %1, %2 [FILE] Output file. This is mandatory for fixing model or exporting to file, png or svg.
+
+
+
+ %1, %2 Try to fix the structure of the input model file in order to make it loadable again.
+
+
+
+ %1, %2 [NUMBER] Model fix tries. When reaching the maximum count the invalid objects will be discarded.
+
+
+
+ %1, %2 Export the input model to a sql script file.
+
+
+
+ %1, %2 Export the input model to a png image.
+
+
+
+ %1, %2 Export the input model to a svg file.
+
+
+
+ %1, %2 Export the input model directly to a PostgreSQL server.
+
+
+
+ %1, %2 Import a database to an output file.
+
+
+
+ %1, %2 Compares a model and a database or two databases generating the SQL script to synch the latter in relation to the first.
+
+
+
+ %1, %2 Force the PostgreSQL version of generated SQL code.
+
+
+
+ %1, %2 Silent execution. Only critical messages and errors are shown during process.
+
+
+
+ %1, %2 Show this help menu.
+
+
+
+ Connection options:
+
+
+
+ %1, %2 List available connections in file %3.
+
+
+
+ %1, %2 [ALIAS] Connection configuration alias to be used.
+
+
+
+ %1, %2 [HOST] PostgreSQL host in which a task will operate.
+
+
+
+ %1, %2 [PORT] PostgreSQL host listening port.
+
+
+
+ %1, %2 [USER] PostgreSQL username.
+
+
+
+ %1, %2 [PASSWORD] PostgreSQL user password.
+
+
+
+ %1, %2 [DBNAME] Connection's initial database.
+
+
+
+ %1, %2 Draws the grid in the exported image.
+
+
+
+ %1, %2 Draws the page delimiters in the exported image.
+
+
+
+ %1, %2 Each page will be exported in a separated png image. (Only for PNG images)
+
+
+
+ %1, %2 [FACTOR] Applies a zoom (in percent) before export to png image. Accepted zoom interval: %3-%4 (Only for PNG images)
+
+
+
+ %1, %2 Ignores errors related to duplicated objects that eventually exist in the server.
+
+
+
+ %1, %2 [CODES] Ignores additional errors by their codes. A comma-separated list of alphanumeric codes should be provided.
+
+
+
+ %1, %2 Drop the database before execute a export process.
+
+
+
+ %1, %2 Runs the DROP commands attached to SQL-enabled objects.
+
+
+
+ %1, %2 Simulates an export process by executing all steps but undoing any modification in the end.
+
+
+
+ %1, %2 Generates temporary names for database, roles and tablespaces when in simulation mode.
+
+
+
+ Database import options:
+
+
+
+ %1, %2 Ignore all errors and try to create as many as possible objects.
+
+
+
+ %1, %2 Import system built-in objects. This option causes the model bloating due to the importing of unneeded objects.
+
+
+
+ %1, %2 Import extension objects. This option causes the model bloating due to the importing of unneeded objects.
+
+
+
+ %1, %2 Run import in debug mode printing all queries executed in the server.
+
+
+
+ Diff options:
+
+
+
+ %1, %2 [DBNAME] The database used in the comparison. All the SQL code generated is applied to it.
+
+
+
+ %1, %2 Save the generated diff code to output file.
+
+
+
+ %1, %2 Apply the generated diff code on the database server.
+
+
+
+ %1, %2 Don't preview the generated diff code when applying it to the server.
+
+
+
+ %1, %2 Drop cluster level objects like roles and tablespaces.
+
+
+
+ %1, %2 Revoke permissions already set on the database. New permissions configured in the input model are still applied.
+
+
+
+ %1, %2 Drop missing objects. Generates DROP commands for objects that are present in the input model but not in the compared database.
+
+
+
+ %1, %2 Force the drop of missing columns and constraints. Causes only columns and constraints to be dropped, other missing objects aren't removed.
+
+
+
+ %1, %2 Rename the destination database when the names of the involved databases are different.
+
+
+
+ %1, %2 Don't drop or truncate objects in cascade mode.
+
+
+
+ %1, %2 Truncate tables prior to alter columns. Avoids errors related to type casting when the new type of a column isn't compatible to the old one.
+
+
+
+ %1, %2 Don't reuse sequences on serial columns. Drop the old sequence assigned to a serial column and creates a new one.
+
+
+
+ %1, %2 Don't force the recreation of objects. Avoids the usage of a DROP and CREATE commands to create a new version of the objects.
+
+
+
+ %1, %2 Don't recreate the unmodifiable objects. These objects are the ones which can't be changed via ALTER command.
+
+
+
+ %1, %2 [ACTION] Handles the file association to .dbm files. The ACTION can be [%3 | %4].
+
+
+
+ ** The diff process allows the usage of the following options related to import and export operations:
+
+
+
+ * Export:
+
+
+
+ * Import:
+
+
+
+ ** When running the diff using two databases (%1 and %2) there's the need to specify two connections/aliases.
+
+
+
+ If only one connection is set it will be used to import the input database as well to retrieve database used in the comparison.
+
+
+
+ A second connection can be specified by appending a 1 on any connection configuration parameter listed above.
+
+
+
+ Available connections (alias : connection string)
+
+
+
+ No operation mode was specified!
+
+
+
+ Export, fix model, import database, diff and update mime operations can't be used at the same time!
+
+
+
+ Multiple export mode was specified!
+
+
+
+ No input file was specified!
+
+
+
+ No input database was specified!
+
+
+
+ No output file was specified!
+
+
+
+ No input file or database was specified!
+
+
+
+ The input file and database can't be used at the same time!
+
+
+
+ No database to be compared was specified!
+
+
+
+ No diff action (save or apply) was specified!
+
+
+
+ No output file for the diff code was specified!
+
+
+
+ ** Error code `%1' found and ignored. Proceeding with export.
+
+
+
+ ** Command: %1
+
+
+
+ Loading input file: %1
+
+
+
+ Fixed model file: %1
+
+
+
+ Export to PNG image: %1
+
+
+
+ Export to SVG file: %1
+
+
+
+ Export to SQL script file: %1
+
+
+
+ Export to DBMS: %1
+
+
+
+ Export successfully ended!
+
+
+
+
+ Starting database import...
+
+
+
+ Input database: %1
+
+
+
+ Saving the imported database to file...
+
+
+
+ Import successfully ended!
+
+
+
+
+ Starting diff process...
+
+
+
+ Input model: %1
+
+
+
+ Compare to: %1
+
+
+
+ Loading input model...
+
+
+
+ Importing the database `%1'...
+
+
+
+ Comparing the generated models...
+
+
+
+ No differences were detected.
+
+
+
+ Saving diff to file `%1'
+
+
+
+ ** WARNING: You are about to apply the generated diff code to the server. Data can be lost in the process!
+
+
+
+ ** Proceed with the diff applying? (yes/no) >
+
+
+
+ yes
+
+
+
+ no
+
+
+
+ Diff code not applied to the server.
+
+
+
+ Applying diff to the database `%1'...
+
+
+
+ Diff successfully ended!
+
+
+
+
+ Mime database successfully updated!
+
+
+
+
+
+ PgModelerPlugin
+
+ Plugin Information
+ Informação do Plugin
+
+
+ Version: %1
+ Versão: %1
+
+
+ Author: %1
+ Autor: %1
+
+
+
+ PgModelerUiNS
+
+ Do you want to apply the <strong>SQL %1 status</strong> to the object's references too? This will avoid problems when exporting or validating the model.
+
+
+
+ disabling
+
+
+
+ enabling
+
+
+
+
+ PgSQLTypeWidget
+
+ Form
+ Formulário
+
+
+ Data Type
+ Tipo de Dado
+
+
+ SRID:
+
+
+
+ Variation:
+ Variação:
+
+
+ Z
+
+
+
+ M
+
+
+
+ Precision
+ Precisão
+
+
+ Spatial:
+ Espacial:
+
+
+ Dimension
+ Dimensão
+
+
+ Format:
+ Formato:
+
+
+ Timezone:
+ Fuso horário:
+
+
+ Type:
+ Tipo:
+
+
+ P:
+
+
+
+ Length
+ Comprimento
+
+
+ L:
+
+
+
+ Interval:
+ Intervalo:
+
+
+ [ ]:
+
+
+
+ NONE
+
+
+
+
+ PluginsConfigWidget
+
+ Form
+ Formulário
+
+
+ Plug-ins root directory:
+ Diretório raiz de plugins:
+
+
+ Open in file manager
+ Abrir gerenciador de arquivos
+
+
+ Loaded plug-ins
+ Plugins carregados
+
+
+ Plugin
+
+
+
+ Version
+ Versão
+
+
+ Library
+ Biblioteca
+
+
+
+ PolicyWidget
+
+ Basics
+
+
+
+ Command:
+
+
+
+ Permissive
+
+
+
+ Roles
+ Papéis
+
+
+ Expressions
+
+
+
+ USING:
+
+
+
+ CHECK:
+
+
+
+ Name
+ Nome
+
+
+ Leave the <em><strong>Roles</strong></em> grid empty in order to create a %1 applicable to <strong><em>PUBLIC</em></strong>.
+
+
+
+
+ QObject
+
+ new_database
+ novo_banco_de_dados
+
+
+ %1 (line: %2)
+ %1 (linha: %2)
+
+
+
+ Relationship
+
+ %1_has_one_%2
+ %1_tem_um_%2
+
+
+ %1_has_many_%2
+ %1_tem_muitos_%2
+
+
+ many_%1_has_many_%2
+ muitos_%1_tem_muitos_%2
+
+
+ %1_inherits_%2
+ %1_herda_de_%2
+
+
+ %1_copies_%2
+ %1_copia_de_%2
+
+
+
+ RelationshipConfigWidget
+
+ Form
+ Formulário
+
+
+ Connection Mode
+
+
+
+ Connect FK to PK columns
+
+
+
+ Connect tables' center points
+
+
+
+ FK Settings && Patterns
+
+
+
+ Foreign key settings
+
+
+
+ Deferral:
+ Postergação:
+
+
+ Deferrable:
+ Postergável:
+
+
+ ON DELETE:
+
+
+
+ ON UPDATE:
+
+
+
+ Name patterns
+
+
+
+ Pattern for foreign key generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+
+
+
+ Foreign Key (Source):
+
+
+
+ Relationship type:
+
+
+
+ Pattern for columns generated based upon target table's pk (n-n).
+
+
+
+ Column (Target):
+
+
+
+ One to one (1:1)
+
+
+
+ One to many (1:n)
+
+
+
+ Many to many (n:n)
+
+
+
+ Generalization
+ Generalização
+
+
+ Copy
+ Copiar
+
+
+ Pattern for columns generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+
+
+
+ Column (Source):
+
+
+
+ Pattern for foreign key generated based upon target table's pk (n-n).
+
+
+
+ Foreign Key (Target):
+
+
+
+ Pattern for unique key generated by the relationship.
+
+
+
+ Unique Key Name:
+
+
+
+ Pattern for primary key generated by identifier relationship.
+
+
+
+ Primary Key Name:
+
+
+
+ Primary Key Column:
+
+
+
+ Default
+ Padrão
+
+
+ This mode renders the relationships in crow's foot notation which has a better semantics and readability. It also determines the optimal point where the relationship is connected on the tables' edges taking their position into account.
+
+
+
+ Crow's foot notation
+
+
+
+ This mode determines the optimal point where the relationship is connected on the tables' edges taking their position into account. It implies the usage of the classical ER notation.
+
+
+
+ Connect tables' edges
+
+
+
+ This mode is available only for <strong>one-to-one</strong>, <strong>one-to-many</strong> and <strong>fk relationships</strong> but provides a better semantics when linking tables by placing the lines on the exact point where the relationship occurs. It implies the usage of the classical ER notation.
+
+
+
+ This mode is the classical one. It connects the relationship to tables through their central points. It implies the usage of the classical ER notation.
+
+
+
+
+ RelationshipWidget
+
+ General
+ Geral
+
+
+ One to one relationship
+ Relacionamento de um para um
+
+
+ One to many relationship
+ Relacionamento de um para muitos
+
+
+ 1-n
+
+
+
+ Many to many relationship
+ Relacionamento de muitos para muitos
+
+
+ n-n
+
+
+
+ Generalization relationship (inheritance)
+ Relacionamento de generalização (herança)
+
+
+ Dependency / Copy relationship
+ Relacionamento de Dependência / Cópia
+
+
+ dep
+
+
+
+ Relationship generated via foreign key
+ Relacionamento gerado via chave estrangeira
+
+
+ fk
+
+
+
+ Identifier
+ Identificador
+
+
+ Table 1:
+ Tabela 1:
+
+
+ Table 2:
+ Tabela 2:
+
+
+ Cardinality:
+ Cardinalidade:
+
+
+ [SRC] is required
+ [SRC] é requerido
+
+
+ [DST] is required
+ [DST] é requerido
+
+
+ Name of the table generated from many to many relationship
+ Nome da tabela gerada pelo relacionamento muitos para muitos
+
+
+ Deferrable:
+ Postergável:
+
+
+ Deferral:
+ Postergação:
+
+
+ Attributes
+ Atributos
+
+
+ Constraints
+ Restrições
+
+
+ Primary key
+ Chave primária
+
+
+ Advanced
+ Avançado
+
+
+ Attribute
+ Atributo
+
+
+ Type
+ Tipo
+
+
+ Constraint
+ Restrição
+
+
+ Name
+ Nome
+
+
+ This advanced tab shows the objects (columns or table) auto created by the relationship's connection as well the foreign keys that represents the link between the participant tables.
+ Esta aba avançada mostra os objetos (colunas ou tabela) auto criados pela conexão do relacionamento, bem como as chaves estrangeiras que representam a ligação entre as tabelas participantes.
+
+
+ is required
+ é requerido
+
+
+ Reference Table:
+ Tabela Referência:
+
+
+ Receiver Table:
+ Tabela Receptora:
+
+
+ Copy Options
+ Opções de Cópia
+
+
+ INDEXES
+
+
+
+ COMMENTS
+
+
+
+ INCLUDING
+
+
+
+ DEFAULTS
+
+
+
+ CONSTRAINTS
+
+
+
+ Use defaults
+ Usar padrões
+
+
+ ALL
+
+
+
+ STORAGE
+
+
+
+ Name Patterns
+
+
+
+ Use the values defined on settings dialogs for the fields below
+
+
+
+ Use global settings for these fields
+
+
+
+ Pattern for columns generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+
+
+
+ Column (Source):
+
+
+
+ Pattern for columns generated based upon target table's pk (n-n).
+
+
+
+ Column (Target):
+
+
+
+ Pattern for foreign key generated based upon reference table's pk (1-1 and 1-n) or based upon source table's pk (n-n).
+
+
+
+ Foreign Key (Source):
+
+
+
+ Pattern for foreign key generated based upon target table's pk (n-n).
+
+
+
+ Foreign Key (Target):
+
+
+
+ Pattern for primary key generated by identifier relationship.
+
+
+
+ Primary Key Name:
+
+
+
+ Pattern for unique key generated by the relationship.
+
+
+
+ Unique Key Name:
+
+
+
+ Primay Key Column:
+
+
+
+ Gen. Table Name:
+
+
+
+ Rel. Type:
+
+
+
+ Foreign key Settings
+
+
+
+ ON DELETE:
+
+
+
+ ON UPDATE:
+
+
+
+ &1-1
+
+
+
+ &gen
+
+
+
+ The receiver's primary key will be composed by the generated foreign key columns.
+
+
+
+ Instead of create a multi-valued primary key with the generated foreign keys columns a single column is created and used as primary key.
+
+
+
+ Single PK column
+
+
+
+ Custom Color:
+
+
+
+ E&XCLUDING
+
+
+
+ Use the special primary key if you want to include a primary key containing generated columns to the receiver table. <strong>Important:</strong> if this is a new relationship there is a need to finish its creation and reopen this dialog to create the special primary key.
+
+
+
+ Available tokens to define name patterns:<br/> <strong>%1</strong> = Reference (source) primary key column name. <em>(Ignored on constraint patterns)</em><br/> <strong>%2</strong> = Reference (source) table name.<br/> <strong>%3</strong> = Receiver (destination) table name.<br/> <strong>%4</strong> = Generated table name. <em>(Only for n:n relationships)</em>
+
+
+
+ Default
+ Padrão
+
+
+ Referer View:
+
+
+
+ Referer view references one or more columns of a table to construct it's own columns.
+
+
+
+ Referenced table has its columns referenced by a view in order to construct the columns of this latter.
+
+
+
+ Referer Table:
+
+
+
+ Referer table references one or more columns of a table through foreign keys. This is the (n) side of relationship.
+
+
+
+ Referenced table has its columns referenced by a table's foreign key. This is the (1) side of relationship.
+
+
+
+ Referenced Table:
+ Tab. Referenciada:
+
+
+ Reference table has the columns from its primary key will copied to the receiver table in order to represent the linking between them. This is the (1) side of relationship.
+
+
+
+ Receiver (or referer) table will receive the generated columns and the foreign key in order to represent the linking between them. This is the (n) side of relationship.
+
+
+
+ In many-to-many relationships both tables are used as reference to generate the table that represents the linking. Columns from both tables are copied to the resultant table and two foreign keys are created as well in order to reference each participant table.
+
+
+
+
+ ResultSetModel
+
+ [binary data]
+
+
+
+
+ RoleWidget
+
+ Password:
+ Senha:
+
+
+ Connections:
+ Conexões:
+
+
+ Attributes
+ Atributos
+
+
+ Superuser
+ Superusuário
+
+
+ Members
+ Membros
+
+
+ Member of
+ Membro de
+
+
+ Members (Admin.)
+ Membros (Admin.)
+
+
+ Role
+ Papel
+
+
+ Validity
+ Validade
+
+
+ Encrypted
+ Encriptado
+
+
+ yyyy-MMM-dd hh:mm:ss
+
+
+
+ Assigning <strong><em>-1</em></strong> to <strong><em>Connections</em></strong> creates a role without connection limit.<br/> Unchecking <strong><em>Validity</em></strong> creates an role that never expires.
+
+
+
+ Inherit permissions
+
+
+
+ Can create database
+
+
+
+ Bypass RLS
+
+
+
+ Can use replication
+
+
+
+ Can login
+
+
+
+ Can create role
+
+
+
+
+ RuleWidget
+
+ Event:
+ Evento:
+
+
+ Execution Type:
+ Tipo Execução:
+
+
+ Conditional Expr.:
+ Expr. Condicional:
+
+
+ SQL Command:
+ Comando SQL:
+
+
+ SQL command
+ Comando SQL
+
+
+ To create a rule that does not perform any action (<strong>DO NOTHING</strong>) simply do not specify commands in the SQL commands table.
+ Para criar uma regra que não execute ação alguma (<strong>DO NOTHING</strong>) basta não especificar comandos na tabela de comandos SQL.
+
+
+ Commands
+
+
+
+
+ SQLExecutionWidget
+
+ Form
+ Formulário
+
+
+ Save SQL commands
+
+
+
+ Search in SQL code
+
+
+
+ Alt+F
+
+
+
+ Run the specified SQL command
+
+
+
+ Run SQL
+
+
+
+ F6
+
+
+
+ Clear sql input field and results
+
+
+
+ Clear All
+
+
+
+ Export results to a CSV file
+
+
+
+ Snippe&ts
+
+
+
+ E&xport
+
+
+
+ Toggles the output pane
+
+
+
+ &Output
+
+
+
+ Alt+O
+
+
+
+ Results
+
+
+
+ ...
+
+
+
+ Messages
+
+
+
+ History
+
+
+
+ SQL file (*.sql);;All files (*.*)
+
+
+
+ [binary data]
+
+
+
+ No results retrieved or changes done due to the error above.
+
+
+
+ Messages (%1)
+
+
+
+ Results (%1)
+
+
+
+ Rows affected
+
+
+
+ Rows retrieved
+
+
+
+ Load SQL commands
+
+
+
+ Save CSV file
+
+
+
+ Comma-separated values file (*.csv);;All files (*.*)
+
+
+
+ The SQL input field and the results grid will be cleared! Want to proceed?
+
+
+
+ Copy selection
+
+
+
+ Clear history
+
+
+
+ Close the current SQL script
+
+
+
+ SQL script currently handled
+
+
+
+ (not saved)
+
+
+
+ Handle external SQL script
+
+
+
+ &Script
+
+
+
+ Fi&nd
+
+
+
+ Alt+T
+
+
+
+ Alt+X
+
+
+
+ Current working database
+
+
+
+ Load
+ Carregar
+
+
+ Save
+ Salvar
+
+
+ Save as
+ Salvar como
+
+
+ [%1]: SQL command successfully executed in <em><strong>%2</strong></em>. <em>%3 <strong>%4</strong></em>
+
+
+
+ Plain format
+
+
+
+ CVS format
+
+
+
+ This action will wipe out all the SQL commands history for all connections! Do you really want to proceed?
+
+
+
+ Save history
+
+
+
+ Reload history
+
+
+
+ Find in history
+
+
+
+ Hide find tool
+
+
+
+ This action will wipe out all the SQL commands history for the current connection! Do you really want to proceed?
+
+
+
+
+ SQLToolWidget
+
+ Form
+ Formulário
+
+
+ Database explorer
+
+
+
+ Disconnect from all databases
+
+
+
+ ...
+
+
+
+ Update the database list
+
+
+
+ Toggle the object's attributes grid
+
+
+
+ Attributes
+ Atributos
+
+
+ Alt+R
+
+
+
+ Toggle the display of source code pane
+
+
+
+ Source code
+
+
+
+ SQL execution
+
+
+
+ Warning
+
+
+
+ <strong>ATTENTION:</strong> Disconnect from all databases will close any opened tab in this view! Do you really want to proceed?
+
+
+
+
+ SceneInfoWidget
+
+ Form
+ Formulário
+
+
+ Current position of the mouse in the canvas
+
+
+
+ -
+
+
+
+ Current zoom factor
+
+
+
+ Currently selected object(s)
+
+
+
+ Dimensions of the selected object(s)
+
+
+
+ No selection
+
+
+
+ N/A
+
+
+
+ Sel. objects: %1
+
+
+
+
+ SchemaWidget
+
+ Show rectangle
+ Mostrar retângulo
+
+
+ Fill color:
+ Cor de preenchimento:
+
+
+
+ SequenceWidget
+
+ Cyclic:
+ Cíclica:
+
+
+ Start:
+ Início:
+
+
+ Maximum:
+ Máximo:
+
+
+ Minimum:
+ Mínimo:
+
+
+ Increment:
+ Incremento:
+
+
+ Cache:
+ Cache:
+
+
+ Owner Col.:
+
+
+
+ Defualt values:
+
+
+
+ User defined
+
+
+
+
+ SnippetsConfigWidget
+
+ Form
+ Formulário
+
+
+ Label:
+
+
+
+ Applies to:
+
+
+
+ ID:
+
+
+
+ Create new connection
+ Criar nova conexão
+
+
+ Cancel edition
+ Cancelar edição
+
+
+ Edit selected connection
+ Editar conexão selecionada
+
+
+ Delete selected connection
+
+
+
+ Remove All
+
+
+
+ Shift+Del
+
+
+
+ Snippets:
+
+
+
+ Parse the snippet in order to check if there are syntax errors.
+
+
+
+ Parse
+
+
+
+ Add
+ Adicionar
+
+
+ Update
+ Atualizar
+
+
+ Parsable or dynamic snippets are written in the <strong>schema micro language</strong> syntax. When using a parsable snippet the attributes surrounded in <strong>{}</strong> will be replaced by the selected object's matching attributes.
+
+
+
+ Parsable
+
+
+
+ When handling parsable snippets empty attributes will be replaced by a value in the format <strong>{attribute}</strong>. Note that this option can affect the semantics of the resulting snippet.
+
+
+
+ Placeholders
+
+
+
+ Filter:
+
+
+
+ General purpose
+
+
+
+ All snippets
+
+
+
+ /* Error parsing the snippet '%1':
+
+ %2 */
+
+
+
+ Duplicated snippet id <strong>%1</strong> detected. Please, specify a different one!
+
+
+
+ Invalid ID pattern detected <strong>%1</strong>. This one must start with at leat one letter and be composed by letters, numbers and/or underscore!
+
+
+
+ Empty label for snippet <strong>%1</strong>. Please, specify a value for it!
+
+
+
+ Empty code for snippet <strong>%1</strong>. Please, specify a value for it!
+
+
+
+ The dynamic snippet contains syntax error(s). Additional info: <br/><em>%1</em>
+
+
+
+ Do you really want to remove all snippets?
+
+
+
+ No syntax errors found in the snippet.
+
+
+
+ General
+ Geral
+
+
+
+ SourceCodeWidget
+
+ Version:
+ Versão:
+
+
+ PostgreSQL
+
+
+
+ iconecodigo
+ íconecódigo
+
+
+ SQL
+
+
+
+ XML
+
+
+
+ Source code visualization
+ Visualização de código fonte
+
+
+ Generating source code...
+ Gerando código fonte...
+
+
+ -- SQL code unavailable for this type of object --
+ -- Código SQL não disponível para este tipo de objeto. --
+
+
+ Code display:
+
+
+
+ Original
+
+
+
+ Original + depedencies' SQL
+
+
+
+ Original + children's SQL
+
+
+
+ Save the SQL code to a file.
+
+
+
+ Save SQL
+
+
+
+ <strong>Original:</strong> displays only the original object's SQL code.<br/><br/> <strong>Dependencies:</strong> displays the original code including all dependencies needed to properly create the selected object.<br/><br/> <strong>Children:</strong> displays the original code including all object's children SQL code. This option is used only by schemas, tables and views.
+
+
+
+ Save SQL code as...
+
+
+
+ SQL code (*.sql);;All files (*.*)
+ Código SQL (*.sql);;Todos os Arquivos (*.*)
+
+
+ -- NOTE: the code below contains the SQL for the selected object
+-- as well for its dependencies and children (if applicable).
+--
+-- This feature is only a convinience in order to permit you to test
+-- the whole object's SQL definition at once.
+--
+-- When exporting or generating the SQL for the whole database model
+-- all objects will be placed at their original positions.
+
+
+
+
+
+
+
+
+-- SQL code purposely truncated at this point in demo version!
+
+
+
+ <!-- XML code preview disabled in demonstration version -->
+
+
+
+
+ SwapObjectsIdsWidget
+
+ Change objects creation order
+
+
+
+ Create:
+
+
+
+ ID:
+
+
+
+ Before:
+
+
+
+ Swap the values of the fields
+
+
+
+ Swap values
+
+
+
+ Change the objects creation order is an irreversible operation and cause the operations history to be automatically erased. Note that the creation order configured in this form is not definitive and may change after a model validation.
+
+
+
+ Swap the object ids changing their creation order
+
+
+
+ Swap ids
+
+
+
+ Filter:
+
+
+
+ ID
+
+
+
+ Object
+ Objeto
+
+
+ Type
+ Tipo
+
+
+ Parent Object
+ Objeto Pai
+
+
+ Parent Type
+ Tipo Pai
+
+
+
+ Table
+
+ new_table
+ nova_tabela
+
+
+ In demonstration version tables can have only `%1' instances of each child object type or ancestor tables! You've reach this limit for the type: `%2'
+
+
+
+
+ TableDataWidget
+
+ Edit table data
+
+
+
+ Add empty rows
+
+
+
+ Ins
+
+
+
+ Add an empty column
+
+
+
+ Remove all rows from the grid preserving columns
+
+
+
+ Shift+Del
+
+
+
+ Delete the selected rows
+
+
+
+ Del
+
+
+
+ Duplicate the selected rows
+
+
+
+ Ctrl+D
+
+
+
+ Delete the selected columns
+
+
+
+ Remove all columns (and rows) from the grid
+
+
+
+ Ctrl+Shift+Del
+
+
+
+ Delete columns is an irreversible action! Do you really want to proceed?
+
+
+
+ Remove all rows is an irreversible action! Do you really want to proceed?
+
+
+
+ Remove all columns is an irreversible action! Do you really want to proceed?
+
+
+
+ Unknown column
+
+
+
+ Duplicated column
+
+
+
+ Copy items on the grid
+
+
+
+ Copy
+ Copiar
+
+
+ Add row
+
+
+
+ Delete column
+
+
+
+ Paste items on the grid
+
+
+
+ Paste
+ Colar
+
+
+ Ctrl+V
+
+
+
+ Fills the grid using a CSV file
+
+
+
+ <html><head/><body><p>Some invalid or duplicated columns were detected. In order to solve this issue double-click the header of the highlighted ones in order to define the correct name in which the data belongs to or delete the entire column. Note that these columns are completely ignored when generating the <span style=" font-weight:600;">INSERT</span> commands.</p></body></html>
+
+
+
+ Add column
+
+
+
+ Duplicate rows
+
+
+
+ Change the values of all selected cells at once
+
+
+
+ Bulk data edit
+
+
+
+ Ctrl+E
+
+
+
+ Delete all columns
+
+
+
+ Delete rows
+
+
+
+ <html><head/><body><p>Empty values are assumed as <span style=" font-weight:600;">DEFAULT</span>. To use special values like <span style=" font-weight:600;">NULL</span>, a function call like <span style=" font-weight:600;">now()</span> or a specific data escaping, enclose values in two slashes, e.g., <span style=" font-weight:600;">/value/</span>. To use a slash as part of the value prepend the backslash character, e.g., <span style=" font-weight:600;">\/</span>.</p></body></html>
+
+
+
+ Delete all rows
+
+
+
+
+ TableObjectView
+
+
+Relationship: %1
+
+
+
+
+ TableWidget
+
+ Name
+ Nome
+
+
+ Type
+ Tipo
+
+
+ Default Value
+ Valor Padrão
+
+
+ ON DELETE
+
+
+
+ ON UPDATE
+
+
+
+ Refer. Table
+ Tab. Refer.
+
+
+ Firing
+ Disparo
+
+
+ Events
+ Eventos
+
+
+ Execution
+ Execução
+
+
+ Event
+ Evento
+
+
+ Indexing
+ Indexação
+
+
+ Schema
+ Esquema
+
+
+ Parent
+ Pai
+
+
+ Copy
+ Copiar
+
+
+ Options
+
+
+
+ Tag:
+
+
+
+ With OID
+
+
+
+ Generate ALTER for columns/constraints
+
+
+
+ Unlogged
+
+
+
+ &Columns
+
+
+
+ Co&nstraints
+
+
+
+ Tri&ggers
+
+
+
+ &Rules
+
+
+
+ &Indexes
+
+
+
+ &Tables
+
+
+
+ Edit data
+
+
+
+ Define initial data for the table
+
+
+
+ Enable row level security
+
+
+
+ Force RLS for owner
+
+
+
+ &Policies
+
+
+
+ PK
+
+
+
+ Attribute(s)
+
+
+
+ It is not possible to mark a column as primary key when the table already has a primary key which was created by a relationship! This action should be done in the section <strong>Primary key</strong> of the relationship's editing form.
+
+
+
+ It is not possible to mark a column created by a relationship as primary key! This action should be done in the section <strong>Primary key</strong> of the relationship's editing form.
+
+
+
+ Command
+
+
+
+ Permissive
+
+
+
+ USING expression
+
+
+
+ CHECK expression
+
+
+
+ Roles
+ Papéis
+
+
+ Yes
+ Sim
+
+
+ No
+ Não
+
+
+
+ TablespaceWidget
+
+ Form
+ Formulário
+
+
+ Directory:
+ Diretório:
+
+
+
+ TagWidget
+
+ Colors
+
+
+
+ Body:
+
+
+
+ Title:
+
+
+
+ Schema name:
+
+
+
+ Table name:
+
+
+
+ Extended body:
+
+
+
+
+ TaskProgressWidget
+
+ Executing tasks
+ Executando tarefas
+
+
+ Waiting task to start...
+ Aguardando a tarefa iniciar...
+
+
+
+ TextboxWidget
+
+ Bold
+ Negrito
+
+
+ Italic
+ Itálico
+
+
+ Underline
+ Sublinhado
+
+
+ Select text color
+ Selecionar cor de texto
+
+
+ Font:
+ Fonte:
+
+
+ Text
+
+
+
+ pt
+
+
+
+ Color:
+
+
+
+
+ TriggerWidget
+
+ Event:
+ Evento:
+
+
+ INSERT
+
+
+
+ DELETE
+
+
+
+ UPDATE
+
+
+
+ TRUNCATE
+
+
+
+ Deferrable:
+ Postergável:
+
+
+ Columns
+ Colunas
+
+
+ Column:
+ Coluna:
+
+
+ Arguments
+ Argumentos
+
+
+ Argument:
+ Argumento:
+
+
+ Function:
+ Função:
+
+
+ Column
+ Coluna
+
+
+ Type
+ Tipo
+
+
+ Constraint
+ Restrição
+
+
+ FOR EACH ROW
+
+
+
+ Refer. Table:
+ Tab. Refer.:
+
+
+ Condition:
+ Condição:
+
+
+ Options:
+ Opções:
+
+
+ Excution:
+ Execução:
+
+
+
+ TypeWidget
+
+ Configuration:
+ Configuração:
+
+
+ Base Type
+ Tipo Base
+
+
+ Enumeration
+ Enumeração
+
+
+ Enumerations
+ Enumerações
+
+
+ Enumeration:
+ Enumeração:
+
+
+ Attributes
+ Atributos
+
+
+ Internal Length:
+ Comp. Interno:
+
+
+ Storage:
+ Armazenamento:
+
+
+ Category:
+ Categoria:
+
+
+ Delimiter:
+ Delimitador:
+
+
+ Alignment:
+ Alinhamento:
+
+
+ char
+
+
+
+ smallint
+
+
+
+ integer
+
+
+
+ double precision
+
+
+
+ Default Value:
+ Valor Padrão:
+
+
+ Functions
+ Funções
+
+
+ INPUT:
+
+
+
+ OUTPUT:
+
+
+
+ RECV:
+
+
+
+ SEND:
+
+
+
+ TPMOD_IN:
+
+
+
+ TPMOD_OUT:
+
+
+
+ ANALYZE:
+
+
+
+ Like Type
+ Tipo Como
+
+
+ Element Type
+ Tipo Elemento
+
+
+ Name
+ Nome
+
+
+ Type
+ Tipo
+
+
+ The functions to be assigned to a type should be written in C language and possess, respectively, the following signatures:<br/> <table> <tr> <td><strong>INPUT:</strong> <em>any function(cstring, oid, integer)</em></td> <td><strong>OUTPUT:</strong> <em>cstring function(any)</em></td> </tr> <tr> <td><strong>SEND:</strong> <em>byta function(any)</em></td> <td><strong>RECV:</strong> <em>any function(internal, oid, integer)</em></td> </tr> <tr> <td><strong>TPMOD_IN:</strong> <em>integer function(cstring[])</em></td> <td><strong>TPMOD_OUT:</strong> <em>cstring function(integer)</em></td> </tr> <tr> <td><strong>ANALYZE:</strong> <em>boolean function(internal)</em></td> <tr> </table>
+ As funções a serem atribuídas ao tipo devem ser escritas em linguagem C, e possuírem respectivamente as seguintes assinaturas:<br/> <table> <tr> <td><strong>INPUT:</strong> <em>any funcao(cstring, oid, integer)</em></td> <td><strong>OUTPUT:</strong> <em>cstring funcao(any)</em></td> </tr> <tr> <td><strong>SEND:</strong> <em>byte funcao(any)</em></td> <td><strong>RECV:</strong> <em>any funcao(internal, oid, integer)</em></td> </tr> <tr> <td><strong>TPMOD_IN:</strong> <em>integer funcao(cstring[])</em></td> <td><strong>TPMOD_OUT:</strong> <em>cstring funcao(integer)</em></td> </tr> <tr> <td><strong>ANALYZE:</strong> <em>boolean funcao(internal)</em></td> <tr> </table>
+
+
+ Range
+ Extensão
+
+
+ Options:
+ Opções:
+
+
+ By value
+ Por valor
+
+
+ Preferred
+ Preferido
+
+
+ Collatable
+ Intercalável
+
+
+ Name:
+ Nome:
+
+
+ Collation:
+ Intercalação:
+
+
+ Subtype Diff Func.:
+ Fun. Dif. Subtipo:
+
+
+ Operator Class:
+ Classe de Operadores:
+
+
+ Canonical Func.:
+ Fun. Canônica:
+
+
+ Subtype
+ Subtipo
+
+
+ Collation
+ Intercalação
+
+
+ The functions to be assigned to a range type should have the following signatures:<br/><br/><strong>Canonical:</strong> <em>any function(any)</em> <br/><strong>Subtype Diff:</strong> <em>double precision function(subtype, subtype)</em>
+ As funções para serem atribuídas a um tipo extensão devem ter as seguintes assinaturas:<br/><br/><strong>Canônica:</strong> <em>any funcao(any)</em> <br/><strong>Dif. Subtipo:</strong> <em>double precision funcao(subtipo, subtipo)</em>
+
+
+ Co&mposite
+
+
+
+
+ UpdateNotifierWidget
+
+ Update Notifier
+
+
+
+ Update found!
+
+
+
+ Hide this widget
+
+
+
+ ...
+
+
+
+ Released in:
+
+
+
+ mmm dd, yyyy
+
+
+
+ New version:
+
+
+
+ 0.0.0
+
+
+
+ Changelog
+
+
+
+ Redirects to purchase page.
+
+
+
+ Get binary package
+
+
+
+ Redirects to GitHub source repository.
+
+
+
+ Get source code
+
+
+
+ Failed to check updates
+
+
+
+ No updates found
+
+
+
+ You are running the most recent pgModeler version! No update needed.
+
+
+
+ The update notifier failed to check for new versions! A HTTP status code was returned: <strong>%1</strong>
+
+
+
+ The update notifier failed to check for new versions! Please, verify your internet connectivity and try again! Connection error returned: <em>%1</em> - <strong>%2</strong>.
+
+
+
+
+ ViewWidget
+
+ References
+ Referências
+
+
+ Column
+ Coluna
+
+
+ Expression
+ Expressão
+
+
+ Used in:
+ Usado em:
+
+
+ Table:
+ Tabela:
+
+
+ Table Alias:
+ Apelido de Tabela:
+
+
+ Column:
+ Coluna:
+
+
+ Column Alias:
+ Apelido de Coluna:
+
+
+ Expression:
+ Expressão:
+
+
+ Expression Alias:
+ Apelido de Expressão:
+
+
+ Code Preview
+ Previsão de Código
+
+
+ Col./Expr.
+
+
+
+ Alias
+ Apelido
+
+
+ Alias Col.
+ Apelido Col.
+
+
+ Reference Type:
+ Tipo Referência:
+
+
+ View Definition
+ Definição da Visão
+
+
+ Triggers
+ Gatilhos
+
+
+ Rules
+ Regras
+
+
+ Table Expression
+ Expressão de Tabela
+
+
+ Name
+ Nome
+
+
+ Refer. Table
+ Tab. Refer.
+
+
+ Firing
+ Disparo
+
+
+ Events
+ Eventos
+
+
+ Execution
+ Execução
+
+
+ Event
+ Evento
+
+
+ /* Could not generate the SQL code. Make sure all attributes are correctly filled!
+ /* Não foi possível gerar o código SQL. Certifique-se de que todos os atributos estejam corretamente preenchidos!
+
+
+ Options
+
+
+
+ Tag:
+
+
+
+ Mode:
+ Modo:
+
+
+ Ordinary
+
+
+
+ Recursi&ve
+
+
+
+ &Materialized
+
+
+
+ With no data
+
+
+
+ The element will be used as part of the SELECT statement to retrieve columns or expressions that will compose the view's columns
+
+
+
+ SELECT ...
+
+
+
+ The element will be used as part of the WHERE clause in form of conditional expression
+
+
+
+ WHERE ...
+
+
+
+ The element is used in the FROM portion of the command in order to reference tables or construct JOIN statements
+
+
+
+ FROM ...
+
+
+
+ The element's expression is used exclusively as the view's definition
+
+
+
+ The element will be appended to the very end of the view's definition. This is useful when using GROUP BY/HAVING statements
+
+
+
+ End expression
+
+
+
+ Indexes
+ Índices
+
+
+ Flags: SF FW AW EX VD
+
+
+
+ To reference all columns in a table (*) just do not fill the field <strong>Column</strong>, this is the same as write <em><strong>[schema].[table].*</strong></em>
+
+
+
+ Indexing
+ Indexação
+
+
+
+ WelcomeWidget
+
+ Form
+ Formulário
+
+
+ New model
+
+
+
+ Open model
+
+
+
+ Sample models
+
+
+
+ Recent models
+
+
+
+ Last session
+
+
+
+
diff --git a/assets/lang/zh_CN.qm b/assets/lang/zh_CN.qm
new file mode 100644
index 0000000000..aad7da52c4
Binary files /dev/null and b/assets/lang/zh_CN.qm differ
diff --git a/lang/zh_CN.ts b/assets/lang/zh_CN.ts
similarity index 80%
rename from lang/zh_CN.ts
rename to assets/lang/zh_CN.ts
index deba0c9869..63769bd475 100644
--- a/lang/zh_CN.ts
+++ b/assets/lang/zh_CN.ts
@@ -1,61 +1,6 @@
-
- AboutForm
-
- Version %1
- 版本 %1
-
-
- Close
- 关闭
-
-
- PostgreSQL Database Modeler
- PostgreSQL 数据库建模工具
-
-
- 0.0.0.0
- 0.0.0.0
-
-
- <html><head/><body><p><a href="http://pgmodeler.com.br"><span style=" font-size:11pt; font-style:italic; text-decoration: underline; color:#0057ae;">http://pgmodeler.com.br</span></a></p></body></html>
- <html><head/><body><p><a href="http://pgmodeler.com.br"><span style=" font-size:11pt; font-style:italic; text-decoration: underline; color:#0057ae;">http://pgmodeler.com.br</span></a></p></body></html>
-
-
- Copyright 2006-2012 - Raphael Araújo e Silva <rkhaotix@gmail.com>
-
-The pgModeler project is a CASE tool for modeling relational databases for PostgreSQL DBMS through the use of modeling techniques from entity-relationship diagrams as well merging concepts that PostgreSQL implements.
-
-Special thanks to friends of the software development team of the Legislative Assembly, Tocantins, Brazil: Michel de Almeida, Felipe Santana, Jonas Nepomuceno, Ricardo Ishibashi and Álvaro Nunes.
- 版权所有 2006-2012 - Raphael Araújo e Silva <rkhaotix@gmail.com>
-
-pgModeler 项目是通过使用实体-关系图并结合 PostgreSQL 实现的相关理论概念,对 PostgreSQL DBMS 关系型数据库进行建模的 CASE 工具。
-
-特别感谢巴西托坎廷斯立法大会软件开发团队的朋友们:Michel de Almeida,Felipe Santana,Jonas Nepomuceno,Ricardo Ishibashi 和 Álvaro Nunes。
-
-
- This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 3.
-
-This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
-The complete text of GPLv3 is at LICENSE file on source code root directory. Also, you can get the complete GNU General Public License at <http://www.gnu.org/licenses/>
- 本软件是自由软件。你可以遵照自由软件基金会发布的 GNU 通用公共授权协议第三版本 (GPLv3) 所有条文来修改和重新发布这一程序。
-
-发布这一程序的目的是希望它有用,但没有任何担保;亦无对适售性或特定目的适用性所为的默示性担保。详情请参照GNU通用公共授权。
-
-GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 GNU 通用公共授权协议请见<http://www.gnu.org/licenses/>
-
-
- About pgModeler
- 关于 pgModeler
-
-
- Design, configure, deploy
- 设计, 配置, 部署
-
-AboutWidget
@@ -70,22 +15,10 @@ GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 G
Open source data modeling tool designed for PostgreSQL. No more DDL commands written by hand, let pgModeler do the job for you! This software reunites the concepts of entity-relationship diagrams and the features that PostgreSQL implements as extensions of SQL standards.
-
- Design, configure, deploy
- 设计, 配置, 部署
-
-
- <a href="http://pgmodeler.com.br">http://pgmodeler.com.br</a>
-
- pgModeler is proudly a brazilian software!
-
- <html><head/><body><p>Copyright 2006-2016 - Raphael Araújo e Silva <<a href="mailto:raphael@pgmodeler.com.br"><span style=" text-decoration: underline; color:#0057ae;">raphael@pgmodeler.com.br</span></a>></p></body></html>
-
- Hide this widget
@@ -94,18 +27,6 @@ GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 G
...
-
- 0.0.0.0
- 0.0.0.0
-
-
- (CODE_NAME)
-
-
-
- Build:
-
- (BUILD_NUM)
@@ -115,139 +36,19 @@ GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 G
- Contributors
-
-
-
- <html><head/><body><p>This page is dedicated to all contributors who gave a bit of their time in make pgModeler a better software somehow. The complete list of people that helped pgModeler can be found at <a href="https://github.com/pgmodeler/pgmodeler/graphs/contributors"><span style=" text-decoration: underline; color:#00a489;">GitHub</span></a>.</p><p>If you have a great idea to improve pgModeler please submit it <a href="http://github.com/pgmodeler/pgmodeler/issues"><span style=" text-decoration: underline; color:#00a489;">here</span></a>. No ideas for now but want to help? Why not donate a few bucks <a href="http://pgmodeler.com.br/#donate"><span style=" text-decoration: underline; color:#00a489;">here</span></a>!?</p></body></html>
-
-
-
- 1
- 1
-
-
- 2
- 2
-
-
- 3
- 3
-
-
- 4
- 4
-
-
- 5
- 5
-
-
- 6
- 6
-
-
- 7
- 7
-
-
- 8
- 8
-
-
- Name
- 名称
-
-
- Country
-
-
-
- Contribution
-
-
-
- Damien Degois
-
-
-
- France
-
-
-
- French UI translation and several improvements in auxiliary scripts.
-
-
-
- Ji Bin
-
-
-
- China
-
-
-
- Chinese UI translation and small fixes.
-
-
-
- Pierre-Samuel LE STANG
-
-
-
- French UI translation.
-
-
-
- Lisandro Damián Nicanor
-
-
-
- Argentina
-
-
-
- Improvements on build scripts enabling the custom packaging in Linux distros; Per-user settings; pgModeler's package maintainer in Debian Linux.
-
-
-
- Pavel Alexeev
-
-
-
- Russia
-
-
-
- Additional work for packaging in Linux distros; pgModeler's package maintainer in Fedora Linux.
-
-
-
- Mariusz Fik
-
-
-
- Poland
-
-
-
- Custom packaging first ideas. Tester of first version of custom packaging patch.
-
-
-
- Jonathan DUPRE
-
+ 0.0.0
+ 0.0.0
- Gilberto Castillo
+ build:
- Cuba
+ <html><head/><body><p><a href="http://pgmodeler.com.br"><span style=" text-decoration: underline; color:#2980b9;">https://pgmodeler.io</span></a></p></body></html>
- Spanish UI translation.
+ <html><head/><body><p>Copyright 2006-2018 - Raphael Araújo e Silva <<a href="mailto:raphael@pgmodeler.com.br"><span style=" text-decoration: underline; color:#0057ae;">raphael@pgmodeler.io</span></a>></p></body></html>
@@ -257,18 +58,10 @@ GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 G
Final Function:最终处理函数:
-
- Transition Function:
- 状态转换函数:
- Sort Operator:排序操作符:
-
- Final Condition:
- 最终条件:
- Funtion Inputs函数输入
@@ -289,10 +82,6 @@ GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 G
An aggregate function that accepts the types <em><strong>typeA</strong></em> and <em><strong>typeB</strong></em> as input types and which type of state is <em><strong>state_type</strong></em>, must obey the following rules: <br/><br/> <strong> • Final Function:</strong> <em>void final_function(<strong>state_type</strong>)</em><br/> <strong> • Transition Function:</strong> <em><strong>state_type</strong> transition_function(<strong>state_type</strong>, <strong>typeA</strong>, <strong>typeB</strong>)</em>聚合函数接受类型 <em><strong>typeA</strong></em> 和 <em><strong>typeB</strong></em> 作为输入类型,并且类型状态为 <em><strong>state_type</strong></em>, 函数必须遵循如下规则:<br/><br/> <strong> •最终处理函数:</strong> <em>void final_function(<strong>state_type</strong>)</em><br/> <strong> • 过渡处理函数:</strong> <em><strong>state_type</strong> transition_function(<strong>state_type</strong>, <strong>typeA</strong>, <strong>typeB</strong>)</em>
-
- Form
- Form
- Initial Condition:
@@ -484,18 +273,6 @@ GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 G
Colors:颜色:
-
- Font color / Fill color 1
- 字体颜色/填充颜色1
-
-
- Fill color 2
- 填充颜色2
-
-
- Border color
- 边框颜色
- Underline下划线
@@ -544,13 +321,17 @@ GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 G
Placeholder: Body
+
+ Constraint: Name
+
+
+
+ Constraint: Descriptor
+
+ Application
-
- Error
- 错误
- Unknown exception caught!捕捉到未知异常!
@@ -560,6 +341,13 @@ GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 G
+
+ BaseConfigWidget
+
+ A backup of the previous settings was saved into <strong>%1</strong>!
+
+
+BaseForm
@@ -673,10 +461,6 @@ GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 G
Database数据库
-
- Table-Table Relationship
- 表-表关系
- Textbox文本框
@@ -689,10 +473,6 @@ GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 G
Parameter参数
-
- Table-View Relationship
- 表-视图关系
- Collation
@@ -727,6 +507,14 @@ GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 G
Basic Relationship
+
+ Policy
+
+
+
+ Generic SQL
+
+ BaseObjectView
@@ -757,18 +545,10 @@ GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 G
Schema:模式:
-
- Permissions:
- 权限:
- This object is protected thus no change in form will be applied to it.此对象处于受保护状态,无法对它应用任何修改。
-
- Parent Object:
- 父对象:
- Value(s)值
@@ -777,26 +557,10 @@ GPLv3 的完整内容放在源代码根目录的 LICENSE 文件中。完整的 G
Version版本
-
- The field(s) or value(s) highlighted on the form is(are) for the exclusive use and/or mandatory in specific versions of PostgreSQL. Failure to complete that may cause errors in the generation of SQL code for each version shown in tool tips of the highlighted fields.
- 窗口中高亮显示的字段或值只能用于特定版本的 PostgreSQL。在生成高亮字段工具提示中显示的各版本 SQL 代码时可能会发生错误,导致无法完成操作。
-
-
- Form
- Form
- iconeicone
-
- Criate / Edit:
- 创建/修改:
-
-
- Edit Permissions
- 修改权限
- Edit permissions编辑权限
@@ -846,6 +610,17 @@ This will disable the code of all child and referrer objects.
+
+ BaseTableView
+
+ Toggles the extended attributes display
+
+
+
+ Connected rels: %1
+
+
+BugReportForm
@@ -922,15 +697,14 @@ This will disable the code of all child and referrer objects.
- CastWidget
+ BulkDataEditWidget
- Conversion Type:
- 转换类型:
-
-
- Implicit
- 隐式转换
+ Bulk data edit
+
+
+
+ CastWidgetAssignment强制转换
@@ -939,18 +713,10 @@ This will disable the code of all child and referrer objects.
Input / Output输入 / 输出
-
- Conversion Function:
- 转换函数:
- The function to be assigned to a cast from <em><strong>typeA</strong></em> to <em><strong>typeB</strong></em> must have the following signature: <em><strong>typeB</strong> function(<strong>typeA</strong>, integer, boolean)</em>.将<em><strong>类型 A</strong></em>转换成 <em><strong>类型 B</strong></em>的函数签名:<em><strong>typeB</strong> function(<strong>typeA</strong>, integer, boolean)</em>.
-
- Form
- Form
- Source data type原始数据类型
@@ -978,10 +744,6 @@ This will disable the code of all child and referrer objects.
CodeCompletionWidget
-
- Make persistent
-
- Makes the widget closable only by ESC key or mouse click on other controls.
@@ -994,13 +756,13 @@ This will disable the code of all child and referrer objects.
(no items found.)
+
+ Make &persistent
+
+ CollationWidget
-
- Form
- Form
- Locale:
@@ -1052,23 +814,27 @@ This will disable the code of all child and referrer objects.
默认值:
- Form
- Form
+ E&xpression:
+
- Not Null:
- 非空:
+ &NOT NULL
+
- E&xpression:
+ Se&quence:
- &NOT NULL
+ Edit the underlying sequence's attributes
- Se&quence:
+ Edit sequence
+
+
+
+ Identity:
@@ -1094,22 +860,10 @@ This will disable the code of all child and referrer objects.
General常规
-
- Style
- 样式
-
-
- Connetions
- 连接
- Plug-ins插件
-
- Confirmation
- 确认
- Any modification made until now in the current section will be lost! Do you really want to restore default settings?当前部分所做的修改将会丢失!要恢复到默认设置吗?
@@ -1130,6 +884,14 @@ This will disable the code of all child and referrer objects.
Snippets
+
+ In some cases restore the default settings related to it may solve the problem. Would like to do that?
+
+
+
+ Restore
+
+ ConnectionsConfigWidget
@@ -1209,18 +971,10 @@ This will disable the code of all child and referrer objects.
Revoked Certs.:已吊销证书:
-
- Kerberus Server:
- Kerberus 服务器:
- Force GSSAPI强制 GSSAPI
-
- Options:
- 选项:
- Add新建
@@ -1233,10 +987,6 @@ This will disable the code of all child and referrer objects.
Test测试
-
- Form
- Form
- Delete selected connection删除选中的连接
@@ -1269,10 +1019,6 @@ This will disable the code of all child and referrer objects.
Success成功
-
- Connection successfuly stablished!
- 成功建立连接!
- Edit database connections
@@ -1333,16 +1079,6 @@ This will disable the code of all child and referrer objects.
Indicates in which operations (diff, export, import or validation) the connection is used if none is explicitly specified by the user.
-
- Connection successfuly stablished!
-
-Server details:
-
-PID: `%1'
-Protocol: `%2'
-Version: `%3'
-
- There is a connection being created or edited! Do you want to save it?
@@ -1359,6 +1095,16 @@ Version: `%3'
Edit connections
+
+ Connection successfully established!
+
+Server details:
+
+PID: `%1'
+Protocol: `%2'
+Version: `%3'
+
+ ConstraintWidget
@@ -1366,18 +1112,10 @@ Version: `%3'
Constraint Type:约束类型:
-
- Check Expr.:
- 检查表达式:
- Fill Factor:填充因子:
-
- Comparison:
- 比较:
- Deferrable:可延迟:
@@ -1410,10 +1148,6 @@ Version: `%3'
Type类型
-
- Form
- Form
- ON DELETE:ON DELETE:
@@ -1422,10 +1156,6 @@ Version: `%3'
ON UPDATE:ON UPDATE:
-
- Columns which were included by relationship can not be added / removed manually from the primary key. If done such changes they will be ignored. To create primary key using columns included by relationship use the feature attributes, constraints and primary key on the relationship form.
- 包含在关系中的列不能被手动添加/删除主键。这样的操作会被忽略。要将关系中的列创建为主键,请使用“创建/编辑:关系”窗口中的特征属性和主键约束。
- Match:
@@ -1465,10 +1195,6 @@ Version: `%3'
Target Encoding:目标编码:
-
- Conversion Function:
- 转换函数:
- Default Conversion:默认转换:
@@ -1477,136 +1203,142 @@ Version: `%3'
The function to be assigned to an encoding conversion must have the following signature: <em>void function(integer, integer, cstring, internal, integer)</em>.编码转换的函数签名:<em>void function(integer, integer, cstring, internal, integer)</em>。
-
- Form
- Form
- Conversion Func.:
- CrashHandler
+ CrashHandlerForm
- pgModeler Crash Handler
- pgModeler 故障处理程序
+ Crash Handler
+
- Oops! pgModeler just crashed!
- 糟糕!pgModeler 崩溃了!
+ Stack trace
+ 堆栈跟踪信息
- Create
- 创建
+ Input:
+
- &Cancel
- 取消(&C)
+ Load report file for analysis
+
- We apologize for what happened! It is clear that a nasty bug caused it. Please fill out the form below describing your actions before pgModeler quit unexpectedly. This will help on bug extermination and improve the software.
- 我们为此深表歉意!显然,这是由讨厌的 bug 引起的。请描述一下在 pgModule 意外退出前你所做过的操作,并填写在下面的输入框内。这些将有助于我们错误的消除和软件的改进。
+ Save the attached model file on the filesystem
+
- Report
- 报告
+ pgModeler bug report (*.bug);;All files (*.*)
+
- Actions made before the crash:
- 崩溃前的操作:
+ Load report
+
- Loaded Model
- 已打开的模型
+ Save model
+ 保存模型
- Attach the below database model file that possibly generates the crash.
- 附上可能导致软件崩溃的数据库模型文件。
+ Database model (*.dbm);;All files (*.*)
+ 数据库模型 (*.dbm);; 所有文件 (*.*)
- Stack trace
- 堆栈跟踪信息
+ Crash handler
+
- pgModeler crash file analysis
- pgModeler 崩溃文件分析
+ Bug report analysis mode activated.
+
- Error
- 错误
+ Oops! pgModeler just crashed!
+ 糟糕!pgModeler 崩溃了!
- File: %1
-Size: %2 bytes
-
-
- 文件: %1
-大小: %2 bytes
-
-
+ We apologize for what happened! It is clear that a nasty bug caused that. Please fill out the form below describing your actions before pgModeler quit unexpectedly. This will help on bug extermination and improve the software.
+
+
+
+ CsvLoadWidget
- Information
- 信息
+ Form
+ Form
- Crash report successfuly generated! Please send the file '%1' to %2 in order be debugged. Thank you for the collaboration!
- 成功生成故障报告!请将文件 ‘%1' 发送到 %2,以便用于调试。感谢您的合作!
+ Load CSV
+
-
-
- CrashHandlerForm
- Crash Handler
+ CSV File:
- Stack trace
- 堆栈跟踪信息
+ Select output file
+
- Input:
+ ...
- Load report file for analysis
+ Separator:
- Save the attached model file on the filesystem
+ Use the first row as column names in the CSV file. By unchecking this option the first row is used as data.
- pgModeler bug report (*.bug);;All files (*.*)
+ Columns in the first row
- Load report
+ Load
+ 打开
+
+
+ Semicolon (;)
- Save model
- 保存模型
+ Comma (,)
+
- Database model (*.dbm);;All files (*.*)
- 数据库模型 (*.dbm);; 所有文件 (*.*)
+ Space
+ Space
- Crash handler
+ Tabulation
- Bug report analysis mode activated.
+ Other
- Oops! pgModeler just crashed!
- 糟糕!pgModeler 崩溃了!
+ ;
+
- We apologize for what happened! It is clear that a nasty bug caused that. Please fill out the form below describing your actions before pgModeler quit unexpectedly. This will help on bug extermination and improve the software.
+ Text delimiter:
+
+
+
+ "
+
+
+
+ Load CSV file
+
+
+
+ Comma-separted values (*.csv);;All files (*.*)
@@ -1681,10 +1413,6 @@ Unchecking this will cause the SQL to be appended at the end of CREATE DATABASE
<html><head/><body><p>Use custom commands with extreme caution because you can change the semantics of the entire model when running SQL validation or export processes. Additionally, depending on the amount of commands, those processes can have their performance sensibly degradated.</p></body></html>
-
- Type:
- 类型:
- Generic INSERT
@@ -1732,18 +1460,10 @@ Unchecking this will cause the SQL to be appended at the end of CREATE DATABASE
&Close关闭(&C)
-
- <html><head/><body><p>Empty values are assumed as <span style=" font-weight:600;">DEFAULT</span>. To use special values like <span style=" font-weight:600;">NULL</span>, a function call like <span style=" font-weight:600;">now()</span> or a specific data escaping, enclose values in <span style=" font-weight:600;">{}</span>. To use <span style=" font-weight:600;">{</span> or <span style=" font-weight:600;">}</span> as part of the value prepend the backslash character, e.g., <span style=" font-weight:600;">\{</span> or <span style=" font-weight:600;">\}</span>.</p></body></html>
-
- Refresh listing
-
- Refresh
-
- F5F5
@@ -1752,34 +1472,14 @@ Unchecking this will cause the SQL to be appended at the end of CREATE DATABASE
Save changes
-
- Save
- 保存
- Ctrl+SCtrl+S
-
- Copy the selection as CSV buffer
-
-
-
- Copy
- 复制
-
-
- Ctrl+C
-
- Export results to CSV file
-
- Export
- 导出
- Ctrl+X
@@ -1788,10 +1488,6 @@ Unchecking this will cause the SQL to be appended at the end of CREATE DATABASE
Undo modifications
-
- Undo
- 撤销
- Ctrl+ZCtrl+Z
@@ -1800,10 +1496,6 @@ Unchecking this will cause the SQL to be appended at the end of CREATE DATABASE
Add empty rows
-
- Add
- 新建
- InsIns
@@ -1812,10 +1504,6 @@ Unchecking this will cause the SQL to be appended at the end of CREATE DATABASE
Mark the selected rows to be deleted
-
- Delete
- 删除
- DelDel
@@ -1824,10 +1512,6 @@ Unchecking this will cause the SQL to be appended at the end of CREATE DATABASE
Duplicate the selected rows
-
- Duplicate
-
- Ctrl+D
@@ -1968,29 +1652,93 @@ Unchecking this will cause the SQL to be appended at the end of CREATE DATABASE
insert
-
-
- DatabaseExplorerWidget
- Form
- Form
+ <html><head/><body><p>Empty values are assumed as <span style=" font-weight:600;">DEFAULT</span>. To use special values like <span style=" font-weight:600;">NULL</span>, a function call like <span style=" font-weight:600;">now()</span> or a specific data escaping, enclose values in two slashes, e.g., <span style=" font-weight:600;">/value/</span>. To use a slash as part of the value prepend the backslash character, e.g., <span style=" font-weight:600;">\/</span>.</p></body></html>
+
- Toggles the display of system objects.
+ Copy items on the grid
- System
+ Paste items on the grid
- Toggles the display of extension objects
+ Ctrl+V
- Extension
+ Browse referenced tables
+
+
+
+ Change the values of all selected cells at once
+
+
+
+ Ctrl+E
+
+
+
+ Add new rows from a CSV file
+
+
+
+ Copy as CSV
+
+
+
+ Copy as text
+
+
+
+ Copy items
+
+
+
+ Pase items
+
+
+
+ Browse tables
+
+ Duplicate row(s)
+
+
+
+ Delete row(s)
+
+
+
+ Edit cell(s)
+
+
+
+ Column
+ 列
+
+
+ Referenced tables
+
+
+
+ (none)
+
+
+
+ Referrer tables
+
+
+
+
+ DatabaseExplorerWidget
+
+ Form
+ Form
+ Open the grid to visualize or edit data
@@ -2019,10 +1767,6 @@ Unchecking this will cause the SQL to be appended at the end of CREATE DATABASE
Update the objects tree
-
- Ctrl+S
- Ctrl+S
- Drop this database
@@ -2761,131 +2505,251 @@ Ref. column(s): %2
-- Source code unavailable for the object %1 (%2). --
-
-
- DatabaseImportForm
- Database Import
+ Toggle the display of filter widget as well the system/extension objects.
- Database import
+ Sort items alphabetically. When unchecked, items are sorted by OID.
- Settings
+ Sort alphabetically
- Options
+ Client encoding
- Connection:
- 连接:
+ Configuration file
+
- Origin point:
+ Data directory
- Starting point where objects will be put.
+ Dynamic library path
- Tables per row:
+ Dynamic shared memory
- Tables per row
+ Hba file
- Spacing:
+ Listen addresses
- Schemas per row
+ Max. connections
- Spacing between objects
+ Listen port
- Schemas per row:
+ Server encoding
- Resolve some of the object's dependencies by querying the catalog when a needed object does not exists on the loaded set. In some cases it's necessary to combine this option with others below. This option does not applies to database level objects like role, tablespace and language as well for data types, extensions.
+ SSL
- Automatically resolve dependencies
+ SSL ca file
- Random colors will be assigned to imported relationships facilitating the identification of links between tables mainly in large models.
+ SSL cert file
- Random colors for relationships
+ SSL crl file
- Enables the import of system built-in objects. It's recommend to select only those objects that are directly referenced by the ones to be imported. WARNING: Try to import a huge set of system objects can bloat the resultant model or even crash pgModeler due to memory/cpu overuse.
+ SSL key file
- Import system objects
+ Server version
- Enables the import of objects created by extensions. Generally there is no need to check this option but if there are objects in the database that directly references this category of objects this mode must be enabled.
+ Ident file
- Import extension objects
+ Password encryption
- pgModeler ignores import errors and will try to create as many as possible objects. By checking this option the import operation will be not aborted but an incomplete model will be constructed. This option generates a log file on pgModeler's temp directory.
+ Connection ID
- Ignore import errors
+ Server PID
- All catalog queries as well the created objects' source code are printed to standard output (stdout).
+ Server protocol
- Debug mode
+ Referrers
- Create all imported objects in the current working model instead of create a new one.
+ Identity
- Import objects to the working model
+ Command
- Database
- 数据库
+ USING expr.
+
- Filter:
+ CHECK expr.
- Filter object by it's OID
-
+ Roles
+ 角色
- By OID
+ RLS enabled
+
+
+
+ RLS forced
+
+
+
+ Show objects filter
+
+
+
+ Show system objects
+
+
+
+ Show extension objects
+
+
+
+ -- Source code unavailable for this kind of object --
+
+
+
+ Also restart sequences
+
+
+
+ Warning
+
+
+
+ You're running a demonstration version! The data manipulation feature is available only in the full version!
+
+
+
+ <strong>CAUTION:</strong> You are about to drop the entire database <strong>%1</strong>! All data will be completely wiped out. Do you really want to proceed?
+
+
+
+
+ DatabaseImportForm
+
+ Settings
+
+
+
+ Options
+
+
+
+ Connection:
+ 连接:
+
+
+ Resolve some of the object's dependencies by querying the catalog when a needed object does not exists on the loaded set. In some cases it's necessary to combine this option with others below. This option does not applies to database level objects like role, tablespace and language as well for data types, extensions.
+
+
+
+ Automatically resolve dependencies
+
+
+
+ Random colors will be assigned to imported relationships facilitating the identification of links between tables mainly in large models.
+
+
+
+ Random colors for relationships
+
+
+
+ Enables the import of system built-in objects. It's recommend to select only those objects that are directly referenced by the ones to be imported. WARNING: Try to import a huge set of system objects can bloat the resultant model or even crash pgModeler due to memory/cpu overuse.
+
+
+
+ Import system objects
+
+
+
+ Enables the import of objects created by extensions. Generally there is no need to check this option but if there are objects in the database that directly references this category of objects this mode must be enabled.
+
+
+
+ Import extension objects
+
+
+
+ pgModeler ignores import errors and will try to create as many as possible objects. By checking this option the import operation will be not aborted but an incomplete model will be constructed. This option generates a log file on pgModeler's temp directory.
+
+
+
+ Ignore import errors
+
+
+
+ All catalog queries as well the created objects' source code are printed to standard output (stdout).
+
+
+
+ Debug mode
+
+
+
+ Create all imported objects in the current working model instead of create a new one.
+
+
+
+ Import objects to the working model
+
+
+
+ Database
+ 数据库
+
+
+ Filter:
+
+
+
+ Filter object by it's OID
+
+
+
+ By OID
@@ -2965,15 +2829,19 @@ Ref. column(s): %2
- Retrieving objects of table `%1'...
+ This is a PostgreSQL built-in data type and cannot be imported.
- This is a PostgreSQL built-in data type and cannot be imported.
+ This is a pgModeler's built-in object. It will be ignored if checked by user.
- This is a pgModeler's built-in object. It will be ignored if checked by user.
+ Import database
+
+
+
+ Retrieving objects of `%1' (%2)...
@@ -2991,10 +2859,6 @@ Ref. column(s): %2
Creating object `%1' (%2)...
-
- Trying to recreate object `%1' (%2)...
-
- Import failed to recreate some objects in `%1' tries.
@@ -3031,17 +2895,17 @@ Ref. column(s): %2
Assigning sequences to columns...
-
-
- DatabaseModel
- Loading object: %1 (%2)
- 正在载入对象:%1 (%2)
+ Creating object `%1' (%2), oid `%3'...
+
- Generating %1 of the object: %2 (%3)
- 正在生成对象的 %1:%2 (%3)
+ Trying to recreate object `%1' (%2), oid `%3'...
+
+
+
+ DatabaseModelThe demonstration version can create only `%1' instances of each object type! You've reach this limit for the type: `%2'
@@ -3054,10 +2918,6 @@ Ref. column(s): %2
Validating relationships...
-
- Generating %1 of the object `%2' (%3)
-
- Saving object `%1' (%2)
@@ -3094,6 +2954,10 @@ Ref. column(s): %2
Metadata file successfully loaded!
+
+ Generating %1 code: `%2' (%3)
+
+ DatabaseWidget
@@ -3113,10 +2977,6 @@ Ref. column(s): %2
Default默认
-
- Form
- Form
- Template DB:数据库模板:
@@ -3161,6 +3021,18 @@ Ref. column(s): %2
Use the above fields to specify the default attributes assigned to new objects created on the database model. Leaving a field empty will cause PostgreSQL to use the default values when exporting the model.
+
+ Options:
+ 选项:
+
+
+ Allow connections
+
+
+
+ Is template
+
+ DomainWidget
@@ -3169,32 +3041,32 @@ Ref. column(s): %2
默认值:
- Constraint Name:
- 约束名称:
+ Name:
+ 名称:
- Check Expression:
- 检查表达式:
+ Attributes
+ 属性
- Form
- Form
+ Not null
+
- Not Null:
- 非空:
+ Check constraints
+
- Constraint
- 约束
+ Expression:
+
- Name:
- 名称:
+ Name
+ 名称
- Check Expr.:
- 检查表达式:
+ Expression
+ 表达式
@@ -3332,18 +3204,10 @@ Ref. column(s): %2
Exception
-
- Insufficient memory space to allocate the object!
- 内存不足,无法分配对象!
- Assignment of a pseudo-type to the type of the column!列类型不能为伪类型!
-
- Zero length assignment!
- 长度不能为 0!
- Assignment of a precision greater than the length of the type!精度不能大于类型长度!
@@ -3352,10 +3216,6 @@ Ref. column(s): %2
Assignment of an invalid precision to type time, timestamp or interval. The precision in this case must be equal to or less than 6!类型 time,timestamp 或 interval 的精度设置无效。精度必须小于等于 6!
-
- Assignment of a not allocated column to object '%1' (%2)!
- 必须给对象'%1' (%2) 设置列!
- Reference to a column which index is out of the capacity of the column list!不能引用不在列列表中的列!
@@ -3364,26 +3224,6 @@ Ref. column(s): %2
Assignment of not allocated object!必须设置对象!
-
- Assignment of a not allocated schema to object '%1' (%2)!
- 必须给对象 '%1' (%2) 设置模式!
-
-
- The object '%1' (%2) has inconsistent configuration (invalid SQL/XML definition)!
- 对象 '%1' (%2) 设置冲突 (无效的 SQL/XML 定义)!
-
-
- The object '%1' (%2) already exists in the list of elements of the same type in the object '%3' (%4)!
- 对象 '%1' (%2) 已经存在于对象 '%3' (%4) 的同类型元素列表中!
-
-
- The object '%1' (%2) can't be assigned because there is already exists in the container object '%3'!
- 对象 '%1' (%2) 不能被赋值,因其已存在于容器对象 '%3'!
-
-
- Assignment of object of an invalid type!
- 设置的对象无效!
- Removing an object of an invalid type!不能移除无效类型的对象!
@@ -3396,62 +3236,18 @@ Ref. column(s): %2
Assignment of empty name to table return type!表的返回值类型的名称不能为空!
-
- The insertion of the parameter '%1' will not be possible because there is another parameter with same name in the function '%2'!
- 无法插入参数 '%1',因为函数 '%2' 中已经存在一个相同名称的参数了!
-
-
- The insertion of the table return type '%1' will not be possible because there is another return type with the same name in the '%2'!
- 无法插入表返回类型 '%1',因为在 '%2' 中已经存在一个相同名称的返回类型!
-
-
- Reference to a parameter which index is out of the parameter list capacity!
- 不能引用不在参数列表中的参数!
- Reference to an event which does not belongs to trigger!不能引用不属于触发器的事件!
-
- The column '%1' can't be assigned to the trigger '%2' because does not belongs to the trigger parent table!
- 列 '%1' 无法赋值给触发器 '%2',因为它不属于触发器父表!
-
-
- Assignment of a not allocated function to object '%1' (%2)!
- 必须给对象 '%1' (%2) 设置函数!
-
-
- Assignment of a function which return type is different from 'trigger'!
- 函数的返回值类型与‘触发器’的不一致!
-
-
- Assignment of a function which parameter count is invalid to the object '%1' (%2)!
- 对于对象 '%1' (%2),函数的参数数目不匹配!
- Assignment of a function which language is invalid!语言转换函数无效!
-
- Assignment of not allocated table to object '%1' (%2)!
- 必须给对象 '%1'(%2) 设置表!
-
-
- Reference to an argument which index is out of argument list capacity!
- 引用的参数超出参数列表范围!
-
-
- Insertion of a column which name is already registered to another column of the object!
- 要插入的列名称已经被注册给了另一个列的对象!
- Assignment of empty name to an object!对象名称不能为空!
-
- Assignment of invalid name to an object!
- 对象名称无效!
- Assignment of schema object which type is invalid!模式对象类型无效!
@@ -3488,42 +3284,10 @@ Ref. column(s): %2
Reference to an operator with invalid type!引用了无效的操作符类型!
-
- Assigment of value to an invalid option type on role!
- 角色选项值的类型无效!
- Reference to an invalid role type!引用了无效的角色类型!
-
- The insertion of the role '%1' is not possible because this is already being referenced by role '%2'!
- 无法插件角色 '%1',因为它已经被角色 '%2' 引用了!
-
-
- Reference redundance detected by having the role '%1' referencing the role '%2'!
- 发现角色 '%1' 到角色 '%2' 的引用冗余!
-
-
- The role '%1' can not be listed as a member of itself!
- 角色 '%1' 不能列入自身的成员中!
-
-
- Reference to a paper which index is out of paper list capacity!
- 纸型引用超出纸型列表范围!
-
-
- Insertion of null command to the rule!
- 不能规则插入空命令!
-
-
- Reference to a command which index is out of the command list capacity!
- 引用的命令超出命令列表范围!
-
-
- Is not possible to create a self generalization/dependecy relationship! The table can not inherit or copy their own attributes!
- 无法创建自身泛化的关系/自身依赖的关系!表不能继承或复制自身的属性!
- Assignment of an object that already belongs to another table!对象已属于另一个表!
@@ -3540,10 +3304,6 @@ Ref. column(s): %2
Assignment of a minimum value to the sequence which is greater than the maximum value!序列的最小值大于其最大值!
-
- Assignment of a start value to the sequence which is extrapolating the range defined by minimum and maximum values!
- 序列的起始值不在序列的最小值与最大值的范围内!
- Assignment of a null increment value to the sequence!不能给序列设置空的自增值!
@@ -3552,38 +3312,10 @@ Ref. column(s): %2
Assignment of null cache value to the sequence!序列缓冲值不能为空!
-
- Assignment of owner table which is not in the same schema as the sequence '%1'!
- 表与序列 '%1' 不在同一模式中!
-
-
- Assignment of owner table which does not belong to the same owner of the sequence '%1'!
- 表与序列 '%1' 的所有者不同!
-
-
- Assignment of a nonexistent owner column to the sequence '%1'!
- 序列 '%1' 的列不存在!
-
-
- Assignment of an owner column to the sequence '%1' that is not related to any table!
- 序列 '%1' 的列未关联到任何表!
-
-
- Reference to a label which index is out of labels list capacity!
- 引用的标签不在标签列表的范围内!
- Allocation of object with invalid type!不能创建类型无效的对象!
-
- Assignment of a function with invalid return type to object '%1' (%2)!
- 对象 '%1'(%2) 函数的返回类型无效!
-
-
- Assignment of a function with invalid parameter(s) type(s) to object '%1' (%2)!
- 对象 '%1'(%2) 函数的参数类型无效!
- Assignment of not allocated language!没有指定语言!
@@ -3596,18 +3328,10 @@ Ref. column(s): %2
Reference to data type with an index outside the capacity of data types list!引用的数据类型不在数据类型列表的范围内!
-
- Assignment of a null type to to object '%1' (%2)!
- 对象 '%1'(%2) 类型不能为空!
- Assignment of invalid type to the object!对象的类型无效!
-
- Assignment of an empty directory to object '%1' (%2)!
- 对象 '%1'(%2) 的目录不能为空!
- Obtaining types with invalid quantity!正确获取的类型的数量无效!
@@ -3628,69 +3352,21 @@ Ref. column(s): %2
Insertion of invalid item in the enumerations list of the type!插入类型枚举列表的项目无效!
-
- Reference to an attribute which index is out of the attributes list capacity!
- 引用的属性超出属性列表的范围!
-
-
- Reference to an enumeration which index is out of the enumerations list capacity!
- 引用的枚举值超出枚举值列表的范围!
- Assignment of invalid configuration to the type!类型的配置无效!
- The data type '%1' can not be assigned because it already exists in the types list of the aggregate function '%2'!
- 无法指派数据类型 '%1',因其已存在于聚合函数 '%2' 的类型列表!
+ Assignment of an invalid strategy/support number to an operator class element!
+ 操作符类元素的策略/支持值无效!
- Assignment of an operator which input type count is invalid to aggregate function!
- 聚合函数的操作符输入类型的数目无效!
+ Insertion of element which already exists in the element list!
+ 插入的元素已存在于元素列表!
- Assigment of an operator which types of arguments is invalid!
- 操作符的参数类型无效!
-
-
- Assignment of system reserved name to the object '%1' (%2)!
- 对象 '%1'(%2) 使用了系统保留名称!
-
-
- One function with invalid configuration is been used by the object '%1' (%2)!
- 用于对象 '%1'(%2) 的函数的配置无效!
-
-
- Assignment of invalid id to the user!
- 无效的用户ID!
-
-
- Assignment of an invalid strategy/support number to an operator class element!
- 操作符类元素的策略/支持值无效!
-
-
- Insertion of element which already exists in the element list!
- 插入的元素已存在于元素列表!
-
-
- Reference to an element which index is out of element list capacity!
- 引用的元素不在元素列表的范围内!
-
-
- Reference to an object which index is out of object list capacity!
- 引用的对象不在对象列表的范围内!
-
-
- Removal of an object not allocated!
- 不能移除未分配的对象!
-
-
- The object '%1' (%2) can not be removed because it is being referenced by object '%3' (%4)!
- 无法移除对象 '%1'(%2),因其被对象 '%3'(%4) 引用了!
-
-
- The object '%1' (%2) can not be removed because it is being referenced by object '%3' (%4) that belongs to '%5' (%6)!
- 无法移除对象 '%1'(%2),因其已被对象 '%5'(%6) 中的对象 '%3'(%4) 引用了!
+ Removal of an object not allocated!
+ 不能移除未分配的对象!Operation with object(s) which type(s) is invalid!
@@ -3704,10 +3380,6 @@ Ref. column(s): %2
Operation with object not allocated!无法操作未分配的对象!
-
- The creation of the relationship '%1' between the table '%2' and '%3' can not be done because one does not have a primary key. If the relationship is of the type n-n both tables must have primary keys!
- 无法创建关系 '%1',因为表 '%2' 或表 '%3' 缺少主键。如果创建的是 N-N 关系,则两个表都必须有主键!
- The relationship of the type 1-1 where both tables are mandatory participation is not implemented because it requires fusion between the tables that breaks the modeling done by the user!强制执行两表 1-1 关系的功能尚未实现,因为它结合模型中由用户定义的两人互相分离的表!
@@ -3720,30 +3392,10 @@ Ref. column(s): %2
Assignment of a primary key to a table which already has one!表的主键已存在!
-
- Identifier relationship can not be created for a self relationship, relationships of the type n-n, dependency or generalization!
- 不能给自引用关系,N-N 类型关系,依赖关系或泛化关系创建标识符关系!
-
-
- Unable to create a dependency relationship because the column '%1' in table '%2' already exists in table '%3'!
- 无法创建依赖关系,因为表 '%2'中的列 '%1' 已经存在于表 '%3'!
-
-
- Unable to create the generalization relationship because the column '%1' in table '%2' can not be merged with the column '%3' of table '%4' because they have incompatible types!
- 无法创建泛化关系,因为表 '%2' 中的列 '%1' 不能被合并到表 '%4' 中的列 '%3',因为他们的类型不兼容!
-
-
- An attribute can not be added to a dependence or generalization relationship!
- 属性无法添加到依赖关系或者泛化关系中!
- A foreign key can not be added to a relationship because is created automatically when this is connected!无法给关系添加外键,因为在连接时已经自动添加了!
-
- The object '%1' (%2) is referencing the object '%3' (%4) which was not found in the list of objects of the same type in the model!
- 对象 '%1'(%2) 所引用的对象 '%3'(%4) 不存在于模型中同类型的对象列表!
- Reference to an user-defined data type that not exists in the model!引用的用户自定义类型不存在于模型!
@@ -3752,166 +3404,30 @@ Ref. column(s): %2
Assignment of invalid maximum size to operation list!操作列表的最大值无效!
-
- Unable to write the file %1! Make sure the directory exists, or if the user has access permissions on it!
- 无法写入文件 %1!请确保该目录存在,或者检查用户是否具有访问权限!
-
-
- Unable to write the model in the file %1 due to one or more errors in the definition generation process!
- 无法保存模式到文件 %1,因为在定义生成过程中出现一个或多个错误!
-
-
- There is already a relationship between '%1' (%2) and '%3' (%4) in the model!
- 模型中已存在 '%1'(%2) 和 '%3'(%4) 的关系!
-
-
- The configuration of the relationship '%1' generates a redundancy between the relationships '%2'. Redundancy on identifier or generalization/dependency relationships are not accepted since they result in incorrect column spreading making the model inconsistent!
- 关系 “%1”的配置产生了一个在关系'%2' 中的冗余。标识符或者泛化 / 依赖关系不支持冗余,因为他们会生成错误的列从而导致模型错误!
- One or more objects were invalidated and automatically removed because they were referencing table columns which were included through relationships and which no longer exists due to disconnection of relationships or exclusion of such generated columns!一个或者多个对象无效,并自动删除了。因为他们引用的表列所在的关系已经不存在了,由于连接中断或者排除生成的列!
-
- The primary key '%1' can only be allocated if declared within a block of code that defines a table or relationship!
- 主键 '%1' 只有在表或关系定义的代码块中声明之后才可以被分配!
- Reference to an invalid privilege type!引用了无效的权限类型!
-
- Insertion of an role which already exists in the role list of the permission!
- 插入的角色已存在于权限角色列表!
- Assignment of privilege incompatible with the type of object referenced by permission!权限与被允许引用的对象的类型不一致!
-
- There is already a permission on object '%1' (%2) which has one or more equal roles from those present on permission to be assigned to the object!
- 对象 '%1'(%2) 已经有一个权限,分配给此对象权限的角色中有一个或多个功能相当的角色!
-
-
- A permission is referencing the object '%1' (%2) which was not found in the model!
- 权限所引用的对象 '%1'(%2) 不存在模型中!
-
-
- The object '%1' (%2) can not be created by not being assigned to any schema!
- 无法创建对象 '%1'(%2),因为还没有给它指定模式!
-
-
- The tablespace '%1' can not be inserted into the model because it points to the same directory as the tablespace '%2'!
- 表空间 '%1' 无法被加到模型中。因为它指向的目录和表空间 '%2' 的相同!
- It is not possible to create arrays of domains or sequences (dimension >= 1)! PostgreSQL does not yet implement this feature!无法创建维数 > = 1域或序列数组!PostgreSQL 尚未实现此功能!
-
- The function '%1' can not get a source code as a definition because its language is set to C. Use the attributes symbol and dynamic library instead!
- 函数 '%1' 无法获取定义的源代码,因为它的语言被设成了 C 语言。请使用属性号和动态库代替!
-
-
- The function '%1' can have the attributes symbol and dynamic library configured only if the language is set to C. For all other cases you must specify a source code that defines it in the DBMS!
- 函数 '%1'只有当语言被设置成 C 语言时,才需要属性符号和动态库配置。其他情况下,您必须在 DBMS 中定义它的源代码!
-
-
- The operator '%1' can not be assigned as a comutator of operator '%2' because it has incompatible settings!
- 操作符 '%1' 不能被设置成操作符 '%2' 的转接器,因为两者的设置不兼容!
-
-
- The operator '%1' can not be assigned as negator of operator '%2' because it has incompatible settings!
- 操作符 '%1' 不能被设置成操作符 '%2' 的否定操作符,因为两者的设置不兼容!
-
-
- The type '%1' can not self refer in the attributes 'element' or 'copy type' or be used as a data type of an attribute in the configuration of a composite type!
- 类型 '%1' 不能对'元素’或'复制类型'进行自引用,或被用作组合类型配置中属性的数据类型!
-
-
- Assignment of invalid element to type '%1'!
- 指派给类型 '%1' 的元素无效!
-
-
- Assignment of invalid alignment to type '%1'!
- 指派了无效的对齐给类型 ‘%1'!
- Assignment of invalid name to the table generated from N-N relationship!分配无效名称给由 N-N 关系生成的表!
-
- The relationship '%1' can not make use of the special primary key. Only generalization/dependency relationships have access to this resource!
- 关系 '%1' 无法使用特殊主键。只有泛化 / 依赖关系才能!
-
-
- Assignment of invalid suffix to the relationship '%1'!
- 分配无效前缀给关系 '%1'!
-
-
- The object '%1' (%2) can not be edited or deleted because it was automatically included through a relationship! To manipulate the object is necessary to make it from the edit form of the relationship that holds it.
- 无法修改或删除对象 '%1'(%2),因为它已经被关系自动包含了!要修改对象请到对应的关系修改窗口中操作。
-
-
- The object '%1' (%2) can not be deleted because it is protected!
- 无法删除对象 '%1'(%2),因为它是被保护的!
-
-
- The group '%1' has already been declared earlier!
- 组 '%1'已经声明过了!
-
-
- The group '%1' can not be built in the groups declaration block ('%2')!
- 组 '%1'无法在组声明区域 (%2) 中构建!
-
-
- The group '%1' was built but not declared in the groups declaration block ('%2')!
- 组 '%1'已被构建,但是不是在组声明区域 (%2) 中声明的!
-
-
- The group '%1' can not be built without possessing child elements!
- 无法构建组 '%1',因为没有子元素!
-
-
- The group '%1' can not be built once more because this was done in previous blocks!
- 无法重新构建组 '%1',因为之前已经做过了!
-
-
- The group '%1' has been declared but not built!
- 组 '%1' 已经声明,但是没构建!
-
-
- Reference to a column of objects table with invalid index!
- 请参考索引无效的对象表中的一列!
-
-
- Reference to a row of objects table with invalid index!
- 请参考索引无效的对象表中的一行!
-
-
- The schema public and the languages plpgsql, c and sql can not be manipulated because they are reserved to PostgreSQL! They are present in the model database only as a reference!
- 模式 public 和语言 plpgsql,C,SQL 都无法修改,因为它们是系统保留的!它们在模型数据库中只是一个参考!
-
-
- The new configuration function invalidates the object '%1' (%2)! In this case it is needed to undo the relationship between the affected object and function so that the new configuration of the latter to take effect!
- 新的配置函数使对象 '%1'(%2) 无效!在这种情况下,需要重新配置下对象与函数的关系,然后,新的配置就会起作用了!
-
-
- A vision reference must have at least one SQL application : SELECT, FROM, FROM-WHERE or After WHERE!
- 一个视图引用必须至少有一个 SQL 应用:SELECT,FROM,FROM-WHERE 或者 WHERE 后!
- Constraints like primary key, foreign key or unique must have at least one column related to them! For foreign keys must be selected, in addition, the referenced columns!主键,外键,唯一键等约束必须有至少一列来关联他们!对于外键约束引用列必须被选中!
-
- Unable to load one or more configuration files! Please check if files exists in the configuration folder and if they are not corrupted to preventing this error to occur again on the next startup!
- 无法载入一个或多少配置文件!请检查文件是否存在配置目录中或者文件错误来防止错误继续在下一次启动中发生!
-
-
- Could not find the default settings file '%1'! To restore default settings check the existence of the file and try again!
- 没有发现默认的配置文件 '%1'!重新保存默认设置到文件中!
- The export process failed due to an error triggered by the PostgreSQL server in an attempt to execute a SQL command. For more details about the error check the exception stack!
@@ -3924,42 +3440,14 @@ Ref. column(s): %2
%1
-
- Could not load the plugin '%1' from the library '%2'! Message returned by plugin manager: '%3'
- 无法从库 '%2' 中加载插件 '%1'!插件管理器的返回信息:'%3'
- One or more plugins were not activated due to errors during the loading process! Check the exception stack for more details.插件加载发生错误,一个或多个插件没有激活!详情请查看异常信息。
-
- Invalid syntax in file %1, line %2, column %3!
- 错误语法位于文件 %1,行 %2,列 %3 有!
-
-
- Invalid conditional instruction '%1' on file %2, line %3, column %4!
- 错误的条件结构 '%1' 位于文件 %2,行 %3,列 %4!
-
-
- Unknown attribute '%1' in file %2, line %3, column %4!
- 未知属性 '%1' 位于文件 %2,行 %3,列 %4!
-
-
- Invalid metacharacter '%1' in file %2, line %3, column %4!
- 错误的字符 '%1' 位于文件 %2,行 %3,列 %4!
-
-
- Attribute '%1' with an undefined value in file %2, line %3, column %4!
- 未赋值的属性 '%1' 位于文件 %2,行 %3,列 %4!
- Assignment of empty XML buffer to parser!分配空白 XML 缓存给解析器!
-
- Could not access the file or directory %1! Make sure that it exists or if the user has access permissions on it!
- 无法访问文件或目录 %1!请确保它存在,或者检查用户具有访问权限!
- Assignment of empty DTD file name!分配一个空 DTD 文件名!
@@ -3968,19 +3456,10 @@ Ref. column(s): %2
Assignment of empty name to the DTD declaration!分配空白名称给 DTD 声明!
-
- Error while interpreting XML buffer at line %1 column %2.
-Message generated by the parser: '%3'. %4
- 解析 XML 缓存发生错误,错误位于行 %1 列 %2。解析器生成的消息:'%3'。%4
- Operation on unallocated element tree! It is necessary to load the XML parser buffer and interpret it so that the tree is generated!操作在未分配的元素树上!必须要先载入 XML 解析器缓存并执行解析,这样树才能生成!
-
- Could not load file %1. The same appears to be inconsistent or one of its dependencies (DTD files) has errors or is missing!
- 无法载入文件 %1。它出现了不一致性或其中有的依赖项出现错误或已经丢失!
- Operation with unallocated tree element!操作在未分配的树元素上!
@@ -4001,12 +3480,6 @@ Message generated by the parser: '%3'. %4
Attempt to connect without define configuration parameters!尝试没有定义配置参数的连接!
-
- Could not connect to the database.
-Message returned: '%1'
- 无法连接数据库。
-返回的信息:'%1'
- Assignment of not allocated SQL command result!指定的 SQL 命令结果不存在!
@@ -4015,15 +3488,6 @@ Message returned: '%1'
Unable to allocate the result of the SQL command because the response from the DBMS was not understood by the client!无法获得 SQL 命令结果,因为服务器端的反馈客户端无法识别!
-
- Unable to allocate command result for the SQL because the server has generated a fatal error!
-Message returned by the DBMS: %1
- 无法获取 SQL 的命令结果,因为服务端产生了严重错误!数据库服务器返回的信息:%1
-
-
- Unable to allocate the result of the SQL command because the command passed was an empty SQL!
- 无法获取 SQL 命令的结果,因为命令是一条空 SQL!
- Reference to a column of tuple with invalid index!引用的一列元组索引无效!
@@ -4032,16 +3496,6 @@ Message returned by the DBMS: %1
Reference to a column of tuple with invalid name!引用的一列元组名字无效!
-
- Reference to a tuple with index invalid or the result is empty (no tuples)!
- 引用的元组索引无效或者结果为空(没有)!
-
-
- Could not execute the SQL command.
- Message returned: %1
- 无法执行 SQL 命令。
-返回的信息: %1
- Assignment of a not allocated column to object `%1' (%2)!
@@ -4266,10 +3720,6 @@ Message returned by the DBMS: %1
Unable to write the file `%1' due to one or more errors in the definition generation process!
-
- There is already a relationship between `%1' (%2) and `%3' (%4) in the model!
-
- The configuration of the relationship `%1' generates a redundancy between the relationships `%2'. Redundancy on identifier or generalization/copy relationships are not accepted since they result in incorrect column spreading making the model inconsistent!
@@ -4390,30 +3840,6 @@ Message returned by the DBMS: %1
Could not load the plugin `%1' from the library `%2'! Message returned by plugin manager: `%3'
-
- Invalid instruction `%1' on file %2, line %3, column %4!
-
-
-
- Unknown attribute `%1' in file %2, line %3, column %4!
-
-
-
- Invalid metacharacter `%1' in file %2, line %3, column %4!
-
-
-
- Invalid operator `%1' in comparison expression, file %2, line %3, column %4!
-
-
-
- Attribute `%1' with an undefined value in file %2, line %3, column %4!
-
-
-
- Attribute `%1' with an invalid name in file %2, line %3, column %4!
-
- Error while interpreting XML buffer at line %1 column %2.
Message generated by the parser: %3. %4
@@ -4526,10 +3952,6 @@ Message returned by the DBMS: `%1'
The operator class assigned to the object `%1' (%2) must use `btree' as indexing method!
-
- Unsupported PostgreSQL version (%1) detected! Valid versions are: %2
-
- The validation process failed due to an error triggered by the validation helper. For more details about the error check the exception stack!
@@ -4574,10 +3996,6 @@ Message returned by the DBMS: `%1'
The widget already has a parent and cannot be assigned to a different object!
-
- The object `%1' (%2) could not be imported due to one or more errors! Check the exception stack for more details.
-
- Could not load the database model file `%1'. Check the error stack to see details. Try to run `pgmodeler-cli --fix-model' in order to correct the structure of the file if that is the case.
@@ -4658,24 +4076,77 @@ Message returned by the DBMS: `%1'
The connection was unexpectedly closed by the database server `%1' at port `%2'!
-
-
- ExportHelper
- Creating object '%1' (%2)...
- 正在创建对象 '%1' (%2)...
+ There is already a relationship between `%1' (%2) and `%3' (%4) in the model! When using relationships of the type generalization, copy and one-to-one there can't be other relationships linked to the pair of tables.
+
+
+
+ Unable to load the configuration file `%1'! Please check if file exists in its folder and/or if it is not corrupted!
+
+
+
+ Invalid syntax in file `%1', line %2, column %3!
+
+
+
+ Invalid instruction `%1' on file `%2', line %3, column %4!
+
+
+
+ Unknown attribute `%1' in file `%2', line %3, column %4!
+
+
+
+ Invalid metacharacter `%1' in file `%2', line %3, column %4!
+
+
+
+ Invalid operator `%1' in comparison expression, file `%2', line %3, column %4!
+
+
+
+ Attribute `%1' with an undefined value in file `%2', line %3, column %4!
+
+
+
+ Attribute `%1' with an invalid name in file `%2', line %3, column %4!
+
+
+
+ Could not access the file or directory `%1'! Make sure that it exists or if the user has access permissions on it!
+
+
+
+ Could not load file `%1'. The same appears to be inconsistent or one of its dependencies (DTD files) has errors or is missing!
+
+
+
+ Unsupported PostgreSQL version (%1) detected! Valid versions are between %2 and %3.
+
+
+
+ The object `%1' (%2), oid `%3', could not be imported due to one or more errors! Check the exception stack for more details. `HINT:' if the object somehow references objects in `pg_catalog' or `information_schema' consider enable the importing of system objects.
+
+
+
+ Failed to drop the database `%1' because it is defined as the default database for the connection `%2'!
+
+
+
+ The column `%1' must be `NOT NULL' because it composes the primary key of the table `%2'. You need to remove the column from the mentioned contraint in order to disable the `NOT NULL' on it!
+
- Creating database '%1'...
- 正在创建数据库 '%1'...
+ The identity column `%1' has an invalid data type! The data type must be `smallint', `integer' or `bigint'.
+
- Connecting to database '%1'...
- 正在连接数据库 '%1'...
+ Reference to an invalid affected command in policy `%1'!
+
- Creating objects on database '%1'...
- 正在对数据库 '%1' 创建对象...
+ Reference to an invalid special role in policy `%1'!
+
@@ -4763,6 +4234,14 @@ Message returned by the DBMS: `%1'
Whole words
+
+ Hide this widget
+
+
+
+ ...
+
+ FunctionWidget
@@ -4770,18 +4249,10 @@ Message returned by the DBMS: `%1'
Attributes属性
-
- Langague:
- 语言:
- Function Type:函数类型:
-
- Window Function:
- 窗口函数:
- Execution Cost:执行开销:
@@ -4802,18 +4273,10 @@ Message returned by the DBMS: `%1'
Return Method:返回方法:
-
- Simple
- 简单
- Set集
-
- Table
- 表
- Parameters参数
@@ -4854,18 +4317,10 @@ Message returned by the DBMS: `%1'
Default Value默认值
-
- Form
- Form
- Return Table返回表
-
- IN/OUT
- IN/OUT
- Si&mple
@@ -4886,41 +4341,17 @@ Message returned by the DBMS: `%1'
Mode
+
+ Language:
+
+ GeneralConfigWidget
-
- Grid size:
- 网格大小:
- Operation history:操作记录:
-
- items
- 条
-
-
- Autosave interval:
- 自动保存的时间间隔:
-
-
- minute(s)
- 分钟
-
-
- Save widgets position
- 保存部件位置
-
-
- Save current session
- 保存当前会话
-
-
- Printing Options:
- 打印选项:
- Print grid打印网格
@@ -4933,10 +4364,6 @@ Message returned by the DBMS: `%1'
Paper:纸型:
-
- Custom (Based on margins)
- 定制 (基于边框)
- Orientation:方向:
@@ -4949,10 +4376,6 @@ Message returned by the DBMS: `%1'
Landscape横向
-
- Margins:
- 边距:
- Milimeters毫米
@@ -4993,10 +4416,6 @@ Message returned by the DBMS: `%1'
FormForm
-
- pixels
- 像素
- A0 (841 x 1189 mm)A0 (841 x 1189 mm)
@@ -5137,18 +4556,10 @@ Message returned by the DBMS: `%1'
General常规
-
- The opened models will be saved periodically
-
- Check if there is a new version on server
-
- Check for updates at startup
-
- Design
@@ -5177,14 +4588,6 @@ Message returned by the DBMS: `%1'
Move canvas by keep mouse on corners
-
- By default panning mode is triggered with left click and range selection with Shift + left click.
-
-
-
- Swap panning and range selection triggers
-
- Graphical objects (table, views and textboxes) will be created in a single step without the need to click on canvas
@@ -5325,118 +4728,146 @@ Message returned by the DBMS: `%1'
The little brown fox jumps over the lazy dog
-
-
- GraphicalView
- Connected rels: %1
+ Minimum object opacity (%):
-
-
- HintTextWidget
- Form
- Form
+ Defines the minimum opacity percentage applied to the objects when using the fade out feature. A zero opacity causes the object to be completely hidden not being possible to interact with it in the canvas area.
+
-
-
- IndexWidget
- Indexing Type:
- 索引类型:
+ Canvas grid size:
+
- Fill Factor:
- 填充因子:
+ Defines the vertical and horizontal grid size. This value affects the spacing of objects when using object grid alignment feature.
+
- Options:
- 选项:
+ By default the range selection is triggered with Shift + left click. By checking this option range selection will be activated only with a single click and move.
+
- Concurrent
- 并发
+ Trigger range selection with a single click
+
- Check duplicates
- 检查重复
+ Defines the maximum amount of elements held in the operation history. Once reached the maximum number the history is automatically cleaned.
+
- Fast update
- 快速更新
+ Defines the period when the opened models will be saved automatically.
+
- Conditional Expr.:
- 条件表达式:
+ Autosave interval (minutes):
+
- Elements
- 元素
+ Replaces any straight line in relationship by curved ones in order to improve the model's visualization.
+
- Column:
- 列:
+ Use curved lines for relationships
+
- Expression:
- 表达式:
+ Souce code editor args:
+
- Operator Class:
- 操作符类:
+ lines
+
- Sorting:
- 正在排序:
+ Clear the entire SQL comand history.
+
- Ascending
- 升序
+ Clear history
+
- Descending
- 降序
+ Open in file manager
+ 在文件管理器中打开
- Nulls first
- Null 值优先
+ Overrides the default user interface language defined by the system. Requires restarting the program. <strong>NOTE:</strong> UI translations are third party collaborations thus any typo or mistake should be reported directly to their respective maintainers.
+
- Type
- 类型
+ SQL history max. length:
+
- Operator Class
- 操作符类
+ Check updates at startup
+
- Sorting
- 排序
+ User interface language:
+
+
+
+ Browse the source code editor application
+
+
+
+ Souce code editor:
+
+
+
+ Configurations directory:
+
+
+
+ System default
+
+
+
+ All files (*.*)
+
+
+
+ Load file
+
+
+
+
+ GenericSQLWidget
+
+ SQL code
+
+
+
+ HintTextWidgetForm
- Form
+ Form
+
+
+ IndexWidget
- Element
- 元素
+ Fill Factor:
+ 填充因子:
- Nulls First
- Null 值优先
+ Options:
+ 选项:
- Expressão
- 表达式
+ Concurrent
+ 并发
- Sim
- 是
+ Fast update
+ 快速更新
- Não
- 否
+ Elements
+ 元素Attributes
@@ -5465,26 +4896,10 @@ Message returned by the DBMS: `%1'
Trusted:可信:
-
- Handler Function:
- 处理函数:
-
-
- Validator Function:
- 验证函数:
-
-
- Inline Function:
- 内联函数:
- The functions to be assigned to the language should have, respectively, the following signatures:<br/><br/> <strong>Handler Function:</strong> <em>language_handler function()</em><br/> <strong>Validator Function:</strong> <em>void function(oid)</em><br/> <strong>Inline Function:</strong> <em>void function(internal)</em>语言处理函数的签名分别为:<br/><br/> <strong>处理函数:</strong> <em>language_handler function()</em><br/> <strong>验证函数:</strong> <em>void function(oid)</em><br/> <strong>内联函数:</strong> <em>void function(internal)</em>
-
- Form
- Form
- Validator Func.:
@@ -5508,134 +4923,30 @@ Message returned by the DBMS: `%1'
&Edit编辑(&E)
-
- &Help
- 帮助(&H)
- &Show视图(&S)
-
- &Tools
- 工具(&T)
-
-
- &Plugins
- 插件(&P)
-
-
- File
- 文件
-
-
- Edit
- 编辑
-
-
- Help
- 帮助
-
-
- Show
- 显示
- New新建
-
- Save
- 保存
- Zoom -缩小
-
- Load
- 打开
-
-
- Next
- 下一个
-
-
- Previous
- 上一个
-
-
- Exit
- 退出
-
-
- About pgModeler
- 关于 pgModeler
-
-
- Print
- 打印
-
-
- Undo
- 撤销
-
-
- Redo
- 重做
-
-
- Export
- 导出
- Show grid显示网格
-
- Align to grid
- 对齐到网格
-
-
- Fullscreen
- 全屏
-
-
- Show the model on fullscreen mode
- 在全屏模式下显示模型
- Show the page delimiters显示分页符
-
- Configurations
- 配置
-
-
- Save all models
- 保存全部模型
-
-
- Some models were modified! Do you want to save them before finish the pgModeler?
- 模型已被修改!你要在关闭 pgModeler 之前保存它们吗?
- Save '%1' as...保存 '%1' 为...
-
- Print grid
- 打印网格
-
-
- Print page numbers
- 打印页码
-
-
- Model Options
- 模型选项
- Confirmation确认
@@ -5644,10 +4955,6 @@ Message returned by the DBMS: `%1'
Load model打开模型
-
- Overview
- 概览
- Show the model overview显示模型概览
@@ -5688,14 +4995,6 @@ Message returned by the DBMS: `%1'
Ctrl+OCtrl+O
-
- Save as
- 另存为
-
-
- F2
- F2
- Ctrl+PCtrl+P
@@ -5712,14 +5011,6 @@ Message returned by the DBMS: `%1'
Ctrl+GCtrl+G
-
- Close model
- 关闭模型
-
-
- Normal zoom
- 正常比例
- Ctrl+0Ctrl+0
@@ -5728,22 +5019,10 @@ Message returned by the DBMS: `%1'
Align objects position to grid对齐对象到网格
-
- F11
- F11
-
-
- Show delimiters
- 显示分页符
- Ctrl+LCtrl+L
-
- Widgets
- 部件
- Save all保存全部
@@ -5756,18 +5035,6 @@ Message returned by the DBMS: `%1'
Changes were detected in the definitions of paper/margin of the model which may cause the incorrect print of the objects. Do you want to continue printing using the new settings? To use the default settings click 'No' or 'Cancel' to abort printing.模型的纸型/页边距已改变,这可能导致对象打印出错。要使用新的设置继续打印吗?要使用默认设置,请单击“否”或“取消”中止打印。
-
- Tools
- 工具
-
-
- View
- 视图
-
-
- Model
- 模型
- Database model (*.dbm);;All files (*.*)数据库模型 (*.dbm);; 所有文件 (*.*)
@@ -5776,18 +5043,10 @@ Message returned by the DBMS: `%1'
Save model保存模型
-
- The model were modified! Do you want to save it before close?
- 模型已被修改!要在关闭前保存吗?
- Ctrl+Q
-
- F3
- F3
- Ctrl+Shift+S
@@ -6088,10 +5347,6 @@ Message returned by the DBMS: `%1'
&Diff
-
- Determine the changes between model and database
-
- Ctrl+Shift+D
@@ -6256,64 +5511,33 @@ Message returned by the DBMS: `%1'
Executing pending <strong>%1</strong> operation...
-
-
- MessageBox
-
- Show/hide exceptions stack.
- 显示/隐藏异常堆栈。
-
-
- &Yes
- 是(&Y)
-
-
- &No
- 否(&N)
-
-
- Cancel
- 取消
-
-
- Error
- 错误
-
-
- Alert
- 警告
-
-
- Information
- 信息
-
- &Cancel
- 取消(&C)
+ Determine the changes between model/database and another database
+
- Dialog
- Dialog
+ Arrange objects
+
- ...
- ......
+ Rearrange objects over the canvas
+
- msg
- 信息
+ Grid
+
- &Ok
- 确定(&O)
+ Hierarchical
+
- Exceptions
- 异常
+ Scattered
+
- Show excpetion stack in text format (useful to report errors).
- 以文本形式显示异常堆栈(有助于报告错误)。
+ Rearrange objects over the canvas is an irreversible operation! Would like to proceed?
+
@@ -6462,138 +5686,150 @@ Message returned by the DBMS: `%1'
- Save textboxes to the output file when extracting metadata. When loading the file textboxes are recreated and duplicated ones are ignored.
+ Textbox objects
- Textbox objects
+ Tag objects
- Save tags to the output file when extracting metadata. When loading the file tags are recreated and duplicated ones are ignored.
+ Backup file:
- Tag objects
+ Select file
- Backup file:
+ ...
- Select file
+ Apply to:
- ...
+ Operation:
- Apply to:
+ Output
- Operation:
+ Progress label...
+ 处理标签...
+
+
+ model not saved yet
- Extracts the objects metadata from one of the loaded models and apply to the current model.
+ The backup file cannot be the same as the input model!
- Extract from a &model
+ Extracting metadata to file `%1'
- Reads the objects metadata from a previously saved backup file and apply to the current model.
+ Saving backup metadata to file `%1'
- Restore a bac&kup file
+ Applying metadata from file `%1'
- Output
+ Metadata processing aborted!
- Progress label...
- 处理标签...
+ Objects metadata file (*.omf);;All files (*.*)
+
- model not saved yet
+ Handles the objects' fade out status in the metadata file.
- The backup file cannot be the same as the input model!
+ Objects' fade out status
- Extracting metadata to file `%1'
+ Save tags to the output file when extracting metadata. When loading the file, the tags are recreated and duplicated ones are ignored.
- Saving backup metadata to file `%1'
+ Save textboxes to the output file when extracting metadata. When loading the file, the textboxes are recreated and duplicated ones are ignored.
- Applying metadata from file `%1'
+ Handles the tables' and views' extended attributes display status in the metadata file.
- Metadata processing aborted!
+ Tables' extended attributes display
- Objects metadata file (*.omf);;All files (*.*)
+ Save generic SQL objects to the output file when extracting metadata. When loading the file, the objects are recreated and duplicated ones are ignored.
-
-
- ModelDatabaseDiffForm
- Database model diff
+ Generic SQL objects
- Generate diff from model
+ Extracts the objects' metadata from the loaded models and apply to the current focused model. A backup file can be specified to where the focused model's current metadata will be saved.
- Settings
+ &Extract and restore
- Input database
+ Extracts the objects metadata from one of the loaded models saving the info to a backup file.
- Connection:
- 连接:
+ Extract &only
+
- Database:
+ Reads the objects' metadata from a previously saved backup file and apply to the current model.
- Options
+ &Restore a backup file
+
+
+ ModelDatabaseDiffForm
- Ignores as many as possible errors on import step. This option generates an incomplete diff.
+ Settings
- Ignore import errors
+ Connection:
+ 连接:
+
+
+ Database:
- Clears the data of all tables which will have columns modified. This is useful to avoid errors related to type casting. <strong>WARNING:</strong> DO NOT use this option on production servers and always make a backup before use it.
+ Ignores as many as possible errors on import step. This option generates an incomplete diff.
+
+
+
+ Ignore import errors
- Trucate tables before alter columns
+ Clears the data of all tables which will have columns modified. This is useful to avoid errors related to type casting. <strong>WARNING:</strong> DO NOT use this option on production servers and always make a backup before use it.
@@ -6741,7 +5977,7 @@ Message returned by the DBMS: `%1'
- <html><head/><body><p>Objects marked with an <span style=" font-weight:600;">ALTER</span> may not be effectively changed unless that the differences detected are in attributes that can be modified through ALTER commands otherwise no operationwill be performed or, if the force recreation is checked, the object will be dropped and created again.</p></body></html>
+ <html><head/><body><p>Objects marked with an <span style=" font-weight:600;">ALTER</span> may not be effectively changed unless that the differences detected are in attributes that can be modified through ALTER commands otherwise no operation will be performed or, if the force recreation is checked, the object will be dropped and created again.</p></body></html>
@@ -6784,14 +6020,6 @@ Message returned by the DBMS: `%1'
Waiting process to start...
-
- Importing database <strong>%1</strong>...
-
-
-
- Comparing the model <strong>%1</strong> and database <strong>%2</strong>...
-
- Confirmation确认
@@ -6808,10 +6036,6 @@ Message returned by the DBMS: `%1'
Preview diff
-
- Exporting diff to database <strong>%1</strong>...
-
- Diff process paused. Waiting user action...
@@ -6858,136 +6082,136 @@ Message returned by the DBMS: `%1'
SQL code (*.sql);;All files (*.*)SQL 代码 (*.sql);;所有文件 (*.*)
-
-
- ModelExportForm
- Model Export
- 导出模型
+ Diff tool
+
- Select the export type:
- 选择导出类型:
+ Generate diff code
+
- File:
- 文件:
+ Source database
+
- Select target file
- 选择目标文件
+ Current model:
+
- PostgreSQL version in which the SQL code should be generated
- 生成 SQL 代码的 PostgreSQL 版本
+ (model)
+
- Check if the system user has write permission on target folder.
- 检查系统用户是否具有目标文件夹的写权限。
+ Compare to
+
- Options:
- 选项:
+ Diff
+
- Show grid
- 显示网格
+ Froce the generation of DROP commands for columns and constraints that exist in database but not in the model. This is useful when diff a partial model against the complete database and the user needs to drop columns and constraint but preserve the rest of the objects.
+
- Ignore object duplicity
- 忽略重复对象
+ Drop missing columns and constraints
+
- The pgModeler ignores errors generated by duplicate objects and creates only model objects that do not exist in the database. This option may be used when an object was created after a later model export.
- pgModeler 忽略重复对象的错误,并只会创建数据库中不存在的模型对象。此选项可用在模型导出以后才创建的对象。
+ Truncate tables before alter columns
+
- Export to DBMS:
- 导出到数据库系统:
+ Import && Export
+
- Connection:
- 连接:
+ Import
+
- It is recommended to select this option only when the version of the DBMS, somehow, is not identifiable or if you need to generate a specific version of SQL code for testing.
- 当无法确定数据库系统的版本或想生成用于测试的特定版本 SQL 代码时,建议选择此项。
+ Export
+ 导出
- &Export
- 导出(&E)
+ This advanced option causes pgModeler to ignore extra errors by their numeric codes. These errors must be informed in the input below and separeted by space. For the complete list of error codes check the PostgreSQL docs, section <strong> Appendix A. PostgreSQL Error Codes</strong>. <strong>WARNING:</strong> use this option with extreme care since it can interfere in final export result.
+
- &Close
- 关闭(&C)
+ Ignore error codes
+
- Generating source code...
- 正在生成源代码...
+ model not saved yet
+
- Initializing model export...
- 正在初始化模型导出...
+ (none)
+
- Saving file '%1'
- 正在保存文件 '%1'
+ Step %1/%2: Importing database <strong>%3</strong>...
+
- Creating object '%1' (%2)...
- 正在创建对象 '%1' (%2)...
+ Step %1/%2: Comparing <strong>%3</strong> and <strong>%4</strong>...
+
- Creating database '%1'...
- 正在创建数据库 '%1'...
+ Step %1/%2: Exporting diff to database <strong>%3</strong>...
+
+
+
+ ModelExportForm
- Connecting to database '%1'...
- 正在连接数据库 '%1'...
+ File:
+ 文件:
- Creating objects on database '%1'...
- 正在对数据库 '%1' 创建对象...
+ Select target file
+ 选择目标文件
- Exporting process sucessfuly ended!
- 成功导出!
+ PostgreSQL version in which the SQL code should be generated
+ 生成 SQL 代码的 PostgreSQL 版本
- Error on export!
- 导出出错!
+ Show grid
+ 显示网格
- Export model as...
- 导出模型为...
+ Ignore object duplicity
+ 忽略重复对象
- SQL code (*.sql);;All files (*.*)
- SQL 代码 (*.sql);;所有文件 (*.*)
+ Connection:
+ 连接:
- PNG image (*.png);;All files (*.*)
- PNG 图像 (*.png);; 所有文件 (*.*)
+ &Export
+ 导出(&E)
- Export to SQL file:
- 导出到 SQL 文件:
+ &Close
+ 关闭(&C)
- Export to PNG image:
- 导出到 PNG 图像:
+ Initializing model export...
+ 正在初始化模型导出...
- Image:
- 图像:
+ Saving file '%1'
+ 正在保存文件 '%1'
- Show the page delimiters
- 显示分页符
+ Exporting process sucessfuly ended!
+ 成功导出!
- Check if the system user has write permission on image target folder.
- 检查系统用户是否有图像目标文件夹的写权限。
+ Export model as...
+ 导出模型为......
@@ -7001,10 +6225,6 @@ Message returned by the DBMS: `%1'
Progress label...处理标签...
-
- ico
- ico
- Export model
@@ -7049,10 +6269,6 @@ Message returned by the DBMS: `%1'
Graphics file
-
- Image (PNG)
-
- Type:类型:
@@ -7061,10 +6277,6 @@ Message returned by the DBMS: `%1'
Zoom:
-
- Vectorial (SVG)
-
- Show delimiters显示分页符
@@ -7113,6 +6325,22 @@ Message returned by the DBMS: `%1'
Exporting process canceled by user!
+
+ This advanced option causes pgModeler to ignore extra errors by their numeric codes. These errors must be informed in the input below and separeted by space. For the complete list of error codes check the PostgreSQL docs, section <strong> Appendix A. PostgreSQL Error Codes</strong>. <strong>WARNING:</strong> use this option with extreme care since it can interfere in final export result.
+
+
+
+ Ignore error codes
+
+
+
+ I&mage (PNG)
+
+
+
+ &Vectorial (SVG)
+
+ ModelExportHelper
@@ -7377,10 +6605,6 @@ p, li { white-space: pre-wrap; }
Parent Type父类型
-
- Visible Object Types
-
- Select All选择全部
@@ -7449,6 +6673,14 @@ p, li { white-space: pre-wrap; }
By ID
+
+ Visible object types
+
+
+
+ Model objects
+
+ ModelOverviewWidget
@@ -7456,17 +6688,14 @@ p, li { white-space: pre-wrap; }
Model overview模型概览
+
+ Failed to generate the overview image.
+The requested size %1 x %2 was too big and there was not enough memory to allocate!
+
+ ModelRestorationForm
-
- Modified: %1
- 修改:%1
-
-
- yyyy-MM-dd hh:mm:ss
- yyyy-MM-dd hh:mm:ss
- Model restoration模型恢复
@@ -7479,10 +6708,6 @@ p, li { white-space: pre-wrap; }
&Cancel取消(&C)
-
- pgModeler was not closed properly in a previous execution and some models were still being edited. Click 'Restore' to reopen the models or 'Cancel' to abort the restoration.
- pgModeler 在之前运行时没有正常关闭且部分模型还处于编辑状态。单击“恢复”重新打开模型或“取消”放弃恢复。
- pgModeler was not closed properly in a previous execution and some models were still being edited. Click <strong>Restore</strong> to reopen the models or <strong>Cancel</strong> to abort the restoration.
@@ -7573,10 +6798,6 @@ p, li { white-space: pre-wrap; }
Try to resolve the reported issues.
-
- Apply Fix
-
- Ctrl+SCtrl+S
@@ -7585,10 +6806,6 @@ p, li { white-space: pre-wrap; }
Change the creation order for two objects by swapping their ids
-
- Swap Ids
-
- Va&lidate
@@ -7685,17 +6902,25 @@ p, li { white-space: pre-wrap; }
Processing object: %1
-
-
- ModelWidget
- Generalization
- 泛化
+ Apply fixes
+
- <strong>CAUTION:</strong> The object model is protected! New objects will be inserted only when the protection is removed!
- <STRONG>警告:</STRONG>对象模型处于受保护状态!只有在移除保护之后才可以插入对象!
+ Swap ids
+
+
+
+ The column <strong>%1</strong> on <strong>%2</strong> <em>(%3)</em> is referencing the geospatial data type <strong>%4</strong> but the <strong>postgis</strong> extension is not present in the model!
+
+
+ <strong>HINT:</strong> Create the extension in the model or let it be created by applying the needed fixes.
+
+
+
+
+ ModelWidgetSource code源代码
@@ -7720,22 +6945,10 @@ p, li { white-space: pre-wrap; }
Unprotect取消保护
-
- Pretects the object(s) against modifications
- 添加修改保护
-
-
- Removes from the objetc(s) the protection against modifications
- 移除修改保护
- Delete删除
-
- Delete the selected object(s)
- 删除选中对象
- Select all选择全部
@@ -7744,46 +6957,22 @@ p, li { white-space: pre-wrap; }
Selects all the graphical objects in the model选择模型中的全部图形对象
-
- Converts the n-n relationship into table
- 将 N-N 关系转换成表
- Copy复制
-
- Copy the selected objects(s)
- 复制选中对象
- Paste粘贴
-
- Paste the previos copied object(s)
- 粘贴已复制的对象
- Cut剪切
-
- Displays objects that reference and that are dependent of the selected object
- 显示选中对象的引用对象和依赖对象
-
-
- New object
- 新建对象
- Add a new object in the model添加新对象到模型中
-
- Quick actions
- 快速操作
- Rename重命名
@@ -7796,34 +6985,18 @@ p, li { white-space: pre-wrap; }
Move to schema移动到模式
-
- Move the object to another schema
- 将此对象移动到另一个模式
- Edit permissions编辑权限
-
- Edit object's permissions
- 编辑对象的权限
- Change owner变更所有者
-
- Change object's owner
- 变更对象的所有者
- Select children选择子对象
-
- Selects all the children graphical objects on the selected schema
- 选择所选定模式的所有子图形对象
- Loading database model正在载入数据库模型
@@ -7832,10 +7005,6 @@ p, li { white-space: pre-wrap; }
Saving database model正在保存数据库模型
-
- Confirmation
- 确认
- Also copy all dependencies of selected objects? This minimizes the breakdown of references when copied objects are pasted into another model.同时复制选中对象的依赖对象吗?这会最大限度减小已复制对象被粘贴到其他模型时,发生引用失效的机会。
@@ -7857,80 +7026,32 @@ p, li { white-space: pre-wrap; }
约束
- Convert a relationship is an irreversible operation and causes the deletion of all operation history! Do you want to continue?
- 转换关系是不可逆操作并会删除所有操作记录!要继续吗?
+ Protects object(s) from modifications
+
- Dependence
- 依赖
+ (no objects)
+
- Convert rel. n-n
- 转换 N-N 关系
+ One to One (1-1)
+
- Cut the selected object(s)
- 剪切选中的对象
+ One to Many (1-n)
+
- Depend. / Refer.
- 依赖/引用
+ Many to Many (n-n)
+
- Relationship
- 关系
+ Inheritance
+
- CAUTION: Remove multiple objects at once can cause irreversible invalidations to other objects in the model. Do you really want to delete ALL selected objects?
- 注意:同时删除多个对象可能会造成模型中其他对象不可逆的失效。要删除所有选中的对象吗?
-
-
- Validating object: %1 (%2)
- 正在验证对象:%1 (%2)
-
-
- Pasting object: %1 (%2)
- 正在粘贴对象:%1 (%2)
-
-
- Generating XML code of object: %1 (%2)
- 正在生成对象 %1 (%2) 的 XML 代码
-
-
- Protects object(s) from modifications
-
-
-
- Dependencies
- 依赖
-
-
- Highlight
-
-
-
- (no objects)
-
-
-
- One to One (1-1)
-
-
-
- One to Many (1-n)
-
-
-
- Many to Many (n-n)
-
-
-
- Inheritance
-
-
-
- <strong>ATTENTION:</strong> The database model is protected! Operations that could modify it are disabled!
-
+ <strong>ATTENTION:</strong> The database model is protected! Operations that could modify it are disabled!
+ Source
@@ -8104,6 +7225,94 @@ p, li { white-space: pre-wrap; }
The cascade deletion found some problems when running! Some objects could not be deleted or registered in the operation's history! Please, refer to error stack for more details.
+
+ Edit data
+
+
+
+ Select tagged
+
+
+
+ Select
+ 选择
+
+
+ Duplicate
+
+
+
+ Ctrl+D
+
+
+
+ Extended attributes
+
+
+
+ Show
+ 显示
+
+
+ Hide
+
+
+
+ Jump to table
+
+
+
+ Schemas rectangles
+
+
+
+ Fade in/out
+
+
+
+ Fade in
+
+
+
+ Fade out
+
+
+
+ Relationships
+
+
+
+ Swap ids
+
+
+
+ Edit the objects creation order by swapping their ids
+
+
+
+ All objects
+
+
+
+ Schemas
+
+
+
+ Tables
+ 表
+
+
+ Views
+
+
+
+ Textboxes
+
+
+
+ None
+
+ ModelsDiffHelper
@@ -8394,6 +7603,18 @@ p, li { white-space: pre-wrap; }
00
+
+ Generic SQL
+
+
+
+ Policy
+
+
+
+ 8
+ 8
+ NumberedTextEditor
@@ -8413,6 +7634,42 @@ p, li { white-space: pre-wrap; }
Ident left
+
+ Load
+ 打开
+
+
+ Load the object's source code from an external file
+
+
+
+ Edit
+ 编辑
+
+
+ Edit the source code in the preferred external editor
+
+
+
+ Clear
+
+
+
+ SQL file (*.sql);;All files (*.*)
+
+
+
+ Load file
+
+
+
+ The source editor `%1' is running on `pid: %2'.
+
+
+
+ Could not start the source code editor application `%1'! Make to sure that the source editor path defined in the general settings points to a valid executable and the current user has permission to run the application. Error message returned: `%2'
+
+ ObjectDepsRefsWidget
@@ -8440,14 +7697,6 @@ p, li { white-space: pre-wrap; }
References引用
-
- Dependeces / References of Object
- 对象的依赖/引用
-
-
- Form
- Form
- Object's dependencies & references
@@ -8495,14 +7744,6 @@ p, li { white-space: pre-wrap; }
Clear
-
- Highlight graphical objects when selecting them or their children on the result list
-
-
-
- Highlight
-
- ...
@@ -8563,6 +7804,30 @@ p, li { white-space: pre-wrap; }
No objects found.
+
+ (Un)selects the graphical objects in the results grid
+
+
+
+ Select
+ 选择
+
+
+ Fades outs all the graphical objects in the results grid (or those not listed). The current fade in/out state of all objects is modified.
+
+
+
+ Fade out
+
+
+
+ Listed
+
+
+
+ Not listed
+
+ ObjectRenameWidget
@@ -8607,110 +7872,106 @@ p, li { white-space: pre-wrap; }
- ObjectTableWidget
+ ObjectsTableWidget
- Add Item
- 添加项目
-
-
- Remove Item
- 移除项目
+ Form
+ Form
- Update Item
- 更新项目
+ Add Item
+ 添加项目
- Remove All
- 删除全部
+ Ins
+ Ins
- Edit Item
- 编辑项目
+ Remove Item
+ 移除项目
- Move Up
- 上移
+ Del
+ Del
- Move Down
- 下移
+ Update Item
+ 更新项目
- Move to start
- 移至开头
+ Alt+R
+ Alt+R
- Move to end
- 移至末尾
+ Remove All
+ 删除全部
- Do you really want to remove the selected item?
- 要移除选中的项目吗?
+ Shift+Del
+ Shift+Del
- Do you really want to remove the all items?
- 要移除全部项目吗?
+ Duplicate item
+
- Form
- Form
+ Ctrl+D
+
- Ins
- Ins
+ Edit Item
+ 编辑项目
- Del
- Del
+ Space
+ Space
- Alt+R
- Alt+R
+ Move Up
+ 上移
- Shift+Del
- Shift+Del
+ Ctrl+Up
+ Ctrl+Up
- Space
- Space
+ Move Down
+ 下移
- Ctrl+Up
- Ctrl+Up
+ Ctrl+Down
+ Ctrl+Down
- Ctrl+Down
- Ctrl+Down
+ Move to start
+ 移至开头Ctrl+Home
- Ctrl+Home
+ Ctrl+Home
- Ctrl+End, Ctrl+S
- Ctrl+End, Ctrl+S
+ Move to end
+ 移至末尾
- Confirmação
- 确认
+ Ctrl+End, Ctrl+S
+ Ctrl+End, Ctrl+SConfirmation确认
-
-
- OperationList
- Undoing operation on object: %1 (%2)
- 正在撤销对象操作: %1 (%2)
+ Do you really want to remove the selected item?
+ 要移除选中的项目吗?
- Redoing operation on object:: %1 (%2)
- 正在重做对象操作: %1 (%2)
+ Do you really want to remove all the items?
+
+
+
+ OperationList(invalid object)
@@ -8766,14 +8027,6 @@ p, li { white-space: pre-wrap; }
Operation: %1操作:%1
-
- Undoing operations...
- 正在撤销操作...
-
-
- Redoing operations...
- 正在重做操作...
- Operation history exclusion不显示操作记录
@@ -8817,10 +8070,6 @@ p, li { white-space: pre-wrap; }
Elements元素
-
- Elemente Type:
- 元素类型:
- Operator操作符
@@ -8845,14 +8094,6 @@ p, li { white-space: pre-wrap; }
Support/Strategy:支持/策略:
-
- Recheck
- 重新检查
-
-
- Family:
- 族:
- Storage Type存储类型
@@ -8870,24 +8111,12 @@ p, li { white-space: pre-wrap; }
支持/策略
- Yes
- 是
+ Element Type:
+
- No
- 否
-
-
- Form
- Form
-
-
- Element Type:
-
-
-
- Op. Family:
-
+ Op. Family:
+ Operator Family
@@ -8900,10 +8129,6 @@ p, li { white-space: pre-wrap; }
Indexing:正在建立索引:
-
- Form
- Form
- OperatorWidget
@@ -8915,46 +8140,6 @@ p, li { white-space: pre-wrap; }
Arguments参数
-
- Functions
- 函数
-
-
- Constraints:
- 约束:
-
-
- Operator:
- 操作符:
-
-
- Operators
- 操作符
-
-
- Commutation:
- 交换:
-
-
- Negation:
- 否定:
-
-
- Sort (1):
- 排序 (1):
-
-
- Sort (2):
- 排序 (2):
-
-
- Less than:
- 小于:
-
-
- Greater then:
- 大于:
- Right Argument Type右参数类型
@@ -8967,10 +8152,6 @@ p, li { white-space: pre-wrap; }
To create a unary operator it is necessary to specify as <strong><em>'any'</em></strong> one of its arguments. Additionally, the function that defines the operator must have only one parameter and this, in turn, must have the same data type of the the argument of unary operator.在创建单目操作符时必须指定它们参数中的<strong><em>任何</em></strong>一个。另外,作为操作符的函数必须有且只有一个参数,而且这个参数的类型必须与单目操作符参数的类型相同。
-
- Form
- Form
- MERGES融合连接 (MERGES)
@@ -9014,10 +8195,6 @@ p, li { white-space: pre-wrap; }
Mode:模式:
-
- Form
- Form
- ININ
@@ -9053,18 +8230,6 @@ p, li { white-space: pre-wrap; }
Add Permission添加权限
-
- Type:
- 类型:
-
-
- Role
- 角色
-
-
- Form
- Form
- ID:ID:
@@ -9093,10 +8258,6 @@ p, li { white-space: pre-wrap; }
Cascade
-
- Leave the <em><strong>Roles</strong></em> empty to create a permission applicable to <strong><em>PUBLIC</em></strong>.
-
- Edit permissions编辑权限
@@ -9121,6 +8282,14 @@ p, li { white-space: pre-wrap; }
/* Could not generate the SQL code preview for permissions!
+
+ Name
+ 名称
+
+
+ Leave the <em><strong>Roles</strong></em> grid empty in order to create a %1 applicable to <strong><em>PUBLIC</em></strong>.
+
+ PgModelerCLI
@@ -9137,290 +8306,525 @@ p, li { white-space: pre-wrap; }
- Connection aliased as '%1' was not found on configuration file.
+ Usage: pgmodeler-cli [OPTIONS]
- Usage: pgmodeler-cli [OPTIONS]
+ command line interface.
- command line interface.
+ DBMS export options:
- PostgreSQL Database Modeler Project - pgmodeler.com.br
+ Input file must be different from output!
- %1, %2 Export to a sql script file.
+ Incomplete connection information!
- %1, %2 Export to a png image.
+ Starting model export...
- %1, %2 Export directly to a PostgreSQL server.
+ General options:
- %1, %2 Version of generated SQL code. Only for file or dbms export.
+ PNG and SVG export options:
- %1, %2 Silent execution. Only critical errors are shown during process.
+ Miscellaneous options:
- %1, %2 Show this help menu.
+ There are no connections configured.
- %1, %2 Draws the grid on the exported png image.
+ Invalid zoom specified!
- %1, %2 Draws the page delimiters on the exported png image.
+ Invalid action specified to update mime option!
- DBMS export options:
+ Starting model fixing...
+
+
+
+ Starting mime update...
- %1, %2 Ignores errors related to duplicated objects that eventually exists on server side.
+ Model successfully fixed!
- %1, %2=[ALIAS] Connection configuration alias to be used.
+ Extracting objects' XML...
- %1, %2=[HOST] PostgreSQL host which export will operate.
+ Invalid input file! It seems that is not a pgModeler generated model or the file is corrupted!
- %1, %2=[PORT] PostgreSQL host listening port.
+ Recreating objects...
- %1, %2=[DBNAME] Connection's initial database.
+
+** Object(s) that couldn't fixed:
- No export mode specified!
+ WARNING: There are objects that maybe can't be fixed. Trying again... (tries %1/%2)
- No input file specified!
+ Database model files (.dbm) are already associated to pgModeler!
- No output file specified!
+ There is no file association related to pgModeler and .dbm files!
- Input file must be different from output!
+ Mime database operation: %1
- Incomplete connection information!
+ Can't erase the file %1! Check if the current user has permissions to delete it and if the file exists.
- Starting model export...
+ Running update-mime-database command...
- Loading input file:
+ Connection aliased as '%1' was not found in the configuration file.
- Export to PNG image:
+ PostgreSQL Database Modeler Project - pgmodeler.io
- Export to SQL script file:
+ Copyright 2006-2018 Raphael A. Silva <raphael@pgmodeler.io>
- Export to DBMS:
+ This CLI tool provides several operations over models and databases without the need to perform them
+in pgModeler's graphical interface. All available options are described below.
- Export successfully ended!
+ %1, %2 [FILE] Input model file (.dbm). This is mandatory for fix, export operations.
- Copyright 2006-2015 Raphael A. Silva <raphael@pgmodeler.com.br>
+ %1, %2 [DBNAME] Input database name. This is mandatory for import operation.
- This CLI tool provides the operations to export pgModeler's database models without
- the need to load them on graphical interface as well to fix model files to the most recent
- accepted structure. All available options are described below.
+ %1, %2 [FILE] Output file. This is mandatory for fixing model or exporting to file, png or svg.
- General options:
+ %1, %2 Try to fix the structure of the input model file in order to make it loadable again.
- %1, %2=[FILE] Input model file (.dbm). Mandatory use when fixing a model or exporting it.
+ %1, %2 [NUMBER] Model fix tries. When reaching the maximum count the invalid objects will be discarded.
- %1, %2=[FILE] Output file. Mandatory use when fixing model or export to file or png.
+ %1, %2 Export the input model to a sql script file.
- %1, %2 Try to fix the structure of the input model file in order to make it loadable again.
+ %1, %2 Export the input model to a png image.
- %1, %2 Model fix tries. When reaching the maximum count the invalid objects will be discard.
+ %1, %2 Export the input model to a svg file.
- %1, %2 Export to a svg file.
+ %1, %2 Export the input model directly to a PostgreSQL server.
- %1, %2 List available connections on %3 file.
+ %1, %2 Import a database to an output file.
- PNG and SVG export options:
+ %1, %2 Compares a model and a database or two databases generating the SQL script to synch the latter in relation to the first.
- %1, %2 Each page will be exported on a separated png image. (Only for PNG)
+ %1, %2 Force the PostgreSQL version of generated SQL code.
- %1, %2=[FACTOR] Applies a zoom (in percent) before export to png image. Accepted zoom interval: %3-%4 (Only for PNG)
+ %1, %2 Silent execution. Only critical messages and errors are shown during process.
- %1, %2 Drop the database before execute a export process.
+ %1, %2 Show this help menu.
- %1, %2 Runs the DROP commands attached to SQL-enabled objects.
+ Connection options:
- %1, %2 Simulates a export process. Actually executes all steps but undoing any modification.
+ %1, %2 List available connections in file %3.
- %1, %2 Generates temporary names for database, roles and tablespaces when in simulation mode.
+ %1, %2 [ALIAS] Connection configuration alias to be used.
- %1, %2=[USER] PostgreSQL username.
+ %1, %2 [HOST] PostgreSQL host in which a task will operate.
- %1, %2=[PASSWORD] PostgreSQL user password.
+ %1, %2 [PORT] PostgreSQL host listening port.
- Miscellaneous options:
+ %1, %2 [USER] PostgreSQL username.
- %1, %2=[ACTION] Handles the file association to .dbm files. The ACTION can be [%3 | %4].
+ %1, %2 [PASSWORD] PostgreSQL user password.
- There are no connections configured.
+ %1, %2 [DBNAME] Connection's initial database.
- Available connections (alias : conn. string)
+ %1, %2 Draws the grid in the exported image.
- Export, fix model and update mime operations can't be used at the same time!
+ %1, %2 Draws the page delimiters in the exported image.
- Multiple export mode specified!
+ %1, %2 Each page will be exported in a separated png image. (Only for PNG images)
- Invalid zoom specified!
+ %1, %2 [FACTOR] Applies a zoom (in percent) before export to png image. Accepted zoom interval: %3-%4 (Only for PNG images)
- Invalid action specified to update mime option!
+ %1, %2 Ignores errors related to duplicated objects that eventually exist in the server.
- Starting model fixing...
+ %1, %2 [CODES] Ignores additional errors by their codes. A comma-separated list of alphanumeric codes should be provided.
- Starting mime update...
+ %1, %2 Drop the database before execute a export process.
- Fixed model file:
+ %1, %2 Runs the DROP commands attached to SQL-enabled objects.
- Model successfully fixed!
+ %1, %2 Simulates an export process by executing all steps but undoing any modification in the end.
- Mime database successfully updated.
+ %1, %2 Generates temporary names for database, roles and tablespaces when in simulation mode.
- Export to SVG file:
+ Database import options:
- Extracting objects' XML...
+ %1, %2 Ignore all errors and try to create as many as possible objects.
- Invalid input file! It seems that is not a pgModeler generated model or the file is corrupted!
+ %1, %2 Import system built-in objects. This option causes the model bloating due to the importing of unneeded objects.
- Recreating objects...
+ %1, %2 Import extension objects. This option causes the model bloating due to the importing of unneeded objects.
-
-** Object(s) that couldn't fixed:
+ %1, %2 Run import in debug mode printing all queries executed in the server.
- WARNING: There are objects that maybe can't be fixed. Trying again... (tries %1/%2)
+ Diff options:
- Database model files (.dbm) are already associated to pgModeler!
+ %1, %2 [DBNAME] The database used in the comparison. All the SQL code generated is applied to it.
- There is no file association related to pgModeler and .dbm files!
+ %1, %2 Save the generated diff code to output file.
- Mime database operation: %1
+ %1, %2 Apply the generated diff code on the database server.
- Can't erase the file %1! Check if the current user has permissions to delete it and if the file exists.
+ %1, %2 Don't preview the generated diff code when applying it to the server.
- Running update-mime-database command...
+ %1, %2 Drop cluster level objects like roles and tablespaces.
+
+
+
+ %1, %2 Revoke permissions already set on the database. New permissions configured in the input model are still applied.
+
+
+
+ %1, %2 Drop missing objects. Generates DROP commands for objects that are present in the input model but not in the compared database.
+
+
+
+ %1, %2 Force the drop of missing columns and constraints. Causes only columns and constraints to be dropped, other missing objects aren't removed.
+
+
+
+ %1, %2 Rename the destination database when the names of the involved databases are different.
+
+
+
+ %1, %2 Don't drop or truncate objects in cascade mode.
+
+
+
+ %1, %2 Truncate tables prior to alter columns. Avoids errors related to type casting when the new type of a column isn't compatible to the old one.
+
+
+
+ %1, %2 Don't reuse sequences on serial columns. Drop the old sequence assigned to a serial column and creates a new one.
+
+
+
+ %1, %2 Don't force the recreation of objects. Avoids the usage of a DROP and CREATE commands to create a new version of the objects.
+
+
+
+ %1, %2 Don't recreate the unmodifiable objects. These objects are the ones which can't be changed via ALTER command.
+
+
+
+ %1, %2 [ACTION] Handles the file association to .dbm files. The ACTION can be [%3 | %4].
+
+
+
+ ** The diff process allows the usage of the following options related to import and export operations:
+
+
+
+ * Export:
+
+
+
+ * Import:
+
+
+
+ ** When running the diff using two databases (%1 and %2) there's the need to specify two connections/aliases.
+
+
+
+ If only one connection is set it will be used to import the input database as well to retrieve database used in the comparison.
+
+
+
+ A second connection can be specified by appending a 1 on any connection configuration parameter listed above.
+
+
+
+ Available connections (alias : connection string)
+
+
+
+ No operation mode was specified!
+
+
+
+ Export, fix model, import database, diff and update mime operations can't be used at the same time!
+
+
+
+ Multiple export mode was specified!
+
+
+
+ No input file was specified!
+
+
+
+ No input database was specified!
+
+
+
+ No output file was specified!
+
+
+
+ No input file or database was specified!
+
+
+
+ The input file and database can't be used at the same time!
+
+
+
+ No database to be compared was specified!
+
+
+
+ No diff action (save or apply) was specified!
+
+
+
+ No output file for the diff code was specified!
+
+
+
+ ** Error code `%1' found and ignored. Proceeding with export.
+
+
+
+ ** Command: %1
+
+
+
+ Loading input file: %1
+
+
+
+ Fixed model file: %1
+
+
+
+ Export to PNG image: %1
+
+
+
+ Export to SVG file: %1
+
+
+
+ Export to SQL script file: %1
+
+
+
+ Export to DBMS: %1
+
+
+
+ Export successfully ended!
+
+
+
+
+ Starting database import...
+
+
+
+ Input database: %1
+
+
+
+ Saving the imported database to file...
+
+
+
+ Import successfully ended!
+
+
+
+
+ Starting diff process...
+
+
+
+ Input model: %1
+
+
+
+ Compare to: %1
+
+
+
+ Loading input model...
+
+
+
+ Importing the database `%1'...
+
+
+
+ Comparing the generated models...
+
+
+
+ No differences were detected.
+
+
+
+ Saving diff to file `%1'
+
+
+
+ ** WARNING: You are about to apply the generated diff code to the server. Data can be lost in the process!
+
+
+
+ ** Proceed with the diff applying? (yes/no) >
+
+
+
+ yes
+
+
+
+ no
+
+
+
+ Diff code not applied to the server.
+
+
+
+ Applying diff to the database `%1'...
+
+
+
+ Diff successfully ended!
+
+
+
+
+ Mime database successfully updated!
+
@@ -9547,10 +8951,6 @@ p, li { white-space: pre-wrap; }
Loaded plug-ins已加载的插件
-
- <html><head/><body><p>Details about plugins development and installation can be found at <a href="http://www.pgmodeler.com.br/wiki/doku.php?id=plugins"><span style=" text-decoration: underline; color:#0057ae;">pgModeler Wiki</span></a>. <span style=" font-weight:600;">Note:</span> plugin installation requires pgModeler to be restarted.</p></body></html>
- <html><head/><body><p>关于插件开发和安装的详细信息可以在<a href="http://www.pgmodeler.com.br/wiki/doku.php?id=plugins"><span style=" text-decoration: underline; color:#0057ae;">pgModeler Wiki</span></a>中找到。 <span style=" font-weight:600;">注意:</span> 安装插件需要重启pgModeler。
- Plugin插件
@@ -9564,6 +8964,45 @@ p, li { white-space: pre-wrap; }
动态链接库
+
+ PolicyWidget
+
+ Basics
+
+
+
+ Command:
+
+
+
+ Permissive
+
+
+
+ Roles
+ 角色
+
+
+ Expressions
+
+
+
+ USING:
+
+
+
+ CHECK:
+
+
+
+ Name
+ 名称
+
+
+ Leave the <em><strong>Roles</strong></em> grid empty in order to create a %1 applicable to <strong><em>PUBLIC</em></strong>.
+
+
+QObject
@@ -9575,21 +9014,6 @@ p, li { white-space: pre-wrap; }
%1 (行:%2)
-
- QuickRenameWidget
-
- Form
- Form
-
-
- Rename
- 重命名
-
-
- Cancel
- 取消
-
-Relationship
@@ -9623,18 +9047,10 @@ p, li { white-space: pre-wrap; }
Connection Mode
-
- This mode is available only for <strong>one-to-one</strong>, <strong>one-to-many</strong> and <strong>fk relationships</strong> but provides a better semantics when linking tables by placing the lines on the exact point where the relationship occurs.
-
- Connect FK to PK columns
-
- This mode is the classical one. It connects the relationship to tables through their central points.
-
- Connect tables' center points
@@ -9747,6 +9163,30 @@ p, li { white-space: pre-wrap; }
Default默认
+
+ This mode renders the relationships in crow's foot notation which has a better semantics and readability. It also determines the optimal point where the relationship is connected on the tables' edges taking their position into account.
+
+
+
+ Crow's foot notation
+
+
+
+ This mode determines the optimal point where the relationship is connected on the tables' edges taking their position into account. It implies the usage of the classical ER notation.
+
+
+
+ Connect tables' edges
+
+
+
+ This mode is available only for <strong>one-to-one</strong>, <strong>one-to-many</strong> and <strong>fk relationships</strong> but provides a better semantics when linking tables by placing the lines on the exact point where the relationship occurs. It implies the usage of the classical ER notation.
+
+
+
+ This mode is the classical one. It connects the relationship to tables through their central points. It implies the usage of the classical ER notation.
+
+ RelationshipWidget
@@ -9754,10 +9194,6 @@ p, li { white-space: pre-wrap; }
General常规
-
- Relationship:
- 关系:
- One to one relationship一对一关系
@@ -9774,46 +9210,18 @@ p, li { white-space: pre-wrap; }
Generalization relationship (inheritance)泛化关系 (继承)
-
- Dependency relationship
- 依赖关系
- Identifier标识符
-
- Source Table:
- 原始表:
-
-
- Target Table:
- 目标表:
- Cardinality:基数:
-
- Source Required
- 原始对象是必须的
-
-
- Target Required
- 目标对象是必须的
- Name of the table generated from many to many relationship多对多关系生成表的名称
-
- Table Name:
- 表名称:
-
-
- Foreign key
- 外键
- Deferrable:可延迟:
@@ -9846,26 +9254,6 @@ p, li { white-space: pre-wrap; }
Constraint约束
-
- Editing attributes of an existing relationship is allowed, but must be done carefully because it may break references to columns and cause invalidation of objects such as triggers, indexes, constraints and sequences.
- 编辑现有关系的属性是允许的,但必须小心,因为此操作会导致无效的对象 (如触发器,索引,约束和序列),进而破坏引用列。
-
-
- Use the special primary key if you want to include a primary key containing inherited / copied columns to the receiving table. This is a feature available only for generalization / dependency relationships.
- 如果你想在受方表中包含一个带有继承/复制列的主键,请使用特殊主键。此特性仅适用于泛化/依赖关系。
-
-
- Automatic Suffix
- 自动补充后缀
-
-
- Form
- Form
-
-
- 1-1
- 1-1
- 1-n1-N
@@ -9874,22 +9262,10 @@ p, li { white-space: pre-wrap; }
n-nN-N
-
- gen
- gen
- depdep
-
- Source Suffix:
- 原始后缀:
-
-
- Target Suffix:
- 目标后缀:
- Dependency / Copy relationship
@@ -10143,16 +9519,19 @@ p, li { white-space: pre-wrap; }
+
+ ResultSetModel
+
+ [binary data]
+
+
+RoleWidgetPassword:密码:
-
- Validity:
- 合法性:
- Connections:连接:
@@ -10165,26 +9544,6 @@ p, li { white-space: pre-wrap; }
Superuser超级用户
-
- Inherit Permissions
- 继承权限
-
-
- Create Database
- 创建数据库
-
-
- Can Login
- 允许登录
-
-
- Create Users/Groups
- 创建用户/组
-
-
- Encrypted Password
- 加密密码
- Members成员
@@ -10202,47 +9561,43 @@ p, li { white-space: pre-wrap; }
成员(管理员)
- Form
- Form
-
-
- SysID:
- SysID:
+ Member of
+ 成员
- yyyy-MMM-dd hh:mm
- yyyy-MMM-dd hh:mm
+ Encrypted
+
- Member of
- 成员
+ yyyy-MMM-dd hh:mm:ss
+
- SysID
- SysID
+ Assigning <strong><em>-1</em></strong> to <strong><em>Connections</em></strong> creates a role without connection limit.<br/> Unchecking <strong><em>Validity</em></strong> creates an role that never expires.
+
- Can create Database
+ Inherit permissions
- Can create Role
+ Can create database
- Can use Replication
+ Bypass RLS
- Encrypted
+ Can use replication
- yyyy-MMM-dd hh:mm:ss
+ Can login
- Assigning <strong><em>-1</em></strong> to <strong><em>Connections</em></strong> creates a role without connection limit.<br/> Unchecking <strong><em>Validity</em></strong> creates an role that never expires.
+ Can create role
@@ -10260,10 +9615,6 @@ p, li { white-space: pre-wrap; }
Conditional Expr.:条件表达式:
-
- Executed Commands
- 执行的命令
- SQL Command:SQL 命令:
@@ -10272,10 +9623,6 @@ p, li { white-space: pre-wrap; }
To create a rule that does not perform any action (<strong>DO NOTHING</strong>) simply do not specify commands in the SQL commands table.创建一个不执行任何操作的规则(<STRONG>DO NOTHING</STRONG>)简单点说,就是 SQL 命令表中没有的命令。
-
- Form
- Form
- SQL commandSQL 命令
@@ -10291,30 +9638,14 @@ p, li { white-space: pre-wrap; }
FormForm
-
- Load SQL script
-
-
-
- &Load
-
- Save SQL commands
-
- &Save
-
- Search in SQL code
-
- &Find
-
- Alt+F
@@ -10399,10 +9730,6 @@ p, li { white-space: pre-wrap; }
Results (%1)
-
- [%1]: SQL command successfully executed. <em>%2 <strong>%3</strong></em>
-
- Rows affected
@@ -10435,6 +9762,90 @@ p, li { white-space: pre-wrap; }
Clear history
+
+ Close the current SQL script
+
+
+
+ SQL script currently handled
+
+
+
+ (not saved)
+
+
+
+ Handle external SQL script
+
+
+
+ &Script
+
+
+
+ Fi&nd
+
+
+
+ Alt+T
+
+
+
+ Alt+X
+
+
+
+ Current working database
+
+
+
+ Load
+ 打开
+
+
+ Save
+ 保存
+
+
+ Save as
+ 另存为
+
+
+ [%1]: SQL command successfully executed in <em><strong>%2</strong></em>. <em>%3 <strong>%4</strong></em>
+
+
+
+ Plain format
+
+
+
+ CVS format
+
+
+
+ This action will wipe out all the SQL commands history for all connections! Do you really want to proceed?
+
+
+
+ Save history
+
+
+
+ Reload history
+
+
+
+ Find in history
+
+
+
+ Hide find tool
+
+
+
+ This action will wipe out all the SQL commands history for the current connection! Do you really want to proceed?
+
+ SQLToolWidget
@@ -10490,21 +9901,48 @@ p, li { white-space: pre-wrap; }
<strong>ATTENTION:</strong> Disconnect from all databases will close any opened tab in this view! Do you really want to proceed?
+
+
+ SceneInfoWidget
+
+ Form
+ Form
+
+
+ Current position of the mouse in the canvas
+
+
- <strong>CAUTION:</strong> You are about to drop the entire database <strong>%1</strong>! All data will be completely wiped out. Do you really want to proceed?
+ -
- You're running a demonstration version! The data manipulation feature is available only in the full version!
+ Current zoom factor
+
+
+
+ Currently selected object(s)
+
+
+
+ Dimensions of the selected object(s)
+
+
+
+ No selection
+
+
+
+ N/A
+
+
+
+ Sel. objects: %1SchemaWidget
-
- Form
- Form
- Show rectangle
@@ -10541,15 +9979,15 @@ p, li { white-space: pre-wrap; }
缓存:
- Owner:
- 所有者:
+ Owner Col.:
+
- Form
- Form
+ Defualt values:
+
- Owner Col.:
+ User defined
@@ -10688,10 +10126,6 @@ p, li { white-space: pre-wrap; }
Version:版本:
-
- Type:
- 类型:
- Source code visualization查看源代码
@@ -10704,10 +10138,6 @@ p, li { white-space: pre-wrap; }
-- SQL code unavailable for this type of object ---- 无法生成此对象类型的 SQL 代码 --
-
- Form
- Form
- PostgreSQLPostgreSQL
@@ -10800,20 +10230,52 @@ p, li { white-space: pre-wrap; }
ID:
- Before:
+ Before:
+
+
+
+ Swap the values of the fields
+
+
+
+ Swap values
+
+
+
+ Change the objects creation order is an irreversible operation and cause the operations history to be automatically erased. Note that the creation order configured in this form is not definitive and may change after a model validation.
+
+
+
+ Swap the object ids changing their creation order
+
+
+
+ Swap ids
+
+
+
+ Filter:
+
+
+
+ ID
- It's recommended to use this feature only when the SQL validation fails in cases when a object is being referenced in portions where the ordinary validation couldn't reach, e.g., inside of a rule command or check constraint expression.
-
+ Object
+ 对象
- Swap the values of the fields
-
+ Type
+ 类型
- Swap values
-
+ Parent Object
+ 父对象
+
+
+ Parent Type
+ 父类型
@@ -10837,18 +10299,10 @@ p, li { white-space: pre-wrap; }
Add empty rows
-
- Add
- 新建
- InsIns
-
- Some invalid or duplicated columns were detected. In order to solve this issue double-click the header of the highlighted ones in order to define the correct name in which the data belongs to or delete the entire column. Note that these columns are completely igored when generating the <strong>INSERT</strong> commands.
-
- Add an empty column
@@ -10857,10 +10311,6 @@ p, li { white-space: pre-wrap; }
Remove all rows from the grid preserving columns
-
- Clear
-
- Shift+DelShift+Del
@@ -10869,26 +10319,14 @@ p, li { white-space: pre-wrap; }
Delete the selected rows
-
- Delete
- 删除
- DelDel
-
- <html><head/><body><p>Empty values are assumed as <span style=" font-weight:600;">DEFAULT</span>. To use special values like <span style=" font-weight:600;">NULL</span>, a function call like <span style=" font-weight:600;">now()</span> or a specific data escaping, enclose values in <span style=" font-weight:600;">{}</span>. To use <span style=" font-weight:600;">{</span> or <span style=" font-weight:600;">}</span> as part of the value prepend the backslash character, e.g., <span style=" font-weight:600;">\{</span> or <span style=" font-weight:600;">\}</span>.</p></body></html>
-
- Duplicate the selected rows
-
- Duplicate
-
- Ctrl+D
@@ -10926,59 +10364,88 @@ p, li { white-space: pre-wrap; }
- (no columns)
+ Copy items on the grid
-
-
- TableObjectView
-
-Relationship: %1
+ Copy
+ 复制
+
+
+ Add row
-
-
- TableView
- Connected rels: %1
+ Delete column
-
-
- TableWidget
- Columns
- 列
+ Paste items on the grid
+
- Constraints
- 约束
+ Paste
+ 粘贴
- Triggers
- 触发器
+ Ctrl+V
+
- Rules
- 规则
+ Fills the grid using a CSV file
+
- Indexes
- 索引
+ <html><head/><body><p>Some invalid or duplicated columns were detected. In order to solve this issue double-click the header of the highlighted ones in order to define the correct name in which the data belongs to or delete the entire column. Note that these columns are completely ignored when generating the <span style=" font-weight:600;">INSERT</span> commands.</p></body></html>
+
- Tables
- 表
+ Add column
+
+
+
+ Duplicate rows
+
+
+
+ Change the values of all selected cells at once
+
+
+
+ Bulk data edit
+
+
+
+ Ctrl+E
+
- Ancestor Tables:
- 祖先表:
+ Delete all columns
+
+
+
+ Delete rows
+
+
+
+ <html><head/><body><p>Empty values are assumed as <span style=" font-weight:600;">DEFAULT</span>. To use special values like <span style=" font-weight:600;">NULL</span>, a function call like <span style=" font-weight:600;">now()</span> or a specific data escaping, enclose values in two slashes, e.g., <span style=" font-weight:600;">/value/</span>. To use a slash as part of the value prepend the backslash character, e.g., <span style=" font-weight:600;">\/</span>.</p></body></html>
+
+
+
+ Delete all rows
+
+
+
+ TableObjectView
- Copied Tables:
- 复制的表:
+
+Relationship: %1
+
+
+
+ TableWidgetName名称
@@ -11011,18 +10478,6 @@ Relationship: %1
Indexing索引
-
- Form
- Form
-
-
- With OIDs:
- 接受 OIDs:
-
-
- Attribute
- 属性
- ON DELETEON DELETE
@@ -11099,6 +10554,62 @@ Relationship: %1
Define initial data for the table
+
+ Enable row level security
+
+
+
+ Force RLS for owner
+
+
+
+ &Policies
+
+
+
+ PK
+
+
+
+ Attribute(s)
+
+
+
+ It is not possible to mark a column as primary key when the table already has a primary key which was created by a relationship! This action should be done in the section <strong>Primary key</strong> of the relationship's editing form.
+
+
+
+ It is not possible to mark a column created by a relationship as primary key! This action should be done in the section <strong>Primary key</strong> of the relationship's editing form.
+
+
+
+ Command
+
+
+
+ Permissive
+
+
+
+ USING expression
+
+
+
+ CHECK expression
+
+
+
+ Roles
+ 角色
+
+
+ Yes
+ 是
+
+
+ No
+ 否
+ TablespaceWidget
@@ -11140,10 +10651,6 @@ Relationship: %1
TaskProgressWidget
-
- Loading object: [object] (type)
- 载入对象:[对象] (类型)
- Executing tasks正在执行的任务
@@ -11167,10 +10674,6 @@ Relationship: %1
Select text color选择文本颜色
-
- Form
- Form
- Underline下划线
@@ -11194,14 +10697,6 @@ Relationship: %1
TriggerWidget
-
- Triggering Mode:
- 触发器模式:
-
-
- Execute per row
- 逐行执行
- Event:事件:
@@ -11210,18 +10705,6 @@ Relationship: %1
Deferrable:可延迟:
-
- Deferral:
- 延迟:
-
-
- Referenced Table:
- 引用表:
-
-
- Conditional Expr.:
- 条件表达式:
- Columns列
@@ -11250,14 +10733,6 @@ Relationship: %1
Type类型
-
- Form
- Form
-
-
- INSTEAD OF
- INSTEAD OF
- INSERTINSERT
@@ -11274,10 +10749,6 @@ Relationship: %1
TRUNCATETRUNCATE
-
- Constraint Trigger:
- 约束触发器:
- Constraint约束
@@ -11317,10 +10788,6 @@ Relationship: %1
Enumeration枚举
-
- Composite
- 组合
- Enumerations枚举
@@ -11341,18 +10808,10 @@ Relationship: %1
Storage:存储:
-
- By Value:
- 按值:
- Category:类别:
-
- Preferred:
- 首选:
- Delimiter:分隔符:
@@ -11369,10 +10828,6 @@ Relationship: %1
Functions函数
-
- Copy Type
- 复制类型
- Element Type元素类型
@@ -11385,10 +10840,6 @@ Relationship: %1
Type类型
-
- Form
- Form
- charchar
@@ -11552,22 +11003,10 @@ Relationship: %1
Get source code
-
- Recover a package
-
-
-
- Purchase a new package
-
- Failed to check updates
-
- The update notifier failed to check for new versions! Please, verify your internet connectivity and try again! Connection error returned: <strong>%1</strong>.
-
- No updates found
@@ -11580,6 +11019,10 @@ Relationship: %1
The update notifier failed to check for new versions! A HTTP status code was returned: <strong>%1</strong>
+
+ The update notifier failed to check for new versions! Please, verify your internet connectivity and try again! Connection error returned: <em>%1</em> - <strong>%2</strong>.
+
+ ViewWidget
@@ -11587,10 +11030,6 @@ Relationship: %1
References引用
-
- Type:
- 类型:
- Column列
@@ -11603,10 +11042,6 @@ Relationship: %1
Used in:被用在:
-
- After WHERE
- WHERE 之后
- Table:表:
@@ -11635,26 +11070,6 @@ Relationship: %1
Code Preview代码预览
-
- To reference all columns in a table (*) just do not fill the field <strong>Column</strong>, this is the same as write <em><strong>[schema].[tablel].*</strong></em>
- 要引用表中全部列 (*) 保留空的 <strong>Column</strong> 字段即可,这等同于 <em><strong>[schema].[tablel].*</strong></em>
-
-
- -- Could not generate the code. Make sure all attributes are correctly filled! --
- -- 无法生成代码。请确认已正确填写全部属性! --
-
-
- Form
- Form
-
-
- SELECT-FROM
- SELECT-FROM
-
-
- FROM-WHERE
- FROM-WHERE
- Col./Expr.列/表达式
@@ -11667,10 +11082,6 @@ Relationship: %1
Alias Col.列别名
-
- SF FW AW
- SF FW AW
- Reference Type:
@@ -11691,10 +11102,6 @@ Relationship: %1
Table Expression
-
- Flags: SF FW AW VD
-
- Name名称
@@ -11751,68 +11158,57 @@ Relationship: %1
With no data
-
-
- VisaoObjetosWidget
-
- Objects of Model
- 模型中的对象
-
-
- Visible Objects Type
- 可见对象类型
-
- Select All
- 选择全部
+ The element will be used as part of the SELECT statement to retrieve columns or expressions that will compose the view's columns
+
- Clear All
- 取消全部
+ SELECT ...
+
- Select
- 选择
+ The element will be used as part of the WHERE clause in form of conditional expression
+
- Cancel
- 取消
+ WHERE ...
+
- Objects view configuration
- 对象视图配置
+ The element is used in the FROM portion of the command in order to reference tables or construct JOIN statements
+
- Tree view
- 树视图
+ FROM ...
+
- List view
- 列表视图
+ The element's expression is used exclusively as the view's definition
+
- 1
- 1
+ The element will be appended to the very end of the view's definition. This is useful when using GROUP BY/HAVING statements
+
- ...
- ...
+ End expression
+
- Object
- 对象
+ Indexes
+ 索引
- Type
- 类型
+ Flags: SF FW AW EX VD
+
- Parent Object
- 父对象
+ To reference all columns in a table (*) just do not fill the field <strong>Column</strong>, this is the same as write <em><strong>[schema].[table].*</strong></em>
+
- Parent Type
- 父类型
+ Indexing
+ 索引
diff --git a/samples/3dcitydb.dbm b/assets/samples/3dcitydb.dbm
similarity index 100%
rename from samples/3dcitydb.dbm
rename to assets/samples/3dcitydb.dbm
diff --git a/assets/samples/cryptoconcept.dbm b/assets/samples/cryptoconcept.dbm
new file mode 100644
index 0000000000..10ae99caec
--- /dev/null
+++ b/assets/samples/cryptoconcept.dbm
@@ -0,0 +1,1235 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+