--- a
+++ b/adminer/lang/xx.inc.php
@@ -0,0 +1,324 @@
+<?php
+$translations = array(
+	// label for database system selection (MySQL, SQLite, ...)
+	'System' => 'xx',
+	'Server' => 'xx',
+	'Username' => 'xx',
+	'Password' => 'xx',
+	'Permanent login' => 'xx',
+	'Login' => 'xx',
+	'Logout' => 'xx',
+	'Logged as: %s' => 'xx',
+	'Logout successful.' => 'xx',
+	'Invalid credentials.' => 'xx',
+	'Language' => 'xx',
+	'Invalid CSRF token. Send the form again.' => 'xx',
+	'No extension' => 'xx',
+	'None of the supported PHP extensions (%s) are available.' => 'xx',
+	'Session support must be enabled.' => 'xx',
+	'Session expired, please login again.' => 'xx',
+	'%s version: %s through PHP extension %s' => 'xx',
+	'Refresh' => 'xx',
+	
+	// text direction - 'ltr' or 'rtl'
+	'ltr' => 'xx',
+	
+	'Privileges' => 'xx',
+	'Create user' => 'xx',
+	'User has been dropped.' => 'xx',
+	'User has been altered.' => 'xx',
+	'User has been created.' => 'xx',
+	'Hashed' => 'xx',
+	'Column' => 'xx',
+	'Routine' => 'xx',
+	'Grant' => 'xx',
+	'Revoke' => 'xx',
+	
+	'Process list' => 'xx',
+	'%d process(es) have been killed.' => array('xx', 'xx'),
+	'Kill' => 'xx',
+	
+	'Variables' => 'xx',
+	'Status' => 'xx',
+	
+	'SQL command' => 'xx',
+	'%d query(s) executed OK.' => array('xx', 'xx'),
+	'Query executed OK, %d row(s) affected.' => array('xx', 'xx'),
+	'No commands to execute.' => 'xx',
+	'Error in query' => 'xx',
+	'Execute' => 'xx',
+	'Stop on error' => 'xx',
+	'Show only errors' => 'xx',
+	// sprintf() format for time of the command
+	'%.3f s' => 'xx',
+	'History' => 'xx',
+	'Clear' => 'xx',
+	'Edit all' => 'xx',
+	
+	'File upload' => 'xx',
+	'From server' => 'xx',
+	'Webserver file %s' => 'xx',
+	'Run file' => 'xx',
+	'File does not exist.' => 'xx',
+	'File uploads are disabled.' => 'xx',
+	'Unable to upload a file.' => 'xx',
+	'Maximum allowed file size is %sB.' => 'xx',
+	'Too big POST data. Reduce the data or increase the %s configuration directive.' => 'xx',
+	
+	'Export' => 'xx',
+	'Dump' => 'xx',
+	'Output' => 'xx',
+	'open' => 'xx',
+	'save' => 'xx',
+	'Format' => 'xx',
+	'Data' => 'xx',
+	
+	'Database' => 'xx',
+	'database' => 'xx',
+	'Use' => 'xx',
+	'Select database' => 'xx',
+	'Invalid database.' => 'xx',
+	'Create new database' => 'xx',
+	'Database has been dropped.' => 'xx',
+	'Databases have been dropped.' => 'xx',
+	'Database has been created.' => 'xx',
+	'Database has been renamed.' => 'xx',
+	'Database has been altered.' => 'xx',
+	'Alter database' => 'xx',
+	'Create database' => 'xx',
+	'Database schema' => 'xx',
+	
+	// link to current database schema layout
+	'Permanent link' => 'xx',
+	
+	// thousands separator - must contain single byte
+	',' => 'xx',
+	'Engine' => 'xx',
+	'Collation' => 'xx',
+	'Data Length' => 'xx',
+	'Index Length' => 'xx',
+	'Data Free' => 'xx',
+	'Rows' => 'xx',
+	'%d in total' => 'xx',
+	'Analyze' => 'xx',
+	'Optimize' => 'xx',
+	'Check' => 'xx',
+	'Repair' => 'xx',
+	'Truncate' => 'xx',
+	'Tables have been truncated.' => 'xx',
+	'Move to other database' => 'xx',
+	'Move' => 'xx',
+	'Tables have been moved.' => 'xx',
+	'Copy' => 'xx',
+	'Tables have been copied.' => 'xx',
+	
+	'Routines' => 'xx',
+	'Routine has been called, %d row(s) affected.' => array('xx', 'xx'),
+	'Call' => 'xx',
+	'Parameter name' => 'xx',
+	'Create procedure' => 'xx',
+	'Create function' => 'xx',
+	'Routine has been dropped.' => 'xx',
+	'Routine has been altered.' => 'xx',
+	'Routine has been created.' => 'xx',
+	'Alter function' => 'xx',
+	'Alter procedure' => 'xx',
+	'Return type' => 'xx',
+	
+	'Events' => 'xx',
+	'Event has been dropped.' => 'xx',
+	'Event has been altered.' => 'xx',
+	'Event has been created.' => 'xx',
+	'Alter event' => 'xx',
+	'Create event' => 'xx',
+	'At given time' => 'xx',
+	'Every' => 'xx',
+	'Schedule' => 'xx',
+	'Start' => 'xx',
+	'End' => 'xx',
+	'On completion preserve' => 'xx',
+	
+	'Tables' => 'xx',
+	'Tables and views' => 'xx',
+	'Table' => 'xx',
+	'No tables.' => 'xx',
+	'Alter table' => 'xx',
+	'Create table' => 'xx',
+	'Create new table' => 'xx',
+	'Table has been dropped.' => 'xx',
+	'Tables have been dropped.' => 'xx',
+	'Tables have been optimized.' => 'xx',
+	'Table has been altered.' => 'xx',
+	'Table has been created.' => 'xx',
+	'Table name' => 'xx',
+	'Show structure' => 'xx',
+	'engine' => 'xx',
+	'collation' => 'xx',
+	'Column name' => 'xx',
+	'Type' => 'xx',
+	'Length' => 'xx',
+	'Auto Increment' => 'xx',
+	'Options' => 'xx',
+	'Comment' => 'xx',
+	'Default values' => 'xx',
+	'Drop' => 'xx',
+	'Are you sure?' => 'xx',
+	'Move up' => 'xx',
+	'Move down' => 'xx',
+	'Remove' => 'xx',
+	'Maximum number of allowed fields exceeded. Please increase %s and %s.' => 'xx',
+	
+	'Partition by' => 'xx',
+	'Partitions' => 'xx',
+	'Partition name' => 'xx',
+	'Values' => 'xx',
+	
+	'View' => 'xx',
+	'View has been dropped.' => 'xx',
+	'View has been altered.' => 'xx',
+	'View has been created.' => 'xx',
+	'Alter view' => 'xx',
+	'Create view' => 'xx',
+	
+	'Indexes' => 'xx',
+	'Indexes have been altered.' => 'xx',
+	'Alter indexes' => 'xx',
+	'Add next' => 'xx',
+	'Index Type' => 'xx',
+	'Column (length)' => 'xx',
+	
+	'Foreign keys' => 'xx',
+	'Foreign key' => 'xx',
+	'Foreign key has been dropped.' => 'xx',
+	'Foreign key has been altered.' => 'xx',
+	'Foreign key has been created.' => 'xx',
+	'Target table' => 'xx',
+	'Change' => 'xx',
+	'Source' => 'xx',
+	'Target' => 'xx',
+	'Add column' => 'xx',
+	'Alter' => 'xx',
+	'Add foreign key' => 'xx',
+	'ON DELETE' => 'xx',
+	'ON UPDATE' => 'xx',
+	'Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.' => 'xx',
+	
+	'Triggers' => 'xx',
+	'Add trigger' => 'xx',
+	'Trigger has been dropped.' => 'xx',
+	'Trigger has been altered.' => 'xx',
+	'Trigger has been created.' => 'xx',
+	'Alter trigger' => 'xx',
+	'Create trigger' => 'xx',
+	'Time' => 'xx',
+	'Event' => 'xx',
+	'Name' => 'xx',
+	
+	'select' => 'xx',
+	'Select' => 'xx',
+	'Select data' => 'xx',
+	'Functions' => 'xx',
+	'Aggregation' => 'xx',
+	'Search' => 'xx',
+	'anywhere' => 'xx',
+	'Search data in tables' => 'xx',
+	'Sort' => 'xx',
+	'descending' => 'xx',
+	'Limit' => 'xx',
+	'Text length' => 'xx',
+	'Action' => 'xx',
+	'Unable to select the table' => 'xx',
+	'No rows.' => 'xx',
+	'%d row(s)' => array('xx', 'xx'),
+	'Page' => 'xx',
+	'last' => 'xx',
+	'Last page' => 'xx',
+	'whole result' => 'xx',
+	'%d byte(s)' => array('xx', 'xx'),
+	
+	'Import' => 'xx',
+	'%d row(s) have been imported.' => array('xx', 'xx'),
+	
+	// in-place editing in select
+	'Double click on a value to modify it.' => 'xx',
+	'Use edit link to modify this value.' => 'xx',
+	
+	// %s can contain auto-increment value
+	'Item%s has been inserted.' => 'xx',
+	'Item has been deleted.' => 'xx',
+	'Item has been updated.' => 'xx',
+	'%d item(s) have been affected.' => array('xx', 'xx'),
+	'New item' => 'xx',
+	'original' => 'xx',
+	// label for value '' in enum data type
+	'empty' => 'xx',
+	'edit' => 'xx',
+	'Edit' => 'xx',
+	'Insert' => 'xx',
+	'Save' => 'xx',
+	'Save and continue edit' => 'xx',
+	'Save and insert next' => 'xx',
+	'Clone' => 'xx',
+	'Delete' => 'xx',
+	
+	'E-mail' => 'xx',
+	'From' => 'xx',
+	'Subject' => 'xx',
+	'Attachments' => 'xx',
+	'Send' => 'xx',
+	'%d e-mail(s) have been sent.' => array('xx', 'xx'),
+	
+	// data type descriptions
+	'Numbers' => 'xx',
+	'Date and time' => 'xx',
+	'Strings' => 'xx',
+	'Binary' => 'xx',
+	'Lists' => 'xx',
+	'Network' => 'xx',
+	'Geometry' => 'xx',
+	'Relations' => 'xx',
+	
+	// reload confirmation in AJAX
+	'Resend POST data?' => 'xx',
+	'No response from server.' => 'xx',
+	
+	'Editor' => 'xx',
+	// date format in Editor: $1 yyyy, $2 yy, $3 mm, $4 m, $5 dd, $6 d
+	'$1-$3-$5' => 'xx',
+	// hint for date format - use language equivalents for day, month and year shortcuts
+	'[yyyy]-mm-dd' => 'xx',
+	// hint for time format - use language equivalents for hour, minute and second shortcuts
+	'HH:MM:SS' => 'xx',
+	'now' => 'xx',
+	'yes' => 'xx',
+	'no' => 'xx',
+	
+	// general SQLite error in create, drop or rename database
+	'File exists.' => 'xx',
+	'Please use one of the extensions %s.' => 'xx',
+	
+	// PostgreSQL and MS SQL schema support
+	'Alter schema' => 'xx',
+	'Create schema' => 'xx',
+	'Schema has been dropped.' => 'xx',
+	'Schema has been created.' => 'xx',
+	'Schema has been altered.' => 'xx',
+	'schema' => 'xx',
+	'Schema' => 'xx',
+	'Invalid schema.' => 'xx',
+	
+	// PostgreSQL sequences support
+	'Sequences' => 'xx',
+	'Create sequence' => 'xx',
+	'Sequence has been dropped.' => 'xx',
+	'Sequence has been created.' => 'xx',
+	'Sequence has been altered.' => 'xx',
+	'Alter sequence' => 'xx',
+	
+	// PostgreSQL user types support
+	'User types' => 'xx',
+	'Create type' => 'xx',
+	'Type has been dropped.' => 'xx',
+	'Type has been created.' => 'xx',
+	'Alter type' => 'xx',
+);