├── .gitignore ├── .gitmodules ├── Dockerfile ├── README.md ├── backend ├── asp-file │ ├── Default.aspx │ ├── Default.aspx.cs │ └── data │ │ └── default ├── cf-mysql │ ├── database.sql │ └── index.cfm ├── perl-file │ └── index.pl ├── php-blank │ └── index.php ├── php-cubrid │ ├── cubrid_mysql_compat.php │ ├── database.sql │ └── index.php ├── php-file │ ├── data │ │ └── default │ └── index.php ├── php-mysql+file │ ├── data │ │ └── default │ ├── index.php │ └── mysql_import.php ├── php-mysql │ ├── database.sql │ └── index.php ├── php-pdo │ ├── AbstractLayer.php │ ├── LayerMYSQL.php │ ├── LayerPGSQL.php │ └── index.php ├── php-postgresql │ ├── README │ ├── database.sql │ └── index.php ├── php-s3 │ └── index.php ├── php-sqlite │ ├── index.php │ └── wwwsqldesigner.sqlite └── web2py │ ├── datatypes.xml │ ├── output.xsl │ └── web2pydesigner.xml ├── db ├── cubrid │ ├── datatypes.xml │ └── output.xsl ├── mssql │ ├── datatypes.xml │ └── output.xsl ├── mysql │ ├── datatypes.xml │ └── output.xsl ├── oracle │ ├── datatypes.xml │ └── output.xsl ├── postgresql │ ├── datatypes.xml │ └── output.xsl ├── sqlalchemy │ ├── datatypes.xml │ └── output.xsl ├── sqlite │ ├── datatypes.xml │ └── output.xsl ├── vfp9 │ ├── datatypes.xml │ ├── output.xsl │ └── readme_vfp9.txt └── web2py │ ├── datatypes.xml │ └── output.xsl ├── dropbox-oauth-receiver.html ├── fonts └── roboto │ ├── Roboto-Black.ttf │ ├── Roboto-BlackItalic.ttf │ ├── Roboto-Bold.ttf │ ├── Roboto-BoldItalic.ttf │ ├── Roboto-Italic.ttf │ ├── Roboto-Light.ttf │ ├── Roboto-LightItalic.ttf │ ├── Roboto-Medium.ttf │ ├── Roboto-MediumItalic.ttf │ ├── Roboto-Regular.ttf │ ├── Roboto-Thin.ttf │ ├── Roboto-ThinItalic.ttf │ ├── RobotoCondensed-Bold.ttf │ ├── RobotoCondensed-BoldItalic.ttf │ ├── RobotoCondensed-Italic.ttf │ ├── RobotoCondensed-Light.ttf │ ├── RobotoCondensed-LightItalic.ttf │ └── RobotoCondensed-Regular.ttf ├── images ├── ScreenLayout.png ├── addingKeys.png ├── back.png ├── back_dark.png ├── back_dim.png ├── back_matrix.png ├── columnDetail.png ├── constrained.png ├── down.gif ├── editTable.png ├── finalExample.png ├── selectedColumn.png ├── throbber.gif └── up.gif ├── index.html ├── js ├── config.js ├── globals.js ├── io.js ├── key.js ├── keymanager.js ├── map.js ├── mui.min.js ├── options.js ├── oz.js ├── relation.js ├── row.js ├── rowmanager.js ├── rubberband.js ├── snackbar.js ├── table.js ├── tablemanager.js ├── toggle.js ├── tooltip.js ├── visual.js ├── window.js └── wwwsqldesigner.js ├── license.txt ├── locale ├── ar.xml ├── cs.xml ├── de.xml ├── el.xml ├── en.xml ├── eo.xml ├── es.xml ├── fr.xml ├── hu.xml ├── it.xml ├── ja.xml ├── ko.xml ├── nl.xml ├── pl.xml ├── pt_BR.xml ├── ro.xml ├── ru.xml ├── sv.xml └── zh.xml └── styles ├── ie6.css ├── ie7.css ├── mui.min.css ├── print.css └── style.css /.gitignore: -------------------------------------------------------------------------------- 1 | # https://git-scm.com/docs/gitignore 2 | # https://help.github.com/articles/ignoring-files 3 | # Example .gitignore files: https://github.com/github/gitignore 4 | /nbproject -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "backend/php-s3/amazon-s3-php"] 2 | path = backend/php-s3/amazon-s3-php 3 | url = https://github.com/ericnorris/amazon-s3-php.git 4 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM tutum/apache-php 2 | RUN apt-get update && apt-get install -yq git && rm -rf /var/lib/apt/lists/* 3 | RUN rm -fr /app 4 | ADD . /app 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | WWW SQL Designer allows users to create database designs, which can be saved/loaded and exported to SQL scripts. Various databases and languages are supported. Ability to import existing database design. 2 | 3 | [YouTube video](http://www.youtube.com/watch?v=hCQzJx9AKhU), [User manual](https://github.com/ondras/wwwsqldesigner/wiki/Manual) 4 | 5 | # About 6 | 7 | Hi and welcome to WWW SQL Designer! This tool allows you to draw and create database schemas (E-R diagrams) directly in browser, without the need for any external programs (flash). You only need JavaScript enabled. 8 | The Designer works perfectly in Chrome, Mozilla (Firefox, Seamonkey), Internet Explorer, MS Edge, Safari and Opera. 9 | 10 | Many database features are supported, such as keys, foreign key constraints, comments and indexes. You can either save your design (for further loading & modifications), print it or export as SQL script. It is possible to retrieve (import) schema from existing database. 11 | 12 | WWW SQL Designer was created by [Ondrej Zara](http://ondras.zarovi.cz/) and is built atop the [oz.js](http://code.google.com/p/oz-js/) JavaScript module. It is distributed under New BSD license. 13 | 14 | If you wish to support this project, Donate at PayPal at PayPal! 15 | 16 | ## Shortcuts 17 | 18 | - **F2** = save local 19 | - **F4** = load local 20 | 21 | - **a** = New table 22 | - **e** = Edit table | Edit row 23 | - **f** = add field 24 | - **x** = create foreign key 25 | - **c** = connect foreign key 26 | - **+** / **-** = zoom in or out 27 | 28 | # News 29 | 30 | ## Moved to GitHub 31 | 32 | Google Code is closing down, we are now completely migrated to GitHub. 33 | 34 | ## Experimental real-time collaboration version 35 | 36 | Thanks to Bharat Patil: http://bharat.whiteboard.jit.su/ 37 | 38 | ## New release 39 | 40 | Version 2.7 was released on 3.8.2012. This is mainly a bugfix release, although several new features (most notable localStorage support) are present. 41 | 42 | ## Release 43 | 44 | Version 2.6 was released on 22.9.2011. Several new translations (pt\_BR, sv, ar) added; VML removed; new visualization options available (show length and datatype); new DBs and backends; support for touch devices... 45 | 46 | ## Experimental clone with deletion of saved designs 47 | 48 | http://code.google.com/r/charlieyouakim-wwwsqldesigner-deleteadd/ 49 | 50 | ## New optional patch 51 | 52 | A new patch, which enable optional display of field details, was submitted by Wilson Oliveira. While this code is not ready yet to be commited into repository, everyone can download it from http://ondras.zarovi.cz/sql/wwwsqldesigner-inline_field_details_patch.zip. 53 | 54 | 55 | ## Support for CUBRID 56 | 57 | WWW SQL Designer now supports the [CUBRID database](http://www.cubrid.org/): both as a backend (using PHP) as well as datatype definition set. 58 | 59 | 60 | ## Release 61 | 62 | Version 2.5 was released on 18.6.2010. Many new features were added (hiding of sidebar, colored relation, multi-selection and multi-drag, ...), tons of bugs were fixed. 63 | 64 | ## Release 65 | 66 | Version 2.4 was released on 5.11.2009. Several outstanding issues were fixed and new locales added. 67 | 68 | ## Release 69 | 70 | Version 2.3.3 was released on 28.7.2009. This long-awaited release includes numerous fixes, compatibility improvements, new locales, backends and DB datatypes. 71 | 72 | ## Release 73 | 74 | Version 2.3.2 was released on 8.1.2009. Apart from some traditional bugfixes and locales, a new functionality is introduced - the ability to mark foregin keys between existing table fields! 75 | 76 | ## Google Code 77 | 78 | The project was recently moved to Google Code hosting, which (amongst many other things) introduces Subversion hosting. Enjoy! (The old website, http://ondras.zarovi.cz/sql/, will still exist for some time.) 79 | 80 | ## 2.0 is here 81 | 82 | Good news: A new version of WWW SQL Designer, rewritten from scratch, is now available. It has many new features, including bezier connectors, support for various customizations, localization, options and more. 83 | 84 | Bad news: This new version is not backwards compatible with 1.x, so all old localizations and XSLT templates won't work with 2.x. Sorry for inconvenience :/ 85 | -------------------------------------------------------------------------------- /backend/asp-file/Default.aspx: -------------------------------------------------------------------------------- 1 | <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="backend_asp_file_Default" validateRequest="false" %> 2 | -------------------------------------------------------------------------------- /backend/asp-file/Default.aspx.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Web; 4 | using System.Web.UI; 5 | using System.Web.UI.WebControls; 6 | using System.IO; 7 | 8 | public partial class backend_asp_file_Default : System.Web.UI.Page 9 | { 10 | protected void Page_Load(object sender, EventArgs e) 11 | { 12 | Response.Clear(); 13 | 14 | string action = Request.Params["action"].ToLower(); 15 | 16 | if (action.Equals("list")) 17 | { 18 | list(); 19 | } 20 | 21 | if (action.Equals("load")) 22 | { 23 | load(); 24 | } 25 | 26 | if (action.Equals("save")) 27 | { 28 | save(); 29 | } 30 | 31 | Response.End(); 32 | } 33 | 34 | private void list() 35 | { 36 | string[] filePaths = Directory.GetFiles(Server.MapPath("data")); 37 | foreach (string filePath in filePaths) 38 | { 39 | Response.Write(Path.GetFileName(filePath) + "\n"); 40 | } 41 | } 42 | 43 | private void load() 44 | { 45 | string fNaam = "data/" + Request.Params["keyword"].ToLower(); 46 | Response.ContentType = "text/xml"; 47 | if (File.Exists(Server.MapPath(fNaam))) 48 | { 49 | Response.WriteFile(Server.MapPath(fNaam)); 50 | } 51 | else 52 | { 53 | Response.StatusCode = 404; 54 | } 55 | } 56 | 57 | private void save() 58 | { 59 | string fNaam = "data/" + Request.Params["keyword"].ToLower(); 60 | FileStream fs = new FileStream(Server.MapPath(fNaam), FileMode.Create); 61 | 62 | byte[] buffer = new byte[1024]; 63 | int count; 64 | while ((count = Request.InputStream.Read(buffer, 0, buffer.Length)) != 0) 65 | fs.Write(buffer, 0, count); 66 | 67 | fs.Close(); 68 | 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /backend/asp-file/data/default: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | INTEGERVARCHAR(100)NULLid
INTEGERVARCHAR(100)NULLid
INTEGERINTEGERVARCHAR(100)id
INTEGERINTEGERINTEGERTIMESTAMPid
-------------------------------------------------------------------------------- /backend/cf-mysql/database.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS `wwwsqldesigner`; 2 | 3 | CREATE TABLE `wwwsqldesigner` ( 4 | `keyword` varchar(30) NOT NULL default '', 5 | `data` mediumtext, 6 | `dt` timestamp, 7 | PRIMARY KEY (`keyword`) 8 | ); 9 | -------------------------------------------------------------------------------- /backend/perl-file/index.pl: -------------------------------------------------------------------------------- 1 | #!d:\perl\bin\perl.exe -wT 2 | # C.SUDRE - cyril.sudre@edf.fr 3 | 4 | use strict; 5 | use File::Basename; 6 | use IO::File; 7 | use CGI; 8 | 9 | # Directory for datafile. Take care to untaint current execution dir for CGI while -T if you 10 | # choose to keep datafile in the same dir than cgi script. 11 | my $base_dir = (dirname($0) =~ /(.*)/)[0] . "/data/"; 12 | 13 | my $query = new CGI; 14 | my $action = $query->url_param('action') || ''; 15 | 16 | # List available files to load 17 | if($action eq "list") { 18 | print $query->header('text/plain'); 19 | my @files = glob($base_dir . "*"); 20 | for (@files) { 21 | print(basename($_) . "\n"); 22 | } 23 | } 24 | 25 | # Save generated XML to file 26 | elsif($action eq "save") { 27 | # Accept names with spaces and/or extention 28 | my $fname_parameter = ($query->url_param('keyword') =~ /([\w\s]+(\.\w+)*)/)[0]; # Untaint 29 | if (! defined $fname_parameter) { die "Invalid filename!"; } 30 | my $filename = $base_dir . $fname_parameter; 31 | 32 | my $fh = new IO::File ">" . $filename; 33 | if (defined $fh) { 34 | # Win32... 35 | binmode $fh; 36 | 37 | #my $xml = $query->query_string(); 38 | my $xml = $query->param('POSTDATA'); 39 | 40 | # Decode 41 | $xml =~ tr/+/ /; 42 | $xml =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; 43 | 44 | print $fh $xml; 45 | 46 | $fh->close; 47 | } 48 | 49 | print $query->header(-status => "201 File created"); 50 | } 51 | 52 | # Load XML from file 53 | elsif($action eq "load") { 54 | # Accept names with spaces and/or extention 55 | my $fname_parameter = ($query->url_param('keyword') =~ /([\w\s]+(\.\w+)*)/)[0]; # Untaint 56 | my $filename = $base_dir . $fname_parameter; 57 | 58 | undef $/; # Slurp 59 | my $fh = new IO::File "< " . $filename; 60 | 61 | if (defined $fh) { 62 | # Need this for UTF-8 AND Win32... 63 | binmode($fh,":utf8"); 64 | 65 | my $content = <$fh>; 66 | $fh->close; 67 | 68 | print $query->header("text/xml"), $content; 69 | } else { print $query->header(-status => "404 Not Found"); } 70 | } 71 | 72 | else { 73 | print $query->header(-status => "501 Not Implemented"); 74 | } 75 | 76 | -------------------------------------------------------------------------------- /backend/php-blank/index.php: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /backend/php-cubrid/database.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE `wwwsqldesigner`; 2 | 3 | CREATE TABLE `wwwsqldesigner` ( 4 | `keyword` varchar(30) NOT NULL, 5 | `data` string, 6 | `dt` timestamp, 7 | PRIMARY KEY (`keyword`) 8 | ); 9 | -------------------------------------------------------------------------------- /backend/php-file/data/default: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | INTEGERVARCHAR(100)NULLid
INTEGERVARCHAR(100)NULLid
INTEGERINTEGERVARCHAR(100)id
INTEGERINTEGERINTEGERTIMESTAMPid
-------------------------------------------------------------------------------- /backend/php-file/index.php: -------------------------------------------------------------------------------- 1 | 36 | -------------------------------------------------------------------------------- /backend/php-mysql+file/data/default: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | INTEGERVARCHAR(100)NULLid
INTEGERVARCHAR(100)NULLid
INTEGERINTEGERVARCHAR(100)id
INTEGERINTEGERINTEGERTIMESTAMPid
-------------------------------------------------------------------------------- /backend/php-mysql+file/index.php: -------------------------------------------------------------------------------- 1 | 20 | * @since 10-July-2009 21 | */ 22 | 23 | // Define these constants for importing from your MySQL database. MySQL 24 | // usually stores your metadata inside the `information_schema` database 25 | // on the `TABLES` table 26 | define('HOST', 'localhost'); 27 | define('USER', 'root'); 28 | define('PASS', 'password'); 29 | define('DB', 'information_schema'); 30 | 31 | // This constant is the regular expression used to validate the filename 32 | define('FILENAME_REGEX', '^[A-Za-z0-9_]{1,100}$'); 33 | 34 | // Pull the action variable from the GET and validate it 35 | $action = isset($_GET['action']) ? $_GET['action'] : ''; 36 | 37 | if(!in_array($action, array('list','save','load','import'))) { 38 | header('HTTP/1.0 501 Not Implemented'); 39 | exit; 40 | } 41 | 42 | // Save and Load actions must have the 'keyword' GET variable to work, 43 | // I've used a regular expression to keep filenames simple and valid 44 | // so that they don't do anything unintended. 45 | if($action == 'save' || $action == 'load') { 46 | if(!isset($_GET['keyword']) || !ereg(FILENAME_REGEX, $_GET['keyword'])) { 47 | header('HTTP/1.0 400 Bad Request'); 48 | exit; 49 | } 50 | } 51 | 52 | // The import action requires the database variable to be set 53 | if($action == 'import' && !isset($_GET['database'])) { 54 | header('HTTP/1.0 400 Bad Request'); 55 | exit; 56 | } 57 | 58 | // Based on the action variable return appropriate data 59 | switch($action) { 60 | case 'list': 61 | // List all files in the data directory 62 | foreach (glob('data/*') as $file) 63 | echo basename($file)."\n"; 64 | break; 65 | 66 | case 'save': 67 | // Open the file for writing 68 | $f = fopen('data/'.$_GET['keyword'], 'w'); 69 | 70 | // Read in the contents of the XML file from input 71 | $data = file_get_contents('php://input'); 72 | if (get_magic_quotes_gpc() || get_magic_quotes_runtime()) { 73 | $data = stripslashes($data); 74 | } 75 | 76 | // Write the data to the file and close the file 77 | fwrite($f, $data); 78 | fclose($f); 79 | 80 | // Write the response HTTP code 81 | header('HTTP/1.0 201 Created'); 82 | break; 83 | 84 | case 'load': 85 | $keyword = 'data/' . $_GET['keyword']; 86 | if (!file_exists($keyword)) { 87 | header('HTTP/1.0 404 Not Found'); 88 | } else { 89 | header('Content-type: text/xml'); 90 | echo file_get_contents($keyword); 91 | } 92 | break; 93 | 94 | case 'import': 95 | // The import command may take some time, so make sure that PHP won't timeout 96 | set_time_limit(0); 97 | 98 | // I've included the mysql_import function from the php_mysql plugin as its 99 | // own file for future compatibility and to take so much code out of this one 100 | // file. 101 | require_once 'mysql_import.php'; 102 | 103 | // Connect to the MySQL Database, short circuiting ensures that this code will 104 | // execute without error 105 | if (!mysql_connect(HOST,USER,PASS) || !mysql_select_db(DB)) { 106 | header("HTTP/1.0 503 Service Unavailable"); 107 | exit; 108 | } 109 | 110 | header("Content-type: text/xml"); 111 | echo import(); 112 | 113 | break; 114 | } 115 | ?> 116 | -------------------------------------------------------------------------------- /backend/php-mysql+file/mysql_import.php: -------------------------------------------------------------------------------- 1 | '; 11 | for ($i=1;$i'; 19 | $comment = (isset($row["TABLE_COMMENT"]) ? $row["TABLE_COMMENT"] : ""); 20 | if ($comment) { $xml .= ''.$comment.''; } 21 | 22 | $q = "SELECT * FROM COLUMNS WHERE TABLE_NAME = '".$table."' AND TABLE_SCHEMA = '".$db."'"; 23 | $result2 = mysql_query($q); 24 | while ($row = mysql_fetch_array($result2)) { 25 | $name = $row["COLUMN_NAME"]; 26 | $type = $row["COLUMN_TYPE"]; 27 | $comment = (isset($row["COLUMN_COMMENT"]) ? $row["COLUMN_COMMENT"] : ""); 28 | $null = ($row["IS_NULLABLE"] == "YES" ? "0" : "1"); 29 | $def = $row["COLUMN_DEFAULT"]; 30 | $ai = (preg_match("/auto_increment/i",$row["EXTRA"]) ? "1" : "0"); 31 | if ($def == "NULL") { $def = ""; } 32 | $xml .= ''; 33 | $xml .= ''.strtoupper($type).''; 34 | $xml .= ''.$def.''; 35 | if ($comment) { $xml .= ''.$comment.''; } 36 | 37 | /* fk constraints */ 38 | $q = "SELECT 39 | REFERENCED_TABLE_NAME AS 'table', REFERENCED_COLUMN_NAME AS 'column' 40 | FROM KEY_COLUMN_USAGE k 41 | LEFT JOIN TABLE_CONSTRAINTS c 42 | ON k.CONSTRAINT_NAME = c.CONSTRAINT_NAME 43 | WHERE CONSTRAINT_TYPE = 'FOREIGN KEY' 44 | AND c.TABLE_SCHEMA = '".$db."' AND c.TABLE_NAME = '".$table."' 45 | AND k.COLUMN_NAME = '".$name."'"; 46 | $result3 = mysql_query($q); 47 | 48 | while ($row = mysql_fetch_array($result3)) { 49 | $xml .= ''; 50 | } 51 | 52 | $xml .= ''; 53 | } 54 | 55 | /* keys */ 56 | $q = "SELECT * FROM STATISTICS WHERE TABLE_NAME = '".$table."' AND TABLE_SCHEMA = '".$db."' ORDER BY SEQ_IN_INDEX ASC"; 57 | $result2 = mysql_query($q); 58 | $idx = array(); 59 | 60 | while ($row = mysql_fetch_array($result2)) { 61 | $name = $row["INDEX_NAME"]; 62 | if (array_key_exists($name, $idx)) { 63 | $obj = $idx[$name]; 64 | } else { 65 | $type = $row["INDEX_TYPE"]; 66 | $t = "INDEX"; 67 | if ($type == "FULLTEXT") { $t = $type; } 68 | if ($row["NON_UNIQUE"] == "0") { $t = "UNIQUE"; } 69 | if ($name == "PRIMARY") { $t = "PRIMARY"; } 70 | 71 | $obj = array( 72 | "columns" => array(), 73 | "type" => $t 74 | ); 75 | } 76 | 77 | $obj["columns"][] = $row["COLUMN_NAME"]; 78 | $idx[$name] = $obj; 79 | } 80 | 81 | foreach ($idx as $name=>$obj) { 82 | $xml .= ''; 83 | for ($i=0;$i'; 86 | } 87 | $xml .= ''; 88 | } 89 | $xml .= ""; 90 | } 91 | $arr[] = $xml; 92 | $arr[] = ''; 93 | return implode("\n",$arr); 94 | } 95 | ?> 96 | -------------------------------------------------------------------------------- /backend/php-mysql/database.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS `wwwsqldesigner`; 2 | 3 | CREATE TABLE `wwwsqldesigner` ( 4 | `keyword` varchar(30) NOT NULL default '', 5 | `data` mediumtext, 6 | `dt` timestamp, 7 | PRIMARY KEY (`keyword`) 8 | ); 9 | -------------------------------------------------------------------------------- /backend/php-pdo/AbstractLayer.php: -------------------------------------------------------------------------------- 1 | 28 | -------------------------------------------------------------------------------- /backend/php-postgresql/README: -------------------------------------------------------------------------------- 1 | Postgresql server backend for wwwsqldesigner 2 | version 0.1 beta 3 | 4 | 5 | Instructions: 6 | 7 | If you want to save/load your diagrams in a database... 8 | 9 | 1) Create a login role called 'wwwsqldesigner' using 'xxx' as password. 10 | 2) Create a databse called 'wwwsqldesigner' with... 11 | owner as 'wwwsqldesigner', 12 | UTF-8 encoding, 13 | and template0 14 | 3) Connect to this newly created database and run the database.sql script 15 | located in this folder. 16 | 4) Edit config.js located in the js directory... 17 | change default database to postgresql, 18 | add postgresql to available backends 19 | 5) If you want to import the schema of an an already created database, 20 | edit the index.php script located in this directory 21 | -------------------------------------------------------------------------------- /backend/php-postgresql/database.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS wwwsqldesigner; 2 | 3 | CREATE TABLE wwwsqldesigner ( 4 | keyword varchar(30) NOT NULL, 5 | xmldata text, 6 | dt timestamp, 7 | PRIMARY KEY (keyword) 8 | ); 9 | -------------------------------------------------------------------------------- /backend/php-s3/index.php: -------------------------------------------------------------------------------- 1 | getBucket($bucket); 19 | foreach ($response->body->Contents as $content) { 20 | $key = $content->Key; 21 | if (0 === strpos($key, $path.'/') && $key != $path.'/') 22 | echo substr($key, strlen($path)+1)."\n"; 23 | } 24 | break; 25 | case "save": 26 | $keyword = (isset($_GET["keyword"]) ? $_GET["keyword"] : ""); 27 | $data = file_get_contents("php://input"); 28 | $client->putObject($bucket, $path.'/'.$keyword, $data, array('Content-Type' => 'text/xml')); 29 | header("HTTP/1.0 201 Created"); 30 | break; 31 | case "load": 32 | $keyword = (isset($_GET["keyword"]) ? $_GET["keyword"] : ""); 33 | $file = $client->getObject($bucket, $path.'/'.$keyword); 34 | if ($file->body) { 35 | header("Content-type: text/xml"); 36 | echo $file->body; 37 | } else { 38 | header("HTTP/1.0 404 Not Found"); 39 | } 40 | break; 41 | default: header("HTTP/1.0 501 Not Implemented"); 42 | } 43 | ?> 44 | -------------------------------------------------------------------------------- /backend/php-sqlite/index.php: -------------------------------------------------------------------------------- 1 | exec( $initSQL ); 26 | return ($res !== false); 27 | } 28 | return true; 29 | } 30 | function import() { 31 | header( 'HTTP/1.0 501 Not Implemented' ); 32 | } 33 | 34 | $a = (isset($_GET["action"]) ? $_GET["action"] : false); 35 | switch( $a ) { 36 | case 'list' : 37 | setup_saveloadlist(); 38 | if( !connect() ) { 39 | header( 'HTTP/1.0 503 Service Unavailable' ); 40 | break; 41 | } 42 | $result = $pdo->query( "SELECT keyword FROM ".TABLE); 43 | $data = $result->fetchAll(); 44 | if( count($data) > 0 ) { 45 | foreach ($data as $row) { 46 | echo $row['keyword']."\n"; 47 | } 48 | } else { 49 | echo "--No Designs Saved"; 50 | } 51 | break; 52 | case 'save' : 53 | setup_saveloadlist(); 54 | if( !connect() ) { 55 | header( 'HTTP/1.0 503 Service Unavailable' ); 56 | break; 57 | } 58 | 59 | $keyword = ( isset( $_GET['keyword'] ) ? $_GET['keyword'] : '' ); 60 | $data = file_get_contents( "php://input" ); 61 | if( get_magic_quotes_gpc() 62 | || get_magic_quotes_runtime() ) { 63 | $data = stripslashes( $data ); 64 | } 65 | 66 | $statement = $pdo->prepare("SELECT COUNT(*) AS c FROM ".TABLE." WHERE keyword = ?"); 67 | $statement->execute(array($keyword)); 68 | $result = $statement->fetchAll(); 69 | if ($result[0]["c"] > 0) { 70 | $result = $pdo->prepare( "UPDATE ".TABLE." SET data = ? WHERE keyword = ?")->execute(array($data, $keyword)); 71 | } else { 72 | $result = $pdo->prepare( "INSERT INTO ".TABLE." (keyword, data) VALUES (?, ?)")->execute(array($keyword, $data)); 73 | } 74 | 75 | if( !$result ) { 76 | header( 'HTTP/1.0 500 Internal Server Error' ); 77 | } else { 78 | header( 'HTTP/1.0 201 Created' ); 79 | } 80 | break; 81 | case 'load' : 82 | setup_saveloadlist(); 83 | if ( !connect() ) { 84 | header( 'HTTP/1.0 503 Service Unavailable' ); 85 | break; 86 | } 87 | $keyword = ( isset( $_GET['keyword'] ) ? $_GET['keyword'] : '' ); 88 | 89 | $statement = $pdo->prepare( "SELECT data FROM ".TABLE." WHERE keyword = ?"); 90 | $statement->execute(array($keyword)); 91 | $data = $statement->fetchAll(); 92 | 93 | if( !count($data) ) { 94 | header( 'HTTP/1.0 404 Not Found' ); 95 | } else { 96 | header( 'Content-type: text/xml' ); 97 | echo $data[0]['data']; 98 | } 99 | break; 100 | case 'import' : 101 | setup_import(); 102 | default: 103 | header( 'HTTP/1.0 501 Not Implemented' ); 104 | } 105 | 106 | 107 | /* 108 | list: 501/200 109 | load: 501/200/404 110 | save: 501/201 111 | import: 501/200 112 | */ 113 | ?> 114 | -------------------------------------------------------------------------------- /backend/php-sqlite/wwwsqldesigner.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/backend/php-sqlite/wwwsqldesigner.sqlite -------------------------------------------------------------------------------- /backend/web2py/datatypes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /backend/web2py/web2pydesigner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | integer 27 | NULL 28 | 29 | 30 | string(50) 31 | 'newproject' 32 | 33 | 34 | datetime 35 | 'request.now' 36 | 37 | 38 | integer 39 | NULL 40 | 41 | 42 | 43 | integer 44 | NULL 45 | 46 | 47 | 48 | boolean 49 | False 50 | 51 | 52 | id 53 | 54 |
55 | 56 | 57 | integer 58 | NULL 59 | 60 | 61 | integer 62 | NULL 63 | 64 | 65 | 66 | datetime 67 | 'request.now' 68 | 69 | 70 | blob 71 | 72 | 73 | id 74 | 75 |
76 | 77 | 78 | integer 79 | NULL 80 | 81 | 82 | string 83 | 84 | 85 | id 86 | 87 |
88 | 89 | 90 | integer 91 | NULL 92 | 93 | 94 | integer 95 | NULL 96 | 97 | 98 | 99 | integer 100 | NULL 101 | 102 | 103 | 104 | id 105 | 106 |
107 | 108 | 109 | integer 110 | NULL 111 | 112 | 113 | string 114 | 115 | 116 | id 117 | 118 |
119 | 120 | 121 | integer 122 | NULL 123 | 124 | 125 | string(50) 126 | 127 | 128 | string(50) 129 | 130 | 131 | string 132 | string(80) 133 | 'email@domain.com' 134 | 135 | 136 | string(50) 137 | 138 | 139 | password 140 | 141 | 142 | id 143 | 144 |
145 |
146 | -------------------------------------------------------------------------------- /db/cubrid/datatypes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /db/cubrid/output.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -- 6 | -- CUBRID SQL Script 7 | -- 8 | 9 | 10 | 11 | 12 | -- Table ` 13 | 14 | ` 15 | 16 | 17 | 18 | 19 | 20 | -- DROP TABLE ` 21 | 22 | `; 23 | 24 | 25 | 26 | 27 | 28 | CREATE TABLE ` 29 | 30 | ` ( 31 | 32 | 33 | 34 | ` 35 | 36 | ` 37 | 38 | 39 | 40 | 41 | 42 | NOT NULL 43 | 44 | 45 | 46 | AUTO_INCREMENT 47 | 48 | 49 | 50 | DEFAULT 51 | 52 | 53 | 54 | 55 | 56 | , 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | , 65 | 66 | 67 | 68 | PRIMARY KEY ( 69 | UNIQUE KEY ( 70 | KEY ( 71 | 72 | 73 | 74 | `` 75 | 76 | , 77 | 78 | 79 | ) 80 | 81 | 82 | 83 | ); 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | -- Foreign Keys 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | ALTER TABLE ` 102 | 103 | ` ADD FOREIGN KEY (` 104 | 105 | `) REFERENCES ` 106 | 107 | ` (` 108 | 109 | `); 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | -- Test Data 122 | 123 | 124 | 125 | 126 | 127 | -- INSERT INTO ` 128 | ` ( 129 | 130 | ` 131 | 132 | ` 133 | 134 | , 135 | 136 | 137 | ) VALUES 138 | -- ( 139 | 140 | '' 141 | 142 | , 143 | 144 | 145 | ); 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | -------------------------------------------------------------------------------- /db/mssql/datatypes.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /db/mssql/output.xsl: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | CREATE TABLE [ 15 | 16 | ] ( 17 | 18 | 19 | [ 20 | 21 | ] 22 | 23 | 24 | 25 | 26 | 27 | NOT NULL 28 | 29 | 30 | 31 | IDENTITY (1, 1) 32 | 33 | 34 | 35 | , 36 | 37 | 38 | 39 | -- 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | , 52 | 53 | 54 | 55 | CONSTRAINT 56 | 57 | 58 | 59 | PRIMARY KEY ( 60 | FULLTEXT KEY ( 61 | UNIQUE KEY ( 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | [] 70 | 71 | , 72 | 73 | 74 | ) 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | ) ON [PRIMARY] 85 | GO 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | ALTER TABLE [ 95 | 96 | ] ADD FOREIGN KEY ( 97 | 98 | ) REFERENCES [ 99 | 100 | ] ([ 101 | 102 | ]); 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | CREATE INDEX 114 | 115 | ON [ 116 | 117 | ] ([ 118 | 119 | 120 | ] 121 | 122 | , 123 | 124 | 125 | ); 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | -------------------------------------------------------------------------------- /db/mysql/datatypes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /db/oracle/datatypes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /db/postgresql/datatypes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /db/postgresql/output.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | CREATE TABLE 30 | 31 | ( 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 46 | BIGSERIAL 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | NOT NULL 56 | 57 | 58 | 59 | 60 | DEFAULT 61 | 62 | 63 | 64 | 65 | 66 | 67 | /* 68 | 69 | */ 70 | 71 | 72 | 73 | , 74 | 75 | 76 | 77 | 78 | 79 | ); 80 | 81 | 82 | 83 | 84 | 85 | 86 | ALTER TABLE 87 | 88 | 89 | 90 | ADD CONSTRAINT 91 | 92 | _pkey 93 | 94 | PRIMARY KEY ( 95 | UNIQUE ( 96 | KEY ( 97 | 98 | 99 | 100 | 101 | 102 | , 103 | 104 | 105 | ); 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | ALTER TABLE 115 | 116 | ADD CONSTRAINT 117 | 118 | _ 119 | 120 | _fkey 121 | FOREIGN KEY ( 122 | 123 | ) REFERENCES 124 | 125 | ( 126 | 127 | ); 128 | 129 | 130 | 131 | 132 | 133 | 134 | COMMENT ON TABLE " 135 | 136 | " IS ' 137 | 138 | 139 | 140 | 141 | 142 | '; 143 | 144 | 145 | 146 | 147 | 148 | 149 | COMMENT ON COLUMN " 150 | 151 | "." 152 | 153 | " IS ' 154 | 155 | 156 | 157 | 158 | 159 | '; 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | -------------------------------------------------------------------------------- /db/sqlalchemy/datatypes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /db/sqlite/datatypes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /db/sqlite/output.xsl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | CREATE TABLE ' 9 | 10 | ' ( 11 | 12 | 13 | 14 | 15 | '' 16 | 17 | 18 | 19 | 20 | NOT NULL 21 | 22 | 23 | 24 | 25 | DEFAULT 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | PRIMARY KEY 35 | 36 | 37 | 38 | 39 | 40 | 41 | AUTOINCREMENT 42 | 43 | 44 | 45 | 46 | REFERENCES ' 47 | 48 | ' (' 49 | 50 | ') 51 | 52 | 53 | 54 | , 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | , 63 | 64 | UNIQUE ( 65 | 66 | 67 | 68 | 69 | , 70 | 71 | 72 | ) 73 | 74 | 75 | 76 | 77 | 78 | ); 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | CREATE INDEX ' 88 | 89 | ' ON ' 90 | 91 | ' (' 92 | 93 | 94 | 95 | ', ' 96 | 97 | 98 | '); 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | -------------------------------------------------------------------------------- /db/vfp9/datatypes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /db/vfp9/readme_vfp9.txt: -------------------------------------------------------------------------------- 1 | 07.12.2009 2 | vfp9 support for WwwSQLDesigner 3 | by zvolsky@seznam.cz 4 | 5 | 6 | Installation: 7 | ------------- 8 | vfp9 support is standard part of WwwSQLDesigner - simple choose database vfp9 in Settings. 9 | 10 | You can change the generated script by patch/replace of db\vfp9\output.xsl. 11 | 12 | 13 | WwwSQLDesigner basics: 14 | ---------------------- 15 | To start click Index.html. 16 | Never use Page Refresh (F5) - data will be lost! 17 | Use Save button to generate FoxPro script with CREATE TABLEs. 18 | Use Save/Read and Save XML buttons to generate XML and copy-paste it into text file to save your work. 19 | Use Save/Read and Read XML buttons to continue work. 20 | 21 | 22 | Use of VFP9 support: 23 | -------------------- 24 | Textbox "Default" in Field adding has different meaning. Here you can enter all foxpro keywords, which follow field definition. 25 | No word "DEFAULT" is added. To use some DEFAULT, write "DEFAULT value". If you let just "NULL" in Textbox "Default", 26 | you will receive FoxPro error. Write "DEFAULT .NULL." instead. 27 | 28 | Data types Binary aren't in list. Use standard Varchar, Character, Memo instead and write "NOCPTRANS" into the "Default" textbox. 29 | 30 | Data type "Integer (not key)" differents (from the primary/foreign key) just in its color (but generates standard Integer). 31 | 32 | 33 | 34 | Generated VFP script contains (optional) parameters, which change behavior of CREATE TABLE commands: 35 | teLongName gives a possibility to generate FREE or NAME keywords. 36 | tcCommand can fire immediately after each CREATE TABLE (new table is selected). 37 | F.e. "= MyProc( ALIAS(), m.lcTableComment, @lacComments )" gives access to alias and all comments from model inside MyProc() procedure. 38 | tcPath can control path, where tables will be created. 39 | 40 | Comments aren't copied directly into target database. 41 | Instead of this, they are prepared in lcTableComment variable (table comment) and in lacComments array (field comments) before &tcCommand call. 42 | So you can work with comments in your user defined code as you want. 43 | -------------------------------------------------------------------------------- /db/web2py/datatypes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /dropbox-oauth-receiver.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 |

Dropbox sign-in successful

11 | 12 |

Please close this window.

13 | 14 | 15 | -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/Roboto-Black.ttf -------------------------------------------------------------------------------- /fonts/roboto/Roboto-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/Roboto-BlackItalic.ttf -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/Roboto-Bold.ttf -------------------------------------------------------------------------------- /fonts/roboto/Roboto-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/Roboto-BoldItalic.ttf -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/Roboto-Italic.ttf -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/Roboto-Light.ttf -------------------------------------------------------------------------------- /fonts/roboto/Roboto-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/Roboto-LightItalic.ttf -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/Roboto-Medium.ttf -------------------------------------------------------------------------------- /fonts/roboto/Roboto-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/Roboto-MediumItalic.ttf -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/Roboto-Regular.ttf -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/Roboto-Thin.ttf -------------------------------------------------------------------------------- /fonts/roboto/Roboto-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/Roboto-ThinItalic.ttf -------------------------------------------------------------------------------- /fonts/roboto/RobotoCondensed-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/RobotoCondensed-Bold.ttf -------------------------------------------------------------------------------- /fonts/roboto/RobotoCondensed-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/RobotoCondensed-BoldItalic.ttf -------------------------------------------------------------------------------- /fonts/roboto/RobotoCondensed-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/RobotoCondensed-Italic.ttf -------------------------------------------------------------------------------- /fonts/roboto/RobotoCondensed-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/RobotoCondensed-Light.ttf -------------------------------------------------------------------------------- /fonts/roboto/RobotoCondensed-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/RobotoCondensed-LightItalic.ttf -------------------------------------------------------------------------------- /fonts/roboto/RobotoCondensed-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/fonts/roboto/RobotoCondensed-Regular.ttf -------------------------------------------------------------------------------- /images/ScreenLayout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/ScreenLayout.png -------------------------------------------------------------------------------- /images/addingKeys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/addingKeys.png -------------------------------------------------------------------------------- /images/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/back.png -------------------------------------------------------------------------------- /images/back_dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/back_dark.png -------------------------------------------------------------------------------- /images/back_dim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/back_dim.png -------------------------------------------------------------------------------- /images/back_matrix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/back_matrix.png -------------------------------------------------------------------------------- /images/columnDetail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/columnDetail.png -------------------------------------------------------------------------------- /images/constrained.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/constrained.png -------------------------------------------------------------------------------- /images/down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/down.gif -------------------------------------------------------------------------------- /images/editTable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/editTable.png -------------------------------------------------------------------------------- /images/finalExample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/finalExample.png -------------------------------------------------------------------------------- /images/selectedColumn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/selectedColumn.png -------------------------------------------------------------------------------- /images/throbber.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/throbber.gif -------------------------------------------------------------------------------- /images/up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lt-mayonesa/wwwsqldesigner/3a3c4cbbeb5445a1e711d497894ddb6a740e5e94/images/up.gif -------------------------------------------------------------------------------- /js/config.js: -------------------------------------------------------------------------------- 1 | var CONFIG = { 2 | AVAILABLE_DBS: ["mysql", "sqlite", "web2py", "mssql", "postgresql", "oracle", "sqlalchemy", "vfp9", "cubrid", "web2py"], 3 | DEFAULT_DB: "mysql", 4 | 5 | AVAILABLE_LOCALES: ["ar", "cs", "de", "el", "en", "eo", "es", "fr", "hu", "it", "ja", "ko", "nl", "pl", "pt_BR", "ro", "ru", "sv", "zh"], 6 | DEFAULT_LOCALE: "en", 7 | 8 | AVAILABLE_BACKENDS: ["php-mysql", "php-s3", "php-blank", "php-file", "php-sqlite", "php-mysql+file", "php-postgresql", "php-pdo", "perl-file", "php-cubrid", "asp-file", "web2py"], 9 | DEFAULT_BACKEND: ["php-mysql"], 10 | 11 | RELATION_THICKNESS: 2, 12 | RELATION_SPACING: 15, 13 | RELATION_COLORS: ["#323232", "#F44336", "#E91E63", "#9C27B0", "#3F51B5", "#673AB7", "#2196F3", "#03A9F4", "#00BCD4", "#009688", "#4CAF50", "#8BC34A", "#CDDC39", "#FFC107", "#FF5722", "#795548", "#607D8B"], 14 | 15 | STATIC_PATH: "", 16 | XHR_PATH: "", 17 | 18 | /* 19 | * The key below needs to be set individually by you if you want to use the Dropbox load/save feature. 20 | * To do that, first sign up with Dropbox (may require a specific developer / SDK sign-up), go to 21 | * https://www.dropbox.com/developers/apps and use "Create app" to add a new "Dropbox API app". 22 | * Limit the app to its own folder. Call it, for instance, "wwwsqldesigner". 23 | * Under "OAuth 2", "Redirect URIs", add the URL to the "dropbox-oauth-receiver.html" file on your server. 24 | * E.g, if you install wwwsqldesigner on your local web server under "http://localhost/sqldesigner/", then add 25 | * http://localhost/sqldesigner/dropbox-oauth-receiver.html as a Redirection URI. 26 | * Copy the shown "App key" and paste it here below instead of the null value: 27 | */ 28 | DROPBOX_KEY: null, // such as: "d6stdscwewhl6sa" 29 | 30 | MATERIAL_TYPE_COLORS: ["#2196F3", "#F44336", "#E91E63", "#9C27B0", "#673AB7", "#3F51B5", "#03A9F4", "#00BCD4", "#009688", "#4CAF50", "#8BC34A", "#CDDC39", "#FFC107", "#FF5722", "#795548", "#607D8B"], 31 | SHORTCUTS: { 32 | saveLocal: { 33 | key: 'F2', 34 | code: false 35 | }, 36 | loadLocal: { 37 | key: 'F4', 38 | code: false 39 | }, 40 | addtable: {key: 'a', code: 65}, 41 | edittable: {key: 'e', code: 69}, 42 | editrow: {key: 'e', code: 69}, 43 | addrow: {key: 'f', code: 70}, 44 | removetable: {key: 'DELETE', code: 46}, 45 | removerow: {key: 'DELETE', code: 46}, 46 | uprow: {key: 'CTRL + UP', code: 38}, 47 | downrow: {key: 'CTRL + DOWN', code: 40}, 48 | foreigncreate: {key: 'x', code: 88}, 49 | foreignconnect: {key: 'c', code: 67}, 50 | zoomin: {key: '+', code: false}, 51 | zoomout: {key: '-', code: false}, 52 | toggle: {key: 'spacebar', code: 32} 53 | } 54 | }; 55 | -------------------------------------------------------------------------------- /js/globals.js: -------------------------------------------------------------------------------- 1 | function _(str) { /* getText */ 2 | if (!(str in window.LOCALE)) { 3 | return str; 4 | } 5 | return window.LOCALE[str]; 6 | } 7 | 8 | if (typeof String.prototype.endsWith !== 'function') { 9 | String.prototype.endsWith = function (suffix) { 10 | return this.indexOf(suffix, this.length - suffix.length) !== -1; 11 | }; 12 | } 13 | 14 | if (!String.prototype.trim) { 15 | String.prototype.trim = function () { 16 | return this.match(/^\s*([\s\S]*?)\s*$/)[1]; 17 | } 18 | } 19 | 20 | if (!String.trim) { 21 | String.trim = function (obj) { 22 | return String.prototype.trim.call(obj); 23 | } 24 | } 25 | 26 | if (!Object.create) { 27 | Object.create = function (o) { 28 | if (arguments.length > 1) { 29 | throw new Error("Object.create polyfill only accepts the first parameter"); 30 | } 31 | var tmp = function () {}; 32 | tmp.prototype = o; 33 | return new tmp(); 34 | }; 35 | } 36 | 37 | var DATATYPES = false; 38 | var LOCALE = {}; 39 | var SQL = { 40 | _subscribers: {}, 41 | publish: function (message, publisher, data) { 42 | var subscribers = this._subscribers[message] || []; 43 | var obj = { 44 | target: publisher, 45 | data: data 46 | }; 47 | subscribers.forEach(function (subscriber) { 48 | subscriber(obj); 49 | }); 50 | }, 51 | subscribe: function (message, subscriber) { 52 | if (!(message in this._subscribers)) { 53 | this._subscribers[message] = []; 54 | } 55 | var index = this._subscribers[message].indexOf(subscriber); 56 | if (index == -1) { 57 | this._subscribers[message].push(subscriber); 58 | } 59 | }, 60 | unsubscribe: function (message, subscriber) { 61 | var index = this._subscribers[message].indexOf(subscriber); 62 | if (index > -1) { 63 | this._subscribers[message].splice(index, 1); 64 | } 65 | }, 66 | escape: function (str) { 67 | return str.replace(/&/g, "&").replace(/>/g, ">").replace(/\n'; 55 | for (var i=0;i\n'; 58 | } 59 | xml += '\n'; 60 | return xml; 61 | } 62 | 63 | SQL.Key.prototype.fromXML = function(node) { 64 | this.setType(node.getAttribute("type")); 65 | this.setName(node.getAttribute("name")); 66 | var parts = node.getElementsByTagName("part"); 67 | for (var i=0;i 1) { return; } 70 | var event = e.touches[0]; 71 | } else { 72 | var event = e; 73 | } 74 | 75 | var dx = event.clientX - this.x; 76 | var dy = event.clientY - this.y; 77 | if (this.l + dx < 0) { dx = -this.l; } 78 | if (this.t + dy < 0) { dy = -this.t; } 79 | if (this.l + this.w + 4 + dx > this.width) { dx = this.width - 4 - this.l - this.w; } 80 | if (this.t + this.h + 4 + dy > this.height) { dy = this.height - 4 - this.t - this.h; } 81 | 82 | 83 | this.x += dx; 84 | this.y += dy; 85 | 86 | this.l += dx; 87 | this.t += dy; 88 | 89 | var coefX = this.width / this.owner.width; 90 | var coefY = this.height / this.owner.height; 91 | var left = this.l / coefX; 92 | var top = this.t / coefY; 93 | 94 | document.documentElement.scrollLeft = Math.round(left); 95 | document.documentElement.scrollTop = Math.round(top); 96 | this.redraw(); 97 | } 98 | 99 | SQL.Map.prototype.up = function(e) { /* mouseup */ 100 | this.flag = false; 101 | this.dom.minimap.style.cursor = ""; 102 | OZ.Event.remove(this.documentMove); 103 | OZ.Event.remove(this.documentUp); 104 | } 105 | 106 | SQL.Map.prototype.sync = function() { /* when window changes, adjust map */ 107 | var dims = OZ.DOM.win(); 108 | var scroll = OZ.DOM.scroll(); 109 | var scaleX = this.width / this.owner.width; 110 | var scaleY = this.height / this.owner.height; 111 | 112 | var w = dims[0] * scaleX - 4 - 0; 113 | var h = dims[1] * scaleY - 4 - 0; 114 | var x = scroll[0] * scaleX; 115 | var y = scroll[1] * scaleY; 116 | 117 | this.w = Math.round(w); 118 | this.h = Math.round(h); 119 | this.l = Math.round(x); 120 | this.t = Math.round(y); 121 | 122 | this.redraw(); 123 | } 124 | 125 | SQL.Map.prototype.redraw = function() { 126 | this.dom.port.style.width = this.w+"px"; 127 | this.dom.port.style.height = this.h+"px"; 128 | this.dom.port.style.left = this.l+"px"; 129 | this.dom.port.style.top = this.t+"px"; 130 | } 131 | 132 | SQL.Map.prototype.zoom = function (level) { 133 | this.zScale += level; 134 | this.dom.zoomlevel.innerHTML = this.zScale === 1 ? '' : this.zScale.toFixed(2); 135 | OZ.$('area').style.transform = "scale(" + this.zScale + "," + this.zScale +")"; 136 | }; 137 | 138 | SQL.Map.prototype.press = function (e) { 139 | var target = OZ.Event.target(e).nodeName.toLowerCase(); 140 | 141 | if (target === "textarea" || target === "input") { 142 | return; 143 | } /* not when in form field */ 144 | 145 | if (this.owner.rowManager.selected) { 146 | return; 147 | } /* do not process keypresses if a row is selected */ 148 | 149 | switch (e.keyCode) { 150 | case 107: 151 | //num plus 152 | this.zoom(0.05); 153 | break; 154 | case 109: 155 | //num minus 156 | this.zoom(-0.05); 157 | break; 158 | } 159 | }; 160 | 161 | SQL.Map.prototype.onEnter = function (e) { 162 | this.dom.port.style.borderColor = "rgba(0,0,0,0.8)"; 163 | this.dom.buttons.style.transform = "translateY(0)"; 164 | this.dom.buttons.style.opacity = "1"; 165 | }; 166 | 167 | SQL.Map.prototype.onLeave = function (e) { 168 | this.dom.port.style.borderColor = "rgba(0,0,0,0.3)"; 169 | this.dom.buttons.style.transform = "translateY(-40px)"; 170 | this.dom.buttons.style.opacity = "0"; 171 | }; -------------------------------------------------------------------------------- /js/options.js: -------------------------------------------------------------------------------- 1 | /* --------------------- options ------------ */ 2 | 3 | SQL.Options = function (owner) { 4 | this.owner = owner; 5 | this.dom = { 6 | container: OZ.$("opts"), 7 | btn: OZ.$("options") 8 | }; 9 | this.dom.btn.innerHTML = _("options"); 10 | this.save = this.save.bind(this); 11 | this.build(); 12 | } 13 | 14 | SQL.Options.prototype.build = function () { 15 | this.dom.optionlocale = OZ.$("optionlocale"); 16 | this.dom.optiondb = OZ.$("optiondb"); 17 | this.dom.optionpattern = OZ.$("optionpattern"); 18 | this.dom.optionsnap = OZ.$("optionsnap"); 19 | this.dom.optionselectstrategy = OZ.$("optionselectstrategy"); 20 | this.dom.optionhide = OZ.$("optionhide"); 21 | this.dom.optionvector = OZ.$("optionvector"); 22 | this.dom.optionshowsize = OZ.$("optionshowsize"); 23 | this.dom.optionshowtype = OZ.$("optionshowtype"); 24 | this.dom.optionusematerialcolors = OZ.$("optionusematerialcolors"); 25 | 26 | var ids = ["language", "db", "snap", "pattern", "hide", "vector", "showsize", "showtype", "optionsnapnotice", "selectstrategy", "optionprecise", "optionlazy", "optionpatternnotice", "optionsnotice", "materialcolors"]; 27 | for (var i = 0; i < ids.length; i++) { 28 | var id = ids[i]; 29 | var elm = OZ.$(id); 30 | elm.innerHTML = _(id); 31 | } 32 | 33 | var ls = CONFIG.AVAILABLE_LOCALES; 34 | OZ.DOM.clear(this.dom.optionlocale); 35 | for (var i = 0; i < ls.length; i++) { 36 | var o = OZ.DOM.elm("option"); 37 | o.value = ls[i]; 38 | o.innerHTML = ls[i]; 39 | this.dom.optionlocale.appendChild(o); 40 | if (this.owner.getOption("locale") == ls[i]) { 41 | this.dom.optionlocale.selectedIndex = i; 42 | } 43 | } 44 | 45 | var dbs = CONFIG.AVAILABLE_DBS; 46 | OZ.DOM.clear(this.dom.optiondb); 47 | for (var i = 0; i < dbs.length; i++) { 48 | var o = OZ.DOM.elm("option"); 49 | o.value = dbs[i]; 50 | o.innerHTML = dbs[i]; 51 | this.dom.optiondb.appendChild(o); 52 | if (this.owner.getOption("db") == dbs[i]) { 53 | this.dom.optiondb.selectedIndex = i; 54 | } 55 | } 56 | 57 | 58 | OZ.Event.add(this.dom.btn, "click", this.click.bind(this)); 59 | 60 | this.dom.container.parentNode.removeChild(this.dom.container); 61 | }; 62 | 63 | SQL.Options.prototype.save = function () { 64 | this.owner.setOption("locale", this.dom.optionlocale.value); 65 | this.owner.setOption("db", this.dom.optiondb.value); 66 | this.owner.setOption("pattern", this.dom.optionpattern.value); 67 | this.owner.setOption("snap", this.dom.optionsnap.value); 68 | this.owner.setOption("selectstrategy", this.dom.optionselectstrategy.value); 69 | this.owner.setOption("hide", this.dom.optionhide.checked ? "1" : ""); 70 | this.owner.setOption("vector", this.dom.optionvector.checked ? "1" : ""); 71 | this.owner.setOption("showsize", this.dom.optionshowsize.checked ? "1" : ""); 72 | this.owner.setOption("showtype", this.dom.optionshowtype.checked ? "1" : ""); 73 | this.owner.setOption("materialcolors", this.dom.optionusematerialcolors.checked ? "1" : ""); 74 | } 75 | 76 | SQL.Options.prototype.click = function () { 77 | this.owner.window.open(_("options"), this.dom.container, this.save); 78 | this.dom.optionpattern.value = this.owner.getOption("pattern"); 79 | this.dom.optionsnap.value = this.owner.getOption("snap"); 80 | this.dom.optionselectstrategy.value = this.owner.getOption("selectstrategy") || "lazy"; 81 | this.dom.optionhide.checked = this.owner.getOption("hide"); 82 | this.dom.optionvector.checked = this.owner.getOption("vector"); 83 | this.dom.optionshowsize.checked = this.owner.getOption("showsize"); 84 | this.dom.optionshowtype.checked = this.owner.getOption("showtype"); 85 | this.dom.optionusematerialcolors.checked = this.owner.getOption("materialcolors"); 86 | } 87 | -------------------------------------------------------------------------------- /js/relation.js: -------------------------------------------------------------------------------- 1 | /* --------------------------- relation (connector) ----------- */ 2 | 3 | SQL.Relation = function(owner, row1, row2) { 4 | this.owner = owner; 5 | this.row1 = row1; 6 | this.row2 = row2; 7 | this.color = "#000"; 8 | this.hidden = false; 9 | SQL.Visual.apply(this); 10 | 11 | /* if one of the rows already has relations, inherit color */ 12 | var all = row1.relations.concat(row2.relations); 13 | if (all.length) { /* inherit */ 14 | this.color = all[0].getColor(); 15 | } else if (CONFIG.RELATION_COLORS) { /* pick next */ 16 | SQL.Relation._counter++; 17 | var colorIndex = SQL.Relation._counter - 1; 18 | this.color = CONFIG.RELATION_COLORS[colorIndex % CONFIG.RELATION_COLORS.length]; 19 | } 20 | 21 | this.row1.addRelation(this); 22 | this.row2.addRelation(this); 23 | this.dom = []; 24 | 25 | if (this.owner.vector) { 26 | var path = document.createElementNS(this.owner.svgNS, "path"); 27 | path.setAttribute("stroke", this.color); 28 | path.setAttribute("stroke-width", CONFIG.RELATION_THICKNESS); 29 | path.setAttribute("fill", "none"); 30 | this.owner.dom.svg.appendChild(path); 31 | this.dom.push(path); 32 | } else { 33 | for (var i=0;i<3;i++) { 34 | var div = OZ.DOM.elm("div",{position:"absolute",className:"relation",backgroundColor:this.color}); 35 | this.dom.push(div); 36 | if (i & 1) { /* middle */ 37 | OZ.Style.set(div, {width:CONFIG.RELATION_THICKNESS+"px"}); 38 | } else { /* first & last */ 39 | OZ.Style.set(div, {height:CONFIG.RELATION_THICKNESS+"px"}); 40 | } 41 | this.owner.dom.container.appendChild(div); 42 | } 43 | } 44 | 45 | this.redraw(); 46 | } 47 | SQL.Relation._counter = 0; 48 | SQL.Relation.prototype = Object.create(SQL.Visual.prototype); 49 | 50 | SQL.Relation.prototype.getColor = function() { 51 | return this.color; 52 | } 53 | 54 | SQL.Relation.prototype.show = function() { 55 | this.hidden = false; 56 | for (var i=0;i 2 | 3 | 4 | إنشاء جدول 5 | تحرير جدول 6 | حذف جدول 7 | محاذاة الجداول 8 | حذف جميع البيانات 9 | هل أنت متأكد من أنك تريد حذف جميع البيانات 10 | new table 11 | اختر المنطقة المحددة 12 | اسم الجول 13 | وصف الجدول 14 | 15 | 16 | إنشاء حقل 17 | تحرير حقل 18 | حذف حقل 19 | أعلى 20 | أسفل 21 | new field 22 | إنشاء مفتاح خارجي 23 | اختر الجدول المطلوب 24 | ربط حقل بمفتاح خارجي 25 | اختر الحقل المطلوب 26 | حذف مفتاح خارجي 27 | هل أنت متأكد من أنك تريد حذف الجدول 28 | هل أنت متأكد من أنك تريد حذف الحقل 29 | 30 | 31 | الإسم 32 | النوع 33 | الحجم 34 | الإفتراضي 35 | NOT NULL 36 | NULL 37 | ترقيم تلقائي 38 | تحرير تعليق 39 | اكتب تعليقاً لهذا الحقل 40 | 41 | 42 | موافق 43 | إلغاء 44 | يرجى الإنتظار ... 45 | الخيارات 46 | لغة العرض 47 | قاعدة البيانات المستخدمة لحفظ التصاميم 48 | بعض الخيارات يتم تفعيلها بعد تحديث الصفحة مع ملاحظة أنه يجب تفعيل (الكوكيز) لتعمل هذه الخيارات 49 | Table snap distance 50 | In pixels, 0 = disable snapping 51 | طريقة تنسيق أسماء المفاتيح الخارجية 52 | %T = الجدول الرئيسي, %R = المفتاح الرئيسي, %t = الجدول الخارجي 53 | إخفاء الخطوط عند تحريك الجدول؟ 54 | رسم خطوط ناعمة (إذا كان المتصفح يدعم ذلك) ؟ 55 | 56 | 57 | 58 | المفاتيح 59 | المفاتيح في الجدول "%s" 60 | الأنواع: 61 | الإسم: 62 | مفاتيح الجدول 63 | الحقول المتاحة 64 | تحرير مفتاح 65 | إنشاء مفتاح 66 | حذف مفتاح 67 | 68 | 69 | حفظ / تحميل 70 | قم بوضع بيانات نموذج XML في المربع أدناه، ثم حاول مرّة أخرى. 71 | العميل 72 | الخادم 73 | المدخلات / المخرجات 74 | حفظ كنموذح XML 75 | إستيراد نموذج XML 76 | حفظ كنموذج SQL 77 | Server backend: 78 | حفظ 79 | تحميل 80 | List items 81 | إستيراد من قاعدة بيانات 82 | Enter keyword under which your design was saved: 83 | Enter keyword under which your design will be saved: 84 | أدخل إسم قاعدة البيانات التي تريد إستيرادها: 85 | رد الخادم 86 | تم الحفظ بنجاح 87 | لم يتم العثور عليه 88 | خطأ داخلي في الخادم 89 | الخاصية غير موجودة 90 | الخدمة غير متوفرة 91 | 92 | 93 | خطأ في نموذح XML 94 | التوثيق 95 | 96 | 97 | -------------------------------------------------------------------------------- /locale/cs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Přidat tabulku 5 | Upravit tabulku 6 | Smazat tabulku 7 | Smazat tabulky 8 | Srovnat tabulky 9 | Zrušit tabulky 10 | Opravdu zrušit všechny tabulky 11 | nová tabulka 12 | umístit tabulku 13 | Jméno 14 | Komentář 15 | 16 | 17 | Přidat položku 18 | Upravit položku 19 | Smazat položku 20 | Nahoru 21 | Dolů 22 | nová položka 23 | Vyrobit cizí klíč 24 | klikni na cílovou tabulku 25 | Propojit cizí klíč 26 | klikni na cílové pole 27 | Smazat cizí klíč 28 | Opravdu smazat tabulku 29 | Opravdu smazat položku 30 | 31 | 32 | Jméno 33 | Typ 34 | Velikost 35 | Výchozí 36 | NOT NULL 37 | NULL 38 | Autoincrement 39 | Upravit komentář 40 | VLožte komentář pro tuto položku 41 | 42 | 43 | OK 44 | Storno 45 | Prosím čekejte... 46 | Nastavení 47 | Jazyk 48 | Databáze pro nová schémata 49 | Některá nastavení se projeví až po znovunačtení stránky. Aby nastavení fungovala, je nutné mít zapnuté cookies. 50 | Vzdálenost přichytávání tabulek 51 | V pixelech, 0 = bez přichytávání 52 | Vzor pro cizí jména 53 | %T = primární tabulka, %R = primární klíč, %t = cizí tabulka 54 | Schovat spojovníky při tažení tabulkou? 55 | Vykreslovat oblé spojovníky (pakliže to prohlížeč podporuje)? 56 | Zobrazovat velikost polí v tabulce? 57 | Zobrazovat datový typ polí v tabulce? 58 | 59 | 60 | Klíče 61 | Klíče v tabulce "%s" 62 | Typ: 63 | Název: 64 | Položky v klíči 65 | Dostupné položky 66 | Upravit klíč 67 | Přidat klíč 68 | Smazat klíč 69 | 70 | 71 | Uložit / Načíst 72 | Prosím vložte XML data do textového pole níže. 73 | Klient 74 | Server 75 | Vstup / Výstup 76 | Uložit XML 77 | Načíst XML 78 | Uložit v prohlížeči 79 | Načíst z prohlížeče 80 | Generovat SQL 81 | Server backend: 82 | Uložit 83 | Rychle uložit 84 | Načíst 85 | Vypsat položky 86 | Importovat z databáze 87 | Zadejte označení, pod kterým bylo vaše schéma uloženo: 88 | Zadejte označení, pod kterým bude vaše schéma uloženo: 89 | Zadejte název databáze k importu: 90 | Odpověď od serveru 91 | Uloženo 92 | Neexistuje 93 | Vnitřní chyba serveru 94 | Není implementováno 95 | Služba není dostupná 96 | 97 | 98 | XML chyba 99 | Dokumentace 100 | 101 | 102 | -------------------------------------------------------------------------------- /locale/de.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Tabelle hinzufügen 5 | Tabelle bearbeiten 6 | Tabelle entfernen 7 | Tabellen entfernen 8 | Tabellen ausrichten 9 | Tabellen löschen 10 | Wirklich alle Tabellen löschen 11 | Neue Tabelle 12 | Tabelle platzieren 13 | Name 14 | Kommentar 15 | 16 | 17 | Feld hinzufügen 18 | Feld bearbeiten 19 | Feld entfernen 20 | Hoch 21 | Runter 22 | Neues Feld 23 | Fremdschlüssel erstellen 24 | Ziel-Tabelle wählen 25 | Fremdschlüssel Verknüpfung 26 | Ziel-Zeile auswählen 27 | Ziel-Zeile entfernen 28 | Tabelle wirklich löschen 29 | Feld wirklich löschen 30 | 31 | 32 | Name 33 | Typ 34 | Größe 35 | Default 36 | NOT NULL 37 | NULL 38 | Autoincrement 39 | Kommentar bearbeiten 40 | Kommentar zu diesem Feld eintragen: 41 | 42 | 43 | OK 44 | Abbrechen 45 | Bitte warten... 46 | Einstellungen 47 | Sprache 48 | Datenbank für neue Diagramme 49 | Einige Optionen werden erst nach einem erneutem Seitenaufruf wirksam. Cookies müssen erlaubt sein. 50 | Tabellen Ausrichtungsabstand 51 | in Pixel, 0 = einrasten deaktivieren 52 | Format für die Namen der Fremdschlüssel 53 | %T = Primärtabelle, %R = Primärschlüssel, %t = Fremdtabelle 54 | Verstecke Verbindungslinien beim Bewegen von Tabellen? 55 | Zeichne gekrümmte Verbindungslinien (Browser-abhängig)? 56 | Zeige Feldgröße im Tabellendesign? 57 | Zeige Felddatentyp im Tabellendesign? 58 | 59 | 60 | Schlüssel 61 | Schlüssel in Tabelle "%s" 62 | Typ: 63 | Name: 64 | Felder im Schlüssel 65 | Verfügbare Felder 66 | Schlüssel bearbeiten 67 | Schlüssel hinzufügen 68 | Schlüssel entfernen 69 | 70 | 71 | Speichern / Laden 72 | Bitte fügen Sie die XML-Daten in das untere Textfeld ein und versuchen Sie es erneut. 73 | Client 74 | Server 75 | Eingabe / Ausgabe 76 | XML speichern 77 | XML laden 78 | In Browser speichern 79 | Von Browser laden 80 | Von Browser auflisten 81 | In Dropbox speichern 82 | Von Dropbox laden 83 | Von Dropbox auflisten 84 | SQL erzeugen 85 | Server Basis: 86 | Speichern 87 | Schnellspeichern 88 | Laden 89 | Einträge auflisten 90 | Import aus DB 91 | Geben Sie das Stichwort ihres Diagramms ein, unter dem es gespeichert wurde: 92 | Geben Sie das Stichwort ihres Diagramms ein, unter dem es gespeichert werden soll: 93 | Geben Sie den Namen der zu importierenden Datenbank ein: 94 | Server Antwort 95 | gespeichert 96 | Nicht gefunden 97 | Interner Server Fehler 98 | Nicht implementiert 99 | Dienst nicht erreichbar 100 | 101 | 102 | XML Fehler 103 | Dokumentation 104 | 105 | 106 | -------------------------------------------------------------------------------- /locale/el.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Προσθήκη πίνακα 5 | Επεξεργασία πίνακα 6 | Διαγραφή πίνακα 7 | Διαγραφή πινάκων 8 | Στοίχιση Πινάκων 9 | Καθαρισμός πινάκων 10 | Διαγραφή όλων των πινάκων 11 | Νέος πίνακας 12 | τοποθέτηση πίνακα 13 | Όνομα 14 | Σχόλιο 15 | 16 | 17 | Προσθήκη πεδίου 18 | Επεξεργασία πεδίου 19 | Διαγραφή πεδίου 20 | Πάνω 21 | Κάτω 22 | νέο πεδίο 23 | Δημιουργία ξένου κλειδιού 24 | Κάντε κλικ στο άλλο πίνακα 25 | Σένδεση ξένου κλειδιού 26 | Κάντε κλικ στη γραμμή 27 | Κάντε κλικ πεδίου 28 | Διαγραφή πίνακα. Είστε σίγουρος 29 | Διαγραφή πεδίου. Είστε σίγουρος 30 | 31 | 32 | Όνομα 33 | Τύπος 34 | Μέγεθος 35 | Προεπιλογή 36 | NOT NULL 37 | NULL 38 | Autoincrement 39 | Επεξεργασία σχολίου 40 | Σχολιάστε γι' αυτό το πεδίο 41 | 42 | 43 | OK 44 | Άκυρο 45 | Παρακαλώ περιμένετε... 46 | Επιλογές 47 | Γλώσσα 48 | Βάση δεδομένων για νέα σχέδιαγράμματα 49 | Μερικές επιλογές ενεργοποιούνται μόνο μετά από καθολική ανανέωση της σελίδας.Τα Cookies πρέπει να είναι ενεργοποιημένα για να λειτουργούν οι επιλογές. 50 | Απόσταση πινάκων 51 | Σε pixels, 0 = απενεργοποίηση απόστασης 52 | Πρότυπο για ξένα κλειδιά 53 | %T = πρωτεύων πίνακας, %R = προτεύον κλειδί, %t = ξένος πίνακας 54 | Απόκρυψη συνδέσμων όταν σύρονται οι πίνακες; 55 | Διάγραμμα με ομαλούς συνδέσμους(αν παρέχεται από τον περιηγητή); 56 | 57 | 58 | 59 | Κλειδιά 60 | Κλειδιά στον πίνακα "%s" 61 | Τύπος: 62 | Όνομα: 63 | Πεδία σε κλειδιά 64 | Διαθέσιμα πεδία 65 | Επεξεργασία κλειδιού 66 | Προσθήκη κλειδιού 67 | Διαγραφή κλειδιού 68 | 69 | 70 | Αποθήκ./Άνοιγμα 71 | Κάντε επικόλληση των δεδομένων XML στο πεδίο κειμένου παρακάτω και δοκιμάστε ξανά. 72 | Πελάτης 73 | Διακομιστής 74 | Εισαγωγή/Εξαγωγή 75 | Αποθήκευση XML 76 | Άνοιγμα XML 77 | Δημιουργία SQL 78 | Διακομιστής: 79 | Αποθήκευση 80 | Άνοιγμα 81 | Εμφάνιση λίστας 82 | Εισαγωγή από βάση δεδομένων 83 | Πληκτρολογήστε το τίτλο του αποθηκευμένου σχεδιαγράμματος: 84 | Πληκτρολογήστε το τίτλο για την αποθήκευση του σχεδιαγράμματος: 85 | Δώστς όνομα βάσης δεδομένων για εισαγωγή: 86 | Απάντηση διακομιστή 87 | Αποθηκεύθηκε 88 | Δεν βρέθηκε 89 | Εσωτερικό σφάλμα διακομιστή 90 | Χωρίς σχεδίαση 91 | Μη-διαθέσιμη Παροχή 92 | 93 | 94 | Σφάλμα XML 95 | Οδηγίες 96 | 97 | 98 | -------------------------------------------------------------------------------- /locale/en.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Add table 5 | Edit table 6 | Remove table 7 | Remove tables 8 | Align tables 9 | Clear tables 10 | Really delete all tables 11 | new table 12 | place table 13 | Name 14 | Comment 15 | 16 | 17 | Add field 18 | Edit field 19 | Remove field 20 | Up 21 | Down 22 | new field 23 | Create foreign key 24 | click target table 25 | Connect foreign key 26 | click target row 27 | Remove foreign key 28 | Really delete table 29 | Really delete field 30 | 31 | 32 | Name 33 | Type 34 | Size 35 | Default 36 | NOT NULL 37 | NULL 38 | Autoincrement 39 | Edit comment 40 | Enter comment for this field 41 | 42 | 43 | OK 44 | Cancel 45 | Please wait... 46 | Options 47 | Language 48 | Database for new designs 49 | Some options are applied only after full page reload. Cookies must be enabled for options to work. 50 | Table snap distance 51 | Selection strategy 52 | Precise (complete bodies inside rubberband) 53 | Lazy (only parts inside rubberband) 54 | In pixels, 0 = disable snapping 55 | Pattern for foreign names 56 | %T = primary table, %R = primary key, %t = foreign table 57 | Hide connectors on table drag? 58 | Draw smooth connectors (if supported by browser)? 59 | Show field size in table design? 60 | Show field datatype in table design? 61 | Override type colors with Material's? 62 | 63 | 64 | Keys 65 | Keys in table "%s" 66 | Type: 67 | Name: 68 | Fields in key 69 | Available fields 70 | Edit key 71 | Add key 72 | Remove key 73 | 74 | 75 | Save / Load 76 | Please paste XML data into the text area below and try again. 77 | Client 78 | Server 79 | Input / Output 80 | Save XML 81 | Load XML 82 | Save in Browser 83 | Load from Browser 84 | List from Browser 85 | Save to Dropbox 86 | Load from Dropbox 87 | List from Dropbox 88 | Generate SQL 89 | Server backend: 90 | Save 91 | Quicksave 92 | Load 93 | List items 94 | Import from DB 95 | Enter keyword under which your design was saved: 96 | Enter keyword under which your design will be saved: 97 | Enter name of database to be imported: 98 | Server response 99 | Saved 100 | Not Found 101 | Internal Server Error 102 | Not Implemented 103 | Service Unavailable 104 | 105 | 106 | XML error 107 | Documentation 108 | 109 | 110 | -------------------------------------------------------------------------------- /locale/eo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Aldoni tabelon 5 | Modifi la tabelon 6 | Forigi la tabelon 7 | Forigi la tabelojn 8 | Ĝisrandigi la tabelojn 9 | Vakigi la tabelon 10 | Ja forigi ĉiujn tabelojn 11 | nova tabelo 12 | pozicii la tabelon 13 | Nomo 14 | Komento 15 | 16 | 17 | Aldoni kampon 18 | Modifi la kampon 19 | Forigi la kampon 20 | Supre 21 | Sube 22 | nova kampo 23 | Krei fremdan ŝlosilon 24 | alklaki la celan tabelon 25 | Konekti fremdan ŝlosilon 26 | alklaki la celan atributon 27 | Forigi fremdan ŝlosilon 28 | Ja forigi la tabelon 29 | Ja forigi la kampon 30 | 31 | 32 | Nomo 33 | Tipo 34 | Grandeco 35 | Defaŭlte 36 | NE NUL 37 | Senvalora 38 | Memalkremento 39 | Modifi la komenton 40 | Entajpi komenton por tiu kampo 41 | 42 | 43 | Jes 44 | Rezigni 45 | Bonvolu atendi... 46 | Agordoj 47 | Lingvo 48 | Datumbazoj por novaj kreoj 49 | Kelkaj agordoj estas aplikotaj post plena ŝarĝo de paĝo. Kuketoj devas esti ebligataj por ke la agordoj funkcias. 50 | Kapto-distanco de tabelo 51 | En rastrumeroj, 0 = malebligi kapton 52 | Motivo por fremdaj nomoj 53 | %T = ĉefa tabelo, %R = ĉefa ŝlosilo, %t = fremda tabelo 54 | Ĉu kaŝi konektiloj dum treno de tabelo? 55 | Desegni glatajn konektilojn (se subtenata de retumilo)? 56 | Show field size in table design? 57 | Show field datatype in table design? 58 | 59 | 60 | Klavoj 61 | Ŝlosiloj en la tabelo "%s" 62 | Tipo: 63 | Nomo: 64 | Kampoj en klavo 65 | Disponeblaj kampoj 66 | Modifi ŝlosilon 67 | Aldoni ŝlosilon 68 | Forigi ŝlosilon 69 | 70 | 71 | Konservi / Ŝargi 72 | Bonvolu alglui XML datumon en la tekst-zono sube kaj provi de nove. 73 | Kliento 74 | Servilo 75 | Enigo / Eligo 76 | Konservi XML 77 | Ŝargi XML 78 | Krei SQL 79 | Servila administro: 80 | Konservi 81 | Quicksave 82 | Ŝargi 83 | Listigi erojn 84 | Importi el datumbazo 85 | Entajpi ŝlosilvorton per kiu via fasonado estis konservita: 86 | Entajpi ŝlosilvorton per kiu via fasonado estos konservita: 87 | Entajpi la nomon de datumbazo importenda: 88 | Respondo de servilo 89 | Konservita 90 | Netrovita 91 | Interna Servilo Eraro 92 | Ne funkciigata 93 | Servo Nedisponebla 94 | 95 | 96 | XML-eraro 97 | Dokumentaro 98 | 99 | 100 | -------------------------------------------------------------------------------- /locale/es.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Agregar tabla 5 | Editar tabla 6 | Eliminar tabla 7 | Eliminar tablas 8 | Alinear tablas 9 | Limpiar tablas 10 | ¿Realmente deseas eliminar todas las tablas 11 | Nueva tabla 12 | Colocar tabla 13 | Nombre 14 | Comentario 15 | 16 | 17 | Agregar campo 18 | Editar campo 19 | Eliminar campo 20 | Arriba 21 | Abajo 22 | Nuevo campo 23 | Crear clave foránea 24 | Haz clic en tabla objetivo 25 | Conectar clave foránea 26 | Haz clic en campo objetivo 27 | Eliminar clave foránea 28 | ¿Realmente deseas borrar la tabla 29 | ¿Realmente deseas borrar el campo 30 | 31 | 32 | Nombre 33 | Tipo 34 | Tamaño 35 | Predeterminado 36 | NOT NULL 37 | NULL 38 | Auto incremento 39 | Editar comentario 40 | Ingresa un comentario para este campo 41 | 42 | 43 | Aceptar 44 | Cancelar 45 | Por favor, espera... 46 | Opciones 47 | Idioma 48 | Base de datos para nuevos diseños 49 | Algunas opciones se aplican solo despúes de recargar totalmente la pagina. Las cookies deben estar habilitadas para que funcione la personalización. 50 | Distancia de ajuste de tablas 51 | Estrategia de selección 52 | Precisa (cuerpos completos dentro del area) 53 | Vaga (solo partes dentro del area) 54 | En píxeles, 0 = deshabilitar ajuste 55 | Patrón para nombres de clave foránea 56 | %T = tabla primaria, %R = clave primaria, %t = tabla foránea 57 | ¿Ocultar conectores de tablas al arrastrar? 58 | ¿Dibujar conectores suaves (si son soportados por el navegador)? 59 | ¿Mostrar tamaño del campo en el diseño de tabla? 60 | ¿Mostrar tipo de dato del campo en el diseño de tabla? 61 | ¿Usar colores de tipo dato de estilo Material? 62 | 63 | 64 | Claves 65 | Llaves en la tabla "%s" 66 | Tipo: 67 | Nombre: 68 | Campos en la clave 69 | Campos disponibles 70 | Editar clave 71 | Agregar clave 72 | Eliminar clave 73 | 74 | 75 | Guardar / Cargar 76 | Por favor, pega los datos XML dentro del área de texto de abajo y vuelve a intentar. 77 | Cliente 78 | Servidor 79 | Entrada / Salida 80 | Guardar XML 81 | Cargar XML 82 | Guardar en el Navegador 83 | Cargar desde el Navegador 84 | Listar desde el Navegador 85 | Guardar en Dropbox 86 | Cargar desde Dropbox 87 | Listar desde Dropbox 88 | Generar SQL 89 | Servidor de fondo: 90 | Guardar 91 | Guardar rápido 92 | Cargar 93 | Listar elementos 94 | Importar desde Base de Datos 95 | Ingrese la palabra clave bajo la cual tu diseño fue guardado: 96 | Ingrese una palabra clave bajo la cual tu diseño será guardado: 97 | Ingresa el nombre de la base de datos a ser importada: 98 | Respuesta del servidor 99 | Guardado 100 | No Encontrado 101 | Error Interno del Servidor 102 | No Implementado 103 | Servicio No Disponible 104 | 105 | 106 | Error XML 107 | Documentación 108 | 109 | 110 | -------------------------------------------------------------------------------- /locale/fr.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ajouter une table 5 | Éditer la table 6 | Supprimer la table 7 | Supprimer les tables 8 | Aligner les tables 9 | Supprimer les tables 10 | Vraiment supprimer toutes les tables 11 | nouvelle table 12 | positionner la table 13 | Nom 14 | Commentaire 15 | 16 | 17 | Ajouter un champ 18 | Éditer un champ 19 | Supprimer le champ 20 | Remonter 21 | Descendre 22 | Éditer un champ 23 | Créer une clé étrangère 24 | Cliquez la destination 25 | Connecter une clé étrangère 26 | Cliquez la propriété cible 27 | Supprimer la clé étrangère 28 | Voulez-vous vraiment supprimer cette table ? 29 | Voulez-vous vraiment supprimer ce champ ? 30 | 31 | 32 | Nom 33 | Type 34 | Taille 35 | Défaut 36 | NON NUL 37 | valeur nulle 38 | Auto-incrémental 39 | Éditer le commentaire 40 | Saisir un commentaire à propos de ce champ 41 | 42 | 43 | OK 44 | Annuler 45 | Veuillez patienter... 46 | Options 47 | Langue 48 | Format des nouvelles base de données 49 | Ces options ne seront appliquées qu'après le rafraichissement complet de la page. Les cookies doivent être autorisés. 50 | Magnétisme des tables 51 | En pixels, 0 = magnétisme désactivé 52 | Motif pour les noms de clés étrangères 53 | %T = table primaire, %R = clé primaire, %t = table étrangère 54 | Cacher les connecteurs lors du déplacement des tables ? 55 | Dessiner des connecteurs « adoucis » (si le navigateur le supporte) ? 56 | Afficher la taille du champ dans le schéma de table ? 57 | Afficher le type du champ dans le schéma de table ? 58 | 59 | 60 | Clés 61 | Clés dans la table « %s » 62 | Type : 63 | Nom : 64 | Champs de clé 65 | Champs disponibles 66 | Éditer la clé 67 | Ajouter une clé 68 | Supprimer la clé 69 | 70 | 71 | Enregistrer / Charger 72 | Merci de coller les données XML dans le champs prévu avant de ré-essayer. 73 | Client 74 | Serveur 75 | Entrée / Sortie 76 | Enregistrer XML 77 | Charger XML 78 | Enregistrer dans le navigateur 79 | Charger depuis le navigateur 80 | Lister depuis le navigateur 81 | Génerer SQL 82 | Méthode du serveur : 83 | Enregistrer 84 | Enregistrer rapidement 85 | Charger 86 | Éléments disponibles 87 | Importer d'une base de données 88 | Saisir le mot-clé de votre schéma : 89 | Saisir un mot-clé pour sauvegarder votre schéma : 90 | Saisir le nom de la base de données à importer : 91 | Réponse du serveur 92 | Sauvegardé 93 | Introuvable 94 | Erreur interne du serveur 95 | Non Implementé 96 | Service indisponible 97 | 98 | 99 | Erreur XML 100 | Documentation 101 | 102 | 103 | -------------------------------------------------------------------------------- /locale/hu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Tábla létrehozása 5 | Tábla módosítása 6 | Tábla törlése 7 | Táblak törlése 8 | Táblák rendezése 9 | Táblák törlése 10 | Valóban töröljem az összes táblát 11 | tábla létrehozása 12 | tábla elhelyezése 13 | Név 14 | Megjegyzés 15 | 16 | 17 | Mező létrehozása 18 | Mező módosítása 19 | Mező törlése 20 | Fel 21 | Le 22 | új mező 23 | Idegen kulcs létrehozása 24 | kattintson a cél-táblára 25 | Idegen kulcs kapcsolása 26 | kattintson a cél-mezőre 27 | Mező kulcs létrehozása 28 | Valóban töröljem a táblát 29 | Valóban töröljem a mezőt 30 | 31 | 32 | Név 33 | Típus 34 | Méret 35 | Alapérték 36 | NOT NULL 37 | NULL 38 | Automatikus növelés 39 | Megjegyzés módosítása 40 | Írjon megjegyzést ehhez a mezőhöz 41 | 42 | 43 | OK 44 | Mégsem 45 | Kérem várjon... 46 | Beállítások 47 | Nyelv 48 | Adatbázis az új terveknek 49 | Egyes beállítások csak az oldal teljes újratöltése után érvényesülnek. A munkához szükséges engedélyezni a sütiket (cooky-kat). 50 | Táblák illesztési távolsága 51 | Pixel-ben megadva, 0 = illesztés tiltása 52 | Idegen nevek sablonja 53 | %T = elsődleges tábla, %R = elsődleges kulcs, %t = idegen tábla 54 | Elrejtsem a kapcsolókat a rajztáblán? 55 | Kapcsolók finom kirajzolása (ha a böngésző lehetővé teszi)? 56 | 57 | 58 | 59 | Kulcsok 60 | Kulcsok a "%s" táblában 61 | Típus: 62 | Név: 63 | A kulcs mezői 64 | Elérhető mezők 65 | Kulcs módosítása 66 | Kulcs létrehozása 67 | Kulcs törlése 68 | 69 | 70 | Mentés / Beolvasás 71 | Kérem illessze be az XML-tartalmat az alábbi szöveges mezőbe, és próbálja újra. 72 | Kliens 73 | Szerver 74 | Bemenet / Kimenet 75 | XML mentése 76 | XML beolvasása 77 | SQL generálása 78 | Szerver végpont: 79 | Mentés 80 | Betöltés 81 | Tételek listázása 82 | Importálás adatbázisból 83 | Írja be a kulcsszót, amely alapján a tervet elmentette: 84 | Írja be a kulcsszót, amely alapján a tervet el szeretné menteni: 85 | Írja be az importálandó adatbázis nevét: 86 | A szerver válasza 87 | Elmentve 88 | Nem találom 89 | Belső szerver hiba 90 | Nem lett végrehajtva 91 | Szolgáltatás nem elérhető 92 | 93 | 94 | XML hiba 95 | Dokumentáció 96 | 97 | 98 | -------------------------------------------------------------------------------- /locale/it.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Aggiungi tabella 5 | Modifica tabella 6 | Elimina tabella 7 | Elimina tabelle 8 | Allinea tabelle 9 | Cancella tabelle 10 | Eliminare veramente le tabelle 11 | nuova tabella 12 | posiziona la tabella 13 | Nome 14 | Oggetto 15 | 16 | 17 | Aggiungi campo 18 | Modifica campo 19 | Elimina campo 20 | Su 21 | Giù 22 | nuovo campo 23 | Crea chiave esterna 24 | fai clic sulla destinazione 25 | Connetti chiave esterna 26 | fai clic sulla riga di destinazione 27 | Rimuovi chiave esterna 28 | Cancellare veramente la tabella 29 | Cancellare veramente la riga 30 | 31 | 32 | Nome 33 | Tipo 34 | Dimensione 35 | Predefinito 36 | QUALCOSA 37 | NULL 38 | Autoincremento 39 | Modifica commento 40 | Inserisci commento per questo campo 41 | 42 | 43 | Conferma 44 | Annulla 45 | Attendere... 46 | Opzioni 47 | Lingua 48 | Database per nuovi progetti 49 | Alcune opzioni diventano attive solo dopo il ricaricamento della pagina. Affinché le opzioni vengano mantenute, devono essere abilitati i cookies. 50 | Griglia magnetica 51 | In pixel, 0 = magnetismo disabilitato 52 | Modello per le chiavi esterne 53 | %T = tabella principale, %R = chiave primaria, %t = tabella secondaria 54 | Nascondi i connettori durante il trascinamento? 55 | Disegna connettori arrotondati (se supportato dal browser)? 56 | Show field size in table design? 57 | Show field datatype in table design? 58 | 59 | 60 | Chiavi 61 | Chiavi nella tabella "%s" 62 | Tipo: 63 | Nome: 64 | Campi nella chiave 65 | Campi disponibili 66 | Modifica chiave 67 | Aggiungi chiave 68 | Rimuovi chiave 69 | 70 | 71 | Salva / Carica 72 | Reincolla i dati XML nell'area sottostante e prova di nuovo. 73 | Intestatario 74 | Server 75 | Ingresso / Uscita 76 | Salva XML 77 | Carica XML 78 | Genera SQL 79 | Server di backend: 80 | Salva 81 | Quicksave 82 | Carica 83 | Elenca elementi 84 | Importa dal DB 85 | Inserisci la parola chiave con cui è stato salvato il progetto: 86 | Inserisci la parola chiave con cui salvare il progetto: 87 | Inserisci il nome del database da importare 88 | Risposta del server 89 | Salvato 90 | Non trovato 91 | Errore interno del server 92 | Non implementato 93 | Servizio non disponibile 94 | 95 | 96 | Errore XML 97 | Documentazione 98 | 99 | 100 | -------------------------------------------------------------------------------- /locale/ja.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | テーブルを追加 5 | テーブルを編集 6 | テーブルを削除 7 | テーブルを整列 8 | 全テーブルを削除 9 | 全テーブルを削除しますか 10 | 新規テーブル 11 | テーブルを配置 12 | テーブル名 13 | コメント 14 | 15 | 16 | 列を追加 17 | 列を編集 18 | 列を削除 19 | 上に 20 | 下に 21 | 新規列 22 | 外部キーとして移動 23 | 対象テーブルを選択 24 | 外部キーを接続 25 | 対象列を選択 26 | 外部キーを削除 27 | テーブルを削除しますか 28 | 列を削除しますか 29 | 30 | 31 | 列名 32 | 33 | サイズ 34 | デフォルト値 35 | NOT NULL 36 | NULL 37 | 自動採番 38 | コメントを編集 39 | 列のコメントを入力 40 | 41 | 42 | OK 43 | キャンセル 44 | しばらくお待ちください... 45 | オプション 46 | 言語 47 | 新しい設計で使用するデータベース 48 | 印は再読込後に反映されるオプションです。これらを動作させるにはクッキーを有効にしてください。 49 | テーブルのスナップ単位 50 | ピクセル(0 = スナップ無効) 51 | 外部キーの命名規則 52 | %T = 親テーブル, %R = プライマリーキー, %t = 子テーブル 53 | テーブルをドラッグ中は線を隠す 54 | 滑らかな線を使う(要ブラウザのサポート) 55 | フィールドサイズを表示 56 | フィールドタイプを表示 57 | 58 | 59 | キーの設定 60 | テーブル"%s"のキー 61 | 種類: 62 | キー名: 63 | キーの対象列 64 | 選択可能な列 65 | キーを編集 66 | キーを追加 67 | キーを削除 68 | 69 | 70 | 保存/読み込み 71 | 下の入出力欄にXMLデータを貼りつけてから実行してください。 72 | クライアント 73 | サーバ 74 | 入力出欄 75 | XMLを出力 76 | XMLを読込 77 | SQLを生成 78 | ブラウザに保存 79 | ブラウザから読込 80 | ブラウザの保存一覧 81 | サーバのバックエンド: 82 | 保存 83 | Quicksave 84 | 読込 85 | 一覧 86 | DBからインポート 87 | 読み込む設計名を入力してください: 88 | 保存する設計名を入力してください: 89 | インポートするDB名を入力してください: 90 | サーバレスポンス 91 | Saved 92 | Not Found 93 | Internal Server Error 94 | Not Implemented 95 | Service Unavailable 96 | 97 | 98 | XMLエラー 99 | ドキュメント 100 | 101 | 102 | -------------------------------------------------------------------------------- /locale/ko.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 테이블 추가 5 | 테이블 수정 6 | 테이블 삭제 7 | 선택한 테이블 삭제 8 | 테이블 정렬 9 | 전체 테이블 삭제 10 | 정말로 전체 테이블을 삭제하시겠습니까 11 | 신규 테이블 12 | 테이블 놓기 13 | 이름 14 | 설명 15 | 16 | 17 | 필드 추가 18 | 필드 수정 19 | 필드 삭제 20 | 위로 21 | 아래로 22 | 신규 필드 23 | 외래 키 생성 24 | 대상 테이블 선택 25 | 외래 키 연결 26 | 대상 필드 선택 27 | 외래 키 삭제 28 | 정말로 테이블을 삭제하시겠습니까 29 | 정말로 필드를 삭제하시겠습니까 30 | 31 | 32 | 이름 33 | 타입 34 | 사이즈 35 | 기본값 36 | NOT NULL 37 | NULL 38 | 자동 증가 39 | 설명 수정 40 | 이 필드의 설명을 입력해 주세요 41 | 42 | 43 | 확인 44 | 취소 45 | 잠시만 기다려주세요... 46 | 옵션 47 | 언어 48 | 새로운 디자인의 데이터베이스 49 | 몇몇 옵션들은 페이지를 다시 불러와야 적용이 됩니다. 이를 위해서는 쿠키 사용이 활성화 되어 있어야 합니다. 50 | 테이블 스냅 거리 51 | 픽셀, 0 = 스냅 비활성화 52 | 외래 키 명명 규식 53 | %T = 기본 테이블, %R = 기본 키, %t = 외래 테이블 54 | 테이블을 이동할 때, 연결선 숨기기 55 | 부드러운 연결선 사용 (브라우저 지원 필요)? 56 | 디자인에서 필드 사이즈를 표시 57 | 디자인에서 필드 타입을 표시 58 | 59 | 60 | 키 설정 61 | "%s" 테이블 키 정보 62 | 타입: 63 | 이름: 64 | 키 필드 65 | 추가 가능한 필드 66 | 키 수정 67 | 키 추가 68 | 키 삭제 69 | 70 | 71 | 저장 / 불러오기 72 | 불러오려고 하는 XML 데이터를 아래 텍스트 영역에 붙여 넣고 다시 시도해 주세요. 73 | 클라이언트 74 | 서버 75 | 입력 / 출력 76 | XML 저장 77 | XML 불러오기 78 | 브라우저에 저장 79 | 브라우저에서 불러오기 80 | 브라우저 저장 목록 81 | 드롭박스에 저장 82 | 드롭박스에서 불러오기 83 | 드롭박스 저장 목록 84 | SQL 생성 85 | 벡엔드 서버: 86 | 저장 87 | 빠른저장 88 | 불러오기 89 | 목록보기 90 | DB에서 가져오기 91 | 저장된 디자인의 키워드를 입력해 주세요: 92 | 저장할 디자인의 키워드를 입력해 주세요: 93 | 가져올 데이터베이스의 이름을 입력해 주세요: 94 | 서버 응답 95 | 저장되었습니다 96 | 찾을 수 없습니다(Not Found) 97 | 내부 서버 에러(Internal Server Error) 98 | 구현되지 않았습니다(Not Implemented) 99 | 서비스를 사용할 수 없습니다(Service Unavailable) 100 | 101 | 102 | XML 에러 103 | 문서 104 | 105 | 106 | -------------------------------------------------------------------------------- /locale/nl.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Tabel toevoegen 5 | Bewerk tabel 6 | Verwijder tabel 7 | Verwijder tabellen 8 | Uitlijnen tabellen 9 | Tabellen schonen 10 | Wilt u echt alle tabellen verwijderen 11 | Nieuwe tabel 12 | Positioneer tabel 13 | Naam 14 | Opmerkingen 15 | 16 | 17 | Veld toevoegen 18 | Veld bewerken 19 | Veld verwijderen 20 | Op 21 | Neer 22 | nieuwe veld 23 | Maak relatie 24 | Click op doeltabel 25 | Verbind relatie 26 | Click op doelveld 27 | Verwijder relatie 28 | Tabel verwijderen? 29 | Veld verwijderen? 30 | 31 | 32 | Naam 33 | Type 34 | Omvang 35 | Standaard 36 | NOT NULL 37 | NULL 38 | Autoincrement 39 | Bewerk opmerkingen 40 | Geef opmerkingen voor dit veld 41 | 42 | 43 | OK 44 | Annuleer 45 | Even geduld... 46 | Opties 47 | Taal 48 | Database voor nieuwe ontwerpen 49 | Sommige opties worden pas geldig na het volledig opnieuw laden van de pagina. Cookies moeten zijn toegestaan voor een juiste werking. 50 | Tabel snap afstand 51 | In pixels, 0 = uitzetten snap 52 | Patroon voor relatie velden 53 | %T = primaire tabel, %R = primaire sleutel, %t = verwezen tabel. 54 | Verberg relaties tijdens verplaatsen van de tabel? 55 | Teken gekromde relaties (als de browser dit ondersteund)? 56 | Toon veld omvang in tabelontwerp? 57 | Toon veld type in tabelontwerp? 58 | 59 | 60 | Sleutels 61 | Sleutels in tabel "%s" 62 | Type: 63 | Naam: 64 | Velden in sleutel 65 | Beschikbare velden 66 | Bewerk sleutel 67 | Voeg sleutel toe 68 | Verwijder sleutel 69 | 70 | 71 | Opslaan / laden 72 | Please paste XML data into the text area below and try again. 73 | Lokaal 74 | Server 75 | Input / Output 76 | XML Opslaan 77 | XML Laden 78 | Opslaan in Browser 79 | Laden uit Browser 80 | Genereer SQL 81 | Server: 82 | Opslaan 83 | Snel opslaan 84 | Laden 85 | Toon lijst 86 | Import uit DB 87 | Enter keyword under which your design was saved: 88 | Enter keyword under which your design will be saved: 89 | Enter name of database to be imported: 90 | Reactie van server 91 | Opgeslagen 92 | Niet gevonden 93 | Interne Server Fout 94 | Niet geimplementeerd 95 | Niet beschikbaar 96 | 97 | 98 | XML fout 99 | Documentatie 100 | 101 | 102 | -------------------------------------------------------------------------------- /locale/pl.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dodaj tabelę 5 | Edytuj tabelę 6 | Usuń tabelę 7 | Usuń tabele 8 | Wyrównaj tabele 9 | Wyczyść tabele 10 | Czy na pewno usunąć wszystkie tabele 11 | nowa tabela 12 | miejsce tabeli 13 | Nazwa 14 | Opis 15 | 16 | 17 | Dodaj pole 18 | Edytuj pole 19 | Usuń pole 20 | W górę 21 | W dół 22 | nowe pole 23 | Utwórz klucz zewnętrzny 24 | kliknij w docelową tabelę 25 | Utwórz klucz zewnętrzny 26 | kliknij w docelową tabelę 27 | Smazat cizí klíč 28 | Czy na pewno usunąć tabelę 29 | Czy na pewno usunąć pole 30 | 31 | 32 | Nazwa 33 | Typ 34 | Rozmiar 35 | Domyślnie 36 | Niepuste 37 | Zerowy 38 | Automatyczne zwiększanie o 1 39 | Edytuj komentarz 40 | Wpisz komentarz dla tego pola 41 | 42 | 43 | OK 44 | Anuluj 45 | Proszę czekać... 46 | Opcje 47 | Język 48 | Bazy danych dla nowych projektów 49 | Niektóre opcje są zatwierdzane wyłącznie po kompletnym przeładowaniu strony. Ciasteczka muszą być akceptowane dla działania opcji. 50 | Ustalana odległość tabel 51 | W pikselach, 0 = wyłącznie ustalania 52 | Wzorzec dla zewnętrznych nazw 53 | %T = główna tabela, %R = klucz główny, %t = zewnętrzna tabela 54 | Ukryć złącza w tabeli podczas przeciągania? 55 | Rysuj pływające złącza (jesli wsperane jest przez przeglądarkę)? 56 | Show field size in table design? 57 | Show field datatype in table design? 58 | 59 | 60 | Klucze 61 | Klucze w tabeli "%s" 62 | Typ: 63 | Nazwa: 64 | Pola w kluczu 65 | Dostępne pola 66 | Edytuj klucz 67 | Dodaj klucz 68 | Usuń klucz 69 | 70 | 71 | Zapisz / Otwórz 72 | Proszę wklej kod XML w poniższe pole tekstowe i spróbuj ponownie. 73 | Klient 74 | Serwer 75 | Wejście / Wyjście 76 | Zapisz XML 77 | Załaduj XML 78 | Generuj SQL 79 | Serwer wejściowy: 80 | Zapisz 81 | Quicksave 82 | Otwórz 83 | Lista pozycji 84 | Importuj z DB 85 | Wpisz słowo kluczowe pod którym twój projekt został zapisany: 86 | Wpisz słowo kluczowe pod którym twój projekt ma zostać zapisany: 87 | Wpisz nazwę bazy danych do zaimportowania: 88 | Odpowiedź serwera 89 | Zapisano 90 | Nie znaleziono 91 | Wewnętrzny błąd serwera 92 | Niezaimplementowane 93 | Serwer niedostępny 94 | 95 | 96 | Błąd XML 97 | Dokumentacja 98 | 99 | 100 | -------------------------------------------------------------------------------- /locale/pt_BR.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Adicionar tabela 5 | Editar tabela 6 | Remover tabela 7 | Remover tabelas 8 | Alinhar tabelas 9 | Limpar tabelas 10 | Realmente excluir todas as tabelas 11 | Nova tabela 12 | Clique p/ adicionar 13 | Nome 14 | Comentário 15 | 16 | 17 | Adicionar campo 18 | Editar campo 19 | Remover campo 20 | Para cima 21 | Para baixo 22 | Novo campo 23 | Criar chave estrangeira 24 | Selecione a tabela alvo(destino) 25 | Conectar chave estrangeira 26 | Clique na linha alvo 27 | Remover chave estrangeira 28 | Deseja realmente deletar a tabela 29 | Deseja realmente deletar o campo 30 | 31 | 32 | Nome 33 | Tipo 34 | Tamanho 35 | Default 36 | NOT NULL 37 | NULL 38 | Auto incrementar 39 | Editar comentário 40 | Digite o comentário para este campo 41 | 42 | 43 | OK 44 | Cancelar 45 | Por favor espere... 46 | Opções 47 | Linguagem 48 | Base de Dados para os novos designs 49 | Algumas opções serão aplicadas somente depois da página totalmente regarrecada. Cookies devem ser ativados para as opções funcionarem. 50 | Distância entre as tabelas 51 | Em pixels, 0 = desativar snapping 52 | Padrão p/ nomes estrangeiros 53 | %T = tabela primária, %R = chave primária, %t = tabela estrangeira 54 | Esconder connectores na tela? 55 | Desenhar conectores suaves (se suportado pelo navegador)? 56 | 57 | 58 | 59 | Chaves 60 | Chaves na tabela "%s" 61 | Tipo: 62 | Nome: 63 | Campos na chave 64 | Campos disponíveis 65 | Editar chave 66 | Adicionar chave 67 | Remover chave 68 | 69 | 70 | Salvar / Carregar 71 | Por favor cole os dados XML na área de texto abaixo e tente novamente. 72 | Cliente 73 | Servidor 74 | Entrada / Saída 75 | Salvar XML 76 | Carregar XML 77 | Gerar SQL 78 | Parâmetros do Servidor: 79 | Salvar 80 | Carregar 81 | Listar itens 82 | Importar do BD 83 | Digite o nome o qual seu design foi salvo: 84 | Digite o nome com qual seu design será salvo: 85 | Digite o nome da base de dados à ser importada: 86 | Resposta do servidor 87 | Salvo 88 | Não Encontrado 89 | Erro Interno do Servidor 90 | Não Implementado 91 | Serviço Indisponível 92 | 93 | 94 | Erro de XML 95 | Documentação 96 | 97 | 98 | -------------------------------------------------------------------------------- /locale/ro.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Adauga tabela 5 | Editeaza tabela 6 | Sterge tabela 7 | Sterge tabelele 8 | Aliniaza tabelele 9 | Sterge tabelele 10 | Sterge toate tabelele 11 | (nume tabela) 12 | plaseaza tabela 13 | Nume 14 | Comentariu 15 | 16 | 17 | Adauga coloana 18 | Editeaza coloana 19 | Sterge coloana 20 | Sus 21 | Jos 22 | coloana noua 23 | Creaza FK 24 | alege destinatie 25 | Conexiune FK 26 | alege destinatie 27 | Sterge FK 28 | Sterge tabela 29 | Sterge coloana 30 | 31 | 32 | Nume 33 | Tip 34 | Dimensiune 35 | Valoare default 36 | NOT NULL 37 | NULL 38 | Auto increment 39 | Editare comentariu 40 | Introduceti comentariul pentru aceasta coloana: 41 | 42 | 43 | OK 44 | Anuleaza 45 | Asteptati va rog... 46 | Optiuni 47 | Limbaj 48 | Baza de date pentru design 49 | Anumite optiuni devin active numai dupa o reincarcare completa a paginii. Cookies trebuie sa fie activate pentru browser. 50 | Distanta automata intre tabele 51 | In pixeli, 0 = dezactiveaza asezarea automata 52 | Modelul pentru nume de Foreign Keys 53 | %T = Tabela primara, %R = Primary key, %t = Tabela cu Foreign key 54 | Ascunde conexiunile la mutarea tabelei? 55 | Deseneaza folosind "smooth connectors" (daca browserul suporta)? 56 | 57 | 58 | 59 | Keys / Indexes 60 | Keys / Indexes in tabela "%s" 61 | Tip: 62 | Nume: 63 | Campuri selectate 64 | Campuri disponibile 65 | Editeaza 66 | Adauga 67 | Sterge 68 | 69 | 70 | Salveaza / Incarca 71 | Introduceti codul XML si re-incercati. 72 | Client 73 | Server 74 | Input / Output 75 | Genereaza XML 76 | Incarca din XML 77 | Genereaza SQL 78 | Server backend: 79 | Salveaza 80 | Incarca 81 | Lista de salvari 82 | Import tabele din baza de date 83 | Introduceti numele sub care a fost salvat design-ul: 84 | Introduceti numele sub care va fi salvat design-ul: 85 | Introduceti numele bazei de date care va fi importata: 86 | Server response 87 | Salvare efectuata 88 | Not Found 89 | Internal Server Error 90 | Not Implemented 91 | Service Unavailable 92 | 93 | 94 | Eroare XML 95 | Documentatie 96 | 97 | 98 | -------------------------------------------------------------------------------- /locale/ru.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Добавить таблицу 5 | Редактировать таблицу 6 | Удалить таблицу 7 | Удалить таблицы 8 | Выровнять таблицы 9 | Очистить таблицы 10 | Действительно удалить все таблицы 11 | новая таблица 12 | расположите таблицу 13 | Имя 14 | Коментарий 15 | 16 | 17 | Добавить поле 18 | Редактировать поле 19 | Удалить поле 20 | Вверх 21 | Вниз 22 | новое поле 23 | Создать внешний ключ 24 | щелкните по целевой таблице 25 | Присоединить внешний ключ 26 | щёлкните по целевой таблице 27 | Удалить внешний ключ 28 | Действительно удалить таблицу 29 | Действительно удалить поле 30 | 31 | 32 | Имя 33 | Тип 34 | Размер 35 | По умолчанию 36 | NOT NULL 37 | NULL 38 | Автоинкремент 39 | Изменить коментарий 40 | Введите коментарий для этого поля 41 | 42 | 43 | OK 44 | Отменить 45 | Пожалуйста подождите... 46 | Опции 47 | Язык 48 | База данных для новых схем 49 | Некоторые опции заработают только после полной перезагрузки страницы. Cookie должны быть включены. 50 | Шаг при перемещении таблицы 51 | В пикселях, 0 = отключить 52 | Шаблон для имён внешних ключей 53 | %T = первичная таблица, %R = первичный ключ, %t = внешняя таблица 54 | Прятать связи при перетаскивании таблиц? 55 | Рисовать сглаженные связи (если поддерживается браузером)? 56 | Показывать размеры полей таблиц? 57 | Показывать типы данных полей таблиц? 58 | 59 | 60 | Ключи 61 | Ключи в таблице "%s" 62 | Тип: 63 | Имя: 64 | Поля в ключе 65 | Доступные поля 66 | Редактировать ключ 67 | Добавить ключ 68 | Удалить ключ 69 | 70 | 71 | Сохранить / Загрузить 72 | Пожалуйста, вставьте XML данные в поле ниже и попробуйте ещё раз. 73 | Клиент 74 | Сервер 75 | Ввод / Вывод 76 | Сохранить XML 77 | Загрузить XML 78 | Сохранить в браузере 79 | Загрузить из браузера 80 | Получить список схем из браузера 81 | Сохранить в Dropbox 82 | Загрузить из Dropbox 83 | Получить список из Dropbox 84 | Генерировать SQL 85 | Серверные технологии: 86 | Сохранить 87 | Быстрое сохранение 88 | Загрузить 89 | Получить список схем 90 | Импортировать из БД 91 | Введите ключевое слово под которым сохранена ваша схема: 92 | Введите ключевое слово под которым будет сохранена ваша схема: 93 | Введите имя импортируемой базы данных: 94 | Ответ сервера 95 | Сохранено 96 | Не найдено 97 | Внутренняя ошибка сервера 98 | Не реализовано 99 | Служба недоступна 100 | 101 | 102 | Ошибка XML 103 | Документация 104 | 105 | 106 | -------------------------------------------------------------------------------- /locale/sv.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Skapa tabell 5 | Redigera tabell 6 | Ta bort tabell 7 | Ta bort tabeller 8 | Räta upp tabeller 9 | Ta bort alla tabeller 10 | Vill du verkligen ta bort alla tabeller 11 | Ny tabell 12 | Placera tabell 13 | Namn 14 | Kommentar 15 | 16 | 17 | Lägg till fält 18 | Redigera fält 19 | Ta bort field 20 | Upp 21 | Ner 22 | Ny field 23 | Skapa främmande nyckel 24 | Klicka på motsvarande tabell 25 | Anslut främmande nycke 26 | Välj motsvarande rad 27 | Ta bort främmande nyckel 28 | Vill du verkligen ta bort denna tabell? 29 | Vill du verkligen ta bort detta fält? 30 | 31 | 32 | Namn 33 | Typ 34 | Storlek 35 | Standard 36 | NOT NULL 37 | NULL 38 | Autoincrement 39 | Redigera kommentar 40 | Ange kommentar för detta fält 41 | 42 | 43 | OK 44 | Avbryt 45 | Var god vänta... 46 | Alternativ 47 | Språk 48 | Databas for nya designer 49 | Vissa alternativ ändras bara efter att du laddat om sidan. Cookies krävs för att alternativ ska fungera. 50 | Tabellers fästavstånd 51 | Ange pixlar, 0 = stäng av fästning 52 | Mönster för främmande namn 53 | %T = primär tabell, %R = primär nycke, %t = främmande tabell 54 | Dölj anslutningar när du drar i tabellen? 55 | Rita mjuka anslutningar (om din webbläsare stöder det)? 56 | 57 | 58 | 59 | Nycklar 60 | Nycklar i tabellen "%s" 61 | Typ: 62 | Namn: 63 | Fields in nyckel 64 | Available fields 65 | Edit nyckel 66 | Add key 67 | Ta bort key 68 | 69 | 70 | Spara / Ladda 71 | Vänligen klistra in XML i textrutan nedan och försök igen. 72 | Klient 73 | Server 74 | Input / Output 75 | Spara XML 76 | Ladda XML 77 | Generera SQL 78 | Server backend: 79 | Spara 80 | Ladda 81 | Lista innehåll 82 | Importera från DB 83 | Ange vilket nyckelord din design sparades under: 84 | Ange vilket nyckelord din design ska sparas under: 85 | Ange namnet på databasen som ska importeras: 86 | Serversvar 87 | Sparad 88 | Ej funnen 89 | Intert serverfel 90 | Ej implementerat 91 | Service Unavailable 92 | 93 | 94 | XML error 95 | Dokumentation 96 | 97 | 98 | -------------------------------------------------------------------------------- /locale/zh.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 添加表 5 | 修改表 6 | 移除表 7 | 重组表格位置 8 | 删除所有表 9 | 真的要删除所有表么 10 | 表名称 11 | 放置表格…… 12 | 表名 13 | 注释 14 | 15 | 16 | 添加列 17 | 修改列 18 | 删除列 19 | 上移 20 | 下移 21 | newfield 22 | 创建外连表格列 23 | 点击选择目标表 24 | 连接到外部列 25 | 点击选择目标列 26 | 断开外部连接 27 | 真的删除表么 28 | 真的删除列么 29 | 30 | 31 | 列名 32 | 类型 33 | 大小 34 | 默认 35 | 不能为空 36 | 可留空 37 | 自增长 38 | 改备注 39 | 输入此列备注 40 | 41 | 42 | 搞定 43 | 不要了 44 | 请等待... 45 | 选项设置 46 | 语言 47 | 新建的数据库设为: 48 | 有些属性需要刷新页面后才能起作用,所以,浏览器的Cookies必须启用。 49 | 表格捕捉距离 50 | 像素, 0 = 关闭捕捉 51 | 外连名称规则 52 | %T = 主表, %R = 主键, %t = 外连表 53 | 在表格移动时不显示连接? 54 | 绘制平滑的连接 (如果浏览器支持)? 55 | 设计表格时显示字段大小? 56 | 设计表格时显示字段数据类型? 57 | 58 | 59 | 60 | 设置表键 61 | 在 "%s" 表中可用列属性 62 | 类型: 63 | 属性名称: 64 | 此属性中的列 65 | 可用列 66 | 修改属性 67 | 添加属性 68 | 删除属性 69 | 70 | 71 | 登录 72 | 注销 73 | 保存 / 载入 74 | 请先粘帖一个XML文件内容到文本框中,然后再导入。 75 | 客户端 76 | 服务端 77 | 输入 / 输出 78 | 保存为XML 79 | 载入XML 80 | 传化为数据库脚本 81 | 服务后台: 82 | 保存 83 | 载入 84 | 显示清单 85 | 快速保存 86 | 从数据库中导入 87 | 输入你所保存的名字: 88 | 输入所要保存的名字: 89 | 输入所要导入的数据库名称: 90 | 服务器反馈 91 | 已存 92 | 找不到 93 | 网络服务错误 94 | 未执行 95 | 服务暂不可用 96 | 97 | 98 | XML 错误 99 | 文档 100 | 101 | 102 | -------------------------------------------------------------------------------- /styles/ie6.css: -------------------------------------------------------------------------------- 1 | v\:* { 2 | behavior:url(#default#VML); 3 | } 4 | 5 | #bar { 6 | position: absolute; 7 | right: auto; 8 | left: expression(eval(document.documentElement.scrollLeft)+document.documentElement.clientWidth-eval(this.offsetWidth)); 9 | top: expression(eval(document.documentElement.scrollTop)); 10 | } 11 | 12 | #bar .shadow-corner { 13 | background-image: none; 14 | filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/bar_corner.png',sizingMethod='crop'); 15 | overflow: hidden; 16 | } 17 | 18 | #bar .shadow-left { 19 | background-image: none; 20 | filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/bar_left.png',sizingMethod='crop'); 21 | height: expression(eval(this.parentNode.offsetHeight)); 22 | overflow: hidden; 23 | } 24 | 25 | #bar .shadow-bottom { 26 | background-image: none; 27 | filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/bar_bottom.png',sizingMethod='crop'); 28 | width: expression(eval(this.parentNode.offsetWidth)); 29 | overflow: hidden; 30 | } 31 | 32 | .table .shadow-corner { 33 | background-image: none; 34 | } 35 | 36 | .table .shadow-right { 37 | background-image: none; 38 | } 39 | 40 | .table .shadow-bottom { 41 | background-image: none; 42 | } 43 | 44 | #minimap { 45 | filter: alpha(opacity=90); 46 | position: absolute; 47 | right: auto; 48 | left: expression(eval(document.documentElement.scrollLeft)+document.documentElement.clientWidth-eval(this.offsetWidth)); 49 | top: expression(eval(document.documentElement.scrollTop)+document.documentElement.clientHeight-eval(this.offsetHeight)); 50 | } 51 | 52 | #background { 53 | filter: alpha(opacity=50); 54 | } 55 | 56 | #keys, #opts { 57 | width: expression(eval(document.documentElement.clientWidth)/2); 58 | } 59 | 60 | #rubberband { 61 | filter: alpha(opacity=50); 62 | } -------------------------------------------------------------------------------- /styles/ie7.css: -------------------------------------------------------------------------------- 1 | v\:* { 2 | behavior:url(#default#VML); 3 | } 4 | 5 | #minimap { 6 | filter: alpha(opacity=90); 7 | } 8 | 9 | #background { 10 | filter: alpha(opacity=50); 11 | } 12 | 13 | #keys, #opts { 14 | width: expression(eval(document.documentElement.clientWidth)/2); 15 | } 16 | 17 | #rubberband { 18 | filter: alpha(opacity=50); 19 | } 20 | -------------------------------------------------------------------------------- /styles/print.css: -------------------------------------------------------------------------------- 1 | #bar, #background, #minimap { 2 | display: none; 3 | } 4 | 5 | .table { 6 | border:1px solid #000000; 7 | background-color:none; 8 | } 9 | 10 | .row { 11 | background-color:none; 12 | } 13 | 14 | .table .shadow-corner, .shadow-right, .shadow-bottom { 15 | display:none; 16 | } 17 | 18 | .table_title { 19 | font-weight:bold; 20 | font-size:115%; 21 | background-color:none; 22 | } 23 | 24 | --------------------------------------------------------------------------------