diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..6b77575 --- /dev/null +++ b/.htaccess @@ -0,0 +1,221 @@ +# Directory Index +DirectoryIndex index.php + +# Just in case, let's disable viewing of directory indexes. +Options -Indexes +Options +FollowSymLinks + +# Just in case, let's disable register globals (only valid for php4). +# Do NOT enable this when running php5, or you may face internal server errors + +# PHP 4, Apache 1. +# +# php_value magic_quotes_gpc 0 +# php_value session.use_trans_sid 0 +# php_value register_globals 0 +# php_value session.auto_start 0 +# + +# PHP 4, Apache 2. +# +# php_value magic_quotes_gpc 0 +# php_value session.use_trans_sid 0 +# php_value register_globals 0 +# php_value session.auto_start 0 +# + +# PHP 5, Apache 1 and 2. +# +# php_value magic_quotes_gpc 0 +# php_value session.use_trans_sid 0 +# php_value register_globals 0 +# php_value session.auto_start 0 +# + +# Just in case, let's disable register_globals (only valid for PHP4). +# Do NOT enable this when running PHP5, or you may face internal server errors +# To disable, remove the prepended # on the next line. +# php_flag register_globals 0 + +# Disable EAccelerator +# Do this if for some reason or another you have cache problems. +# php_flag eaccelerator.enable 0 + +# allow most common + + Order allow,deny + allow from all + Satisfy All + + +# deny most common except .php + + Order deny,allow + deny from all + Satisfy All + + +# Disable .htaccess viewing from browser + + Order allow,deny + Deny from all + Satisfy All + + + +deny from all + + + + + RewriteEngine on + + # + # Mod_rewrite rules require mod_rewrite is enabled for MX-Publisher (config setting) + # Uncomment below, and consult the MX-Publisher mod_rewrite module documentation + # + + # + # Site Specific + # + + #RewriteRule ^support/catlink([0-9]*)(.*)$ index.php?page=53&cat_link=$1 [L] + #RewriteRule ^support(.*)$ index.php?page=53 [L] + #RewriteRule ^index.php$ index.php [L,NE] + + # + # General + # + RewriteCond %{REQUEST_URI} ^(.*)/catlink([0-9]*)(.*)$ + RewriteRule ^page([0-9]*)/catlink([0-9]*)(.*)$ index.php?page=$1&cat_link=$2 [L] + + RewriteCond %{REQUEST_URI} ^(.*)/sub([0-9]*)(.*)$ + RewriteRule ^page([0-9]*)/sub([0-9]*)(.*)$ index.php?page=$1&dynamic_block=$2 [L] + + RewriteCond %{REQUEST_URI} ^/page([0-9]*)(.*)$ + RewriteRule ^page([0-9]*)(.*)$ index.php?page=$1$2 [L] + + RewriteCond %{REQUEST_URI} ^/block([0-9]*)(.*)$ + RewriteRule ^block([0-9]*)(.*)$ index.php?block=$1$2 [L] + +# +# Uncomment the statement below if URL rewriting doesn't +# work properly. If you installed phpBB in a subdirectory +# of your site, properly set the argument for the statement. +# e.g.: if your domain is test.com and you installed phpBB +# in http://www.test.com/phpBB/index.php you have to set +# the statement RewriteBase /phpBB/ +# + # REWRITE BASE + # RewriteBase / + + # HERE IS A GOOD PLACE TO FORCE CANONICAL DOMAIN + # Define fully qualified ssl aware protocol + # RewriteCond %{SERVER_PORT}s ^(443(s)|[0-9]+s)$ + # RewriteRule ^.*$ - [env=HttpFullProto:http%2://] + # RewriteCond %{HTTP_HOST} !^www\.beitdina\.net$ [NC] + # RewriteRule ^(.*)$ %{ENV:HttpFullProto}www.beitdina.net/$1 [QSA,L,R=301] + + +# +# Uncomment the statement below if you want to make use of +# HTTP authentication and it does not already work. +# This could be required if you are for example using PHP via Apache CGI. +# +#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] + +# +# The following 3 lines will rewrite URLs passed through the front controller +# to not require app.php in the actual URL. In other words, a controller is +# by default accessed at /app.php/my/controller, but can also be accessed at +# /my/controller +# + +# FORUM INDEX REWRITERULE WOULD STAND HERE IF USED. "forum" REQUIRES TO BE SET AS FORUM INDEX +RewriteRule forum.html /forum/index.php +RewriteRule ucp.php /forum/ucp.php +RewriteRule memberlist.php /forum/memberlist.php + +RewriteRule ^/ext/$1 /forum/ext/$1 [L] +RewriteRule ^/styles/$1 /forum/styles/$1 [L] + +# RewriteRule forum1.html /viewforum.php?f=1 + +# RewriteRule ^/forum\.html$ index.php [QSA,L,NC] +# RewriteRule ^/forum(\d+).html$ $1.php?f=$2 [L] + +# RewriteRule forum2.html viewforum.php?f=2 + +RewriteRule forum([^/d]+).html?$ viewforum.php?f=$1 [QSA] + +# FORUM ALL MODES +RewriteRule ^/(forum|[a-z0-9_-]*-f)([0-9]+)(-([0-9]+))?\.html$ viewforum.php?f=$2&start=$4 [QSA,L,NC] + + # TOPIC WITH VIRTUAL FOLDER ALL MODES + # RewriteRule ^/(forum|[a-z0-9_-]*-f)([0-9]+)/(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /viewtopic.php?f=$2&t=$4&start=$6 [QSA,L,NC] + # TOPIC WITHOUT FORUM ID & DELIM ALL MODES + # RewriteRule ^/([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /viewtopic.php?forum_uri=$1&t=$3&start=$5 [QSA,L,NC] + RewriteRule topic([^/d]+).html?$ viewtopic.php?t=$1 [QSA] + # PROFILES ALL MODES WITH ID + RewriteRule ^/(member|[a-z0-9_-]*-u)([0-9]+)\.html$ /memberlist.php?mode=viewprofile&u=$2 [QSA,L,NC] + # USER MESSAGES ALL MODES WITH ID + RewriteRule member([^/d]+).html?$ memberlist.php?u=$1 [QSA] + # RewriteRule ^/(member|[a-z0-9_-]*-u)([0-9]+)-(topics|posts)(-([0-9]+))?\.html$ /search.php?author_id=$2&sr=$3&start=$5 [QSA,L,NC] + # GROUPS ALL MODES + # RewriteRule ^/(group|[a-z0-9_-]*-g)([0-9]+)(-([0-9]+))?\.html$ /memberlist.php?mode=group&g=$2&start=$4 [QSA,L,NC] + # POSTS + # RewriteRule ^/post([0-9]+)\.html$ /viewtopic.php?p=$1 [QSA,L,NC] + RewriteRule post([^/d]+).html?$ viewtopic.php?p=$1#$1 [QSA] + # ACTIVE TOPICS + # RewriteRule ^/active-topics(-([0-9]+))?\.html$ /search.php?search_id=active_topics&start=$2&sr=topics [QSA,L,NC] + # UNANSWERED TOPICS + # RewriteRule ^/unanswered(-([0-9]+))?\.html$ /search.php?search_id=unanswered&start=$2&sr=topics [QSA,L,NC] + # NEW POSTS + # RewriteRule ^/newposts(-([0-9]+))?\.html$ /search.php?search_id=newposts&start=$2&sr=topics [QSA,L,NC] + # UNREAD POSTS + # RewriteRule ^/unreadposts(-([0-9]+))?\.html$ /search.php?search_id=unreadposts&start=$2 [QSA,L,NC] + # THE TEAM + # RewriteRule ^/the-team\.html$ /memberlist.php?mode=team [QSA,L,NC] + # HERE IS A GOOD PLACE TO ADD OTHER PHPBB RELATED REWRITERULES + +# RewriteCond %{REQUEST_FILENAME} !-f +# RewriteCond %{REQUEST_FILENAME} !-d +# RewriteRule ^(.*)$ app.php [QSA,L] + +# +# If symbolic links are not already being followed, +# uncomment the line below. +# http://anothersysadmin.wordpress.com/2008/06/10/mod_rewrite-forbidden-403-with-apache-228/ +# +#Options +FollowSymLinks + + + +#AddHandler x-httpd-5-3-php5 .php +#AddHandler x-httpd-5-4-php5 .php +#AddHandler x-httpd-5-5-php5 .php +AddHandler x-httpd-5-6-php5 .php + +# +# Error redirects - require the MX-Publisher ErrorDocs module to be installed +# Uncomment below, and consult the MX-Publisher ErrorDocs module documentation +# ErrorDocument errno /index.php?page=N&errno=errno&errlog=yes +# +ErrorDocument 400 /index.php?page=x&errno=400&errlog=yes +ErrorDocument 401 /index.php?page=x&errno=401&errlog=yes +ErrorDocument 402 /index.php?page=x&errno=402&errlog=yes +ErrorDocument 403 /index.php?page=x&errno=403&errlog=yes +ErrorDocument 404 /index.php?page=x&errno=404&errlog=yes +ErrorDocument 405 /index.php?page=x&errno=405&errlog=yes +ErrorDocument 408 /index.php?page=x&errno=408&errlog=yes +ErrorDocument 410 /index.php?page=x&errno=410&errlog=yes +ErrorDocument 411 /index.php?page=x&errno=411&errlog=yes +ErrorDocument 412 /index.php?page=x&errno=412&errlog=yes +ErrorDocument 413 /index.php?page=x&errno=413&errlog=yes +ErrorDocument 414 /index.php?page=x&errno=414&errlog=yes +ErrorDocument 415 /index.php?page=x&errno=415&errlog=yes +ErrorDocument 500 /index.php?page=x&errno=500&errlog=yes +ErrorDocument 501 /index.php?page=x&errno=501&errlog=yes +ErrorDocument 502 /index.php?page=x&errno=502&errlog=yes +ErrorDocument 503 /index.php?page=x&errno=503&errlog=yes +ErrorDocument 506 /index.php?page=x&errno=506&errlog=yes \ No newline at end of file diff --git a/.htpasswd.autoindex b/.htpasswd.autoindex new file mode 100644 index 0000000..1c6e293 --- /dev/null +++ b/.htpasswd.autoindex @@ -0,0 +1,2 @@ +admin d033e22ae348aeb5660fc2140aec35850c4da997 3 +user 12dea96fec20593566ab75692c9949596833adc9 1 diff --git a/AutoIndex.conf.php b/AutoIndex.conf.php index 40b4003..a8d0352 100644 --- a/AutoIndex.conf.php +++ b/AutoIndex.conf.php @@ -6,7 +6,7 @@ base_dir ./ icon_path index_icons/winvista/ flag_path flags/language/ language en -template ./templates/default/ +template ./templates/SwiftBlue/ log_file access.log description_file description_file user_list .htpasswd.autoindex @@ -14,7 +14,7 @@ download_count false hidden_files hidden_files banned_list false show_dir_size true -use_login_system false +use_login_system true force_download false search_enabled true anti_leech true @@ -25,7 +25,7 @@ days_new 30 thumbnail_height 150 bandwidth_limit 0 md5_show 10 -entries_per_page 21 +entries_per_page 200 */ diff --git a/README.md b/README.md index 3b0d361..d993d52 100644 --- a/README.md +++ b/README.md @@ -1,761 +1,23 @@ - - - - -
+# SwiftBlue +Style Name: SwiftBlue +Author: OryNider + +Style Description: A purple-blue colors responsive design style for phpBB. + +This style is a conversion of SwiftBlue for phpBB 2.0.x. + +phpBB Version: 3.2.2 +Style Version: 3.2.4-RC + +Screenshots: +Image + +Style Download: https://github.com/orynider/SwiftBlue/releases + +License: +[GNU General Public License v2](http://opensource.org/licenses/GPL-2.0) + +The phpBB Romanian Online Comunity + +The Mx-Publisher CMS Project -

- AutoIndex PHP Script (version 2.4.6) - Help File -
by Justin Hagstrom
-
AutoIndex is provided under the terms of - the GNU General Public License (GPL). -

-

- https://github.com/BeitDina/AutoIndex -
Please post any questions or comments and pull request - here. -Please write any questions or comments at -orynider@users.sourceforge.net . -

-

To install and run the script, simply upload the -contents of this directory to a server with PHP support (Works with all -versions of PHP5 and PHP7.1).
-Then, point your browser to the index.php file in that folder. The -first time you do this, it will take you to a configuration page.
-To use all the default values, just click the button at the bottom, or -customize it however you want.
-Information about the use of each variable is in this file. -

-

  -

-
-

  -

-

base_dir is the folder -that will be the root of the directory listing.
-This will be the starting point for the script. Nothing above this -directory can be viewed, but its subfolders can.
-Make sure to use forward slashes, rather than backslashes. Also, try to -use a relative path if possible.
-Examples: -

- - - - - - - - - - - - - - - -
./(the folder index.php is in)
./share -folder/(path relative to the php file)
/home/user/public_html/share_folder/(absolute path)
-

If you're using an absolute path, you'll need to set -force_download to TRUE (this is not recommended, though. It is better -to use a path relative to the php script). -

-

  -

-

icon_path is the path to -the icons. Don't put a slash at the end.
-Leave this blank to not show icons to the left of files and folders.
-Examples: -

- - - - - - - - - - - -
index_icons/winxp(relative to the php file)
/index_icons/kde(absolute path, relative to the server root)
-

  -

-

stylesheet is the path -and filename of your css stylesheet.
-Just modify the one that came with this, so it will match the rest of -your site.
-Examples: -

- - - - - - - - - - - -
stylesheet.css(stylesheet.css is in the same folder as the php -file)
/some_folder/some_stylesheet.css(absolute path to the stylesheet)
-

  -

-
-

Optional Variables : -

-

  -

-

If allow_uploads is set -to TRUE, people will be able to upload files to your website. (Default: -FALSE)
-But if use_login_system is also set to -TRUE, you must create an account for them before they can upload.
-The preset users are:

-

username: admin
-password: admin

-username: test or user
-password: test or testtest

-


-If you plan to use the login system, change the passwords or create -different accounts and delete these!
-All registered users will be able to upload, but only admins can -create/delete accounts.
-Also, if you want to allow uploads, make sure the folders you want to -upload to are chmod'ed to allow PHP to write there. -

-

  -

-

user_list contains the -path to the text file where the usernames and encrypted passwords are -stored.
-Make sure the file is chmod'ed so PHP can read and write to it.
-(This is only needed if use_login_system is set to TRUE.) -

-

  -

-

If allow_file_overwrites -is set to TRUE, when uploading a file that already exists, the file -will be replaced. (Default: FALSE)
-In other words, this will allow people to overwrite existing files by -uploading new ones.
-This variable only matters when allow_uploads is set to TRUE. -

-

  -

-

If must_login_to_download -is set to TRUE, users must login before they will see the list of -files. (Default: FALSE)
-(They will not be able to download or browse through files without -logging in first.)
-This variable only matters when use_login_system is set to TRUE. -

-

  -

-

banned_list contains the -path to the text file where blocked IP addresses and/or hostnames are -stored.
-This list can be edited by logging in as an administrator, or you can -directly edit the text file and add IP addresses and/or hostnames, each -on a new line.
-You can use wildcards in the entries (*, ?, +). -

-

  -

-

If sub_folder_access is -set to FALSE, folders will not be shown. (Default: TRUE) -

-

  -

-

index: Leave this blank unless you use -php includes on your webpage.
-Make sure to put "ob_start();" and "session_start();" at the top of -your index file. This will make sure headers are sent correctly.
-Examples: -

- - - - - - - - - -
?id=AutoIndex
/file.php?id=thisFile
-

The include in your index file should look something -like this: -

-
$valid = array('home', 'page1', 'page2');
if (isset($_REQUEST['id']) && in_array($_REQUEST['id'], $valid))
//if the id parameter in the URL is set, and it is in the 'valid' list
{
include($_REQUEST['id']); //include the file
}
-

  -

-

hidden_files contains an -array of strings.
-If a file or folder matches any of them, it will not be displayed.
-They may contain wildcards (*, +, ?). For example, to hide all php -files, add '*.php' to the list, or if you want to hide all files that -begin with a period, add '.*' -

-

  -

-

show_only_these_files -contains an array of strings.
-If there are any items in the array, the hidden_files variable will be -disabled, and only files that are listed here will be shown.
-They may contain wildcards (*, +, ?). For example, to show only .txt -files, add '*.txt' to the list. -

-

  -

-

force_download should be -set to TRUE or FALSE. (Default: FALSE)
-If it is set to TRUE, the file will be automatically downloaded, -instead of letting the person's browser decide. -

-

  -

-

bandwidth_limit is set to -the max download speed (per client) in KB/s. 0 will turn it off.
-The number can contain a decimal if you want.
-NOTE: To use this feature, -force_download must be set to TRUE. -

-

  -

-

anti_leech should be set -to TRUE or FALSE. (Default: FALSE)
-This will compare the referrer and the name of your site to make sure -they clicked on a link to download a file.
-Setting this equal to TRUE will prevent "leeching" by making sure they -download files directly from a link on your site.
-Since some people turn off referrer sending in their browser, this -option is not recommended. -

-

  -

-

enable_searching should -be set to TRUE or FALSE. (Default: TRUE)
-If it is TRUE, people will be able to search for a file or folder -containing a string.
-It will search the folder you are currently in, and all subfolders.
-Searching is not case sensitive. -

-

  -

-

The log_file contains the -full path to the file to write the access log.
-Leave it blank to turn off logging.
-The log file can be a local file, or on an FTP server.
-If it's a local file on non-windows systems, make sure the log file is -chmod'ed to allow PHP to write to the file.
-Example: -

- - - - - - - - - - - - - - - -
./log.txt(the folder the php file is in)
/home/user/public_html/share_folder/sharefile.log(absolute path)
ftp://user:password@example.com/sharefile.txt(stored on ftp server)
-

dont_log_these_ips -contains an array of strings (which are IP addresses).
-Any access from an IP on this list will not be written to the log file. -
-You can also add hostnames to the list, and use wildcards (*, +, ?).
-(i.e. put your own IP in here so you don't fill up the log file when -you access your site) -

-

  -

-

download_count contains a -string which is the filename of the file to keep track of how many -times files have been downloaded.
-The file must be chmod'ed to allow PHP to read AND write to the file.
-Leave blank to disable this feature.
-NOTE: When downloading a file from -an IP addresses in the dont_log_these_ips array, the count will NOT -increase. -

-

  -

-

links_file contains the -path to a text file with the URL of files that you want to be listed as -links.
-Separate each entry with a new line.
-If you want, you can change how the links is displayed, by putting some -text after a pipe ('|')

-

-http://autoindex.sourceforge.net|Main Site
-http://autoindex.sourceforge.net/forum/|Forum

-

If no link description is present, the link itself will -be displayed.
-NOTE: This isn't really meant to be -done by hand - you can use the built-in editor when you log in as an -admin. -

-

  -

-

description_file contains -the path to a text file with descriptions for files.
-The format is: [base_dir][full filename and path][a pipe, -'|'][description for file]
-Here's an example: ./sharefile.txt|This is a text file.
-Separate each entry with a new line.
-NOTE: This isn't really meant to be -done by hand: you can login as an admin and click "edit description" -next to any file. -

-

  -

-

show_dir_size should be -set to TRUE or FALSE. (Default: TRUE)
-If it is set to TRUE, the total size of the folder will be shown under -size.
-If it is FALSE, it will display "[dir]" under size.
-NOTE: If you are trying to index -many files (meaning a few thousand), you will notice a speed -improvement with this turned off. -

-

  -

-

folder_expansion should -be set to TRUE or FALSE. (Default: FALSE)
-If it is set to TRUE, when you click on the folder icon, it will expand -the folder and list its contents.
-Clicking on the folder name will take you into that folder.
-If it is set to FALSE, both clicking on the icon and name will take you -into the folder. -

-

  -

-

show_folder_count should -be set to TRUE or FALSE. (Default: FALSE)
-If it is TRUE, the total number of files in a folder will be shown next -to that folder.
-Files are counted recursively (files in subfolders are counted). -

-

  -

-

header and footer -are the paths to 2 files.
-The files must be text files (.html .txt .php , etc...)
-Header will be displayed at the top, and footer will be displayed at -the bottom.
-Leave blank to not include a file. -

-

  -

-

header_per_folder and footer_per_folder -should be set to TRUE or FALSE. (Default: FALSE)
-If they are FALSE, the header/footer will be taken from the absolute or -relative path in the header/footer variable.
-If they are TRUE, the current directory will be added to the beginning -of the file to be included. (don't add a path to the header/footer -variables - just the filename) -

-

  -

-

days_new contains the -number of days old a file can be and still have [New] written next to -it. (Default: 0)
-If it is set to 0, this feature will be disabled.
-NOTE: this can contain any number, -not just a 1 or 0 value, and it can contain a decimal if you want. -

-

  -

-

md5_show is a feature -that will let users get the md5sum of a specific file. (Default: -0)
-If set to 0 it will be disabled.
-Otherwise, the number will represent the maximum file size (in -megabytes) to allow the md5sum to be calculated (I'd recommend -something close to 10).
-The number can contain a decimal if you want.
-NOTE: PHP version 4.2.0 or higher is -required for this feature to work. -

-

  -

-

thumbnail_height is a -feature that will show thumbnails next to images. (NOTE: GDlib 2.0.1 or -higher is required)
-Setting it to 0 will disable this feature, and setting it to any other -number will set the size of the thumbnail.
-(100 is a good setting to start with.) -

-

  -

-

show_type_column, show_size_column, -and show_date_column are set to TRUE or -FALSE.
-Setting them to TRUE will show the column, and setting it to FALSE will -not display the column. -

-
-

Language Settings:
-
-lang is the default language to -display the script in.
-The choices for language file names are listed below...
-(Default: 'en') -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
lang settingLanguage
alAlbanian
bgBulgarian
caCatalan
czCzech
daDanish
deGerman
eeEstonian
enEnglish
eoEsperanto
esSpanish
fiFinnish
frFrench
grGreek
heHebrew
huHungarian
isIcelandic
itItalian
jpJapanese
koKorean
ltLithuanian
lvLatvian
msMalay
nlDutch
noNorwegian
plPolish
pt_BRBrazilian Portuguese
ro_RORomanian
ruRussian
skSlovak
sr_LASerbian (Latin)
sr_CYSerbian (Cyrillic)
svSwedish
thThai
trTurkish
viVietnamese
zh_CNChinese
zh_TWChinese Traditional
-

  -

-

path_to_language_files is -the path where the *.php language files are located.
-Default: ./languages/ -

-

  -

-

If select_language is set -to TRUE, there will be an option at the bottom of the script for
-the user to choose which language the script is displayed in. (Default: -FALSE) -

-
-

Folder Flag Settings:
-
-flag is the default language flag to -display the short iso code folder.
-Some choices for iso folder are listed below...
-(Default: 'en_us') -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
lang settingLanguage
alAlbanian
bgBulgarian
caCatalan
czCzech
daDanish
de_DEGerman Germany
eeEstonian
en_UKEnglish UK
eoEsperanto
es_ESSpanish SPAIN
fiFinnish
frFrench
elGreek
heHebrew
huHungarian
isIcelandic
itItalian
jpJapanese
koKorean
ltLithuanian
lvLatvian
msMalay
nlDutch
noNorwegian
plPolish
pt_BRBrazilian Portuguese
ro_RORomanian
ruRussian
skSlovak
sr_LASerbian (Latin)
sr_CYSerbian (Cyrillic)
svSwedish
thThai
trTurkish
viVietnamese
zh_CNChinese
lzh or zh_TWChinese Traditional
-

  -

-

path_to_flag_files is -the path where the *.png language flag images are located.
-Default: ./flags/language/ -

-

  -

-

If select_language is set -to TRUE, there will be an option at the bottom of the script for
-the user to choose which language the script is displayed in. (Default: -FALSE) -

-
-
diff --git a/Readme.htm b/Readme.htm index a0d48ba..df180d8 100644 --- a/Readme.htm +++ b/Readme.htm @@ -20,7 +20,7 @@ border: 1px solid; -

AutoIndex PHP Script (version 2.4.6) - +

AutoIndex PHP Script (version 2.2.5) - Help File
original by Justin Hagstrom, by Florin Ciprian Bodin

AutoIndex is provided under the @@ -777,4 +777,4 @@ FALSE) - + \ No newline at end of file diff --git a/access.log b/access.log index 35d1505..e69de29 100644 --- a/access.log +++ b/access.log @@ -1 +0,0 @@ -https://github.com/BeitDina/AutoIndex/invitations \ No newline at end of file diff --git a/change_log.html b/change_log.html index 95f6c52..ed55b5f 100644 --- a/change_log.html +++ b/change_log.html @@ -52,29 +52,26 @@ Change Log 

-

Legend:
(+) Added feature
(!) Security bug fixed
(-) Bug fixed
(*) Improved/changed feature -
( ) Non-code change
+
( ) Non-code change

-

- Version 2.2.5 by FlorinCB aka orynider (2019-Sept-17) + Version 2.2.5 (2019-Sept-17)
(*) Added language flags feature
( ) Added language flags to flag/language/ folder.
(*) Added SwiftBlue template for smartphones.

-

+ Version 2.2.4 (2007-Nov-09)
(!) Fixed DOS bug -
( ) Added Vista icon set
+
( ) Added Vista icon set

-

Version 2.2.3 (2007-Nov-05)
(!) Fixed XSS bug diff --git a/classes/Admin.php b/classes/Admin.php index 3098577..53218fd 100644 --- a/classes/Admin.php +++ b/classes/Admin.php @@ -108,18 +108,17 @@ class Admin } global $dir; $local_file = $dir . Item::get_basename($url); - if (@file_exists($local_file)) + if (file_exists($local_file)) { throw new ExceptionDisplay('The file already exists in this directory.'); } $remote = $protocol . $url; - $r = @fopen($remote, 'rb'); + $r = fopen($remote, 'rb'); if ($r === false) { - throw new ExceptionDisplay('Cannot open remote file for reading: ' - . Url::html_output($remote) . ''); + throw new ExceptionDisplay('Cannot open remote file for reading: ' . Url::html_output($remote) . ''); } - $l = @fopen($local_file, 'wb'); + $l = fopen($local_file, 'wb'); if ($l === false) { throw new ExceptionDisplay('Cannot open local file for writing.'); @@ -144,25 +143,21 @@ class Admin */ private static function update_file_info($filename, $old_name, $new_name) { - if (!@is_file($filename)) + if (!is_file($filename)) { - throw new ExceptionDisplay('The file ' - . Url::html_output($filename) . ' does not exist.'); + throw new ExceptionDisplay('The file ' . Url::html_output($filename) . ' does not exist.'); } - $text = @file_get_contents($filename); + $text = file_get_contents($filename); if ($text === false) { - throw new ExceptionDisplay('Cannot open file ' - . Url::html_output($filename) . ' for reading.'); + throw new ExceptionDisplay('Cannot open file ' . Url::html_output($filename) . ' for reading.'); } - $h = @fopen($filename, 'wb'); + $h = fopen($filename, 'wb'); if ($h === false) { - throw new ExceptionDisplay('Cannot open file ' - . Url::html_output($filename) . ' for writing.'); + throw new ExceptionDisplay('Cannot open file ' . Url::html_output($filename) . ' for writing.'); } - fwrite($h, preg_replace('/^' . preg_quote($old_name, '/') - . '/m', $new_name, $text)); + fwrite($h, preg_replace('/^' . preg_quote($old_name, '/') . '/m', $new_name, $text)); fclose($h); } @@ -369,8 +364,7 @@ class Admin /** Include the config generator file. */ if (!@include_once(CONFIG_GENERATOR)) { - throw new ExceptionDisplay('Error including file ' - . CONFIG_GENERATOR . ''); + throw new ExceptionDisplay('Error including file ' . CONFIG_GENERATOR . ''); } die(); } @@ -382,7 +376,7 @@ class Admin } global $dir; $old = $dir . Url::clean_input($_GET['filename']); - if (!@file_exists($old)) + if (!file_exists($old)) { header('HTTP/1.0 404 Not Found'); throw new ExceptionDisplay('Specified file could not be found.'); @@ -394,11 +388,11 @@ class Admin { throw new ExceptionDisplay('Filename unchanged.'); } - if (@file_exists($new)) + if (file_exists($new)) { throw new ExceptionDisplay('Cannot overwrite existing file.'); } - if (@rename($old, $new)) + if (rename($old, $new)) { global $config; if (DOWNLOAD_COUNT) @@ -439,12 +433,12 @@ class Admin { global $dir; $to_delete = $dir . Url::clean_input($_GET['filename']); - if (!@file_exists($to_delete)) + if (!file_exists($to_delete)) { header('HTTP/1.0 404 Not Found'); throw new ExceptionDisplay('Specified file could not be found.'); } - if (@is_dir($to_delete)) + if (is_dir($to_delete)) { if (self::rmdir_recursive($to_delete)) { @@ -452,7 +446,7 @@ class Admin } throw new ExceptionDisplay('Error deleting folder.'); } - if (@unlink($to_delete)) + if (unlink($to_delete)) { throw new ExceptionDisplay('File successfully deleted.'); } @@ -521,14 +515,11 @@ class Admin $out .= ''; } global $words; - throw new ExceptionDisplay($out - . '

Select new level:

Select new level:

-

'); + . $words -> __get('admin') . '

'); } case 'del_user': { @@ -556,9 +547,7 @@ class Admin { $out .= ''; } - throw new ExceptionDisplay($out - . '

'); + throw new ExceptionDisplay($out . '

'); } case 'edit_description': { @@ -576,8 +565,7 @@ class Admin $h = @fopen($config -> __get('description_file'), 'wb'); if ($h === false) { - throw new ExceptionDisplay('Could not open description file for writing.' - . ' Make sure PHP has write permission to this file.'); + throw new ExceptionDisplay('Could not open description file for writing.' . ' Make sure PHP has write permission to this file.'); } foreach ($descriptions as $file => $info) { @@ -594,8 +582,7 @@ class Admin $h = @fopen($config -> __get('description_file'), 'ab'); if ($h === false) { - throw new ExceptionDisplay('Could not open description file for writing.' - . ' Make sure PHP has write permission to this file.'); + throw new ExceptionDisplay('Could not open description file for writing.' . ' Make sure PHP has write permission to this file.'); } fwrite($h, "$filename\t" . $_GET['description'] . "\n"); fclose($h); diff --git a/classes/ConfigData.php b/classes/ConfigData.php index 9cbd50b..fadc9f2 100644 --- a/classes/ConfigData.php +++ b/classes/ConfigData.php @@ -125,11 +125,10 @@ class ConfigData implements Iterator } $this -> valid = true; $this -> filename = $file; - $contents = @file($file); + $contents = file($file); if ($contents === false) { - throw new ExceptionFatal('Error reading file ' - . Url::html_output($file) . ''); + throw new ExceptionFatal('Error reading file ' . Url::html_output($file) . ''); } foreach ($contents as $i => $line) { @@ -141,16 +140,11 @@ class ConfigData implements Iterator $parts = explode("\t", $line, 2); if (count($parts) !== 2 || $parts[0] == '' || $parts[1] == '') { - throw new ExceptionFatal('Incorrect format for file ' - . Url::html_output($file) . ' on line ' . ($i + 1) - . '.
Format is "variable name[tab]value"'); + throw new ExceptionFatal('Incorrect format for file ' . Url::html_output($file) . ' on line ' . ($i + 1) . '.
Format is "variable name[tab]value"'); } if (isset($this -> config[$parts[0]])) { - throw new ExceptionFatal('Error in ' - . Url::html_output($file) . ' on line ' . ($i + 1) - . '.
' . Url::html_output($parts[0]) - . ' is already defined.'); + throw new ExceptionFatal('Error in ' . Url::html_output($file) . ' on line ' . ($i + 1) . '.
' . Url::html_output($parts[0]) . ' is already defined.'); } $this -> config[$parts[0]] = $parts[1]; } @@ -177,28 +171,22 @@ class ConfigData implements Iterator { if ($this -> is_set($item)) { - $h = @fopen($this -> filename, 'wb'); + $h = fopen($this -> filename, 'wb'); if ($h === false) { - throw new ExceptionFatal('Could not open file ' - . Url::html_output($this -> filename) - . ' for writing. Make sure PHP has write permission to this file.'); + throw new ExceptionFatal('Could not open file ' . Url::html_output($this -> filename) . ' for writing. Make sure PHP has write permission to this file.'); } foreach ($this as $current_item => $count) { - fwrite($h, "$current_item\t" - . (($current_item == $item) ? ((int)$count + 1) : $count) - . "\n"); + fwrite($h, "$current_item\t" . (($current_item == $item) ? ((int)$count + 1) : $count) . "\n"); } } else { - $h = @fopen($this -> filename, 'ab'); + $h = fopen($this -> filename, 'ab'); if ($h === false) { - throw new ExceptionFatal('Could not open file ' - . $this -> filename . ' for writing.' - . ' Make sure PHP has write permission to this file.'); + throw new ExceptionFatal('Could not open file ' . $this -> filename . ' for writing.' . ' Make sure PHP has write permission to this file.'); } fwrite($h, "$item\t1\n"); } @@ -224,9 +212,7 @@ class ConfigData implements Iterator { return $this -> config[$name]; } - throw new ExceptionFatal('Setting ' . Url::html_output($name) - . ' is missing in file ' - . Url::html_output($this -> filename) . '.'); + throw new ExceptionFatal('Setting ' . Url::html_output($name) . ' is missing in file ' . Url::html_output($this -> filename) . '.'); } } diff --git a/classes/Deactivated_Super_Globals.php b/classes/Deactivated_Super_Globals.php new file mode 100644 index 0000000..29c24a6 --- /dev/null +++ b/classes/Deactivated_Super_Globals.php @@ -0,0 +1,138 @@ +request = $request; + $this->name = $name; + $this->super_global = $super_global; + } + + /** + * Calls trigger_error with the file and line number the super global was used in. + */ + private function error() + { + $file = ''; + $line = 0; + + $message = 'Illegal use of $' . $this->name . '. You must use the request class to access input data. Found in %s on line %d. This error message was generated by deactivated_super_global.'; + + $backtrace = debug_backtrace(); + if (isset($backtrace[1])) + { + $file = $backtrace[1]['file']; + $line = $backtrace[1]['line']; + } + trigger_error(sprintf($message, $file, $line), E_USER_ERROR); + } + + /** + * Redirects isset to the correct request class call. + * + * @param string $offset The key of the super global being accessed. + * + * @return bool Whether the key on the super global exists. + */ + public function offsetExists($offset) + { + return $this->request->is_set($offset, $this->super_global); + } + + /**#@+ + * Part of the \ArrayAccess implementation, will always result in a FATAL error. + */ + public function offsetGet($offset) + { + $this->error(); + } + + public function offsetSet($offset, $value) + { + $this->error(); + } + + public function offsetUnset($offset) + { + $this->error(); + } + /**#@-*/ + + /** + * Part of the \Countable implementation, will always result in a FATAL error + */ + public function count() + { + $this->error(); + } + + /** + * Part of the Traversable/IteratorAggregate implementation, will always result in a FATAL error + */ + public function getIterator() + { + $this->error(); + } +} // class deactivated_super_global + +?> \ No newline at end of file diff --git a/classes/DirItem.php b/classes/DirItem.php index 0c70fec..d18718d 100644 --- a/classes/DirItem.php +++ b/classes/DirItem.php @@ -140,11 +140,17 @@ class DirItem extends Item //regular folder $file = $this -> parent_dir . $filename; - if (!@is_dir($file)) + if (!is_dir($file)) { throw new ExceptionDisplay('Directory ' . Url::html_output($this -> parent_dir . $filename) . ' does not exist.'); } - + if (!function_exists('mb_strlen')) + { + function mb_strlen($text) + { + strlen($text); + } + } $this -> filename = $filename = substr($filename, 0, -1); $mb_strlen = mb_strlen($filename); $this -> icon = $config -> __get('icon_path') . 'dir.png'; @@ -2781,8 +2787,7 @@ class DirItem extends Item $this -> size = new Size(SHOW_DIR_SIZE ? $this -> dir_size() : false); return $this -> size; } - throw new ExceptionDisplay('Variable ' . Url::html_output($var) - . ' not set in DirItem class.'); + throw new ExceptionDisplay('Variable ' . Url::html_output($var) . ' not set in DirItem class.'); } } diff --git a/classes/ExceptionDisplay.php b/classes/ExceptionDisplay.php index 34c87e1..36a998e 100644 --- a/classes/ExceptionDisplay.php +++ b/classes/ExceptionDisplay.php @@ -46,11 +46,9 @@ class ExceptionDisplay extends ExceptionFatal */ public function __toString() { - global $words; - $str = ' + + + + + + + {if:download_count} + + {end if:download_count} + + + + + + {if:description_file} + + {end if:description_file} + + + \ No newline at end of file diff --git a/templates/SwiftBlueBeitDina/editor.js b/templates/SwiftBlueBeitDina/editor.js new file mode 100644 index 0000000..5631ab6 --- /dev/null +++ b/templates/SwiftBlueBeitDina/editor.js @@ -0,0 +1,403 @@ +/** +* bbCode control by subBlue design [ www.subBlue.com ] +* Includes unixsafe colour palette selector by SHS` +*/ + +// Startup variables +var imageTag = false; +var theSelection = false; + +// Check for Browser & Platform for PC & IE specific bits +// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html +var clientPC = navigator.userAgent.toLowerCase(); // Get client info +var clientVer = parseInt(navigator.appVersion); // Get browser version + +var is_ie = ((clientPC.indexOf('msie') != -1) && (clientPC.indexOf('opera') == -1)); +var is_win = ((clientPC.indexOf('win') != -1) || (clientPC.indexOf('16bit') != -1)); + +var baseHeight; +onload_functions.push('initInsertions()'); + +/** +* Shows the help messages in the helpline window +*/ +function helpline(help) +{ + document.forms[form_name].helpbox.value = help_line[help]; +} + +/** +* Fix a bug involving the TextRange object. From +* http://www.frostjedi.com/terra/scripts/demo/caretBug.html +*/ +function initInsertions() +{ + var doc; + + if (document.forms[form_name]) + { + doc = document; + } + else + { + doc = opener.document; + } + + var textarea = doc.forms[form_name].elements[text_name]; + + if (is_ie && typeof(baseHeight) != 'number') + { + textarea.focus(); + baseHeight = doc.selection.createRange().duplicate().boundingHeight; + + if (!document.forms[form_name]) + { + document.body.focus(); + } + } +} + +/** +* bbstyle +*/ +function bbstyle(bbnumber) +{ + if (bbnumber != -1) + { + bbfontstyle(bbtags[bbnumber], bbtags[bbnumber+1]); + } + else + { + insert_text('[*]'); + document.forms[form_name].elements[text_name].focus(); + } +} + +/** +* Apply bbcodes +*/ +function bbfontstyle(bbopen, bbclose) +{ + theSelection = false; + + var textarea = document.forms[form_name].elements[text_name]; + + textarea.focus(); + + if ((clientVer >= 4) && is_ie && is_win) + { + // Get text selection + theSelection = document.selection.createRange().text; + + if (theSelection) + { + // Add tags around selection + document.selection.createRange().text = bbopen + theSelection + bbclose; + document.forms[form_name].elements[text_name].focus(); + theSelection = ''; + return; + } + } + else if (document.forms[form_name].elements[text_name].selectionEnd && (document.forms[form_name].elements[text_name].selectionEnd - document.forms[form_name].elements[text_name].selectionStart > 0)) + { + mozWrap(document.forms[form_name].elements[text_name], bbopen, bbclose); + document.forms[form_name].elements[text_name].focus(); + theSelection = ''; + return; + } + + //The new position for the cursor after adding the bbcode + var caret_pos = getCaretPosition(textarea).start; + var new_pos = caret_pos + bbopen.length; + + // Open tag + insert_text(bbopen + bbclose); + + // Center the cursor when we don't have a selection + // Gecko and proper browsers + if (!isNaN(textarea.selectionStart)) + { + textarea.selectionStart = new_pos; + textarea.selectionEnd = new_pos; + } + // IE + else if (document.selection) + { + var range = textarea.createTextRange(); + range.move("character", new_pos); + range.select(); + storeCaret(textarea); + } + + textarea.focus(); + return; +} + +/** +* Insert text at position +*/ +function insert_text(text, spaces, popup) +{ + var textarea; + + if (!popup) + { + textarea = document.forms[form_name].elements[text_name]; + } + else + { + textarea = opener.document.forms[form_name].elements[text_name]; + } + if (spaces) + { + text = ' ' + text + ' '; + } + + if (!isNaN(textarea.selectionStart)) + { + var sel_start = textarea.selectionStart; + var sel_end = textarea.selectionEnd; + + mozWrap(textarea, text, '') + textarea.selectionStart = sel_start + text.length; + textarea.selectionEnd = sel_end + text.length; + } + else if (textarea.createTextRange && textarea.caretPos) + { + if (baseHeight != textarea.caretPos.boundingHeight) + { + textarea.focus(); + storeCaret(textarea); + } + + var caret_pos = textarea.caretPos; + caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text; + } + else + { + textarea.value = textarea.value + text; + } + if (!popup) + { + textarea.focus(); + } +} + +/** +* Add inline attachment at position +*/ +function attach_inline(index, filename) +{ + insert_text('[attachment=' + index + ']' + filename + '[/attachment]'); + document.forms[form_name].elements[text_name].focus(); +} + +/** +* Add quote text to message +*/ +function addquote(post_id, username) +{ + var message_name = 'message_' + post_id; + var theSelection = ''; + var divarea = false; + + if (document.all) + { + divarea = document.all[message_name]; + } + else + { + divarea = document.getElementById(message_name); + } + + // Get text selection - not only the post content :( + if (window.getSelection) + { + theSelection = window.getSelection().toString(); + } + else if (document.getSelection) + { + theSelection = document.getSelection(); + } + else if (document.selection) + { + theSelection = document.selection.createRange().text; + } + + if (theSelection == '' || typeof theSelection == 'undefined' || theSelection == null) + { + if (divarea.innerHTML) + { + theSelection = divarea.innerHTML.replace(/
/ig, '\n'); + theSelection = theSelection.replace(//ig, '\n'); + theSelection = theSelection.replace(/<\;/ig, '<'); + theSelection = theSelection.replace(/>\;/ig, '>'); + theSelection = theSelection.replace(/&\;/ig, '&'); + theSelection = theSelection.replace(/ \;/ig, ' '); + } + else if (document.all) + { + theSelection = divarea.innerText; + } + else if (divarea.textContent) + { + theSelection = divarea.textContent; + } + else if (divarea.firstChild.nodeValue) + { + theSelection = divarea.firstChild.nodeValue; + } + } + + if (theSelection) + { + insert_text('[quote="' + username + '"]' + theSelection + '[/quote]'); + } + + return; +} + +/** +* From http://www.massless.org/mozedit/ +*/ +function mozWrap(txtarea, open, close) +{ + var selLength = txtarea.textLength; + var selStart = txtarea.selectionStart; + var selEnd = txtarea.selectionEnd; + var scrollTop = txtarea.scrollTop; + + if (selEnd == 1 || selEnd == 2) + { + selEnd = selLength; + } + + var s1 = (txtarea.value).substring(0,selStart); + var s2 = (txtarea.value).substring(selStart, selEnd) + var s3 = (txtarea.value).substring(selEnd, selLength); + + txtarea.value = s1 + open + s2 + close + s3; + txtarea.selectionStart = selEnd + open.length + close.length; + txtarea.selectionEnd = txtarea.selectionStart; + txtarea.focus(); + txtarea.scrollTop = scrollTop; + + return; +} + +/** +* Insert at Caret position. Code from +* http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130 +*/ +function storeCaret(textEl) +{ + if (textEl.createTextRange) + { + textEl.caretPos = document.selection.createRange().duplicate(); + } +} + +/** +* Color pallette +*/ +function colorPalette(dir, width, height) +{ + var r = 0, g = 0, b = 0; + var numberList = new Array(6); + var color = ''; + + numberList[0] = '00'; + numberList[1] = '40'; + numberList[2] = '80'; + numberList[3] = 'BF'; + numberList[4] = 'FF'; + + document.writeln('
' - . $this -> message . '

' . $this -> message . '

'; } + if (THUMBNAIL_HEIGHT && in_array(self::ext($filename), array('avi', 'thm', 'mkv', 'asf', 'mov', 'wmv', '3gp'))) + { + $mime = new MimeType($filename); + $finfo = finfo_open(FILEINFO_MIME_TYPE); + //Display correct headers for media file + $mimetype = finfo_file($finfo, $this -> parent_dir . $filename); + $file_size = function_exists('getvideosize') ? getvideosize($this -> parent_dir . $filename) : array(); + $file_mime = function_exists('getvideosize') ? $file_size['mime'] : $mime -> __toString(); + $this -> thumb_link = ' '; + + if (function_exists('imagecreatefromavi') && in_array(self::ext($filename), array('avi', 'wmv', '3gp'))) + { + $this -> thumb_link .= '
' . $words -> __get('thumbnail of') . ' ' . $filename . ''; + } + else + { + $this -> thumb_link = ' '; + } + } if (THUMBNAIL_HEIGHT && in_array(self::ext($filename), array('svg', 'xml'))) { $icon_svg = ICON_PATH ? Url::translate_uri($config -> __get('icon_path') . 'svg.png') : Url::translate_uri($this -> parent_dir . $filename); @@ -120,14 +146,13 @@ class FileItem extends Item * @param string $var The key to look for * @return mixed The data stored at the key */ - public function __get($var) + public function __get($var = '') { if (isset($this -> $var)) { return $this -> $var; } - throw new ExceptionDisplay('Variable ' . Url::html_output($var) - . ' not set in FileItem class.'); + throw new ExceptionDisplay('Variable ' . Url::html_output($var) . ' not set in FileItem class.'); } } diff --git a/classes/Htaccess.php b/classes/Htaccess.php index 493032c..42b11eb 100644 --- a/classes/Htaccess.php +++ b/classes/Htaccess.php @@ -215,8 +215,7 @@ class Htaccess if ($file === false) { $_GET['dir'] = ''; - throw new ExceptionDisplay('Cannot open .htpasswd file. -
' . htmlentities($this -> auth_user_file) . ''); + throw new ExceptionDisplay('Cannot open .htpasswd file
' . htmlentities($this -> auth_user_file) . ''); } if ($this -> auth_required_users === array() || DirectoryList::match_in_array($_SERVER['PHP_AUTH_USER'], $this -> auth_required_users)) { diff --git a/classes/Image.php b/classes/Image.php index 073325c..368f641 100644 --- a/classes/Image.php +++ b/classes/Image.php @@ -236,8 +236,7 @@ class Image if (!@is_file($file)) { header('HTTP/1.0 404 Not Found'); - throw new ExceptionDisplay('Image file not found: ' - . Url::html_output($file) . ''); + throw new ExceptionDisplay('Image file not found: ' . Url::html_output($file) . ''); } switch (FileItem::ext($file)) { @@ -279,6 +278,24 @@ class Image $src = imagecreatefromxpm($file); break; } + case 'wmv' : + { + ini_set('memory_limit', '512M'); + $src = function_exists('imagecreatefromwmv') ? imagecreatefromwmv($file) : imagecreatefromjpeg(str_replace('wmv', 'jpg', $file)); + break; + } + case 'avi' : + { + ini_set('memory_limit', '512M'); + $src = function_exists('imagecreatefromavi') ? imagecreatefromavi($file) : imagecreatefromjpeg(str_replace('avi', 'jpg', $file)); + break; + } + case '3gp' : + { + ini_set('memory_limit', '512M'); + $src = function_exists('imagecreatefrom3gp') ? imagecreatefrom3gp($file) : imagecreatefromjpeg(str_replace('3gp', 'jpg', $file)); + break; + } case 'php': { $src = str_replace('php', 'png', $file); @@ -362,8 +379,8 @@ class Image header('Content-Type: image/jpeg'); header('Cache-Control: public, max-age=3600, must-revalidate'); - header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) - . ' GMT'); + header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT'); + $src_height = imagesy($src); if ($src_height <= $thumbnail_height) { @@ -374,8 +391,7 @@ class Image $src_width = imagesx($src); $thumb_width = $thumbnail_height * ($src_width / $src_height); $thumb = imagecreatetruecolor($thumb_width, $thumbnail_height); - imagecopyresampled($thumb, $src, 0, 0, 0, 0, $thumb_width, - $thumbnail_height, $src_width, $src_height); + imagecopyresampled($thumb, $src, 0, 0, 0, 0, $thumb_width, $thumbnail_height, $src_width, $src_height); imagejpeg($thumb); imagedestroy($thumb); } @@ -395,6 +411,8 @@ class Image global $config; $this -> height = (int)$config -> __get('thumbnail_height'); $this -> filename = $file; + //$this -> tn_path = $config -> __get('thumbnail_path'); + //$this -> tn_quality = $config -> __get('thumbnail_quality'); } } diff --git a/classes/Language.php b/classes/Language.php index 93d26e3..8d71ad7 100644 --- a/classes/Language.php +++ b/classes/Language.php @@ -67,8 +67,7 @@ class Language $list = array(); while (($file = readdir($hndl)) !== false) { - if (@is_file($path . $file) && preg_match('/^[a-z]{2}(_[a-z]{2})?' - . preg_quote(LANGUAGE_FILE_EXT, '/') . '$/i', $file)) + if (@is_file($path . $file) && preg_match('/^[a-z]{2}(_[a-z]{2})?' . preg_quote(LANGUAGE_FILE_EXT, '/') . '$/i', $file)) { $list[] = $file; } @@ -133,12 +132,10 @@ class Language */ public function __construct() { - $lang_file = PATH_TO_LANGUAGES . $this -> get_current_lang() - . LANGUAGE_FILE_EXT; + $lang_file = PATH_TO_LANGUAGES . $this -> get_current_lang() . LANGUAGE_FILE_EXT; if (!@is_readable($lang_file)) { - throw new ExceptionFatal('Cannot read from language file: ' - . Url::html_output($lang_file) . ''); + throw new ExceptionFatal('Cannot read from language file: ' . Url::html_output($lang_file) . ''); } //load the file as a tab-separated object $this -> translation_data = new ConfigData($lang_file); @@ -151,7 +148,7 @@ class Language public function is_set($name) { return $this -> translation_data -> is_set($name); - } + } /** * @param string $var The key to look for (the keyword) @@ -163,8 +160,7 @@ class Language { return $this -> translation_data -> __get($var); } - throw new ExceptionDisplay('Variable ' . Url::html_output($var) - . ' not set in Language file.'); + throw new ExceptionDisplay('Variable ' . Url::html_output($var) . ' not set in Language file.'); } } diff --git a/classes/Logging.php b/classes/Logging.php index 709980f..bed091b 100644 --- a/classes/Logging.php +++ b/classes/Logging.php @@ -1,6 +1,6 @@ filename, 'ab'); if ($h === false) { - throw new ExceptionDisplay('Could not open log file for writing.' - . ' Make sure PHP has write permission to this file.'); + throw new ExceptionDisplay('Could not open log file for writing.' . ' Make sure PHP has write permission to this file.'); } global $dir, $ip, $host; - $referrer = (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'N/A'); - fwrite($h, date(DATE_FORMAT) . "\t" . date('H:i:s') - . "\t$ip\t$host\t$referrer\t$dir\t$extra\n"); + $referrer = (!empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : 'N/A'); + fwrite($h, date(DATE_FORMAT) . "\t" . date('H:i:s') . "\t$ip\t$host\t$referrer\t$dir\t$extra\n"); fclose($h); } } @@ -105,8 +103,7 @@ class Logging $parts = explode("\t", rtrim($file_array[$count_log-$i-1], "\r\n"), 7); if (count($parts) !== 7) { - throw new ExceptionDisplay('Incorrect format for log file on line ' - . ($i + 1)); + throw new ExceptionDisplay('Incorrect format for log file on line ' . ($i + 1)); } for ($j = 0; $j < 7; $j++) { diff --git a/classes/MimeType.php b/classes/MimeType.php index 95cde31..e0c8541 100644 --- a/classes/MimeType.php +++ b/classes/MimeType.php @@ -64,8 +64,8 @@ class MimeType 'application/mac-compactpro' => array('cpt'), 'application/mathml+xml' => array('mathml'), 'application/msword' => array('doc'), - 'application/octet-stream' => array('bin', 'dms', 'lha', - 'lzh', 'exe', 'class', 'so', 'dll', 'dmg'), + 'application/msoffice' => array('docx'), + 'application/octet-stream' => array('bin', 'dms', 'lha', 'lzh', 'exe', 'class', 'so', 'dll', 'dmg'), 'application/oda' => array('oda'), 'application/ogg' => array('ogg'), 'application/pdf' => array('pdf'), @@ -162,10 +162,16 @@ class MimeType 'text/vnd.wap.wmlscript' => array('wmls'), 'text/x-setext' => array('etx'), 'video/mpeg' => array('mpeg', 'mpg', 'mpe'), - 'video/quicktime' => array('qt', 'mov'), + 'video/quicktime' => array('qt', 'mov'), //QuickTime 'video/vnd.mpegurl' => array('mxu', 'm4u'), - 'video/x-msvideo' => array('avi'), - 'video/x-sgi-movie' => array('movie'), + 'video/x-msvideo' => array('avi'), //A/V Interleave + 'video/x-flv' => array('flv'), //Flash Video + 'video/mp4' => array('mp4'), //MPEG-4 + 'application/x-mpegURL' => array('mpu'), //iPhone Index + 'video/MP2T' => array('mp2t'), //iPhone Segment + 'video/3gpp' => array('3gpp'), //3GP Mobile + 'video/x-ms-wmv' => array('wmv'), //Windows Media + 'video/x-sgi-movie' => array('sgi'), 'x-conference/x-cooltalk' => array('ice') ); foreach ($mime_types as $mime_type => $exts) diff --git a/classes/MobileDeviceDetect.php b/classes/MobileDeviceDetect.php new file mode 100644 index 0000000..f549bf1 --- /dev/null +++ b/classes/MobileDeviceDetect.php @@ -0,0 +1,389 @@ +cache = $cache; + $this->request = $request; + $this->language = $words; + + } + + /** + * @package Mobile Device Detect class + * @author FlorinCB aka orynider + * @copyright (c) 2015 Sniper_E - http://www.sniper-e.com + * @copyright (c) 2015 dmzx - http://www.dmzx-web.net + * @copyright (c) 2015 martin - http://www.martins-phpbb.com + * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 + */ + public function mobile_device_detect($iphone = true, $ipod = true, $ipad = true, $android = true, $opera = true, $blackberry = true, $palm = true, $windows = true, $lg = true) + { + $mobile_browser = false; + $user_agent = $this->request->server('HTTP_USER_AGENT'); + + switch (true) + { + case (preg_match('/x86_64|WOW64|Win64|Iceweasel/i', $user_agent)); + $status = $this->language -> __get('DESKTOP'); + $mobile_browser = true; + break; + case (preg_match('/Bot|CFNetwork|libwww|Java|Jigsaw|SpreadTrum|httpget/i', $user_agent)); + $mobile_browser = false; + break; + case (preg_match('/ipad/i',$user_agent)); + $status = $this->language -> __get('IPAD'); + $mobile_browser = $ipad; + break; + case (preg_match('/ipod/i',$user_agent)); + $status = $this->language -> __get('IPOD'); + $mobile_browser = $ipod; + break; + case (preg_match('/iphone/i', $user_agent)); + $status = $this->language -> __get('IPHONE'); + $mobile_browser = $iphone; + break; + case (preg_match('/android/i', $user_agent)); + if (preg_match('/SM-G870A/i', $user_agent)) + { + $status = $this->language -> __get('SGS5A'); + } + else if (preg_match('/SM-G900A|SM-G900F|SM-G900H|SM-G900M|SM-G900P|SM-G900R4|SM-G900T|SM-G900V|SM-G900W8|SM-G800F/i', $user_agent)) + { + $status = $this->language -> __get('SGS5'); + } + else if (preg_match('/SM-G920F/i', $user_agent)) + { + $status = $this->language -> __get('SGS6'); + } + else if (preg_match('/SGH-I497/i', $user_agent)) + { + $status = $this->language -> __get('SG2T'); + } + else if (preg_match('/GT-P5210|SM-T110|SM-T310/i', $user_agent)) + { + $status = $this->language -> __get('SGT3'); + } + else if (preg_match('/SM-T210/i', $user_agent)) + { + $status = $this->language -> __get('SGT3W'); + } + else if (preg_match('/SM-T335|SM-T530/i', $user_agent)) + { + $status = $this->language -> __get('SGT4'); + } + else if (preg_match('/SM-T520/i', $user_agent)) + { + $status = $this->language -> __get('SGTP'); + } + else if (preg_match('/SGH-I537/i', $user_agent)) + { + $status = $this->language -> __get('SGS4A'); + } + else if (preg_match('/GT-I9505|GT-I9500|SPH-L720T/i', $user_agent)) + { + $status = $this->language -> __get('SGS4'); + } + else if (preg_match('/GT-I9100P/i', $user_agent)) + { + $status = $this->language -> __get('SGS2'); + } + else if (preg_match('/SM-N9005|SM-P600/i', $user_agent)) + { + $status = $this->language -> __get('SGN3'); + } + else if (preg_match('/SM-N7505/i', $user_agent)) + { + $status = $this->language -> __get('SGN3N'); + } + else if (preg_match('/SM-N910C|SM-N910F/i', $user_agent)) + { + $status = $this->language -> __get('SGN4'); + } + else if (preg_match('/SM-N920P/i', $user_agent)) + { + $status = $this->language -> __get('SGN5'); + } + else if (preg_match('/SM-G357FZ/i', $user_agent)) + { + $status = $this->language -> __get('SGA4'); + } + else if (preg_match('/SM-G925P/i', $user_agent)) + { + $status = $this->language -> __get('SGS6E'); + } + else if (preg_match('/SM-G935F/i', $user_agent)) + { + $status = $this->language -> __get('SGS7E'); + } + else if (preg_match('/SM-G950F|SM-G955F/i', $user_agent)) + { + $status = $this->language -> __get('SGS8'); + } + else if (preg_match('/GT-S7582/i', $user_agent)) + { + $status = $this->language -> __get('SGSD2'); + } + else if (preg_match('/GT-I9100P/i', $user_agent)) + { + $status = $this->language -> __get('SGS2'); + } + else if (preg_match('/HONORPLK-L01/i',$user_agent)) + { + $status = $this->language -> __get('HPL01'); + } + else if (preg_match('/EVA-L09/i', $user_agent)) + { + $status = $this->language -> __get('HPL09'); + } + else if (preg_match('/VNS-L23/i', $user_agent)) + { + $status = $this->language -> __get('HPL23'); + } + else if (preg_match('/IMM76B/i', $user_agent)) + { + $status = $this->language -> __get('SGN'); + } + else if (preg_match('/TF101/i', $user_agent)) + { + $status = $this->language -> __get('ATT'); + } + else if (preg_match('/Archos 40b/i', $user_agent)) + { + $status = $this->language -> __get('A4TS'); + } + else if (preg_match('/A0001/i', $user_agent)) + { + $status = $this->language -> __get('OPO'); + } + else if (preg_match('/Orange Nura/i', $user_agent)) + { + $status = $this->language -> __get('ORN'); + } + else if (preg_match('/XT1030/i', $user_agent)) + { + $status = $this->language -> __get('MDM'); + } + else if (preg_match('/TIANYU-KTOUCH/i', $user_agent)) + { + $status = $this->language -> __get('TKT'); + } + else if (preg_match('/D2005|D2105/i',$user_agent)) + { + $status = $this->language -> __get('SXED'); + } + else if (preg_match('/C2005|D2303/i', $user_agent)) + { + $status = $this->language -> __get('SXM2'); + } + else if (preg_match('/C6906/i', $user_agent)) + { + $status = $this->language -> __get('SXZ1'); + } + else if (preg_match('/D5803/i', $user_agent)) + { + $status = $this->language -> __get('SXZ3'); + } + else if (preg_match('/P710/i', $user_agent)) + { + $status = $this->language -> __get('LGOL7IT'); + } + else if (preg_match('/LG-H850/i', $user_agent)) + { + $status = $this->language -> __get('LGH850'); + } + else if (preg_match('/LG-V500/i', $user_agent)) + { + $status = $this->language -> __get('LGV500'); + } + else if (preg_match('/lg/i', $user_agent)) + { + $status = $this->language -> __get('LG'); + } + else if (preg_match('/ASUS_T00J/i', $user_agent)) + { + $status = $this->language -> __get('ATOOJ'); + } + else if (preg_match('/Aquaris E5/i', $user_agent)) + { + $status = $this->language -> __get('AE5HD'); + } + else if (preg_match('/HTC Desire|626s/i', $user_agent)) + { + $status = $this->language -> __get('HTCD'); + } + else if (preg_match('/Nexus One/i', $user_agent)) + { + $status = $this->language -> __get('N1'); + } + else if (preg_match('/Nexus 4|LRX22C|LVY48F|LMY47V/i', $user_agent)) + { + $status = $this->language -> __get('N4'); + } + else if (preg_match('/Nexus 5|LMY48S/i', $user_agent)) + { + $status = $this->language -> __get('N5'); + } + else if (preg_match('/Nexus 7|KTU84P/i', $user_agent)) + { + $status = $this->language -> __get('N7'); + } + else if (preg_match('/Nexus 9|LMY47X/i',$user_agent)) + { + $status = $this->language -> __get('N9'); + } + else if (preg_match('/Lenovo_K50_T5/i', $user_agent)) + { + $status = $this->language -> __get('LK50T5'); + } + else + { + $status = $this->language -> __get('ANDROID'); + } + $mobile_browser = $android; + break; + case (preg_match('/opera mini/i', $user_agent)); + $status = $this->language -> __get('MOBILE_DEVICE'); + $mobile_browser = $opera; + break; + case (preg_match('/blackberry/i', $user_agent)); + if (preg_match('/BlackBerry9900|BlackBerry9930|BlackBerry9790|BlackBerry9780|BlackBerry9700|BlackBerry9650|BlackBerry9000|/i',$user_agent)) + { + $status = 'BlackBerry Bold'; + } + else if (preg_match('/BlackBerry9380|BlackBerry9370|BlackBerry9360|BlackBerry9350|BlackBerry9330|BlackBerry9320|BlackBerry9300|BlackBerry9220|BlackBerry8980|BlackBerry8900|BlackBerry8530|BlackBerry8520|BlackBerry8330|BlackBerry8320|BlackBerry8310|BlackBerry8300/i',$user_agent)) + { + $status = $this->language -> __get('BBCURVE'); + } + else if (preg_match('/BlackBerry9860|BlackBerry9850|BlackBerry9810|BlackBerry9800/i', $user_agent)) + { + $status = $this->language -> __get('BBTORCH'); + } + else if (preg_match('/BlackBerry9900/i', $user_agent)) + { + $status = $this->language -> __get('BBTOUCH'); + } + else if (preg_match('/BlackBerry9105/i', $user_agent)) + { + $status = $this->language -> __get('BBPEARL'); + } + else if (preg_match('/BlackBerry8220/i', $user_agent)) + { + $status = $this->language -> __get('BBPEARLF'); + } + else if (preg_match('/BlackBerry Storm|BlackBerry Storm2/i', $user_agent)) + { + $status = $this->language -> __get('BBSTORM'); + } + else if (preg_match('/BlackBerry Passport/i', $user_agent)) + { + $status = $this->language -> __get('BBPP'); + } + else if (preg_match('/BlackBerry Porsche/i',$user_agent)) + { + $status = $this->language -> __get('BBP'); + } + else if (preg_match('/BlackBerry PlayBook/i', $user_agent)) + { + $status = $this->language -> __get('BBPB'); + } + else + { + $status = $this->language -> __get('BLACKBERRY'); + } + $mobile_browser = $blackberry; + break; + case (preg_match('/(pre\/|palm os|palm|hiptop|avantgo|plucker|xiino|blazer|elaine)/i', $user_agent)); + $status = $this->language -> __get('PALM'); + $mobile_browser = $palm; + break; + case (preg_match('/(iris|3g_t|windows ce|windows Phone|opera mobi|windows ce; smartphone;|windows ce; iemobile)/i', $user_agent)); + if (preg_match('/Lumia 640 XL/i', $user_agent)) + { + $status = $this->language -> __get('L640XL'); + } + else + { + $status = $this->language -> __get('WSP'); + } + $mobile_browser = $windows; + break; + case (preg_match('/lge vx10000/i', $user_agent)); + $status = $this->language -> __get('VOYAGER'); + $mobile_browser = $windows; + break; + case (preg_match('/(mini 9.5|vx1000|lge |m800|e860|u940|ux840|compal|wireless| mobi|ahong|lg380|lgku|lgu900|lg210|lg47|lg920|lg840|lg370|sam-r|mg50|s55|g83|t66|vx400|mk99|d615|d763|el370|sl900|mp500|samu3|samu4|vx10|xda_|samu5|samu6|samu7|samu9|a615|b832|m881|s920|n210|s700|c-810|_h797|mob-x|sk16d|848b|mowser|s580|r800|471x|v120|rim8|c500foma:|160x|x160|480x|x640|t503|w839|i250|sprint|w398samr810|m5252|c7100|mt126|x225|s5330|s820|htil-g1|fly v71|s302|-x113|novarra|k610i|-three|8325rc|8352rc|sanyo|vx54|c888|nx250|n120|mtk |c5588|s710|t880|c5005|i;458x|p404i|s210|c5100|teleca|s940|c500|s590|foma|samsu|vx8|vx9|a1000|_mms|myx|a700|gu1100|bc831|e300|ems100|me701|me702m-three|sd588|s800|8325rc|ac831|mw200|brew |d88|htc\/|htc_touch|355x|m50|km100|d736|p-9521|telco|sl74|ktouch|m4u\/|me702|8325rc|kddi|phone|lg |sonyericsson|samsung|240x|x320|vx10|nokia|sony cmd|motorola|up.browser|up.link|mmp|symbian|smartphone|midp|wap|vodafone|o2|pocket|kindle|mobile|psp|treo)/i', $user_agent)); + $status = $this->language -> __get('MOBILE_DEVICE'); + $mobile_browser = true; + break; + case (isset($post['HTTP_X_WAP_PROFILE']) || isset($post['HTTP_PROFILE'])); + $status = $this->language -> __get('MOBILE_DEVICE'); + $mobile_browser = true; + break; + case (in_array(strtolower(substr($user_agent, 0, 4)), array('1207'=>'1207','3gso'=>'3gso','4thp'=>'4thp','501i'=>'501i','502i'=>'502i','503i'=>'503i','504i'=>'504i','505i'=>'505i','506i'=>'506i','6310'=>'6310','6590'=>'6590','770s'=>'770s','802s'=>'802s','a wa'=>'a wa','acer'=>'acer','acs-'=>'acs-','airn'=>'airn','alav'=>'alav','asus'=>'asus','attw'=>'attw','au-m'=>'au-m','aur '=>'aur ','aus '=>'aus ','abac'=>'abac','acoo'=>'acoo','aiko'=>'aiko','alco'=>'alco','alca'=>'alca','amoi'=>'amoi','anex'=>'anex','anny'=>'anny','anyw'=>'anyw','aptu'=>'aptu','arch'=>'arch','argo'=>'argo','bell'=>'bell','bird'=>'bird','bw-n'=>'bw-n','bw-u'=>'bw-u','beck'=>'beck','benq'=>'benq','bilb'=>'bilb','blac'=>'blac','c55/'=>'c55/','cdm-'=>'cdm-','chtm'=>'chtm','capi'=>'capi','cond'=>'cond','craw'=>'craw','dall'=>'dall','dbte'=>'dbte','dc-s'=>'dc-s','dica'=>'dica','ds-d'=>'ds-d','ds12'=>'ds12','dait'=>'dait','devi'=>'devi','dmob'=>'dmob','doco'=>'doco','dopo'=>'dopo','el49'=>'el49','erk0'=>'erk0','esl8'=>'esl8','ez40'=>'ez40','ez60'=>'ez60','ez70'=>'ez70','ezos'=>'ezos','ezze'=>'ezze','elai'=>'elai','emul'=>'emul','eric'=>'eric','ezwa'=>'ezwa','fake'=>'fake','fly-'=>'fly-','fly_'=>'fly_','g-mo'=>'g-mo','g1 u'=>'g1 u','g560'=>'g560','gf-5'=>'gf-5','grun'=>'grun','gene'=>'gene','go.w'=>'go.w','good'=>'good','grad'=>'grad','hcit'=>'hcit','hd-m'=>'hd-m','hd-p'=>'hd-p','hd-t'=>'hd-t','hei-'=>'hei-','hp i'=>'hp i','hpip'=>'hpip','hs-c'=>'hs-c','htc '=>'htc ','htc-'=>'htc-','htca'=>'htca','htcg'=>'htcg','htcp'=>'htcp','htcs'=>'htcs','htct'=>'htct','htc_'=>'htc_','haie'=>'haie','hita'=>'hita','huaw'=>'huaw','hutc'=>'hutc','i-20'=>'i-20','i-go'=>'i-go','i-ma'=>'i-ma','i230'=>'i230','iac'=>'iac','iac-'=>'iac-','iac/'=>'iac/','ig01'=>'ig01','im1k'=>'im1k','inno'=>'inno','iris'=>'iris','jata'=>'jata','java'=>'java','kddi'=>'kddi','kgt'=>'kgt','kgt/'=>'kgt/','kpt '=>'kpt ','kwc-'=>'kwc-','klon'=>'klon','lexi'=>'lexi','lg g'=>'lg g','lg-a'=>'lg-a','lg-b'=>'lg-b','lg-c'=>'lg-c','lg-d'=>'lg-d','lg-f'=>'lg-f','lg-g'=>'lg-g','lg-k'=>'lg-k','lg-l'=>'lg-l','lg-m'=>'lg-m','lg-o'=>'lg-o','lg-p'=>'lg-p','lg-s'=>'lg-s','lg-t'=>'lg-t','lg-u'=>'lg-u','lg-w'=>'lg-w','lg/k'=>'lg/k','lg/l'=>'lg/l','lg/u'=>'lg/u','lg50'=>'lg50','lg54'=>'lg54','lge-'=>'lge-','lge/'=>'lge/','lynx'=>'lynx','leno'=>'leno','m1-w'=>'m1-w','m3ga'=>'m3ga','m50/'=>'m50/','maui'=>'maui','mc01'=>'mc01','mc21'=>'mc21','mcca'=>'mcca','medi'=>'medi','meri'=>'meri','mio8'=>'mio8','mioa'=>'mioa','mo01'=>'mo01','mo02'=>'mo02','mode'=>'mode','modo'=>'modo','mot '=>'mot ','mot-'=>'mot-','mt50'=>'mt50','mtp1'=>'mtp1','mtv '=>'mtv ','mate'=>'mate','maxo'=>'maxo','merc'=>'merc','mits'=>'mits','mobi'=>'mobi','motv'=>'motv','mozz'=>'mozz','n100'=>'n100','n101'=>'n101','n102'=>'n102','n202'=>'n202','n203'=>'n203','n300'=>'n300','n302'=>'n302','n500'=>'n500','n502'=>'n502','n505'=>'n505','n700'=>'n700','n701'=>'n701','n710'=>'n710','nec-'=>'nec-','nem-'=>'nem-','newg'=>'newg','neon'=>'neon','netf'=>'netf','noki'=>'noki','nzph'=>'nzph','o2 x'=>'o2 x','o2-x'=>'o2-x','opwv'=>'opwv','owg1'=>'owg1','opti'=>'opti','oran'=>'oran','p800'=>'p800','pand'=>'pand','pg-1'=>'pg-1','pg-2'=>'pg-2','pg-3'=>'pg-3','pg-6'=>'pg-6','pg-8'=>'pg-8','pg-c'=>'pg-c','pg13'=>'pg13','phil'=>'phil','pn-2'=>'pn-2','pt-g'=>'pt-g','palm'=>'palm','pana'=>'pana','pire'=>'pire','pock'=>'pock','pose'=>'pose','psio'=>'psio','qa-a'=>'qa-a','qc-2'=>'qc-2','qc-3'=>'qc-3','qc-5'=>'qc-5','qc-7'=>'qc-7','qc07'=>'qc07','qc12'=>'qc12','qc21'=>'qc21','qc32'=>'qc32','qc60'=>'qc60','qci-'=>'qci-','qwap'=>'qwap','qtek'=>'qtek','r380'=>'r380','r600'=>'r600','raks'=>'raks','rim9'=>'rim9','rove'=>'rove','s55/'=>'s55/','sage'=>'sage','sams'=>'sams','sc01'=>'sc01','sch-'=>'sch-','scp-'=>'scp-','sdk/'=>'sdk/','se47'=>'se47','sec-'=>'sec-','sec0'=>'sec0','sec1'=>'sec1','semc'=>'semc','sgh-'=>'sgh-','shar'=>'shar','sie-'=>'sie-','sk-0'=>'sk-0','sl45'=>'sl45','slid'=>'slid','smb3'=>'smb3','smt5'=>'smt5','sp01'=>'sp01','sph-'=>'sph-','spv '=>'spv ','spv-'=>'spv-','sy01'=>'sy01','samm'=>'samm','sany'=>'sany','sava'=>'sava','scoo'=>'scoo','send'=>'send','siem'=>'siem','smar'=>'smar','smit'=>'smit','soft'=>'soft','sony'=>'sony','t-mo'=>'t-mo','t218'=>'t218','t250'=>'t250','t600'=>'t600','t610'=>'t610','t618'=>'t618','tcl-'=>'tcl-','tdg-'=>'tdg-','telm'=>'telm','tim-'=>'tim-','ts70'=>'ts70','tsm-'=>'tsm-','tsm3'=>'tsm3','tsm5'=>'tsm5','tx-9'=>'tx-9','tagt'=>'tagt','talk'=>'talk','teli'=>'teli','topl'=>'topl','hiba'=>'hiba','up.b'=>'up.b','upg1'=>'upg1','utst'=>'utst','v400'=>'v400','v750'=>'v750','veri'=>'veri','vk-v'=>'vk-v','vk40'=>'vk40','vk50'=>'vk50','vk52'=>'vk52','vk53'=>'vk53','vm40'=>'vm40','vx98'=>'vx98','virg'=>'virg','vite'=>'vite','voda'=>'voda','vulc'=>'vulc','w3c '=>'w3c ','w3c-'=>'w3c-','wapj'=>'wapj','wapp'=>'wapp','wapu'=>'wapu','wapm'=>'wapm','wig '=>'wig ','wapi'=>'wapi','wapr'=>'wapr','wapv'=>'wapv','wapy'=>'wapy','wapa'=>'wapa','waps'=>'waps','wapt'=>'wapt','winc'=>'winc','winw'=>'winw','wonu'=>'wonu','x700'=>'x700','xda2'=>'xda2','xdag'=>'xdag','yas-'=>'yas-','your'=>'your','zte-'=>'zte-','zeto'=>'zeto','acs-'=>'acs-','alav'=>'alav','alca'=>'alca','amoi'=>'amoi','aste'=>'aste','audi'=>'audi','avan'=>'avan','benq'=>'benq','bird'=>'bird','blac'=>'blac','blaz'=>'blaz','brew'=>'brew','brvw'=>'brvw','bumb'=>'bumb','ccwa'=>'ccwa','cell'=>'cell','cldc'=>'cldc','cmd-'=>'cmd-','dang'=>'dang','doco'=>'doco','eml2'=>'eml2','eric'=>'eric','fetc'=>'fetc','hipt'=>'hipt','http'=>'http','ibro'=>'ibro','idea'=>'idea','ikom'=>'ikom','inno'=>'inno','ipaq'=>'ipaq','jbro'=>'jbro','jemu'=>'jemu','java'=>'java','jigs'=>'jigs','kddi'=>'kddi','keji'=>'keji','kyoc'=>'kyoc','kyok'=>'kyok','leno'=>'leno','lg-c'=>'lg-c','lg-d'=>'lg-d','lg-g'=>'lg-g','lge-'=>'lge-','libw'=>'libw','m-cr'=>'m-cr','maui'=>'maui','maxo'=>'maxo','midp'=>'midp','mits'=>'mits','mmef'=>'mmef','mobi'=>'mobi','mot-'=>'mot-','moto'=>'moto','mwbp'=>'mwbp','mywa'=>'mywa','nec-'=>'nec-','newt'=>'newt','nok6'=>'nok6','noki'=>'noki','o2im'=>'o2im','opwv'=>'opwv','palm'=>'palm','pana'=>'pana','pant'=>'pant','pdxg'=>'pdxg','phil'=>'phil','play'=>'play','pluc'=>'pluc','port'=>'port','prox'=>'prox','qtek'=>'qtek','qwap'=>'qwap','rozo'=>'rozo','sage'=>'sage','sama'=>'sama','sams'=>'sams','sany'=>'sany','sch-'=>'sch-','sec-'=>'sec-','send'=>'send','seri'=>'seri','sgh-'=>'sgh-','shar'=>'shar','sie-'=>'sie-','siem'=>'siem','smal'=>'smal','smar'=>'smar','sony'=>'sony','sph-'=>'sph-','symb'=>'symb','t-mo'=>'t-mo','teli'=>'teli','tim-'=>'tim-','tosh'=>'tosh','treo'=>'treo','tsm-'=>'tsm-','upg1'=>'upg1','upsi'=>'upsi','vk-v'=>'vk-v','voda'=>'voda','vx52'=>'vx52','vx53'=>'vx53','vx60'=>'vx60','vx61'=>'vx61','vx70'=>'vx70','vx80'=>'vx80','vx81'=>'vx81','vx83'=>'vx83','vx85'=>'vx85','wap-'=>'wap-','wapa'=>'wapa','wapi'=>'wapi','wapp'=>'wapp','wapr'=>'wapr','webc'=>'webc','whit'=>'whit','winw'=>'winw','wmlb'=>'wmlb','xda-'=>'xda-',))); + $status = $this->language -> __get('MOBILE_DEVICE'); + $mobile_browser = true; + break; + default; + $status = $this->language -> __get('DESKTOP'); + $mobile_browser = false; + break; + } + header('Cache-Control: no-transform'); + header('Vary: User-Agent'); + + if ($mobile_browser == '') + { + return $mobile_browser; + } + else + { + return array($mobile_browser, $status); + } + } +} \ No newline at end of file diff --git a/classes/RequestVars.php b/classes/RequestVars.php new file mode 100644 index 0000000..0d40ad5 --- /dev/null +++ b/classes/RequestVars.php @@ -0,0 +1,1016 @@ +post('mode', TYPE_NO_TAGS, ''); + * - $page_id = $mx_request_vars->get('page', TYPE_INT, 1); + * This class IS instatiated in common.php ;-) + * + * @access public + * @author Markus Petrux, John Olson, FlorinCB + * @package Core + */ +class RequestVars +{ + /**#@+ + * Constant identifying the super global with the same name. + */ + const POST = 0; + const GET = 1; + const REQUEST = 2; + const COOKIE = 3; + const SERVER = 4; + const FILES = 5; + /**#@-*/ + + // + // Implementation Conventions: + // Properties and methods prefixed with underscore are intented to be private. ;-) + // + + /** + * @var array The names of super global variables that this class should protect if super globals are disabled. + */ + protected $super_globals = array( + self::POST => '_POST', + self::GET => '_GET', + self::REQUEST => '_REQUEST', + self::COOKIE => '_COOKIE', + self::SERVER => '_SERVER', + self::FILES => '_FILES', + ); + + /** + * @var array Stores original contents of $_REQUEST array. + */ + protected $original_request = null; + + /** + * @var + */ + protected $super_globals_disabled = false; + + /** + * @var array An associative array that has the value of super global constants as keys and holds their data as values. + */ + protected $input; + + /** + * @var \phpbb\request\type_cast_helper_interface An instance of a type cast helper providing convenience methods for type conversions. + * borrowed from github.com/phpbbb + */ + protected $type_cast_helper; + + // ------------------------------ + // Properties + // + + /* ------------------------------ + * Constructor + * Initialises the request class, that means it stores all input data in {@link $input input} + * and then calls {@link deactivated_super_global deactivated_super_global} + */ + public function __construct($disable_super_globals = false) + { + foreach ($this->super_globals as $const => $super_global) + { + $this->input[$const] = isset($GLOBALS[$super_global]) ? $GLOBALS[$super_global] : array(); + } + + // simulate request_order = GP + $this->original_request = $this->input[self::REQUEST]; + $this->input[self::REQUEST] = $this->input[self::POST] + $this->input[self::GET]; + + if ($disable_super_globals) + { + $this->disable_super_globals(); + } + } + + /** + * Getter for $super_globals_disabled + * + * @return bool Whether super globals are disabled or not. + * borrowed from github.com/phpbbb + */ + public function super_globals_disabled() + { + return $this->super_globals_disabled; + } + + /** + * Disables access of super globals specified in $super_globals. + * This is achieved by overwriting the super globals with instances of {@link \autoindex\request\deactivated_super_global \autoindex\request\deactivated_super_global} + * borrowed from github.com/phpbbb + */ + public function disable_super_globals() + { + if (!$this->super_globals_disabled) + { + foreach ($this->super_globals as $const => $super_global) + { + unset($GLOBALS[$super_global]); + $GLOBALS[$super_global] = new deactivated_super_global($this, $super_global, $const); + } + + $this->super_globals_disabled = true; + } + } + + /** + * Enables access of super globals specified in $super_globals if they were disabled by {@link disable_super_globals disable_super_globals}. + * This is achieved by making the super globals point to the data stored within this class in {@link $input input}. + * borrowed from github.com/phpbbb + */ + public function enable_super_globals() + { + if ($this->super_globals_disabled) + { + foreach ($this->super_globals as $const => $super_global) + { + $GLOBALS[$super_global] = $this->input[$const]; + } + + $GLOBALS['_REQUEST'] = $this->original_request; + + $this->super_globals_disabled = false; + } + } + + // ------------------------------ + // Public Methods + // + + /** + * This function allows overwriting or setting a value in one of the super global arrays. + * + * Changes which are performed on the super globals directly will not have any effect on the results of + * other methods this class provides. Using this function should be avoided if possible! It will + * consume twice the the amount of memory of the value + * + * @param string $var_name The name of the variable that shall be overwritten + * @param mixed $value The value which the variable shall contain. + * If this is null the variable will be unset. + * @param mx_request_vars::POST|GET|REQUEST|COOKIE $super_global + * Specifies which super global shall be changed + */ + public function overwrite($var_name, $value, $super_global = self::REQUEST) + { + if (!isset($this->super_globals[$super_global])) + { + return; + } + + $this->type_cast_helper->add_magic_quotes($value); + + // setting to null means unsetting + if ($value === null) + { + unset($this->input[$super_global][$var_name]); + if (!$this->super_globals_disabled()) + { + unset($GLOBALS[$this->super_globals[$super_global]][$var_name]); + } + } + else + { + $this->input[$super_global][$var_name] = $value; + if (!$this->super_globals_disabled()) + { + $GLOBALS[$this->super_globals[$super_global]][$var_name] = $value; + } + } + } + + // ------------------------------ + // Private Methods + // + + /** + * Function: _read(). + * + * Get the value of the specified request var (post or get) and force the result to be + * of specified type. It might also transform the result (stripslashes, htmlspecialchars) for security + * purposes. It all depends on the $type argument. + * If the specified request var does not exist, then the default ($dflt) value is returned. + * Note the $type argument behaves as a bit array where more than one option can be specified by OR'ing + * the passed argument. This is tipical practice in languages like C, but it can also be done with PHP. + * + * @access private + * @param unknown_type $var + * @param unknown_type $type + * @param unknown_type $dflt + * @return unknown + */ + public function _read($var, $type = TYPE_ANY, $dflt = '', $not_null = false) + { + if( ($type & (TYPE_POST_VARS|TYPE_GET_VARS)) == 0 ) + { + $type |= (TYPE_POST_VARS|TYPE_GET_VARS); + } + + if( ($type & TYPE_POST_VARS) && isset($_POST[$var]) || + ($type & TYPE_GET_VARS) && isset($_GET[$var]) ) + { + $val = ( ($type & TYPE_POST_VARS) && isset($_POST[$var]) ? $_POST[$var] : $_GET[$var] ); + if( !($type & TYPE_NO_STRIP) ) + { + if( is_array($val) ) + { + foreach( $val as $k => $v ) + { + $val[$k] = trim(stripslashes($v)); + } + } + else + { + $val = trim(stripslashes($val)); + } + } + } + else + { + $val = $dflt; + } + + if( $type & TYPE_INT ) // integer + { + return $not_null && empty($val) ? $dflt : intval($val); + } + + if( $type & TYPE_FLOAT ) // float + { + return $not_null && empty($val) ? $dflt : floatval($val); + } + + if( $type & TYPE_NO_TAGS ) // ie username + { + if( is_array($val) ) + { + foreach( $val as $k => $v ) + { + $val[$k] = htmlspecialchars(strip_tags(ltrim(rtrim($v, " \t\n\r\0\x0B\\")))); + } + } + else + { + $val = htmlspecialchars(strip_tags(ltrim(rtrim($val, " \t\n\r\0\x0B\\")))); + } + } + elseif( $type & TYPE_NO_HTML ) // no slashes nor html + { + if( is_array($val) ) + { + foreach( $val as $k => $v ) + { + $val[$k] = htmlspecialchars(ltrim(rtrim($v, " \t\n\r\0\x0B\\"))); + } + } + else + { + $val = htmlspecialchars(ltrim(rtrim($val, " \t\n\r\0\x0B\\"))); + } + } + + if( $type & TYPE_SQL_QUOTED ) + { + if( is_array($val) ) + { + foreach( $val as $k => $v ) + { + $val[$k] = str_replace(($type & TYPE_NO_STRIP ? "\'" : "'"), "''", $v); + } + } + else + { + $val = str_replace(($type & TYPE_NO_STRIP ? "\'" : "'"), "''", $val); + } + } + + return $not_null && empty($val) ? $dflt : $val; + } + + // ------------------------------ + // Public Methods + // + + /** + * Central type safe input handling function. + * All variables in GET or POST requests should be retrieved through this function to maximise security. + * + * @param string|array $var_name The form variable's name from which data shall be retrieved. + * If the value is an array this may be an array of indizes which will give + * direct access to a value at any depth. E.g. if the value of "var" is array(1 => "a") + * then specifying array("var", 1) as the name will return "a". + * @param mixed $default A default value that is returned if the variable was not set. + * This function will always return a value of the same type as the default. + * @param bool $multibyte If $default is a string this parameter has to be true if the variable may contain any UTF-8 characters + * Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks + * @param mx_request_vars::POST|GET|REQUEST|COOKIE $super_global + * Specifies which super global should be used + * + * @return mixed The value of $_REQUEST[$var_name] run through {@link set_var set_var} to ensure that the type is the + * the same as that of $default. If the variable is not set $default is returned. + */ + public function variable($var_name, $default, $multibyte = false, $super_global = self::REQUEST) + { + return $this->_variable($var_name, $default, $multibyte, $super_global, true); + } + + /** + * Get a variable, but without trimming strings. + * Same functionality as variable(), except does not run trim() on strings. + * This method should be used when handling passwords. + * + * @param string|array $var_name The form variable's name from which data shall be retrieved. + * If the value is an array this may be an array of indizes which will give + * direct access to a value at any depth. E.g. if the value of "var" is array(1 => "a") + * then specifying array("var", 1) as the name will return "a". + * @param mixed $default A default value that is returned if the variable was not set. + * This function will always return a value of the same type as the default. + * @param bool $multibyte If $default is a string this parameter has to be true if the variable may contain any UTF-8 characters + * Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks + * @param mx_request_vars::POST|GET|REQUEST|COOKIE $super_global + * Specifies which super global should be used + * + * @return mixed The value of $_REQUEST[$var_name] run through {@link set_var set_var} to ensure that the type is the + * the same as that of $default. If the variable is not set $default is returned. + */ + public function untrimmed_variable($var_name, $default, $multibyte = false, $super_global = self::REQUEST) + { + return $this->_variable($var_name, $default, $multibyte, $super_global, false); + } + + /** + * + */ + public function raw_variable($var_name, $default, $super_global = self::REQUEST) + { + $path = false; + + // deep direct access to multi dimensional arrays + if (is_array($var_name)) + { + $path = $var_name; + // make sure at least the variable name is specified + if (empty($path)) + { + return (is_array($default)) ? array() : $default; + } + // the variable name is the first element on the path + $var_name = array_shift($path); + } + + if (!isset($this->input[$super_global][$var_name])) + { + return (is_array($default)) ? array() : $default; + } + $var = $this->input[$super_global][$var_name]; + + if ($path) + { + // walk through the array structure and find the element we are looking for + foreach ($path as $key) + { + if (is_array($var) && isset($var[$key])) + { + $var = $var[$key]; + } + else + { + return (is_array($default)) ? array() : $default; + } + } + } + + return $var; + } + + /** + * Shortcut method to retrieve SERVER variables. + * + * Also fall back to getenv(), some CGI setups may need it (probably not, but + * whatever). + * + * @param string|array $var_name See \phpbb\request\request_interface::variable + * @param mixed $Default See \phpbb\request\request_interface::variable + * + * @return mixed The server variable value. + */ + public function server($var_name, $default = '') + { + $multibyte = true; + + if ($this->is_set($var_name, self::SERVER)) + { + return $this->variable($var_name, $default, $multibyte, self::SERVER); + } + else + { + $var = getenv($var_name); + $this->recursive_set_var($var, $default, $multibyte); + return $var; + } + } + + /** + * Shortcut method to retrieve the value of client HTTP headers. + * + * @param string|array $header_name The name of the header to retrieve. + * @param mixed $default See \phpbb\request\request_interface::variable + * + * @return mixed The header value. + */ + public function header($header_name, $default = '') + { + $var_name = 'HTTP_' . str_replace('-', '_', strtoupper($header_name)); + return $this->server($var_name, $default); + } + + /** + * Shortcut method to retrieve $_FILES variables + * + * @param string $form_name The name of the file input form element + * + * @return array The uploaded file's information or an empty array if the + * variable does not exist in _FILES. + */ + public function file($form_name) + { + return $this->variable($form_name, array('name' => 'none'), true, self::FILES); + } + + /** + * Request POST variable. + * + * _read() wrappers to retrieve POST, GET or any REQUEST (both) variable. + * + * @access public + * @param string $var + * @param integer $type + * @param string $dflt + * @return string + */ + public function post($var, $type = TYPE_ANY, $dflt = '', $not_null = false) + { + if (!$this->super_globals_disabled()) + { + return $this->_read($var, ($type | TYPE_POST_VARS), $dflt, $not_null); + } + else + { + $super_global = self::POST; + $multibyte = false; //UTF-8 ? + $default = $dflt; + return $this->_variable($var_name, $default, $multibyte, $super_global, true); + } + + } + + /** ** / + public function post($var_name, $default, $multibyte = false, $super_global = self::POST) + { + return $this->_variable($var_name, $default, $multibyte, $super_global, true); + } + /** **/ + + /** + * Request GET variable. + * + * _read() wrappers to retrieve POST, GET or any REQUEST (both) variable. + * + * @access public + * @param string $var + * @param integer $type + * @param string $dflt + * @return string + */ + public function get($var, $type = TYPE_ANY, $dflt = '', $not_null = false) + { + if (!$this->super_globals_disabled()) + { + return $this->_read($var, ($type | TYPE_GET_VARS), $dflt, $not_null); + } + else + { + $super_global = self::GET; + $multibyte = false; //UTF-8 ? + $default = $dflt; + return $this->_variable($var_name, $default, $multibyte, $super_global, true); + } + + } + + /** ** / + public function get($var_name, $default, $multibyte = false, $super_global = self::GET) + { + return $this->_variable($var_name, $default, $multibyte, $super_global, true); + } + /** **/ + + /** + * Request GET or POST variable. + * + * _read() wrappers to retrieve POST, GET or any REQUEST (both) variable. + * + * @access public + * @param string $var + * @param integer $type + * @param string $dflt + * @return string + */ + public function request($var, $type = TYPE_ANY, $dflt = '', $not_null = false) + { + if (!$this->super_globals_disabled()) + { + return $this->_read($var, ($type | TYPE_POST_VARS | TYPE_GET_VARS), $dflt, $not_null); + } + else + { + $super_global = self::REQUEST; + $multibyte = false; //UTF-8 ? + $default = $dflt; + return $this->_variable($var_name, $default, $multibyte, $super_global, true); + } + } + + /** + * Is POST var? + * + * Boolean method to check for existence of POST variable. + * + * @access public + * @param string $var + * @return boolean + */ + public function is_post($var) + { + // Note: _x and _y are used by (at least IE) to return the mouse position at onclick of INPUT TYPE="img" elements. + return ($this->is_set_post($var) || $this->is_set_post($var.'_x') && $this->is_set_post($var.'_y')) ? 1 : 0; + } + + /** + * Is GET var? + * + * Boolean method to check for existence of GET variable. + * + * @access public + * @param string $var + * @return boolean + */ + public function is_get($var) + { + //return isset($_GET[$var]) ? 1 : 0 ; + return $this->is_set($var, self::GET); + } + + /** + * Is REQUEST (either GET or POST) var? + * + * Boolean method to check for existence of any REQUEST (both) variable. + * + * @access public + * @param string $var + * @return boolean + */ + public function is_request($var) + { + return ($this->is_get($var) || $this->is_post($var)) ? 1 : 0; + //return $this->is_set($var, self::REQUEST); + } + + /** + * Is POST var empty? + * + * Boolean method to check if POST variable is empty + * as it might be set but still be empty. + * + * @access public + * @param string $var + * @return boolean + */ + public function is_empty_post($var) + { + //return (empty($_POST[$var]) && ( empty($_POST[$var.'_x']) || empty($_POST[$var.'_y']))) ? 1 : 0 ; + return ($this->is_empty($var, self::POST) && ($this->is_empty($var.'_x', self::POST) || $this->is_empty($var.'_y', self::POST))) ? 1 : 0; + } + + /** + * Is GET var empty? + * + * Boolean method to check if GET variable is empty + * as it might be set but still be empty + * + * @access public + * @param string $var + * @return boolean + */ + public function is_empty_get($var) + { + //return empty($_GET[$var]) ? 1 : 0; + return $this->is_empty($var, self::GET); + } + + /** + * Is REQUEST empty (GET and POST) var? + * + * Boolean method to check if REQUEST (both) variable is empty. + * + * @access public + * @param string $var + * @return boolean + */ + public function is_empty_request($var) + { + return ($this->is_empty_get($var) && $this->is_empty_post($var)) ? 1 : 0; + } + + /** + * Checks whether a certain variable was sent via POST. + * To make sure that a request was sent using POST you should call this function + * on at least one variable. + * + * @param string $name The name of the form variable which should have a + * _p suffix to indicate the check in the code that creates the form too. + * + * @return bool True if the variable was set in a POST request, false otherwise. + */ + public function is_set_post($name) + { + return $this->is_set($name, self::POST); + } + + + /** + * Checks whether a certain variable was sent via GET. + * To make sure that a request was sent using GET you should call this function + * on at least one variable. + * + * @param string $name The name of the form variable which should have a + * _p suffix to indicate the check in the code that creates the form too. + * + * @return bool True if the variable was set in a GET request, false otherwise. + */ + public function is_set_get($name) + { + return $this->is_set($name, self::GET); + } + + /** + * Checks whether a certain variable is empty in one of the super global + * arrays. + * + * @param string $var Name of the variable + * @param mx_request_vars::POST|GET|REQUEST|COOKIE $super_global + * Specifies the super global which shall be checked + * + * @return bool True if the variable was sent as input + */ + public function is_empty($var, $super_global = self::REQUEST) + { + return empty($this->input[$super_global][$var]); + } + + /** + * Checks whether a certain variable is set in one of the super global + * arrays. + * + * @param string $var Name of the variable + * @param mx_request_vars::POST|GET|REQUEST|COOKIE $super_global + * Specifies the super global which shall be checked + * + * @return bool True if the variable was sent as input + */ + public function is_set($var, $super_global = self::REQUEST) + { + return isset($this->input[$super_global][$var]); + } + + /** + * Checks whether the current request is an AJAX request (XMLHttpRequest) + * + * @return bool True if the current request is an ajax request + */ + public function is_ajax() + { + return $this->header('X-Requested-With') == 'XMLHttpRequest'; + } + + /** + * Checks if the current request is happening over HTTPS. + * + * @return bool True if the request is secure. + */ + public function is_secure() + { + $https = $this->server('HTTPS'); + $https = $this->server('HTTP_X_FORWARDED_PROTO') === 'https' ? 'on' : $https; + return !empty($https) && $https !== 'off'; + } + + /** + * Returns all variable names for a given super global + * + * @param mx_request_vars::POST|GET|REQUEST|COOKIE $super_global + * The super global from which names shall be taken + * + * @return array All variable names that are set for the super global. + * Pay attention when using these, they are unsanitised! + */ + public function variable_names($super_global = self::REQUEST) + { + if (!isset($this->input[$super_global])) + { + return array(); + } + + return array_keys($this->input[$super_global]); + } + + /** + * Helper function used by variable() and untrimmed_variable(). + * + * @param string|array $var_name The form variable's name from which data shall be retrieved. + * If the value is an array this may be an array of indizes which will give + * direct access to a value at any depth. E.g. if the value of "var" is array(1 => "a") + * then specifying array("var", 1) as the name will return "a". + * @param mixed $default A default value that is returned if the variable was not set. + * This function will always return a value of the same type as the default. + * @param bool $multibyte If $default is a string this parameter has to be true if the variable may contain any UTF-8 characters + * Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks + * @param mx_request_vars::POST|GET|REQUEST|COOKIE $super_global + * Specifies which super global should be used + * @param bool $trim Indicates whether trim() should be applied to string values. + * + * @return mixed The value of $_REQUEST[$var_name] run through {@link set_var set_var} to ensure that the type is the + * the same as that of $default. If the variable is not set $default is returned. + */ + protected function _variable($var_name, $default, $multibyte = false, $super_global = self::REQUEST, $trim = true) + { + $var = $this->raw_variable($var_name, $default, $super_global); + + // Return prematurely if raw variable is empty array or the same as + // the default. Using strict comparison to ensure that one can't + // prevent proper type checking on any input variable + if ($var === array() || $var === $default) + { + return $var; + } + + $this->recursive_set_var($var, $default, $multibyte, $trim); + + return $var; + } + + /** + * + */ + public function get_super_global($super_global = self::REQUEST) + { + return $this->input[$super_global]; + } + + /** + * + */ + public function escape($var, $multibyte) + { + if (is_array($var)) + { + $result = array(); + foreach ($var as $key => $value) + { + $this->set_var($key, $key, gettype($key), $multibyte); + $result[$key] = $this->escape($value, $multibyte); + } + $var = $result; + } + else + { + $this->set_var($var, $var, 'string', $multibyte); + } + + return $var; + } + + /** + * Check GET POST vars exists + */ + function check_http_var_exists($var_name, $empty_var = false) + { + if ($empty_var) + { + if (isset($_GET[$var_name]) || isset($_POST[$var_name])) + { + return true; + } + else + { + return false; + } + } + else + { + if (!empty($_GET[$var_name]) || !empty($_POST[$var_name])) + { + return true; + } + else + { + return false; + } + } + return false; + } + + /** + * Check variable value against default array + */ + function check_var_value($var, $var_array, $var_default = false) + { + if (!is_array($var_array) || empty($var_array)) + { + return $var; + } + $var_default = (($var_default === false) ? $var_array[0] : $var_default); + $var = in_array($var, $var_array) ? $var : $var_default; + return $var; + } + + /** + * Set variable $result to a particular type. + * + * @param mixed &$result The variable to fill + * @param mixed $var The contents to fill with + * @param mixed $type The variable type. Will be used with {@link settype()} + * @param bool $multibyte Indicates whether string values may contain UTF-8 characters. + * Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks. + * @param bool $trim Indicates whether trim() should be applied to string values. + * Default is true. + */ + public function set_var(&$result, $var, $type, $multibyte = false, $trim = true) + { + settype($var, $type); + $result = $var; + + if ($type == 'string') + { + $result = str_replace(array("\r\n", "\r", "\0"), array("\n", "\n", ''), $result); + + if ($trim) + { + $result = trim($result); + } + + $result = htmlspecialchars($result, ENT_COMPAT, 'UTF-8'); + + if ($multibyte) + { + if (is_array($result)) + { + foreach ($result as $key => $string) + { + if (is_array($string)) + { + foreach ($string as $_key => $_string) + { + $result = $result[$key][$_string]; + } + } + else + { + $result = $strings[$key]; + } + } + } + } + + if (!empty($result)) + { + // Make sure multibyte characters are wellformed + if ($multibyte) + { + if (!preg_match('/^./u', $result)) + { + $result = ''; + } + } + else + { + // no multibyte, allow only ASCII (0-127) + $result = preg_replace('/[\x80-\xFF]/', '?', $result); + } + } + } + } + + /** + * Recursively sets a variable to a given type using {@link set_var set_var} + * + * @param string $var The value which shall be sanitised (passed by reference). + * @param mixed $default Specifies the type $var shall have. + * If it is an array and $var is not one, then an empty array is returned. + * Otherwise var is cast to the same type, and if $default is an array all + * keys and values are cast recursively using this function too. + * @param bool $multibyte Indicates whether string keys and values may contain UTF-8 characters. + * Default is false, causing all bytes outside the ASCII range (0-127) to + * be replaced with question marks. + * @param bool $trim Indicates whether trim() should be applied to string values. + * Default is true. + */ + public function recursive_set_var(&$var, $default, $multibyte, $trim = true) + { + if (is_array($var) !== is_array($default)) + { + $var = (is_array($default)) ? array() : $default; + return; + } + + if (!is_array($default)) + { + $type = gettype($default); + $this->set_var($var, $var, $type, $multibyte, $trim); + } + else + { + // make sure there is at least one key/value pair to use get the + // types from + if (empty($default)) + { + $var = array(); + return; + } + + list($default_key, $default_value) = each($default); + $key_type = gettype($default_key); + + $_var = $var; + $var = array(); + + foreach ($_var as $k => $v) + { + $this->set_var($k, $k, $key_type, $multibyte); + + $this->recursive_set_var($v, $default_value, $multibyte, $trim); + $var[$k] = $v; + } + } + } +} // class RequestVars diff --git a/classes/Size.php b/classes/Size.php index 4b7c21a..01c427c 100644 --- a/classes/Size.php +++ b/classes/Size.php @@ -104,8 +104,7 @@ class Size { return $this -> $var; } - throw new ExceptionDisplay('Variable ' . Url::html_output($var) - . ' not set in Size class.'); + throw new ExceptionDisplay('Variable ' . Url::html_output($var) . ' not set in Size class.'); } } diff --git a/classes/Stream.php b/classes/Stream.php new file mode 100644 index 0000000..026050a --- /dev/null +++ b/classes/Stream.php @@ -0,0 +1,191 @@ + + * @version 2.0.4 (Jan 27, 2007) + * @package AutoIndex + */ +class Stream +{ + /** + * @var string Name of the image file + */ + private $filename; + + /** + * @var int The height of the thumbnail to create (width is automatically determined) + */ + private $height; + + /** + * @param string $fn The filename + * @return string Everything after the list dot in the filename, not including the dot + */ + public static function ext($fn) + { + $fn = Item::get_basename($fn); + return (strpos($fn, '.') ? strtolower(substr(strrchr($fn, '.'), 1)) : ''); + } + + /** + * @return string Returns the extension of the filename + * @see FileItem::ext() + */ + public function file_ext() + { + return self::ext($this -> filename); + } + + /** + * Outputs the video stream along with the correct headers so the + * browser will display it. The script is then exited. + */ + public function __toString() + { + $thumbnail_height = $this -> height; + $filepath = $this -> filename; + + if (!@is_file($filepath)) + { + header('HTTP/1.0 404 Not Found'); + throw new ExceptionDisplay('Video file not found: ' . Url::html_output($filepath) . ''); + } + $file = Item::get_basename($filepath); + + // ------------------------------------ + // Check the request + // ------------------------------------ + + // ------------------------------------ + // Check the permissions + // ------------------------------------ + + // ------------------------------------ + // Check hotlink + // ------------------------------------ + + /* + +---------------------------------------------------------- + | Main work here... + +---------------------------------------------------------- + */ + + $ip = '127.0.0.0'; //localhost + $port = '80'; + + $mount = "/"; // Used for alternate path to "Streaming URL" -- leave as "/" for the default setup. + + $wmpmode = ($protocol_type == 'icyx:') ? 'icyx://' : 'http://'; // AAC VS MPEG + $mimetype = ($protocol_type == 'icyx:') ? 'audio/aacp' : 'audio/x-mpeg'; // AAC VS MPEG + + //Other + $artist = "Video Steam -via- AutoIndex"; + $title = "Video Steam !"; + $album = "Live"; + + // Make socket connection + $errno = "errno"; + $errstr = "errstr"; + + //$station_url = str_replace("/listen.pls", "", htmlspecialchars(trim($thissong['station_url']))); + + $size = filesize($filepath); + static $u = array('B', 'K', 'M', 'G'); + for ($i = 0; $size >= 1024 && $i < 4; $i++) + { + $size /= 1024; + } + $filesize = number_format($size, 1) . ' ' . $u[$i]; + + // Establish response headers + //header("HTTP/1.0 200 OK"); + //Get media file content type + $finfo = finfo_open(FILEINFO_MIME_TYPE); + //Display correct headers for media file + $mimetype = finfo_file($finfo, $filepath); + header("Content-Type: $mimetype, application/octet-stream"); + header("Content-Transfer-Encoding: binary"); + + // Content-Length is required for Internet Explorer: + // - Set to a rediculous number + // = I think the limit is somewhere around 420 MB + // + ini_set('memory_limit', '512M'); + + // Create send headers + //echo "here".finfo_file($finfo, $filepath); + finfo_close($finfo); + header('Content-length: ' . filesize($filepath)); + //header("Content-Disposition: attachment; filename=$title")."\n"; + header('Content-Disposition: inline; filename="'.$file.'"'); + //header('X-Sendfile: ' . $filepath); + header('Cache-Control: public, max-age=3600, must-revalidate'); + header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT'); + readfile($filepath); + //die(); + } + + /** + * @param string $file The video file + */ + public function __construct($file) + { + if (!THUMBNAIL_HEIGHT) + { + throw new ExceptionDisplay('Video streaming is turned off.'); + } + global $config; + $this -> height = (int)$config -> __get('thumbnail_height'); + $this -> filename = $file; + } +} +// +------------------------------------------------------+ +// | Powered by Mx Music Center 2.0.1 (c) 2007 OryNider| +// +------------------------------------------------------+ + +?> \ No newline at end of file diff --git a/classes/Template.php b/classes/Template.php index 56f69e4..dc267d3 100644 --- a/classes/Template.php +++ b/classes/Template.php @@ -101,16 +101,14 @@ class Template $full_filename = $config -> __get('template') . $filename; if (!@is_file($full_filename)) { - throw new ExceptionFatal('Template file ' - . Url::html_output($full_filename) . ' cannot be found.'); + throw new ExceptionFatal('Template file ' . Url::html_output($full_filename) . ' cannot be found.'); } //read raw file contents - $contents = @file_get_contents($full_filename); + $contents = file_get_contents($full_filename); if ($contents === false) { - throw new ExceptionFatal('Template file ' - . Url::html_output($full_filename) . ' could not be opened for reading.'); + throw new ExceptionFatal('Template file ' . Url::html_output($full_filename) . ' could not be opened for reading.'); } //remove comments diff --git a/classes/TemplateIndexer.php b/classes/TemplateIndexer.php index 1990f76..bcbb74b 100644 --- a/classes/TemplateIndexer.php +++ b/classes/TemplateIndexer.php @@ -99,18 +99,16 @@ class TemplateIndexer { global $config, $dir, $subdir; $full_filename = $config -> __get('template') . $filename; - if (!@is_file($full_filename)) + if (!is_file($full_filename)) { - throw new ExceptionFatal('Template file ' - . Url::html_output($full_filename) . ' cannot be found.'); + throw new ExceptionFatal('Template file ' . Url::html_output($full_filename) . ' cannot be found.'); } //read raw file contents - $contents = @file_get_contents($full_filename); + $contents = file_get_contents($full_filename); if ($contents === false) { - throw new ExceptionFatal('Template file ' - . Url::html_output($full_filename) . ' could not be opened for reading.'); + throw new ExceptionFatal('Template file ' . Url::html_output($full_filename) . ' could not be opened for reading.'); } //remove comments diff --git a/classes/TemplateInfo.php b/classes/TemplateInfo.php index 747bfca..9a5ed92 100644 --- a/classes/TemplateInfo.php +++ b/classes/TemplateInfo.php @@ -168,8 +168,7 @@ class TemplateInfo extends TemplateIndexer $var = strtoupper($m[1]); if (!defined($var)) { - throw new ExceptionDisplay('$' . Url::html_output($m[1]) - . ' is not a valid variable (check if-statement in template file).'); + throw new ExceptionDisplay('$' . Url::html_output($m[1]) . ' is not a valid variable (check if-statement in template file).'); } return (constant($var) ? $m[2] : ''); } @@ -193,12 +192,10 @@ class TemplateInfo extends TemplateIndexer $this -> out = $last_text; //parse sort modes - $this -> out = preg_replace_callback('/\{\s*sort\s*:\s*(\w+)\s*\}/Ui', - array('self', 'callback_sort'), $this -> out); + $this -> out = preg_replace_callback('/\{\s*sort\s*:\s*(\w+)\s*\}/Ui', array('self', 'callback_sort'), $this -> out); //replace {info} variables - $this -> out = preg_replace_callback('/\{\s*info\s*:\s*(\w+)\s*\}/Ui', - array($this, 'callback_info'), $this -> out); + $this -> out = preg_replace_callback('/\{\s*info\s*:\s*(\w+)\s*\}/Ui', array($this, 'callback_info'), $this -> out); } } diff --git a/classes/Url.php b/classes/Url.php index 925c16e..5f23a9d 100644 --- a/classes/Url.php +++ b/classes/Url.php @@ -153,19 +153,16 @@ class Url if (!@is_file($file_dl)) { header('HTTP/1.0 404 Not Found'); - throw new ExceptionDisplay('The file ' - . self::html_output($file_dl) - . ' could not be found on this server.'); + throw new ExceptionDisplay('The file ' . self::html_output($file_dl) . ' could not be found on this server.'); } - if (!($fn = @fopen($file_dl, 'rb'))) + if (!($fn = fopen($file_dl, 'rb'))) { - throw new ExceptionDisplay('

Error 401: permission denied

you cannot access ' - . Url::html_output($file_dl) . ' on this server.'); + throw new ExceptionDisplay('

Error 401: permission denied

you cannot access ' . Url::html_output($file_dl) . ' on this server.'); } if ($headers) { $outname = Item::get_basename($file_dl); - $size = @filesize($file_dl); + $size = filesize($file_dl); if ($size !== false) { header('Content-Length: ' . $size); @@ -177,7 +174,7 @@ class Url global $speed; while (true) { - $temp = @fread($fn, (int)($speed * 1024)); + $temp = fread($fn, (int)($speed * 1024)); if ($temp === '') { break; diff --git a/classes/User.php b/classes/User.php index 57afdc6..7035f1a 100644 --- a/classes/User.php +++ b/classes/User.php @@ -69,8 +69,7 @@ class User */ public function equals(User $user) { - return ((strcasecmp($this -> username, $user -> username) === 0) - && (strcasecmp($this -> sha1_pass, $user -> sha1_pass) === 0)); + return ((strcasecmp($this -> username, $user -> username) === 0) && (strcasecmp($this -> sha1_pass, $user -> sha1_pass) === 0)); } /** @@ -123,15 +122,11 @@ class User $level = (int)$level; if ($level < BANNED || $level > ADMIN) { - throw new ExceptionDisplay('Error in user accounts file: - Invalid user level (for username "' - . Url::html_output($username) . '").'); + throw new ExceptionDisplay('Error in user accounts file: Invalid user level (for username "' . Url::html_output($username) . '").'); } if ($sha1_pass != '' && strlen($sha1_pass) !== 40) { - throw new ExceptionDisplay('Error in user accounts file: - Invalid password hash (for username "' - . Url::html_output($username) . '").'); + throw new ExceptionDisplay('Error in user accounts file: Invalid password hash (for username "' . Url::html_output($username) . '").'); } $this -> sha1_pass = $sha1_pass; $this -> username = $username; diff --git a/config.php b/config.php index 407a967..5d293c5 100644 --- a/config.php +++ b/config.php @@ -116,8 +116,7 @@ if (count($_POST) >= count($strings) + count($numbers)) { if (!@is_dir($_POST[$valid])) { - die(simple_display(htmlentities($valid) - . ' setting is not a valid directory.')); + //die(simple_display(htmlentities($valid) . ' setting is not a valid directory.')); } } @@ -546,4 +545,4 @@ Page generated in --> - + \ No newline at end of file diff --git a/description_file b/description_file index c7de2c0..e44aaa9 100644 --- a/description_file +++ b/description_file @@ -1 +1,4 @@ -./autoindex_license.html |autoindex_license \ No newline at end of file +./autoindex_license.html |autoindex_license +./languages/ Language Directory +./classes/ php stuff +./Days_of_Elijah_and_Enoch.pdf About the Days of Elijah and Enoch diff --git a/favicon.gif b/favicon.gif index e75c684..ebae44e 100644 Binary files a/favicon.gif and b/favicon.gif differ diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..bbb5ba0 Binary files /dev/null and b/favicon.ico differ diff --git a/hidden_files b/hidden_files index 02da88a..e2dba4c 100644 --- a/hidden_files +++ b/hidden_files @@ -1,7 +1,10 @@ cache classes +assets flags index_icons +.htpasswd.autoindex +htpasswd.autoindex languages templates hidden_files diff --git a/index.php b/index.php index 47a9329..b4243a4 100644 --- a/index.php +++ b/index.php @@ -1,5 +1,4 @@ '; @@ -196,14 +192,36 @@ function __autoload($class) { $file = PATH_TO_CLASSES . $class . '.php'; /** Try to load the class file. */ - if (!@include_once($file)) + if (!include_once($file)) { - die(simple_display('Error including file ' - . htmlentities($file) . ' - cannot load class.')); + die(simple_display('Error including file ' . htmlentities($file) . ' - cannot load class.')); } } } +/* +* Instantiate the mx_request_vars class +* make sure to do before it's ever used +*/ +$request = new RequestVars('', false); + +// this is needed to prevent unicode normalization +$super_globals_disabled = $request->super_globals_disabled(); + +// enable super globals to get literal value +if (!$super_globals_disabled) +{ + //$request->disable_super_globals(); +} + + + +/* +*/ +$_GET = array_change_key_case($_GET, CASE_LOWER); +$_POST = array_change_key_case($_POST, CASE_LOWER); + + /** * This is used to report a fatal error that we cannot display with the Display * class. All Exceptions used in AutoIndex should inherit from this class. @@ -211,81 +229,76 @@ function __autoload($class) * @package AutoIndex */ class ExceptionFatal extends Exception {} - try { //now we need to include either the stored settings, or the config generator: - if (@is_file(CONFIG_STORED)) + if (is_file(CONFIG_STORED)) { - if (!@is_readable(CONFIG_STORED)) + if (!is_readable(CONFIG_STORED)) { - throw new ExceptionFatal('Make sure PHP has permission to read the file ' - . Url::html_output(CONFIG_STORED) . ''); + throw new ExceptionFatal('Make sure PHP has permission to read the file ' . Url::html_output(CONFIG_STORED) . ''); } $config = new ConfigData(CONFIG_STORED); } - else if (@is_file(CONFIG_GENERATOR)) + else if (is_file(CONFIG_GENERATOR)) { /** Include the config generator so a new config file can be created. */ - if (!@include_once(CONFIG_GENERATOR)) + if (!include_once(CONFIG_GENERATOR)) { - throw new ExceptionFatal('Error including file ' - . Url::html_output(CONFIG_GENERATOR) . ''); + throw new ExceptionFatal('Error including file ' . Url::html_output(CONFIG_GENERATOR) . ''); } - die(); + exit(); + die('exit.. ?'); } else { - throw new ExceptionFatal('Neither ' - . Url::html_output(CONFIG_GENERATOR) . ' nor ' - . Url::html_output(CONFIG_STORED) . ' could be found.'); + throw new ExceptionFatal('Neither ' . Url::html_output(CONFIG_GENERATOR) . ' nor ' . Url::html_output(CONFIG_STORED) . ' could be found.'); } //find and store the user's IP address and hostname: - $ip = (isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 'N/A'); - if (isset($_SESSION['host'])) + $ip = (!empty($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 'N/A'); + if (!empty($_SESSION['host'])) { $host = $_SESSION['host']; } else { - $_SESSION['host'] = $host = @gethostbyaddr($ip); + $_SESSION['host'] = $host = gethostbyaddr($ip); } //Create a language object: $words = new Language(); - + /* + * Instantiate the Mobile Device Detect class + * make sure to do before it's ever used + */ + $mobile_device_detect = new MobileDeviceDetect(); + $status = $mobile_device_detect->mobile_device_detect(); + //Create a logging object: $log = new Logging($config -> __get('log_file')); - - foreach ($config as $key => $item) - /* Go through each config setting, and set a constant with each setting's + /** + * Go through each config setting, and set a constant with each setting's * name to either true or false depending on if the config setting is * enabled. */ + foreach ($config as $key => $item) { $key = strtoupper($key); if (defined($key)) { - throw new ExceptionFatal(Url::html_output($key) - . ' is already defined in ' . basename(Url::html_output($_SERVER['PHP_SELF'])) - . ', and should not be in the config file.'); + throw new ExceptionFatal(Url::html_output($key) . ' is already defined in ' . basename(Url::html_output($_SERVER['PHP_SELF'])) . ', and should not be in the config file.'); } define($key, ($item != 'false' && $item != '0')); } //make sure all required settings are set in the config file - foreach (array('base_dir', 'icon_path', 'flag_path', 'language', 'template', - 'log_file', 'description_file', 'user_list', 'download_count', - 'hidden_files', 'banned_list', 'show_dir_size', 'use_login_system', - 'force_download', 'search_enabled', 'anti_leech', 'entries_per_page', - 'must_login_to_download', 'archive', 'days_new', 'thumbnail_height', - 'bandwidth_limit', 'md5_show', 'parse_htaccess') as $set) + foreach (array('base_dir', 'icon_path', 'flag_path', 'language', 'template', 'log_file', 'description_file', 'user_list', 'download_count', 'hidden_files', 'banned_list', 'show_dir_size', 'use_login_system', 'force_download', 'search_enabled', 'anti_leech', 'entries_per_page', 'must_login_to_download', 'archive', 'days_new', 'thumbnail_height', 'bandwidth_limit', 'md5_show', 'parse_htaccess') as $set) { if (!defined(strtoupper($set))) { @@ -294,15 +307,16 @@ try } - /* From this point on, we can throw ExceptionDisplay rather than + /** + * From this point on, we can // throw ExceptionDisplay rather than * Exception since all the configuration is done. */ $b_list = $only_these_ips = $banned_ips = array(); - if (BANNED_LIST && @is_file($config -> __get('banned_list'))) + if (BANNED_LIST && is_file($config -> __get('banned_list'))) //make sure the user is not banned { - $b_list = @file($config -> __get('banned_list')); + $b_list = file($config -> __get('banned_list')); if ($b_list === false) { throw new ExceptionDisplay('Error reading from banned_list file.'); @@ -325,24 +339,22 @@ try } if (count($only_these_ips) > 0) { - if (!(DirectoryList::match_in_array($ip, $only_these_ips) || - DirectoryList::match_in_array($host, $only_these_ips))) + if (!(DirectoryList::match_in_array($ip, $only_these_ips) || DirectoryList::match_in_array($host, $only_these_ips))) { throw new ExceptionDisplay($words -> __get('the administrator has blocked your ip address or hostname') . '.'); } } - else if (DirectoryList::match_in_array($ip, $banned_ips) || - DirectoryList::match_in_array($host, $banned_ips)) + else if (DirectoryList::match_in_array($ip, $banned_ips) || DirectoryList::match_in_array($host, $banned_ips)) { throw new ExceptionDisplay($words -> __get('the administrator has blocked your ip address or hostname') . '.'); } } $show_only_these_files = $hidden_files = array(); - if (HIDDEN_FILES && @is_file($config -> __get('hidden_files'))) + if (HIDDEN_FILES && is_file($config -> __get('hidden_files'))) //store the hidden file list in $hidden_list { - $hidden_list = @file($config -> __get('hidden_files')); + $hidden_list = file($config -> __get('hidden_files')); if ($hidden_list === false) { throw new ExceptionDisplay('Error reading from "hidden_files" file.'); @@ -369,27 +381,23 @@ try //size of the "chunks" that are read at a time from the file (when $force_download is on) $speed = (BANDWIDTH_LIMIT ? $config -> __get('bandwidth_limit') : 8); - if (DOWNLOAD_COUNT) { - if (!@is_file($config -> __get('download_count'))) + if (!is_file($config -> __get('download_count'))) { - $h = @fopen($config -> __get('download_count'), 'wb'); + $h = fopen($config -> __get('download_count'), 'wb'); if ($h === false) { - throw new ExceptionDisplay('Could not open download count file for writing.' - . ' Make sure PHP has write permission to this file.'); + throw new ExceptionDisplay('Could not open download count file for writing.' . ' Make sure PHP has write permission to this file.'); } fclose($h); } $downloads = new ConfigData($config -> __get('download_count')); } - //create a user object: $log_login = false; - if (USE_LOGIN_SYSTEM && isset($_POST['username'], $_POST['password']) - && $_POST['username'] != '' && $_POST['password'] != '') + if (USE_LOGIN_SYSTEM && !empty($_POST['username']) && ($_POST['username'] != '') && ($_POST['password'] != '')) { $you = new UserLoggedIn($_POST['username'], sha1($_POST['password'])); $log_login = true; @@ -397,7 +405,7 @@ try unset($_POST['password']); $_SESSION['username'] = $_POST['username']; } - else if (USE_LOGIN_SYSTEM && isset($_SESSION['username'], $_SESSION['password'])) + else if (USE_LOGIN_SYSTEM && !empty($_SESSION['username'])) { $you = new UserLoggedIn($_SESSION['username'], $_SESSION['password']); } @@ -415,25 +423,23 @@ try } } - //set the logged in user's home directory: $dir = Item::make_sure_slash((($you -> home_dir == '') ? $config -> __get('base_dir') : $you -> home_dir)); $config -> set('base_dir', $dir); $subdir = ''; - if (isset($_GET['dir'])) + if (!empty($_GET['dir'])) { $dir .= Url::clean_input($_GET['dir']); $dir = Item::make_sure_slash($dir); - if (!@is_dir($dir)) + if (!is_dir($dir)) { header('HTTP/1.0 404 Not Found'); $_GET['dir'] = ''; //so the "continue" link will work - throw new ExceptionDisplay('The directory ' - . Url::html_output($dir) . ' does not exist.'); + throw new ExceptionDisplay('The directory ' . Url::html_output($dir) . ' does not exist.'); } $subdir = substr($dir, strlen($config -> __get('base_dir'))); - if (isset($_GET['file']) && ($file = $_GET['file'])) + if (!empty($_GET['file']) && ($file = $_GET['file'])) { while (preg_match('#\\\\|/$#', $file)) //remove all slashes from the end of the name @@ -441,21 +447,16 @@ try $file = substr($file, 0, -1); } $file = Url::clean_input($file); - if (!@is_file($dir . $file)) + if (!is_file($dir . $file)) { header('HTTP/1.0 404 Not Found'); - throw new ExceptionDisplay('The file ' - . Url::html_output($file) . ' does not exist.'); + throw new ExceptionDisplay('The file ' . Url::html_output($file) . ' does not exist.'); } - if (ANTI_LEECH && !isset($_SESSION['ref']) && (!isset($_SERVER['HTTP_REFERER']) - || stripos($_SERVER['HTTP_REFERER'], $_SERVER['SERVER_NAME']) === false)) + if (ANTI_LEECH && !!empty($_SESSION['ref']) && (!!empty($_SERVER['HTTP_REFERER']) || stripos($_SERVER['HTTP_REFERER'], $_SERVER['SERVER_NAME']) === false)) { $log -> add_entry('Leech Attempt'); - $self = $_SERVER['SERVER_NAME'] . Url::html_output($_SERVER['PHP_SELF']) - . '?dir=' . Url::translate_uri($subdir); - throw new ExceptionDisplay('

This PHP Script has an Anti-Leech feature turned on.

' - . '

Make sure you are accessing this file directly from http://' . $self . '

'); + $self = $_SERVER['SERVER_NAME'] . Url::html_output($_SERVER['PHP_SELF']) . '?dir=' . Url::translate_uri($subdir); + throw new ExceptionDisplay('

This PHP Script has an Anti-Leech feature turned on.

' . '

Make sure you are accessing this file directly from http://' . $self . '

'); } $log -> add_entry($file); if (DOWNLOAD_COUNT) @@ -469,14 +470,12 @@ try if ($log_login) { - $log -> add_entry('Successful login (Username: ' - . $_SESSION['username'] . ')'); + $log -> add_entry('Successful login (Username: ' . $_SESSION['username'] . ')'); } if (DESCRIPTION_FILE) { - $descriptions = new ConfigData((@is_file($config -> __get('description_file'))) - ? $config -> __get('description_file') : false); + $descriptions = new ConfigData((is_file($config -> __get('description_file')) ? $config -> __get('description_file') : false)); } if (PARSE_HTACCESS) @@ -485,23 +484,20 @@ try new Htaccess($dir, '.htaccess'); } - if (MD5_SHOW && isset($_GET['md5']) && $_GET['md5'] != '') + if (MD5_SHOW && !empty($_GET['md5']) && $_GET['md5'] != '') { $file = $dir . Url::clean_input($_GET['md5']); - if (!@is_file($file)) + if (!is_file($file)) { header('HTTP/1.0 404 Not Found'); - throw new ExceptionDisplay('Cannot calculate md5sum: the file ' - . Url::html_output($file) . ' does not exist.'); + throw new ExceptionDisplay('Cannot calculate md5sum: the file ' . Url::html_output($file) . ' does not exist.'); } - $size = (int)@filesize($file); + $size = (int)filesize($file); if ($size <= 0 || $size / 1048576 > $config -> __get('md5_show')) { - throw new ExceptionDisplay('Empty file, or file too big to calculate the' - . 'md5sum of (according to the $md5_show variable).'); + throw new ExceptionDisplay('Empty file, or file too big to calculate the' . 'md5sum of (according to the $md5_show variable).'); } - die(simple_display(md5_file($file), 'md5sum of ' - . Url::html_output($file))); + die(simple_display(md5_file($file), 'md5sum of ' . Url::html_output($file))); } if (THUMBNAIL_HEIGHT && isset($_GET['thumbnail'])) @@ -524,30 +520,39 @@ try } $mime = new MimeType('.tar'); header('Content-Type: ' . $mime -> __toString()); - header('Content-Disposition: attachment; filename="' - . $outfile . '.tar"'); - @set_time_limit(0); + header('Content-Disposition: attachment; filename="' . $outfile . '.tar"'); + set_time_limit(0); $list = new DirectoryList($dir); $tar = new Tar($list, $outfile, strlen($dir)); die(); } + if (THUMBNAIL_HEIGHT && isset($_GET['thm'])) + { + $fn = Url::clean_input($_GET['thm']); + if ($fn == '') + { + die(); + } + echo new Stream($fn); + } + //set the sorting mode: - if (isset($_GET['sort']) && $_GET['sort'] != '') + if (!empty($_GET['sort']) && $_GET['sort'] != '') { $_SESSION['sort'] = $_GET['sort']; } - else if (!isset($_SESSION['sort'])) + else if (!!empty($_SESSION['sort'])) { $_SESSION['sort'] = 'filename'; //default sort mode } //set the sorting order: - if (isset($_GET['sort_mode']) && ($_GET['sort_mode'] == 'a' || $_GET['sort_mode'] == 'd')) + if (!empty($_GET['sort_mode']) && ($_GET['sort_mode'] == 'a' || $_GET['sort_mode'] == 'd')) { $_SESSION['sort_mode'] = $_GET['sort_mode']; } - else if (!isset($_SESSION['sort_mode'])) + else if (!!empty($_SESSION['sort_mode'])) { $_SESSION['sort_mode'] = 'a'; //default sort order } @@ -561,25 +566,24 @@ try if (USE_LOGIN_SYSTEM) { - if (isset($_GET['logout']) && $_GET['logout'] == 'true') + if (!empty($_GET['logout']) && $_GET['logout'] == 'true') { $you -> logout(); } - else if (isset($_GET['action']) && $_GET['action'] != '') + else if (!empty($_GET['action']) && $_GET['action'] != '') { $admin = new Admin($you); //the constructor checks if you really are an admin $admin -> action($_GET['action']); } } - if (ANTI_LEECH && !isset($_SESSION['ref'])) + if (ANTI_LEECH && !!empty($_SESSION['ref'])) { $_SESSION['ref'] = true; } $search_log = ''; - if (SEARCH_ENABLED && isset($_GET['search'], $_GET['search_mode']) - && $_GET['search'] != '' && $_GET['search_mode'] != '') + if (SEARCH_ENABLED && !empty($_GET['search']) && ($_GET['search'] != '') && ($_GET['search_mode'] != '')) { $s = Url::clean_input($_GET['search']); $dir_list = new Search($s, $dir, $_GET['search_mode']); @@ -588,9 +592,9 @@ try else if (ENABLE_CACHE) { $cache = CACHE_STORAGE_DIR . strtr($dir, '\/:', '---'); //path to cache file - if (@is_file($cache)) + if (is_file($cache)) { - $contents = @file_get_contents($cache); + $contents = file_get_contents($cache); if ($contents === false) { throw new ExceptionDisplay('Cannot open cache file for reading. Make sure PHP has read permission for these files.'); @@ -600,17 +604,15 @@ try else { $dir_list = new DirectoryListDetailed($dir); - if (!@is_dir(CACHE_STORAGE_DIR)) + if (!is_dir(CACHE_STORAGE_DIR)) { if (!Admin::mkdir_recursive(CACHE_STORAGE_DIR)) //Attempt to create the directory. If it fails, tell the user to manually make the folder. { - throw new ExceptionDisplay('Please create the directory ' - . Url::html_output(CACHE_STORAGE_DIR) - . ' so cache files can be written.'); + throw new ExceptionDisplay('Please create the directory ' . Url::html_output(CACHE_STORAGE_DIR) . ' so cache files can be written.'); } } - $h = @fopen($cache, 'wb'); + $h = fopen($cache, 'wb'); if ($h === false) { throw new ExceptionDisplay('Cannot write to cache file. Make sure PHP has write permission in the cache directory.'); @@ -621,7 +623,7 @@ try } else { - $page = ((ENTRIES_PER_PAGE && isset($_GET['page'])) ? (int)$_GET['page'] : 1); + $page = ((ENTRIES_PER_PAGE && !empty($_GET['page'])) ? (int)$_GET['page'] : 1); $dir_list = new DirectoryListDetailed($dir, $page); $max_page = (ENTRIES_PER_PAGE ? (ceil($dir_list -> total_items() / $config -> __get('entries_per_page'))) : 1); } diff --git a/index_icons/winvista/image.png b/index_icons/winvista/image.png index 5354088..bbda89b 100644 Binary files a/index_icons/winvista/image.png and b/index_icons/winvista/image.png differ diff --git a/languages/al.txt b/languages/al.txt index 585475d..ad81be7 100644 --- a/languages/al.txt +++ b/languages/al.txt @@ -95,6 +95,7 @@ peshitta Peshitta khabouris Khabouris sinaiticus Sinaiticus qumran Qumran + CHAP Chapter GEN Genesis EXO Exodus @@ -184,4 +185,502 @@ JN1 1 John JN2 2 John JN3 3 John JDE Jude -REV Revelation \ No newline at end of file +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/ar.txt b/languages/ar.txt index 824f31d..547041e 100644 --- a/languages/ar.txt +++ b/languages/ar.txt @@ -95,3 +95,592 @@ peshitta بشيطتا khabouris Khabouris sinaiticus Sinaiticus qumran Qumran + +CHAP Chapter +GEN Genesis +EXO Exodus +LEV Leviticus +NUM Numbers +DEU Deuteronomy +JOS Joshua +JDG Judges +RUT Ruth +SA1 1 Samuel +SA2 2 Samuel +KI1 1 Kings +KI2 2 Kings +CH1 1 Chronicles +CH2 2 Chronicles +EZR Ezra +NEH Nehemiah +EST Esther +JOB Job +PSA Psalms +PSA_VOL1 Psalms Vol 1 +PSA_VOL2 Psalms Vol 2 +PSA_VOL3 Psalms Vol 3 +PSA_VOL4 Psalms Vol 4 +PSA_VOL5 Psalms Vol 5 +PRO Proverbs +ECC Ecclesiastes +SNG Song of Solomon +ISA Isaiah +JER Jeremiah +LAM Lamentations +EZE Ezekiel +DAN Daniel +HOS Hosea +JOL Joel +AMO Amos +OBA Obadiah +JNA Jonah +MIC Micah +NAH Nahum +ENO 1 Enoch +HAB Habakkuk +ZEP Zephaniah +HAG Haggai +ZEC Zechariah +MAL Malachi +GES GES +LES LES +TOB Tobit +JDT Judith +ESA Esdras +WIS Wisdom of Solomon +SIR Sirach +BAR Baruch +PAZ Prayer of Azariah +SUS Susanna +BEL Bel and the Drago +MAN Prayer of Manasses +MA1 1 Maccabees +MA2 2 Maccabees +MA3 3 Maccabees +MA4 4 Maccabees +MAT Matthew +MRK Mark +LUK Luke +JOH John +JHN John +ACT Acts +ROM Romans +CO1 1 Corinthians +CO2 2 Corinthians +GAL Galatians +EPH Ephesians +PHP Philippians +COL Colossians +TH1 1 Thessalonians +TH2 2 Thessalonians +TI1 1 Timothy +TI2 2 Timothy +TIT Titus +PHM Philemon +HEB Hebrews +JAM James +PE1 1 Peter +PE2 2 Peter +JN1 1 John +JN2 2 John +JN3 3 John +JDE Jude +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/arc.txt b/languages/arc.txt index ed00561..0ada6f3 100644 --- a/languages/arc.txt +++ b/languages/arc.txt @@ -95,3 +95,592 @@ peshitta ܦܫܝܼܛܬܵܐ khabouris Khabouris sinaiticus Sinaiticus qumran Qumran + +CHAP Chapter +GEN Genesis +EXO Exodus +LEV Leviticus +NUM Numbers +DEU Deuteronomy +JOS Joshua +JDG Judges +RUT Ruth +SA1 1 Samuel +SA2 2 Samuel +KI1 1 Kings +KI2 2 Kings +CH1 1 Chronicles +CH2 2 Chronicles +EZR Ezra +NEH Nehemiah +EST Esther +JOB Job +PSA Psalms +PSA_VOL1 Psalms Vol 1 +PSA_VOL2 Psalms Vol 2 +PSA_VOL3 Psalms Vol 3 +PSA_VOL4 Psalms Vol 4 +PSA_VOL5 Psalms Vol 5 +PRO Proverbs +ECC Ecclesiastes +SNG Song of Solomon +ISA Isaiah +JER Jeremiah +LAM Lamentations +EZE Ezekiel +DAN Daniel +HOS Hosea +JOL Joel +AMO Amos +OBA Obadiah +JNA Jonah +MIC Micah +NAH Nahum +ENO 1 Enoch +HAB Habakkuk +ZEP Zephaniah +HAG Haggai +ZEC Zechariah +MAL Malachi +GES GES +LES LES +TOB Tobit +JDT Judith +ESA Esdras +WIS Wisdom of Solomon +SIR Sirach +BAR Baruch +PAZ Prayer of Azariah +SUS Susanna +BEL Bel and the Drago +MAN Prayer of Manasses +MA1 1 Maccabees +MA2 2 Maccabees +MA3 3 Maccabees +MA4 4 Maccabees +MAT Matthew +MRK Mark +LUK Luke +JOH John +JHN John +ACT Acts +ROM Romans +CO1 1 Corinthians +CO2 2 Corinthians +GAL Galatians +EPH Ephesians +PHP Philippians +COL Colossians +TH1 1 Thessalonians +TH2 2 Thessalonians +TI1 1 Timothy +TI2 2 Timothy +TIT Titus +PHM Philemon +HEB Hebrews +JAM James +PE1 1 Peter +PE2 2 Peter +JN1 1 John +JN2 2 John +JN3 3 John +JDE Jude +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/bg.txt b/languages/bg.txt index d877621..6b682bd 100644 --- a/languages/bg.txt +++ b/languages/bg.txt @@ -184,4 +184,504 @@ JN1 1-е Иоанна JN2 2-е Иоанна JN3 3-е Иоанна JDE Иуды -REV Откровение \ No newline at end of file +REV Откровение + + + +AFAR Afară +AFRICAN-AMERICAN_ENGLISH Enleză Afro-Americană +UNITED_STATES Statele Unite +ABKHAZIAN Abkhaziană +AVESTAN Avestană +AFRIKAANS Africană +ENGLISH-CREOLE Creolă Engleză +ANGUILLA Anguillană +AROMANIAN Aromână +AKAN Akană +ALBANIAN Albaniană +AMHARIC Amharică +ARMENIAN Armeniană +ARAGONESE Aragonesă +ANGOLIAN Angoliană +ANGIKA Angika +ARABIC Arabă +ARAMEIC Arameică +ALGERIAN_ARABIC Arabă Algeriană +MOROCCAN_ARABIC Arabă Marocană +MOROCCO Maroc +JUDEO-ARABIC Iudeo-Arabă +KABYLE Kabile +ALGERIA Algeriană +ASSAMESE Assameză +GERMAN_AUSTRI Germană Austriacă +AVARIC Avarică +AVARIAN_KHANATE Daghestaneză +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijană +FINNISH Finlandeză +BASHKIR Başkir +BOSNIAN Bosniană +CROATIAN Croată +SERBIAN Sârbă +BAVARIAN Bavareză +BARBADOS Barbados +BELARUSIAN Belarusă +BULGARIAN Bulgară +BIHARI Bihară +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetană +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswană +CAMEROONIAN_PIDGIN_ENGLISH Engleză Cameroniană Pidgin +CAMEROONIAN Cameroniană +CATALAN Catalană +COA_A_COCOS Coa de Cocos +CHECHEN Cecenă +CHAMORRO Chamoro +CHINESE Chineză +CHINESE_FUJIA Chineză Fujian +CHINESE_DONG Chineză Dong +CHINA_JINYU Chineză Jinyu +CHINESE_MANDARIN Chineză Mandarină +CHINESE_PU-XIAN Chineză Pu-Xian +CHINESE_HUIZHOU Chineză Huizhou +CHINESE_ZHONG Chineză Zhong +DING_CHINESE Chineză Ding +GAN_CHINESE Chineză Gan +CHINESE_HAKKA Chineză Hakka +XIANG_CHINESE Chineză Xiang +LITERARY_CHINESE Chineză Literară +MIN_BEI_CHINESE Chineză Min Bei +MIN_NAN_CHINESE Chineză Min Nan +WU_CHINESE Chineză Wu +YUE_CHINESE Chineză Yue +CORSICAN Corsicană +CREE Cree +CZECH Cehă +SLAVONIC Slavonă +CHUVASH Chuvaş +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Chineză Malaysiană +PAPIAMENTU Papiamentu +CURAÇAO Curaşao +DANISH Daneză +GERMAN Germană +GERMAN_GERMANY Germană Germania +DEUTSCH Deutsch +BELGIUM_GERMAN Germană Belgiană +AUSTRIAN_GERMAN Germană Austriacă +SWISS_GERMAN Germană Swiss +LUXEMBOURG_GERMAN Germană Luxembourg +LUXEMBOURGIAN Luxembourgiană +LIECHTENSTEIN_GERMAN Germană Liechtenstein +ALEMANNIC_GERMAN Germană Alemannic +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Franceză Dominicană Creolă +ROSEAU Roseau +DOMINICA_ENGLISH Engleză Dominicană +SANTO_DOMINGO_SPANISH Spaniolă Santo Domingo +SANTO_DOMINGO_ENGLISH Engleză Santo Domingo +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afară Djibouti +DIVEHI Divehi +MALDIVIAN Maldiviană +SHAWIYA_BERBER Şawiya Berberă +DZONGKHA Dzongkha +COPTIC Coptă +EWE Ewe +GREEK Greacă +CAPPADOCIAN_GREEK Greacă Capadochiană +MYCENAEAN_GREEK Greacă Micenaeană +PONTIC Pontică +TSAKONIAN Ţakoniană +YEVANIC Ievanică +BRITISH_ENGLISH Engleză Britaică +BRITISH Britaică +FIJIAN_ENGLISH Engleză Fijian +GIBRALTARIAN Gibraltariană +GIBRALTARIAN _ENGLISH Engleză Gibraltariană +ENGLISH Engleză +AMERICAN_ENGLISH Engleză Americană +HIBERNO_ENGLISH Hiberno Engleză +US_ENGLISH Engleză SUA +ENGLISH_ISRAEL Engleză Israel +ISRAELY_ENGLISH Engleză Israeliană +HEBLISH Hebliş +ENGBREW Engbrew +ENGLISH_CANADA Engleză Canada +CANADIAN_ENGLISH Engleză Canadiană +COOK_ISLANDS_ENGLISH Engleză Insulele Cook +INDIAN_ENGLISH Engleză Indian +ANGUILLAN_ENGLISH Engleză Anguillană +AUSTRALIAN_ENGLISH Engleză Australiană +ENGLISH_NEW_ZEALAND Engleză Nou Zealandeză +NEW_ZEALAND_ENGLISH Engleză NOUA Zoealandă +NEW_ENGLAND_ENGLISH Engleză NOUA Anglie +BERMUDIAN ENGLISH Engleză Bermudiană +NIUEAN_ENGLISH Engleză Niueană +MONTSERRAT_ENGLISH Engleză Montserrat +PITCAIRN_ISLAND_ENGLISH Engleză Insula Pitcairn +ST_HELENA_ENGLISH Engleză ST Elena +ENGLISH_TURKS_CAICOS Engleză Turks Caicos +VIRGIN_ISLANDS_ENGLISH Engleză Insulele Virgine +ESPERANTO Esperanţo +ERITREA Eritrea +SPANISH Spaniolă +SPANISH_MEXICO Spaniolă Mexico +SPANISH_UNITED_STATES Spaniolă Statele Unite +SPANISH_CARIBBEAN Spaniolă Caribbeană +SPANISH_ARGENTINIAN Spaniolă Argentiniană +SPANISH_BOLIVIAN Spaniolă Boliviană +SPANISH_BRAZILIAN Spaniolă Braziliană +SPANISH_CHILEAN Spaniolă Chileană +SPANISH_COLOMBIAN Spaniolă Columbiană +SPANISH_COSTA_RICA Spaniolă Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spaniolă Republica Dominicană +SPANISH_ECUADOR Spaniolă Ecuador +SPANISH_SPAIN Spaniolă Spania +SPANISH_NL Spaniolă NL +SPANISH_EUROPE Spaniolă Europa +SPANISH_GUATEMALA Spaniolă Guatemala +SPANISH_HONDURAS Spaniolă Honduras +SPANISH_LAO Spaniolă Lao +SPANISH_NICARAGUA Spaniolă Nicaragua +SPANISH_PANAMIAN Spaniolă Panamian +SPANISH_PERU Spaniolă Peru +SPANISH_PUERTO_RICO Spaniolă Puerto Rico +SPANISH_PARAGUAYS Paniş Paraguay +SPANISH_EL_SALVADOR Spaniolă EL Salvador +SPANISH_URUGUAY Spaniolă Uruguay +SPANISH_VENEZUELA Spaniolă Venezuela +SPANISH_LATIN_AMERICA Spaniolă Latin Americană +ESTONIAN Estonian +BASQUE Bască +PERSIAN Persiană +ADAMAWA_FULFULDE Adamawa Fulfuldă +BAGIRMI_FULFULDE Bagirmi Fulfuldă +BORGU_FULFULDE Borgu Fulfuldă +NIGER_FULFULDE Niger Fulfuldă +MAASINA_FULFULDE Maasina Fulfuldă +NIGERIAN_FULFULDE Nigeriană Fulfuldă +PULAAR Pulaară +WESTERN_NIGER_FULFULDE Fulfuldă Vest Nigeriană +KVEN Kven +NORWEGIAN Norwegiană +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH Franceză +METROPOLITAN_FRENCH Franceză Metropolitană +ACADIAN_FRENCH Franceză Acadiană +DOMINICA_FRENCH Franceză Dominicană +ALGERIAN_FRENCH Franceză Algeriană +AOSTAN_FRENCH Franceză Aostană +BELGIAN_FRENCH Franceză Belgiană +CAMBODIAN_FRENCH Franceză Cambodiană +CAJUN_FRENCH Franceză CAJUN +CANADIAN_FRENCH Franceză Canadiană +GUIANESE_FRENCH Franceză Guianesă +FRENCH_GUIANA Franceză Guiana +GUYANESE_CREOLE Creolă Guianesă +ENGLISH_GUIANA Engleză Guianesă +GUIANESE_ENGLISH Guianesă Engleză +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Creolă Haitiană +INDIAN_FRENCH Franceză Indiană +ANGLO_NORMAN_FRENCH Franceză Anglo Normană +JERSEY_LEGAL_FRENCH Franceză Jersey Legală +LAO_FRENCH Franceză Lao +FRENCH_CREOLE Franceză Creolă +LOUISIANIAN_FRENCH Franceză Louisianiană +LOUISIANA_CREOLE Creolă Louisiana +MERIDIONAL_FRENCH Franceză Meridională +MISSOURI_FRENCH Franceză Missouri +NEW_CALEDONIAN_FRENCH Franceză NOUA Caledonie +NEWFOUNDLAND_FRENCH Franceză NEW Foundland +NEW_ENGLAND_FRENCH Franceză NOUA Anglie +QUEBEC_FRENCH Franceză Quebec +SWISS_FRENCH Franceză Swiss +VIETNAMESE_FRENCH Franceză Vietnameză +WEST_INDIAN_FRENCH Franceză Vest Indiană +WALLISIAN_FRENCH Franceză Wallisiană +WESTERN_FRISIAN Frisiană Vestică +FRYSK Frisc +IRISH_GABON Irlandeză Gabonă +GENERAL_AMERICAN Generală Americană +GUADELOUPEAN_CREOLE_FRENCH Franceză Guadeloupeană Creolă +SCOTTISH_GRENADA Scoţiană Grenada +GEORGIAN Georgiană +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Greacă Modernă +ANCIENT_GREEK Greacă Antică +GALICIAN Galiciană +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Guarani Est Boliviană +MBYA_GUARANI Guarani Mbya +PARAGUAYAN_GUARANI Guarani Paraguaian +WESTERN_BOLIVIAN_GUARANI Guarani Vest Boliviană +SOUTH_GEORGIA_ENGLISH Engleză Sud Georgiană +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Guineană Ecuatorială +GUJARATI Gujarati +MANX Manx +GUYAN Aguiana +HEBREW Ebraică +MODERN_HEBREW Ebraică Modernă +CLASSICAL_HEBREW Ebraică Clasică +SAMARITAN_ARAMEIC Arameică Samariteană +SAMARITAN_HEBREW Ebraică Samariteană +MOABITE_HEBREW Ebraică Moabită +EDOMITE_HEBREW Ebraică Edomită +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitiană +HUNGARIAN Maghiară +ARMENIAN_ARTSAKH Armeniană Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indoneziană +INTERLINGUE Interlingue +IRISH Irlandeză +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iraniană +IDO Ido +ICELANDIC Icelandică +ITALIAN Italiană +INUKTITUT Inuktitut +IRAQIAN Irachiană +JERRIAIS Jerriais +JORDAN Iordaniană +JAPANESE Japoneză +CAMBODIAN Cambodiană +KENYAN Keniană +KIKUYU Kikuyu +KWANYAMA Kwaniama +KAZAKH Cazacă +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Comoriană Ngazidja +COMOROS Comoriană +NDZWANI_COMORIAN Comoriană Ndzwani +MAORE_COMORIAN Comoriană Maore +MWALI_COMORIAN Comoriană Mwali +KHMER Khmer +KANNADA Cannada +KOREAN Coreană +KANURI Canuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Caşmiri +KAZAKHSTAN Cazacstan +CORNISH Corniş +KYRGYZSTAN Chirghizstan +SRI_LANKA Sri Lanka +LATVIAN Latviană +LUXEMBOURGISH Luxemborghiană +LESOTHO Lesoto +LAO LAO +LIBERIA Liberia +LIBYA Libia +LIMBURGISH Limburgiş +LINGALA Lingala +LITHUANIAN Lituaniană +LUBA_KATANGA Luba Catanga +MOLDOVIAN Moldoviană +MOLDAVIAN Moldaviană +MONTENEGRIN Montenegrină +SAINT_MARTIN_FRENCH Franceză Sfânt Martin +MALAGASY Malagasia +MARSHALLESE Marşallese +MAORI Maori +MIKMAQ Micmac +MACEDONIAN Macedoniană +MALAYALAM Malaialam +MAURITANIAN Mauritaniană +MAURITIUS Mauritiu +MONGOLIAN Mongoliană +CAROLINIAN Caroliniană +MALTESE Malteză +BURMESE Burmeză +ANTILLEAN-CREOL Creolă Antilleană +NENGONE Nengonă +NEW_LANGUAGE Limbă Nouă +DUTCH Nederlandeză +PENNSYLVANIA_DUTCH Dutch Pennsilvanian +NORWAY Norvegiană +NAURU Nauru +NIUEAN Niueană +NU Niueană +CHEWA Eva +OCCITAN Occitană +ORIYA Oriya +OSSETIAN Oseţiană +PUNJABI Punjabă +PANJABI Panjabă +GURMIKI Gurmiki +PHILIPPINESE Filipineză +TAHITIAN Tahitiană +PAPUA_GUINEA Papua Guineză +POLISH Poloneză +PASHTO Paştă +PORTUGUESE Portugheză +PORTUGUESE_BRASIL Portugheză Braziliană +QATAR Qatar +QUECHUA Quechua +ROMANSH Romanş +ROMANI Romani +KIRUNDI Chirundi +ROMANIAN Română +ROMANIAN_ANSI Română ANSI +ROMANIAN_NO_DIACRITIC Română Fără Diacritice +ROMANIAN_MOLDAVIA Română Moldova +ROMANIAN_ROMANIA Română Romania +RUSSIAN Rusă +KINYARWANDA Kinia Ruanda +SANSKRIT Sanscrită +SARDINIAN Sardiniană +SAN_MIGUEL_CREOLE_FRENCH Creolă Franceză San Miguel +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Sârbo-Croată +SINHALA Sinhala +SLOVAK Slovacă +SLOVENIAN Slovenă +SAMOAN Samoan +SHONA Şona +SOMAL Somalia +SOMALI Somaliană +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Engleză Standard Scoţiană +SOTHO Soto +SUNDANESE Sundaneză +SINT_MAARTEN_DUTCH Dutch Sint Maarten +SWEDISH Suedeză +SYRIAC Siriacă +SWAHILI Swahili +TURKS_CAICO Turci Caicos +CHAD Ciad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinia +TURKMEN Turkmenă +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Ţvana +TONGA Tonga +TURKISH Turcă +TSONGA Ţonga +TUVALU Tuvalu +TATAR Tătară +TAIWANESE_HOKKIEN Taivaneză Hokkien +UIGHUR Uigur +UKRAINEAN Ucraineană +URDU Urdu +UZBEK Uzbecă +LATIN Latină +VENDA Venda +VINCENTIAN-CREO Creolă Vincenţiană +VIETNAMESE Vietnameză +VOLAPUK Volapuc +FRENCH_VIETNAM Franceză Vietnam +WALLISIAN Valisiană +MALAYO-POLYNESIAN Malaio-Polinesiană +SHIMAORE Şimaore +WALLOON Valoon +WOLOF Volof +XHOSA Xhosa +YIDDISH Iidiş +YORUBA Ioruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chineză Simplificată +CHINESE_HONG_KONG Chineză Hong Kong +CHINESE_TRADITIONAL Chineză Traditională +CHINESE_TRADITIONAL_TAIWAN Chineză Traditională Taiwan +ZAMBIAN Zambiană +ZIMBABWE Zimbabve +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/ca.txt b/languages/ca.txt index 27dace9..336cb00 100644 --- a/languages/ca.txt +++ b/languages/ca.txt @@ -179,4 +179,505 @@ JN1 1 Jean JN2 2 Jean JN3 3 Jean JDE Jude -REV Apocalypse \ No newline at end of file +REV Apocalypse + + + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/cz.txt b/languages/cz.txt index 5d406ce..f03af5e 100644 --- a/languages/cz.txt +++ b/languages/cz.txt @@ -95,3 +95,592 @@ peshitta Peshitta khabouris Khabouris sinaiticus Sinaiticus qumran Qumran + +CHAP Chapter +GEN Genesis +EXO Exodus +LEV Leviticus +NUM Numbers +DEU Deuteronomy +JOS Joshua +JDG Judges +RUT Ruth +SA1 1 Samuel +SA2 2 Samuel +KI1 1 Kings +KI2 2 Kings +CH1 1 Chronicles +CH2 2 Chronicles +EZR Ezra +NEH Nehemiah +EST Esther +JOB Job +PSA Psalms +PSA_VOL1 Psalms Vol 1 +PSA_VOL2 Psalms Vol 2 +PSA_VOL3 Psalms Vol 3 +PSA_VOL4 Psalms Vol 4 +PSA_VOL5 Psalms Vol 5 +PRO Proverbs +ECC Ecclesiastes +SNG Song of Solomon +ISA Isaiah +JER Jeremiah +LAM Lamentations +EZE Ezekiel +DAN Daniel +HOS Hosea +JOL Joel +AMO Amos +OBA Obadiah +JNA Jonah +MIC Micah +NAH Nahum +ENO 1 Enoch +HAB Habakkuk +ZEP Zephaniah +HAG Haggai +ZEC Zechariah +MAL Malachi +GES GES +LES LES +TOB Tobit +JDT Judith +ESA Esdras +WIS Wisdom of Solomon +SIR Sirach +BAR Baruch +PAZ Prayer of Azariah +SUS Susanna +BEL Bel and the Drago +MAN Prayer of Manasses +MA1 1 Maccabees +MA2 2 Maccabees +MA3 3 Maccabees +MA4 4 Maccabees +MAT Matthew +MRK Mark +LUK Luke +JOH John +JHN John +ACT Acts +ROM Romans +CO1 1 Corinthians +CO2 2 Corinthians +GAL Galatians +EPH Ephesians +PHP Philippians +COL Colossians +TH1 1 Thessalonians +TH2 2 Thessalonians +TI1 1 Timothy +TI2 2 Timothy +TIT Titus +PHM Philemon +HEB Hebrews +JAM James +PE1 1 Peter +PE2 2 Peter +JN1 1 John +JN2 2 John +JN3 3 John +JDE Jude +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/da.txt b/languages/da.txt index e0df0e0..129d075 100644 --- a/languages/da.txt +++ b/languages/da.txt @@ -96,3 +96,592 @@ peshitta Peshitta khabouris Khabouris sinaiticus Sinaiticus qumran Qumran + +CHAP Chapter +GEN Genesis +EXO Exodus +LEV Leviticus +NUM Numbers +DEU Deuteronomy +JOS Joshua +JDG Judges +RUT Ruth +SA1 1 Samuel +SA2 2 Samuel +KI1 1 Kings +KI2 2 Kings +CH1 1 Chronicles +CH2 2 Chronicles +EZR Ezra +NEH Nehemiah +EST Esther +JOB Job +PSA Psalms +PSA_VOL1 Psalms Vol 1 +PSA_VOL2 Psalms Vol 2 +PSA_VOL3 Psalms Vol 3 +PSA_VOL4 Psalms Vol 4 +PSA_VOL5 Psalms Vol 5 +PRO Proverbs +ECC Ecclesiastes +SNG Song of Solomon +ISA Isaiah +JER Jeremiah +LAM Lamentations +EZE Ezekiel +DAN Daniel +HOS Hosea +JOL Joel +AMO Amos +OBA Obadiah +JNA Jonah +MIC Micah +NAH Nahum +ENO 1 Enoch +HAB Habakkuk +ZEP Zephaniah +HAG Haggai +ZEC Zechariah +MAL Malachi +GES GES +LES LES +TOB Tobit +JDT Judith +ESA Esdras +WIS Wisdom of Solomon +SIR Sirach +BAR Baruch +PAZ Prayer of Azariah +SUS Susanna +BEL Bel and the Drago +MAN Prayer of Manasses +MA1 1 Maccabees +MA2 2 Maccabees +MA3 3 Maccabees +MA4 4 Maccabees +MAT Matthew +MRK Mark +LUK Luke +JOH John +JHN John +ACT Acts +ROM Romans +CO1 1 Corinthians +CO2 2 Corinthians +GAL Galatians +EPH Ephesians +PHP Philippians +COL Colossians +TH1 1 Thessalonians +TH2 2 Thessalonians +TI1 1 Timothy +TI2 2 Timothy +TIT Titus +PHM Philemon +HEB Hebrews +JAM James +PE1 1 Peter +PE2 2 Peter +JN1 1 John +JN2 2 John +JN3 3 John +JDE Jude +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/de.txt b/languages/de.txt index c6f415b..9c25896 100644 --- a/languages/de.txt +++ b/languages/de.txt @@ -186,4 +186,571 @@ JN1 1 Johannes JN2 2 Johannes JN3 3 Johannes JDE Judas -REV Offenbarung \ No newline at end of file +REV Offenbarung + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURA?O Cura? +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/el.txt b/languages/el.txt index 4f247ac..ed31651 100644 --- a/languages/el.txt +++ b/languages/el.txt @@ -95,4 +95,594 @@ aleppo Αλέππο peshitta Πεσίτα khabouris Khabouris sinaiticus Σινάιτίκ -qumran Κουμράν \ No newline at end of file +qumran Κουμράν + + +CHAP Chapter +GEN Genesis +EXO Exodus +LEV Leviticus +NUM Numbers +DEU Deuteronomy +JOS Joshua +JDG Judges +RUT Ruth +SA1 1 Samuel +SA2 2 Samuel +KI1 1 Kings +KI2 2 Kings +CH1 1 Chronicles +CH2 2 Chronicles +EZR Ezra +NEH Nehemiah +EST Esther +JOB Job +PSA Psalms +PSA_VOL1 Psalms Vol 1 +PSA_VOL2 Psalms Vol 2 +PSA_VOL3 Psalms Vol 3 +PSA_VOL4 Psalms Vol 4 +PSA_VOL5 Psalms Vol 5 +PRO Proverbs +ECC Ecclesiastes +SNG Song of Solomon +ISA Isaiah +JER Jeremiah +LAM Lamentations +EZE Ezekiel +DAN Daniel +HOS Hosea +JOL Joel +AMO Amos +OBA Obadiah +JNA Jonah +MIC Micah +NAH Nahum +ENO 1 Enoch +HAB Habakkuk +ZEP Zephaniah +HAG Haggai +ZEC Zechariah +MAL Malachi +GES GES +LES LES +TOB Tobit +JDT Judith +ESA Esdras +WIS Wisdom of Solomon +SIR Sirach +BAR Baruch +PAZ Prayer of Azariah +SUS Susanna +BEL Bel and the Drago +MAN Prayer of Manasses +MA1 1 Maccabees +MA2 2 Maccabees +MA3 3 Maccabees +MA4 4 Maccabees +MAT Matthew +MRK Mark +LUK Luke +JOH John +JHN John +ACT Acts +ROM Romans +CO1 1 Corinthians +CO2 2 Corinthians +GAL Galatians +EPH Ephesians +PHP Philippians +COL Colossians +TH1 1 Thessalonians +TH2 2 Thessalonians +TI1 1 Timothy +TI2 2 Timothy +TIT Titus +PHM Philemon +HEB Hebrews +JAM James +PE1 1 Peter +PE2 2 Peter +JN1 1 John +JN2 2 John +JN3 3 John +JDE Jude +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/en.txt b/languages/en.txt index c44ab96..55f3077 100644 --- a/languages/en.txt +++ b/languages/en.txt @@ -615,4 +615,73 @@ CHINESE_TRADITIONAL Chinese Traditional CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan ZAMBIAN Zambian ZIMBABWE Zimbabwe -ZULU Zulu \ No newline at end of file +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/en_UK.txt b/languages/en_UK.txt index 982932c..881473a 100644 --- a/languages/en_UK.txt +++ b/languages/en_UK.txt @@ -615,4 +615,72 @@ CHINESE_TRADITIONAL Chinese Traditional CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan ZAMBIAN Zambian ZIMBABWE Zimbabwe -ZULU Zulu \ No newline at end of file +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/en_US.txt b/languages/en_US.txt index 6c7a86d..dc4dba5 100644 --- a/languages/en_US.txt +++ b/languages/en_US.txt @@ -615,4 +615,73 @@ CHINESE_TRADITIONAL Chinese Traditional CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan ZAMBIAN Zambian ZIMBABWE Zimbabwe -ZULU Zulu \ No newline at end of file +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/fr.txt b/languages/fr.txt index 85ca236..a9c66fb 100644 --- a/languages/fr.txt +++ b/languages/fr.txt @@ -179,4 +179,504 @@ JN1 1 Jean JN2 2 Jean JN3 3 Jean JDE Jude -REV Apocalypse \ No newline at end of file +REV Apocalypse + + + +AFAR Afară +AFRICAN-AMERICAN_ENGLISH Enleză Afro-Americană +UNITED_STATES Statele Unite +ABKHAZIAN Abkhaziană +AVESTAN Avestană +AFRIKAANS Africană +ENGLISH-CREOLE Creolă Engleză +ANGUILLA Anguillană +AROMANIAN Aromână +AKAN Akană +ALBANIAN Albaniană +AMHARIC Amharică +ARMENIAN Armeniană +ARAGONESE Aragonesă +ANGOLIAN Angoliană +ANGIKA Angika +ARABIC Arabă +ARAMEIC Arameică +ALGERIAN_ARABIC Arabă Algeriană +MOROCCAN_ARABIC Arabă Marocană +MOROCCO Maroc +JUDEO-ARABIC Iudeo-Arabă +KABYLE Kabile +ALGERIA Algeriană +ASSAMESE Assameză +GERMAN_AUSTRI Germană Austriacă +AVARIC Avarică +AVARIAN_KHANATE Daghestaneză +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijană +FINNISH Finlandeză +BASHKIR Başkir +BOSNIAN Bosniană +CROATIAN Croată +SERBIAN Sârbă +BAVARIAN Bavareză +BARBADOS Barbados +BELARUSIAN Belarusă +BULGARIAN Bulgară +BIHARI Bihară +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetană +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswană +CAMEROONIAN_PIDGIN_ENGLISH Engleză Cameroniană Pidgin +CAMEROONIAN Cameroniană +CATALAN Catalană +COA_A_COCOS Coa de Cocos +CHECHEN Cecenă +CHAMORRO Chamoro +CHINESE Chineză +CHINESE_FUJIA Chineză Fujian +CHINESE_DONG Chineză Dong +CHINA_JINYU Chineză Jinyu +CHINESE_MANDARIN Chineză Mandarină +CHINESE_PU-XIAN Chineză Pu-Xian +CHINESE_HUIZHOU Chineză Huizhou +CHINESE_ZHONG Chineză Zhong +DING_CHINESE Chineză Ding +GAN_CHINESE Chineză Gan +CHINESE_HAKKA Chineză Hakka +XIANG_CHINESE Chineză Xiang +LITERARY_CHINESE Chineză Literară +MIN_BEI_CHINESE Chineză Min Bei +MIN_NAN_CHINESE Chineză Min Nan +WU_CHINESE Chineză Wu +YUE_CHINESE Chineză Yue +CORSICAN Corsicană +CREE Cree +CZECH Cehă +SLAVONIC Slavonă +CHUVASH Chuvaş +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Chineză Malaysiană +PAPIAMENTU Papiamentu +CURAÇAO Curaşao +DANISH Daneză +GERMAN Germană +GERMAN_GERMANY Germană Germania +DEUTSCH Deutsch +BELGIUM_GERMAN Germană Belgiană +AUSTRIAN_GERMAN Germană Austriacă +SWISS_GERMAN Germană Swiss +LUXEMBOURG_GERMAN Germană Luxembourg +LUXEMBOURGIAN Luxembourgiană +LIECHTENSTEIN_GERMAN Germană Liechtenstein +ALEMANNIC_GERMAN Germană Alemannic +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Franceză Dominicană Creolă +ROSEAU Roseau +DOMINICA_ENGLISH Engleză Dominicană +SANTO_DOMINGO_SPANISH Spaniolă Santo Domingo +SANTO_DOMINGO_ENGLISH Engleză Santo Domingo +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afară Djibouti +DIVEHI Divehi +MALDIVIAN Maldiviană +SHAWIYA_BERBER Şawiya Berberă +DZONGKHA Dzongkha +COPTIC Coptă +EWE Ewe +GREEK Greacă +CAPPADOCIAN_GREEK Greacă Capadochiană +MYCENAEAN_GREEK Greacă Micenaeană +PONTIC Pontică +TSAKONIAN Ţakoniană +YEVANIC Ievanică +BRITISH_ENGLISH Engleză Britaică +BRITISH Britaică +FIJIAN_ENGLISH Engleză Fijian +GIBRALTARIAN Gibraltariană +GIBRALTARIAN _ENGLISH Engleză Gibraltariană +ENGLISH Engleză +AMERICAN_ENGLISH Engleză Americană +HIBERNO_ENGLISH Hiberno Engleză +US_ENGLISH Engleză SUA +ENGLISH_ISRAEL Engleză Israel +ISRAELY_ENGLISH Engleză Israeliană +HEBLISH Hebliş +ENGBREW Engbrew +ENGLISH_CANADA Engleză Canada +CANADIAN_ENGLISH Engleză Canadiană +COOK_ISLANDS_ENGLISH Engleză Insulele Cook +INDIAN_ENGLISH Engleză Indian +ANGUILLAN_ENGLISH Engleză Anguillană +AUSTRALIAN_ENGLISH Engleză Australiană +ENGLISH_NEW_ZEALAND Engleză Nou Zealandeză +NEW_ZEALAND_ENGLISH Engleză NOUA Zoealandă +NEW_ENGLAND_ENGLISH Engleză NOUA Anglie +BERMUDIAN ENGLISH Engleză Bermudiană +NIUEAN_ENGLISH Engleză Niueană +MONTSERRAT_ENGLISH Engleză Montserrat +PITCAIRN_ISLAND_ENGLISH Engleză Insula Pitcairn +ST_HELENA_ENGLISH Engleză ST Elena +ENGLISH_TURKS_CAICOS Engleză Turks Caicos +VIRGIN_ISLANDS_ENGLISH Engleză Insulele Virgine +ESPERANTO Esperanţo +ERITREA Eritrea +SPANISH Spaniolă +SPANISH_MEXICO Spaniolă Mexico +SPANISH_UNITED_STATES Spaniolă Statele Unite +SPANISH_CARIBBEAN Spaniolă Caribbeană +SPANISH_ARGENTINIAN Spaniolă Argentiniană +SPANISH_BOLIVIAN Spaniolă Boliviană +SPANISH_BRAZILIAN Spaniolă Braziliană +SPANISH_CHILEAN Spaniolă Chileană +SPANISH_COLOMBIAN Spaniolă Columbiană +SPANISH_COSTA_RICA Spaniolă Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spaniolă Republica Dominicană +SPANISH_ECUADOR Spaniolă Ecuador +SPANISH_SPAIN Spaniolă Spania +SPANISH_NL Spaniolă NL +SPANISH_EUROPE Spaniolă Europa +SPANISH_GUATEMALA Spaniolă Guatemala +SPANISH_HONDURAS Spaniolă Honduras +SPANISH_LAO Spaniolă Lao +SPANISH_NICARAGUA Spaniolă Nicaragua +SPANISH_PANAMIAN Spaniolă Panamian +SPANISH_PERU Spaniolă Peru +SPANISH_PUERTO_RICO Spaniolă Puerto Rico +SPANISH_PARAGUAYS Paniş Paraguay +SPANISH_EL_SALVADOR Spaniolă EL Salvador +SPANISH_URUGUAY Spaniolă Uruguay +SPANISH_VENEZUELA Spaniolă Venezuela +SPANISH_LATIN_AMERICA Spaniolă Latin Americană +ESTONIAN Estonian +BASQUE Bască +PERSIAN Persiană +ADAMAWA_FULFULDE Adamawa Fulfuldă +BAGIRMI_FULFULDE Bagirmi Fulfuldă +BORGU_FULFULDE Borgu Fulfuldă +NIGER_FULFULDE Niger Fulfuldă +MAASINA_FULFULDE Maasina Fulfuldă +NIGERIAN_FULFULDE Nigeriană Fulfuldă +PULAAR Pulaară +WESTERN_NIGER_FULFULDE Fulfuldă Vest Nigeriană +KVEN Kven +NORWEGIAN Norwegiană +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH Franceză +METROPOLITAN_FRENCH Franceză Metropolitană +ACADIAN_FRENCH Franceză Acadiană +DOMINICA_FRENCH Franceză Dominicană +ALGERIAN_FRENCH Franceză Algeriană +AOSTAN_FRENCH Franceză Aostană +BELGIAN_FRENCH Franceză Belgiană +CAMBODIAN_FRENCH Franceză Cambodiană +CAJUN_FRENCH Franceză CAJUN +CANADIAN_FRENCH Franceză Canadiană +GUIANESE_FRENCH Franceză Guianesă +FRENCH_GUIANA Franceză Guiana +GUYANESE_CREOLE Creolă Guianesă +ENGLISH_GUIANA Engleză Guianesă +GUIANESE_ENGLISH Guianesă Engleză +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Creolă Haitiană +INDIAN_FRENCH Franceză Indiană +ANGLO_NORMAN_FRENCH Franceză Anglo Normană +JERSEY_LEGAL_FRENCH Franceză Jersey Legală +LAO_FRENCH Franceză Lao +FRENCH_CREOLE Franceză Creolă +LOUISIANIAN_FRENCH Franceză Louisianiană +LOUISIANA_CREOLE Creolă Louisiana +MERIDIONAL_FRENCH Franceză Meridională +MISSOURI_FRENCH Franceză Missouri +NEW_CALEDONIAN_FRENCH Franceză NOUA Caledonie +NEWFOUNDLAND_FRENCH Franceză NEW Foundland +NEW_ENGLAND_FRENCH Franceză NOUA Anglie +QUEBEC_FRENCH Franceză Quebec +SWISS_FRENCH Franceză Swiss +VIETNAMESE_FRENCH Franceză Vietnameză +WEST_INDIAN_FRENCH Franceză Vest Indiană +WALLISIAN_FRENCH Franceză Wallisiană +WESTERN_FRISIAN Frisiană Vestică +FRYSK Frisc +IRISH_GABON Irlandeză Gabonă +GENERAL_AMERICAN Generală Americană +GUADELOUPEAN_CREOLE_FRENCH Franceză Guadeloupeană Creolă +SCOTTISH_GRENADA Scoţiană Grenada +GEORGIAN Georgiană +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Greacă Modernă +ANCIENT_GREEK Greacă Antică +GALICIAN Galiciană +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Guarani Est Boliviană +MBYA_GUARANI Guarani Mbya +PARAGUAYAN_GUARANI Guarani Paraguaian +WESTERN_BOLIVIAN_GUARANI Guarani Vest Boliviană +SOUTH_GEORGIA_ENGLISH Engleză Sud Georgiană +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Guineană Ecuatorială +GUJARATI Gujarati +MANX Manx +GUYAN Aguiana +HEBREW Ebraică +MODERN_HEBREW Ebraică Modernă +CLASSICAL_HEBREW Ebraică Clasică +SAMARITAN_ARAMEIC Arameică Samariteană +SAMARITAN_HEBREW Ebraică Samariteană +MOABITE_HEBREW Ebraică Moabită +EDOMITE_HEBREW Ebraică Edomită +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitiană +HUNGARIAN Maghiară +ARMENIAN_ARTSAKH Armeniană Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indoneziană +INTERLINGUE Interlingue +IRISH Irlandeză +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iraniană +IDO Ido +ICELANDIC Icelandică +ITALIAN Italiană +INUKTITUT Inuktitut +IRAQIAN Irachiană +JERRIAIS Jerriais +JORDAN Iordaniană +JAPANESE Japoneză +CAMBODIAN Cambodiană +KENYAN Keniană +KIKUYU Kikuyu +KWANYAMA Kwaniama +KAZAKH Cazacă +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Comoriană Ngazidja +COMOROS Comoriană +NDZWANI_COMORIAN Comoriană Ndzwani +MAORE_COMORIAN Comoriană Maore +MWALI_COMORIAN Comoriană Mwali +KHMER Khmer +KANNADA Cannada +KOREAN Coreană +KANURI Canuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Caşmiri +KAZAKHSTAN Cazacstan +CORNISH Corniş +KYRGYZSTAN Chirghizstan +SRI_LANKA Sri Lanka +LATVIAN Latviană +LUXEMBOURGISH Luxemborghiană +LESOTHO Lesoto +LAO LAO +LIBERIA Liberia +LIBYA Libia +LIMBURGISH Limburgiş +LINGALA Lingala +LITHUANIAN Lituaniană +LUBA_KATANGA Luba Catanga +MOLDOVIAN Moldoviană +MOLDAVIAN Moldaviană +MONTENEGRIN Montenegrină +SAINT_MARTIN_FRENCH Franceză Sfânt Martin +MALAGASY Malagasia +MARSHALLESE Marşallese +MAORI Maori +MIKMAQ Micmac +MACEDONIAN Macedoniană +MALAYALAM Malaialam +MAURITANIAN Mauritaniană +MAURITIUS Mauritiu +MONGOLIAN Mongoliană +CAROLINIAN Caroliniană +MALTESE Malteză +BURMESE Burmeză +ANTILLEAN-CREOL Creolă Antilleană +NENGONE Nengonă +NEW_LANGUAGE Limbă Nouă +DUTCH Nederlandeză +PENNSYLVANIA_DUTCH Dutch Pennsilvanian +NORWAY Norvegiană +NAURU Nauru +NIUEAN Niueană +NU Niueană +CHEWA Eva +OCCITAN Occitană +ORIYA Oriya +OSSETIAN Oseţiană +PUNJABI Punjabă +PANJABI Panjabă +GURMIKI Gurmiki +PHILIPPINESE Filipineză +TAHITIAN Tahitiană +PAPUA_GUINEA Papua Guineză +POLISH Poloneză +PASHTO Paştă +PORTUGUESE Portugheză +PORTUGUESE_BRASIL Portugheză Braziliană +QATAR Qatar +QUECHUA Quechua +ROMANSH Romanş +ROMANI Romani +KIRUNDI Chirundi +ROMANIAN Română +ROMANIAN_ANSI Română ANSI +ROMANIAN_NO_DIACRITIC Română Fără Diacritice +ROMANIAN_MOLDAVIA Română Moldova +ROMANIAN_ROMANIA Română Romania +RUSSIAN Rusă +KINYARWANDA Kinia Ruanda +SANSKRIT Sanscrită +SARDINIAN Sardiniană +SAN_MIGUEL_CREOLE_FRENCH Creolă Franceză San Miguel +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Sârbo-Croată +SINHALA Sinhala +SLOVAK Slovacă +SLOVENIAN Slovenă +SAMOAN Samoan +SHONA Şona +SOMAL Somalia +SOMALI Somaliană +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Engleză Standard Scoţiană +SOTHO Soto +SUNDANESE Sundaneză +SINT_MAARTEN_DUTCH Dutch Sint Maarten +SWEDISH Suedeză +SYRIAC Siriacă +SWAHILI Swahili +TURKS_CAICO Turci Caicos +CHAD Ciad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinia +TURKMEN Turkmenă +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Ţvana +TONGA Tonga +TURKISH Turcă +TSONGA Ţonga +TUVALU Tuvalu +TATAR Tătară +TAIWANESE_HOKKIEN Taivaneză Hokkien +UIGHUR Uigur +UKRAINEAN Ucraineană +URDU Urdu +UZBEK Uzbecă +LATIN Latină +VENDA Venda +VINCENTIAN-CREO Creolă Vincenţiană +VIETNAMESE Vietnameză +VOLAPUK Volapuc +FRENCH_VIETNAM Franceză Vietnam +WALLISIAN Valisiană +MALAYO-POLYNESIAN Malaio-Polinesiană +SHIMAORE Şimaore +WALLOON Valoon +WOLOF Volof +XHOSA Xhosa +YIDDISH Iidiş +YORUBA Ioruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chineză Simplificată +CHINESE_HONG_KONG Chineză Hong Kong +CHINESE_TRADITIONAL Chineză Traditională +CHINESE_TRADITIONAL_TAIWAN Chineză Traditională Taiwan +ZAMBIAN Zambiană +ZIMBABWE Zimbabve +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/he.txt b/languages/he.txt index b8aa6e5..779f88c 100644 --- a/languages/he.txt +++ b/languages/he.txt @@ -617,4 +617,72 @@ CHINESE_TRADITIONAL Chinese Traditional CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan ZAMBIAN Zambian ZIMBABWE Zimbabwe -ZULU Zulu \ No newline at end of file +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/hu.txt b/languages/hu.txt index 0ad4613..250afe8 100644 --- a/languages/hu.txt +++ b/languages/hu.txt @@ -187,4 +187,504 @@ JN1 Első János JN2 Második János JN3 Harmadik János JDE Júdás -REV Apokalipszis \ No newline at end of file +REV Apokalipszis + + + +AFAR Afară +AFRICAN-AMERICAN_ENGLISH Enleză Afro-Americană +UNITED_STATES Statele Unite +ABKHAZIAN Abkhaziană +AVESTAN Avestană +AFRIKAANS Africană +ENGLISH-CREOLE Creolă Engleză +ANGUILLA Anguillană +AROMANIAN Aromână +AKAN Akană +ALBANIAN Albaniană +AMHARIC Amharică +ARMENIAN Armeniană +ARAGONESE Aragonesă +ANGOLIAN Angoliană +ANGIKA Angika +ARABIC Arabă +ARAMEIC Arameică +ALGERIAN_ARABIC Arabă Algeriană +MOROCCAN_ARABIC Arabă Marocană +MOROCCO Maroc +JUDEO-ARABIC Iudeo-Arabă +KABYLE Kabile +ALGERIA Algeriană +ASSAMESE Assameză +GERMAN_AUSTRI Germană Austriacă +AVARIC Avarică +AVARIAN_KHANATE Daghestaneză +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijană +FINNISH Finlandeză +BASHKIR Başkir +BOSNIAN Bosniană +CROATIAN Croată +SERBIAN Sârbă +BAVARIAN Bavareză +BARBADOS Barbados +BELARUSIAN Belarusă +BULGARIAN Bulgară +BIHARI Bihară +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetană +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswană +CAMEROONIAN_PIDGIN_ENGLISH Engleză Cameroniană Pidgin +CAMEROONIAN Cameroniană +CATALAN Catalană +COA_A_COCOS Coa de Cocos +CHECHEN Cecenă +CHAMORRO Chamoro +CHINESE Chineză +CHINESE_FUJIA Chineză Fujian +CHINESE_DONG Chineză Dong +CHINA_JINYU Chineză Jinyu +CHINESE_MANDARIN Chineză Mandarină +CHINESE_PU-XIAN Chineză Pu-Xian +CHINESE_HUIZHOU Chineză Huizhou +CHINESE_ZHONG Chineză Zhong +DING_CHINESE Chineză Ding +GAN_CHINESE Chineză Gan +CHINESE_HAKKA Chineză Hakka +XIANG_CHINESE Chineză Xiang +LITERARY_CHINESE Chineză Literară +MIN_BEI_CHINESE Chineză Min Bei +MIN_NAN_CHINESE Chineză Min Nan +WU_CHINESE Chineză Wu +YUE_CHINESE Chineză Yue +CORSICAN Corsicană +CREE Cree +CZECH Cehă +SLAVONIC Slavonă +CHUVASH Chuvaş +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Chineză Malaysiană +PAPIAMENTU Papiamentu +CURAÇAO Curaşao +DANISH Daneză +GERMAN Germană +GERMAN_GERMANY Germană Germania +DEUTSCH Deutsch +BELGIUM_GERMAN Germană Belgiană +AUSTRIAN_GERMAN Germană Austriacă +SWISS_GERMAN Germană Swiss +LUXEMBOURG_GERMAN Germană Luxembourg +LUXEMBOURGIAN Luxembourgiană +LIECHTENSTEIN_GERMAN Germană Liechtenstein +ALEMANNIC_GERMAN Germană Alemannic +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Franceză Dominicană Creolă +ROSEAU Roseau +DOMINICA_ENGLISH Engleză Dominicană +SANTO_DOMINGO_SPANISH Spaniolă Santo Domingo +SANTO_DOMINGO_ENGLISH Engleză Santo Domingo +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afară Djibouti +DIVEHI Divehi +MALDIVIAN Maldiviană +SHAWIYA_BERBER Şawiya Berberă +DZONGKHA Dzongkha +COPTIC Coptă +EWE Ewe +GREEK Greacă +CAPPADOCIAN_GREEK Greacă Capadochiană +MYCENAEAN_GREEK Greacă Micenaeană +PONTIC Pontică +TSAKONIAN Ţakoniană +YEVANIC Ievanică +BRITISH_ENGLISH Engleză Britaică +BRITISH Britaică +FIJIAN_ENGLISH Engleză Fijian +GIBRALTARIAN Gibraltariană +GIBRALTARIAN _ENGLISH Engleză Gibraltariană +ENGLISH Engleză +AMERICAN_ENGLISH Engleză Americană +HIBERNO_ENGLISH Hiberno Engleză +US_ENGLISH Engleză SUA +ENGLISH_ISRAEL Engleză Israel +ISRAELY_ENGLISH Engleză Israeliană +HEBLISH Hebliş +ENGBREW Engbrew +ENGLISH_CANADA Engleză Canada +CANADIAN_ENGLISH Engleză Canadiană +COOK_ISLANDS_ENGLISH Engleză Insulele Cook +INDIAN_ENGLISH Engleză Indian +ANGUILLAN_ENGLISH Engleză Anguillană +AUSTRALIAN_ENGLISH Engleză Australiană +ENGLISH_NEW_ZEALAND Engleză Nou Zealandeză +NEW_ZEALAND_ENGLISH Engleză NOUA Zoealandă +NEW_ENGLAND_ENGLISH Engleză NOUA Anglie +BERMUDIAN ENGLISH Engleză Bermudiană +NIUEAN_ENGLISH Engleză Niueană +MONTSERRAT_ENGLISH Engleză Montserrat +PITCAIRN_ISLAND_ENGLISH Engleză Insula Pitcairn +ST_HELENA_ENGLISH Engleză ST Elena +ENGLISH_TURKS_CAICOS Engleză Turks Caicos +VIRGIN_ISLANDS_ENGLISH Engleză Insulele Virgine +ESPERANTO Esperanţo +ERITREA Eritrea +SPANISH Spaniolă +SPANISH_MEXICO Spaniolă Mexico +SPANISH_UNITED_STATES Spaniolă Statele Unite +SPANISH_CARIBBEAN Spaniolă Caribbeană +SPANISH_ARGENTINIAN Spaniolă Argentiniană +SPANISH_BOLIVIAN Spaniolă Boliviană +SPANISH_BRAZILIAN Spaniolă Braziliană +SPANISH_CHILEAN Spaniolă Chileană +SPANISH_COLOMBIAN Spaniolă Columbiană +SPANISH_COSTA_RICA Spaniolă Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spaniolă Republica Dominicană +SPANISH_ECUADOR Spaniolă Ecuador +SPANISH_SPAIN Spaniolă Spania +SPANISH_NL Spaniolă NL +SPANISH_EUROPE Spaniolă Europa +SPANISH_GUATEMALA Spaniolă Guatemala +SPANISH_HONDURAS Spaniolă Honduras +SPANISH_LAO Spaniolă Lao +SPANISH_NICARAGUA Spaniolă Nicaragua +SPANISH_PANAMIAN Spaniolă Panamian +SPANISH_PERU Spaniolă Peru +SPANISH_PUERTO_RICO Spaniolă Puerto Rico +SPANISH_PARAGUAYS Paniş Paraguay +SPANISH_EL_SALVADOR Spaniolă EL Salvador +SPANISH_URUGUAY Spaniolă Uruguay +SPANISH_VENEZUELA Spaniolă Venezuela +SPANISH_LATIN_AMERICA Spaniolă Latin Americană +ESTONIAN Estonian +BASQUE Bască +PERSIAN Persiană +ADAMAWA_FULFULDE Adamawa Fulfuldă +BAGIRMI_FULFULDE Bagirmi Fulfuldă +BORGU_FULFULDE Borgu Fulfuldă +NIGER_FULFULDE Niger Fulfuldă +MAASINA_FULFULDE Maasina Fulfuldă +NIGERIAN_FULFULDE Nigeriană Fulfuldă +PULAAR Pulaară +WESTERN_NIGER_FULFULDE Fulfuldă Vest Nigeriană +KVEN Kven +NORWEGIAN Norwegiană +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH Franceză +METROPOLITAN_FRENCH Franceză Metropolitană +ACADIAN_FRENCH Franceză Acadiană +DOMINICA_FRENCH Franceză Dominicană +ALGERIAN_FRENCH Franceză Algeriană +AOSTAN_FRENCH Franceză Aostană +BELGIAN_FRENCH Franceză Belgiană +CAMBODIAN_FRENCH Franceză Cambodiană +CAJUN_FRENCH Franceză CAJUN +CANADIAN_FRENCH Franceză Canadiană +GUIANESE_FRENCH Franceză Guianesă +FRENCH_GUIANA Franceză Guiana +GUYANESE_CREOLE Creolă Guianesă +ENGLISH_GUIANA Engleză Guianesă +GUIANESE_ENGLISH Guianesă Engleză +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Creolă Haitiană +INDIAN_FRENCH Franceză Indiană +ANGLO_NORMAN_FRENCH Franceză Anglo Normană +JERSEY_LEGAL_FRENCH Franceză Jersey Legală +LAO_FRENCH Franceză Lao +FRENCH_CREOLE Franceză Creolă +LOUISIANIAN_FRENCH Franceză Louisianiană +LOUISIANA_CREOLE Creolă Louisiana +MERIDIONAL_FRENCH Franceză Meridională +MISSOURI_FRENCH Franceză Missouri +NEW_CALEDONIAN_FRENCH Franceză NOUA Caledonie +NEWFOUNDLAND_FRENCH Franceză NEW Foundland +NEW_ENGLAND_FRENCH Franceză NOUA Anglie +QUEBEC_FRENCH Franceză Quebec +SWISS_FRENCH Franceză Swiss +VIETNAMESE_FRENCH Franceză Vietnameză +WEST_INDIAN_FRENCH Franceză Vest Indiană +WALLISIAN_FRENCH Franceză Wallisiană +WESTERN_FRISIAN Frisiană Vestică +FRYSK Frisc +IRISH_GABON Irlandeză Gabonă +GENERAL_AMERICAN Generală Americană +GUADELOUPEAN_CREOLE_FRENCH Franceză Guadeloupeană Creolă +SCOTTISH_GRENADA Scoţiană Grenada +GEORGIAN Georgiană +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Greacă Modernă +ANCIENT_GREEK Greacă Antică +GALICIAN Galiciană +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Guarani Est Boliviană +MBYA_GUARANI Guarani Mbya +PARAGUAYAN_GUARANI Guarani Paraguaian +WESTERN_BOLIVIAN_GUARANI Guarani Vest Boliviană +SOUTH_GEORGIA_ENGLISH Engleză Sud Georgiană +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Guineană Ecuatorială +GUJARATI Gujarati +MANX Manx +GUYAN Aguiana +HEBREW Ebraică +MODERN_HEBREW Ebraică Modernă +CLASSICAL_HEBREW Ebraică Clasică +SAMARITAN_ARAMEIC Arameică Samariteană +SAMARITAN_HEBREW Ebraică Samariteană +MOABITE_HEBREW Ebraică Moabită +EDOMITE_HEBREW Ebraică Edomită +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitiană +HUNGARIAN Maghiară +ARMENIAN_ARTSAKH Armeniană Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indoneziană +INTERLINGUE Interlingue +IRISH Irlandeză +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iraniană +IDO Ido +ICELANDIC Icelandică +ITALIAN Italiană +INUKTITUT Inuktitut +IRAQIAN Irachiană +JERRIAIS Jerriais +JORDAN Iordaniană +JAPANESE Japoneză +CAMBODIAN Cambodiană +KENYAN Keniană +KIKUYU Kikuyu +KWANYAMA Kwaniama +KAZAKH Cazacă +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Comoriană Ngazidja +COMOROS Comoriană +NDZWANI_COMORIAN Comoriană Ndzwani +MAORE_COMORIAN Comoriană Maore +MWALI_COMORIAN Comoriană Mwali +KHMER Khmer +KANNADA Cannada +KOREAN Coreană +KANURI Canuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Caşmiri +KAZAKHSTAN Cazacstan +CORNISH Corniş +KYRGYZSTAN Chirghizstan +SRI_LANKA Sri Lanka +LATVIAN Latviană +LUXEMBOURGISH Luxemborghiană +LESOTHO Lesoto +LAO LAO +LIBERIA Liberia +LIBYA Libia +LIMBURGISH Limburgiş +LINGALA Lingala +LITHUANIAN Lituaniană +LUBA_KATANGA Luba Catanga +MOLDOVIAN Moldoviană +MOLDAVIAN Moldaviană +MONTENEGRIN Montenegrină +SAINT_MARTIN_FRENCH Franceză Sfânt Martin +MALAGASY Malagasia +MARSHALLESE Marşallese +MAORI Maori +MIKMAQ Micmac +MACEDONIAN Macedoniană +MALAYALAM Malaialam +MAURITANIAN Mauritaniană +MAURITIUS Mauritiu +MONGOLIAN Mongoliană +CAROLINIAN Caroliniană +MALTESE Malteză +BURMESE Burmeză +ANTILLEAN-CREOL Creolă Antilleană +NENGONE Nengonă +NEW_LANGUAGE Limbă Nouă +DUTCH Nederlandeză +PENNSYLVANIA_DUTCH Dutch Pennsilvanian +NORWAY Norvegiană +NAURU Nauru +NIUEAN Niueană +NU Niueană +CHEWA Eva +OCCITAN Occitană +ORIYA Oriya +OSSETIAN Oseţiană +PUNJABI Punjabă +PANJABI Panjabă +GURMIKI Gurmiki +PHILIPPINESE Filipineză +TAHITIAN Tahitiană +PAPUA_GUINEA Papua Guineză +POLISH Poloneză +PASHTO Paştă +PORTUGUESE Portugheză +PORTUGUESE_BRASIL Portugheză Braziliană +QATAR Qatar +QUECHUA Quechua +ROMANSH Romanş +ROMANI Romani +KIRUNDI Chirundi +ROMANIAN Română +ROMANIAN_ANSI Română ANSI +ROMANIAN_NO_DIACRITIC Română Fără Diacritice +ROMANIAN_MOLDAVIA Română Moldova +ROMANIAN_ROMANIA Română Romania +RUSSIAN Rusă +KINYARWANDA Kinia Ruanda +SANSKRIT Sanscrită +SARDINIAN Sardiniană +SAN_MIGUEL_CREOLE_FRENCH Creolă Franceză San Miguel +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Sârbo-Croată +SINHALA Sinhala +SLOVAK Slovacă +SLOVENIAN Slovenă +SAMOAN Samoan +SHONA Şona +SOMAL Somalia +SOMALI Somaliană +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Engleză Standard Scoţiană +SOTHO Soto +SUNDANESE Sundaneză +SINT_MAARTEN_DUTCH Dutch Sint Maarten +SWEDISH Suedeză +SYRIAC Siriacă +SWAHILI Swahili +TURKS_CAICO Turci Caicos +CHAD Ciad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinia +TURKMEN Turkmenă +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Ţvana +TONGA Tonga +TURKISH Turcă +TSONGA Ţonga +TUVALU Tuvalu +TATAR Tătară +TAIWANESE_HOKKIEN Taivaneză Hokkien +UIGHUR Uigur +UKRAINEAN Ucraineană +URDU Urdu +UZBEK Uzbecă +LATIN Latină +VENDA Venda +VINCENTIAN-CREO Creolă Vincenţiană +VIETNAMESE Vietnameză +VOLAPUK Volapuc +FRENCH_VIETNAM Franceză Vietnam +WALLISIAN Valisiană +MALAYO-POLYNESIAN Malaio-Polinesiană +SHIMAORE Şimaore +WALLOON Valoon +WOLOF Volof +XHOSA Xhosa +YIDDISH Iidiş +YORUBA Ioruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chineză Simplificată +CHINESE_HONG_KONG Chineză Hong Kong +CHINESE_TRADITIONAL Chineză Traditională +CHINESE_TRADITIONAL_TAIWAN Chineză Traditională Taiwan +ZAMBIAN Zambiană +ZIMBABWE Zimbabve +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/it.txt b/languages/it.txt index a26a0b3..0fff1b1 100644 --- a/languages/it.txt +++ b/languages/it.txt @@ -186,4 +186,504 @@ JN1 1 Giovanni JN2 2 Giovanni JN3 3 Giovanni JDE Jude -REV Apocalisse \ No newline at end of file +REV Apocalisse + + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH Enlez Afro-American +UNITED_STATES Statele Unite +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS African +ENGLISH-CREOLE Creol Englez +ANGUILLA Anguillan +AROMANIAN Aromn +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragones +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arab +ARAMEIC Arameic +ALGERIAN_ARABIC Arab Algerian +MOROCCAN_ARABIC Arab Marocan +MOROCCO Maroc +JUDEO-ARABIC Iudeo-Arab +KABYLE Kabile +ALGERIA Algerian +ASSAMESE Assamez +GERMAN_AUSTRI German Austriac +AVARIC Avaric +AVARIAN_KHANATE Daghestanez +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijan +FINNISH Finlandez +BASHKIR Bakir +BOSNIAN Bosnian +CROATIAN Croat +SERBIAN Srb +BAVARIAN Bavarez +BARBADOS Barbados +BELARUSIAN Belarus +BULGARIAN Bulgar +BIHARI Bihar +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswan +CAMEROONIAN_PIDGIN_ENGLISH Englez Cameronian Pidgin +CAMEROONIAN Cameronian +CATALAN Catalan +COA_A_COCOS Coa de Cocos +CHECHEN Cecen +CHAMORRO Chamoro +CHINESE Chinez +CHINESE_FUJIA Chinez Fujian +CHINESE_DONG Chinez Dong +CHINA_JINYU Chinez Jinyu +CHINESE_MANDARIN Chinez Mandarin +CHINESE_PU-XIAN Chinez Pu-Xian +CHINESE_HUIZHOU Chinez Huizhou +CHINESE_ZHONG Chinez Zhong +DING_CHINESE Chinez Ding +GAN_CHINESE Chinez Gan +CHINESE_HAKKA Chinez Hakka +XIANG_CHINESE Chinez Xiang +LITERARY_CHINESE Chinez Literar +MIN_BEI_CHINESE Chinez Min Bei +MIN_NAN_CHINESE Chinez Min Nan +WU_CHINESE Chinez Wu +YUE_CHINESE Chinez Yue +CORSICAN Corsican +CREE Cree +CZECH Ceh +SLAVONIC Slavon +CHUVASH Chuva +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Chinez Malaysian +PAPIAMENTU Papiamentu +CURAAO Curaao +DANISH Danez +GERMAN German +GERMAN_GERMANY German Germania +DEUTSCH Deutsch +BELGIUM_GERMAN German Belgian +AUSTRIAN_GERMAN German Austriac +SWISS_GERMAN German Swiss +LUXEMBOURG_GERMAN German Luxembourg +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN German Liechtenstein +ALEMANNIC_GERMAN German Alemannic +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Francez Dominican Creol +ROSEAU Roseau +DOMINICA_ENGLISH Englez Dominican +SANTO_DOMINGO_SPANISH Spaniol Santo Domingo +SANTO_DOMINGO_ENGLISH Englez Santo Domingo +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER awiya Berber +DZONGKHA Dzongkha +COPTIC Copt +EWE Ewe +GREEK Greac +CAPPADOCIAN_GREEK Greac Capadochian +MYCENAEAN_GREEK Greac Micenaean +PONTIC Pontic +TSAKONIAN akonian +YEVANIC Ievanic +BRITISH_ENGLISH Englez Britaic +BRITISH Britaic +FIJIAN_ENGLISH Englez Fijian +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Englez Gibraltarian +ENGLISH Englez +AMERICAN_ENGLISH Englez American +HIBERNO_ENGLISH Hiberno Englez +US_ENGLISH Englez SUA +ENGLISH_ISRAEL Englez Israel +ISRAELY_ENGLISH Englez Israelian +HEBLISH Hebli +ENGBREW Engbrew +ENGLISH_CANADA Englez Canada +CANADIAN_ENGLISH Englez Canadian +COOK_ISLANDS_ENGLISH Englez Insulele Cook +INDIAN_ENGLISH Englez Indian +ANGUILLAN_ENGLISH Englez Anguillan +AUSTRALIAN_ENGLISH Englez Australian +ENGLISH_NEW_ZEALAND Englez Nou Zealandez +NEW_ZEALAND_ENGLISH Englez NOUA Zoealand +NEW_ENGLAND_ENGLISH Englez NOUA Anglie +BERMUDIAN ENGLISH Englez Bermudian +NIUEAN_ENGLISH Englez Niuean +MONTSERRAT_ENGLISH Englez Montserrat +PITCAIRN_ISLAND_ENGLISH Englez Insula Pitcairn +ST_HELENA_ENGLISH Englez ST Elena +ENGLISH_TURKS_CAICOS Englez Turks Caicos +VIRGIN_ISLANDS_ENGLISH Englez Insulele Virgine +ESPERANTO Esperano +ERITREA Eritrea +SPANISH Spaniol +SPANISH_MEXICO Spaniol Mexico +SPANISH_UNITED_STATES Spaniol Statele Unite +SPANISH_CARIBBEAN Spaniol Caribbean +SPANISH_ARGENTINIAN Spaniol Argentinian +SPANISH_BOLIVIAN Spaniol Bolivian +SPANISH_BRAZILIAN Spaniol Brazilian +SPANISH_CHILEAN Spaniol Chilean +SPANISH_COLOMBIAN Spaniol Columbian +SPANISH_COSTA_RICA Spaniol Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spaniol Republica Dominican +SPANISH_ECUADOR Spaniol Ecuador +SPANISH_SPAIN Spaniol Spania +SPANISH_NL Spaniol NL +SPANISH_EUROPE Spaniol Europa +SPANISH_GUATEMALA Spaniol Guatemala +SPANISH_HONDURAS Spaniol Honduras +SPANISH_LAO Spaniol Lao +SPANISH_NICARAGUA Spaniol Nicaragua +SPANISH_PANAMIAN Spaniol Panamian +SPANISH_PERU Spaniol Peru +SPANISH_PUERTO_RICO Spaniol Puerto Rico +SPANISH_PARAGUAYS Pani Paraguay +SPANISH_EL_SALVADOR Spaniol EL Salvador +SPANISH_URUGUAY Spaniol Uruguay +SPANISH_VENEZUELA Spaniol Venezuela +SPANISH_LATIN_AMERICA Spaniol Latin American +ESTONIAN Estonian +BASQUE Basc +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfuld +BAGIRMI_FULFULDE Bagirmi Fulfuld +BORGU_FULFULDE Borgu Fulfuld +NIGER_FULFULDE Niger Fulfuld +MAASINA_FULFULDE Maasina Fulfuld +NIGERIAN_FULFULDE Nigerian Fulfuld +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Fulfuld Vest Nigerian +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH Francez +METROPOLITAN_FRENCH Francez Metropolitan +ACADIAN_FRENCH Francez Acadian +DOMINICA_FRENCH Francez Dominican +ALGERIAN_FRENCH Francez Algerian +AOSTAN_FRENCH Francez Aostan +BELGIAN_FRENCH Francez Belgian +CAMBODIAN_FRENCH Francez Cambodian +CAJUN_FRENCH Francez CAJUN +CANADIAN_FRENCH Francez Canadian +GUIANESE_FRENCH Francez Guianes +FRENCH_GUIANA Francez Guiana +GUYANESE_CREOLE Creol Guianes +ENGLISH_GUIANA Englez Guianes +GUIANESE_ENGLISH Guianes Englez +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Creol Haitian +INDIAN_FRENCH Francez Indian +ANGLO_NORMAN_FRENCH Francez Anglo Norman +JERSEY_LEGAL_FRENCH Francez Jersey Legal +LAO_FRENCH Francez Lao +FRENCH_CREOLE Francez Creol +LOUISIANIAN_FRENCH Francez Louisianian +LOUISIANA_CREOLE Creol Louisiana +MERIDIONAL_FRENCH Francez Meridional +MISSOURI_FRENCH Francez Missouri +NEW_CALEDONIAN_FRENCH Francez NOUA Caledonie +NEWFOUNDLAND_FRENCH Francez NEW Foundland +NEW_ENGLAND_FRENCH Francez NOUA Anglie +QUEBEC_FRENCH Francez Quebec +SWISS_FRENCH Francez Swiss +VIETNAMESE_FRENCH Francez Vietnamez +WEST_INDIAN_FRENCH Francez Vest Indian +WALLISIAN_FRENCH Francez Wallisian +WESTERN_FRISIAN Frisian Vestic +FRYSK Frisc +IRISH_GABON Irlandez Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Francez Guadeloupean Creol +SCOTTISH_GRENADA Scoian Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Greac Modern +ANCIENT_GREEK Greac Antic +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Guarani Est Bolivian +MBYA_GUARANI Guarani Mbya +PARAGUAYAN_GUARANI Guarani Paraguaian +WESTERN_BOLIVIAN_GUARANI Guarani Vest Bolivian +SOUTH_GEORGIA_ENGLISH Englez Sud Georgian +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Guinean Ecuatorial +GUJARATI Gujarati +MANX Manx +GUYAN Aguiana +HEBREW Ebraic +MODERN_HEBREW Ebraic Modern +CLASSICAL_HEBREW Ebraic Clasic +SAMARITAN_ARAMEIC Arameic Samaritean +SAMARITAN_HEBREW Ebraic Samaritean +MOABITE_HEBREW Ebraic Moabit +EDOMITE_HEBREW Ebraic Edomit +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Maghiar +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonezian +INTERLINGUE Interlingue +IRISH Irlandez +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Irachian +JERRIAIS Jerriais +JORDAN Iordanian +JAPANESE Japonez +CAMBODIAN Cambodian +KENYAN Kenian +KIKUYU Kikuyu +KWANYAMA Kwaniama +KAZAKH Cazac +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Comorian Ngazidja +COMOROS Comorian +NDZWANI_COMORIAN Comorian Ndzwani +MAORE_COMORIAN Comorian Maore +MWALI_COMORIAN Comorian Mwali +KHMER Khmer +KANNADA Cannada +KOREAN Corean +KANURI Canuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Camiri +KAZAKHSTAN Cazacstan +CORNISH Corni +KYRGYZSTAN Chirghizstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxemborghian +LESOTHO Lesoto +LAO LAO +LIBERIA Liberia +LIBYA Libia +LIMBURGISH Limburgi +LINGALA Lingala +LITHUANIAN Lituanian +LUBA_KATANGA Luba Catanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Francez Sfnt Martin +MALAGASY Malagasia +MARSHALLESE Marallese +MAORI Maori +MIKMAQ Micmac +MACEDONIAN Macedonian +MALAYALAM Malaialam +MAURITANIAN Mauritanian +MAURITIUS Mauritiu +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltez +BURMESE Burmez +ANTILLEAN-CREOL Creol Antillean +NENGONE Nengon +NEW_LANGUAGE Limb Nou +DUTCH Nederlandez +PENNSYLVANIA_DUTCH Dutch Pennsilvanian +NORWAY Norvegian +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Eva +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Oseian +PUNJABI Punjab +PANJABI Panjab +GURMIKI Gurmiki +PHILIPPINESE Filipinez +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinez +POLISH Polonez +PASHTO Pat +PORTUGUESE Portughez +PORTUGUESE_BRASIL Portughez Brazilian +QATAR Qatar +QUECHUA Quechua +ROMANSH Roman +ROMANI Romani +KIRUNDI Chirundi +ROMANIAN Romn +ROMANIAN_ANSI Romn ANSI +ROMANIAN_NO_DIACRITIC Romn Fr Diacritice +ROMANIAN_MOLDAVIA Romn Moldova +ROMANIAN_ROMANIA Romn Romania +RUSSIAN Rus +KINYARWANDA Kinia Ruanda +SANSKRIT Sanscrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH Creol Francez San Miguel +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Srbo-Croat +SINHALA Sinhala +SLOVAK Slovac +SLOVENIAN Sloven +SAMOAN Samoan +SHONA ona +SOMAL Somalia +SOMALI Somalian +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Englez Standard Scoian +SOTHO Soto +SUNDANESE Sundanez +SINT_MAARTEN_DUTCH Dutch Sint Maarten +SWEDISH Suedez +SYRIAC Siriac +SWAHILI Swahili +TURKS_CAICO Turci Caicos +CHAD Ciad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinia +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA vana +TONGA Tonga +TURKISH Turc +TSONGA onga +TUVALU Tuvalu +TATAR Ttar +TAIWANESE_HOKKIEN Taivanez Hokkien +UIGHUR Uigur +UKRAINEAN Ucrainean +URDU Urdu +UZBEK Uzbec +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Creol Vincenian +VIETNAMESE Vietnamez +VOLAPUK Volapuc +FRENCH_VIETNAM Francez Vietnam +WALLISIAN Valisian +MALAYO-POLYNESIAN Malaio-Polinesian +SHIMAORE imaore +WALLOON Valoon +WOLOF Volof +XHOSA Xhosa +YIDDISH Iidi +YORUBA Ioruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinez Simplificat +CHINESE_HONG_KONG Chinez Hong Kong +CHINESE_TRADITIONAL Chinez Traditional +CHINESE_TRADITIONAL_TAIWAN Chinez Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabve +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/ja.txt b/languages/ja.txt index c56af4e..fa68b8d 100644 --- a/languages/ja.txt +++ b/languages/ja.txt @@ -186,4 +186,504 @@ JN1 1 John JN2 2 John JN3 3 John JDE Jude -REV Revelation \ No newline at end of file +REV Revelation + + + +AFAR Afară +AFRICAN-AMERICAN_ENGLISH Enleză Afro-Americană +UNITED_STATES Statele Unite +ABKHAZIAN Abkhaziană +AVESTAN Avestană +AFRIKAANS Africană +ENGLISH-CREOLE Creolă Engleză +ANGUILLA Anguillană +AROMANIAN Aromână +AKAN Akană +ALBANIAN Albaniană +AMHARIC Amharică +ARMENIAN Armeniană +ARAGONESE Aragonesă +ANGOLIAN Angoliană +ANGIKA Angika +ARABIC Arabă +ARAMEIC Arameică +ALGERIAN_ARABIC Arabă Algeriană +MOROCCAN_ARABIC Arabă Marocană +MOROCCO Maroc +JUDEO-ARABIC Iudeo-Arabă +KABYLE Kabile +ALGERIA Algeriană +ASSAMESE Assameză +GERMAN_AUSTRI Germană Austriacă +AVARIC Avarică +AVARIAN_KHANATE Daghestaneză +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijană +FINNISH Finlandeză +BASHKIR Başkir +BOSNIAN Bosniană +CROATIAN Croată +SERBIAN Sârbă +BAVARIAN Bavareză +BARBADOS Barbados +BELARUSIAN Belarusă +BULGARIAN Bulgară +BIHARI Bihară +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetană +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswană +CAMEROONIAN_PIDGIN_ENGLISH Engleză Cameroniană Pidgin +CAMEROONIAN Cameroniană +CATALAN Catalană +COA_A_COCOS Coa de Cocos +CHECHEN Cecenă +CHAMORRO Chamoro +CHINESE Chineză +CHINESE_FUJIA Chineză Fujian +CHINESE_DONG Chineză Dong +CHINA_JINYU Chineză Jinyu +CHINESE_MANDARIN Chineză Mandarină +CHINESE_PU-XIAN Chineză Pu-Xian +CHINESE_HUIZHOU Chineză Huizhou +CHINESE_ZHONG Chineză Zhong +DING_CHINESE Chineză Ding +GAN_CHINESE Chineză Gan +CHINESE_HAKKA Chineză Hakka +XIANG_CHINESE Chineză Xiang +LITERARY_CHINESE Chineză Literară +MIN_BEI_CHINESE Chineză Min Bei +MIN_NAN_CHINESE Chineză Min Nan +WU_CHINESE Chineză Wu +YUE_CHINESE Chineză Yue +CORSICAN Corsicană +CREE Cree +CZECH Cehă +SLAVONIC Slavonă +CHUVASH Chuvaş +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Chineză Malaysiană +PAPIAMENTU Papiamentu +CURAÇAO Curaşao +DANISH Daneză +GERMAN Germană +GERMAN_GERMANY Germană Germania +DEUTSCH Deutsch +BELGIUM_GERMAN Germană Belgiană +AUSTRIAN_GERMAN Germană Austriacă +SWISS_GERMAN Germană Swiss +LUXEMBOURG_GERMAN Germană Luxembourg +LUXEMBOURGIAN Luxembourgiană +LIECHTENSTEIN_GERMAN Germană Liechtenstein +ALEMANNIC_GERMAN Germană Alemannic +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Franceză Dominicană Creolă +ROSEAU Roseau +DOMINICA_ENGLISH Engleză Dominicană +SANTO_DOMINGO_SPANISH Spaniolă Santo Domingo +SANTO_DOMINGO_ENGLISH Engleză Santo Domingo +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afară Djibouti +DIVEHI Divehi +MALDIVIAN Maldiviană +SHAWIYA_BERBER Şawiya Berberă +DZONGKHA Dzongkha +COPTIC Coptă +EWE Ewe +GREEK Greacă +CAPPADOCIAN_GREEK Greacă Capadochiană +MYCENAEAN_GREEK Greacă Micenaeană +PONTIC Pontică +TSAKONIAN Ţakoniană +YEVANIC Ievanică +BRITISH_ENGLISH Engleză Britaică +BRITISH Britaică +FIJIAN_ENGLISH Engleză Fijian +GIBRALTARIAN Gibraltariană +GIBRALTARIAN _ENGLISH Engleză Gibraltariană +ENGLISH Engleză +AMERICAN_ENGLISH Engleză Americană +HIBERNO_ENGLISH Hiberno Engleză +US_ENGLISH Engleză SUA +ENGLISH_ISRAEL Engleză Israel +ISRAELY_ENGLISH Engleză Israeliană +HEBLISH Hebliş +ENGBREW Engbrew +ENGLISH_CANADA Engleză Canada +CANADIAN_ENGLISH Engleză Canadiană +COOK_ISLANDS_ENGLISH Engleză Insulele Cook +INDIAN_ENGLISH Engleză Indian +ANGUILLAN_ENGLISH Engleză Anguillană +AUSTRALIAN_ENGLISH Engleză Australiană +ENGLISH_NEW_ZEALAND Engleză Nou Zealandeză +NEW_ZEALAND_ENGLISH Engleză NOUA Zoealandă +NEW_ENGLAND_ENGLISH Engleză NOUA Anglie +BERMUDIAN ENGLISH Engleză Bermudiană +NIUEAN_ENGLISH Engleză Niueană +MONTSERRAT_ENGLISH Engleză Montserrat +PITCAIRN_ISLAND_ENGLISH Engleză Insula Pitcairn +ST_HELENA_ENGLISH Engleză ST Elena +ENGLISH_TURKS_CAICOS Engleză Turks Caicos +VIRGIN_ISLANDS_ENGLISH Engleză Insulele Virgine +ESPERANTO Esperanţo +ERITREA Eritrea +SPANISH Spaniolă +SPANISH_MEXICO Spaniolă Mexico +SPANISH_UNITED_STATES Spaniolă Statele Unite +SPANISH_CARIBBEAN Spaniolă Caribbeană +SPANISH_ARGENTINIAN Spaniolă Argentiniană +SPANISH_BOLIVIAN Spaniolă Boliviană +SPANISH_BRAZILIAN Spaniolă Braziliană +SPANISH_CHILEAN Spaniolă Chileană +SPANISH_COLOMBIAN Spaniolă Columbiană +SPANISH_COSTA_RICA Spaniolă Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spaniolă Republica Dominicană +SPANISH_ECUADOR Spaniolă Ecuador +SPANISH_SPAIN Spaniolă Spania +SPANISH_NL Spaniolă NL +SPANISH_EUROPE Spaniolă Europa +SPANISH_GUATEMALA Spaniolă Guatemala +SPANISH_HONDURAS Spaniolă Honduras +SPANISH_LAO Spaniolă Lao +SPANISH_NICARAGUA Spaniolă Nicaragua +SPANISH_PANAMIAN Spaniolă Panamian +SPANISH_PERU Spaniolă Peru +SPANISH_PUERTO_RICO Spaniolă Puerto Rico +SPANISH_PARAGUAYS Paniş Paraguay +SPANISH_EL_SALVADOR Spaniolă EL Salvador +SPANISH_URUGUAY Spaniolă Uruguay +SPANISH_VENEZUELA Spaniolă Venezuela +SPANISH_LATIN_AMERICA Spaniolă Latin Americană +ESTONIAN Estonian +BASQUE Bască +PERSIAN Persiană +ADAMAWA_FULFULDE Adamawa Fulfuldă +BAGIRMI_FULFULDE Bagirmi Fulfuldă +BORGU_FULFULDE Borgu Fulfuldă +NIGER_FULFULDE Niger Fulfuldă +MAASINA_FULFULDE Maasina Fulfuldă +NIGERIAN_FULFULDE Nigeriană Fulfuldă +PULAAR Pulaară +WESTERN_NIGER_FULFULDE Fulfuldă Vest Nigeriană +KVEN Kven +NORWEGIAN Norwegiană +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH Franceză +METROPOLITAN_FRENCH Franceză Metropolitană +ACADIAN_FRENCH Franceză Acadiană +DOMINICA_FRENCH Franceză Dominicană +ALGERIAN_FRENCH Franceză Algeriană +AOSTAN_FRENCH Franceză Aostană +BELGIAN_FRENCH Franceză Belgiană +CAMBODIAN_FRENCH Franceză Cambodiană +CAJUN_FRENCH Franceză CAJUN +CANADIAN_FRENCH Franceză Canadiană +GUIANESE_FRENCH Franceză Guianesă +FRENCH_GUIANA Franceză Guiana +GUYANESE_CREOLE Creolă Guianesă +ENGLISH_GUIANA Engleză Guianesă +GUIANESE_ENGLISH Guianesă Engleză +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Creolă Haitiană +INDIAN_FRENCH Franceză Indiană +ANGLO_NORMAN_FRENCH Franceză Anglo Normană +JERSEY_LEGAL_FRENCH Franceză Jersey Legală +LAO_FRENCH Franceză Lao +FRENCH_CREOLE Franceză Creolă +LOUISIANIAN_FRENCH Franceză Louisianiană +LOUISIANA_CREOLE Creolă Louisiana +MERIDIONAL_FRENCH Franceză Meridională +MISSOURI_FRENCH Franceză Missouri +NEW_CALEDONIAN_FRENCH Franceză NOUA Caledonie +NEWFOUNDLAND_FRENCH Franceză NEW Foundland +NEW_ENGLAND_FRENCH Franceză NOUA Anglie +QUEBEC_FRENCH Franceză Quebec +SWISS_FRENCH Franceză Swiss +VIETNAMESE_FRENCH Franceză Vietnameză +WEST_INDIAN_FRENCH Franceză Vest Indiană +WALLISIAN_FRENCH Franceză Wallisiană +WESTERN_FRISIAN Frisiană Vestică +FRYSK Frisc +IRISH_GABON Irlandeză Gabonă +GENERAL_AMERICAN Generală Americană +GUADELOUPEAN_CREOLE_FRENCH Franceză Guadeloupeană Creolă +SCOTTISH_GRENADA Scoţiană Grenada +GEORGIAN Georgiană +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Greacă Modernă +ANCIENT_GREEK Greacă Antică +GALICIAN Galiciană +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Guarani Est Boliviană +MBYA_GUARANI Guarani Mbya +PARAGUAYAN_GUARANI Guarani Paraguaian +WESTERN_BOLIVIAN_GUARANI Guarani Vest Boliviană +SOUTH_GEORGIA_ENGLISH Engleză Sud Georgiană +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Guineană Ecuatorială +GUJARATI Gujarati +MANX Manx +GUYAN Aguiana +HEBREW Ebraică +MODERN_HEBREW Ebraică Modernă +CLASSICAL_HEBREW Ebraică Clasică +SAMARITAN_ARAMEIC Arameică Samariteană +SAMARITAN_HEBREW Ebraică Samariteană +MOABITE_HEBREW Ebraică Moabită +EDOMITE_HEBREW Ebraică Edomită +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitiană +HUNGARIAN Maghiară +ARMENIAN_ARTSAKH Armeniană Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indoneziană +INTERLINGUE Interlingue +IRISH Irlandeză +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iraniană +IDO Ido +ICELANDIC Icelandică +ITALIAN Italiană +INUKTITUT Inuktitut +IRAQIAN Irachiană +JERRIAIS Jerriais +JORDAN Iordaniană +JAPANESE Japoneză +CAMBODIAN Cambodiană +KENYAN Keniană +KIKUYU Kikuyu +KWANYAMA Kwaniama +KAZAKH Cazacă +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Comoriană Ngazidja +COMOROS Comoriană +NDZWANI_COMORIAN Comoriană Ndzwani +MAORE_COMORIAN Comoriană Maore +MWALI_COMORIAN Comoriană Mwali +KHMER Khmer +KANNADA Cannada +KOREAN Coreană +KANURI Canuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Caşmiri +KAZAKHSTAN Cazacstan +CORNISH Corniş +KYRGYZSTAN Chirghizstan +SRI_LANKA Sri Lanka +LATVIAN Latviană +LUXEMBOURGISH Luxemborghiană +LESOTHO Lesoto +LAO LAO +LIBERIA Liberia +LIBYA Libia +LIMBURGISH Limburgiş +LINGALA Lingala +LITHUANIAN Lituaniană +LUBA_KATANGA Luba Catanga +MOLDOVIAN Moldoviană +MOLDAVIAN Moldaviană +MONTENEGRIN Montenegrină +SAINT_MARTIN_FRENCH Franceză Sfânt Martin +MALAGASY Malagasia +MARSHALLESE Marşallese +MAORI Maori +MIKMAQ Micmac +MACEDONIAN Macedoniană +MALAYALAM Malaialam +MAURITANIAN Mauritaniană +MAURITIUS Mauritiu +MONGOLIAN Mongoliană +CAROLINIAN Caroliniană +MALTESE Malteză +BURMESE Burmeză +ANTILLEAN-CREOL Creolă Antilleană +NENGONE Nengonă +NEW_LANGUAGE Limbă Nouă +DUTCH Nederlandeză +PENNSYLVANIA_DUTCH Dutch Pennsilvanian +NORWAY Norvegiană +NAURU Nauru +NIUEAN Niueană +NU Niueană +CHEWA Eva +OCCITAN Occitană +ORIYA Oriya +OSSETIAN Oseţiană +PUNJABI Punjabă +PANJABI Panjabă +GURMIKI Gurmiki +PHILIPPINESE Filipineză +TAHITIAN Tahitiană +PAPUA_GUINEA Papua Guineză +POLISH Poloneză +PASHTO Paştă +PORTUGUESE Portugheză +PORTUGUESE_BRASIL Portugheză Braziliană +QATAR Qatar +QUECHUA Quechua +ROMANSH Romanş +ROMANI Romani +KIRUNDI Chirundi +ROMANIAN Română +ROMANIAN_ANSI Română ANSI +ROMANIAN_NO_DIACRITIC Română Fără Diacritice +ROMANIAN_MOLDAVIA Română Moldova +ROMANIAN_ROMANIA Română Romania +RUSSIAN Rusă +KINYARWANDA Kinia Ruanda +SANSKRIT Sanscrită +SARDINIAN Sardiniană +SAN_MIGUEL_CREOLE_FRENCH Creolă Franceză San Miguel +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Sârbo-Croată +SINHALA Sinhala +SLOVAK Slovacă +SLOVENIAN Slovenă +SAMOAN Samoan +SHONA Şona +SOMAL Somalia +SOMALI Somaliană +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Engleză Standard Scoţiană +SOTHO Soto +SUNDANESE Sundaneză +SINT_MAARTEN_DUTCH Dutch Sint Maarten +SWEDISH Suedeză +SYRIAC Siriacă +SWAHILI Swahili +TURKS_CAICO Turci Caicos +CHAD Ciad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinia +TURKMEN Turkmenă +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Ţvana +TONGA Tonga +TURKISH Turcă +TSONGA Ţonga +TUVALU Tuvalu +TATAR Tătară +TAIWANESE_HOKKIEN Taivaneză Hokkien +UIGHUR Uigur +UKRAINEAN Ucraineană +URDU Urdu +UZBEK Uzbecă +LATIN Latină +VENDA Venda +VINCENTIAN-CREO Creolă Vincenţiană +VIETNAMESE Vietnameză +VOLAPUK Volapuc +FRENCH_VIETNAM Franceză Vietnam +WALLISIAN Valisiană +MALAYO-POLYNESIAN Malaio-Polinesiană +SHIMAORE Şimaore +WALLOON Valoon +WOLOF Volof +XHOSA Xhosa +YIDDISH Iidiş +YORUBA Ioruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chineză Simplificată +CHINESE_HONG_KONG Chineză Hong Kong +CHINESE_TRADITIONAL Chineză Traditională +CHINESE_TRADITIONAL_TAIWAN Chineză Traditională Taiwan +ZAMBIAN Zambiană +ZIMBABWE Zimbabve +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/ko.txt b/languages/ko.txt index 965190a..b8fb893 100644 --- a/languages/ko.txt +++ b/languages/ko.txt @@ -95,4 +95,594 @@ aleppo Aleppo peshitta Peshitta khabouris Khabouris sinaiticus Sinaiticus -qumran Qumran \ No newline at end of file +qumran Qumran + + +CHAP Chapter +GEN Genesis +EXO Exodus +LEV Leviticus +NUM Numbers +DEU Deuteronomy +JOS Joshua +JDG Judges +RUT Ruth +SA1 1 Samuel +SA2 2 Samuel +KI1 1 Kings +KI2 2 Kings +CH1 1 Chronicles +CH2 2 Chronicles +EZR Ezra +NEH Nehemiah +EST Esther +JOB Job +PSA Psalms +PSA_VOL1 Psalms Vol 1 +PSA_VOL2 Psalms Vol 2 +PSA_VOL3 Psalms Vol 3 +PSA_VOL4 Psalms Vol 4 +PSA_VOL5 Psalms Vol 5 +PRO Proverbs +ECC Ecclesiastes +SNG Song of Solomon +ISA Isaiah +JER Jeremiah +LAM Lamentations +EZE Ezekiel +DAN Daniel +HOS Hosea +JOL Joel +AMO Amos +OBA Obadiah +JNA Jonah +MIC Micah +NAH Nahum +ENO 1 Enoch +HAB Habakkuk +ZEP Zephaniah +HAG Haggai +ZEC Zechariah +MAL Malachi +GES GES +LES LES +TOB Tobit +JDT Judith +ESA Esdras +WIS Wisdom of Solomon +SIR Sirach +BAR Baruch +PAZ Prayer of Azariah +SUS Susanna +BEL Bel and the Drago +MAN Prayer of Manasses +MA1 1 Maccabees +MA2 2 Maccabees +MA3 3 Maccabees +MA4 4 Maccabees +MAT Matthew +MRK Mark +LUK Luke +JOH John +JHN John +ACT Acts +ROM Romans +CO1 1 Corinthians +CO2 2 Corinthians +GAL Galatians +EPH Ephesians +PHP Philippians +COL Colossians +TH1 1 Thessalonians +TH2 2 Thessalonians +TI1 1 Timothy +TI2 2 Timothy +TIT Titus +PHM Philemon +HEB Hebrews +JAM James +PE1 1 Peter +PE2 2 Peter +JN1 1 John +JN2 2 John +JN3 3 John +JDE Jude +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/ms.txt b/languages/ms.txt index 3177a1f..f419bac 100644 --- a/languages/ms.txt +++ b/languages/ms.txt @@ -94,4 +94,594 @@ aleppo Aleppo peshitta Peshitta khabouris Khabouris sinaiticus Sinaiticus -qumran Qumran \ No newline at end of file +qumran Qumran + + +CHAP Chapter +GEN Genesis +EXO Exodus +LEV Leviticus +NUM Numbers +DEU Deuteronomy +JOS Joshua +JDG Judges +RUT Ruth +SA1 1 Samuel +SA2 2 Samuel +KI1 1 Kings +KI2 2 Kings +CH1 1 Chronicles +CH2 2 Chronicles +EZR Ezra +NEH Nehemiah +EST Esther +JOB Job +PSA Psalms +PSA_VOL1 Psalms Vol 1 +PSA_VOL2 Psalms Vol 2 +PSA_VOL3 Psalms Vol 3 +PSA_VOL4 Psalms Vol 4 +PSA_VOL5 Psalms Vol 5 +PRO Proverbs +ECC Ecclesiastes +SNG Song of Solomon +ISA Isaiah +JER Jeremiah +LAM Lamentations +EZE Ezekiel +DAN Daniel +HOS Hosea +JOL Joel +AMO Amos +OBA Obadiah +JNA Jonah +MIC Micah +NAH Nahum +ENO 1 Enoch +HAB Habakkuk +ZEP Zephaniah +HAG Haggai +ZEC Zechariah +MAL Malachi +GES GES +LES LES +TOB Tobit +JDT Judith +ESA Esdras +WIS Wisdom of Solomon +SIR Sirach +BAR Baruch +PAZ Prayer of Azariah +SUS Susanna +BEL Bel and the Drago +MAN Prayer of Manasses +MA1 1 Maccabees +MA2 2 Maccabees +MA3 3 Maccabees +MA4 4 Maccabees +MAT Matthew +MRK Mark +LUK Luke +JOH John +JHN John +ACT Acts +ROM Romans +CO1 1 Corinthians +CO2 2 Corinthians +GAL Galatians +EPH Ephesians +PHP Philippians +COL Colossians +TH1 1 Thessalonians +TH2 2 Thessalonians +TI1 1 Timothy +TI2 2 Timothy +TIT Titus +PHM Philemon +HEB Hebrews +JAM James +PE1 1 Peter +PE2 2 Peter +JN1 1 John +JN2 2 John +JN3 3 John +JDE Jude +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURA?O Cura? +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/nl.txt b/languages/nl.txt index f8514a7..76dc796 100644 --- a/languages/nl.txt +++ b/languages/nl.txt @@ -94,4 +94,594 @@ aleppo Aleppo peshitta Peshitta khabouris Khabouris sinaiticus Sinaiticus -qumran Qumran \ No newline at end of file +qumran Qumran + + +CHAP Chapter +GEN Genesis +EXO Exodus +LEV Leviticus +NUM Numbers +DEU Deuteronomy +JOS Joshua +JDG Judges +RUT Ruth +SA1 1 Samuel +SA2 2 Samuel +KI1 1 Kings +KI2 2 Kings +CH1 1 Chronicles +CH2 2 Chronicles +EZR Ezra +NEH Nehemiah +EST Esther +JOB Job +PSA Psalms +PSA_VOL1 Psalms Vol 1 +PSA_VOL2 Psalms Vol 2 +PSA_VOL3 Psalms Vol 3 +PSA_VOL4 Psalms Vol 4 +PSA_VOL5 Psalms Vol 5 +PRO Proverbs +ECC Ecclesiastes +SNG Song of Solomon +ISA Isaiah +JER Jeremiah +LAM Lamentations +EZE Ezekiel +DAN Daniel +HOS Hosea +JOL Joel +AMO Amos +OBA Obadiah +JNA Jonah +MIC Micah +NAH Nahum +ENO 1 Enoch +HAB Habakkuk +ZEP Zephaniah +HAG Haggai +ZEC Zechariah +MAL Malachi +GES GES +LES LES +TOB Tobit +JDT Judith +ESA Esdras +WIS Wisdom of Solomon +SIR Sirach +BAR Baruch +PAZ Prayer of Azariah +SUS Susanna +BEL Bel and the Drago +MAN Prayer of Manasses +MA1 1 Maccabees +MA2 2 Maccabees +MA3 3 Maccabees +MA4 4 Maccabees +MAT Matthew +MRK Mark +LUK Luke +JOH John +JHN John +ACT Acts +ROM Romans +CO1 1 Corinthians +CO2 2 Corinthians +GAL Galatians +EPH Ephesians +PHP Philippians +COL Colossians +TH1 1 Thessalonians +TH2 2 Thessalonians +TI1 1 Timothy +TI2 2 Timothy +TIT Titus +PHM Philemon +HEB Hebrews +JAM James +PE1 1 Peter +PE2 2 Peter +JN1 1 John +JN2 2 John +JN3 3 John +JDE Jude +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURA?O Cura? +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/no.txt b/languages/no.txt index e416365..091cb1a 100644 --- a/languages/no.txt +++ b/languages/no.txt @@ -94,4 +94,594 @@ aleppo Aleppo peshitta Peshitta khabouris Khabouris sinaiticus Sinaiticus -qumran Qumran \ No newline at end of file +qumran Qumran + + +CHAP Chapter +GEN Genesis +EXO Exodus +LEV Leviticus +NUM Numbers +DEU Deuteronomy +JOS Joshua +JDG Judges +RUT Ruth +SA1 1 Samuel +SA2 2 Samuel +KI1 1 Kings +KI2 2 Kings +CH1 1 Chronicles +CH2 2 Chronicles +EZR Ezra +NEH Nehemiah +EST Esther +JOB Job +PSA Psalms +PSA_VOL1 Psalms Vol 1 +PSA_VOL2 Psalms Vol 2 +PSA_VOL3 Psalms Vol 3 +PSA_VOL4 Psalms Vol 4 +PSA_VOL5 Psalms Vol 5 +PRO Proverbs +ECC Ecclesiastes +SNG Song of Solomon +ISA Isaiah +JER Jeremiah +LAM Lamentations +EZE Ezekiel +DAN Daniel +HOS Hosea +JOL Joel +AMO Amos +OBA Obadiah +JNA Jonah +MIC Micah +NAH Nahum +ENO 1 Enoch +HAB Habakkuk +ZEP Zephaniah +HAG Haggai +ZEC Zechariah +MAL Malachi +GES GES +LES LES +TOB Tobit +JDT Judith +ESA Esdras +WIS Wisdom of Solomon +SIR Sirach +BAR Baruch +PAZ Prayer of Azariah +SUS Susanna +BEL Bel and the Drago +MAN Prayer of Manasses +MA1 1 Maccabees +MA2 2 Maccabees +MA3 3 Maccabees +MA4 4 Maccabees +MAT Matthew +MRK Mark +LUK Luke +JOH John +JHN John +ACT Acts +ROM Romans +CO1 1 Corinthians +CO2 2 Corinthians +GAL Galatians +EPH Ephesians +PHP Philippians +COL Colossians +TH1 1 Thessalonians +TH2 2 Thessalonians +TI1 1 Timothy +TI2 2 Timothy +TIT Titus +PHM Philemon +HEB Hebrews +JAM James +PE1 1 Peter +PE2 2 Peter +JN1 1 John +JN2 2 John +JN3 3 John +JDE Jude +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURA?O Cura? +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/pl.txt b/languages/pl.txt index fb17cd1..3941ad8 100644 --- a/languages/pl.txt +++ b/languages/pl.txt @@ -94,4 +94,594 @@ aleppo Aleppo peshitta Peszitta khabouris Khabouris sinaiticus Sinaiticus -qumran Qumran \ No newline at end of file +qumran Qumran + + +CHAP Chapter +GEN Genesis +EXO Exodus +LEV Leviticus +NUM Numbers +DEU Deuteronomy +JOS Joshua +JDG Judges +RUT Ruth +SA1 1 Samuel +SA2 2 Samuel +KI1 1 Kings +KI2 2 Kings +CH1 1 Chronicles +CH2 2 Chronicles +EZR Ezra +NEH Nehemiah +EST Esther +JOB Job +PSA Psalms +PSA_VOL1 Psalms Vol 1 +PSA_VOL2 Psalms Vol 2 +PSA_VOL3 Psalms Vol 3 +PSA_VOL4 Psalms Vol 4 +PSA_VOL5 Psalms Vol 5 +PRO Proverbs +ECC Ecclesiastes +SNG Song of Solomon +ISA Isaiah +JER Jeremiah +LAM Lamentations +EZE Ezekiel +DAN Daniel +HOS Hosea +JOL Joel +AMO Amos +OBA Obadiah +JNA Jonah +MIC Micah +NAH Nahum +ENO 1 Enoch +HAB Habakkuk +ZEP Zephaniah +HAG Haggai +ZEC Zechariah +MAL Malachi +GES GES +LES LES +TOB Tobit +JDT Judith +ESA Esdras +WIS Wisdom of Solomon +SIR Sirach +BAR Baruch +PAZ Prayer of Azariah +SUS Susanna +BEL Bel and the Drago +MAN Prayer of Manasses +MA1 1 Maccabees +MA2 2 Maccabees +MA3 3 Maccabees +MA4 4 Maccabees +MAT Matthew +MRK Mark +LUK Luke +JOH John +JHN John +ACT Acts +ROM Romans +CO1 1 Corinthians +CO2 2 Corinthians +GAL Galatians +EPH Ephesians +PHP Philippians +COL Colossians +TH1 1 Thessalonians +TH2 2 Thessalonians +TI1 1 Timothy +TI2 2 Timothy +TIT Titus +PHM Philemon +HEB Hebrews +JAM James +PE1 1 Peter +PE2 2 Peter +JN1 1 John +JN2 2 John +JN3 3 John +JDE Jude +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/pt.txt b/languages/pt.txt index d27548b..6720b09 100644 --- a/languages/pt.txt +++ b/languages/pt.txt @@ -187,3 +187,502 @@ JN2 2 João JN3 3 João JDE Judas REV Apocalipse + + +AFAR Afară +AFRICAN-AMERICAN_ENGLISH Enleză Afro-Americană +UNITED_STATES Statele Unite +ABKHAZIAN Abkhaziană +AVESTAN Avestană +AFRIKAANS Africană +ENGLISH-CREOLE Creolă Engleză +ANGUILLA Anguillană +AROMANIAN Aromână +AKAN Akană +ALBANIAN Albaniană +AMHARIC Amharică +ARMENIAN Armeniană +ARAGONESE Aragonesă +ANGOLIAN Angoliană +ANGIKA Angika +ARABIC Arabă +ARAMEIC Arameică +ALGERIAN_ARABIC Arabă Algeriană +MOROCCAN_ARABIC Arabă Marocană +MOROCCO Maroc +JUDEO-ARABIC Iudeo-Arabă +KABYLE Kabile +ALGERIA Algeriană +ASSAMESE Assameză +GERMAN_AUSTRI Germană Austriacă +AVARIC Avarică +AVARIAN_KHANATE Daghestaneză +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijană +FINNISH Finlandeză +BASHKIR Başkir +BOSNIAN Bosniană +CROATIAN Croată +SERBIAN Sârbă +BAVARIAN Bavareză +BARBADOS Barbados +BELARUSIAN Belarusă +BULGARIAN Bulgară +BIHARI Bihară +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetană +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswană +CAMEROONIAN_PIDGIN_ENGLISH Engleză Cameroniană Pidgin +CAMEROONIAN Cameroniană +CATALAN Catalană +COA_A_COCOS Coa de Cocos +CHECHEN Cecenă +CHAMORRO Chamoro +CHINESE Chineză +CHINESE_FUJIA Chineză Fujian +CHINESE_DONG Chineză Dong +CHINA_JINYU Chineză Jinyu +CHINESE_MANDARIN Chineză Mandarină +CHINESE_PU-XIAN Chineză Pu-Xian +CHINESE_HUIZHOU Chineză Huizhou +CHINESE_ZHONG Chineză Zhong +DING_CHINESE Chineză Ding +GAN_CHINESE Chineză Gan +CHINESE_HAKKA Chineză Hakka +XIANG_CHINESE Chineză Xiang +LITERARY_CHINESE Chineză Literară +MIN_BEI_CHINESE Chineză Min Bei +MIN_NAN_CHINESE Chineză Min Nan +WU_CHINESE Chineză Wu +YUE_CHINESE Chineză Yue +CORSICAN Corsicană +CREE Cree +CZECH Cehă +SLAVONIC Slavonă +CHUVASH Chuvaş +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Chineză Malaysiană +PAPIAMENTU Papiamentu +CURAÇAO Curaşao +DANISH Daneză +GERMAN Germană +GERMAN_GERMANY Germană Germania +DEUTSCH Deutsch +BELGIUM_GERMAN Germană Belgiană +AUSTRIAN_GERMAN Germană Austriacă +SWISS_GERMAN Germană Swiss +LUXEMBOURG_GERMAN Germană Luxembourg +LUXEMBOURGIAN Luxembourgiană +LIECHTENSTEIN_GERMAN Germană Liechtenstein +ALEMANNIC_GERMAN Germană Alemannic +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Franceză Dominicană Creolă +ROSEAU Roseau +DOMINICA_ENGLISH Engleză Dominicană +SANTO_DOMINGO_SPANISH Spaniolă Santo Domingo +SANTO_DOMINGO_ENGLISH Engleză Santo Domingo +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afară Djibouti +DIVEHI Divehi +MALDIVIAN Maldiviană +SHAWIYA_BERBER Şawiya Berberă +DZONGKHA Dzongkha +COPTIC Coptă +EWE Ewe +GREEK Greacă +CAPPADOCIAN_GREEK Greacă Capadochiană +MYCENAEAN_GREEK Greacă Micenaeană +PONTIC Pontică +TSAKONIAN Ţakoniană +YEVANIC Ievanică +BRITISH_ENGLISH Engleză Britaică +BRITISH Britaică +FIJIAN_ENGLISH Engleză Fijian +GIBRALTARIAN Gibraltariană +GIBRALTARIAN _ENGLISH Engleză Gibraltariană +ENGLISH Engleză +AMERICAN_ENGLISH Engleză Americană +HIBERNO_ENGLISH Hiberno Engleză +US_ENGLISH Engleză SUA +ENGLISH_ISRAEL Engleză Israel +ISRAELY_ENGLISH Engleză Israeliană +HEBLISH Hebliş +ENGBREW Engbrew +ENGLISH_CANADA Engleză Canada +CANADIAN_ENGLISH Engleză Canadiană +COOK_ISLANDS_ENGLISH Engleză Insulele Cook +INDIAN_ENGLISH Engleză Indian +ANGUILLAN_ENGLISH Engleză Anguillană +AUSTRALIAN_ENGLISH Engleză Australiană +ENGLISH_NEW_ZEALAND Engleză Nou Zealandeză +NEW_ZEALAND_ENGLISH Engleză NOUA Zoealandă +NEW_ENGLAND_ENGLISH Engleză NOUA Anglie +BERMUDIAN ENGLISH Engleză Bermudiană +NIUEAN_ENGLISH Engleză Niueană +MONTSERRAT_ENGLISH Engleză Montserrat +PITCAIRN_ISLAND_ENGLISH Engleză Insula Pitcairn +ST_HELENA_ENGLISH Engleză ST Elena +ENGLISH_TURKS_CAICOS Engleză Turks Caicos +VIRGIN_ISLANDS_ENGLISH Engleză Insulele Virgine +ESPERANTO Esperanţo +ERITREA Eritrea +SPANISH Spaniolă +SPANISH_MEXICO Spaniolă Mexico +SPANISH_UNITED_STATES Spaniolă Statele Unite +SPANISH_CARIBBEAN Spaniolă Caribbeană +SPANISH_ARGENTINIAN Spaniolă Argentiniană +SPANISH_BOLIVIAN Spaniolă Boliviană +SPANISH_BRAZILIAN Spaniolă Braziliană +SPANISH_CHILEAN Spaniolă Chileană +SPANISH_COLOMBIAN Spaniolă Columbiană +SPANISH_COSTA_RICA Spaniolă Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spaniolă Republica Dominicană +SPANISH_ECUADOR Spaniolă Ecuador +SPANISH_SPAIN Spaniolă Spania +SPANISH_NL Spaniolă NL +SPANISH_EUROPE Spaniolă Europa +SPANISH_GUATEMALA Spaniolă Guatemala +SPANISH_HONDURAS Spaniolă Honduras +SPANISH_LAO Spaniolă Lao +SPANISH_NICARAGUA Spaniolă Nicaragua +SPANISH_PANAMIAN Spaniolă Panamian +SPANISH_PERU Spaniolă Peru +SPANISH_PUERTO_RICO Spaniolă Puerto Rico +SPANISH_PARAGUAYS Paniş Paraguay +SPANISH_EL_SALVADOR Spaniolă EL Salvador +SPANISH_URUGUAY Spaniolă Uruguay +SPANISH_VENEZUELA Spaniolă Venezuela +SPANISH_LATIN_AMERICA Spaniolă Latin Americană +ESTONIAN Estonian +BASQUE Bască +PERSIAN Persiană +ADAMAWA_FULFULDE Adamawa Fulfuldă +BAGIRMI_FULFULDE Bagirmi Fulfuldă +BORGU_FULFULDE Borgu Fulfuldă +NIGER_FULFULDE Niger Fulfuldă +MAASINA_FULFULDE Maasina Fulfuldă +NIGERIAN_FULFULDE Nigeriană Fulfuldă +PULAAR Pulaară +WESTERN_NIGER_FULFULDE Fulfuldă Vest Nigeriană +KVEN Kven +NORWEGIAN Norwegiană +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH Franceză +METROPOLITAN_FRENCH Franceză Metropolitană +ACADIAN_FRENCH Franceză Acadiană +DOMINICA_FRENCH Franceză Dominicană +ALGERIAN_FRENCH Franceză Algeriană +AOSTAN_FRENCH Franceză Aostană +BELGIAN_FRENCH Franceză Belgiană +CAMBODIAN_FRENCH Franceză Cambodiană +CAJUN_FRENCH Franceză CAJUN +CANADIAN_FRENCH Franceză Canadiană +GUIANESE_FRENCH Franceză Guianesă +FRENCH_GUIANA Franceză Guiana +GUYANESE_CREOLE Creolă Guianesă +ENGLISH_GUIANA Engleză Guianesă +GUIANESE_ENGLISH Guianesă Engleză +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Creolă Haitiană +INDIAN_FRENCH Franceză Indiană +ANGLO_NORMAN_FRENCH Franceză Anglo Normană +JERSEY_LEGAL_FRENCH Franceză Jersey Legală +LAO_FRENCH Franceză Lao +FRENCH_CREOLE Franceză Creolă +LOUISIANIAN_FRENCH Franceză Louisianiană +LOUISIANA_CREOLE Creolă Louisiana +MERIDIONAL_FRENCH Franceză Meridională +MISSOURI_FRENCH Franceză Missouri +NEW_CALEDONIAN_FRENCH Franceză NOUA Caledonie +NEWFOUNDLAND_FRENCH Franceză NEW Foundland +NEW_ENGLAND_FRENCH Franceză NOUA Anglie +QUEBEC_FRENCH Franceză Quebec +SWISS_FRENCH Franceză Swiss +VIETNAMESE_FRENCH Franceză Vietnameză +WEST_INDIAN_FRENCH Franceză Vest Indiană +WALLISIAN_FRENCH Franceză Wallisiană +WESTERN_FRISIAN Frisiană Vestică +FRYSK Frisc +IRISH_GABON Irlandeză Gabonă +GENERAL_AMERICAN Generală Americană +GUADELOUPEAN_CREOLE_FRENCH Franceză Guadeloupeană Creolă +SCOTTISH_GRENADA Scoţiană Grenada +GEORGIAN Georgiană +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Greacă Modernă +ANCIENT_GREEK Greacă Antică +GALICIAN Galiciană +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Guarani Est Boliviană +MBYA_GUARANI Guarani Mbya +PARAGUAYAN_GUARANI Guarani Paraguaian +WESTERN_BOLIVIAN_GUARANI Guarani Vest Boliviană +SOUTH_GEORGIA_ENGLISH Engleză Sud Georgiană +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Guineană Ecuatorială +GUJARATI Gujarati +MANX Manx +GUYAN Aguiana +HEBREW Ebraică +MODERN_HEBREW Ebraică Modernă +CLASSICAL_HEBREW Ebraică Clasică +SAMARITAN_ARAMEIC Arameică Samariteană +SAMARITAN_HEBREW Ebraică Samariteană +MOABITE_HEBREW Ebraică Moabită +EDOMITE_HEBREW Ebraică Edomită +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitiană +HUNGARIAN Maghiară +ARMENIAN_ARTSAKH Armeniană Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indoneziană +INTERLINGUE Interlingue +IRISH Irlandeză +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iraniană +IDO Ido +ICELANDIC Icelandică +ITALIAN Italiană +INUKTITUT Inuktitut +IRAQIAN Irachiană +JERRIAIS Jerriais +JORDAN Iordaniană +JAPANESE Japoneză +CAMBODIAN Cambodiană +KENYAN Keniană +KIKUYU Kikuyu +KWANYAMA Kwaniama +KAZAKH Cazacă +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Comoriană Ngazidja +COMOROS Comoriană +NDZWANI_COMORIAN Comoriană Ndzwani +MAORE_COMORIAN Comoriană Maore +MWALI_COMORIAN Comoriană Mwali +KHMER Khmer +KANNADA Cannada +KOREAN Coreană +KANURI Canuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Caşmiri +KAZAKHSTAN Cazacstan +CORNISH Corniş +KYRGYZSTAN Chirghizstan +SRI_LANKA Sri Lanka +LATVIAN Latviană +LUXEMBOURGISH Luxemborghiană +LESOTHO Lesoto +LAO LAO +LIBERIA Liberia +LIBYA Libia +LIMBURGISH Limburgiş +LINGALA Lingala +LITHUANIAN Lituaniană +LUBA_KATANGA Luba Catanga +MOLDOVIAN Moldoviană +MOLDAVIAN Moldaviană +MONTENEGRIN Montenegrină +SAINT_MARTIN_FRENCH Franceză Sfânt Martin +MALAGASY Malagasia +MARSHALLESE Marşallese +MAORI Maori +MIKMAQ Micmac +MACEDONIAN Macedoniană +MALAYALAM Malaialam +MAURITANIAN Mauritaniană +MAURITIUS Mauritiu +MONGOLIAN Mongoliană +CAROLINIAN Caroliniană +MALTESE Malteză +BURMESE Burmeză +ANTILLEAN-CREOL Creolă Antilleană +NENGONE Nengonă +NEW_LANGUAGE Limbă Nouă +DUTCH Nederlandeză +PENNSYLVANIA_DUTCH Dutch Pennsilvanian +NORWAY Norvegiană +NAURU Nauru +NIUEAN Niueană +NU Niueană +CHEWA Eva +OCCITAN Occitană +ORIYA Oriya +OSSETIAN Oseţiană +PUNJABI Punjabă +PANJABI Panjabă +GURMIKI Gurmiki +PHILIPPINESE Filipineză +TAHITIAN Tahitiană +PAPUA_GUINEA Papua Guineză +POLISH Poloneză +PASHTO Paştă +PORTUGUESE Portugheză +PORTUGUESE_BRASIL Portugheză Braziliană +QATAR Qatar +QUECHUA Quechua +ROMANSH Romanş +ROMANI Romani +KIRUNDI Chirundi +ROMANIAN Română +ROMANIAN_ANSI Română ANSI +ROMANIAN_NO_DIACRITIC Română Fără Diacritice +ROMANIAN_MOLDAVIA Română Moldova +ROMANIAN_ROMANIA Română Romania +RUSSIAN Rusă +KINYARWANDA Kinia Ruanda +SANSKRIT Sanscrită +SARDINIAN Sardiniană +SAN_MIGUEL_CREOLE_FRENCH Creolă Franceză San Miguel +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Sârbo-Croată +SINHALA Sinhala +SLOVAK Slovacă +SLOVENIAN Slovenă +SAMOAN Samoan +SHONA Şona +SOMAL Somalia +SOMALI Somaliană +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Engleză Standard Scoţiană +SOTHO Soto +SUNDANESE Sundaneză +SINT_MAARTEN_DUTCH Dutch Sint Maarten +SWEDISH Suedeză +SYRIAC Siriacă +SWAHILI Swahili +TURKS_CAICO Turci Caicos +CHAD Ciad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinia +TURKMEN Turkmenă +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Ţvana +TONGA Tonga +TURKISH Turcă +TSONGA Ţonga +TUVALU Tuvalu +TATAR Tătară +TAIWANESE_HOKKIEN Taivaneză Hokkien +UIGHUR Uigur +UKRAINEAN Ucraineană +URDU Urdu +UZBEK Uzbecă +LATIN Latină +VENDA Venda +VINCENTIAN-CREO Creolă Vincenţiană +VIETNAMESE Vietnameză +VOLAPUK Volapuc +FRENCH_VIETNAM Franceză Vietnam +WALLISIAN Valisiană +MALAYO-POLYNESIAN Malaio-Polinesiană +SHIMAORE Şimaore +WALLOON Valoon +WOLOF Volof +XHOSA Xhosa +YIDDISH Iidiş +YORUBA Ioruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chineză Simplificată +CHINESE_HONG_KONG Chineză Hong Kong +CHINESE_TRADITIONAL Chineză Traditională +CHINESE_TRADITIONAL_TAIWAN Chineză Traditională Taiwan +ZAMBIAN Zambiană +ZIMBABWE Zimbabve +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/pt_BR.txt b/languages/pt_BR.txt index 94e1f4e..23b0b23 100644 --- a/languages/pt_BR.txt +++ b/languages/pt_BR.txt @@ -186,4 +186,504 @@ JN1 1 João JN2 2 João JN3 3 João JDE Judas -REV Apocalipse \ No newline at end of file +REV Apocalipse + + + +AFAR Afară +AFRICAN-AMERICAN_ENGLISH Enleză Afro-Americană +UNITED_STATES Statele Unite +ABKHAZIAN Abkhaziană +AVESTAN Avestană +AFRIKAANS Africană +ENGLISH-CREOLE Creolă Engleză +ANGUILLA Anguillană +AROMANIAN Aromână +AKAN Akană +ALBANIAN Albaniană +AMHARIC Amharică +ARMENIAN Armeniană +ARAGONESE Aragonesă +ANGOLIAN Angoliană +ANGIKA Angika +ARABIC Arabă +ARAMEIC Arameică +ALGERIAN_ARABIC Arabă Algeriană +MOROCCAN_ARABIC Arabă Marocană +MOROCCO Maroc +JUDEO-ARABIC Iudeo-Arabă +KABYLE Kabile +ALGERIA Algeriană +ASSAMESE Assameză +GERMAN_AUSTRI Germană Austriacă +AVARIC Avarică +AVARIAN_KHANATE Daghestaneză +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijană +FINNISH Finlandeză +BASHKIR Başkir +BOSNIAN Bosniană +CROATIAN Croată +SERBIAN Sârbă +BAVARIAN Bavareză +BARBADOS Barbados +BELARUSIAN Belarusă +BULGARIAN Bulgară +BIHARI Bihară +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetană +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswană +CAMEROONIAN_PIDGIN_ENGLISH Engleză Cameroniană Pidgin +CAMEROONIAN Cameroniană +CATALAN Catalană +COA_A_COCOS Coa de Cocos +CHECHEN Cecenă +CHAMORRO Chamoro +CHINESE Chineză +CHINESE_FUJIA Chineză Fujian +CHINESE_DONG Chineză Dong +CHINA_JINYU Chineză Jinyu +CHINESE_MANDARIN Chineză Mandarină +CHINESE_PU-XIAN Chineză Pu-Xian +CHINESE_HUIZHOU Chineză Huizhou +CHINESE_ZHONG Chineză Zhong +DING_CHINESE Chineză Ding +GAN_CHINESE Chineză Gan +CHINESE_HAKKA Chineză Hakka +XIANG_CHINESE Chineză Xiang +LITERARY_CHINESE Chineză Literară +MIN_BEI_CHINESE Chineză Min Bei +MIN_NAN_CHINESE Chineză Min Nan +WU_CHINESE Chineză Wu +YUE_CHINESE Chineză Yue +CORSICAN Corsicană +CREE Cree +CZECH Cehă +SLAVONIC Slavonă +CHUVASH Chuvaş +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Chineză Malaysiană +PAPIAMENTU Papiamentu +CURAÇAO Curaşao +DANISH Daneză +GERMAN Germană +GERMAN_GERMANY Germană Germania +DEUTSCH Deutsch +BELGIUM_GERMAN Germană Belgiană +AUSTRIAN_GERMAN Germană Austriacă +SWISS_GERMAN Germană Swiss +LUXEMBOURG_GERMAN Germană Luxembourg +LUXEMBOURGIAN Luxembourgiană +LIECHTENSTEIN_GERMAN Germană Liechtenstein +ALEMANNIC_GERMAN Germană Alemannic +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Franceză Dominicană Creolă +ROSEAU Roseau +DOMINICA_ENGLISH Engleză Dominicană +SANTO_DOMINGO_SPANISH Spaniolă Santo Domingo +SANTO_DOMINGO_ENGLISH Engleză Santo Domingo +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afară Djibouti +DIVEHI Divehi +MALDIVIAN Maldiviană +SHAWIYA_BERBER Şawiya Berberă +DZONGKHA Dzongkha +COPTIC Coptă +EWE Ewe +GREEK Greacă +CAPPADOCIAN_GREEK Greacă Capadochiană +MYCENAEAN_GREEK Greacă Micenaeană +PONTIC Pontică +TSAKONIAN Ţakoniană +YEVANIC Ievanică +BRITISH_ENGLISH Engleză Britaică +BRITISH Britaică +FIJIAN_ENGLISH Engleză Fijian +GIBRALTARIAN Gibraltariană +GIBRALTARIAN _ENGLISH Engleză Gibraltariană +ENGLISH Engleză +AMERICAN_ENGLISH Engleză Americană +HIBERNO_ENGLISH Hiberno Engleză +US_ENGLISH Engleză SUA +ENGLISH_ISRAEL Engleză Israel +ISRAELY_ENGLISH Engleză Israeliană +HEBLISH Hebliş +ENGBREW Engbrew +ENGLISH_CANADA Engleză Canada +CANADIAN_ENGLISH Engleză Canadiană +COOK_ISLANDS_ENGLISH Engleză Insulele Cook +INDIAN_ENGLISH Engleză Indian +ANGUILLAN_ENGLISH Engleză Anguillană +AUSTRALIAN_ENGLISH Engleză Australiană +ENGLISH_NEW_ZEALAND Engleză Nou Zealandeză +NEW_ZEALAND_ENGLISH Engleză NOUA Zoealandă +NEW_ENGLAND_ENGLISH Engleză NOUA Anglie +BERMUDIAN ENGLISH Engleză Bermudiană +NIUEAN_ENGLISH Engleză Niueană +MONTSERRAT_ENGLISH Engleză Montserrat +PITCAIRN_ISLAND_ENGLISH Engleză Insula Pitcairn +ST_HELENA_ENGLISH Engleză ST Elena +ENGLISH_TURKS_CAICOS Engleză Turks Caicos +VIRGIN_ISLANDS_ENGLISH Engleză Insulele Virgine +ESPERANTO Esperanţo +ERITREA Eritrea +SPANISH Spaniolă +SPANISH_MEXICO Spaniolă Mexico +SPANISH_UNITED_STATES Spaniolă Statele Unite +SPANISH_CARIBBEAN Spaniolă Caribbeană +SPANISH_ARGENTINIAN Spaniolă Argentiniană +SPANISH_BOLIVIAN Spaniolă Boliviană +SPANISH_BRAZILIAN Spaniolă Braziliană +SPANISH_CHILEAN Spaniolă Chileană +SPANISH_COLOMBIAN Spaniolă Columbiană +SPANISH_COSTA_RICA Spaniolă Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spaniolă Republica Dominicană +SPANISH_ECUADOR Spaniolă Ecuador +SPANISH_SPAIN Spaniolă Spania +SPANISH_NL Spaniolă NL +SPANISH_EUROPE Spaniolă Europa +SPANISH_GUATEMALA Spaniolă Guatemala +SPANISH_HONDURAS Spaniolă Honduras +SPANISH_LAO Spaniolă Lao +SPANISH_NICARAGUA Spaniolă Nicaragua +SPANISH_PANAMIAN Spaniolă Panamian +SPANISH_PERU Spaniolă Peru +SPANISH_PUERTO_RICO Spaniolă Puerto Rico +SPANISH_PARAGUAYS Paniş Paraguay +SPANISH_EL_SALVADOR Spaniolă EL Salvador +SPANISH_URUGUAY Spaniolă Uruguay +SPANISH_VENEZUELA Spaniolă Venezuela +SPANISH_LATIN_AMERICA Spaniolă Latin Americană +ESTONIAN Estonian +BASQUE Bască +PERSIAN Persiană +ADAMAWA_FULFULDE Adamawa Fulfuldă +BAGIRMI_FULFULDE Bagirmi Fulfuldă +BORGU_FULFULDE Borgu Fulfuldă +NIGER_FULFULDE Niger Fulfuldă +MAASINA_FULFULDE Maasina Fulfuldă +NIGERIAN_FULFULDE Nigeriană Fulfuldă +PULAAR Pulaară +WESTERN_NIGER_FULFULDE Fulfuldă Vest Nigeriană +KVEN Kven +NORWEGIAN Norwegiană +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH Franceză +METROPOLITAN_FRENCH Franceză Metropolitană +ACADIAN_FRENCH Franceză Acadiană +DOMINICA_FRENCH Franceză Dominicană +ALGERIAN_FRENCH Franceză Algeriană +AOSTAN_FRENCH Franceză Aostană +BELGIAN_FRENCH Franceză Belgiană +CAMBODIAN_FRENCH Franceză Cambodiană +CAJUN_FRENCH Franceză CAJUN +CANADIAN_FRENCH Franceză Canadiană +GUIANESE_FRENCH Franceză Guianesă +FRENCH_GUIANA Franceză Guiana +GUYANESE_CREOLE Creolă Guianesă +ENGLISH_GUIANA Engleză Guianesă +GUIANESE_ENGLISH Guianesă Engleză +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Creolă Haitiană +INDIAN_FRENCH Franceză Indiană +ANGLO_NORMAN_FRENCH Franceză Anglo Normană +JERSEY_LEGAL_FRENCH Franceză Jersey Legală +LAO_FRENCH Franceză Lao +FRENCH_CREOLE Franceză Creolă +LOUISIANIAN_FRENCH Franceză Louisianiană +LOUISIANA_CREOLE Creolă Louisiana +MERIDIONAL_FRENCH Franceză Meridională +MISSOURI_FRENCH Franceză Missouri +NEW_CALEDONIAN_FRENCH Franceză NOUA Caledonie +NEWFOUNDLAND_FRENCH Franceză NEW Foundland +NEW_ENGLAND_FRENCH Franceză NOUA Anglie +QUEBEC_FRENCH Franceză Quebec +SWISS_FRENCH Franceză Swiss +VIETNAMESE_FRENCH Franceză Vietnameză +WEST_INDIAN_FRENCH Franceză Vest Indiană +WALLISIAN_FRENCH Franceză Wallisiană +WESTERN_FRISIAN Frisiană Vestică +FRYSK Frisc +IRISH_GABON Irlandeză Gabonă +GENERAL_AMERICAN Generală Americană +GUADELOUPEAN_CREOLE_FRENCH Franceză Guadeloupeană Creolă +SCOTTISH_GRENADA Scoţiană Grenada +GEORGIAN Georgiană +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Greacă Modernă +ANCIENT_GREEK Greacă Antică +GALICIAN Galiciană +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Guarani Est Boliviană +MBYA_GUARANI Guarani Mbya +PARAGUAYAN_GUARANI Guarani Paraguaian +WESTERN_BOLIVIAN_GUARANI Guarani Vest Boliviană +SOUTH_GEORGIA_ENGLISH Engleză Sud Georgiană +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Guineană Ecuatorială +GUJARATI Gujarati +MANX Manx +GUYAN Aguiana +HEBREW Ebraică +MODERN_HEBREW Ebraică Modernă +CLASSICAL_HEBREW Ebraică Clasică +SAMARITAN_ARAMEIC Arameică Samariteană +SAMARITAN_HEBREW Ebraică Samariteană +MOABITE_HEBREW Ebraică Moabită +EDOMITE_HEBREW Ebraică Edomită +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitiană +HUNGARIAN Maghiară +ARMENIAN_ARTSAKH Armeniană Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indoneziană +INTERLINGUE Interlingue +IRISH Irlandeză +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iraniană +IDO Ido +ICELANDIC Icelandică +ITALIAN Italiană +INUKTITUT Inuktitut +IRAQIAN Irachiană +JERRIAIS Jerriais +JORDAN Iordaniană +JAPANESE Japoneză +CAMBODIAN Cambodiană +KENYAN Keniană +KIKUYU Kikuyu +KWANYAMA Kwaniama +KAZAKH Cazacă +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Comoriană Ngazidja +COMOROS Comoriană +NDZWANI_COMORIAN Comoriană Ndzwani +MAORE_COMORIAN Comoriană Maore +MWALI_COMORIAN Comoriană Mwali +KHMER Khmer +KANNADA Cannada +KOREAN Coreană +KANURI Canuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Caşmiri +KAZAKHSTAN Cazacstan +CORNISH Corniş +KYRGYZSTAN Chirghizstan +SRI_LANKA Sri Lanka +LATVIAN Latviană +LUXEMBOURGISH Luxemborghiană +LESOTHO Lesoto +LAO LAO +LIBERIA Liberia +LIBYA Libia +LIMBURGISH Limburgiş +LINGALA Lingala +LITHUANIAN Lituaniană +LUBA_KATANGA Luba Catanga +MOLDOVIAN Moldoviană +MOLDAVIAN Moldaviană +MONTENEGRIN Montenegrină +SAINT_MARTIN_FRENCH Franceză Sfânt Martin +MALAGASY Malagasia +MARSHALLESE Marşallese +MAORI Maori +MIKMAQ Micmac +MACEDONIAN Macedoniană +MALAYALAM Malaialam +MAURITANIAN Mauritaniană +MAURITIUS Mauritiu +MONGOLIAN Mongoliană +CAROLINIAN Caroliniană +MALTESE Malteză +BURMESE Burmeză +ANTILLEAN-CREOL Creolă Antilleană +NENGONE Nengonă +NEW_LANGUAGE Limbă Nouă +DUTCH Nederlandeză +PENNSYLVANIA_DUTCH Dutch Pennsilvanian +NORWAY Norvegiană +NAURU Nauru +NIUEAN Niueană +NU Niueană +CHEWA Eva +OCCITAN Occitană +ORIYA Oriya +OSSETIAN Oseţiană +PUNJABI Punjabă +PANJABI Panjabă +GURMIKI Gurmiki +PHILIPPINESE Filipineză +TAHITIAN Tahitiană +PAPUA_GUINEA Papua Guineză +POLISH Poloneză +PASHTO Paştă +PORTUGUESE Portugheză +PORTUGUESE_BRASIL Portugheză Braziliană +QATAR Qatar +QUECHUA Quechua +ROMANSH Romanş +ROMANI Romani +KIRUNDI Chirundi +ROMANIAN Română +ROMANIAN_ANSI Română ANSI +ROMANIAN_NO_DIACRITIC Română Fără Diacritice +ROMANIAN_MOLDAVIA Română Moldova +ROMANIAN_ROMANIA Română Romania +RUSSIAN Rusă +KINYARWANDA Kinia Ruanda +SANSKRIT Sanscrită +SARDINIAN Sardiniană +SAN_MIGUEL_CREOLE_FRENCH Creolă Franceză San Miguel +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Sârbo-Croată +SINHALA Sinhala +SLOVAK Slovacă +SLOVENIAN Slovenă +SAMOAN Samoan +SHONA Şona +SOMAL Somalia +SOMALI Somaliană +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Engleză Standard Scoţiană +SOTHO Soto +SUNDANESE Sundaneză +SINT_MAARTEN_DUTCH Dutch Sint Maarten +SWEDISH Suedeză +SYRIAC Siriacă +SWAHILI Swahili +TURKS_CAICO Turci Caicos +CHAD Ciad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinia +TURKMEN Turkmenă +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Ţvana +TONGA Tonga +TURKISH Turcă +TSONGA Ţonga +TUVALU Tuvalu +TATAR Tătară +TAIWANESE_HOKKIEN Taivaneză Hokkien +UIGHUR Uigur +UKRAINEAN Ucraineană +URDU Urdu +UZBEK Uzbecă +LATIN Latină +VENDA Venda +VINCENTIAN-CREO Creolă Vincenţiană +VIETNAMESE Vietnameză +VOLAPUK Volapuc +FRENCH_VIETNAM Franceză Vietnam +WALLISIAN Valisiană +MALAYO-POLYNESIAN Malaio-Polinesiană +SHIMAORE Şimaore +WALLOON Valoon +WOLOF Volof +XHOSA Xhosa +YIDDISH Iidiş +YORUBA Ioruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chineză Simplificată +CHINESE_HONG_KONG Chineză Hong Kong +CHINESE_TRADITIONAL Chineză Traditională +CHINESE_TRADITIONAL_TAIWAN Chineză Traditională Taiwan +ZAMBIAN Zambiană +ZIMBABWE Zimbabve +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/ro.txt b/languages/ro.txt index 6a0ade9..1a87650 100644 --- a/languages/ro.txt +++ b/languages/ro.txt @@ -615,4 +615,73 @@ CHINESE_TRADITIONAL Chineză Traditională CHINESE_TRADITIONAL_TAIWAN Chineză Traditională Taiwan ZAMBIAN Zambiană ZIMBABWE Zimbabve -ZULU Zulu \ No newline at end of file +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/ro_MD.txt b/languages/ro_MD.txt index 7e132c3..285f291 100644 --- a/languages/ro_MD.txt +++ b/languages/ro_MD.txt @@ -615,4 +615,73 @@ CHINESE_TRADITIONAL Chineză Traditională CHINESE_TRADITIONAL_TAIWAN Chineză Traditională Taiwan ZAMBIAN Zambiană ZIMBABWE Zimbabve -ZULU Zulu \ No newline at end of file +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/ro_RO.txt b/languages/ro_RO.txt index aca6c40..a40deb2 100644 --- a/languages/ro_RO.txt +++ b/languages/ro_RO.txt @@ -615,4 +615,73 @@ CHINESE_TRADITIONAL Chineză Traditională CHINESE_TRADITIONAL_TAIWAN Chineză Traditională Taiwan ZAMBIAN Zambiană ZIMBABWE Zimbabve -ZULU Zulu \ No newline at end of file +ZULU Zulu + + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/ru.txt b/languages/ru.txt index 9b78183..b4d3207 100644 --- a/languages/ru.txt +++ b/languages/ru.txt @@ -185,4 +185,501 @@ JN1 1-е Иоанна JN2 2-е Иоанна JN3 3-е Иоанна JDE Иуды -REV Откровение \ No newline at end of file +REV Откровение + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/sk.txt b/languages/sk.txt index e7ae2ce..81645c1 100644 --- a/languages/sk.txt +++ b/languages/sk.txt @@ -95,4 +95,594 @@ aleppo Aleppo peshitta Peshitta khabouris Khabouris sinaiticus Sinaiticus -qumran Cymran \ No newline at end of file +qumran Cymran + + +CHAP Chapter +GEN Genesis +EXO Exodus +LEV Leviticus +NUM Numbers +DEU Deuteronomy +JOS Joshua +JDG Judges +RUT Ruth +SA1 1 Samuel +SA2 2 Samuel +KI1 1 Kings +KI2 2 Kings +CH1 1 Chronicles +CH2 2 Chronicles +EZR Ezra +NEH Nehemiah +EST Esther +JOB Job +PSA Psalms +PSA_VOL1 Psalms Vol 1 +PSA_VOL2 Psalms Vol 2 +PSA_VOL3 Psalms Vol 3 +PSA_VOL4 Psalms Vol 4 +PSA_VOL5 Psalms Vol 5 +PRO Proverbs +ECC Ecclesiastes +SNG Song of Solomon +ISA Isaiah +JER Jeremiah +LAM Lamentations +EZE Ezekiel +DAN Daniel +HOS Hosea +JOL Joel +AMO Amos +OBA Obadiah +JNA Jonah +MIC Micah +NAH Nahum +ENO 1 Enoch +HAB Habakkuk +ZEP Zephaniah +HAG Haggai +ZEC Zechariah +MAL Malachi +GES GES +LES LES +TOB Tobit +JDT Judith +ESA Esdras +WIS Wisdom of Solomon +SIR Sirach +BAR Baruch +PAZ Prayer of Azariah +SUS Susanna +BEL Bel and the Drago +MAN Prayer of Manasses +MA1 1 Maccabees +MA2 2 Maccabees +MA3 3 Maccabees +MA4 4 Maccabees +MAT Matthew +MRK Mark +LUK Luke +JOH John +JHN John +ACT Acts +ROM Romans +CO1 1 Corinthians +CO2 2 Corinthians +GAL Galatians +EPH Ephesians +PHP Philippians +COL Colossians +TH1 1 Thessalonians +TH2 2 Thessalonians +TI1 1 Timothy +TI2 2 Timothy +TIT Titus +PHM Philemon +HEB Hebrews +JAM James +PE1 1 Peter +PE2 2 Peter +JN1 1 John +JN2 2 John +JN3 3 John +JDE Jude +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/sr.txt b/languages/sr.txt index 39232b7..ec6a54c 100644 --- a/languages/sr.txt +++ b/languages/sr.txt @@ -185,4 +185,502 @@ JN1 1-е Иоанна JN2 2-е Иоанна JN3 3-е Иоанна JDE Иуды -REV Откровение \ No newline at end of file +REV Откровение + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/sv.txt b/languages/sv.txt index bca3118..08339f1 100644 --- a/languages/sv.txt +++ b/languages/sv.txt @@ -95,3 +95,592 @@ peshitta Peshitta khabouris Khabouris sinaiticus Sinaiticus qumran Qumran + +CHAP Chapter +GEN Genesis +EXO Exodus +LEV Leviticus +NUM Numbers +DEU Deuteronomy +JOS Joshua +JDG Judges +RUT Ruth +SA1 1 Samuel +SA2 2 Samuel +KI1 1 Kings +KI2 2 Kings +CH1 1 Chronicles +CH2 2 Chronicles +EZR Ezra +NEH Nehemiah +EST Esther +JOB Job +PSA Psalms +PSA_VOL1 Psalms Vol 1 +PSA_VOL2 Psalms Vol 2 +PSA_VOL3 Psalms Vol 3 +PSA_VOL4 Psalms Vol 4 +PSA_VOL5 Psalms Vol 5 +PRO Proverbs +ECC Ecclesiastes +SNG Song of Solomon +ISA Isaiah +JER Jeremiah +LAM Lamentations +EZE Ezekiel +DAN Daniel +HOS Hosea +JOL Joel +AMO Amos +OBA Obadiah +JNA Jonah +MIC Micah +NAH Nahum +ENO 1 Enoch +HAB Habakkuk +ZEP Zephaniah +HAG Haggai +ZEC Zechariah +MAL Malachi +GES GES +LES LES +TOB Tobit +JDT Judith +ESA Esdras +WIS Wisdom of Solomon +SIR Sirach +BAR Baruch +PAZ Prayer of Azariah +SUS Susanna +BEL Bel and the Drago +MAN Prayer of Manasses +MA1 1 Maccabees +MA2 2 Maccabees +MA3 3 Maccabees +MA4 4 Maccabees +MAT Matthew +MRK Mark +LUK Luke +JOH John +JHN John +ACT Acts +ROM Romans +CO1 1 Corinthians +CO2 2 Corinthians +GAL Galatians +EPH Ephesians +PHP Philippians +COL Colossians +TH1 1 Thessalonians +TH2 2 Thessalonians +TI1 1 Timothy +TI2 2 Timothy +TIT Titus +PHM Philemon +HEB Hebrews +JAM James +PE1 1 Peter +PE2 2 Peter +JN1 1 John +JN2 2 John +JN3 3 John +JDE Jude +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/th.txt b/languages/th.txt index c6fc268..570bbc7 100644 --- a/languages/th.txt +++ b/languages/th.txt @@ -185,4 +185,502 @@ JN1 1 John JN2 2 John JN3 3 John JDE Jude -REV Revelation \ No newline at end of file +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURA?O Cura? +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/languages/tr.txt b/languages/tr.txt index deeb625..0364e43 100644 --- a/languages/tr.txt +++ b/languages/tr.txt @@ -185,4 +185,502 @@ JN1 1 John JN2 2 John JN3 3 John JDE Jude -REV Revelation \ No newline at end of file +REV Revelation + + +AFAR Afar +AFRICAN-AMERICAN_ENGLISH African American English +UNITED_STATES United States +ABKHAZIAN Abkhazian +AVESTAN Avestan +AFRIKAANS Afrikaans +ENGLISH-CREOLE English Creole +ANGUILLA Anguilla +AROMANIAN Aromaya +AKAN Akan +ALBANIAN Albanian +AMHARIC Amharic +ARMENIAN Armenian +ARAGONESE Aragonese +ANGOLIAN Angolian +ANGIKA Angika +ARABIC Arabic +ARAMEIC Aramaic +ALGERIAN_ARABIC Algerian Arabic +MOROCCAN_ARABIC Moroccan Arabic +MOROCCO Morocco +JUDEO-ARABIC Judeo Arabic +KABYLE Kabyle +ALGERIA Algeria +ASSAMESE Assamese +GERMAN_AUSTRI German Austria +AVARIC Avaric +AVARIAN_KHANATE Daghestanian +AYMARA Aymara +AUSTRALIA Australia +AZERBAIJANI Azerbaijani +FINNISH Finnish +BASHKIR Bashkir +BOSNIAN Bosnian +CROATIAN Croatian +SERBIAN Serbian +BAVARIAN Bavarian +BARBADOS Barbados +BELARUSIAN Belarusian +BULGARIAN Bulgarian +BIHARI Bihari +BHOJPURI Bhojpuri +BAHRAIN Bahrain +BISLAMA Bislama +BURUNDI Burundi +BENIN Benin +BONAIRE Bonaire +BAMBARA Bambara +BENGALI Bengali +BRUNEI Brunei +TIBETAN Tibetan +BRETON Breton +BHUTAN Bhutan +BOTSWANA Botswana +CAMEROONIAN_PIDGIN_ENGLISH Cameroonian Pidgin English +CAMEROONIAN Cameroonian +CATALAN Catalan +COA_A_COCOS Coa a Cocos +CHECHEN Chechen +CHAMORRO Chamorro +CHINESE Chinese +CHINESE_FUJIA Chinese Fujian +CHINESE_DONG Chinese Dong +CHINA_JINYU China Jinyu +CHINESE_MANDARIN Chinese Mandarin +CHINESE_PU-XIAN Chinese Pu-Xian +CHINESE_HUIZHOU Chinese Huizhou +CHINESE_ZHONG Chinese Zhong +DING_CHINESE Ding Chinese +GAN_CHINESE Gan Chinese +CHINESE_HAKKA Chinese Hakka +XIANG_CHINESE Xiang Chinese +LITERARY_CHINESE Literary Chinese +MIN_BEI_CHINESE Min Bei Chinese +MIN_NAN_CHINESE Min Nan Chinese +WU_CHINESE Wu Chinese +YUE_CHINESE Yue Chinese +CORSICAN Corsican +CREE Cree +CZECH Czech +SLAVONIC Slavonic +CHUVASH Chuvash +WELSH_CYMRAEG Welsh Cymraeg +MALAYSIAN_CHINESE Malaysian Chinese +PAPIAMENTU Papiamentu +CURAǁO Cura硯 +DANISH Danish +GERMAN German +GERMAN_GERMANY German Germany +DEUTSCH Deutsch +BELGIUM_GERMAN Belgium German +AUSTRIAN_GERMAN Austrian German +SWISS_GERMAN Swiss German +LUXEMBOURG_GERMAN Luxembourg German +LUXEMBOURGIAN Luxembourgian +LIECHTENSTEIN_GERMAN Liechtenstein German +ALEMANNIC_GERMAN Alemannic German +DREHU Drehu +DOMINICAN_CREOLE_FRENCH Dominican Creole French +ROSEAU Roseau +DOMINICA_ENGLISH Dominica English +SANTO_DOMINGO_SPANISH Santo Domingo Spanish +SANTO_DOMINGO_ENGLISH Santo Domingo English +DJIBOUTI Djibouti +AFAR_DJIBOUTI Afar Djibouti +DIVEHI Divehi +MALDIVIAN Maldivian +SHAWIYA_BERBER Shawiya Berber +DZONGKHA Dzongkha +COPTIC Coptic +EWE Ewe +GREEK Greek +CAPPADOCIAN_GREEK Cappadocian Greek +MYCENAEAN_GREEK Mycenaean Greek +PONTIC Pontic +TSAKONIAN Tsakonian +YEVANIC Yevanic +BRITISH_ENGLISH British English +BRITISH British +FIJIAN_ENGLISH Fijian English +GIBRALTARIAN Gibraltarian +GIBRALTARIAN _ENGLISH Gibraltarian English +ENGLISH English +AMERICAN_ENGLISH American English +HIBERNO_ENGLISH Hiberno English +US_ENGLISH US English +ENGLISH_ISRAEL English Israel +ISRAELY_ENGLISH Israely English +HEBLISH Heblish +ENGBREW Engbrew +ENGLISH_CANADA English Canada +CANADIAN_ENGLISH Canadian English +COOK_ISLANDS_ENGLISH Cook Islands English +INDIAN_ENGLISH Indian English +ANGUILLAN_ENGLISH Anguillan English +AUSTRALIAN_ENGLISH Australian English +ENGLISH_NEW_ZEALAND English New Zealand +NEW_ZEALAND_ENGLISH NEW Zealand English +NEW_ENGLAND_ENGLISH NEW England English +BERMUDIAN ENGLISH Bermudian English +NIUEAN_ENGLISH Niuean English +MONTSERRAT_ENGLISH Montserrat English +PITCAIRN_ISLAND_ENGLISH Pitcairn Island English +ST_HELENA_ENGLISH ST Helena English +ENGLISH_TURKS_CAICOS English Turks Caicos +VIRGIN_ISLANDS_ENGLISH Virgin Islands English +ESPERANTO Esperanto +ERITREA Eritrea +SPANISH Spanish +SPANISH_MEXICO Spanish Mexico +SPANISH_UNITED_STATES Spanish United States +SPANISH_CARIBBEAN Spanish Caribbean +SPANISH_ARGENTINIAN Spanish Argentinian +SPANISH_BOLIVIAN Spanish Bolivian +SPANISH_BRAZILIAN Spanish Brazilian +SPANISH_CHILEAN Spanish Chilean +SPANISH_COLOMBIAN Spanish Colombian +SPANISH_COSTA_RICA Spanish Costa Rica +SPANISH_DOMINICAN_REPUBLIC Spanish Dominican Republic +SPANISH_ECUADOR Spanish Ecuador +SPANISH_SPAIN Spanish Spain +SPANISH_NL Spanish NL +SPANISH_EUROPE Spanish Europe +SPANISH_GUATEMALA Spanish Guatemala +SPANISH_HONDURAS Spanish Honduras +SPANISH_LAO Spanish Lao +SPANISH_NICARAGUA Spanish Nicaragua +SPANISH_PANAMIAN Spanish Panamian +SPANISH_PERU Spanish Peru +SPANISH_PUERTO_RICO Spanish Puerto Rico +SPANISH_PARAGUAYS Panish Paraguay +SPANISH_EL_SALVADOR Spanish EL Salvador +SPANISH_URUGUAY Spanish Uruguay +SPANISH_VENEZUELA Spanish Venezuela +SPANISH_LATIN_AMERICA Spanish Latin America +ESTONIAN Estonian +BASQUE Basque +PERSIAN Persian +ADAMAWA_FULFULDE Adamawa Fulfulde +BAGIRMI_FULFULDE Bagirmi Fulfulde +BORGU_FULFULDE Borgu Fulfulde +NIGER_FULFULDE Niger Fulfulde +MAASINA_FULFULDE Maasina Fulfulde +NIGERIAN_FULFULDE Nigerian Fulfulde +PULAAR Pulaar +WESTERN_NIGER_FULFULDE Western Niger Fulfulde +KVEN Kven +NORWEGIAN Norwegian +FIJIAN FIJian +FALKLANDIAN FalkLandian +FAROESE Faroese +FRENCH French +METROPOLITAN_FRENCH Metropolitan French +ACADIAN_FRENCH Acadian French +DOMINICA_FRENCH Dominica French +ALGERIAN_FRENCH Algerian French +AOSTAN_FRENCH Aostan French +BELGIAN_FRENCH Belgian French +CAMBODIAN_FRENCH Cambodian French +CAJUN_FRENCH CAJUN French +CANADIAN_FRENCH Canadian French +GUIANESE_FRENCH Guianese French +FRENCH_GUIANA French Guiana +GUYANESE_CREOLE Guyanese Creole +ENGLISH_GUIANA English Guiana +GUIANESE_ENGLISH Guianese English +HAITIAN_FRENCH Haitian French +HAITIAN_CREOLE Haitian Creole +INDIAN_FRENCH Indian French +ANGLO_NORMAN_FRENCH Anglo Norman French +JERSEY_LEGAL_FRENCH Jersey Legal French +LAO_FRENCH Lao French +FRENCH_CREOLE French Creole +LOUISIANIAN_FRENCH Louisianian French +LOUISIANA_CREOLE Louisiana Creole +MERIDIONAL_FRENCH Meridional French +MISSOURI_FRENCH Missouri French +NEW_CALEDONIAN_FRENCH NEW Caledonian French +NEWFOUNDLAND_FRENCH NEW Foundland French +NEW_ENGLAND_FRENCH NEW England French +QUEBEC_FRENCH Quebec French +SWISS_FRENCH Swiss French +VIETNAMESE_FRENCH Vietnamese French +WEST_INDIAN_FRENCH West Indian French +WALLISIAN_FRENCH Wallisian French +WESTERN_FRISIAN Western Frisian +FRYSK Frysk +IRISH_GABON Irish Gabon +GENERAL_AMERICAN General American +GUADELOUPEAN_CREOLE_FRENCH Guadeloupean Creole French +SCOTTISH_GRENADA Scottish Grenada +GEORGIAN Georgian +LLANITO Llanito +GUERNESIAIS Guernesiais +GHANA Ghana +MODERN_GREEK Modern Greek +ANCIENT_GREEK Ancient Greek +GALICIAN Galician +GAMBIA Gambia +GUARANI Guarani +CHIRIPA Chiripa +EASTERN_BOLIVIAN_GUARAN Eastern Bolivian Guarani +MBYA_GUARANI Mbya Guarani +PARAGUAYAN_GUARANI Paraguayan Guarani +WESTERN_BOLIVIAN_GUARANI Western Bolivian Guarani +SOUTH_GEORGIA_ENGLISH South Georgia English +GUATEMALA Guatemala +EQUATORIAL_GUINEAN Equatorial Guinean +GUJARATI Gujarati +MANX Manx +GUYAN Aguyana +HEBREW Hebrew +MODERN_HEBREW Modern Hebrew +CLASSICAL_HEBREW Classical Hebrew +SAMARITAN_ARAMEIC Samaritan Arameic +SAMARITAN_HEBREW Samaritan Hebrew +MOABITE_HEBREW Moabite Hebrew +EDOMITE_HEBREW Edomit Hebrew +IBRIT Ibrit +HIRI_MOTU Hiri Motu +HAITIAN Haitian +HUNGARIAN Hungarian +ARMENIAN_ARTSAKH Armenian Artsakh +HERERO Herero +INTERLINGUA Interlingua +INDONESIAN Indonesian +INTERLINGUE Interlingue +IRISH Irish +IGBO Igbo +SICHUAN_YI Sichuan YI +INUPIAQ Inupiaq +IAAI Iaai +IRANIAN Iranian +IDO Ido +ICELANDIC Icelandic +ITALIAN Italian +INUKTITUT Inuktitut +IRAQIAN Iraqian +JERRIAIS Jerriais +JORDAN Jordan +JAPANESE Japanese +CAMBODIAN Cambodian +KENYAN Kenyan +KIKUYU Kikuyu +KWANYAMA Kwanyama +KAZAKH Kazakh +KALAALLISUT Kalaallisut +NGAZIDJA_COMORIAN Ngazidja Comorian +COMOROS Comoros +NDZWANI_COMORIAN Ndzwani Comorian +MAORE_COMORIAN Maore Comorian +MWALI_COMORIAN Mwali Comorian +KHMER Khmer +KANNADA Kannada +KOREAN Korean +KANURI Kanuri +ST_KITTS_NEVIS ST Kitts Nevis +KASHMIRI Kashmiri +KAZAKHSTAN Kazakhstan +CORNISH Cornish +KYRGYZSTAN Kyrgyzstan +SRI_LANKA Sri Lanka +LATVIAN Latvian +LUXEMBOURGISH Luxembourgish +LESOTHO Lesotho +LAO LAO +LIBERIA Liberia +LIBYA Libya +LIMBURGISH Limburgish +LINGALA Lingala +LITHUANIAN Lithuanian +LUBA_KATANGA Luba Katanga +MOLDOVIAN Moldovian +MOLDAVIAN Moldavian +MONTENEGRIN Montenegrin +SAINT_MARTIN_FRENCH Saint Martin French +MALAGASY Malagasy +MARSHALLESE Marshallese +MAORI Maori +MIKMAQ Mikmaq +MACEDONIAN Macedonian +MALAYALAM Malayalam +MAURITANIAN Mauritanian +MAURITIUS Mauritius +MONGOLIAN Mongolian +CAROLINIAN Carolinian +MALTESE Maltese +BURMESE Burmese +ANTILLEAN-CREOL Antillean Creole +NENGONE Nengone +NEW_LANGUAGE New Language +DUTCH Dutch +PENNSYLVANIA_DUTCH Pennsylvanian Dutch +NORWAY Norway +NAURU Nauru +NIUEAN Niuean +NU Niuean +CHEWA Chewa +OCCITAN Occitan +ORIYA Oriya +OSSETIAN Ossetian +PUNJABI Punjabi +PANJABI Panjabi +GURMIKI Gurmiki +PHILIPPINESE Philippinese +TAHITIAN Tahitian +PAPUA_GUINEA Papua Guinea +POLISH Polish +PASHTO Pashto +PORTUGUESE Portuguese +PORTUGUESE_BRASIL Portuguese Brasil +QATAR Qatar +QUECHUA Quechua +ROMANSH Romansh +ROMANI Romani +KIRUNDI Kirundi +ROMANIAN Romanian +ROMANIAN_ANSI Romanian ANSI +ROMANIAN_NO_DIACRITIC Romanian NO Diacritics +ROMANIAN_MOLDAVIA Romanian Moldavia +ROMANIAN_ROMANIA Romanian Romania +RUSSIAN Russian +KINYARWANDA Kinya Rwanda +SANSKRIT Sanskrit +SARDINIAN Sardinian +SAN_MIGUEL_CREOLE_FRENCH San Miguel Creole French +SINDHI Sindhi +SANGO Sango +SERBO_CROATIAN Serbo-Croatian +SINHALA Sinhala +SLOVAK Slovak +SLOVENIAN Slovenian +SAMOAN Samoan +SHONA Shona +SOMAL Somal +SOMALI Somali +SURINAME Suriname +SWATI Swati +STANDARD_SCOTTISH_ENGLISH Standard Scottish English +SOTHO Sotho +SUNDANESE Sundanese +SINT_MAARTEN_DUTCH Sint Maarten Dutch +SWEDISH Swedish +SYRIAC Syriac +SWAHILI Swahili +TURKS_CAICO Turks Caicos +CHAD Chad +TAMIL Tamil +TELUGU Telugu +TAJIK Tajik +THAI Thai +TIGRINYA Tigrinya +TURKMEN Turkmen +TOKELAUAN Tokelauan +TAGALOG Tagalog +TSWANA Tswana +TONGA Tonga +TURKISH Turkish +TSONGA Tsonga +TUVALU Tuvalu +TATAR Tatar +TAIWANESE_HOKKIEN Taiwanese Hokkien +UIGHUR Uighur +UKRAINEAN Ukrainean +URDU Urdu +UZBEK Uzbek +LATIN Latin +VENDA Venda +VINCENTIAN-CREO Vincentian Creole +VIETNAMESE Vietnamese +VOLAPUK Volapuk +FRENCH_VIETNAM French Vietnam +WALLISIAN Wallisian +MALAYO-POLYNESIAN Malayo Polynesian +SHIMAORE Shimaore +WALLOON Walloon +WOLOF Wolof +XHOSA Xhosa +YIDDISH Yiddish +YORUBA Yoruba +ZHUANG Zhuang +CHINESE_SIMPLIFIED Chinese Simplified +CHINESE_HONG_KONG Chinese Hong Kong +CHINESE_TRADITIONAL Chinese Traditional +CHINESE_TRADITIONAL_TAIWAN Chinese Traditional Taiwan +ZAMBIAN Zambian +ZIMBABWE Zimbabwe +ZULU Zulu + +// Mobile device names +A4TS Archos 40b Titanium Surround +AE5HD Aquaris E5 HD +ANDROID Android +ATOOJ ASUS T00J +ATT Asus Transformer Tablet +BBCURVE BlackBerry Curve +BBP BlackBerry Porsche +BBPB BlackBerry PlayBook +BBPEARL BlackBerry Pearl +BBPEARLF BlackBerry Pearl Flip +BBPP BlackBerry Passport +BBSTORM BlackBerry Storm +BBTOUCH 'BlackBerry Touch +BLACKBERRY BlackBerry +DESKTOP 'Desktop +HP8 HUAWEI P8 +HPL01 Huawei Honor 7 +HPL09 Huawei P9 EVA-L09 +HPL23 Huawei P9 Lite +HTCD HTC Desire +IPAD iPad +IPHONE iPhone +IPOD iPod +L640XL Lumia 640 XL +LG LG +LGH850 LG G5 H850 +LGOL7IT LG Optimus L7 II +LGV500 LG V500 +LK50T5 Lenovo K50-t5 +MDM Motorola Droid Mini +N1 Nexus 1 +N4 Nexus 4 +N5 Nexus 5 +N7 Nexus 7 +N9 Nexus 9 +OPO OnePlus One +ORN Orange Nura +PALM Palm +SG2T Samsung Galaxy2 Tablet +SGA4 Samsung Galaxy Ace 4 +SGN Samsung Galaxy Nexus +SGN3 Samsung Galaxy Note 3 +SGN3N Samsung Galaxy Note 3 Neo +SGN4 Samsung Galaxy Note 4 +SGN5 Samsung Galaxy Note 5 +SGS2 Samsung Galaxy S2 +SGS4 Samsung Galaxy S4 +SGS4A Samsung Galaxy S4 Active +SGS5 Samsung Galaxy S5 +SGS5A Samsung Galaxy S5 Active +SGS6 Samsung Galaxy S6 +SGS6E Samsung Galaxy S6 Edge +SGS7E Samsung Galaxy S7 Edge +SGS8 Samsung Galaxy S8 +SGSD2 Samsung Galaxy S Duos 2 +SGT3 Samsung Galaxy Tab 3 +SGT3W Samsung Galaxy Tab3 +SGT4 Samsung Galaxy Tab 4 +SGTP Samsung Galaxy TabPRO +SXED Sony Xperia E1 Dual +SXM2 Sony XPERIA M2 +SXZ1 Sony Xperia Z1 +SXZ3 Sony Xperia Z3 +TKT Tianyu K-Touch +VOYAGER Voyager +WSP Windows Smartphone \ No newline at end of file diff --git a/nl/index.htm b/nl/index.htm deleted file mode 100644 index ee1f723..0000000 --- a/nl/index.htm +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/phpinfo.php b/phpinfo.php new file mode 100644 index 0000000..554a22c --- /dev/null +++ b/phpinfo.php @@ -0,0 +1,5 @@ + diff --git a/ro_ro/index.htm b/ro_ro/index.htm deleted file mode 100644 index ee1f723..0000000 --- a/ro_ro/index.htm +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/ru/index.htm b/ru/index.htm deleted file mode 100644 index ee1f723..0000000 --- a/ru/index.htm +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/templates/SwiftBlue/cookieconsent.min.js b/templates/SwiftBlue/cookieconsent.min.js index 1e3dccf..cdec567 100644 --- a/templates/SwiftBlue/cookieconsent.min.js +++ b/templates/SwiftBlue/cookieconsent.min.js @@ -1 +1 @@ -!function(e){if(!e.hasInitialised){var t={escapeRegExp:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},hasClass:function(e,t){var i=" ";return 1===e.nodeType&&(i+e.className+i).replace(/[\n\t]/g,i).indexOf(i+t+i)>=0},addClass:function(e,t){e.className+=" "+t},removeClass:function(e,t){var i=new RegExp("\\b"+this.escapeRegExp(t)+"\\b");e.className=e.className.replace(i,"")},interpolateString:function(e,t){return e.replace(/{{([a-z][a-z0-9\-_]*)}}/gi,function(e){return t(arguments[1])||""})},getCookie:function(e){var t=("; "+document.cookie).split("; "+e+"=");return t.length<2?void 0:t.pop().split(";").shift()},setCookie:function(e,t,i,n,o,s){var r=new Date;r.setHours(r.getHours()+24*(i||365));var a=[e+"="+t,"expires="+r.toUTCString(),"path="+(o||"/")];n&&a.push("domain="+n),s&&a.push("secure"),document.cookie=a.join(";")},deepExtend:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(i in e&&this.isPlainObject(e[i])&&this.isPlainObject(t[i])?this.deepExtend(e[i],t[i]):e[i]=t[i]);return e},throttle:function(e,t){var i=!1;return function(){i||(e.apply(this,arguments),i=!0,setTimeout(function(){i=!1},t))}},hash:function(e){var t,i,n=0;if(0===e.length)return n;for(t=0,i=e.length;t=128?"#000":"#fff"},getLuminance:function(e){var t=parseInt(this.normaliseHex(e),16),i=38+(t>>16),n=38+(t>>8&255),o=38+(255&t);return"#"+(16777216+65536*(i<255?i<1?0:i:255)+256*(n<255?n<1?0:n:255)+(o<255?o<1?0:o:255)).toString(16).slice(1)},isMobile:function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},isPlainObject:function(e){return"object"==typeof e&&null!==e&&e.constructor==Object},traverseDOMPath:function(e,i){return e&&e.parentNode?t.hasClass(e,i)?e:this.traverseDOMPath(e.parentNode,i):null}};e.status={deny:"deny",allow:"allow",dismiss:"dismiss"},e.transitionEnd=function(){var e=document.createElement("div"),t={t:"transitionend",OT:"oTransitionEnd",msT:"MSTransitionEnd",MozT:"transitionend",WebkitT:"webkitTransitionEnd"};for(var i in t)if(t.hasOwnProperty(i)&&void 0!==e.style[i+"ransition"])return t[i];return""}(),e.hasTransition=!!e.transitionEnd;var i=Object.keys(e.status).map(t.escapeRegExp);e.customStyles={},e.Popup=function(){var n={enabled:!0,container:null,cookie:{name:"cookieconsent_status",path:"/",domain:"",expiryDays:365,secure:!1},onPopupOpen:function(){},onPopupClose:function(){},onInitialise:function(e){},onStatusChange:function(e,t){},onRevokeChoice:function(){},onNoCookieLaw:function(e,t){},content:{header:"Cookies used on the website!",message:"This website uses cookies to ensure you get the best experience on our website.",dismiss:"Got it!",allow:"Allow cookies",deny:"Decline",link:"Learn more",href:"https://www.cookiesandyou.com",close:"❌",target:"_blank",policy:"Cookie Policy"},elements:{header:'{{header}} ',message:'{{message}}',messagelink:'{{message}} {{link}}',dismiss:'{{dismiss}}',allow:'{{allow}}',deny:'{{deny}}',link:'{{link}}',close:'{{close}}'},window:'',revokeBtn:'
{{policy}}
',compliance:{info:'
{{dismiss}}
',"opt-in":'
{{deny}}{{allow}}
',"opt-out":'
{{deny}}{{allow}}
'},type:"info",layouts:{basic:"{{messagelink}}{{compliance}}","basic-close":"{{messagelink}}{{compliance}}{{close}}","basic-header":"{{header}}{{message}}{{link}}{{compliance}}"},layout:"basic",position:"bottom",theme:"block",static:!1,palette:null,revokable:!1,animateRevokable:!0,showLink:!0,dismissOnScroll:!1,dismissOnTimeout:!1,dismissOnWindowClick:!1,ignoreClicksFrom:["cc-revoke","cc-btn"],autoOpen:!0,autoAttach:!0,whitelistPage:[],blacklistPage:[],overrideHTML:null};function o(){this.initialise.apply(this,arguments)}function s(e){this.openingTimeout=null,t.removeClass(e,"cc-invisible")}function r(t){t.style.display="none",t.removeEventListener(e.transitionEnd,this.afterTransition),this.afterTransition=null}function a(){var e=this.options.position.split("-"),t=[];return e.forEach(function(e){t.push("cc-"+e)}),t}function c(n){var o=this.options,s=document.createElement("div"),r=o.container&&1===o.container.nodeType?o.container:document.body;s.innerHTML=n;var a=s.children[0];return a.style.display="none",t.hasClass(a,"cc-window")&&e.hasTransition&&t.addClass(a,"cc-invisible"),this.onButtonClick=function(n){var o=t.traverseDOMPath(n.target,"cc-btn")||n.target;if(t.hasClass(o,"cc-btn")){var s=o.className.match(new RegExp("\\bcc-("+i.join("|")+")\\b")),r=s&&s[1]||!1;r&&(this.setStatus(r),this.close(!0))}t.hasClass(o,"cc-close")&&(this.setStatus(e.status.dismiss),this.close(!0));t.hasClass(o,"cc-revoke")&&this.revokeChoice()}.bind(this),a.addEventListener("click",this.onButtonClick),o.autoAttach&&(r.firstChild?r.insertBefore(a,r.firstChild):r.appendChild(a)),a}function l(e){return"000000"==(e=t.normaliseHex(e))?"#222":t.getLuminance(e)}function u(e,t){for(var i=0,n=e.length;i=0;o&&t(n);return o}.call(this)&&(this.options.enabled=!1),u(this.options.blacklistPage,location.pathname)&&(this.options.enabled=!1),u(this.options.whitelistPage,location.pathname)&&(this.options.enabled=!0);var o=this.options.window.replace("{{classes}}",function(){var i=this.options,n="top"==i.position||"bottom"==i.position?"banner":"floating";t.isMobile()&&(n="floating");var o=["cc-"+n,"cc-type-"+i.type,"cc-theme-"+i.theme];i.static&&o.push("cc-static");o.push.apply(o,a.call(this));(function(i){var n=t.hash(JSON.stringify(i)),o="cc-color-override-"+n,s=t.isPlainObject(i);this.customStyleSelector=s?o:null,s&&function(i,n,o){if(e.customStyles[i])return void++e.customStyles[i].references;var s={},r=n.popup,a=n.button,c=n.highlight;r&&(r.text=r.text?r.text:t.getContrast(r.background),r.link=r.link?r.link:r.text,s[o+".cc-window"]=["color: "+r.text,"background-color: "+r.background],s[o+".cc-revoke"]=["color: "+r.text,"background-color: "+r.background],s[o+" .cc-link,"+o+" .cc-link:active,"+o+" .cc-link:visited"]=["color: "+r.link],a&&(a.text=a.text?a.text:t.getContrast(a.background),a.border=a.border?a.border:"transparent",s[o+" .cc-btn"]=["color: "+a.text,"border-color: "+a.border,"background-color: "+a.background],a.padding&&s[o+" .cc-btn"].push("padding: "+a.padding),"transparent"!=a.background&&(s[o+" .cc-btn:hover, "+o+" .cc-btn:focus"]=["background-color: "+(a.hover||l(a.background))]),c?(c.text=c.text?c.text:t.getContrast(c.background),c.border=c.border?c.border:"transparent",s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+c.text,"border-color: "+c.border,"background-color: "+c.background]):s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+r.text]));var u=document.createElement("style");document.head.appendChild(u),e.customStyles[i]={references:1,element:u.sheet};var h=-1;for(var p in s)s.hasOwnProperty(p)&&u.sheet.insertRule(p+"{"+s[p].join(";")+"}",++h)}(n,i,"."+o);return s}).call(this,this.options.palette);this.customStyleSelector&&o.push(this.customStyleSelector);return o}.call(this).join(" ")).replace("{{children}}",function(){var e={},i=this.options;i.showLink||(i.elements.link="",i.elements.messagelink=i.elements.message);Object.keys(i.elements).forEach(function(n){e[n]=t.interpolateString(i.elements[n],function(e){var t=i.content[e];return e&&"string"==typeof t&&t.length?t:""})});var n=i.compliance[i.type];n||(n=i.compliance.info);e.compliance=t.interpolateString(n,function(t){return e[t]});var o=i.layouts[i.layout];o||(o=i.layouts.basic);return t.interpolateString(o,function(t){return e[t]})}.call(this)),s=this.options.overrideHTML;if("string"==typeof s&&s.length&&(o=s),this.options.static){var r=c.call(this,'
'+o+"
");r.style.display="",this.element=r.firstChild,this.element.style.display="none",t.addClass(this.element,"cc-invisible")}else this.element=c.call(this,o);(function(){var i=this.setStatus.bind(this),n=this.close.bind(this),o=this.options.dismissOnTimeout;"number"==typeof o&&o>=0&&(this.dismissTimeout=window.setTimeout(function(){i(e.status.dismiss),n(!0)},Math.floor(o)));var s=this.options.dismissOnScroll;if("number"==typeof s&&s>=0){var r=function(t){window.pageYOffset>Math.floor(s)&&(i(e.status.dismiss),n(!0),window.removeEventListener("scroll",r),this.onWindowScroll=null)};this.options.enabled&&(this.onWindowScroll=r,window.addEventListener("scroll",r))}var a=this.options.dismissOnWindowClick,c=this.options.ignoreClicksFrom;if(a){var l=function(o){for(var s=!1,r=o.path.length,a=c.length,u=0;uo&&(i=!0),i?t.hasClass(n,"cc-active")||t.addClass(n,"cc-active"):t.hasClass(n,"cc-active")&&t.removeClass(n,"cc-active")},200);this.onMouseMove=o,window.addEventListener("mousemove",o)}}}.call(this),this.options.autoOpen&&this.autoOpen()},o.prototype.destroy=function(){this.onButtonClick&&this.element&&(this.element.removeEventListener("click",this.onButtonClick),this.onButtonClick=null),this.dismissTimeout&&(clearTimeout(this.dismissTimeout),this.dismissTimeout=null),this.onWindowScroll&&(window.removeEventListener("scroll",this.onWindowScroll),this.onWindowScroll=null),this.onWindowClick&&(window.removeEventListener("click",this.onWindowClick),this.onWindowClick=null),this.onMouseMove&&(window.removeEventListener("mousemove",this.onMouseMove),this.onMouseMove=null),this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=null,this.revokeBtn&&this.revokeBtn.parentNode&&this.revokeBtn.parentNode.removeChild(this.revokeBtn),this.revokeBtn=null,function(i){if(t.isPlainObject(i)){var n=t.hash(JSON.stringify(i)),o=e.customStyles[n];if(o&&!--o.references){var s=o.element.ownerNode;s&&s.parentNode&&s.parentNode.removeChild(s),e.customStyles[n]=null}}}(this.options.palette),this.options=null},o.prototype.open=function(t){if(this.element)return this.isOpen()||(e.hasTransition?this.fadeIn():this.element.style.display="",this.options.revokable&&this.toggleRevokeButton(),this.options.onPopupOpen.call(this)),this},o.prototype.close=function(t){if(this.element)return this.isOpen()&&(e.hasTransition?this.fadeOut():this.element.style.display="none",t&&this.options.revokable&&this.toggleRevokeButton(!0),this.options.onPopupClose.call(this)),this},o.prototype.fadeIn=function(){var i=this.element;if(e.hasTransition&&i&&(this.afterTransition&&r.call(this,i),t.hasClass(i,"cc-invisible"))){if(i.style.display="",this.options.static){var n=this.element.clientHeight;this.element.parentNode.style.maxHeight=n+"px"}this.openingTimeout=setTimeout(s.bind(this,i),20)}},o.prototype.fadeOut=function(){var i=this.element;e.hasTransition&&i&&(this.openingTimeout&&(clearTimeout(this.openingTimeout),s.bind(this,i)),t.hasClass(i,"cc-invisible")||(this.options.static&&(this.element.parentNode.style.maxHeight=""),this.afterTransition=r.bind(this,i),i.addEventListener(e.transitionEnd,this.afterTransition),t.addClass(i,"cc-invisible")))},o.prototype.isOpen=function(){return this.element&&""==this.element.style.display&&(!e.hasTransition||!t.hasClass(this.element,"cc-invisible"))},o.prototype.toggleRevokeButton=function(e){this.revokeBtn&&(this.revokeBtn.style.display=e?"":"none")},o.prototype.revokeChoice=function(e){this.options.enabled=!0,this.clearStatus(),this.options.onRevokeChoice.call(this),e||this.autoOpen()},o.prototype.hasAnswered=function(t){return Object.keys(e.status).indexOf(this.getStatus())>=0},o.prototype.hasConsented=function(t){var i=this.getStatus();return i==e.status.allow||i==e.status.dismiss},o.prototype.autoOpen=function(e){!this.hasAnswered()&&this.options.enabled?this.open():this.hasAnswered()&&this.options.revokable&&this.toggleRevokeButton(!0)},o.prototype.setStatus=function(i){var n=this.options.cookie,o=t.getCookie(n.name),s=Object.keys(e.status).indexOf(o)>=0;Object.keys(e.status).indexOf(i)>=0?(t.setCookie(n.name,i,n.expiryDays,n.domain,n.path,n.secure),this.options.onStatusChange.call(this,i,s)):this.clearStatus()},o.prototype.getStatus=function(){return t.getCookie(this.options.cookie.name)},o.prototype.clearStatus=function(){var e=this.options.cookie;t.setCookie(e.name,"",-1,e.domain,e.path)},o}(),e.Location=function(){var e={timeout:5e3,services:["ipinfo"],serviceDefinitions:{ipinfo:function(){return{url:"//ipinfo.io",headers:["Accept: application/json"],callback:function(e,t){try{var i=JSON.parse(t);return i.error?s(i):{code:i.country}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},ipinfodb:function(e){return{url:"//api.ipinfodb.com/v3/ip-country/?key={api_key}&format=json&callback={callback}",isScript:!0,callback:function(e,t){try{var i=JSON.parse(t);return"ERROR"==i.statusCode?s({error:i.statusMessage}):{code:i.countryCode}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},maxmind:function(){return{url:"//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js",isScript:!0,callback:function(e){window.geoip2?geoip2.country(function(t){try{e({code:t.country.iso_code})}catch(t){e(s(t))}},function(t){e(s(t))}):e(new Error("Unexpected response format. The downloaded script should have exported `geoip2` to the global scope"))}}}}};function i(i){t.deepExtend(this.options={},e),t.isPlainObject(i)&&t.deepExtend(this.options,i),this.currentServiceIndex=-1}function n(e,t,i){var n,o=document.createElement("script");o.type="text/"+(e.type||"javascript"),o.src=e.src||e,o.async=!1,o.onreadystatechange=o.onload=function(){var e=o.readyState;clearTimeout(n),t.done||e&&!/loaded|complete/.test(e)||(t.done=!0,t(),o.onreadystatechange=o.onload=null)},document.body.appendChild(o),n=setTimeout(function(){t.done=!0,t(),o.onreadystatechange=o.onload=null},i)}function o(e,t,i,n,o){var s=new(window.XMLHttpRequest||window.ActiveXObject)("MSXML2.XMLHTTP.3.0");if(s.open(n?"POST":"GET",e,1),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),Array.isArray(o))for(var r=0,a=o.length;r3&&t(s)}),s.send(n)}function s(e){return new Error("Error ["+(e.code||"UNKNOWN")+"]: "+e.error)}return i.prototype.getNextService=function(){var e;do{e=this.getServiceByIdx(++this.currentServiceIndex)}while(this.currentServiceIndex=0,revokable:t.revokable.indexOf(e)>=0,explicitAction:t.explicitAction.indexOf(e)>=0}},i.prototype.applyLaw=function(e,t){var i=this.get(t);return i.hasLaw||(e.enabled=!1,"function"==typeof e.onNoCookieLaw&&e.onNoCookieLaw(t,i)),this.options.regionalLaw&&(i.revokable&&(e.revokable=!0),i.explicitAction&&(e.dismissOnScroll=!1,e.dismissOnTimeout=!1)),e},i}(),e.initialise=function(i,n,o){var s=new e.Law(i.law);n||(n=function(){}),o||(o=function(){});var r=Object.keys(e.status),a=t.getCookie("cookieconsent_status");r.indexOf(a)>=0?n(new e.Popup(i)):e.getCountryCode(i,function(t){delete i.law,delete i.location,t.code&&(i=s.applyLaw(i,t.code)),n(new e.Popup(i))},function(t){delete i.law,delete i.location,o(t,new e.Popup(i))})},e.getCountryCode=function(t,i,n){t.law&&t.law.countryCode?i({code:t.law.countryCode}):t.location?new e.Location(t.location).locate(function(e){i(e||{})},n):i({})},e.utils=t,e.hasInitialised=!0,window.cookieconsent=e}}(window.cookieconsent||{}); \ No newline at end of file +!function(e){if(!e.hasInitialised){var t={escapeRegExp:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},hasClass:function(e,t){var i=" ";return 1===e.nodeType&&(i+e.className+i).replace(/[\n\t]/g,i).indexOf(i+t+i)>=0},addClass:function(e,t){e.className+=" "+t},removeClass:function(e,t){var i=new RegExp("\\b"+this.escapeRegExp(t)+"\\b");e.className=e.className.replace(i,"")},interpolateString:function(e,t){return e.replace(/{{([a-z][a-z0-9\-_]*)}}/gi,function(e){return t(arguments[1])||""})},getCookie:function(e){var t=("; "+document.cookie).split("; "+e+"=");return t.length<2?void 0:t.pop().split(";").shift()},setCookie:function(e,t,i,n,o,s){var r=new Date;r.setHours(r.getHours()+24*(i||365));var a=[e+"="+t,"expires="+r.toUTCString(),"path="+(o||"/")];n&&a.push("domain="+n),s&&a.push("secure"),document.cookie=a.join(";")},deepExtend:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(i in e&&this.isPlainObject(e[i])&&this.isPlainObject(t[i])?this.deepExtend(e[i],t[i]):e[i]=t[i]);return e},throttle:function(e,t){var i=!1;return function(){i||(e.apply(this,arguments),i=!0,setTimeout(function(){i=!1},t))}},hash:function(e){var t,i,n=0;if(0===e.length)return n;for(t=0,i=e.length;t=128?"#000":"#fff"},getLuminance:function(e){var t=parseInt(this.normaliseHex(e),16),i=38+(t>>16),n=38+(t>>8&255),o=38+(255&t);return"#"+(16777216+65536*(i<255?i<1?0:i:255)+256*(n<255?n<1?0:n:255)+(o<255?o<1?0:o:255)).toString(16).slice(1)},isMobile:function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},isPlainObject:function(e){return"object"==typeof e&&null!==e&&e.constructor==Object},traverseDOMPath:function(e,i){return e&&e.parentNode?t.hasClass(e,i)?e:this.traverseDOMPath(e.parentNode,i):null}};e.status={deny:"deny",allow:"allow",dismiss:"dismiss"},e.transitionEnd=function(){var e=document.createElement("div"),t={t:"transitionend",OT:"oTransitionEnd",msT:"MSTransitionEnd",MozT:"transitionend",WebkitT:"webkitTransitionEnd"};for(var i in t)if(t.hasOwnProperty(i)&&void 0!==e.style[i+"ransition"])return t[i];return""}(),e.hasTransition=!!e.transitionEnd;var i=Object.keys(e.status).map(t.escapeRegExp);e.customStyles={},e.Popup=function(){var n={enabled:!0,container:null,cookie:{name:"cookieconsent_status",path:"/",domain:"",expiryDays:365,secure:!1},onPopupOpen:function(){},onPopupClose:function(){},onInitialise:function(e){},onStatusChange:function(e,t){},onRevokeChoice:function(){},onNoCookieLaw:function(e,t){},content:{header:"Cookies used on the website!",message:"This website uses cookies to ensure you get the best experience on our website.",dismiss:"Got it!",allow:"Allow cookies",deny:"Decline",link:"Learn more",href:"https://www.cookiesandyou.com",close:"❌",target:"_blank",policy:"Cookie Policy"},elements:{header:'{{header}} ',message:'{{message}}',messagelink:'{{message}} {{link}}',dismiss:'{{dismiss}}',allow:'{{allow}}',deny:'{{deny}}',link:'{{link}}',close:'{{close}}'},window:'',revokeBtn:'
{{policy}}
',compliance:{info:'
{{dismiss}}
',"opt-in":'
{{deny}}{{allow}}
',"opt-out":'
{{deny}}{{allow}}
'},type:"info",layouts:{basic:"{{messagelink}}{{compliance}}","basic-close":"{{messagelink}}{{compliance}}{{close}}","basic-header":"{{header}}{{message}}{{link}}{{compliance}}"},layout:"basic",position:"bottom",theme:"block",static:!1,palette:null,revokable:!1,animateRevokable:!0,showLink:!0,dismissOnScroll:!1,dismissOnTimeout:!1,dismissOnWindowClick:!1,ignoreClicksFrom:["cc-revoke","cc-btn"],autoOpen:!0,autoAttach:!0,whitelistPage:[],blacklistPage:[],overrideHTML:null};function o(){this.initialise.apply(this,arguments)}function s(e){this.openingTimeout=null,t.removeClass(e,"cc-invisible")}function r(t){t.style.display="none",t.removeEventListener(e.transitionEnd,this.afterTransition),this.afterTransition=null}function a(){var e=this.options.position.split("-"),t=[];return e.forEach(function(e){t.push("cc-"+e)}),t}function c(n){var o=this.options,s=document.createElement("div"),r=o.container&&1===o.container.nodeType?o.container:document.body;s.innerHTML=n;var a=s.children[0];return a.style.display="none",t.hasClass(a,"cc-window")&&e.hasTransition&&t.addClass(a,"cc-invisible"),this.onButtonClick=function(n){var o=t.traverseDOMPath(n.target,"cc-btn")||n.target;if(t.hasClass(o,"cc-btn")){var s=o.className.match(new RegExp("\\bcc-("+i.join("|")+")\\b")),r=s&&s[1]||!1;r&&(this.setStatus(r),this.close(!0))}t.hasClass(o,"cc-close")&&(this.setStatus(e.status.dismiss),this.close(!0));t.hasClass(o,"cc-revoke")&&this.revokeChoice()}.bind(this),a.addEventListener("click",this.onButtonClick),o.autoAttach&&(r.firstChild?r.insertBefore(a,r.firstChild):r.appendChild(a)),a}function l(e){return"000000"==(e=t.normaliseHex(e))?"#222":t.getLuminance(e)}function u(e,t){for(var i=0,n=e.length;i=0;o&&t(n);return o}.call(this)&&(this.options.enabled=!1),u(this.options.blacklistPage,location.pathname)&&(this.options.enabled=!1),u(this.options.whitelistPage,location.pathname)&&(this.options.enabled=!0);var o=this.options.window.replace("{{classes}}",function(){var i=this.options,n="top"==i.position||"bottom"==i.position?"banner":"floating";t.isMobile()&&(n="floating");var o=["cc-"+n,"cc-type-"+i.type,"cc-theme-"+i.theme];i.static&&o.push("cc-static");o.push.apply(o,a.call(this));(function(i){var n=t.hash(JSON.stringify(i)),o="cc-color-override-"+n,s=t.isPlainObject(i);this.customStyleSelector=s?o:null,s&&function(i,n,o){if(e.customStyles[i])return void++e.customStyles[i].references;var s={},r=n.popup,a=n.button,c=n.highlight;r&&(r.text=r.text?r.text:t.getContrast(r.background),r.link=r.link?r.link:r.text,s[o+".cc-window"]=["color: "+r.text,"background-color: "+r.background],s[o+".cc-revoke"]=["color: "+r.text,"background-color: "+r.background],s[o+" .cc-link,"+o+" .cc-link:active,"+o+" .cc-link:visited"]=["color: "+r.link],a&&(a.text=a.text?a.text:t.getContrast(a.background),a.border=a.border?a.border:"transparent",s[o+" .cc-btn"]=["color: "+a.text,"border-color: "+a.border,"background-color: "+a.background],a.padding&&s[o+" .cc-btn"].push("padding: "+a.padding),"transparent"!=a.background&&(s[o+" .cc-btn:hover, "+o+" .cc-btn:focus"]=["background-color: "+(a.hover||l(a.background))]),c?(c.text=c.text?c.text:t.getContrast(c.background),c.border=c.border?c.border:"transparent",s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+c.text,"border-color: "+c.border,"background-color: "+c.background]):s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+r.text]));var u=document.createElement("style");document.head.appendChild(u),e.customStyles[i]={references:1,element:u.sheet};var h=-1;for(var p in s)s.hasOwnProperty(p)&&u.sheet.insertRule(p+"{"+s[p].join(";")+"}",++h)}(n,i,"."+o);return s}).call(this,this.options.palette);this.customStyleSelector&&o.push(this.customStyleSelector);return o}.call(this).join(" ")).replace("{{children}}",function(){var e={},i=this.options;i.showLink||(i.elements.link="",i.elements.messagelink=i.elements.message);Object.keys(i.elements).forEach(function(n){e[n]=t.interpolateString(i.elements[n],function(e){var t=i.content[e];return e&&"string"==typeof t&&t.length?t:""})});var n=i.compliance[i.type];n||(n=i.compliance.info);e.compliance=t.interpolateString(n,function(t){return e[t]});var o=i.layouts[i.layout];o||(o=i.layouts.basic);return t.interpolateString(o,function(t){return e[t]})}.call(this)),s=this.options.overrideHTML;if("string"==typeof s&&s.length&&(o=s),this.options.static){var r=c.call(this,'
'+o+"
");r.style.display="",this.element=r.firstChild,this.element.style.display="none",t.addClass(this.element,"cc-invisible")}else this.element=c.call(this,o);(function(){var i=this.setStatus.bind(this),n=this.close.bind(this),o=this.options.dismissOnTimeout;"number"==typeof o&&o>=0&&(this.dismissTimeout=window.setTimeout(function(){i(e.status.dismiss),n(!0)},Math.floor(o)));var s=this.options.dismissOnScroll;if("number"==typeof s&&s>=0){var r=function(t){window.pageYOffset>Math.floor(s)&&(i(e.status.dismiss),n(!0),window.removeEventListener("scroll",r),this.onWindowScroll=null)};this.options.enabled&&(this.onWindowScroll=r,window.addEventListener("scroll",r))}var a=this.options.dismissOnWindowClick,c=this.options.ignoreClicksFrom;if(a){var l=function(o){for(var s=!1,r=o.path.length,a=c.length,u=0;uo&&(i=!0),i?t.hasClass(n,"cc-active")||t.addClass(n,"cc-active"):t.hasClass(n,"cc-active")&&t.removeClass(n,"cc-active")},200);this.onMouseMove=o,window.addEventListener("mousemove",o)}}}.call(this),this.options.autoOpen&&this.autoOpen()},o.prototype.destroy=function(){this.onButtonClick&&this.element&&(this.element.removeEventListener("click",this.onButtonClick),this.onButtonClick=null),this.dismissTimeout&&(clearTimeout(this.dismissTimeout),this.dismissTimeout=null),this.onWindowScroll&&(window.removeEventListener("scroll",this.onWindowScroll),this.onWindowScroll=null),this.onWindowClick&&(window.removeEventListener("click",this.onWindowClick),this.onWindowClick=null),this.onMouseMove&&(window.removeEventListener("mousemove",this.onMouseMove),this.onMouseMove=null),this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=null,this.revokeBtn&&this.revokeBtn.parentNode&&this.revokeBtn.parentNode.removeChild(this.revokeBtn),this.revokeBtn=null,function(i){if(t.isPlainObject(i)){var n=t.hash(JSON.stringify(i)),o=e.customStyles[n];if(o&&!--o.references){var s=o.element.ownerNode;s&&s.parentNode&&s.parentNode.removeChild(s),e.customStyles[n]=null}}}(this.options.palette),this.options=null},o.prototype.open=function(t){if(this.element)return this.isOpen()||(e.hasTransition?this.fadeIn():this.element.style.display="",this.options.revokable&&this.toggleRevokeButton(),this.options.onPopupOpen.call(this)),this},o.prototype.close=function(t){if(this.element)return this.isOpen()&&(e.hasTransition?this.fadeOut():this.element.style.display="none",t&&this.options.revokable&&this.toggleRevokeButton(!0),this.options.onPopupClose.call(this)),this},o.prototype.fadeIn=function(){var i=this.element;if(e.hasTransition&&i&&(this.afterTransition&&r.call(this,i),t.hasClass(i,"cc-invisible"))){if(i.style.display="",this.options.static){var n=this.element.clientHeight;this.element.parentNode.style.maxHeight=n+"px"}this.openingTimeout=setTimeout(s.bind(this,i),20)}},o.prototype.fadeOut=function(){var i=this.element;e.hasTransition&&i&&(this.openingTimeout&&(clearTimeout(this.openingTimeout),s.bind(this,i)),t.hasClass(i,"cc-invisible")||(this.options.static&&(this.element.parentNode.style.maxHeight=""),this.afterTransition=r.bind(this,i),i.addEventListener(e.transitionEnd,this.afterTransition),t.addClass(i,"cc-invisible")))},o.prototype.isOpen=function(){return this.element&&""==this.element.style.display&&(!e.hasTransition||!t.hasClass(this.element,"cc-invisible"))},o.prototype.toggleRevokeButton=function(e){this.revokeBtn&&(this.revokeBtn.style.display=e?"":"none")},o.prototype.revokeChoice=function(e){this.options.enabled=!0,this.clearStatus(),this.options.onRevokeChoice.call(this),e||this.autoOpen()},o.prototype.hasAnswered=function(t){return Object.keys(e.status).indexOf(this.getStatus())>=0},o.prototype.hasConsented=function(t){var i=this.getStatus();return i==e.status.allow||i==e.status.dismiss},o.prototype.autoOpen=function(e){!this.hasAnswered()&&this.options.enabled?this.open():this.hasAnswered()&&this.options.revokable&&this.toggleRevokeButton(!0)},o.prototype.setStatus=function(i){var n=this.options.cookie,o=t.getCookie(n.name),s=Object.keys(e.status).indexOf(o)>=0;Object.keys(e.status).indexOf(i)>=0?(t.setCookie(n.name,i,n.expiryDays,n.domain,n.path,n.secure),this.options.onStatusChange.call(this,i,s)):this.clearStatus()},o.prototype.getStatus=function(){return t.getCookie(this.options.cookie.name)},o.prototype.clearStatus=function(){var e=this.options.cookie;t.setCookie(e.name,"",-1,e.domain,e.path)},o}(),e.Location=function(){var e={timeout:5e3,services:["ipinfo"],serviceDefinitions:{ipinfo:function(){return{url:"//ipinfo.io",headers:["Accept: application/json"],callback:function(e,t){try{var i=JSON.parse(t);return i.error?s(i):{code:i.country}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},ipinfodb:function(e){return{url:"//api.ipinfodb.com/v3/ip-country/?key={api_key}&format=json&callback={callback}",isScript:!0,callback:function(e,t){try{var i=JSON.parse(t);return"ERROR"==i.statusCode?s({error:i.statusMessage}):{code:i.countryCode}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},maxmind:function(){return{url:"//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js",isScript:!0,callback:function(e){window.geoip2?geoip2.country(function(t){try{e({code:t.country.iso_code})}catch(t){e(s(t))}},function(t){e(s(t))}):e(new Error("Unexpected response format. The downloaded script should have exported `geoip2` to the global scope"))}}}}};function i(i){t.deepExtend(this.options={},e),t.isPlainObject(i)&&t.deepExtend(this.options,i),this.currentServiceIndex=-1}function n(e,t,i){var n,o=document.createElement("script");o.type="text/"+(e.type||"javascript"),o.src=e.src||e,o.async=!1,o.onreadystatechange=o.onload=function(){var e=o.readyState;clearTimeout(n),t.done||e&&!/loaded|complete/.test(e)||(t.done=!0,t(),o.onreadystatechange=o.onload=null)},document.body.appendChild(o),n=setTimeout(function(){t.done=!0,t(),o.onreadystatechange=o.onload=null},i)}function o(e,t,i,n,o){var s=new(window.XMLHttpRequest||window.ActiveXObject)("MSXML2.XMLHTTP.3.0");if(s.open(n?"POST":"GET",e,1),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),Array.isArray(o))for(var r=0,a=o.length;r3&&t(s)}),s.send(n)}function s(e){return new Error("Error ["+(e.code||"UNKNOWN")+"]: "+e.error)}return i.prototype.getNextService=function(){var e;do{e=this.getServiceByIdx(++this.currentServiceIndex)}while(this.currentServiceIndex=0,revokable:t.revokable.indexOf(e)>=0,explicitAction:t.explicitAction.indexOf(e)>=0}},i.prototype.applyLaw=function(e,t){var i=this.get(t);return i.hasLaw||(e.enabled=!1,"function"==typeof e.onNoCookieLaw&&e.onNoCookieLaw(t,i)),this.options.regionalLaw&&(i.revokable&&(e.revokable=!0),i.explicitAction&&(e.dismissOnScroll=!1,e.dismissOnTimeout=!1)),e},i}(),e.initialise=functi \ No newline at end of file diff --git a/templates/SwiftBlue/global_header.tpl b/templates/SwiftBlue/global_header.tpl index 4588902..599022f 100644 --- a/templates/SwiftBlue/global_header.tpl +++ b/templates/SwiftBlue/global_header.tpl @@ -5,10 +5,10 @@ - - - - + + + + @@ -19,10 +19,10 @@ - - - - + + + + {words:index of} {info:dir} @ Beit Dina Bible Arheology and Translation Institute @@ -73,7 +73,7 @@ td.row2 { background-color: #BADBF5; } td.row3 { background-color: #80BBEC; } /* - This is for the table cell above the Topics, Post & Last posts on the http://beitdina.net/forum/index.php page + This is for the table cell above the Topics, Post & Last posts on the http://mesianic.uv.ro/forum/index.php page By default this is the fading out gradiated silver background. However, you could replace this with a bitmap specific for each forum */ @@ -144,7 +144,7 @@ a.mainmenu:hover{ text-decoration: underline; color : #041642; font-family: "Tre a.cattitle { text-decoration: none; color : #072978; } a.cattitle:hover{ text-decoration: underline; } -/* Forum title: Text and link to the forums used in: http://beitdina.net/forum/index.php */ +/* Forum title: Text and link to the forums used in: http://mesianic.uv.ro/forum/index.php */ .forumlink { font-weight: bold; font-size: 12px; color : #072978; } a.forumlink { text-decoration: none; color : #072978; } a.forumlink:hover{ text-decoration: underline; color : #041642; } @@ -265,17 +265,17 @@ function checkSearch() } else if (document.search_block.search_engine.value == 'site') { - window.open('http://beitdina.net/forum/index.php?page=5&mode=results&search_terms=all&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); + window.open('http://mesianic.uv.ro/forum/index.php?page=5&mode=results&search_terms=all&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'kb') { - window.open('http://beitdina.net/forum/index.php?page=&mode=search&search_terms=all&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); + window.open('http://mesianic.uv.ro/forum/index.php?page=&mode=search&search_terms=all&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'pafiledb') { - window.open('http://beitdina.net/forum/index.php?page=&action=search&search_terms=all&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); + window.open('http://mesianic.uv.ro/forum/index.php?page=&action=search&search_terms=all&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else diff --git a/templates/SwiftBlue/global_header2.tpl b/templates/SwiftBlue/global_header2.tpl new file mode 100644 index 0000000..599022f --- /dev/null +++ b/templates/SwiftBlue/global_header2.tpl @@ -0,0 +1,300 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +{words:index of} {info:dir} @ Beit Dina Bible Arheology and Translation Institute + + + + + + + + + + + + + + + + diff --git a/templates/SwiftBlue/index.html b/templates/SwiftBlue/index.html new file mode 100644 index 0000000..83bd54d --- /dev/null +++ b/templates/SwiftBlue/index.html @@ -0,0 +1,6581 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +אִינדֶקס שֶׁל ./ @ Beit Dina Bible Arheology and Translation Institute + + + + + + + + + + + + + + + + + + +#Bibliuta @ Undernet + + + + - - - - - diff --git a/templates/SwiftBlueBeitDina/SwiftBlue.cfg b/templates/SwiftBlueBeitDina/SwiftBlue.cfg new file mode 100644 index 0000000..d4ccfb7 --- /dev/null +++ b/templates/SwiftBlueBeitDina/SwiftBlue.cfg @@ -0,0 +1,293 @@ +The mxBB Development Team'; + +// +// When creating a new template, you normally "clone" a template and modify a number of *.tpl files. +// For similar templates this means only a few files are different. +// For example: you may have a template similar to subSilver, but with a different overall_header.tpl - the other files are identical. +// Then this template should only contain one *.tpl file, namely overall_header.tpl, +// and with $mx_template_settings['cloned_template'] = 'subSilver'. +// If this template is a full set of *.tpl files, leave this blank. +$mx_template_settings['cloned_template'] = '_core'; + +// +// Block border graphics are defined in mx_main_layout.tpl, within the 'graph_border' template environment. +// Turning this setting 'false' will disable block border graphics. +$mx_template_settings['border_graphics'] = false; + +/********************************************************************************\ +| Define what graphics bundles to use +| - these are very handy paths to ALL kind of phpBB/MX-Publisher graphics +\********************************************************************************/ +$mx_images['mx_graphics']['general'] = file_exists( $mx_root_path . $current_template_path . "/images/logo.gif" ) ? $current_template_path . "/images" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/logo.gif" ) ? $cloned_template_path . "/images" : $default_template_path . "/images" ); +$mx_images['mx_graphics']['page_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/page_icons" ) ? $current_template_path . "/images/page_icons" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/page_icons" ) ? $cloned_template_path . "/images/page_icons" : $default_template_path . "/images/page_icons" ); +$mx_images['mx_graphics']['block_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/block_icons" ) ? $current_template_path . "/images/block_icons" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/block_icons" ) ? $cloned_template_path . "/images/block_icons" : $default_template_path . "/images/block_icons" ); +$mx_images['mx_graphics']['menu_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/menu_icons" ) ? $current_template_path . "/images/menu_icons" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/menu_icons" ) ? $cloned_template_path . "/images/menu_icons" : $default_template_path . "/images/menu_icons" ); +$mx_images['mx_graphics']['admin_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/admin_icons" ) ? $current_template_path . "/images/admin_icons" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/admin_icons" ) ? $cloned_template_path . "/images/admin_icons" : $default_template_path . "/images/admin_icons" ); +$mx_images['mx_graphics']['phpbb_icons'] = !empty($current_template_path) && file_exists( $phpbb_root_path . $current_template_path . "/images" ) ? $current_template_path . "/images" : ( !empty($cloned_template_path) && file_exists( $phpbb_root_path . $cloned_template_path . "/images" ) ? $cloned_template_path . "/images" : $default_template_path . "/images"); + +// +// Prefix all paths to get full img URLs +// +$current_template_images = PORTAL_URL . $mx_images['mx_graphics']['general']; // Logo etc +$current_template_page_images = PORTAL_URL . $mx_images['mx_graphics']['page_icons']; // Used by adminCP - Pages +$current_template_block_images = PORTAL_URL . $mx_images['mx_graphics']['block_icons']; // Used by userCP block buttons +$current_template_menu_images = PORTAL_URL . $mx_images['mx_graphics']['menu_icons']; // Used by adminCP - Navigation Menu +$current_template_admin_images = PORTAL_URL . $mx_images['mx_graphics']['admin_icons']; // Internal graphics for the MX-Publisher adminCP +$current_template_phpbb_images = PHPBB_URL . $mx_images['mx_graphics']['phpbb_icons']; // phpBB graphics template +$current_template_theme_images = PORTAL_URL . $current_template_path . '/theme/images'; + +// +// Standalone MX-Publisher installation? Where are the phpbb images? +// +//$current_template_phpbb_images = PHPBB_URL . $mx_images['mx_graphics']['phpbb_icons']; // phpBB graphics template +$current_template_phpbb_images = PHPBB_URL . $mx_images['mx_graphics']['phpbb_icons']; // phpBB graphics template + +// +// Define the icon css style +// +$mx_images['mx_graphics']['icon_style'] = +''; + +/********************************************************************************\ +| Page Navigation Images +| 1. If you want to control the overall_header.tpl images from this *.cfg file, make defintions below +| 2. Or if not, use hardcoded image paths in overall_header.tpl, just like in the phpBB standard subSilver overall_header.tpl. +\********************************************************************************/ +// +// Use MX-Publisher graphics - normally the menu_icons bundle +// +$mx_images['mx_nav_home'] = "$current_template_menu_images/icon_home.gif"; // {NAV_IMAGES_HOME} +$mx_images['mx_nav_forum'] = "$current_template_menu_images/icon_forum.gif"; // {NAV_IMAGES_FORUM} +$mx_images['mx_nav_profile'] = "$current_template_menu_images/icon_profile.gif"; // {NAV_IMAGES_PROFILE} +$mx_images['mx_nav_faq'] = "$current_template_menu_images/icon_faq.gif"; // {NAV_IMAGES_FAQ} +$mx_images['mx_nav_search'] = "$current_template_menu_images/icon_search.gif"; // {NAV_IMAGES_SEARCH} +$mx_images['mx_nav_members'] = "$current_template_menu_images/icon_members.gif"; // {NAV_IMAGES_MEMBERS} +$mx_images['mx_nav_groups'] = "$current_template_menu_images/icon_groups.gif"; // {NAV_IMAGES_GROUPS} +$mx_images['mx_nav_mail'] = "$current_template_menu_images/icon_mail.gif"; // {NAV_IMAGES_PRIVMSG} +$mx_images['mx_nav_login'] = "$current_template_menu_images/icon_login.gif"; // {NAV_IMAGES_LOGIN_LOGOUT} +$mx_images['mx_nav_register'] = "$current_template_menu_images/icon_register.gif"; // {NAV_IMAGES_REGISTER} + +// +// Use standard phpBB graphics +// +/* +$mx_images['mx_nav_home'] = "$current_template_phpbb_images/icon_minipost.gif"; +$mx_images['mx_nav_forum'] = "$current_template_phpbb_images/icon_minipost.gif"; +$mx_images['mx_nav_profile'] = "$current_template_phpbb_images/icon_mini_profile.gif"; +$mx_images['mx_nav_faq'] = "$current_template_phpbb_images/icon_mini_faq.gif"; +$mx_images['mx_nav_search'] = "$current_template_phpbb_images/icon_mini_search.gif"; +$mx_images['mx_nav_members'] = "$current_template_phpbb_images/icon_mini_members.gif"; +$mx_images['mx_nav_groups'] = "$current_template_phpbb_images/icon_mini_groups.gif"; +$mx_images['mx_nav_mail'] = "$current_template_phpbb_images/icon_mini_message.gif"; +$mx_images['mx_nav_login'] = "$current_template_phpbb_images/icon_mini_login.gif"; +$mx_images['mx_nav_register'] = "$current_template_phpbb_images/icon_mini_register.gif"; +*/ + +/********************************************************************************\ +| Block Images +| - these images are used for the block editCP buttons and controls +\********************************************************************************/ +$mx_images['mx_contract'] = "$current_template_block_images/contract.gif"; +$mx_images['mx_expand'] = "$current_template_block_images/expand.gif"; +$mx_images['mx_block_edit_admin'] = "$current_template_block_images/block_edit_admin.gif"; +$mx_images['mx_block_edit_split'] = "$current_template_block_images/block_edit_split.gif"; +$mx_images['mx_block_edit'] = "$current_template_block_images/block_edit.gif"; +$mx_images['mx_block_hidden'] = "$current_template_block_images/block_hidden.gif"; + +/********************************************************************************\ +| adminCP/editCP Images +| - these images are used for the adminCP & block editCP +\********************************************************************************/ +$mx_images['mx_spacer'] = "$current_template_phpbb_images/spacer.gif"; + +// +// phpBB Graphics - for standalone MX-Publisher installation +/* +$images['icon_quote'] = "$current_template_phpbb_images/{LANG}/icon_quote.gif"; +$images['icon_edit'] = "$current_template_phpbb_images/{LANG}/icon_edit.gif"; +$images['icon_search'] = "$current_template_phpbb_images/{LANG}/icon_search.gif"; +$images['icon_profile'] = "$current_template_phpbb_images/{LANG}/icon_profile.gif"; +$images['icon_pm'] = "$current_template_phpbb_images/{LANG}/icon_pm.gif"; +$images['icon_email'] = "$current_template_phpbb_images/{LANG}/icon_email.gif"; +$images['icon_delpost'] = "$current_template_phpbb_images/icon_delete.gif"; +$images['icon_ip'] = "$current_template_phpbb_images/{LANG}/icon_ip.gif"; +$images['icon_www'] = "$current_template_phpbb_images/{LANG}/icon_www.gif"; +$images['icon_icq'] = "$current_template_phpbb_images/{LANG}/icon_icq_add.gif"; +$images['icon_aim'] = "$current_template_phpbb_images/{LANG}/icon_aim.gif"; +$images['icon_yim'] = "$current_template_phpbb_images/{LANG}/icon_yim.gif"; +$images['icon_msnm'] = "$current_template_phpbb_images/{LANG}/icon_msnm.gif"; +$images['icon_minipost'] = "$current_template_phpbb_images/icon_minipost.gif"; +$images['icon_gotopost'] = "$current_template_phpbb_images/icon_minipost.gif"; +$images['icon_minipost_new'] = "$current_template_phpbb_images/icon_minipost_new.gif"; +$images['icon_latest_reply'] = "$current_template_phpbb_images/icon_latest_reply.gif"; +$images['icon_newest_reply'] = "$current_template_phpbb_images/icon_newest_reply.gif"; + +$images['forum'] = "$current_template_phpbb_images/folder_big.gif"; +$images['forum_new'] = "$current_template_phpbb_images/folder_new_big.gif"; +$images['forum_locked'] = "$current_template_phpbb_images/folder_locked_big.gif"; + +$images['folder'] = "$current_template_phpbb_images/folder.gif"; +$images['folder_new'] = "$current_template_phpbb_images/folder_new.gif"; +$images['folder_hot'] = "$current_template_phpbb_images/folder_hot.gif"; +$images['folder_hot_new'] = "$current_template_phpbb_images/folder_new_hot.gif"; +$images['folder_locked'] = "$current_template_phpbb_images/folder_lock.gif"; +$images['folder_locked_new'] = "$current_template_phpbb_images/folder_lock_new.gif"; +$images['folder_sticky'] = "$current_template_phpbb_images/folder_sticky.gif"; +$images['folder_sticky_new'] = "$current_template_phpbb_images/folder_sticky_new.gif"; +$images['folder_announce'] = "$current_template_phpbb_images/folder_announce.gif"; +$images['folder_announce_new'] = "$current_template_phpbb_images/folder_announce_new.gif"; + +$images['post_new'] = "$current_template_phpbb_images/{LANG}/post.gif"; +$images['post_locked'] = "$current_template_phpbb_images/{LANG}/reply-locked.gif"; +$images['reply_new'] = "$current_template_phpbb_images/{LANG}/reply.gif"; +$images['reply_locked'] = "$current_template_phpbb_images/{LANG}/reply-locked.gif"; + +$images['pm_inbox'] = "$current_template_phpbb_images/msg_inbox.gif"; +$images['pm_outbox'] = "$current_template_phpbb_images/msg_outbox.gif"; +$images['pm_savebox'] = "$current_template_phpbb_images/msg_savebox.gif"; +$images['pm_sentbox'] = "$current_template_phpbb_images/msg_sentbox.gif"; +$images['pm_readmsg'] = "$current_template_phpbb_images/folder.gif"; +$images['pm_unreadmsg'] = "$current_template_phpbb_images/folder_new.gif"; +$images['pm_replymsg'] = "$current_template_phpbb_images/{LANG}/reply.gif"; +$images['pm_postmsg'] = "$current_template_phpbb_images/{LANG}/msg_newpost.gif"; +$images['pm_quotemsg'] = "$current_template_phpbb_images/{LANG}/icon_quote.gif"; +$images['pm_editmsg'] = "$current_template_phpbb_images/{LANG}/icon_edit.gif"; +$images['pm_new_msg'] = ""; +$images['pm_no_new_msg'] = ""; + +$images['Topic_watch'] = ""; +$images['topic_un_watch'] = ""; +$images['topic_mod_lock'] = "$current_template_phpbb_images/topic_lock.gif"; +$images['topic_mod_unlock'] = "$current_template_phpbb_images/topic_unlock.gif"; +$images['topic_mod_split'] = "$current_template_phpbb_images/topic_split.gif"; +$images['topic_mod_move'] = "$current_template_phpbb_images/topic_move.gif"; +$images['topic_mod_delete'] = "$current_template_phpbb_images/topic_delete.gif"; + +$images['voting_graphic'][0] = "$current_template_phpbb_images/voting_bar.gif"; +$images['voting_graphic'][1] = "$current_template_phpbb_images/voting_bar.gif"; +$images['voting_graphic'][2] = "$current_template_phpbb_images/voting_bar.gif"; +$images['voting_graphic'][3] = "$current_template_phpbb_images/voting_bar.gif"; +$images['voting_graphic'][4] = "$current_template_phpbb_images/voting_bar.gif"; +*/ + +$images['voting_graphic'][0] = "$current_template_phpbb_images/voting_bar.gif"; +$images['voting_graphic'][1] = "$current_template_phpbb_images/voting_bar.gif"; +$images['voting_graphic'][2] = "$current_template_phpbb_images/voting_bar.gif"; +$images['voting_graphic'][3] = "$current_template_phpbb_images/voting_bar.gif"; +$images['voting_graphic'][4] = "$current_template_phpbb_images/voting_bar.gif"; + +// +// Define common theme colors (if not present in db) +// +$template_config_row['body_bgcolor'] = "FFFFFF"; +$template_config_row['body_text'] = "383B3F"; +$template_config_row['body_link'] = "006699"; +$template_config_row['body_vlink'] = "006699"; +$template_config_row['body_alink'] = "006699"; +$template_config_row['body_hlink'] = "f3a625"; +$template_config_row['tr_color1'] = "F7EEEE"; // row1 +$template_config_row['tr_color2'] = "FBF4F4"; // row2 +$template_config_row['tr_color3'] = "f1f1f1"; // row3 +$template_config_row['th_color1'] = "FFA34F"; // bodyline border color +$template_config_row['th_color2'] = "333333"; // forumline border color +$template_config_row['th_color3'] = "d1d7dc"; // boxes border color +$template_config_row['td_color1'] = "F7EEEE"; // code/quote boxes background +$template_config_row['td_color2'] = "FBF4F4"; // post box background +$template_config_row['fontface1'] = "Verdana,Arial,Helvetica,sans-serif"; +$template_config_row['fontface2'] = "Trebuchet MS"; +$template_config_row['fontface3'] = "Courier, \'Courier New\', sans-serif"; +$template_config_row['fontsize3'] = "12"; +$template_config_row['fontcolor1'] = "383B3F"; // Main font color +$template_config_row['fontcolor2'] = "726363"; +$template_config_row['fontcolor3'] = "FFA34F"; + + +/********************************************************************************\ +| CORE Images +\********************************************************************************/ +// +// Logo +// +$mx_images['mx_logo'] = "$current_template_theme_images/logo.gif"; + +// +// SiteLog +// +$mx_images['mx_dot'] = $images['folder']; + +// +// Online Block +// +$mx_images['mx_who_is_online'] = "$current_template_theme_images/whosonline.gif"; +?> diff --git a/templates/SwiftBlueBeitDina/SwiftBlue.css b/templates/SwiftBlueBeitDina/SwiftBlue.css new file mode 100644 index 0000000..a40417e --- /dev/null +++ b/templates/SwiftBlueBeitDina/SwiftBlue.css @@ -0,0 +1,3477 @@ +/* phpBB3 Style Sheet + -------------------------------------------------------------- + Style name: SwiftBlue + Based on style: SwiftBlue Theme for phpBB2 by BitByBit, http://www.bitbybit.f2s.com + Original author: OryNider, using subsilver2 Theme as a base. + This is an alternative subsilver2 style with purple-blue colors. + -------------------------------------------------------------- +*/ + +/* Layout + ------------ */ +* { + /* Reset browsers default margin, padding and font sizes */ + margin: 0; + padding: 0; +} + +abbr { + text-decoration: none; +} + +html { + font-size: 100%; +} +/* General page style. The scroll bar colours only visible in IE5.5+ */ +body { + background-color: #E3F0FB; + scrollbar-face-color: #BADBF5; + scrollbar-highlight-color: #E3F0FB; + scrollbar-shadow-color: #BADBF5; + scrollbar-3dlight-color: #80BBEC; + scrollbar-arrow-color: #072978; + scrollbar-track-color: #DAECFA; + scrollbar-darkshadow-color: #4B8DF1; + padding-right: 0px; + padding-left: 0px; + background: url("./images/backgroundbluelight.gif"); + padding-bottom: 0px; + margin: 5px 10px 10px; + font-family: Verdana, Geneva, 'Lucida Grande', Arial, Helvetica, sans-serif, droid-serif; + padding-top: 0px; + font-size: 89.5%; + margin: 0; +} + +#wrapheader { + min-height: 120px; + height: auto !important; + height: 120px; +/* background-image: url('./images/background.gif'); + background-repeat: repeat-x;*/ +/* padding: 0 25px 15px 25px;*/ + padding: 0; +} + +#wrapcentre { + margin: 15px 25px 0 25px; +} + +#wrapfooter { + text-align: center; + clear: both; +} + +#wrapnav { + width: 100%; + margin: 0; + background-color: #DAECFA; + border-width: 1px; + border-style: solid; + border-color: #A9B8C2; +} + +#logodesc { + margin-bottom: 5px; + padding: 5px 25px; + background: transparent none 0 0 no-repeat; + border-bottom: 1px solid #D9DFE4; +} + +#menubar { + margin: 0 25px; +} + +#datebar { + margin: 10px 25px 0 25px; +} + +#findbar { + width: 100%; + margin: 0; + padding: 0; + border: 0; +} + +.forumrules { + background-color: #F9CC79; + border-width: 1px; + border-style: solid; + border-color: #BB9860; + padding: 4px; + font-weight: normal; + font-size: 1.1em; + font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; +} + +.forumrules h3 { + color: red; +} + +#pageheader { } +#pagecontent { } +#pagefooter { } + +#poll { } +#postrow { } +#postdata { } + + +/* Text + --------------------- */ +h1 { + color: black; + font-family: "Lucida Grande", "Trebuchet MS", Verdana, sans-serif; + font-weight: bold; + font-size: 1.8em; + text-decoration: none; +} + +h2 { + font-family: Arial, Helvetica, sans-serif; + font-weight: bold; + font-size: 1.5em; + text-decoration: none; + line-height: 120%; +} + +h3 { + font-size: 1.3em; + font-weight: bold; + font-family: Arial, Helvetica, sans-serif; + line-height: 120%; +} + +h4 { + margin: 0; + font-size: 1.1em; + font-weight: bold; +} + +p { + font-size: 1.1em; +} + +p.moderators { + margin: 0; + float: left; + color: black; + font-weight: bold; +} + +.rtl p.moderators { + float: right; +} + +p.linkmcp { + margin: 0; + float: right; + white-space: nowrap; +} + +.rtl p.linkmcp { + float: left; +} + +p.breadcrumbs { + margin: 0; + float: left; + color: black; + font-weight: bold; + white-space: normal; + font-size: 1em; +} + +.rtl p.breadcrumbs { + float: right; +} + +p.datetime { + margin: 0; + float: right; + white-space: nowrap; + font-size: 1em; +} + +.rtl p.datetime { + float: left; +} + +p.searchbar { + padding: 2px 0; + white-space: nowrap; +} + +p.searchbarreg { + margin: 0; + float: right; + white-space: nowrap; +} + +.rtl p.searchbarreg { + float: left; +} + +p.forumdesc { + padding-bottom: 4px; +} + +p.topicauthor { + margin: 1px 0; +} + +p.topicdetails { + margin: 1px 0; +} + +.postreported, .postreported a:visited, .postreported a:hover, .postreported a:link, .postreported a:active { + margin: 1px 0; + color: red; + font-weight:bold; +} + +.postapprove, .postapprove a:visited, .postapprove a:hover, .postapprove a:link, .postapprove a:active { + color: green; + font-weight:bold; +} + +.postapprove img, .postreported img { + vertical-align: bottom; +} + +.postauthor { + color: #000000; +} + +.postdetails { + color: #000000; +} + +/* The content of the posts (body of text) */ +.postbody { + font-size : 15px; + line-height: 14px; + font-family: "Trebuchet MS", "Lucida Grande", Helvetica, Arial, Times, sans-serif; +} + +.postbody li, ol, ul { + margin: 0 0 0 1.5em; +} + +.rtl .postbody li, .rtl ol, .rtl ul { + margin: 0 1.5em 0 0; +} + +.posthilit { + background-color: yellow; +} + +.nav { + color: black; + font-weight: bold; +} + +/* Action-bars (container for post/reply buttons, pagination, etc.) +---------------------------------------- */ + +fa-fw { + width: 1.28571429em; + text-align: center; +} + +.action-bar { + font-size: 11px; + margin: 4px 0; +} + +.forabg + .action-bar { + margin-top: 2em; +} + +.action-bar .button { + margin-right: 5px; + float: left; +} + +.action-bar .button-search { + margin-right: 0; +} + +.action-bar .newtopic, .action-bar .postreply { + border-color: #1C0046; + background-color: #AB95CB; /* Old browsers */ /* FF3.6+ */ + background-image: -webkit-linear-gradient(top, #AB95CB 0%, #1A0040 100%); + background-image: linear-gradient(to bottom, #AB95CB 0%,#1A0040 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#AB95CB', endColorstr='#1A0040',GradientType=0 ); /* IE6-9 */ +} + +.action-bar .newtopic:hover, .action-bar .postreply:hover { + background-color: #1A0040; /* Old browsers */ /* FF3.6+ */ + background-image: -webkit-linear-gradient(top, #1A0040 0%, #AB95CB 100%); + background-image: linear-gradient(to bottom, #1A0040 0%,#AB95CB 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1A0040', endColorstr='#AB95CB',GradientType=0 ); /* IE6-9 */ +} + +.pagination { + padding: 4px; + color: black; + font-size: 1em; + font-weight: bold; +} + +.cattitle { + +} + +/* General text */ +.gen { + margin: 1px 1px; + font-size: 15px; +} + +.genmed { + margin: 1px 1px; + font-size: 14px; +} + +.gensmall { + margin: 1px 1px; + font-size: 11px; +} +.gen,.genmed,.gensmall { color : #000000; } +a.gen,a.genmed,a.gensmall { color: #072978; text-decoration: none; } +a.gen:hover,a.genmed:hover,a.gensmall:hover { color: #041642; text-decoration: underline; } + + +/* The register, login, search etc links at the top of the page */ +.mainmenu { font-size : 11px; color : #000000 } +a.mainmenu { text-decoration: none; color : #072978; } +a.mainmenu:hover{ text-decoration: underline; color : #041642; } + +/* Forum category titles */ +.cattitle { font-weight: bold; font-size: 12px ; letter-spacing: 1px; color : #072978} +a.cattitle { text-decoration: none; color : #072978; } +a.cattitle:hover{ text-decoration: underline; } + +/* Forum title: Text and link to the forums used in: index.php */ +.forumlink { font-weight: bold; font-size: 12px; color : #072978; } +a.forumlink { text-decoration: none; color : #072978; } +a.forumlink:hover{ text-decoration: underline; color : #041642; } + +/* Used for the navigation text, (Page 1,2,3 etc) and the navigation bar when in a forum */ +.nav { font-weight: bold; font-size: 11px; color : #000000;} +a.nav { text-decoration: none; color : #072978; } +a.nav:hover { text-decoration: underline; } + + +/* titles for the topics: could specify viewed link colour too */ +.topictitle,h1,h2 { font-weight: bold; font-size: 11px; color : #000000; } +a.topictitle:link { text-decoration: none; color : #072978; } +a.topictitle:visited { text-decoration: none; color : #072978; } +a.topictitle:hover { text-decoration: underline; color : #041642; } + + +/* Name of poster in viewmsg.php and viewtopic.php and other places */ +.name { font-size : 11px; color : #000000;} + +/* Location, number of posts, post date etc */ +.postdetails { font-size : 10px; color : #000000; } + +a.postlink:link { text-decoration: none; color : #072978 } +a.postlink:visited { text-decoration: none; color : #072978; } +a.postlink:hover { text-decoration: underline; color : #041642} + + +/* Quote & Code blocks */ +.code { + font-family: Courier, 'Courier New', sans-serif; font-size: 11px; color: #006600; + background-color: #FAFAFA; border: #80BBEC; border-style: solid; + border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px +} + +.quote { + font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #444444; line-height: 125%; + background-color: #FAFAFA; border: #80BBEC; border-style: solid; + border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px +} + + +/* Copyright and bottom info */ +.copyright { font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #444444; letter-spacing: -1px;} +a.copyright { color: #444444; text-decoration: none;} +a.copyright:hover { color: #000000; text-decoration: underline;} + + +.copyright { + color: #444; + font-weight: normal; + font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; +} + +.titles { + font-family: "Lucida Grande", Helvetica, Arial, sans-serif; + font-weight: bold; + font-size: 1.3em; + text-decoration: none; +} + +.error { + color: red; +} + +/* Horizontal lists +----------------------------------------*/ +.navbar ul.linklist { + padding: 2px 0; + list-style-type: none; +} + +ul.linklist { + display: block; + margin: 0; +} + +.cp-main .panel { + padding: 5px 10px; +} + +ul.linklist > li { + float: left; + font-size: 1.1em; + line-height: 2.2em; + list-style-type: none; + margin-right: 7px; + width: auto; +} + +ul.linklist > li.rightside, p.rightside, a.rightside { + float: right; + margin-right: 0; + margin-left: 7px; + text-align: right; +} + +ul.navlinks { + border-top: 1px solid transparent; +} + +ul.leftside { + float: left; + margin-left: 0; + margin-right: 5px; + text-align: left; +} + +ul.rightside { + float: right; + margin-left: 5px; + margin-right: -5px; + text-align: right; +} + +ul.linklist li.responsive-menu { + position: relative; + margin: 0 5px 0 0; +} + +.hasjs ul.linklist.leftside, .hasjs ul.linklist.rightside { + max-width: 48%; +} + +.hasjs ul.linklist.fullwidth { + max-width: none; +} + +li.responsive-menu.dropdown-right .dropdown { + left: -9px; +} + +li.responsive-menu.dropdown-left .dropdown { + right: -6px; +} + +ul.linklist .dropdown { + top: 22px; +} + +ul.linklist .dropdown-up .dropdown { + bottom: 18px; + top: auto; +} + +/* Bulletin icons for list items +----------------------------------------*/ +ul.linklist.bulletin > li:before { + display: inline-block; + content: "\2022"; + font-size: inherit; + line-height: inherit; + padding-right: 4px; +} + +ul.linklist.bulletin > li:first-child:before, +ul.linklist.bulletin > li.rightside:last-child:before { + content: none; +} + +ul.linklist.bulletin > li.no-bulletin:before { + content: none; +} + +.responsive-menu:before { + display: none !important; +} + +/* Profile in overall_header.html */ +.header-profile { + display: inline-block; + vertical-align: top; +} + +a.header-avatar, +a.header-avatar:hover { + text-decoration: none; +} + +a.header-avatar img { + margin-bottom: 2px; + max-height: 20px; + vertical-align: middle; + width: auto; +} + +a.header-avatar span:after { + content: '\f0dd'; + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + padding-left: 6px; + padding-top: 2px; + vertical-align: top; +} + +/* -------------------------------------------------------------- /* + $Icons +/* -------------------------------------------------------------- */ + +/* Global module setup +---------------------------------------- */ + +/* Renamed version of .fa class for agnostic usage of icon fonts. + * Just change the name of the font after the 14/1 to the name of + * the font you wish to use. + */ +.icon, +.button .icon, +blockquote cite:before, +.uncited:before { + font-family: FontAwesome; + font-size: 14px; + font-weight: normal; + font-style: normal; + font-variant: normal; + line-height: 1; + display: inline-block; + /* stylelint-disable order/declaration-block-properties-specified-order */ + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + /* stylelint-enable order/declaration-block-properties-specified-order */ + text-rendering: auto; /* optimizelegibility throws things off #1094 */ +} + +.icon:before { + padding-right: 2px; +} + +.button .icon:before { + padding-right: 0; +} + +/* Icon size classes - Default size is 14px, use these for small variations */ + +.icon.icon-xl { + font-size: 20px; +} + +.icon.icon-lg { + font-size: 18px; +} + +.icon.icon-md { + font-size: 12px; +} + +.icon.icon-sm { + font-size: 10px; +} + +/* icon modifiers */ +.icon-tiny { + font-size: 16px; + vertical-align: text-bottom; + width: 12px; + -webkit-transform: scale(0.65, 0.75); + transform: scale(0.65, 0.75); +} + +.arrow-right .icon { + float: right; +} + +.arrow-left:hover .icon { + margin-right: 5px; + margin-left: -5px; +} + +.arrow-left .icon { + float: left; +} + +.arrow-right:hover .icon { + margin-right: -5px; + margin-left: 5px; +} + +.post-buttons .dropdown-contents .icon { + float: right; + margin-left: 5px; +} + +.alert_close .icon:before { + border-radius: 50%; + display: block; + width: 11px; + height: 12px; + padding: 0; +} + +blockquote cite:before, +.uncited:before { + content: "\f10d"; /* Font Awesome quote-left */ +} + +.rtl blockquote cite:before, +.rtl .uncited:before { + content: "\f10e"; /* Font Awesome quote-right */ +} + +/* Dropdown menu +----------------------------------------*/ +.dropdown-container { + position: relative; +} + +.dropdown-container-right { + float: right; +} + +.dropdown-container-left { + float: left; +} + +.nojs .dropdown-container:hover .dropdown { + display: block !important; +} + +.dropdown { + display: none; + position: absolute; + left: 0; + top: 1.2em; + z-index: 2; + border: 1px solid transparent; + border-radius: 5px; + padding: 9px 0 0; + margin-right: -500px; +} + +.dropdown.live-search { + top: auto; +} + +.dropdown-container.topic-tools { + float: left; +} + +.dropdown-up .dropdown { + top: auto; + bottom: 1.2em; + padding: 0 0 9px; +} + +.dropdown-left .dropdown, .nojs .rightside .dropdown { + left: auto; + right: 0; + margin-left: -500px; + margin-right: 0; +} + +.dropdown-button-control .dropdown { + top: 24px; +} + +.dropdown-button-control.dropdown-up .dropdown { + top: auto; + bottom: 24px; +} + +.dropdown .pointer, .dropdown .pointer-inner { + position: absolute; + width: 0; + height: 0; + border-top-width: 0; + border-bottom: 10px solid transparent; + border-left: 10px dashed transparent; + border-right: 10px dashed transparent; + -webkit-transform: rotate(360deg); /* better anti-aliasing in webkit */ + display: block; +} + +.dropdown-up .pointer, .dropdown-up .pointer-inner { + border-bottom-width: 0; + border-top: 10px solid transparent; +} + +.dropdown .pointer { + right: auto; + left: 10px; + top: -1px; + z-index: 3; +} + +.dropdown-up .pointer { + bottom: -1px; + top: auto; +} + +.dropdown-left .dropdown .pointer, .nojs .rightside .dropdown .pointer { + left: auto; + right: 10px; +} + +.dropdown .pointer-inner { + top: auto; + bottom: -11px; + left: -10px; +} + +.dropdown-up .pointer-inner { + bottom: auto; + top: -11px; +} + +.dropdown .dropdown-contents { + z-index: 2; + overflow: hidden; + overflow-y: auto; + border: 1px solid transparent; + border-radius: 5px; + padding: 5px; + position: relative; + max-height: 300px; +} + +.dropdown-contents a { + display: block; + padding: 5px; +} + +.jumpbox { + margin: 5px 0; +} + +.jumpbox .dropdown li { + border-top: 1px solid transparent; +} + +.jumpbox .dropdown-select { + margin: 0; +} + +.jumpbox .dropdown-contents { + padding: 0; + text-decoration: none; +} + +.jumpbox .dropdown-contents li { + padding: 0; +} + +.jumpbox .dropdown-contents a { + margin-right: 20px; + padding: 5px 10px; + text-decoration: none; + width: 100%; +} + +.jumpbox .spacer { + display: inline-block; + width: 0px; +} + +.jumpbox .spacer + .spacer { + width: 20px; +} + +.dropdown-contents a { + display: block; + padding: 5px; +} + +.jumpbox .dropdown-select { + margin: 0; +} + +.jumpbox .dropdown-contents a { + text-decoration: none; +} + +.dropdown li { + display: list-item; + border-top: 1px dotted transparent; + float: none !important; + line-height: normal !important; + font-size: 1em !important; + list-style: none; + margin: 0; + white-space: nowrap; + text-align: left; +} + +.dropdown-contents > li { + padding-right: 15px; +} + +.dropdown-nonscroll > li { + padding-right: 0; +} + +.dropdown li:first-child, .dropdown li.separator + li, .dropdown li li { + border-top: 0; +} + +.dropdown li li:first-child { + margin-top: 4px; +} + +.dropdown li li:last-child { + padding-bottom: 0; +} + +.dropdown li li { + border-top: 1px dotted transparent; + padding-left: 18px; +} + +.wrap .dropdown li, .dropdown.wrap li, .dropdown-extended li { + white-space: normal; +} + +.dropdown li.separator { + border-top: 1px solid transparent; + padding: 0; +} + +.dropdown li.separator:first-child, .dropdown li.separator:last-child { + display: none !important; +} + +/* jQuery popups +---------------------------------------- */ +.phpbb_alert { + background-color: #FFFFFF; + border-color: #999999; +} +.darken { + background-color: #000000; +} + +.loading_indicator { + background-color: #000000; + background-image: url("./images/loading.gif"); +} + +.dropdown-extended ul li { + border-top-color: #B9B9B9; +} + +.dropdown-extended ul li:hover { + background-color: #cfd1f6; + color: #000000; +} + +.dropdown-extended .header, .dropdown-extended .footer { + border-color: #B9B9B9; + color: #000000; +} + +.dropdown-extended .footer { + border-top-style: solid; + border-top-width: 1px; +} + +.dropdown-extended .header { + background-color: #f1f2ff; /* Old browsers */ /* FF3.6+ */ + background-image: -webkit-linear-gradient(top, #f1f2ff 0%, #caceeb 100%); + background-image: linear-gradient(to bottom, #f1f2ff 0%,#caceeb 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f1f2ff', endColorstr='#caceeb',GradientType=0 ); /* IE6-9 */ +} + +.dropdown .pointer { + border-color: #B9B9B9 transparent; +} + +.dropdown .pointer-inner { + border-color: #FFF transparent; +} + +.dropdown-extended .pointer-inner { + border-color: #f1f2ff transparent; +} + +.dropdown .dropdown-contents { + background: #fff; + border-color: #B9B9B9; + box-shadow: 1px 3px 5px rgba(0, 0, 0, 0.2); +} + +.dropdown-up .dropdown-contents { + box-shadow: 1px 0 5px rgba(0, 0, 0, 0.2); +} + +.dropdown li, .dropdown li li { + border-color: #DCDCDC; +} + +.dropdown li.separator { + border-color: #DCDCDC; +} + +/* Notifications +---------------------------------------- */ + +.notification_list p.notification-time { + color: #4d4d77; +} + +li.notification-reported strong, li.notification-disapproved strong { + color: #0d5aa2; +} + +.badge { + background-color: #0d5aa2; + color: #ffffff; +} + +/* Responsive breadcrumbs +----------------------------------------*/ +.breadcrumbs .crumb { + float: left; + font-weight: bold; + word-wrap: normal; +} + +.breadcrumbs .crumb:before { + content: '\2039'; + font-weight: bold; + padding: 0 0.5em; +} + +.breadcrumbs .crumb:first-child:before { + content: none; +} + +.breadcrumbs .crumb a { + white-space: nowrap; + text-overflow: ellipsis; + vertical-align: bottom; + overflow: hidden; +} + +.breadcrumbs.wrapped .crumb a { letter-spacing: -.3px; } +.breadcrumbs.wrapped .crumb.wrapped-medium a { letter-spacing: -.4px; } +.breadcrumbs.wrapped .crumb.wrapped-tiny a { letter-spacing: -.5px; } + +.breadcrumbs .crumb.wrapped-max a { max-width: 120px; } +.breadcrumbs .crumb.wrapped-wide a { max-width: 100px; } +.breadcrumbs .crumb.wrapped-medium a { max-width: 80px; } +.breadcrumbs .crumb.wrapped-small a { max-width: 60px; } +.breadcrumbs .crumb.wrapped-tiny a { max-width: 40px; } + +/* Tables + ------------ */ +/* General font families for common tags */ +font,th,td,p { font-family: Verdana, Arial, Helvetica, sans-serif } +a:link,a:active,a:visited { color : #006699; } +a:hover { text-decoration: underline; color : #DD6900; } +hr { height: 0px; border: solid #80BBEC 0px; border-top-width: 1px;} + + +/* This is the border line & background colour round the entire page */ +.bodyline { + background-color: #E3F0FB; + background-image: url("./images/bodyline.jpg"); + padding-bottom: 40px; + border: 1px #4B8DF1 solid; +} + +/* This is the outline round the main forum tables */ +.forumline { background-color: #E3F0FB; border: 2px #006699 solid; } + +.profile { + padding: 4px; +} + +.tablebg { + background-color: #A9B8C2; +} + +/* Main table cell colours and backgrounds */ + +.row1 { + background-color: #DAECFA; + padding: 4px; +} + +.row2 { + background-color: #BADBF5; + padding: 4px; +} + +.row3 { + background-color: #80BBEC; + padding: 4px; +} + +.row4 { + background-color: #E4E8EB; + padding: 4px; +} + +.col1 { + background-color: #BADBF5; + padding: 4px; +} + +.col2 { + background-color: #DAECFA; + padding: 4px; +} + + +/* + This is for the table cell above the Topics, Post & Last posts on the index.php page + By default this is the fading out gradiated silver background. + However, you could replace this with a bitmap specific for each forum +*/ +.rowpic { + background-color: #E3F0FB; + background-image: url('./images/cellpic2.jpg'); + background-repeat: repeat-y; +} + +.catdiv { + height: 28px; + background: white url('./images/cellpic2.jpg') repeat-y scroll top left; +} +.rtl .catdiv { + background: white url('./images/cellpic2_rtl.jpg') repeat-y scroll top right; +} + +/* Header cells - the blue and silver gradient backgrounds */ +th { + color: #FFA34F; font-size: 11px; font-weight : bold; + background-color: #006699; height: 25px; + background-image: url('./images/cellpic3.gif'); +} + +.cat { + height: 28px; + background-color: #C7D0D7; + text-indent: 4px; +} + + +.cat,.catHead,.catSides,.catLeft,.catRight,.catBottom { + background-image: url('./images/cellpic1.gif'); + background-color:#80BBEC; border: #E3F0FB; border-style: solid; height: 28px; +} + + +/* + Setting additional nice inner borders for the main table cells. + The names indicate which sides the border will be on. + Don't worry if you don't understand this, just ignore it :-) +*/ +td.cat,td.catHead,td.catBottom { + height: 29px; + border-width: 0px 0px 0px 0px; +} +th.thHead,th.thSides,th.thTop,th.thLeft,th.thRight,th.thBottom,th.thCornerL,th.thCornerR { + font-weight: bold; border: #E3F0FB; border-style: solid; height: 28px; } +td.row3Right,td.spaceRow { + background-color: #80BBEC; border: #E3F0FB; border-style: solid; } + +th.thHead,td.catHead { font-size: 12px; border-width: 1px 1px 0px 1px; } +th.thSides,td.catSides,td.spaceRow { border-width: 0px 1px 0px 1px; } +th.thRight,td.catRight,td.row3Right { border-width: 0px 1px 0px 0px; } +th.thLeft,td.catLeft { border-width: 0px 0px 0px 1px; } +th.thBottom,td.catBottom { border-width: 0px 1px 1px 1px; } +th.thTop { border-width: 1px 0px 0px 0px; } +th.thCornerL { border-width: 1px 0px 0px 1px; } +th.thCornerR { border-width: 1px 1px 0px 0px; } + +.spacer { + background-color: #80BBEC; +} + +hr { + height: 1px; + border-width: 0; + background-color: #80BBEC; + color: #80BBEC; +} + +.legend { + text-align:center; + margin: 0 auto; +} + +/* Links + ------------ */ + +a:link { + color: #006597; + text-decoration: none; +} + +a:active, +a:visited { + color: #005784; + text-decoration: none; +} + +a:hover { + color: #D46400; + text-decoration: underline; +} + +a.forumlink { + color: #069; + font-weight: bold; + font-family: "Lucida Grande", Helvetica, Arial, sans-serif; + font-size: 13px; +} + +a.topictitle { + margin: 1px 0; + font-family: "Lucida Grande", Helvetica, Arial, sans-serif; + font-weight: bold; + font-size: 13px; +} + +a.topictitle:visited { + color: #5493B4; + text-decoration: none; +} + +th a, +th a:visited { + color: #FFA34F !important; + text-decoration: none; +} + +th a:hover { + text-decoration: underline; +} + + +/* Form Elements + ------------ */ +form { + margin: 0; + padding: 0; + border: 0; +} + +input { + color: #333333; + font-family: "Lucida Grande", Verdana, Helvetica, sans-serif; + font-size: 12px; + font-weight: normal; + padding: 1px; + border: 1px solid #A9B8C2; + background-color: #FAFAFA; +} + +textarea { + background-color: #FAFAFA; + color: #333333; + font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 15px; + font-weight: normal; + border: 1px solid #A9B8C2; + padding: 2px; +} + +select { + color: #333333; + background-color: #FAFAFA; + font-family: "Lucida Grande", Verdana, Helvetica, sans-serif; + font-size: 1.1em; + font-weight: normal; + border: 1px solid #A9B8C2; + padding: 1px; +} + +option { + padding: 0 1em 0 0; +} + +option.disabled-option { + color: graytext; +} + +.rtl option { + padding: 0 0 0 1em; +} + +input.radio { + border: none; + background-color: transparent; +} + +.post { + background-color: #DAECFA; + border-style: solid; + border-width: 1px; +} + +.btnbbcode { + color: #000000; + font-weight: normal; + font-size: 0.8em; + font-family: "Lucida Grande", Verdana, Helvetica, sans-serif; + background-color: #DAECFA; + border: 1px solid #666666; +} + +.btnmain { + font-weight: bold; + background-color: #DAECFA; + border: 1px solid #A9B8C2; + cursor: pointer; + padding: 1px 3px; + font-size: 0.8em; +} + +.btnlite { + font-weight: normal; + background-color: #DAECFA; + border: 1px solid #A9B8C2; + cursor: pointer; + padding: 1px 3px; + font-size: 0.8em; +} + +.btnfile { + font-weight: normal; + background-color: #DAECFA; + border: 1px solid #A9B8C2; + padding: 1px 3px; + font-size: 0.8em; +} + +.helpline { + background-color: #BADBF5; + border-style: none; +} + + +/* BBCode + ------------ */ +.quotetitle, .attachtitle { + margin: 10px 5px 0 5px; + padding: 4px; + border-width: 1px 1px 0 1px; + border-style: solid; + border-color: #A9B8C2; + color: #333333; + background-color: #A9B8C2; + font-size: 0.85em; + font-weight: bold; +} + +.quotetitle .quotetitle { + font-size: 1em; +} + +.quotecontent, .attachcontent { + margin: 0 5px 10px 5px; + padding: 5px; + border-color: #A9B8C2; + border-width: 0 1px 1px 1px; + border-style: solid; + font-weight: normal; + font-size: 1em; + line-height: 1.4em; + font-family: "Lucida Grande", "Trebuchet MS", Helvetica, Arial, sans-serif; + background-color: #FAFAFA; + color: #4B5C77; +} + +.attachcontent { + font-size: 0.85em; +} + +.codetitle { + margin: 10px 5px 0 5px; + padding: 2px 4px; + border-width: 1px 1px 0 1px; + border-style: solid; + border-color: #A9B8C2; + color: #333333; + background-color: #A9B8C2; + font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; + font-size: 0.8em; +} + +.codecontent { + direction: ltr; + margin: 0 5px 10px 5px; + padding: 5px; + border-color: #A9B8C2; + border-width: 0 1px 1px 1px; + border-style: solid; + font-weight: normal; + color: #006600; + font-size: 0.85em; + font-family: Monaco, 'Courier New', monospace; + background-color: #FAFAFA; +} + +.postimage { + max-width: 100%; +} + +.syntaxbg { + color: #E3F0FB; +} + +.syntaxcomment { + color: #FF8000; +} + +.syntaxdefault { + color: #0000BB; +} + +.syntaxhtml { + color: #000000; +} + +.syntaxkeyword { + color: #007700; +} + +.syntaxstring { + color: #DD0000; +} + + +/* Private messages + ------------------ */ +.pm_marked_colour { + background-color: #000000; +} + +.pm_replied_colour { + background-color: #A9B8C2; +} + +.pm_friend_colour { + background-color: #007700; +} + +.pm_foe_colour { + background-color: #DD0000; +} + + +/* Misc + ------------ */ +img { + border: none; +} + +.sep { + color: black; + background-color: #FFA34F; +} + +table.colortable td { + padding: 0; +} + +pre { + font-size: 1.1em; + font-family: Monaco, 'Courier New', monospace; +} + +.nowrap { + white-space: nowrap; +} + +.username-coloured { + font-weight: bold; +} + +.emoji { + min-height: 18px; + min-width: 18px; + height: 1em; + width: 1em; +} + +/* The largest text used in the index page title and toptic title etc. */ +.maintitle,h1,h2 { + font-weight: bold; font-size: 22px; font-family: "Trebuchet MS",Verdana, Arial, Helvetica, sans-serif; + text-decoration: none; line-height : 120%; color : #000000; +} + + +/* Form elements */ +input,textarea, select { + color : #000000; + font: normal 11px Verdana, Arial, Helvetica, sans-serif; + border-color : #000000; +} + +/* The text input fields background colour */ +input.post, textarea.post, select { + background-color : #E3F0FB; +} + +input { text-indent : 2px; } + +/* The buttons used for bbCode styling in message post */ +input.button { + background-color : #DAECFA; + color : #000000; + font-size: 11px; font-family: Verdana, Arial, Helvetica, sans-serif; +} + +/* The main submit button option */ +input.mainoption { + background-color : #FAFAFA; + font-weight : bold; +} + +/* None-bold submit button */ +input.liteoption { + background-color : #FAFAFA; + font-weight : normal; +} + +/* This is the line in the posting page which shows the rollover + help line. This is actually a text box, but if set to be the same + colour as the background no one will know ;) +*/ +.helpline { background-color: #BADBF5; border-style: none; } + + +/* Former imageset */ +span.imageset { + display: inline-block; + background: transparent none 0 0 no-repeat; + margin: 0; + padding: 0; + width: 0; + height: 0; + overflow: hidden; +} +a.imageset { + text-decoration: none !important; +} + +/* Global imageset items */ +.imageset.site_logo { + background-image: url("./images/site_logo.png"); + padding-top: 0px; + padding-left: 240px; + padding-right: 0px; + padding-bottom: 100px; +} +.imageset.upload_bar { + background-image: url("./images/upload_bar.gif"); + padding-left: 280px; + padding-top: 16px; +} +.imageset.poll_left { + background-image: url("./images/poll_left.gif"); + padding-left: 4px; + padding-top: 12px; +} +.imageset.poll_center { + background-image: url("./images/poll_center.gif"); + padding-left: 1px; + padding-top: 12px; +} +.imageset.poll_right { + background-image: url("./images/poll_right.gif"); + padding-left: 4px; + padding-top: 12px; +} +.imageset.forum_link { + background-image: url("./images/forum_link.gif"); + padding-left: 46px; + padding-top: 25px; +} +.imageset.forum_read { + background-image: url("./images/forum_read.gif"); + padding-left: 46px; + padding-top: 25px; +} +.imageset.forum_read_locked { + background-image: url("./images/forum_read_locked.gif"); + padding-left: 46px; + padding-top: 25px; +} +.imageset.forum_read_subforum { + background-image: url("./images/forum_read_subforum.gif"); + padding-left: 46px; + padding-top: 25px; +} +.imageset.forum_unread { + background-image: url("./images/forum_unread.gif"); + padding-left: 46px; + padding-top: 25px; +} +.imageset.forum_unread_locked { + background-image: url("./images/forum_unread_locked.gif"); + padding-left: 46px; + padding-top: 25px; +} +.imageset.forum_unread_subforum { + background-image: url("./images/forum_unread_subforum.gif"); + padding-left: 46px; + padding-top: 25px; +} +.imageset.topic_moved { + background-image: url("./images/topic_moved.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.topic_read { + background-image: url("./images/topic_read.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.topic_read_mine { + background-image: url("./images/topic_read_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.topic_read_hot { + background-image: url("./images/topic_read_hot.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.topic_read_hot_mine { + background-image: url("./images/topic_read_hot_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.topic_read_locked { + background-image: url("./images/topic_read_locked.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.topic_read_locked_mine { + background-image: url("./images/topic_read_locked_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.topic_unread { + background-image: url("./images/topic_unread.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.topic_unread_mine { + background-image: url("./images/topic_unread_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.topic_unread_hot { + background-image: url("./images/topic_unread_hot.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.topic_unread_hot_mine { + background-image: url("./images/topic_unread_hot_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.topic_unread_locked { + background-image: url("./images/topic_unread_locked.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.topic_unread_locked_mine { + background-image: url("./images/topic_unread_locked_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.sticky_read { + background-image: url("./images/sticky_read.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.sticky_read_mine { + background-image: url("./images/sticky_read_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.sticky_read_locked { + background-image: url("./images/sticky_read_locked.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.sticky_read_locked_mine { + background-image: url("./images/sticky_read_locked_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.sticky_unread { + background-image: url("./images/sticky_unread.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.sticky_unread_mine { + background-image: url("./images/sticky_unread_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.sticky_unread_locked { + background-image: url("./images/sticky_unread_locked.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.sticky_unread_locked_mine { + background-image: url("./images/sticky_unread_locked_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.announce_read { + background-image: url("./images/announce_read.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.announce_read_mine { + background-image: url("./images/announce_read_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.announce_read_locked { + background-image: url("./images/announce_read_locked.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.announce_read_locked_mine { + background-image: url("./images/announce_read_locked_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.announce_unread { + background-image: url("./images/announce_unread.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.announce_unread_mine { + background-image: url("./images/announce_unread_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.announce_unread_locked { + background-image: url("./images/announce_unread_locked.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.announce_unread_locked_mine { + background-image: url("./images/announce_unread_locked_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.global_read { + background-image: url("./images/global_read.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.global_read_mine { + background-image: url("./images/global_read_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.global_read_locked { + background-image: url("./images/global_read_locked.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.global_read_locked_mine { + background-image: url("./images/global_read_locked_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.global_unread { + background-image: url("./images/global_unread.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.global_unread_mine { + background-image: url("./images/global_unread_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.global_unread_locked { + background-image: url("./images/global_unread_locked.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.global_unread_locked_mine { + background-image: url("./images/global_unread_locked_mine.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.pm_read { + background-image: url("./images/topic_read.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.pm_unread { + background-image: url("./images/topic_unread.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.icon_post_target { + background-image: url("./images/icon_post_target.gif"); + padding-left: 12px; + padding-top: 9px; +} +.imageset.icon_post_target_unread { + background-image: url("./images/icon_post_target_unread.gif"); + padding-left: 12px; + padding-top: 9px; +} +.imageset.icon_topic_attach { + background-image: url("./images/icon_topic_attach.gif"); + padding-left: 14px; + padding-top: 18px; +} +.imageset.icon_topic_latest { + background-image: url("./images/icon_topic_latest.gif"); + padding-left: 18px; + padding-top: 9px; +} +.imageset.icon_topic_newest { + background-image: url("./images/icon_topic_newest.gif"); + padding-left: 18px; + padding-top: 9px; +} +.imageset.icon_topic_reported { + background-image: url("./images/icon_topic_reported.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.icon_topic_unapproved { + background-image: url("./images/icon_topic_unapproved.gif"); + padding-left: 19px; + padding-top: 18px; +} +.imageset.icon_topic_deleted { + background-image: url("./images/icon_topic_deleted.gif"); + padding-left: 14px; + padding-top: 14px; +} + + +/* English images for fallback */ +.imageset.phpbb_aol-icon, .imageset.icon_contact_aim { + background-image: url("./en/icon_contact_aim.gif"); + padding-left: 72px; + padding-top: 20px; +} +.imageset.icon_contact_email { + background-image: url("./en/icon_contact_email.gif"); + padding-left: 72px; + padding-top: 20px; +} +.imageset.phpbb_icq-icon, .imageset.icon_contact_icq { + background-image: url("./en/icon_contact_icq.gif"); + padding-left: 72px; + padding-top: 20px; +} +.imageset.icon_contact_jabber { + background-image: url("./en/icon_contact_jabber.gif"); + padding-left: 72px; + padding-top: 20px; +} +.imageset.phpbb_wlm-icon, .imageset.icon_contact_msnm { + background-image: url("./en/icon_contact_msnm.gif"); + padding-left: 72px; + padding-top: 20px; +} +.imageset.icon_contact_pm { + background-image: url("./en/icon_contact_pm.gif"); + padding-left: 72px; + padding-top: 20px; +} +.imageset.phpbb_yahoo-icon, .imageset.icon_contact_yahoo { + background-image: url("./en/icon_contact_yahoo.gif"); + padding-left: 72px; + padding-top: 20px; +} +.imageset.phpbb_website-icon, .imageset.icon_contact_www { + background-image: url("./en/icon_contact_www.gif"); + padding-left: 72px; + padding-top: 20px; +} +.imageset.icon_post_delete { + background-image: url("./en/icon_post_delete.gif"); + padding-left: 20px; + padding-top: 20px; +} +.imageset.icon_post_edit { + background-image: url("./en/icon_post_edit.gif"); + padding-left: 90px; + padding-top: 20px; +} +.imageset.icon_post_info { + background-image: url("./en/icon_post_info.gif"); + padding-left: 20px; + padding-top: 20px; +} +.imageset.icon_post_quote { + background-image: url("./en/icon_post_quote.gif"); + padding-left: 90px; + padding-top: 20px; +} +.imageset.icon_post_report { + background-image: url("./en/icon_post_report.gif"); + padding-left: 20px; + padding-top: 20px; +} +.imageset.icon_user_online { + background-image: url("./en/icon_user_online.gif"); + padding-left: 72px; + padding-top: 20px; +} +.imageset.icon_user_offline { + background-image: url("./en/icon_user_offline.gif"); + padding-left: 72px; + padding-top: 20px; +} +.imageset.icon_user_profile { + background-image: url("./en/icon_user_profile.gif"); + padding-left: 72px; + padding-top: 20px; +} +.imageset.icon_user_search { + background-image: url("./en/icon_user_search.gif"); + padding-left: 72px; + padding-top: 20px; +} +.imageset.icon_user_warn { + background-image: url("./en/icon_user_warn.gif"); + padding-left: 20px; + padding-top: 20px; +} +.imageset.button_pm_new { + background-image: url("./en/button_pm_new.gif"); + padding-left: 97px; + padding-top: 27px; +} +.imageset.button_pm_reply { + background-image: url("./en/button_pm_reply.gif"); + padding-left: 90px; + padding-top: 20px; +} +.imageset.button_topic_locked { + background-image: url("./en/button_topic_locked.gif"); + padding-left: 97px; + padding-top: 27px; +} +.imageset.button_topic_new { + background-image: url("./en/button_topic_new.gif"); + padding-left: 97px; + padding-top: 27px; +} +.imageset.button_topic_reply { + background-image: url("./en/button_topic_reply.gif"); + padding-left: 97px; + padding-top: 27px; +} + +/* Responsive breadcrumbs +----------------------------------------*/ +.rtl .breadcrumbs .crumb { + float: right; +} + +/* Table styles +----------------------------------------*/ +table.table1 { + width: 100%; +} + +.ucp-main table.table1 { + padding: 2px; +} + +table.table1 thead th { + font-weight: normal; + text-transform: uppercase; + line-height: 1.3em; + font-size: 1em; + padding: 0 0 4px 3px; +} + +table.table1 thead th span { + padding-left: 7px; +} + +table.table1 tbody tr { + border: 1px solid transparent; +} + +table.table1 td { + font-size: 1.1em; +} + +table.table1 tbody td { + padding: 5px; + border-top: 1px solid transparent; +} + +table.table1 tbody th { + padding: 5px; + border-bottom: 1px solid transparent; + text-align: left; +} + +/* Specific column styles */ +table.table1 .name { text-align: left; } +table.table1 .center { text-align: center; } +table.table1 .reportby { width: 15%; } +table.table1 .posts { text-align: center; width: 7%; } +table.table1 .joined { text-align: left; width: 15%; } +table.table1 .active { text-align: left; width: 15%; } +table.table1 .mark { text-align: center; width: 7%; } +table.table1 .info { text-align: left; width: 30%; } +table.table1 .info div { width: 100%; white-space: normal; overflow: hidden; } +table.table1 .autocol { line-height: 2em; white-space: nowrap; } +table.table1 thead .autocol { padding-left: 1em; } + +table.table1 span.rank-img { + float: right; + width: auto; +} + +table.info td { + padding: 3px; +} + +table.info tbody th { + padding: 3px; + text-align: right; + vertical-align: top; + font-weight: normal; +} + +table.table1 thead th { + color: #FFFFFF; +} + +table.table1 tbody tr { + border-color: #BFC1CF; +} + +table.table1 tbody tr:hover, table.table1 tbody tr.hover { + background-color: #CFE1F6; + color: #000; +} + +table.table1 td { + color: #536482; +} + +table.table1 tbody td { + border-top-color: #FAFAFA; +} + +table.table1 tbody th { + border-bottom-color: #000000; + color: #333333; + background-color: #FFFFFF; +} + +table.info tbody th { + color: #000000; +} + +table.table1 td { + color: #536482; +} + +table.table1 td { + font-size: 1.1em; +} + +table.fixed-width-table { + table-layout: fixed; +} + +.rtl table.table1 thead th { + padding: 0 3px 4px 0; +} + +.rtl table.table1 thead th span { + padding-left: 0; + padding-right: 7px; +} + +.rtl table.table1 tbody th { + text-align: right; +} + +/* Specific column styles */ +.rtl table.table1 .name { text-align: right; } +.rtl table.table1 .joined { text-align: right; } +.rtl table.table1 .active { text-align: right; } +.rtl table.table1 .info { text-align: right; } +.rtl table.table1 thead .autocol { padding-left: 0; padding-right: 1em; } + +/* Specific column styles */ +.ltr table.table1 .name { text-align: left; } +.ltr table.table1 .joined { text-align: left; } +.ltr table.table1 .active { text-align: left; } +.ltr table.table1 .info { text-align: left; } +.ltr table.table1 thead .autocol { padding-right: 0; padding-left: 1em; } + +.rtl table.table1 span.rank-img { + float: left; +} + +.rtl table.info tbody th { + text-align: left; +} + +.rtl .forumbg table.table1 { + margin: 0 -1px -1px -2px; +} + +.forumbg table.table1 { + margin: 0; +} + +.forumbg-table > .inner { + margin: 0 -1px; +} + +.color_palette_placeholder table { + border-collapse: separate; + border-spacing: 1px; +} + + /* Control Panel Styles +---------------------------------------- */ + + +/* Main CP box +----------------------------------------*/ +.cp-menu { + float:left; + width: 19%; + margin-top: 1em; + margin-bottom: 5px; +} + +.cp-main { + float: left; + width: 81%; +} + +.cp-main .content { + padding: 0; +} + +.panel-container .panel p { + font-size: 1.1em; +} + +.panel-container .panel ol { + margin-left: 2em; + font-size: 1.1em; +} + +.panel-container .panel li.row { + border-bottom: 1px solid transparent; + border-top: 1px solid transparent; +} + +ul.cplist { + margin-bottom: 5px; + border-top: 1px solid transparent; +} + +.panel-container .panel li.header dd, .panel-container .panel li.header dt { + margin-bottom: 2px; +} + +.panel-container table.table1 { + margin-bottom: 1em; +} + +.panel-container table.table1 thead th { + font-weight: bold; + border-bottom: 1px solid transparent; + padding: 5px; +} + +.panel-container table.table1 tbody th { + font-style: italic; + background-color: transparent !important; + border-bottom: none; +} + +.cp-main .pm-message { + border: 1px solid transparent; + margin: 10px 0; + width: auto; + float: none; +} + +.pm-message h2 { + padding-bottom: 5px; +} + +.cp-main .postbody h3, .cp-main .box2 h3 { + margin-top: 0; +} + +.panel-container .postbody p.author { + font-size: 1.1em; +} + +.cp-main .buttons { + margin-left: 0; +} + +.cp-main ul.linklist { + margin: 0; +} + +/* MCP Specific tweaks */ +.mcp-main .postbody { + width: 100%; +} + +.tabs-container h2 { + float: left; + margin-bottom: 0px; +} + +/* CP tabs shared +----------------------------------------*/ +.tabs, .minitabs { + line-height: normal; +} + +.tabs > ul, .minitabs > ul { + list-style: none; + margin: 0; + padding: 0; + position: relative; +} + +.tabs .tab, .minitabs .tab { + display: block; + float: left; + font-size: 1em; + font-weight: bold; + line-height: 1.4em; +} + +.tabs .tab > a, .minitabs .tab > a { + display: block; + padding: 5px 9px; + position: relative; + text-decoration: none; + white-space: nowrap; + cursor: pointer; +} + +/* CP tabbed menu +----------------------------------------*/ +.tabs { + margin: 20px 0 0 7px; +} + +.tabs .tab > a { + border: 1px solid transparent; + border-radius: 4px 4px 0 0; + margin: 1px 1px 0 0; +} + +.tabs .activetab > a { + margin-top: 0; + padding-bottom: 7px; +} + +/* Mini tabbed menu used in MCP +----------------------------------------*/ +.minitabs { + float: right; + margin: 15px 7px 0 0; + max-width: 50%; +} + +.minitabs .tab { + float: right; +} + +.minitabs .tab > a { + border-radius: 5px 5px 0 0; + margin-left: 2px; +} + +.minitabs .tab > a:hover { + text-decoration: none; +} + +/* Responsive tabs +----------------------------------------*/ +.responsive-tab { + position: relative; +} + +.responsive-tab > a.responsive-tab-link { + display: block; + font-size: 1.6em; + position: relative; + width: 16px; + line-height: 0.9em; + text-decoration: none; +} + +.responsive-tab .responsive-tab-link:before { + content: ''; + position: absolute; + left: 10px; + top: 7px; + height: .125em; + width: 14px; + border-bottom: 0.125em solid transparent; + border-top: 0.375em double transparent; +} + +.tabs .dropdown, .minitabs .dropdown { + top: 20px; + margin-right: -2px; + font-size: 1.1em; + font-weight: normal; +} + +.minitabs .dropdown { + margin-right: -4px; +} + +.tabs .dropdown-up .dropdown, .minitabs .dropdown-up .dropdown { + bottom: 20px; + top: auto; +} + +.tabs .dropdown li { + text-align: right; +} + +.minitabs .dropdown li { + text-align: left; +} + +/* UCP navigation menu +----------------------------------------*/ +/* Container for sub-navigation list */ +.navigation { + width: 100%; + padding-top: 36px; +} + +.navigation ul { + list-style: none; +} + +/* Default list state */ +.navigation li { + display: inline; + font-weight: bold; + margin: 1px 0; + padding: 0; +} + +/* Link styles for the sub-section links */ +.navigation a { + display: block; + padding: 5px; + margin: 1px 0; + text-decoration: none; +} + +.navigation a:hover { + text-decoration: none; +} + +/* Preferences pane layout +----------------------------------------*/ +.cp-main h2 { + border-bottom: none; + padding: 0; + margin-left: 10px; +} + +/* Friends list */ +.cp-mini { + margin: 10px 15px 10px 5px; + max-height: 200px; + overflow-y: auto; + padding: 5px 10px; + border-radius: 7px; +} + +dl.mini dt { + font-weight: bold; +} + +dl.mini dd { + padding-top: 4px; +} + +.friend-online { + font-weight: bold; +} + +.friend-offline { + font-style: italic; +} + +/* PM Styles +----------------------------------------*/ +/* Defined rules list for PM options */ +ol.def-rules { + padding-left: 0; +} + +ol.def-rules li { + line-height: 180%; + padding: 1px; +} + +/* PM marking colours */ +.pmlist li.bg1 { + padding: 0 3px; +} + +.pmlist li.bg2 { + padding: 0 3px; +} + +.pmlist li.pm_message_reported_colour, .pm_message_reported_colour { + border-left-color: transparent; + border-right-color: transparent; +} + +.pmlist li.pm_marked_colour, .pm_marked_colour, +.pmlist li.pm_replied_colour, .pm_replied_colour, +.pmlist li.pm_friend_colour, .pm_friend_colour, +.pmlist li.pm_foe_colour, .pm_foe_colour { + padding: 0; + border: solid 3px transparent; + border-width: 0 3px; +} + +.pm-legend { + border-left-width: 10px; + border-left-style: solid; + border-right-width: 0; + margin-bottom: 3px; + padding-left: 3px; +} + +/* Avatar gallery */ +.gallery label { + position: relative; + float: left; + margin: 10px; + padding: 5px; + width: auto; + border: 1px solid transparent; + text-align: center; +} + +/* Responsive *CP navigation +----------------------------------------*/ +@media only screen and (max-width: 900px), only screen and (max-device-width: 900px) +{ + .nojs .tabs a span, .nojs .minitabs a span { + max-width: 40px; + overflow: hidden; + text-overflow: ellipsis; + letter-spacing: -.5px; + } + + .cp-menu, .navigation, .cp-main { + float: none; + width: auto; + margin: 0; + } + + .navigation { + padding: 0; + margin: 0 auto; + max-width: 320px; + } + + .navigation a { + background-image: none; + } + + .navigation li:first-child a { + border-top-left-radius: 5px; + border-top-right-radius: 5px; + } + + .navigation li:last-child a { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + } +} + +/* Misc layout styles +---------------------------------------- */ +/* column[1-2] styles are containers for two column layouts */ +.rtl .column1 { + float: right; + clear: right; +} + +.rtl .column2 { + float: left; + clear: left; +} + +/* General classes for placing floating blocks */ +.rtl .left-box { + float: right; + text-align: right; +} + +.rtl .right-box { + float: left; + text-align: left; +} + +.rtl dl.details dt { + float: right; + clear: right; + text-align: left; +} + +.rtl dl.details dd { + margin-right: 0; + margin-left: 0; + padding-right: 5px; + padding-left: 0; + float: right; +} + +*:first-child+html dl.details dd { + margin-right: 30%; + float: none; +} + +* html dl.details dd { + margin-right: 30%; + float: none; +} + +/* RTL imageset entries */ +.rtl .imageset.site_logo { + padding-right: 170px; + padding-left: 0; +} +.rtl .imageset.upload_bar { + padding-right: 280px; + padding-left: 0; +} +.rtl .imageset.poll_left, .rtl .imageset.poll_right { + padding-right: 4px; + padding-left: 0; +} +.rtl .imageset.poll_center { + padding-right: 1px; + padding-left: 0; +} +.rtl .imageset.forum_link, .rtl .imageset.forum_read, .rtl .imageset.forum_read_locked, .rtl .imageset.forum_read_subforum, .rtl .imageset.forum_unread, .rtl .imageset.forum_unread_locked, .rtl .imageset.forum_unread_subforum { + padding-right: 46px; + padding-left: 0; +} +.rtl .imageset.topic_moved, .rtl .imageset.topic_read, .rtl .imageset.topic_read_mine, .rtl .imageset.topic_read_hot, .rtl .imageset.topic_read_hot_mine, .rtl .imageset.topic_read_locked, .rtl .imageset.topic_read_locked_mine, .rtl .imageset.topic_unread, .rtl .imageset.topic_unread_mine, .rtl .imageset.topic_unread_hot, .rtl .imageset.topic_unread_hot_mine, .rtl .imageset.topic_unread_locked, .rtl .imageset.topic_unread_locked_mine, .rtl .imageset.sticky_read, .rtl .imageset.sticky_read_mine, .rtl .imageset.sticky_read_locked, .rtl .imageset.sticky_read_locked_mine, .rtl .imageset.sticky_unread, .rtl .imageset.sticky_unread_mine, .rtl .imageset.sticky_unread_locked, .rtl .imageset.sticky_unread_locked_mine, .rtl .imageset.announce_read, .rtl .imageset.announce_read_mine, .rtl .imageset.announce_read_locked, .rtl .imageset.announce_read_locked_mine, .rtl .imageset.announce_unread, .rtl .imageset.announce_unread_mine, .rtl .imageset.announce_unread_locked, .rtl .imageset.announce_unread_locked_mine, .rtl .imageset.global_read, .rtl .imageset.global_read_mine, .rtl .imageset.global_read_locked, .rtl .imageset.global_read_locked_mine, .rtl .imageset.global_unread, .rtl .imageset.global_unread_mine, .rtl .imageset.global_unread_locked, .rtl .imageset.global_unread_locked_mine, .rtl .imageset.pm_read, .rtl .imageset.pm_unread, .rtl .imageset.icon_topic_reported, .rtl .imageset.icon_topic_unapproved { + padding-right: 19px; + padding-left: 0; +} +.rtl .imageset.icon_post_target, .rtl .imageset.icon_post_target_unread { + padding-right: 12px; + padding-left: 0; +} +.rtl .imageset.icon_topic_attach { + padding-right: 14px; + padding-left: 0; +} +.rtl .imageset.icon_topic_latest, .rtl .imageset.icon_topic_newest { + padding-right: 18px; + padding-left: 0; +} + +#notification_list { + display: none; + position: absolute; + width: 310px; + z-index: 1; + box-shadow: 3px 3px 5px darkgray; +} + +#notification_list .notification_scroll { + max-height: 350px; + overflow-y: auto; + overflow-x: hidden; +} + +#notification_list table { + width: 100%; +} + +#notification_list .notification_title { + padding: 3px; +} + +#notification_list .notification_title:after { + clear: both; + content: ''; + display: block; +} + +#notification_list .header { + padding: 5px; + font-weight: bold; + border: 1px solid #A9B8C2; + border-bottom: 0; +} + +#notification_list > .header > .header_settings { + float: right; + font-weight: normal; + text-transform: none; +} + +#notification_list .header:after { + content: ''; + display: table; + clear: both; +} + +#notification_list .footer { + text-align: center; + font-size: 1.2em; + border: 1px solid #A9B8C2; + border-top: 0; +} + +.notification_list img { + max-width: 50px; + max-height: 50px; +} + +#notification_list .footer > a { + display: block; +} + +#notification_list .notification-time { + font-size: 0.9em; + float: right; +} + +.notification_list .notifications_time { + font-size: 0.8em; +} + + +/* Responsive Design +---------------------------------------- */ + +@media (max-width: 320px) { + select, .inputbox { + max-width: 240px; + } +} + +/* Notifications list +----------------------------------------*/ +@media (max-width: 350px) { + .dropdown-extended .dropdown-contents { + width: auto; + } +} + +@media (max-width: 430px) { + .action-bar .search-box .inputbox { + width: 120px; + } + + .section-viewtopic .search-box .inputbox { + width: 57px; + } + + .action-bar .search-box .inputbox ::-moz-placeholder { + content: "Search..."; + } + + .action-bar .search-box .inputbox :-ms-input-placeholder { + content: "Search..."; + } + + .action-bar .search-box .inputbox ::-webkit-input-placeholder { + content: "Search..."; + } +} + +@media (max-width: 500px) { + dd label { + white-space: normal; + } + + select, .inputbox { + max-width: 260px; + } + + .captcha-panel dd.captcha { + margin-left: 0; + } + + .captcha-panel dd.captcha-image img { + width: 100%; + } + + dl.details dt, dl.details dd { + width: auto; + float: none; + text-align: left; + } + + dl.details dd { + margin-left: 20px; + } + + p.responsive-center { + float: none; + text-align: center; + margin-bottom: 5px; + } + + .action-bar > div { + margin-bottom: 5px; + } + + .action-bar > .pagination { + float: none; + clear: both; + padding-bottom: 1px; + text-align: center; + } + + .action-bar > .pagination li.page-jump { + margin: 0 2px; + } + + p.jumpbox-return { + display: none; + } + + .display-options > label:nth-child(1) { + display: block; + margin-bottom: 5px; + } + + .attach-controls { + margin-top: 5px; + width: 100%; + } + + .quick-links .dropdown-trigger span { + display: none; + } +} + +@media (max-width: 550px) { + ul.topiclist.forums dt { + margin-right: 0; + } + + ul.topiclist.forums dt .list-inner { + margin-right: 0; + } + + ul.topiclist.forums dd.lastpost { + display: none; + } +} + +@media (max-width: 700px) { + .responsive-hide { display: none !important; } + .responsive-show { display: block !important; } + .responsive-show-inline { display: inline !important; } + .responsive-show-inline-block { display: inline-block !important; } + + /* Content wrappers + ----------------------------------------*/ + html { + height: auto; + } + + body { + padding: 0; + } + + .wrap { + border: none; + border-radius: 0; + margin: 0; + min-width: 290px; + padding: 0 5px; + } + + /* Common block wrappers + ----------------------------------------*/ + .headerbar, .navbar, .forabg, .forumbg, .post, .panel { + border-radius: 0; + margin-left: -5px; + margin-right: -5px; + } + + .cp-main .forabg, .cp-main .forumdb, .cp-main .post, .cp-main .panel { + border-radius: 7px; + } + + /* Logo block + ----------------------------------------*/ + .site-description { + float: none; + width: auto; + text-align: center; + } + + .logo { + /* change display value to inline-block to show logo */ + display: none; + float: none; + padding: 10px; + } + + .site-description h1, .site-description p { + text-align: inherit; + float: none; + margin: 5px; + line-height: 1.2em; + overflow: hidden; + text-overflow: ellipsis; + } + + .site-description p, .search-header { + display: none; + } + + /* Navigation + ----------------------------------------*/ + .headerbar + .navbar { + margin-top: -5px; + } + + /* Search + ----------------------------------------*/ + .responsive-search { display: block !important; } + + /* .topiclist lists + ----------------------------------------*/ + li.header dt { + text-align: center; + text-transform: none; + line-height: 1em; + font-size: 1.2em; + padding-bottom: 4px; + } + + ul.topiclist li.header dt, ul.topiclist li.header dt .list-inner { + margin-right: 0 !important; + padding-right: 0; + } + + ul.topiclist li.header dd { + display: none !important; + } + + ul.topiclist dt, ul.topiclist dt .list-inner, + ul.topiclist.missing-column dt, ul.topiclist.missing-column dt .list-inner, + ul.topiclist.two-long-columns dt, ul.topiclist.two-long-columns dt .list-inner, + ul.topiclist.two-columns dt, ul.topiclist.two-columns dt .list-inner { + margin-right: 0; + } + + ul.topiclist dt .list-inner.with-mark { + padding-right: 34px; + } + + ul.topiclist dt .list-inner { + min-height: 28px; + } + + ul.topiclist li.header dt .list-inner { + min-height: 0; + } + + ul.topiclist dd { + display: none; + } + ul.topiclist dd.mark { + display: block; + } + + /* Forums and topics lists + ----------------------------------------*/ + ul.topiclist.forums dt { + margin-right: -250px; + } + + ul.topiclist dd.mark { + display: block; + position: absolute; + right: 5px; + top: 0; + margin: 0; + width: auto; + min-width: 0; + text-align: left; + } + + ul.topiclist.forums dd.topics dfn, ul.topiclist.topics dd.posts dfn { + position: relative; + left: 0; + width: auto; + display: inline; + font-weight: normal; + } + + li.row .responsive-show strong { + font-weight: bold; + color: inherit; + } + + ul.topiclist li.row dt a.subforum { + vertical-align: bottom; + overflow: hidden; + text-overflow: ellipsis; + max-width: 100px; + } + + /* Forums and topics lists + ----------------------------------------*/ + dd.cat-title { + width: 50px; + min-width: 20px; + overflow: hidden; + text-align: left; + line-height: 2.2em; + font-size: 1.1em; + } + + dd.catdiv { + min-width: 20px; + overflow: hidden; + text-align: center; + line-height: 2.2em; + font-size: 1.1em; + } + + dd.topicdetails { + width: 50px; + overflow: hidden; + margin-left: 2px; + margin-right: 2px; + text-align: left; + line-height: 1.2em; + font-size: 1.1em; + } + + dd.forumdesc { + margin-left: 2px; + margin-right: 2px; + text-align: left; + line-height: 1.2em; + font-size: 1.1em; + } + + dd.nav { + overflow: hidden; + text-align: center; + font-size: 1.1em; + } + + dd.views { + min-width: 100px; + overflow: hidden; + text-align: center; + font-size: 1.1em; + } + + dd.answers { + min-width: 60px; + overflow: hidden; + text-align: center; + line-height: 1.2em; + font-size: 1.1em; + } + + dd.forumlink { + min-width: 60px; + text-align: center; + font-size: 1.1em; + } + + dd.lastpost { + width: 50px; + min-width: 10px; + text-align: left; + font-size: 1.1em; + } + + div.legend { + text-align: center; + vertical-align: middle; + line-height: 1.2em; + font-size: 1.1em; + } + + /* Responsive breadcrumbs + ----------------------------------------*/ + .rtl .breadcrumbs .crumb { + float: right; + } + + /* Table styles + ----------------------------------------*/ + .rtl table.table1 thead th { + padding: 0 3px 4px 0; + } + + .rtl table.table1 thead th span { + padding-left: 0; + padding-right: 7px; + } + + .rtl table.table1 tbody th { + text-align: right; + } + + /* Specific column styles */ + .rtl table.table1 .name { text-align: right; } + .rtl table.table1 .joined { text-align: right; } + .rtl table.table1 .active { text-align: right; } + .rtl table.table1 .info { text-align: right; } + .rtl table.table1 thead .autocol { padding-left: 0; padding-right: 1em; } + + .rtl table.table1 span.rank-img { + float: left; + } + + .rtl table.info tbody th { + text-align: left; + } + + .rtl .forumbg table.table1 { + margin: 0 -1px -1px -2px; + } + + /* Misc layout styles + ---------------------------------------- */ + /* column[1-2] styles are containers for two column layouts */ + .rtl .column1 { + float: right; + clear: right; + } + + .rtl .column2 { + float: left; + clear: left; + } + + /* General classes for placing floating blocks */ + .rtl .left-box { + float: right; + text-align: right; + } + + .rtl .right-box { + float: left; + text-align: left; + } + + .rtl dl.details dt { + float: right; + clear: right; + text-align: left; + } + + .rtl dl.details dd { + margin-right: 0; + margin-left: 0; + padding-right: 5px; + padding-left: 0; + float: right; + } + + *:first-child+html dl.details dd { + margin-right: 30%; + float: none; + } + + * html dl.details dd { + margin-right: 30%; + float: none; + } + + /* Pagination + ----------------------------------------*/ + .pagination > ul { + margin: 5px 0 0; + } + + .row .pagination .ellipsis + li { + display: none !important; + } + + /* Responsive tables + ----------------------------------------*/ + table { + border-collapse: collapse; + border-spacing: 0; + } + + table.responsive, table.responsive tbody, table.responsive tr, table.responsive td { + display: block; + } + + table.responsive thead, table.responsive th { + display: none; + } + + table.responsive.show-header thead, table.responsive.show-header th:first-child { + display: block; + width: auto !important; + text-align: left !important; + } + + table.responsive.show-header th:first-child span.rank-img { + display: none; + } + + table.responsive tr { + margin: 2px 0; + } + + table.responsive td { + width: auto !important; + text-align: left !important; + padding: 4px; + } + + table.responsive td.empty { + display: none !important; + } + + table.responsive td > dfn { + display: inline-block !important; + } + + table.responsive td > dfn:after { + content: ':'; + padding-right: 5px; + } + + table.responsive span.rank-img { + float: none; + padding-right: 5px; + } + + table.responsive.memberlist td:first-child input[type="checkbox"] { + float: right; + } + + /* Tabbed menu + Based on: http://www.alistapart.com/articles/slidingdoors2/ + ----------------------------------------*/ + #tabs { + line-height: normal; + margin: 0 0 -6px 7px; + min-width: 600px; + } + + .rtl #tabs { + margin: 0 7px -6px 0; + } + + #tabs ul { + margin:0; + padding: 0; + list-style: none; + } + + #tabs li { + display: inline; + margin: 0; + padding: 0; + font-size: 0.85em; + font-weight: bold; + } + + #tabs a { + float: left; + background:url("images/bg_tabs1.gif") no-repeat 0% -34px; + margin: 0 1px 0 0; + padding: 0 0 0 7px; + text-decoration: none; + position: relative; + } + + .rtl #tabs a { + float: right; + } + + #tabs a span { + float: left; + display: block; + background: url("images/bg_tabs2.gif") no-repeat 100% -34px; + padding: 7px 10px 4px 4px; + color: #767676; + white-space: nowrap; + font-family: Arial, Helvetica, sans-serif; + text-transform: uppercase; + font-weight: bold; + } + + .rtl #tabs a span { + float: right; + } + + /* Commented Backslash Hack hides rule from IE5-Mac \*/ + #tabs a span, .rtl #tabs a span { float:none;} + /* End hack */ + + #tabs a:hover span { + color: #BC2A4D; + } + + #tabs #activetab a { + background-position: 0 0; + border-bottom: 1px solid #DCDEE2; + } + + #tabs #activetab a span { + background-position: 100% 0; + padding-bottom: 5px; + color: #23649F; + } + + #tabs a:hover { + background-position: 0 -69px; + } + + #tabs a:hover span { + background-position: 100% -69px; + } + + #tabs #activetab a:hover span { + color: #115098; + } + + /* Forms + ----------------------------------------*/ + fieldset dt, fieldset.fields1 dt, fieldset.fields2 dt { + width: auto; + float: none; + } + + fieldset dd, fieldset.fields1 dd, fieldset.fields2 dd { + margin-left: 0px; + } + + textarea, dd textarea, .message-box textarea { + width: 100%; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + + dl.pmlist dt { + width: auto !important; + margin-bottom: 5px; + } + + dl.pmlist dd { + display: inline-block; + margin-left: 0 !important; + } + + dl.pmlist dd:first-of-type { + padding-left: 20px; + } + + .smiley-box, .message-box { + float: none; + width: auto; + } + + .smiley-box { + margin-top: 5px; + } + + .bbcode-status { + display: none; + } + + .colour-palette, .colour-palette tbody, .colour-palette tr { + display: block; + } + + .colour-palette td { + display: inline-block; + margin-right: 2px; + } + + .horizontal-palette td:nth-child(2n), .vertical-palette tr:nth-child(2n) { + display: none; + } + + fieldset.quick-login label { + display: block; + margin-bottom: 5px; + white-space: normal; + } + + fieldset.quick-login label > span { + display: inline-block; + min-width: 100px; + } + + fieldset.quick-login input.inputbox { + width: 85%; + max-width: 300px; + margin-left: 20px; + } + + fieldset.quick-login label[for="autologin"] { + display: inline-block; + text-align: right; + min-width: 50%; + } + + /* User profile + ----------------------------------------*/ + .column1, .column2, .left-box.profile-details { + float: none; + width: auto; + } + + /* Polls + ----------------------------------------*/ + fieldset.polls dt { + width: 90%; + } + + fieldset.polls dd.resultbar { + padding-left: 20px; + } + + fieldset.polls dd.poll_option_percent { + width: 20%; + } + + fieldset.polls dd.resultbar, fieldset.polls dd.poll_option_percent { + margin-top: 5px; + } + + /* Post + ----------------------------------------*/ + .postbody { + position: inherit; + } + + .postprofile, .postbody, .search .postbody { + display: block; + width: auto; + float: none; + padding: 0; + min-height: 0; + } + + .post .postprofile { + width: auto; + border-width: 0 0 1px 0; + padding-bottom: 5px; + margin: 0; + margin-bottom: 5px; + min-height: 40px; + overflow: hidden; + } + + .postprofile dd { + display: none; + } + + .postprofile dt, .postprofile dd.profile-rank, .search .postprofile dd { + display: block; + margin: 0; + } + + .postprofile .has-avatar .avatar-container { + margin: 0; + overflow: inherit; + } + + .postprofile .avatar-container:after { + clear: none; + } + + .postprofile .avatar { + margin-right: 5px; + } + + .postprofile .avatar img { + width: auto !important; + height: auto !important; + max-height: 32px; + } + + .has-profile .postbody h3 { + margin-left: 0 !important; + margin-right: 0 !important; + } + + .has-profile .post-buttons { + right: 30px; + top: 15px; + } + + .online { + background-size: 40px; + } + + /* Misc stuff + ----------------------------------------*/ + h2 { + margin-top: .5em; + } + + p { + margin-bottom: .5em; + overflow: hidden; + } + + p.rightside { + margin-bottom: 0; + } + + fieldset.display-options label { + display: block; + clear: both; + margin-bottom: 5px; + } + + dl.mini dd.pm-legend { + float: left; + min-width: 200px; + } + + .topicreview { + margin: 0 -5px; + padding: 0 5px; + } + + fieldset.display-actions { + white-space: normal; + } + + .phpbb_alert { + width: auto; + margin: 0 5px; + } + + .attach-comment dfn { + width: 100%; + } +} + +@media (min-width: 700px) { + .postbody { width: 70%; } +} + +@media (min-width: 850px) { + .postbody { width: 76%; } +} + +@media (max-width: 850px) { + .postprofile { width: 28%; } + + +} + +@media (min-width: 701px) and (max-width: 950px) { + + ul.topiclist dt { + margin-right: -410px; + } + + ul.topiclist dt .list-inner { + margin-right: 410px; + } + + dd.posts, dd.topics, dd.views { + width: 80px; + } +} + + + +/* Show scrollbars for items with overflow on iOS devices +----------------------------------------*/ +.postbody .content::-webkit-scrollbar, .topicreview::-webkit-scrollbar, .post_details::-webkit-scrollbar, .codebox code::-webkit-scrollbar, .attachbox dd::-webkit-scrollbar, .attach-image::-webkit-scrollbar, .dropdown-extended ul::-webkit-scrollbar { + width: 8px; + height: 8px; + -webkit-appearance: none; + background: rgba(0, 0, 0, .1); + border-radius: 3px; +} + +.postbody .content::-webkit-scrollbar-thumb, .topicreview::-webkit-scrollbar-thumb, .post_details::-webkit-scrollbar-thumb, .codebox code::-webkit-scrollbar-thumb, .attachbox dd::-webkit-scrollbar-thumb, .attach-image::-webkit-scrollbar-thumb, .dropdown-extended ul::-webkit-scrollbar-thumb { + background: rgba(0, 0, 0, .3); + border-radius: 3px; +} + +#memberlist tr.inactive, #team tr.inactive { + font-style: italic; +} diff --git a/templates/SwiftBlueBeitDina/admin/SwiftBlue.css b/templates/SwiftBlueBeitDina/admin/SwiftBlue.css new file mode 100644 index 0000000..86295aa --- /dev/null +++ b/templates/SwiftBlueBeitDina/admin/SwiftBlue.css @@ -0,0 +1,12 @@ +@CHARSET "UTF-8"; + +BODY { + margin:5px; +} +TH, TD { + font-size: 68.5%; +} + +.gen { + font-size: 1.1em; +} diff --git a/templates/SwiftBlueBeitDina/admin/admin.css b/templates/SwiftBlueBeitDina/admin/admin.css new file mode 100644 index 0000000..56db12e --- /dev/null +++ b/templates/SwiftBlueBeitDina/admin/admin.css @@ -0,0 +1,45 @@ +fieldset { + border: 0px; +} +div#admintabs { + display:inline; +} +div#admintabs ul { + margin: 0px; + padding: 0px; + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: bold; + color: #000; + line-height: 30px; + white-space: nowrap; +} +div#admintabs li { + margin: 2px; + padding: 2px; + list-style-type: none; + display: inline; + border: 1px solid #777; + background-color: #fff; +} +div#admintabs li a { + text-decoration: none; + padding: 2px 10px; + color: #000; +} +div#admintabs li a:link { + color: #000: +} +div#admintabs li a:visited { + color: #000; +} +div#admintabs li a:hover { + color: #777; +} +div#admintabs li.activetab { + border: 1px solid #777; + background-color: #ddd; +} +div#admintabs li.activetab a, div#tabs li.activetab a:link, div#tabs li.activetab a:visited, div#tabs li.activetab a:hover { + color: #777; +} \ No newline at end of file diff --git a/af/index.htm b/templates/SwiftBlueBeitDina/admin/index.htm similarity index 100% rename from af/index.htm rename to templates/SwiftBlueBeitDina/admin/index.htm diff --git a/templates/SwiftBlueBeitDina/admin/mainpage_header.html b/templates/SwiftBlueBeitDina/admin/mainpage_header.html new file mode 100644 index 0000000..2af2e83 --- /dev/null +++ b/templates/SwiftBlueBeitDina/admin/mainpage_header.html @@ -0,0 +1,31 @@ + + + +{META} + +{SITENAME} - {L_MX_ADMIN} + + + + + + + + +{MX_ADDITIONAL_CSS} +{MX_ICON_CSS} + + +
+ + + + + + + + + + + + +
+ + beitdina.net + +   + אִינדֶקס שֶׁל ./ @ #Bibliuta
+
beitdina.net
Portalul canalului #Bibliuta de pe Undernet 
+ + + + + + + + + + + + + + + +
  +
+ Căutare: + + + + + +
+
 
+
+ + + +
אִינדֶקס שֶׁל . /
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ קוֹבֶץ + + מידה + + תאריך + + תיאור +
+ + + + + [dir] + 009_January + 0.1 days old + + 283.2 KB + + 2020-Dec-14 + + 009_January +
+ + + + + [dir] + 2012_September + 0.1 days old + + 141.6 KB + + 2020-Dec-14 + + 2012_September +
+ + + + + [dir] + adevarul_despre_sabat_files + 0.1 days old + + 445.3 KB + + 2020-Dec-14 + + @ 05:12:44 +
+ + + + + [dir] + assets + 0.1 days old + + 3.3 MB + + 2020-Dec-14 + + assets +
+ + + + + [dir] + B-Ziua_YomhaTeruah_files + 0.1 days old + + 1.8 MB + + 2020-Dec-14 + + B-Ziua_YomhaTeruah_files +
+ + + + + [dir] + classes1 + 0.1 days old + + 305.8 KB + + 2020-Dec-14 + + classes1 +
+ + + + + [dir] + fratele_cel_mare_in_israel_si_tehnologia_sfarsitului_files + 0.1 days old + + 359.7 KB + + 2020-Dec-14 + + @ 05:27:03 +
+ + + + + [dir] + Hanuka_files + 0.1 days old + + 1.7 MB + + 2020-Dec-14 + + Hanuka_files +
+ + + + + [dir] + images + 0.1 days old + + 3.8 MB + + 2020-Dec-14 + + images +
+ + + + + [dir] + images_yomteruah + 0.1 days old + + 388.0 KB + + 2020-Dec-14 + + images_yomteruah +
+ + + + + [dir] + is-this-end-time-tech-mark-of-beast_files + 0.1 days old + + 642.9 KB + + 2020-Dec-14 + + @ 05:31:18 +
+ + + + + [dir] + Lunar calendar - Calendar.sk_files + 0.1 days old + + 189.0 KB + + 2020-Dec-14 + + LUNAR CALENDAR - CALENDAR @ 05:33:21 +
+ + + + + [dir] + sabat_files + 0.1 days old + + 398.2 KB + + 2020-Dec-14 + + sabat_files +
+ + + + + [dir] + Sarbatoarea_Innoirii_files + 0.1 days old + + 652.2 KB + + 2020-Dec-14 + + @ 05:33:32 +
+ + + + + [dir] + Sarbatori Pascale Fericite_files + 0.1 days old + + 496.2 KB + + 2020-Dec-14 + + @ 05:33:36 +
+ + + + + [dir] + Tehnologia_Sfarshitului_Veacului_files + 0.1 days old + + 429.4 KB + + 2020-Dec-14 + + @ 05:33:47 +
+ + + + + [dir] + yom_kippur_2013 + 0.1 days old + + 269.4 KB + + 2020-Dec-14 + + yom_kippur_2013 +
+ + + + + [dir] + Yom_Kippur_2013_en_files + 0.1 days old + + 224.2 KB + + 2020-Dec-14 + + Yom_Kippur_2013_en_files +
+ + + + + [dir] + Yom_Kippur_2013_ro_files + 0.1 days old + + 2.0 KB + + 2020-Dec-14 + + Yom_Kippur_2013_ro_files +
+ + + + + [dir] + Yom_Teruah_2013_ro_files + 0.1 days old + + 123.4 KB + + 2020-Dec-14 + + Yom_Teruah_2013_ro_files +
+ + + + + [png] + 2F529537_3879949733014_198386502_n.jpg.png תְמוּנָה ממזערת 2F529537_3879949733014_198386502_n.jpg.png + [calculate md5sum] + + 99.0 KB + + 2018-Dec-02 + + +
+ + + + + [htm] + 144.000.htm + [calculate md5sum] + + 46.3 KB + + 2005-Feb-04 + + +
+ + + + + [htm] + 2013_Situatia_din_Israel_si_boicotul_UE.htm + [calculate md5sum] + + 33.6 KB + + 2013-Aug-31 + + +
+ + + + + [jpg] + 4872_1_ftc_dp.jpg תְמוּנָה ממזערת 4872_1_ftc_dp.jpg + [calculate md5sum] + + 29.4 KB + + 2012-Apr-14 + + +
+ + + + + [jpg] + 4872_2_exc_dp.jpg תְמוּנָה ממזערת 4872_2_exc_dp.jpg + [calculate md5sum] + + 46.9 KB + + 2012-Apr-14 + + +
+ + + + + [jpg] + 4872_3_exc_dp.jpg תְמוּנָה ממזערת 4872_3_exc_dp.jpg + [calculate md5sum] + + 42.0 KB + + 2012-Apr-14 + + +
+ + + + + [jpg] + 4872_4_exc.jpg תְמוּנָה ממזערת 4872_4_exc.jpg + [calculate md5sum] + + 41.1 KB + + 2012-Apr-14 + + +
+ + + + + [jpg] + 4872_5_exc.jpg תְמוּנָה ממזערת 4872_5_exc.jpg + [calculate md5sum] + + 33.6 KB + + 2012-Apr-14 + + +
+ + + + + [jpg] + 4872_6_exc.jpg תְמוּנָה ממזערת 4872_6_exc.jpg + [calculate md5sum] + + 34.6 KB + + 2012-Apr-14 + + +
+ + + + + [jpg] + 4872_7_exc.jpg תְמוּנָה ממזערת 4872_7_exc.jpg + [calculate md5sum] + + 38.7 KB + + 2012-Apr-14 + + +
+ + + + + [jpg] + 4872_99_bkc.jpg תְמוּנָה ממזערת 4872_99_bkc.jpg + [calculate md5sum] + + 34.9 KB + + 2012-Apr-14 + + +
+ + + + + [jpg] + 49588.jpg תְמוּנָה ממזערת 49588.jpg + [calculate md5sum] + + 28.6 KB + + 2012-Sep-19 + + +
+ + + + + [jpg] + 529537_3879949733014_198386502_n.jpg תְמוּנָה ממזערת 529537_3879949733014_198386502_n.jpg + [calculate md5sum] + + 10.5 KB + + 2018-Dec-02 + + +
+ + + + + [jpg] + 551645_10150654444292810_56347292809_9562496_1509058014_n.jpg תְמוּנָה ממזערת 551645_10150654444292810_56347292809_9562496_1509058014_n.jpg + [calculate md5sum] + + 55.6 KB + + 2012-Apr-19 + + +
+ + + + + [jpg] + 564770_194976290621224_100003265640343_314236_440238530_n.jpg תְמוּנָה ממזערת 564770_194976290621224_100003265640343_314236_440238530_n.jpg + [calculate md5sum] + + 100.2 KB + + 2012-Apr-21 + + +
+ + + + + [jpg] + 575563_10150665032602810_56347292809_9610241_1607041119_n.jpg תְמוּנָה ממזערת 575563_10150665032602810_56347292809_9610241_1607041119_n.jpg + [calculate md5sum] + + 86.1 KB + + 2012-Apr-19 + + +
+ + + + + [html] + about_home_gatherings.html + [calculate md5sum] + + 115.3 KB + + 2013-Aug-11 + + +
+ + + + + [pdf] + about_home_gatherings_en.pdf + [calculate md5sum] + + 209.0 KB + + 2010-Jun-21 + + +
+ + + + + [pdf] + about_home_gatherings_ro_v2.14_coperta.pdf + [calculate md5sum] + + 35.7 KB + + 2011-May-03 + + +
+ + + + + [htm] + adevarul_despre_sabat.htm + [calculate md5sum] + + 239.8 KB + + 2013-Aug-25 + + +
+ + + + + [pdf] + adevarul_despre_sabat.pdf + [calculate md5sum] + + 661.7 KB + + 2013-Aug-25 + + +
+ + + + + [htm] + adevarul_despre_sabat_old.htm + [calculate md5sum] + + 359.3 KB + + 2013-Jan-22 + + +
+ + + + + [htm] + adevarul_despre_sabat_vd.htm + [calculate md5sum] + + 62.3 KB + + 2011-Jan-01 + + +
+ + + + + [htm] + adunarea.htm + [calculate md5sum] + + 129.8 KB + + 2005-Feb-04 + + +
+ + + + + [pdf] + alcoolul_moderatzie_sau_abstinenta.pdf + [calculate md5sum] + + 224.9 KB + + 2010-Nov-14 + + +
+ + + + + [pdf] + alfabetul_ebraic.pdf + [calculate md5sum] + + 115.8 KB + + 2011-Mar-07 + + +
+ + + + + [pdf] + aramaic-hebrew_alphabet_numeric_values_rom.pdf + [calculate md5sum] + + 49.3 KB + + 2011-Mar-07 + + +
+ + + + + [pdf] + Archive for the Jubilee Year Category.pdf + [calculate md5sum] + + 63.5 KB + + 2011-Aug-05 + + +
+ + + + + [php] + AutoIndex.conf2.php + 0.6 days old[calculate md5sum] + + 555.0  B + + 2020-Dec-14 + + AUTOINDEX.CONF2 @ 04:33:00 +
+ + + + + [html] + autoindexlicense.html + [calculate md5sum] + + 18.8 KB + + 2019-Sep-17 + + +
+ + + + + [htm] + B-Hagadah-mesianic.htm + [calculate md5sum] + + 46.7 KB + + 2012-Apr-11 + + +
+ + + + + [html] + b-hagadah-mesianic.html + [calculate md5sum] + + 77.1 KB + + 2012-Apr-11 + + +
+ + + + + [pdf] + B-Lupta_spitituala.pdf + [calculate md5sum] + + 256.4 KB + + 2011-Mar-07 + + +
+ + + + + [pdf] + B-Lupta_spitituala4.pdf + [calculate md5sum] + + 253.7 KB + + 2004-Jan-23 + + +
+ + + + + [htm] + B-Ziua_YomhaTerua.htm + [calculate md5sum] + + 155.9 KB + + 2012-Sep-16 + + +
+ + + + + [html] + B-Ziua_YomhaTeruah.html + [calculate md5sum] + + 212.1 KB + + 2012-Sep-21 + + +
+ + + + + [html] + B-Ziua_YomhaTeruah0.html + [calculate md5sum] + + 176.1 KB + + 2012-Sep-19 + + +
+ + + + + [html] + B-Ziua_YomhaTeruah2.html + [calculate md5sum] + + 157.3 KB + + 2012-Sep-16 + + +
+ + + + + [pdf] + bentscher.pdf + [calculate md5sum] + + 202.3 KB + + 2012-Sep-19 + + +
+ + + + + [htm] + botez.htm + [calculate md5sum] + + 173.5 KB + + 2004-Mar-24 + + +
+ + + + + [htm] + botezs.htm + [calculate md5sum] + + 111.6 KB + + 2005-Mar-16 + + +
+ + + + + [htm] + Botez_r.htm + [calculate md5sum] + + 25.3 KB + + 2003-Oct-08 + + +
+ + + + + [jpg] + bread-wine-herbs2.jpg תְמוּנָה ממזערת bread-wine-herbs2.jpg + [calculate md5sum] + + 42.5 KB + + 2012-Apr-14 + + +
+ + + + + [htm] + calauzire.htm + [calculate md5sum] + + 52.5 KB + + 2005-Feb-04 + + +
+ + + + + [pdf] + Calendar2011.pdf + [calculate md5sum] + + 397.0 KB + + 2011-Feb-05 + + +
+ + + + + [htm] + cand_daruri.htm + [calculate md5sum] + + 32.1 KB + + 2011-Jan-01 + + +
+ + + + + [pdf] + Cantarea lui Moise si a Mielului.pdf + [calculate md5sum] + + 138.9 KB + + 2011-Mar-22 + + +
+ + + + + [pdf] + Cantarea lui Moise si a Mielului din carte.pdf + [calculate md5sum] + + 137.8 KB + + 2011-Mar-23 + + +
+ + + + + [pdf] + cardurile-de-sanatate-intra-art_guv.pdf + [calculate md5sum] + + 15.9 KB + + 2011-Jan-08 + + +
+ + + + + [html] + change_log.html + [calculate md5sum] + + 5.0 KB + + 2019-Sep-17 + + +
+ + + + + [jpg] + coldencaff.jpg תְמוּנָה ממזערת coldencaff.jpg + [calculate md5sum] + + 34.5 KB + + 2013-Aug-31 + + +
+ + + + + [php] + config2.php + 0.9 days old[calculate md5sum] + + 19.1 KB + + 2020-Dec-13 + + CONFIG2 @ 10:08:00 +
+ + + + + [jpg] + Coranul.jpg תְמוּנָה ממזערת Coranul.jpg + [calculate md5sum] + + 11.0 KB + + 2005-Aug-26 + + +
+ + + + + [htm] + Craciun&Hanuca-Certitudini.htm + [calculate md5sum] + + 22.0 KB + + 2018-Dec-21 + + +
+ + + + + [html] + Craciun&Hanuca-Certitudini.html + [calculate md5sum] + + 22.0 KB + + 2018-Dec-21 + + +
+ + + + + [htm] + craciun.htm + [calculate md5sum] + + 48.7 KB + + 2005-Feb-04 + + +
+ + + + + [pdf] + CRACIUN_A5.pdf + [calculate md5sum] + + 110.1 KB + + 2012-Apr-13 + + +
+ + + + + [pdf] + Create in me book pg 37-38.pdf + [calculate md5sum] + + 87.0 KB + + 2011-Mar-22 + + +
+ + + + + [jpg] + createlulav.jpg תְמוּנָה ממזערת createlulav.jpg + [calculate md5sum] + + 40.5 KB + + 2013-Sep-20 + + +
+ + + + + [htm] + data.htm + [calculate md5sum] + + 32.6 KB + + 2005-Feb-04 + + +
+ + + + + [pdf] + Days_of_Elijah_and_Enoch.pdf + [calculate md5sum] + + 66.6 KB + + 2010-Dec-10 + + +
+ + + + + [htm] + duhuri.htm + [calculate md5sum] + + 6.9 KB + + 2003-Oct-07 + + +
+ + + + + [htm] + editorial.htm + [calculate md5sum] + + 11.3 KB + + 2011-Jan-01 + + +
+ + + + + [htm] + editorial_feb_2003.htm + [calculate md5sum] + + 11.3 KB + + 2011-Jan-01 + + +
+ + + + + [html] + efeseni2-aparat_critic_si_traduceri.html + [calculate md5sum] + + 67.6 KB + + 2013-Aug-06 + + +
+ + + + + [pdf] + El-Ehad3.pdf + [calculate md5sum] + + 141.9 KB + + 2010-Nov-09 + + +
+ + + + + [htm] + evanghelia.htm + [calculate md5sum] + + 48.7 KB + + 2005-Feb-04 + + +
+ + + + + [htm] + evrei.htm + [calculate md5sum] + + 107.8 KB + + 2005-Feb-04 + + +
+ + + + + [pdf] + exodus3.pdf + [calculate md5sum] + + 199.6 KB + + 2007-Nov-28 + + +
+ + + + + [htm] + Explicarea_traditiilor_de_Hanuca.htm + [calculate md5sum] + + 22.0 KB + + 2012-Dec-13 + + +
+ + + + + [htm] + formula_botez.htm + [calculate md5sum] + + 90.0 KB + + 2013-Apr-13 + + +
+ + + + + [htm] + Fratele_cel_Mare_in_Israel.htm + [calculate md5sum] + + 60.1 KB + + 2011-Nov-21 + + +
+ + + + + [htm] + fratele_cel_mare_in_israel_si_tehnologia_sfarsitului.htm + [calculate md5sum] + + 95.6 KB + + 2012-Jul-10 + + +
+ + + + + [htm] + Hanuca2012.htm + [calculate md5sum] + + 28.6 KB + + 2012-Dec-13 + + +
+ + + + + [htm] + Hanuka.htm + [calculate md5sum] + + 26.7 KB + + 2018-Dec-02 + + +
+ + + + + [html] + Hanuka.html + [calculate md5sum] + + 26.7 KB + + 2018-Dec-21 + + +
+ + + + + [pdf] + Hanuka.pdf + [calculate md5sum] + + 225.8 KB + + 2011-Dec-17 + + +
+ + + + + [htm] + Hanuka2013.htm + [calculate md5sum] + + 29.5 KB + + 2013-Nov-27 + + +
+ + + + + [htm] + Hanuka2014.htm + [calculate md5sum] + + 28.1 KB + + 2013-Nov-27 + + +
+ + + + + [htm] + Hanuka2018.htm + [calculate md5sum] + + 30.0 KB + + 2018-Dec-02 + + +
+ + + + + [htm] + Hanuka2019.htm + 1.3 days old[calculate md5sum] + + 29.8 KB + + 2020-Dec-13 + + +
+ + + + + [htm] + Hanuka2020.htm + 1.1 days old[calculate md5sum] + + 27.2 KB + + 2020-Dec-13 + + +
+ + + + + [htm] + Hanuka2021.htm + 1.3 days old[calculate md5sum] + + 29.8 KB + + 2020-Dec-13 + + +
+ + + + + [htm] + Hanuka2022.htm + 1.2 days old[calculate md5sum] + + 29.8 KB + + 2020-Dec-13 + + +
+ + + + + [htm] + Hanuka2023.htm + 1.2 days old[calculate md5sum] + + 29.7 KB + + 2020-Dec-13 + + +
+ + + + + [htm] + Hanukah.htm + [calculate md5sum] + + 28.1 KB + + 2013-Nov-27 + + +
+ + + + + [html] + Hanukah.html + [calculate md5sum] + + 28.1 KB + + 2013-Nov-27 + + +
+ + + + + [htm] + har.htm + [calculate md5sum] + + 54.9 KB + + 2005-Feb-04 + + +
+ + + + + [htm] + iadul.htm + [calculate md5sum] + + 250.7 KB + + 2011-Jan-01 + + +
+ + + + + [htm] + ilie.htm + [calculate md5sum] + + 40.5 KB + + 2005-Mar-15 + + +
+ + + + + [jpg] + Image010.jpg תְמוּנָה ממזערת Image010.jpg + [calculate md5sum] + + 44.1 KB + + 2011-Nov-21 + + +
+ + + + + [jpg] + Image030.jpg תְמוּנָה ממזערת Image030.jpg + [calculate md5sum] + + 37.2 KB + + 2013-Sep-06 + + +
+ + + + + [gif] + image2.gif תְמוּנָה ממזערת image2.gif + [calculate md5sum] + + 1.0 KB + + 2005-Feb-04 + + +
+ + + + + [gif] + image3.gif תְמוּנָה ממזערת image3.gif + [calculate md5sum] + + 45.6 KB + + 2011-Jan-01 + + +
+ + + + + [gif] + image4.gif תְמוּנָה ממזערת image4.gif + [calculate md5sum] + + 33.9 KB + + 2005-Feb-04 + + +
+ + + + + [jpg] + Image4.jpg תְמוּנָה ממזערת Image4.jpg + [calculate md5sum] + + 75.3 KB + + 2013-Sep-20 + + +
+ + + + + [html] + incredin_are.html + [calculate md5sum] + + 1.9 KB + + 2003-Dec-14 + + +
+ + + + + [html] + index.html + [calculate md5sum] + + 36.3 KB + + 2017-Mar-07 + + +
+ + + + + [php] + index.php + 0 days old[calculate md5sum] + + 18.4 KB + + 2020-Dec-14 + + INDEX @ 07:18:54 +
+ + + + + [php] + index0.php + [calculate md5sum] + + 18.4 KB + + 2020-Feb-04 + + +
+ + + + + [htm] + Inspecting Rosh Hashanah Symbols.htm + [calculate md5sum] + + 42.1 KB + + 2013-Sep-10 + + +
+ + + + + [htm] + invrap.htm + [calculate md5sum] + + 52.1 KB + + 2005-Feb-04 + + +
+ + + + + [htm] + iosif.htm + [calculate md5sum] + + 49.0 KB + + 2005-Feb-04 + + +
+ + + + + [htm] + is-this-end-time-tech-mark-of-beast.htm + [calculate md5sum] + + 14.4 KB + + 2013-Feb-26 + + +
+ + + + + [htm] + islam.htm + [calculate md5sum] + + 49.7 KB + + 2005-Feb-04 + + +
+ + + + + [pdf] + Is_Christmas_Pagan.pdf + [calculate md5sum] + + 126.0 KB + + 2012-Apr-13 + + +
+ + + + + [htm] + jertfele.htm + [calculate md5sum] + + 59.6 KB + + 2005-Feb-04 + + +
+ + + + + [htm] + juraminte.htm + [calculate md5sum] + + 37.0 KB + + 2005-Feb-04 + + +
+ + + + + [html] + license.html + [calculate md5sum] + + 18.8 KB + + 2019-Sep-17 + + +
+ + + + + [pdf] + License.pdf + [calculate md5sum] + + 22.0 KB + + 2010-Dec-21 + + +
+ + + + + [htm] + Lunar calendar - Calendar.sk.htm + [calculate md5sum] + + 84.2 KB + + 2013-Mar-01 + + +
+ + + + + [pdf] + Lupta_spitituala.pdf + [calculate md5sum] + + 258.7 KB + + 2011-Jan-23 + + +
+ + + + + [jpg] + Ma-Nishtana.jpg תְמוּנָה ממזערת Ma-Nishtana.jpg + [calculate md5sum] + + 32.4 KB + + 2012-Apr-14 + + +
+ + + + + [htm] + mariolo4.htm + [calculate md5sum] + + 17.7 KB + + 2005-Mar-18 + + +
+ + + + + [htm] + mariologie.htm + [calculate md5sum] + + 30.8 KB + + 2011-Jan-01 + + +
+ + + + + [htm] + martori.htm + [calculate md5sum] + + 49.6 KB + + 2005-Feb-05 + + +
+ + + + + [htm] + masturbarea.htm + [calculate md5sum] + + 43.6 KB + + 2011-Jan-01 + + +
+ + + + + [htm] + nascut.htm + [calculate md5sum] + + 31.6 KB + + 2005-Feb-04 + + +
+ + + + + [html] + nasterea_lui_mesia.html + [calculate md5sum] + + 2.5 KB + + 2012-Nov-26 + + +
+ + + + + [htm] + Noah_Torah.htm + [calculate md5sum] + + 24.6 KB + + 2013-Oct-05 + + +
+ + + + + [pdf] + NTTF_01_Introducere_ED8_12_2011.pdf + [calculate md5sum] + + 192.3 KB + + 2007-Nov-28 + + +
+ + + + + [htm] + numele.htm + [calculate md5sum] + + 159.4 KB + + 2011-Jan-01 + + +
+ + + + + [pdf] + Page6 from howsurearewe2.pdf + [calculate md5sum] + + 108.7 KB + + 2010-Nov-11 + + +
+ + + + + [pdf] + Piatza roshie - torul e de vanzare.pdf + [calculate md5sum] + + 131.4 KB + + 2011-Nov-29 + + +
+ + + + + [htm] + ploaia.htm + [calculate md5sum] + + 58.3 KB + + 2005-Feb-04 + + +
+ + + + + [htm] + post.htm + [calculate md5sum] + + 40.4 KB + + 2005-Feb-04 + + +
+ + + + + [htm] + posturi-postul_de_toamna.htm + [calculate md5sum] + + 15.3 KB + + 2013-Aug-06 + + +
+ + + + + [html] + posturi-postul_de_toamna.html + [calculate md5sum] + + 15.3 KB + + 2013-Aug-06 + + +
+ + + + + [htm] + puterea.htm + [calculate md5sum] + + 8.9 KB + + 2003-Dec-11 + + +
+ + + + + [htm] + Readme.htm + [calculate md5sum] + + 18.5 KB + + 2019-Nov-07 + + +
+ + + + + [md] + README.md + [calculate md5sum] + + 465.0  B + + 2018-Jul-20 + + +
+ + + + + [pdf] + recycle_human_body_v4.pdf + [calculate md5sum] + + 233.2 KB + + 2011-May-03 + + +
+ + + + + [htm] + reforma.htm + [calculate md5sum] + + 24.4 KB + + 2005-Feb-04 + + +
+ + + + + [htm] + restabilire.htm + [calculate md5sum] + + 108.6 KB + + 2005-Feb-04 + + +
+ + + + + [htm] + sabat.htm + [calculate md5sum] + + 360.9 KB + + 2013-Jan-22 + + +
+ + + + + [html] + Sarbatoarea_Innoirii.html + [calculate md5sum] + + 25.7 KB + + 2013-Jun-20 + + +
+ + + + + [jpg] + Sarbatoarea_Innoirii_html_d4ce375.jpg תְמוּנָה ממזערת Sarbatoarea_Innoirii_html_d4ce375.jpg + [calculate md5sum] + + 40.8 KB + + 2013-Jun-20 + + +
+ + + + + [html] + Sarbatoarile_Domnului_Cincizecimea.html + [calculate md5sum] + + 7.4 KB + + 2011-Jun-07 + + +
+ + + + + [htm] + Sarbatori Pascale Fericite.htm + [calculate md5sum] + + 55.3 KB + + 2013-Mar-26 + + +
+ + + + + [jpg] + seder.jpg תְמוּנָה ממזערת seder.jpg + [calculate md5sum] + + 27.9 KB + + 2012-Apr-14 + + +
+ + + + + [pdf] + Song of Moses and of The Lamb from book.pdf + [calculate md5sum] + + 48.7 KB + + 2011-Mar-23 + + +
+ + + + + [htm] + Stiri_din_Israel.htm + [calculate md5sum] + + 32.6 KB + + 2012-Dec-14 + + +
+ + + + + [htm] + Stiri_din_Israel_Decembrie2012_1.htm + [calculate md5sum] + + 35.1 KB + + 2012-Dec-24 + + +
+ + + + + [pdf] + Studii-Matei_28_19.pdf + [calculate md5sum] + + 238.6 KB + + 2009-Jul-15 + + +
+ + + + + [htm] + Sucot_2012_ro.htm + [calculate md5sum] + + 34.8 KB + + 2012-Oct-08 + + +
+ + + + + [htm] + Sucot_2014_ro.htm + [calculate md5sum] + + 60.0 KB + + 2013-Sep-21 + + +
+ + + + + [htm] + tehnologia_sfarshitului_veacului.htm + [calculate md5sum] + + 45.5 KB + + 2012-Jul-10 + + +
+ + + + + [pdf] + The-option-of-donating-oragans-and-blood.pdf + [calculate md5sum] + + 233.2 KB + + 2012-Jul-15 + + +
+ + + + + [pdf] + The Song of Moses and of Lamb.pdf + [calculate md5sum] + + 54.5 KB + + 2011-Mar-22 + + +
+ + + + + [htm] + Tisha B'Av_2011_ro.htm + [calculate md5sum] + + 31.4 KB + + 2013-Jul-16 + + +
+ + + + + [html] + Tisha_bAv_2008_ro.html + [calculate md5sum] + + 13.6 KB + + 2013-Jul-16 + + +
+ + + + + [html] + Tisha_bAv_2011.html + [calculate md5sum] + + 13.5 KB + + 2013-Jul-16 + + +
+ + + + + [html] + Tisha_bAv_2013.html + [calculate md5sum] + + 32.8 KB + + 2013-Jul-16 + + +
+ + + + + [html] + Tisha_bAv_2013_card_en.html + [calculate md5sum] + + 13.1 KB + + 2013-Jul-16 + + +
+ + + + + [html] + Tisha_bAv_2013_en.html + [calculate md5sum] + + 27.2 KB + + 2013-Jul-16 + + +
+ + + + + [html] + Tisha_bAv_2013_no_pictures.html + [calculate md5sum] + + 28.3 KB + + 2013-Jul-16 + + +
+ + + + + [pdf] + unde_merg_datele_noastre.pdf + [calculate md5sum] + + 207.8 KB + + 2011-Nov-18 + + +
+ + + + + [htm] + vindec.htm + [calculate md5sum] + + 122.5 KB + + 2005-Feb-05 + + +
+ + + + + [htm] + vita_vie.htm + [calculate md5sum] + + 3.1 KB + + 2004-Jan-30 + + +
+ + + + + [jpg] + yeshua_the-lamb-of-god.jpg תְמוּנָה ממזערת yeshua_the-lamb-of-god.jpg + [calculate md5sum] + + 43.6 KB + + 2012-Apr-19 + + +
+ + + + + [htm] + yomim_noraim.htm + [calculate md5sum] + + 24.4 KB + + 2013-Sep-11 + + +
+ + + + + [htm] + Yom_Kippur_2011_ro.htm + [calculate md5sum] + + 12.3 KB + + 2012-Sep-26 + + +
+ + + + + [htm] + Yom_Kippur_2012.htm + [calculate md5sum] + + 23.7 KB + + 2012-Sep-26 + + +
+ + + + + [htm] + Yom_Kippur_2012_ro.htm + [calculate md5sum] + + 12.3 KB + + 2012-Sep-26 + + +
+ + + + + [htm] + Yom_Kippur_2013_en.htm + [calculate md5sum] + + 39.5 KB + + 2013-Sep-14 + + +
+ + + + + [htm] + Yom_Kippur_2013_ro.htm + [calculate md5sum] + + 38.2 KB + + 2013-Sep-14 + + +
+ + + + + [jpg] + Yom_Te1.jpg תְמוּנָה ממזערת Yom_Te1.jpg + [calculate md5sum] + + 14.4 KB + + 2013-Sep-03 + + +
+ + + + + [htm] + yom_teruah2013.htm + [calculate md5sum] + + 15.0 KB + + 2013-Sep-05 + + +
+ + + + + [htm] + Yom_Teruah_2013-ro.htm + [calculate md5sum] + + 27.4 KB + + 2013-Sep-03 + + +
+ + + + + [htm] + Yom_Teruah_2013_ro.htm + [calculate md5sum] + + 46.5 KB + + 2013-Sep-04 + + +
+ + + + + + + +

+ Page + << + 1 + >> + of 1 +

+ + + + + + + + +

+ + + + + + + + + +
+
+ Search Search: +


+
+
+
+ Login User Account: +
Username:
Password:

+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/templates/SwiftBlue/table_header.tpl b/templates/SwiftBlue/table_header.tpl index a2c8978..cabe445 100644 --- a/templates/SwiftBlue/table_header.tpl +++ b/templates/SwiftBlue/table_header.tpl @@ -61,38 +61,6 @@
+ + + + + + + + +
logo MX-Publisher

{ADMIN_TITLE}

{L_LOGGED_IN_AS} {USERNAME}{L_LOGOUT} ]{L_ADMIN_INDEX} • + {L_PORTAL_INDEX} +
+

{L_SKIP}

diff --git a/templates/SwiftBlueBeitDina/ajax.js b/templates/SwiftBlueBeitDina/ajax.js new file mode 100644 index 0000000..d85ba35 --- /dev/null +++ b/templates/SwiftBlueBeitDina/ajax.js @@ -0,0 +1,394 @@ +/* global phpbb */ + +(function($) { // Avoid conflicts with other libraries + +'use strict'; + +// This callback will mark all forum icons read +phpbb.addAjaxCallback('mark_forums_read', function(res) { + var readTitle = res.NO_UNREAD_POSTS; + var unreadTitle = res.UNREAD_POSTS; + var iconsArray = { + forum_unread: 'forum_read', + forum_unread_subforum: 'forum_read_subforum', + forum_unread_locked: 'forum_read_locked' + }; + + $('li.row').find('dl[class*="forum_unread"]').each(function() { + var $this = $(this); + + $.each(iconsArray, function(unreadClass, readClass) { + if ($this.hasClass(unreadClass)) { + $this.removeClass(unreadClass).addClass(readClass); + } + }); + $this.children('dt[title="' + unreadTitle + '"]').attr('title', readTitle); + }); + + // Mark subforums read + $('a.subforum[class*="unread"]').removeClass('unread').addClass('read').children('.icon.icon-red').removeClass('icon-red').addClass('icon-blue'); + + // Mark topics read if we are watching a category and showing active topics + if ($('#active_topics').length) { + phpbb.ajaxCallbacks.mark_topics_read.call(this, res, false); + } + + // Update mark forums read links + $('[data-ajax="mark_forums_read"]').attr('href', res.U_MARK_FORUMS); + + phpbb.closeDarkenWrapper(3000); +}); + +/** +* This callback will mark all topic icons read +* +* @param {bool} [update_topic_links=true] Whether "Mark topics read" links +* should be updated. Defaults to true. +*/ +phpbb.addAjaxCallback('mark_topics_read', function(res, updateTopicLinks) { + var readTitle = res.NO_UNREAD_POSTS; + var unreadTitle = res.UNREAD_POSTS; + var iconsArray = { + global_unread: 'global_read', + announce_unread: 'announce_read', + sticky_unread: 'sticky_read', + topic_unread: 'topic_read' + }; + var iconsState = ['', '_hot', '_hot_mine', '_locked', '_locked_mine', '_mine']; + var unreadClassSelectors; + var classMap = {}; + var classNames = []; + + if (typeof updateTopicLinks === 'undefined') { + updateTopicLinks = true; + } + + $.each(iconsArray, function(unreadClass, readClass) { + $.each(iconsState, function(key, value) { + // Only topics can be hot + if ((value === '_hot' || value === '_hot_mine') && unreadClass !== 'topic_unread') { + return true; + } + classMap[unreadClass + value] = readClass + value; + classNames.push(unreadClass + value); + }); + }); + + unreadClassSelectors = '.' + classNames.join(',.'); + + $('li.row').find(unreadClassSelectors).each(function() { + var $this = $(this); + $.each(classMap, function(unreadClass, readClass) { + if ($this.hasClass(unreadClass)) { + $this.removeClass(unreadClass).addClass(readClass); + } + }); + $this.children('dt[title="' + unreadTitle + '"]').attr('title', readTitle); + }); + + // Remove link to first unread post + $('a.unread').has('.icon-red').remove(); + + // Update mark topics read links + if (updateTopicLinks) { + $('[data-ajax="mark_topics_read"]').attr('href', res.U_MARK_TOPICS); + } + + phpbb.closeDarkenWrapper(3000); +}); + +// This callback will mark all notifications read +phpbb.addAjaxCallback('notification.mark_all_read', function(res) { + if (typeof res.success !== 'undefined') { + phpbb.markNotifications($('[data-notification-unread="true"]'), 0); + phpbb.closeDarkenWrapper(3000); + } +}); + +// This callback will mark a notification read +phpbb.addAjaxCallback('notification.mark_read', function(res) { + if (typeof res.success !== 'undefined') { + var unreadCount = Number($('#notification-button strong').html()) - 1; + phpbb.markNotifications($(this).parent('[data-notification-unread="true"]'), unreadCount); + } +}); + +/** + * Mark notification popup rows as read. + * + * @param {jQuery} $popup jQuery object(s) to mark read. + * @param {int} unreadCount The new unread notifications count. + */ +phpbb.markNotifications = function($popup, unreadCount) { + // Remove the unread status. + $popup.removeClass('bg2'); + $popup.find('a.mark_read').remove(); + + // Update the notification link to the real URL. + $popup.each(function() { + var link = $(this).find('a'); + link.attr('href', link.attr('data-real-url')); + }); + + // Update the unread count. + $('strong', '#notification-button').html(unreadCount); + // Remove the Mark all read link and hide notification count if there are no unread notifications. + if (!unreadCount) { + $('#mark_all_notifications').remove(); + $('#notification-button > strong').addClass('hidden'); + } + + // Update page title + var $title = $('title'); + var originalTitle = $title.text().replace(/(\((\d+)\))/, ''); + $title.text((unreadCount ? '(' + unreadCount + ')' : '') + originalTitle); +}; + +// This callback finds the post from the delete link, and removes it. +phpbb.addAjaxCallback('post_delete', function() { + var $this = $(this), + postId; + + if ($this.attr('data-refresh') === undefined) { + postId = $this[0].href.split('&p=')[1]; + var post = $this.parents('#p' + postId).css('pointer-events', 'none'); + if (post.hasClass('bg1') || post.hasClass('bg2')) { + var posts1 = post.nextAll('.bg1'); + post.nextAll('.bg2').removeClass('bg2').addClass('bg1'); + posts1.removeClass('bg1').addClass('bg2'); + } + post.fadeOut(function() { + $(this).remove(); + }); + } +}); + +// This callback removes the approve / disapprove div or link. +phpbb.addAjaxCallback('post_visibility', function(res) { + var remove = (res.visible) ? $(this) : $(this).parents('.post'); + $(remove).css('pointer-events', 'none').fadeOut(function() { + $(this).remove(); + }); + + if (res.visible) { + // Remove the "Deleted by" message from the post on restoring. + remove.parents('.post').find('.post_deleted_msg').css('pointer-events', 'none').fadeOut(function() { + $(this).remove(); + }); + } +}); + +// This removes the parent row of the link or form that fired the callback. +phpbb.addAjaxCallback('row_delete', function() { + $(this).parents('tr').remove(); +}); + +// This handles friend / foe additions removals. +phpbb.addAjaxCallback('zebra', function(res) { + var zebra; + + if (res.success) { + zebra = $('.zebra'); + zebra.first().html(res.MESSAGE_TEXT); + zebra.not(':first').html(' ').prev().html(' '); + } +}); + +/** + * This callback updates the poll results after voting. + */ +phpbb.addAjaxCallback('vote_poll', function(res) { + if (typeof res.success !== 'undefined') { + var poll = $(this).closest('.topic_poll'); + var panel = poll.find('.panel'); + var resultsVisible = poll.find('dl:first-child .resultbar').is(':visible'); + var mostVotes = 0; + + // Set min-height to prevent the page from jumping when the content changes + var updatePanelHeight = function (height) { + height = (typeof height === 'undefined') ? panel.find('.inner').outerHeight() : height; + panel.css('min-height', height); + }; + updatePanelHeight(); + + // Remove the View results link + if (!resultsVisible) { + poll.find('.poll_view_results').hide(500); + } + + if (!res.can_vote) { + poll.find('.polls, .poll_max_votes, .poll_vote, .poll_option_select').fadeOut(500, function () { + poll.find('.resultbar, .poll_option_percent, .poll_total_votes').show(); + }); + } else { + // If the user can still vote, simply slide down the results + poll.find('.resultbar, .poll_option_percent, .poll_total_votes').show(500); + } + + // Get the votes count of the highest poll option + poll.find('[data-poll-option-id]').each(function() { + var option = $(this); + var optionId = option.attr('data-poll-option-id'); + mostVotes = (res.vote_counts[optionId] >= mostVotes) ? res.vote_counts[optionId] : mostVotes; + }); + + // Update the total votes count + poll.find('.poll_total_vote_cnt').html(res.total_votes); + + // Update each option + poll.find('[data-poll-option-id]').each(function() { + var $this = $(this); + var optionId = $this.attr('data-poll-option-id'); + var voted = (typeof res.user_votes[optionId] !== 'undefined'); + var mostVoted = (res.vote_counts[optionId] === mostVotes); + var percent = (!res.total_votes) ? 0 : Math.round((res.vote_counts[optionId] / res.total_votes) * 100); + var percentRel = (mostVotes === 0) ? 0 : Math.round((res.vote_counts[optionId] / mostVotes) * 100); + var altText; + + altText = $this.attr('data-alt-text'); + if (voted) { + $this.attr('title', $.trim(altText)); + } else { + $this.attr('title', ''); + }; + $this.toggleClass('voted', voted); + $this.toggleClass('most-votes', mostVoted); + + // Update the bars + var bar = $this.find('.resultbar div'); + var barTimeLapse = (res.can_vote) ? 500 : 1500; + var newBarClass = (percent === 100) ? 'pollbar5' : 'pollbar' + (Math.floor(percent / 20) + 1); + + setTimeout(function () { + bar.animate({ width: percentRel + '%' }, 500) + .removeClass('pollbar1 pollbar2 pollbar3 pollbar4 pollbar5') + .addClass(newBarClass) + .html(res.vote_counts[optionId]); + + var percentText = percent ? percent + '%' : res.NO_VOTES; + $this.find('.poll_option_percent').html(percentText); + }, barTimeLapse); + }); + + if (!res.can_vote) { + poll.find('.polls').delay(400).fadeIn(500); + } + + // Display "Your vote has been cast." message. Disappears after 5 seconds. + var confirmationDelay = (res.can_vote) ? 300 : 900; + poll.find('.vote-submitted').delay(confirmationDelay).slideDown(200, function() { + if (resultsVisible) { + updatePanelHeight(); + } + + $(this).delay(5000).fadeOut(500, function() { + resizePanel(300); + }); + }); + + // Remove the gap resulting from removing options + setTimeout(function() { + resizePanel(500); + }, 1500); + + var resizePanel = function (time) { + var panelHeight = panel.height(); + var innerHeight = panel.find('.inner').outerHeight(); + + if (panelHeight !== innerHeight) { + panel.css({ minHeight: '', height: panelHeight }) + .animate({ height: innerHeight }, time, function () { + panel.css({ minHeight: innerHeight, height: '' }); + }); + } + }; + } +}); + +/** + * Show poll results when clicking View results link. + */ +$('.poll_view_results a').click(function(e) { + // Do not follow the link + e.preventDefault(); + + var $poll = $(this).parents('.topic_poll'); + + $poll.find('.resultbar, .poll_option_percent, .poll_total_votes').show(500); + $poll.find('.poll_view_results').hide(500); +}); + +$('[data-ajax]').each(function() { + var $this = $(this); + var ajax = $this.attr('data-ajax'); + var filter = $this.attr('data-filter'); + + if (ajax !== 'false') { + var fn = (ajax !== 'true') ? ajax : null; + filter = (filter !== undefined) ? phpbb.getFunctionByName(filter) : null; + + phpbb.ajaxify({ + selector: this, + refresh: $this.attr('data-refresh') !== undefined, + filter: filter, + callback: fn + }); + } +}); + + +/** + * This simply appends #preview to the action of the + * QR action when you click the Full Editor & Preview button + */ +$('#qr_full_editor').click(function() { + $('#qr_postform').attr('action', function(i, val) { + return val + '#preview'; + }); +}); + + +/** + * Make the display post links to use JS + */ +$('.display_post').click(function(e) { + // Do not follow the link + e.preventDefault(); + + var postId = $(this).attr('data-post-id'); + $('#post_content' + postId).show(); + $('#profile' + postId).show(); + $('#post_hidden' + postId).hide(); +}); + +/** +* Toggle the member search panel in memberlist.php. +* +* If user returns to search page after viewing results the search panel is automatically displayed. +* In any case the link will toggle the display status of the search panel and link text will be +* appropriately changed based on the status of the search panel. +*/ +$('#member_search').click(function () { + var $memberlistSearch = $('#memberlist_search'); + + $memberlistSearch.slideToggle('fast'); + phpbb.ajaxCallbacks.alt_text.call(this); + + // Focus on the username textbox if it's available and displayed + if ($memberlistSearch.is(':visible')) { + $('#username').focus(); + } + return false; +}); + +/** +* Automatically resize textarea +*/ +$(function() { + var $textarea = $('textarea:not(#message-box textarea, .no-auto-resize)'); + phpbb.resizeTextArea($textarea, { minHeight: 75, maxHeight: 250 }); + phpbb.resizeTextArea($('textarea', '#message-box')); +}); + + +})(jQuery); // Avoid conflicts with other libraries diff --git a/templates/SwiftBlueBeitDina/alternate.css b/templates/SwiftBlueBeitDina/alternate.css new file mode 100644 index 0000000..20c39b3 --- /dev/null +++ b/templates/SwiftBlueBeitDina/alternate.css @@ -0,0 +1,134 @@ +/** + * An alternate stylesheet. + * + * @package AutoIndex + * @author Justin Hagstrom + * @version 1.0.0 (February 03, 2005) + * + * @copyright Copyright (C) 2002-2005 Justin Hagstrom + * @license http://www.gnu.org/licenses/gpl.html GNU General Public License (GPL) + * + * @link http://autoindex.sourceforge.net + */ + +/* Body */ +.autoindex_body, html +{ + font-family: verdana, lucidia, sans-serif; + font-size: 13px; + background-color: #FCFCFC; +} + +/* Images */ +.autoindex_body img +{ + border: none; +} + +/* Tables */ +.autoindex_table +{ + width: 100%; + border: none; + border-spacing: 2px; +} +.light_row +{ + background-color: #FEFEFE; + font-size: 12px; +} +.dark_row +{ + background-color: #EEEEEE; + font-size: 12px; +} +.light_row:hover, .dark_row:hover +{ + background-color: #FFF2BF; +} +.autoindex_td +{ + border: 1px solid #FAFAFA; + font-size: 12px; + padding: 1px; + text-align: left; + white-space: nowrap; +} +.autoindex_td_right +{ + border: 1px solid #FAFAFA; + font-size: 12px; + padding: 1px; + text-align: right; + white-space: nowrap; +} +.autoindex_td:hover, .autoindex_td_right:hover +{ + font-size: 12px; + padding: 1px; + border: 1px solid #FFCC00; +} +.autoindex_th +{ + background-color: #FFCC00; + border: 1px solid #AA9339; + font-size: 12px; + padding: 2px; +} + +/* Links */ +.plain_link +{ + color: #000000; + text-decoration: none; +} +.autoindex_a:visited, .autoindex_a:active +{ + color: #00008F; + text-decoration: none; +} +.autoindex_a:link +{ + color: #0000FF; + text-decoration: none; +} +.autoindex_a:hover +{ + color: #392266; + text-decoration: none; +} + +/* Buttons */ +.button +{ + color: #707070; + background-color: #F2F6FC; + font-family: arial, sans-serif; + font-size: 11px; + text-align: left; + vertical-align: middle; + font-weight: bold; + cursor: pointer; + border: 0px outset #CBCBCB; + padding: 3px 10px 3px 10px; +} + +/* Misc. */ +.paragraph +{ + background: #F2F6FC; + color: #000020; + font-size: 13px; +} +.autoindex_hr +{ + color: #000020; + background-color: #000020; + border: none; + width: 75%; + height: 1px; +} +.autoindex_small +{ + font-size: 10px; +} \ No newline at end of file diff --git a/templates/SwiftBlueBeitDina/biblia_online.js b/templates/SwiftBlueBeitDina/biblia_online.js new file mode 100644 index 0000000..4dc009e --- /dev/null +++ b/templates/SwiftBlueBeitDina/biblia_online.js @@ -0,0 +1,9 @@ +document.writeln(""); +document.writeln(""); \ No newline at end of file diff --git a/templates/SwiftBlueBeitDina/collapsiblecategories.js b/templates/SwiftBlueBeitDina/collapsiblecategories.js new file mode 100644 index 0000000..ee11fcc --- /dev/null +++ b/templates/SwiftBlueBeitDina/collapsiblecategories.js @@ -0,0 +1,40 @@ +(function($) { // Avoid conflicts with other libraries + + 'use strict'; + + // Get the collapsible element (has class .topiclist.forums OR .collapsible) + $.fn.getCollapsible = function() { + return this.closest('.forabg').find('.topiclist.forums, .collapsible').eq(0); + }; + + $('a.collapse-btn').each(function() { + var $this = $(this), + hidden = $this.attr('data-hidden'), + $content = $this.getCollapsible(); + + // Return if no collapsible content could be found + if (!$content.length) { + return; + } + + // Unhide the collapse buttons (makes them JS dependent) + $this.show(); + + // Hide hidden forums on load + if (hidden) { + $content.hide(); + } + }); + + phpbb.addAjaxCallback('phpbb_collapse', function(res) { + if (res.success) { + $(this) + .toggleClass('collapse-show collapse-hide') + .getCollapsible() + .stop(true, true) + .slideToggle('fast') + ; + } + }); + +})(jQuery); // Avoid conflicts with other libraries diff --git a/templates/SwiftBlueBeitDina/cookieconsent.min.css b/templates/SwiftBlueBeitDina/cookieconsent.min.css new file mode 100644 index 0000000..d4d4390 --- /dev/null +++ b/templates/SwiftBlueBeitDina/cookieconsent.min.css @@ -0,0 +1,6 @@ +.cc-window{opacity:1;-webkit-transition:opacity 1s ease;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{-webkit-transition:transform 1s ease;-webkit-transition:-webkit-transform 1s ease;transition:-webkit-transform 1s ease;transition:transform 1s ease;transition:transform 1s ease,-webkit-transform 1s ease}.cc-animate.cc-revoke.cc-top{-webkit-transform:translateY(-2em);transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{-webkit-transform:translateY(2em);transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-top{-webkit-transform:translateY(0);transform:translateY(0)}.cc-animate.cc-revoke.cc-active.cc-bottom{-webkit-transform:translateY(0);transform:translateY(0)}.cc-revoke:hover{-webkit-transform:translateY(0);transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;-webkit-transition:max-height 1s;transition:max-height 1s} +.cc-revoke,.cc-window{position:fixed;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-revoke:hover{text-decoration:underline}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em;text-decoration:underline}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1} +.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.cc-window.cc-banner{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;max-width:100%;margin-right:1em}.cc-compliance{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-floating .cc-compliance>.cc-btn{-webkit-box-flex:1;-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em} +@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-floating,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-webkit-box-align:unset;-ms-flex-align:unset;align-items:unset}.cc-window.cc-banner .cc-message{margin-right:0}} +.cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-webkit-box-flex:0;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block} +.cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em;margin-bottom:1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0} \ No newline at end of file diff --git a/templates/SwiftBlueBeitDina/cookieconsent.min.js b/templates/SwiftBlueBeitDina/cookieconsent.min.js new file mode 100644 index 0000000..1e3dccf --- /dev/null +++ b/templates/SwiftBlueBeitDina/cookieconsent.min.js @@ -0,0 +1 @@ +!function(e){if(!e.hasInitialised){var t={escapeRegExp:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},hasClass:function(e,t){var i=" ";return 1===e.nodeType&&(i+e.className+i).replace(/[\n\t]/g,i).indexOf(i+t+i)>=0},addClass:function(e,t){e.className+=" "+t},removeClass:function(e,t){var i=new RegExp("\\b"+this.escapeRegExp(t)+"\\b");e.className=e.className.replace(i,"")},interpolateString:function(e,t){return e.replace(/{{([a-z][a-z0-9\-_]*)}}/gi,function(e){return t(arguments[1])||""})},getCookie:function(e){var t=("; "+document.cookie).split("; "+e+"=");return t.length<2?void 0:t.pop().split(";").shift()},setCookie:function(e,t,i,n,o,s){var r=new Date;r.setHours(r.getHours()+24*(i||365));var a=[e+"="+t,"expires="+r.toUTCString(),"path="+(o||"/")];n&&a.push("domain="+n),s&&a.push("secure"),document.cookie=a.join(";")},deepExtend:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(i in e&&this.isPlainObject(e[i])&&this.isPlainObject(t[i])?this.deepExtend(e[i],t[i]):e[i]=t[i]);return e},throttle:function(e,t){var i=!1;return function(){i||(e.apply(this,arguments),i=!0,setTimeout(function(){i=!1},t))}},hash:function(e){var t,i,n=0;if(0===e.length)return n;for(t=0,i=e.length;t=128?"#000":"#fff"},getLuminance:function(e){var t=parseInt(this.normaliseHex(e),16),i=38+(t>>16),n=38+(t>>8&255),o=38+(255&t);return"#"+(16777216+65536*(i<255?i<1?0:i:255)+256*(n<255?n<1?0:n:255)+(o<255?o<1?0:o:255)).toString(16).slice(1)},isMobile:function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},isPlainObject:function(e){return"object"==typeof e&&null!==e&&e.constructor==Object},traverseDOMPath:function(e,i){return e&&e.parentNode?t.hasClass(e,i)?e:this.traverseDOMPath(e.parentNode,i):null}};e.status={deny:"deny",allow:"allow",dismiss:"dismiss"},e.transitionEnd=function(){var e=document.createElement("div"),t={t:"transitionend",OT:"oTransitionEnd",msT:"MSTransitionEnd",MozT:"transitionend",WebkitT:"webkitTransitionEnd"};for(var i in t)if(t.hasOwnProperty(i)&&void 0!==e.style[i+"ransition"])return t[i];return""}(),e.hasTransition=!!e.transitionEnd;var i=Object.keys(e.status).map(t.escapeRegExp);e.customStyles={},e.Popup=function(){var n={enabled:!0,container:null,cookie:{name:"cookieconsent_status",path:"/",domain:"",expiryDays:365,secure:!1},onPopupOpen:function(){},onPopupClose:function(){},onInitialise:function(e){},onStatusChange:function(e,t){},onRevokeChoice:function(){},onNoCookieLaw:function(e,t){},content:{header:"Cookies used on the website!",message:"This website uses cookies to ensure you get the best experience on our website.",dismiss:"Got it!",allow:"Allow cookies",deny:"Decline",link:"Learn more",href:"https://www.cookiesandyou.com",close:"❌",target:"_blank",policy:"Cookie Policy"},elements:{header:'{{header}} ',message:'{{message}}',messagelink:'{{message}} {{link}}',dismiss:'{{dismiss}}',allow:'{{allow}}',deny:'{{deny}}',link:'{{link}}',close:'{{close}}'},window:'',revokeBtn:'
{{policy}}
',compliance:{info:'
{{dismiss}}
',"opt-in":'
{{deny}}{{allow}}
',"opt-out":'
{{deny}}{{allow}}
'},type:"info",layouts:{basic:"{{messagelink}}{{compliance}}","basic-close":"{{messagelink}}{{compliance}}{{close}}","basic-header":"{{header}}{{message}}{{link}}{{compliance}}"},layout:"basic",position:"bottom",theme:"block",static:!1,palette:null,revokable:!1,animateRevokable:!0,showLink:!0,dismissOnScroll:!1,dismissOnTimeout:!1,dismissOnWindowClick:!1,ignoreClicksFrom:["cc-revoke","cc-btn"],autoOpen:!0,autoAttach:!0,whitelistPage:[],blacklistPage:[],overrideHTML:null};function o(){this.initialise.apply(this,arguments)}function s(e){this.openingTimeout=null,t.removeClass(e,"cc-invisible")}function r(t){t.style.display="none",t.removeEventListener(e.transitionEnd,this.afterTransition),this.afterTransition=null}function a(){var e=this.options.position.split("-"),t=[];return e.forEach(function(e){t.push("cc-"+e)}),t}function c(n){var o=this.options,s=document.createElement("div"),r=o.container&&1===o.container.nodeType?o.container:document.body;s.innerHTML=n;var a=s.children[0];return a.style.display="none",t.hasClass(a,"cc-window")&&e.hasTransition&&t.addClass(a,"cc-invisible"),this.onButtonClick=function(n){var o=t.traverseDOMPath(n.target,"cc-btn")||n.target;if(t.hasClass(o,"cc-btn")){var s=o.className.match(new RegExp("\\bcc-("+i.join("|")+")\\b")),r=s&&s[1]||!1;r&&(this.setStatus(r),this.close(!0))}t.hasClass(o,"cc-close")&&(this.setStatus(e.status.dismiss),this.close(!0));t.hasClass(o,"cc-revoke")&&this.revokeChoice()}.bind(this),a.addEventListener("click",this.onButtonClick),o.autoAttach&&(r.firstChild?r.insertBefore(a,r.firstChild):r.appendChild(a)),a}function l(e){return"000000"==(e=t.normaliseHex(e))?"#222":t.getLuminance(e)}function u(e,t){for(var i=0,n=e.length;i=0;o&&t(n);return o}.call(this)&&(this.options.enabled=!1),u(this.options.blacklistPage,location.pathname)&&(this.options.enabled=!1),u(this.options.whitelistPage,location.pathname)&&(this.options.enabled=!0);var o=this.options.window.replace("{{classes}}",function(){var i=this.options,n="top"==i.position||"bottom"==i.position?"banner":"floating";t.isMobile()&&(n="floating");var o=["cc-"+n,"cc-type-"+i.type,"cc-theme-"+i.theme];i.static&&o.push("cc-static");o.push.apply(o,a.call(this));(function(i){var n=t.hash(JSON.stringify(i)),o="cc-color-override-"+n,s=t.isPlainObject(i);this.customStyleSelector=s?o:null,s&&function(i,n,o){if(e.customStyles[i])return void++e.customStyles[i].references;var s={},r=n.popup,a=n.button,c=n.highlight;r&&(r.text=r.text?r.text:t.getContrast(r.background),r.link=r.link?r.link:r.text,s[o+".cc-window"]=["color: "+r.text,"background-color: "+r.background],s[o+".cc-revoke"]=["color: "+r.text,"background-color: "+r.background],s[o+" .cc-link,"+o+" .cc-link:active,"+o+" .cc-link:visited"]=["color: "+r.link],a&&(a.text=a.text?a.text:t.getContrast(a.background),a.border=a.border?a.border:"transparent",s[o+" .cc-btn"]=["color: "+a.text,"border-color: "+a.border,"background-color: "+a.background],a.padding&&s[o+" .cc-btn"].push("padding: "+a.padding),"transparent"!=a.background&&(s[o+" .cc-btn:hover, "+o+" .cc-btn:focus"]=["background-color: "+(a.hover||l(a.background))]),c?(c.text=c.text?c.text:t.getContrast(c.background),c.border=c.border?c.border:"transparent",s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+c.text,"border-color: "+c.border,"background-color: "+c.background]):s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+r.text]));var u=document.createElement("style");document.head.appendChild(u),e.customStyles[i]={references:1,element:u.sheet};var h=-1;for(var p in s)s.hasOwnProperty(p)&&u.sheet.insertRule(p+"{"+s[p].join(";")+"}",++h)}(n,i,"."+o);return s}).call(this,this.options.palette);this.customStyleSelector&&o.push(this.customStyleSelector);return o}.call(this).join(" ")).replace("{{children}}",function(){var e={},i=this.options;i.showLink||(i.elements.link="",i.elements.messagelink=i.elements.message);Object.keys(i.elements).forEach(function(n){e[n]=t.interpolateString(i.elements[n],function(e){var t=i.content[e];return e&&"string"==typeof t&&t.length?t:""})});var n=i.compliance[i.type];n||(n=i.compliance.info);e.compliance=t.interpolateString(n,function(t){return e[t]});var o=i.layouts[i.layout];o||(o=i.layouts.basic);return t.interpolateString(o,function(t){return e[t]})}.call(this)),s=this.options.overrideHTML;if("string"==typeof s&&s.length&&(o=s),this.options.static){var r=c.call(this,'
'+o+"
");r.style.display="",this.element=r.firstChild,this.element.style.display="none",t.addClass(this.element,"cc-invisible")}else this.element=c.call(this,o);(function(){var i=this.setStatus.bind(this),n=this.close.bind(this),o=this.options.dismissOnTimeout;"number"==typeof o&&o>=0&&(this.dismissTimeout=window.setTimeout(function(){i(e.status.dismiss),n(!0)},Math.floor(o)));var s=this.options.dismissOnScroll;if("number"==typeof s&&s>=0){var r=function(t){window.pageYOffset>Math.floor(s)&&(i(e.status.dismiss),n(!0),window.removeEventListener("scroll",r),this.onWindowScroll=null)};this.options.enabled&&(this.onWindowScroll=r,window.addEventListener("scroll",r))}var a=this.options.dismissOnWindowClick,c=this.options.ignoreClicksFrom;if(a){var l=function(o){for(var s=!1,r=o.path.length,a=c.length,u=0;uo&&(i=!0),i?t.hasClass(n,"cc-active")||t.addClass(n,"cc-active"):t.hasClass(n,"cc-active")&&t.removeClass(n,"cc-active")},200);this.onMouseMove=o,window.addEventListener("mousemove",o)}}}.call(this),this.options.autoOpen&&this.autoOpen()},o.prototype.destroy=function(){this.onButtonClick&&this.element&&(this.element.removeEventListener("click",this.onButtonClick),this.onButtonClick=null),this.dismissTimeout&&(clearTimeout(this.dismissTimeout),this.dismissTimeout=null),this.onWindowScroll&&(window.removeEventListener("scroll",this.onWindowScroll),this.onWindowScroll=null),this.onWindowClick&&(window.removeEventListener("click",this.onWindowClick),this.onWindowClick=null),this.onMouseMove&&(window.removeEventListener("mousemove",this.onMouseMove),this.onMouseMove=null),this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=null,this.revokeBtn&&this.revokeBtn.parentNode&&this.revokeBtn.parentNode.removeChild(this.revokeBtn),this.revokeBtn=null,function(i){if(t.isPlainObject(i)){var n=t.hash(JSON.stringify(i)),o=e.customStyles[n];if(o&&!--o.references){var s=o.element.ownerNode;s&&s.parentNode&&s.parentNode.removeChild(s),e.customStyles[n]=null}}}(this.options.palette),this.options=null},o.prototype.open=function(t){if(this.element)return this.isOpen()||(e.hasTransition?this.fadeIn():this.element.style.display="",this.options.revokable&&this.toggleRevokeButton(),this.options.onPopupOpen.call(this)),this},o.prototype.close=function(t){if(this.element)return this.isOpen()&&(e.hasTransition?this.fadeOut():this.element.style.display="none",t&&this.options.revokable&&this.toggleRevokeButton(!0),this.options.onPopupClose.call(this)),this},o.prototype.fadeIn=function(){var i=this.element;if(e.hasTransition&&i&&(this.afterTransition&&r.call(this,i),t.hasClass(i,"cc-invisible"))){if(i.style.display="",this.options.static){var n=this.element.clientHeight;this.element.parentNode.style.maxHeight=n+"px"}this.openingTimeout=setTimeout(s.bind(this,i),20)}},o.prototype.fadeOut=function(){var i=this.element;e.hasTransition&&i&&(this.openingTimeout&&(clearTimeout(this.openingTimeout),s.bind(this,i)),t.hasClass(i,"cc-invisible")||(this.options.static&&(this.element.parentNode.style.maxHeight=""),this.afterTransition=r.bind(this,i),i.addEventListener(e.transitionEnd,this.afterTransition),t.addClass(i,"cc-invisible")))},o.prototype.isOpen=function(){return this.element&&""==this.element.style.display&&(!e.hasTransition||!t.hasClass(this.element,"cc-invisible"))},o.prototype.toggleRevokeButton=function(e){this.revokeBtn&&(this.revokeBtn.style.display=e?"":"none")},o.prototype.revokeChoice=function(e){this.options.enabled=!0,this.clearStatus(),this.options.onRevokeChoice.call(this),e||this.autoOpen()},o.prototype.hasAnswered=function(t){return Object.keys(e.status).indexOf(this.getStatus())>=0},o.prototype.hasConsented=function(t){var i=this.getStatus();return i==e.status.allow||i==e.status.dismiss},o.prototype.autoOpen=function(e){!this.hasAnswered()&&this.options.enabled?this.open():this.hasAnswered()&&this.options.revokable&&this.toggleRevokeButton(!0)},o.prototype.setStatus=function(i){var n=this.options.cookie,o=t.getCookie(n.name),s=Object.keys(e.status).indexOf(o)>=0;Object.keys(e.status).indexOf(i)>=0?(t.setCookie(n.name,i,n.expiryDays,n.domain,n.path,n.secure),this.options.onStatusChange.call(this,i,s)):this.clearStatus()},o.prototype.getStatus=function(){return t.getCookie(this.options.cookie.name)},o.prototype.clearStatus=function(){var e=this.options.cookie;t.setCookie(e.name,"",-1,e.domain,e.path)},o}(),e.Location=function(){var e={timeout:5e3,services:["ipinfo"],serviceDefinitions:{ipinfo:function(){return{url:"//ipinfo.io",headers:["Accept: application/json"],callback:function(e,t){try{var i=JSON.parse(t);return i.error?s(i):{code:i.country}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},ipinfodb:function(e){return{url:"//api.ipinfodb.com/v3/ip-country/?key={api_key}&format=json&callback={callback}",isScript:!0,callback:function(e,t){try{var i=JSON.parse(t);return"ERROR"==i.statusCode?s({error:i.statusMessage}):{code:i.countryCode}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},maxmind:function(){return{url:"//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js",isScript:!0,callback:function(e){window.geoip2?geoip2.country(function(t){try{e({code:t.country.iso_code})}catch(t){e(s(t))}},function(t){e(s(t))}):e(new Error("Unexpected response format. The downloaded script should have exported `geoip2` to the global scope"))}}}}};function i(i){t.deepExtend(this.options={},e),t.isPlainObject(i)&&t.deepExtend(this.options,i),this.currentServiceIndex=-1}function n(e,t,i){var n,o=document.createElement("script");o.type="text/"+(e.type||"javascript"),o.src=e.src||e,o.async=!1,o.onreadystatechange=o.onload=function(){var e=o.readyState;clearTimeout(n),t.done||e&&!/loaded|complete/.test(e)||(t.done=!0,t(),o.onreadystatechange=o.onload=null)},document.body.appendChild(o),n=setTimeout(function(){t.done=!0,t(),o.onreadystatechange=o.onload=null},i)}function o(e,t,i,n,o){var s=new(window.XMLHttpRequest||window.ActiveXObject)("MSXML2.XMLHTTP.3.0");if(s.open(n?"POST":"GET",e,1),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),Array.isArray(o))for(var r=0,a=o.length;r3&&t(s)}),s.send(n)}function s(e){return new Error("Error ["+(e.code||"UNKNOWN")+"]: "+e.error)}return i.prototype.getNextService=function(){var e;do{e=this.getServiceByIdx(++this.currentServiceIndex)}while(this.currentServiceIndex=0,revokable:t.revokable.indexOf(e)>=0,explicitAction:t.explicitAction.indexOf(e)>=0}},i.prototype.applyLaw=function(e,t){var i=this.get(t);return i.hasLaw||(e.enabled=!1,"function"==typeof e.onNoCookieLaw&&e.onNoCookieLaw(t,i)),this.options.regionalLaw&&(i.revokable&&(e.revokable=!0),i.explicitAction&&(e.dismissOnScroll=!1,e.dismissOnTimeout=!1)),e},i}(),e.initialise=function(i,n,o){var s=new e.Law(i.law);n||(n=function(){}),o||(o=function(){});var r=Object.keys(e.status),a=t.getCookie("cookieconsent_status");r.indexOf(a)>=0?n(new e.Popup(i)):e.getCountryCode(i,function(t){delete i.law,delete i.location,t.code&&(i=s.applyLaw(i,t.code)),n(new e.Popup(i))},function(t){delete i.law,delete i.location,o(t,new e.Popup(i))})},e.getCountryCode=function(t,i,n){t.law&&t.law.countryCode?i({code:t.law.countryCode}):t.location?new e.Location(t.location).locate(function(e){i(e||{})},n):i({})},e.utils=t,e.hasInitialised=!0,window.cookieconsent=e}}(window.cookieconsent||{}); \ No newline at end of file diff --git a/templates/SwiftBlueBeitDina/core.js b/templates/SwiftBlueBeitDina/core.js new file mode 100644 index 0000000..59d77e1 --- /dev/null +++ b/templates/SwiftBlueBeitDina/core.js @@ -0,0 +1,1819 @@ +/* global bbfontstyle */ + +var phpbb = {}; +phpbb.alertTime = 100; + +(function($) { // Avoid conflicts with other libraries + +'use strict'; + +// define a couple constants for keydown functions. +var keymap = { + TAB: 9, + ENTER: 13, + ESC: 27, + ARROW_UP: 38, + ARROW_DOWN: 40 +}; + +var $dark = $('#darkenwrapper'); +var $loadingIndicator; +var phpbbAlertTimer = null; + +phpbb.isTouch = (window && typeof window.ontouchstart !== 'undefined'); + +// Add ajax pre-filter to prevent cross-domain script execution +$.ajaxPrefilter(function(s) { + if (s.crossDomain) { + s.contents.script = false; + } +}); + +/** + * Display a loading screen + * + * @returns {object} Returns loadingIndicator. + */ +phpbb.loadingIndicator = function() { + if (!$loadingIndicator) { + $loadingIndicator = $('#loading_indicator'); + } + + if (!$loadingIndicator.is(':visible')) { + $loadingIndicator.fadeIn(phpbb.alertTime); + // Wait 60 seconds and display an error if nothing has been returned by then. + phpbb.clearLoadingTimeout(); + phpbbAlertTimer = setTimeout(function() { + phpbb.showTimeoutMessage(); + }, 60000); + } + + return $loadingIndicator; +}; + +/** + * Show timeout message + */ +phpbb.showTimeoutMessage = function () { + var $alert = $('#phpbb_alert'); + + if ($loadingIndicator.is(':visible')) { + phpbb.alert($alert.attr('data-l-err'), $alert.attr('data-l-timeout-processing-req')); + } +}; + +/** + * Clear loading alert timeout +*/ +phpbb.clearLoadingTimeout = function() { + if (phpbbAlertTimer !== null) { + clearTimeout(phpbbAlertTimer); + phpbbAlertTimer = null; + } +}; + + +/** +* Close popup alert after a specified delay +* +* @param {int} delay Delay in ms until darkenwrapper's click event is triggered +*/ +phpbb.closeDarkenWrapper = function(delay) { + phpbbAlertTimer = setTimeout(function() { + $('#darkenwrapper').trigger('click'); + }, delay); +}; + +/** + * Display a simple alert similar to JSs native alert(). + * + * You can only call one alert or confirm box at any one time. + * + * @param {string} title Title of the message, eg "Information" (HTML). + * @param {string} msg Message to display (HTML). + * + * @returns {object} Returns the div created. + */ +phpbb.alert = function(title, msg) { + var $alert = $('#phpbb_alert'); + $alert.find('.alert_title').html(title); + $alert.find('.alert_text').html(msg); + + $(document).on('keydown.phpbb.alert', function(e) { + if (e.keyCode === keymap.ENTER || e.keyCode === keymap.ESC) { + phpbb.alert.close($alert, true); + e.preventDefault(); + e.stopPropagation(); + } + }); + phpbb.alert.open($alert); + + return $alert; +}; + +/** +* Handler for opening an alert box. +* +* @param {jQuery} $alert jQuery object. +*/ +phpbb.alert.open = function($alert) { + if (!$dark.is(':visible')) { + $dark.fadeIn(phpbb.alertTime); + } + + if ($loadingIndicator && $loadingIndicator.is(':visible')) { + $loadingIndicator.fadeOut(phpbb.alertTime, function() { + $dark.append($alert); + $alert.fadeIn(phpbb.alertTime); + }); + } else if ($dark.is(':visible')) { + $dark.append($alert); + $alert.fadeIn(phpbb.alertTime); + } else { + $dark.append($alert); + $alert.show(); + $dark.fadeIn(phpbb.alertTime); + } + + $alert.on('click', function(e) { + e.stopPropagation(); + }); + + $dark.one('click', function(e) { + phpbb.alert.close($alert, true); + e.preventDefault(); + e.stopPropagation(); + }); + + $alert.find('.alert_close').one('click', function(e) { + phpbb.alert.close($alert, true); + e.preventDefault(); + }); +}; + +/** +* Handler for closing an alert box. +* +* @param {jQuery} $alert jQuery object. +* @param {bool} fadedark Whether to remove dark background. +*/ +phpbb.alert.close = function($alert, fadedark) { + var $fade = (fadedark) ? $dark : $alert; + + $fade.fadeOut(phpbb.alertTime, function() { + $alert.hide(); + }); + + $alert.find('.alert_close').off('click'); + $(document).off('keydown.phpbb.alert'); +}; + +/** + * Display a simple yes / no box to the user. + * + * You can only call one alert or confirm box at any one time. + * + * @param {string} msg Message to display (HTML). + * @param {function} callback Callback. Bool param, whether the user pressed + * yes or no (or whatever their language is). + * @param {bool} fadedark Remove the dark background when done? Defaults + * to yes. + * + * @returns {object} Returns the div created. + */ +phpbb.confirm = function(msg, callback, fadedark) { + var $confirmDiv = $('#phpbb_confirm'); + $confirmDiv.find('.alert_text').html(msg); + fadedark = typeof fadedark !== 'undefined' ? fadedark : true; + + $(document).on('keydown.phpbb.alert', function(e) { + if (e.keyCode === keymap.ENTER || e.keyCode === keymap.ESC) { + var name = (e.keyCode === keymap.ENTER) ? 'confirm' : 'cancel'; + + $('input[name="' + name + '"]').trigger('click'); + e.preventDefault(); + e.stopPropagation(); + } + }); + + $confirmDiv.find('input[type="button"]').one('click.phpbb.confirmbox', function(e) { + var confirmed = this.name === 'confirm'; + + callback(confirmed); + $confirmDiv.find('input[type="button"]').off('click.phpbb.confirmbox'); + phpbb.alert.close($confirmDiv, fadedark || !confirmed); + + e.preventDefault(); + e.stopPropagation(); + }); + + phpbb.alert.open($confirmDiv); + + return $confirmDiv; +}; + +/** + * Turn a querystring into an array. + * + * @argument {string} string The querystring to parse. + * @returns {object} The object created. + */ +phpbb.parseQuerystring = function(string) { + var params = {}, i, split; + + string = string.split('&'); + for (i = 0; i < string.length; i++) { + split = string[i].split('='); + params[split[0]] = decodeURIComponent(split[1]); + } + return params; +}; + + +/** + * Makes a link use AJAX instead of loading an entire page. + * + * This function will work for links (both standard links and links which + * invoke confirm_box) and forms. It will be called automatically for links + * and forms with the data-ajax attribute set, and will call the necessary + * callback. + * + * For more info, view the following page on the phpBB wiki: + * http://wiki.phpbb.com/JavaScript_Function.phpbb.ajaxify + * + * @param {object} options Options. + */ +phpbb.ajaxify = function(options) { + var $elements = $(options.selector), + refresh = options.refresh, + callback = options.callback, + overlay = (typeof options.overlay !== 'undefined') ? options.overlay : true, + isForm = $elements.is('form'), + isText = $elements.is('input[type="text"], textarea'), + eventName; + + if (isForm) { + eventName = 'submit'; + } else if (isText) { + eventName = 'keyup'; + } else { + eventName = 'click'; + } + + $elements.on(eventName, function(event) { + var action, method, data, submit, that = this, $this = $(this); + + if ($this.find('input[type="submit"][data-clicked]').attr('data-ajax') === 'false') { + return; + } + + /** + * Handler for AJAX errors + */ + function errorHandler(jqXHR, textStatus, errorThrown) { + if (typeof console !== 'undefined' && console.log) { + console.log('AJAX error. status: ' + textStatus + ', message: ' + errorThrown); + } + phpbb.clearLoadingTimeout(); + var responseText, errorText = false; + try { + responseText = JSON.parse(jqXHR.responseText); + responseText = responseText.message; + } catch (e) {} + if (typeof responseText === 'string' && responseText.length > 0) { + errorText = responseText; + } else if (typeof errorThrown === 'string' && errorThrown.length > 0) { + errorText = errorThrown; + } else { + errorText = $dark.attr('data-ajax-error-text-' + textStatus); + if (typeof errorText !== 'string' || !errorText.length) { + errorText = $dark.attr('data-ajax-error-text'); + } + } + phpbb.alert($dark.attr('data-ajax-error-title'), errorText); + } + + /** + * This is a private function used to handle the callbacks, refreshes + * and alert. It calls the callback, refreshes the page if necessary, and + * displays an alert to the user and removes it after an amount of time. + * + * It cannot be called from outside this function, and is purely here to + * avoid repetition of code. + * + * @param {object} res The object sent back by the server. + */ + function returnHandler(res) { + var alert; + + phpbb.clearLoadingTimeout(); + + // Is a confirmation required? + if (typeof res.S_CONFIRM_ACTION === 'undefined') { + // If a confirmation is not required, display an alert and call the + // callbacks. + if (typeof res.MESSAGE_TITLE !== 'undefined') { + alert = phpbb.alert(res.MESSAGE_TITLE, res.MESSAGE_TEXT); + } else { + $dark.fadeOut(phpbb.alertTime); + + if ($loadingIndicator) { + $loadingIndicator.fadeOut(phpbb.alertTime); + } + } + + if (typeof phpbb.ajaxCallbacks[callback] === 'function') { + phpbb.ajaxCallbacks[callback].call(that, res); + } + + // If the server says to refresh the page, check whether the page should + // be refreshed and refresh page after specified time if required. + if (res.REFRESH_DATA) { + if (typeof refresh === 'function') { + refresh = refresh(res.REFRESH_DATA.url); + } else if (typeof refresh !== 'boolean') { + refresh = false; + } + + phpbbAlertTimer = setTimeout(function() { + if (refresh) { + window.location = res.REFRESH_DATA.url; + } + + // Hide the alert even if we refresh the page, in case the user + // presses the back button. + $dark.fadeOut(phpbb.alertTime, function() { + if (typeof alert !== 'undefined') { + alert.hide(); + } + }); + }, res.REFRESH_DATA.time * 1000); // Server specifies time in seconds + } + } else { + // If confirmation is required, display a dialog to the user. + phpbb.confirm(res.MESSAGE_BODY, function(del) { + if (!del) { + return; + } + + phpbb.loadingIndicator(); + data = $('
' + res.S_HIDDEN_FIELDS + '
').serialize(); + $.ajax({ + url: res.S_CONFIRM_ACTION, + type: 'POST', + data: data + '&confirm=' + res.YES_VALUE + '&' + $('form', '#phpbb_confirm').serialize(), + success: returnHandler, + error: errorHandler + }); + }, false); + } + } + + // If the element is a form, POST must be used and some extra data must + // be taken from the form. + var runFilter = (typeof options.filter === 'function'); + data = {}; + + if (isForm) { + action = $this.attr('action').replace('&', '&'); + data = $this.serializeArray(); + method = $this.attr('method') || 'GET'; + + if ($this.find('input[type="submit"][data-clicked]')) { + submit = $this.find('input[type="submit"][data-clicked]'); + data.push({ + name: submit.attr('name'), + value: submit.val() + }); + } + } else if (isText) { + var name = $this.attr('data-name') || this.name; + action = $this.attr('data-url').replace('&', '&'); + data[name] = this.value; + method = 'POST'; + } else { + action = this.href; + data = null; + method = 'GET'; + } + + var sendRequest = function() { + var dataOverlay = $this.attr('data-overlay'); + if (overlay && (typeof dataOverlay === 'undefined' || dataOverlay === 'true')) { + phpbb.loadingIndicator(); + } + + var request = $.ajax({ + url: action, + type: method, + data: data, + success: returnHandler, + error: errorHandler, + cache: false + }); + + request.always(function() { + if ($loadingIndicator && $loadingIndicator.is(':visible')) { + $loadingIndicator.fadeOut(phpbb.alertTime); + } + }); + }; + + // If filter function returns false, cancel the AJAX functionality, + // and return true (meaning that the HTTP request will be sent normally). + if (runFilter && !options.filter.call(this, data, event, sendRequest)) { + return; + } + + sendRequest(); + event.preventDefault(); + }); + + if (isForm) { + $elements.find('input:submit').click(function () { + var $this = $(this); + + // Remove data-clicked attribute from any submit button of form + $this.parents('form:first').find('input:submit[data-clicked]').removeAttr('data-clicked'); + + $this.attr('data-clicked', 'true'); + }); + } + + return this; +}; + +phpbb.search = { + cache: { + data: [] + }, + tpl: [], + container: [] +}; + +/** + * Get cached search data. + * + * @param {string} id Search ID. + * @returns {bool|object} Cached data object. Returns false if no data exists. + */ +phpbb.search.cache.get = function(id) { + if (this.data[id]) { + return this.data[id]; + } + return false; +}; + +/** + * Set search cache data value. + * + * @param {string} id Search ID. + * @param {string} key Data key. + * @param {string} value Data value. + */ +phpbb.search.cache.set = function(id, key, value) { + if (!this.data[id]) { + this.data[id] = { results: [] }; + } + this.data[id][key] = value; +}; + +/** + * Cache search result. + * + * @param {string} id Search ID. + * @param {string} keyword Keyword. + * @param {Array} results Search results. + */ +phpbb.search.cache.setResults = function(id, keyword, results) { + this.data[id].results[keyword] = results; +}; + +/** + * Trim spaces from keyword and lower its case. + * + * @param {string} keyword Search keyword to clean. + * @returns {string} Cleaned string. + */ +phpbb.search.cleanKeyword = function(keyword) { + return $.trim(keyword).toLowerCase(); +}; + +/** + * Get clean version of search keyword. If textarea supports several keywords + * (one per line), it fetches the current keyword based on the caret position. + * + * @param {jQuery} $input Search input|textarea. + * @param {string} keyword Input|textarea value. + * @param {bool} multiline Whether textarea supports multiple search keywords. + * + * @returns string Clean string. + */ +phpbb.search.getKeyword = function($input, keyword, multiline) { + if (multiline) { + var line = phpbb.search.getKeywordLine($input); + keyword = keyword.split('\n').splice(line, 1); + } + return phpbb.search.cleanKeyword(keyword); +}; + +/** + * Get the textarea line number on which the keyword resides - for textareas + * that support multiple keywords (one per line). + * + * @param {jQuery} $textarea Search textarea. + * @returns {int} The line number. + */ +phpbb.search.getKeywordLine = function ($textarea) { + var selectionStart = $textarea.get(0).selectionStart; + return $textarea.val().substr(0, selectionStart).split('\n').length - 1; +}; + +/** + * Set the value on the input|textarea. If textarea supports multiple + * keywords, only the active keyword is replaced. + * + * @param {jQuery} $input Search input|textarea. + * @param {string} value Value to set. + * @param {bool} multiline Whether textarea supports multiple search keywords. + */ +phpbb.search.setValue = function($input, value, multiline) { + if (multiline) { + var line = phpbb.search.getKeywordLine($input), + lines = $input.val().split('\n'); + lines[line] = value; + value = lines.join('\n'); + } + $input.val(value); +}; + +/** + * Sets the onclick event to set the value on the input|textarea to the + * selected search result. + * + * @param {jQuery} $input Search input|textarea. + * @param {object} value Result object. + * @param {jQuery} $row Result element. + * @param {jQuery} $container jQuery object for the search container. + */ +phpbb.search.setValueOnClick = function($input, value, $row, $container) { + $row.click(function() { + phpbb.search.setValue($input, value.result, $input.attr('data-multiline')); + phpbb.search.closeResults($input, $container); + }); +}; + +/** + * Runs before the AJAX search request is sent and determines whether + * there is a need to contact the server. If there are cached results + * already, those are displayed instead. Executes the AJAX request function + * itself due to the need to use a timeout to limit the number of requests. + * + * @param {Array} data Data to be sent to the server. + * @param {object} event Onkeyup event object. + * @param {function} sendRequest Function to execute AJAX request. + * + * @returns {boolean} Returns false. + */ +phpbb.search.filter = function(data, event, sendRequest) { + var $this = $(this), + dataName = ($this.attr('data-name') !== undefined) ? $this.attr('data-name') : $this.attr('name'), + minLength = parseInt($this.attr('data-min-length'), 10), + searchID = $this.attr('data-results'), + keyword = phpbb.search.getKeyword($this, data[dataName], $this.attr('data-multiline')), + cache = phpbb.search.cache.get(searchID), + key = event.keyCode || event.which, + proceed = true; + data[dataName] = keyword; + + // No need to search if enter was pressed + // for selecting a value from the results. + if (key === keymap.ENTER) { + return false; + } + + if (cache.timeout) { + clearTimeout(cache.timeout); + } + + var timeout = setTimeout(function() { + // Check min length and existence of cache. + if (minLength > keyword.length) { + proceed = false; + } else if (cache.lastSearch) { + // Has the keyword actually changed? + if (cache.lastSearch === keyword) { + proceed = false; + } else { + // Do we already have results for this? + if (cache.results[keyword]) { + var response = { + keyword: keyword, + results: cache.results[keyword] + }; + phpbb.search.handleResponse(response, $this, true); + proceed = false; + } + + // If the previous search didn't yield results and the string only had characters added to it, + // then we won't bother sending a request. + if (keyword.indexOf(cache.lastSearch) === 0 && cache.results[cache.lastSearch].length === 0) { + phpbb.search.cache.set(searchID, 'lastSearch', keyword); + phpbb.search.cache.setResults(searchID, keyword, []); + proceed = false; + } + } + } + + if (proceed) { + sendRequest.call(this); + } + }, 350); + phpbb.search.cache.set(searchID, 'timeout', timeout); + + return false; +}; + +/** + * Handle search result response. + * + * @param {object} res Data received from server. + * @param {jQuery} $input Search input|textarea. + * @param {bool} fromCache Whether the results are from the cache. + * @param {function} callback Optional callback to run when assigning each search result. + */ +phpbb.search.handleResponse = function(res, $input, fromCache, callback) { + if (typeof res !== 'object') { + return; + } + + var searchID = $input.attr('data-results'), + $container = $(searchID); + + if (this.cache.get(searchID).callback) { + callback = this.cache.get(searchID).callback; + } else if (typeof callback === 'function') { + this.cache.set(searchID, 'callback', callback); + } + + if (!fromCache) { + this.cache.setResults(searchID, res.keyword, res.results); + } + + this.cache.set(searchID, 'lastSearch', res.keyword); + this.showResults(res.results, $input, $container, callback); +}; + +/** + * Show search results. + * + * @param {Array} results Search results. + * @param {jQuery} $input Search input|textarea. + * @param {jQuery} $container Search results container element. + * @param {function} callback Optional callback to run when assigning each search result. + */ +phpbb.search.showResults = function(results, $input, $container, callback) { + var $resultContainer = $('.search-results', $container); + this.clearResults($resultContainer); + + if (!results.length) { + $container.hide(); + return; + } + + var searchID = $container.attr('id'), + tpl, + row; + + if (!this.tpl[searchID]) { + tpl = $('.search-result-tpl', $container); + this.tpl[searchID] = tpl.clone().removeClass('search-result-tpl'); + tpl.remove(); + } + tpl = this.tpl[searchID]; + + $.each(results, function(i, item) { + row = tpl.clone(); + row.find('.search-result').html(item.display); + + if (typeof callback === 'function') { + callback.call(this, $input, item, row, $container); + } + row.appendTo($resultContainer).show(); + }); + $container.show(); + + phpbb.search.navigateResults($input, $container, $resultContainer); +}; + +/** + * Clear search results. + * + * @param {jQuery} $container Search results container. + */ +phpbb.search.clearResults = function($container) { + $container.children(':not(.search-result-tpl)').remove(); +}; + +/** + * Close search results. + * + * @param {jQuery} $input Search input|textarea. + * @param {jQuery} $container Search results container. + */ +phpbb.search.closeResults = function($input, $container) { + $input.off('.phpbb.search'); + $container.hide(); +}; + +/** + * Navigate search results. + * + * @param {jQuery} $input Search input|textarea. + * @param {jQuery} $container Search results container. + * @param {jQuery} $resultContainer Search results list container. + */ +phpbb.search.navigateResults = function($input, $container, $resultContainer) { + // Add a namespace to the event (.phpbb.search), + // so it can be unbound specifically later on. + // Rebind it, to ensure the event is 'dynamic'. + $input.off('.phpbb.search'); + $input.on('keydown.phpbb.search', function(event) { + var key = event.keyCode || event.which, + $active = $resultContainer.children('.active'); + + switch (key) { + // Close the results + case keymap.ESC: + phpbb.search.closeResults($input, $container); + break; + + // Set the value for the selected result + case keymap.ENTER: + if ($active.length) { + var value = $active.find('.search-result > span').text(); + + phpbb.search.setValue($input, value, $input.attr('data-multiline')); + } + + phpbb.search.closeResults($input, $container); + + // Do not submit the form + event.preventDefault(); + break; + + // Navigate the results + case keymap.ARROW_DOWN: + case keymap.ARROW_UP: + var up = key === keymap.ARROW_UP, + $children = $resultContainer.children(); + + if (!$active.length) { + if (up) { + $children.last().addClass('active'); + } else { + $children.first().addClass('active'); + } + } else if ($children.length > 1) { + if (up) { + if ($active.is(':first-child')) { + $children.last().addClass('active'); + } else { + $active.prev().addClass('active'); + } + } else { + if ($active.is(':last-child')) { + $children.first().addClass('active'); + } else { + $active.next().addClass('active'); + } + } + + $active.removeClass('active'); + } + + // Do not change cursor position in the input element + event.preventDefault(); + break; + } + }); +}; + +$('#phpbb').click(function() { + var $this = $(this); + + if (!$this.is('.live-search') && !$this.parents().is('.live-search')) { + phpbb.search.closeResults($('input, textarea'), $('.live-search')); + } +}); + +phpbb.history = {}; + +/** +* Check whether a method in the native history object is supported. +* +* @param {string} fn Method name. +* @returns {bool} Returns true if the method is supported. +*/ +phpbb.history.isSupported = function(fn) { + return !(typeof history === 'undefined' || typeof history[fn] === 'undefined'); +}; + +/** +* Wrapper for the pushState and replaceState methods of the +* native history object. +* +* @param {string} mode Mode. Either push or replace. +* @param {string} url New URL. +* @param {string} [title] Optional page title. +* @param {object} [obj] Optional state object. +*/ +phpbb.history.alterUrl = function(mode, url, title, obj) { + var fn = mode + 'State'; + + if (!url || !phpbb.history.isSupported(fn)) { + return; + } + if (!title) { + title = document.title; + } + if (!obj) { + obj = null; + } + + history[fn](obj, title, url); +}; + +/** +* Wrapper for the native history.replaceState method. +* +* @param {string} url New URL. +* @param {string} [title] Optional page title. +* @param {object} [obj] Optional state object. +*/ +phpbb.history.replaceUrl = function(url, title, obj) { + phpbb.history.alterUrl('replace', url, title, obj); +}; + +/** +* Wrapper for the native history.pushState method. +* +* @param {string} url New URL. +* @param {string} [title] Optional page title. +* @param {object} [obj] Optional state object. +*/ +phpbb.history.pushUrl = function(url, title, obj) { + phpbb.history.alterUrl('push', url, title, obj); +}; + +/** +* Hide the optgroups that are not the selected timezone +* +* @param {bool} keepSelection Shall we keep the value selected, or shall the +* user be forced to repick one. +*/ +phpbb.timezoneSwitchDate = function(keepSelection) { + var $timezoneCopy = $('#timezone_copy'); + var $timezone = $('#timezone'); + var $tzDate = $('#tz_date'); + var $tzSelectDateSuggest = $('#tz_select_date_suggest'); + + if ($timezoneCopy.length === 0) { + // We make a backup of the original dropdown, so we can remove optgroups + // instead of setting display to none, because IE and chrome will not + // hide options inside of optgroups and selects via css + $timezone.clone() + .attr('id', 'timezone_copy') + .css('display', 'none') + .attr('name', 'tz_copy') + .insertAfter('#timezone'); + } else { + // Copy the content of our backup, so we can remove all unneeded options + $timezone.html($timezoneCopy.html()); + } + + if ($tzDate.val() !== '') { + $timezone.children('optgroup').remove(':not([data-tz-value="' + $tzDate.val() + '"])'); + } + + if ($tzDate.val() === $tzSelectDateSuggest.attr('data-suggested-tz')) { + $tzSelectDateSuggest.css('display', 'none'); + } else { + $tzSelectDateSuggest.css('display', 'inline'); + } + + var $tzOptions = $timezone.children('optgroup[data-tz-value="' + $tzDate.val() + '"]').children('option'); + + if ($tzOptions.length === 1) { + // If there is only one timezone for the selected date, we just select that automatically. + $tzOptions.prop('selected', true); + keepSelection = true; + } + + if (typeof keepSelection !== 'undefined' && !keepSelection) { + var $timezoneOptions = $timezone.find('optgroup option'); + if ($timezoneOptions.filter(':selected').length <= 0) { + $timezoneOptions.filter(':first').prop('selected', true); + } + } +}; + +/** +* Display the date/time select +*/ +phpbb.timezoneEnableDateSelection = function() { + $('#tz_select_date').css('display', 'block'); +}; + +/** +* Preselect a date/time or suggest one, if it is not picked. +* +* @param {bool} forceSelector Shall we select the suggestion? +*/ +phpbb.timezonePreselectSelect = function(forceSelector) { + + // The offset returned here is in minutes and negated. + var offset = (new Date()).getTimezoneOffset(); + var sign = '-'; + + if (offset < 0) { + sign = '+'; + offset = -offset; + } + + var minutes = offset % 60; + var hours = (offset - minutes) / 60; + + if (hours < 10) { + hours = '0' + hours.toString(); + } else { + hours = hours.toString(); + } + + if (minutes < 10) { + minutes = '0' + minutes.toString(); + } else { + minutes = minutes.toString(); + } + + var prefix = 'UTC' + sign + hours + ':' + minutes; + var prefixLength = prefix.length; + var selectorOptions = $('option', '#tz_date'); + var i; + + var $tzSelectDateSuggest = $('#tz_select_date_suggest'); + + for (i = 0; i < selectorOptions.length; ++i) { + var option = selectorOptions[i]; + + if (option.value.substring(0, prefixLength) === prefix) { + if ($('#tz_date').val() !== option.value && !forceSelector) { + // We do not select the option for the user, but notify him, + // that we would suggest a different setting. + phpbb.timezoneSwitchDate(true); + $tzSelectDateSuggest.css('display', 'inline'); + } else { + option.selected = true; + phpbb.timezoneSwitchDate(!forceSelector); + $tzSelectDateSuggest.css('display', 'none'); + } + + var suggestion = $tzSelectDateSuggest.attr('data-l-suggestion'); + + $tzSelectDateSuggest.attr('title', suggestion.replace('%s', option.innerHTML)); + $tzSelectDateSuggest.attr('value', suggestion.replace('%s', option.innerHTML.substring(0, 9))); + $tzSelectDateSuggest.attr('data-suggested-tz', option.innerHTML); + + // Found the suggestion, there cannot be more, so return from here. + return; + } + } +}; + +phpbb.ajaxCallbacks = {}; + +/** + * Adds an AJAX callback to be used by phpbb.ajaxify. + * + * See the phpbb.ajaxify comments for information on stuff like parameters. + * + * @param {string} id The name of the callback. + * @param {function} callback The callback to be called. + */ +phpbb.addAjaxCallback = function(id, callback) { + if (typeof callback === 'function') { + phpbb.ajaxCallbacks[id] = callback; + } + return this; +}; + +/** + * This callback handles live member searches. + */ +phpbb.addAjaxCallback('member_search', function(res) { + phpbb.search.handleResponse(res, $(this), false, phpbb.getFunctionByName('phpbb.search.setValueOnClick')); +}); + +/** + * This callback alternates text - it replaces the current text with the text in + * the alt-text data attribute, and replaces the text in the attribute with the + * current text so that the process can be repeated. + */ +phpbb.addAjaxCallback('alt_text', function() { + var $anchor, + updateAll = $(this).data('update-all'), + altText; + + if (updateAll !== undefined && updateAll.length) { + $anchor = $(updateAll); + } else { + $anchor = $(this); + } + + $anchor.each(function() { + var $this = $(this); + altText = $this.attr('data-alt-text'); + $this.attr('data-alt-text', $.trim($this.text())); + $this.attr('title', altText); + $this.children('span').text(altText); + }); +}); + +/** + * This callback is based on the alt_text callback. + * + * It replaces the current text with the text in the alt-text data attribute, + * and replaces the text in the attribute with the current text so that the + * process can be repeated. + * Additionally it replaces the class of the link's parent + * and changes the link itself. + */ +phpbb.addAjaxCallback('toggle_link', function() { + var $anchor, + updateAll = $(this).data('update-all') , + toggleText, + toggleUrl, + toggleClass; + + if (updateAll !== undefined && updateAll.length) { + $anchor = $(updateAll); + } else { + $anchor = $(this); + } + + $anchor.each(function() { + var $this = $(this); + + // Toggle link url + toggleUrl = $this.attr('data-toggle-url'); + $this.attr('data-toggle-url', $this.attr('href')); + $this.attr('href', toggleUrl); + + // Toggle class of link parent + toggleClass = $this.attr('data-toggle-class'); + $this.attr('data-toggle-class', $this.children().attr('class')); + $this.children('.icon').attr('class', toggleClass); + + // Toggle link text + toggleText = $this.attr('data-toggle-text'); + $this.attr('data-toggle-text', $this.children('span').text()); + $this.attr('title', $.trim(toggleText)); + $this.children('span').text(toggleText); + }); +}); + +/** +* Automatically resize textarea +* +* This function automatically resizes textarea elements when user +* types text. +* +* @param {jQuery} $items jQuery object(s) to resize +* @param {object} [options] Optional parameter that adjusts default +* configuration. See configuration variable +* +* Optional parameters: +* minWindowHeight {number} Minimum browser window height when textareas are resized. Default = 500 +* minHeight {number} Minimum height of textarea. Default = 200 +* maxHeight {number} Maximum height of textarea. Default = 500 +* heightDiff {number} Minimum difference between window and textarea height. Default = 200 +* resizeCallback {function} Function to call after resizing textarea +* resetCallback {function} Function to call when resize has been canceled + +* Callback function format: function(item) {} +* this points to DOM object +* item is a jQuery object, same as this +*/ +phpbb.resizeTextArea = function($items, options) { + // Configuration + var configuration = { + minWindowHeight: 500, + minHeight: 200, + maxHeight: 500, + heightDiff: 200, + resizeCallback: function() {}, + resetCallback: function() {} + }; + + if (phpbb.isTouch) { + return; + } + + if (arguments.length > 1) { + configuration = $.extend(configuration, options); + } + + function resetAutoResize(item) { + var $item = $(item); + if ($item.hasClass('auto-resized')) { + $(item) + .css({ height: '', resize: '' }) + .removeClass('auto-resized'); + configuration.resetCallback.call(item, $item); + } + } + + function autoResize(item) { + function setHeight(height) { + height += parseInt($item.css('height'), 10) - $item.innerHeight(); + $item + .css({ height: height + 'px', resize: 'none' }) + .addClass('auto-resized'); + configuration.resizeCallback.call(item, $item); + } + + var windowHeight = $(window).height(); + + if (windowHeight < configuration.minWindowHeight) { + resetAutoResize(item); + return; + } + + var maxHeight = Math.min( + Math.max(windowHeight - configuration.heightDiff, configuration.minHeight), + configuration.maxHeight + ), + $item = $(item), + height = parseInt($item.innerHeight(), 10), + scrollHeight = (item.scrollHeight) ? item.scrollHeight : 0; + + if (height < 0) { + return; + } + + if (height > maxHeight) { + setHeight(maxHeight); + } else if (scrollHeight > (height + 5)) { + setHeight(Math.min(maxHeight, scrollHeight)); + } + } + + $items.on('focus change keyup', function() { + $(this).each(function() { + autoResize(this); + }); + }).change(); + + $(window).resize(function() { + $items.each(function() { + if ($(this).hasClass('auto-resized')) { + autoResize(this); + } + }); + }); +}; + +/** +* Check if cursor in textarea is currently inside a bbcode tag +* +* @param {object} textarea Textarea DOM object +* @param {Array} startTags List of start tags to look for +* For example, Array('[code]', '[code=') +* @param {Array} endTags List of end tags to look for +* For example, Array('[/code]') +* +* @returns {boolean} True if cursor is in bbcode tag +*/ +phpbb.inBBCodeTag = function(textarea, startTags, endTags) { + var start = textarea.selectionStart, + lastEnd = -1, + lastStart = -1, + i, index, value; + + if (typeof start !== 'number') { + return false; + } + + value = textarea.value.toLowerCase(); + + for (i = 0; i < startTags.length; i++) { + var tagLength = startTags[i].length; + if (start >= tagLength) { + index = value.lastIndexOf(startTags[i], start - tagLength); + lastStart = Math.max(lastStart, index); + } + } + if (lastStart === -1) { + return false; + } + + if (start > 0) { + for (i = 0; i < endTags.length; i++) { + index = value.lastIndexOf(endTags[i], start - 1); + lastEnd = Math.max(lastEnd, index); + } + } + + return (lastEnd < lastStart); +}; + + +/** +* Adjust textarea to manage code bbcode +* +* This function allows to use tab characters when typing code +* and keeps indentation of previous line of code when adding new +* line while typing code. +* +* Editor's functionality is changed only when cursor is between +* [code] and [/code] bbcode tags. +* +* @param {object} textarea Textarea DOM object to apply editor to +*/ +phpbb.applyCodeEditor = function(textarea) { + // list of allowed start and end bbcode code tags, in lower case + var startTags = ['[code]', '[code='], + startTagsEnd = ']', + endTags = ['[/code]']; + + if (!textarea || typeof textarea.selectionStart !== 'number') { + return; + } + + if ($(textarea).data('code-editor') === true) { + return; + } + + function inTag() { + return phpbb.inBBCodeTag(textarea, startTags, endTags); + } + + /** + * Get line of text before cursor + * + * @param {boolean} stripCodeStart If true, only part of line + * after [code] tag will be returned. + * + * @returns {string} Line of text + */ + function getLastLine(stripCodeStart) { + var start = textarea.selectionStart, + value = textarea.value, + index = value.lastIndexOf('\n', start - 1); + + value = value.substring(index + 1, start); + + if (stripCodeStart) { + for (var i = 0; i < startTags.length; i++) { + index = value.lastIndexOf(startTags[i]); + if (index >= 0) { + var tagLength = startTags[i].length; + + value = value.substring(index + tagLength); + if (startTags[i].lastIndexOf(startTagsEnd) !== tagLength) { + index = value.indexOf(startTagsEnd); + + if (index >= 0) { + value = value.substr(index + 1); + } + } + } + } + } + + return value; + } + + /** + * Append text at cursor position + * + * @param {string} text Text to append + */ + function appendText(text) { + var start = textarea.selectionStart, + end = textarea.selectionEnd, + value = textarea.value; + + textarea.value = value.substr(0, start) + text + value.substr(end); + textarea.selectionStart = textarea.selectionEnd = start + text.length; + } + + $(textarea).data('code-editor', true).on('keydown', function(event) { + var key = event.keyCode || event.which; + + // intercept tabs + if (key === keymap.TAB && + !event.ctrlKey && + !event.shiftKey && + !event.altKey && + !event.metaKey) { + if (inTag()) { + appendText('\t'); + event.preventDefault(); + return; + } + } + + // intercept new line characters + if (key === keymap.ENTER) { + if (inTag()) { + var lastLine = getLastLine(true), + code = '' + /^\s*/g.exec(lastLine); + + if (code.length > 0) { + appendText('\n' + code); + event.preventDefault(); + } + } + } + }); +}; + +/** + * Show drag and drop animation when textarea is present + * + * This function will enable the drag and drop animation for a specified + * textarea. + * + * @param {HTMLElement} textarea Textarea DOM object to apply editor to + */ +phpbb.showDragNDrop = function(textarea) { + if (!textarea) { + return; + } + + $('body').on('dragenter dragover', function () { + $(textarea).addClass('drag-n-drop'); + }).on('dragleave dragout dragend drop', function() { + $(textarea).removeClass('drag-n-drop'); + }); + $(textarea).on('dragenter dragover', function () { + $(textarea).addClass('drag-n-drop-highlight'); + }).on('dragleave dragout dragend drop', function() { + $(textarea).removeClass('drag-n-drop-highlight'); + }); +}; + +/** +* List of classes that toggle dropdown menu, +* list of classes that contain visible dropdown menu +* +* Add your own classes to strings with comma (probably you +* will never need to do that) +*/ +phpbb.dropdownHandles = '.dropdown-container.dropdown-visible .dropdown-toggle'; +phpbb.dropdownVisibleContainers = '.dropdown-container.dropdown-visible'; + +/** +* Dropdown toggle event handler +* This handler is used by phpBB.registerDropdown() and other functions +*/ +phpbb.toggleDropdown = function() { + var $this = $(this), + options = $this.data('dropdown-options'), + parent = options.parent, + visible = parent.hasClass('dropdown-visible'), + direction; + + if (!visible) { + // Hide other dropdown menus + $(phpbb.dropdownHandles).each(phpbb.toggleDropdown); + + // Figure out direction of dropdown + direction = options.direction; + var verticalDirection = options.verticalDirection, + offset = $this.offset(); + + if (direction === 'auto') { + if (($(window).width() - $this.outerWidth(true)) / 2 > offset.left) { + direction = 'right'; + } else { + direction = 'left'; + } + } + parent.toggleClass(options.leftClass, direction === 'left') + .toggleClass(options.rightClass, direction === 'right'); + + if (verticalDirection === 'auto') { + var height = $(window).height(), + top = offset.top - $(window).scrollTop(); + + verticalDirection = (top < height * 0.7) ? 'down' : 'up'; + } + parent.toggleClass(options.upClass, verticalDirection === 'up') + .toggleClass(options.downClass, verticalDirection === 'down'); + } + + options.dropdown.toggle(); + parent.toggleClass(options.visibleClass, !visible) + .toggleClass('dropdown-visible', !visible); + + // Check dimensions when showing dropdown + // !visible because variable shows state of dropdown before it was toggled + if (!visible) { + var windowWidth = $(window).width(); + + options.dropdown.find('.dropdown-contents').each(function() { + var $this = $(this); + + $this.css({ + marginLeft: 0, + left: 0, + marginRight: 0, + maxWidth: (windowWidth - 4) + 'px' + }); + + var offset = $this.offset().left, + width = $this.outerWidth(true); + + if (offset < 2) { + $this.css('left', (2 - offset) + 'px'); + } else if ((offset + width + 2) > windowWidth) { + $this.css('margin-left', (windowWidth - offset - width - 2) + 'px'); + } + + // Check whether the vertical scrollbar is present. + $this.toggleClass('dropdown-nonscroll', this.scrollHeight === $this.innerHeight()); + + }); + var freeSpace = parent.offset().left - 4; + + if (direction === 'left') { + options.dropdown.css('margin-left', '-' + freeSpace + 'px'); + + // Try to position the notification dropdown correctly in RTL-responsive mode + if (options.dropdown.hasClass('dropdown-extended')) { + var contentWidth, + fullFreeSpace = freeSpace + parent.outerWidth(); + + options.dropdown.find('.dropdown-contents').each(function() { + contentWidth = parseInt($(this).outerWidth(), 10); + $(this).css({ marginLeft: 0, left: 0 }); + }); + + var maxOffset = Math.min(contentWidth, fullFreeSpace) + 'px'; + options.dropdown.css({ + width: maxOffset, + marginLeft: -maxOffset + }); + } + } else { + options.dropdown.css('margin-right', '-' + (windowWidth + freeSpace) + 'px'); + } + } + + // Prevent event propagation + if (arguments.length > 0) { + try { + var e = arguments[0]; + e.preventDefault(); + e.stopPropagation(); + } catch (error) { } + } + return false; +}; + +/** +* Toggle dropdown submenu +*/ +phpbb.toggleSubmenu = function(e) { + $(this).siblings('.dropdown-submenu').toggle(); + e.preventDefault(); +}; + +/** +* Register dropdown menu +* Shows/hides dropdown, decides which side to open to +* +* @param {jQuery} toggle Link that toggles dropdown. +* @param {jQuery} dropdown Dropdown menu. +* @param {Object} options List of options. Optional. +*/ +phpbb.registerDropdown = function(toggle, dropdown, options) { + var ops = { + parent: toggle.parent(), // Parent item to add classes to + direction: 'auto', // Direction of dropdown menu. Possible values: auto, left, right + verticalDirection: 'auto', // Vertical direction. Possible values: auto, up, down + visibleClass: 'visible', // Class to add to parent item when dropdown is visible + leftClass: 'dropdown-left', // Class to add to parent item when dropdown opens to left side + rightClass: 'dropdown-right', // Class to add to parent item when dropdown opens to right side + upClass: 'dropdown-up', // Class to add to parent item when dropdown opens above menu item + downClass: 'dropdown-down' // Class to add to parent item when dropdown opens below menu item + }; + if (options) { + ops = $.extend(ops, options); + } + ops.dropdown = dropdown; + + ops.parent.addClass('dropdown-container'); + toggle.addClass('dropdown-toggle'); + + toggle.data('dropdown-options', ops); + + toggle.click(phpbb.toggleDropdown); + $('.dropdown-toggle-submenu', ops.parent).click(phpbb.toggleSubmenu); +}; + +/** +* Get the HTML for a color palette table. +* +* @param {string} dir Palette direction - either v or h +* @param {int} width Palette cell width. +* @param {int} height Palette cell height. +*/ +phpbb.colorPalette = function(dir, width, height) { + var r, g, b, + numberList = new Array(6), + color = '', + html = ''; + + numberList[0] = '00'; + numberList[1] = '40'; + numberList[2] = '80'; + numberList[3] = 'BF'; + numberList[4] = 'FF'; + + var tableClass = (dir === 'h') ? 'horizontal-palette' : 'vertical-palette'; + html += ''; + + for (r = 0; r < 5; r++) { + if (dir === 'h') { + html += ''; + } + + for (g = 0; g < 5; g++) { + if (dir === 'v') { + html += ''; + } + + for (b = 0; b < 5; b++) { + color = '' + numberList[r] + numberList[g] + numberList[b]; + html += ''; + } + + if (dir === 'v') { + html += ''; + } + } + + if (dir === 'h') { + html += ''; + } + } + html += '
'; + html += '
'; + return html; +}; + +/** +* Register a color palette. +* +* @param {jQuery} el jQuery object for the palette container. +*/ +phpbb.registerPalette = function(el) { + var orientation = el.attr('data-color-palette') || el.attr('data-orientation'), // data-orientation kept for backwards compat. + height = el.attr('data-height'), + width = el.attr('data-width'), + target = el.attr('data-target'), + bbcode = el.attr('data-bbcode'); + + // Insert the palette HTML into the container. + el.html(phpbb.colorPalette(orientation, width, height)); + + // Add toggle control. + $('#color_palette_toggle').click(function(e) { + el.toggle(); + e.preventDefault(); + }); + + // Attach event handler when a palette cell is clicked. + $(el).on('click', 'a', function(e) { + var color = $(this).attr('data-color'); + + if (bbcode) { + bbfontstyle('[color=#' + color + ']', '[/color]'); + } else { + $(target).val(color); + } + e.preventDefault(); + }); +}; + +/** +* Set display of page element +* +* @param {string} id The ID of the element to change +* @param {int} action Set to 0 if element display should be toggled, -1 for +* hiding the element, and 1 for showing it. +* @param {string} type Display type that should be used, e.g. inline, block or +* other CSS "display" types +*/ +phpbb.toggleDisplay = function(id, action, type) { + if (!type) { + type = 'block'; + } + + var $element = $('#' + id); + + var display = $element.css('display'); + if (!action) { + action = (display === '' || display === type) ? -1 : 1; + } + $element.css('display', ((action === 1) ? type : 'none')); +}; + +/** +* Toggle additional settings based on the selected +* option of select element. +* +* @param {jQuery} el jQuery select element object. +*/ +phpbb.toggleSelectSettings = function(el) { + el.children().each(function() { + var $this = $(this), + $setting = $($this.data('toggle-setting')); + $setting.toggle($this.is(':selected')); + + // Disable any input elements that are not visible right now + if ($this.is(':selected')) { + $($this.data('toggle-setting') + ' input').prop('disabled', false); + } else { + $($this.data('toggle-setting') + ' input').prop('disabled', true); + } + }); +}; + +/** +* Get function from name. +* Based on http://stackoverflow.com/a/359910 +* +* @param {string} functionName Function to get. +* @returns function +*/ +phpbb.getFunctionByName = function (functionName) { + var namespaces = functionName.split('.'), + func = namespaces.pop(), + context = window; + + for (var i = 0; i < namespaces.length; i++) { + context = context[namespaces[i]]; + } + return context[func]; +}; + +/** +* Register page dropdowns. +*/ +phpbb.registerPageDropdowns = function() { + var $body = $('body'); + + $body.find('.dropdown-container').each(function() { + var $this = $(this), + $trigger = $this.find('.dropdown-trigger:first'), + $contents = $this.find('.dropdown'), + options = { + direction: 'auto', + verticalDirection: 'auto' + }, + data; + + if (!$trigger.length) { + data = $this.attr('data-dropdown-trigger'); + $trigger = data ? $this.children(data) : $this.children('a:first'); + } + + if (!$contents.length) { + data = $this.attr('data-dropdown-contents'); + $contents = data ? $this.children(data) : $this.children('div:first'); + } + + if (!$trigger.length || !$contents.length) { + return; + } + + if ($this.hasClass('dropdown-up')) { + options.verticalDirection = 'up'; + } + if ($this.hasClass('dropdown-down')) { + options.verticalDirection = 'down'; + } + if ($this.hasClass('dropdown-left')) { + options.direction = 'left'; + } + if ($this.hasClass('dropdown-right')) { + options.direction = 'right'; + } + + phpbb.registerDropdown($trigger, $contents, options); + }); + + // Hide active dropdowns when click event happens outside + $body.click(function(e) { + var $parents = $(e.target).parents(); + if (!$parents.is(phpbb.dropdownVisibleContainers)) { + $(phpbb.dropdownHandles).each(phpbb.toggleDropdown); + } + }); +}; + +/** + * Handle avatars to be lazy loaded. + */ +phpbb.lazyLoadAvatars = function loadAvatars() { + $('.avatar[data-src]').each(function () { + var $avatar = $(this); + + $avatar + .attr('src', $avatar.data('src')) + .removeAttr('data-src'); + }); +}; + +var recaptchaForm = $('.g-recaptcha').parents('form'); +var submitButton = null; +var programaticallySubmitted = false; + +phpbb.recaptchaOnLoad = function () { + // Listen to submit buttons in order to know which one was pressed + $('input[type="submit"]').each(function () { + $(this).on('click', function () { + submitButton = this; + }); + }); + + recaptchaForm.on('submit', function (e) { + if (!programaticallySubmitted) { + grecaptcha.execute(); + e.preventDefault(); + } + }); +} + +phpbb.recaptchaOnSubmit = function () { + programaticallySubmitted = true; + // If concrete button was clicked (e.g. preview instead of submit), + // let's trigger the same action + if (submitButton) { + submitButton.click(); + } else { + // Rename input[name="submit"] so that we can submit the form + if (typeof recaptchaForm.submit !== 'function') { + recaptchaForm.submit.name = 'submit_btn'; + } + recaptchaForm.submit(); + } +} + +// reCAPTCHA doesn't accept callback functions nested inside objects +// so we need to make this helper functions here +window.phpbbRecaptchaOnLoad = function() { + phpbb.recaptchaOnLoad(); +} +window.phpbbRecaptchaOnSubmit = function() { + phpbb.recaptchaOnSubmit(); +} + +$(window).on('load', phpbb.lazyLoadAvatars); + +/** +* Apply code editor to all textarea elements with data-bbcode attribute +*/ +$(function() { + $('textarea[data-bbcode]').each(function() { + phpbb.applyCodeEditor(this); + }); + + phpbb.registerPageDropdowns(); + + $('[data-color-palette], [data-orientation]').each(function() { + phpbb.registerPalette($(this)); + }); + + // Update browser history URL to point to specific post in viewtopic.php + // when using view=unread#unread link. + phpbb.history.replaceUrl($('#unread[data-url]').data('url')); + + // Hide settings that are not selected via select element. + $('select[data-togglable-settings]').each(function() { + var $this = $(this); + + $this.change(function() { + phpbb.toggleSelectSettings($this); + }); + phpbb.toggleSelectSettings($this); + }); +}); + +})(jQuery); // Avoid conflicts with other libraries diff --git a/templates/SwiftBlueBeitDina/default.css b/templates/SwiftBlueBeitDina/default.css new file mode 100644 index 0000000..c5d7350 --- /dev/null +++ b/templates/SwiftBlueBeitDina/default.css @@ -0,0 +1,128 @@ +/** + * The default CSS stylesheet used for all templates. + * + * @package AutoIndex + * @author Justin Hagstrom + * @version 1.0.2 (February 05, 2004) + * + * @copyright Copyright (C) 2002-2004 Justin Hagstrom + * @license http://www.gnu.org/licenses/gpl.html GNU General Public License (GPL) + * + * @link http://autoindex.sourceforge.net + */ + +/* Body */ +.autoindex_body, html +{ + font-family: verdana, lucidia, sans-serif; + font-size: 13px; + background-color: #F0F0F0; +} + +/* Images */ +.autoindex_body img +{ + border: none; +} + +/* Tables */ +.autoindex_table +{ + width: 100%; + border: none; + border-spacing: 2px; +} +.light_row +{ + background-color: #F2F6FC; + font-size: 13px; +} +.dark_row +{ + background-color: #DADEEE; + font-size: 13px; +} +.autoindex_td +{ + font-size: 13px; + font-family: verdana, lucidia, sans-serif; + vertical-align: top; + border: 1px solid #7F8FA9; + padding: 0px; + text-align: left; + white-space: nowrap; +} +.autoindex_td_right +{ + font-size: 13px; + font-family: verdana, lucidia, sans-serif; + vertical-align: top; + border: 1px solid #7F8FA9; + padding: 0px; + text-align: right; + white-space: nowrap; +} +.autoindex_th +{ + font-size: 13px; + background-color: #7F8FAD; + border: 1px solid #000010; + padding: 0px; +} + +/* Links */ +.plain_link +{ + color: #000000; + text-decoration: none; +} +.autoindex_a:visited, .autoindex_a:active +{ + color: #00008F; + text-decoration: none; +} +.autoindex_a:link +{ + color: #0000FF; + text-decoration: none; +} +.autoindex_a:hover +{ + color: #0000FF; + text-decoration: overline underline; +} + +/* Buttons */ +.button +{ + color: #707070; + background-color: #F2F6FC; + font-family: sans-serif; + font-size: 11px; + text-align: left; + vertical-align: middle; + font-weight: bold; + cursor: pointer; + border: none; + padding: 3px 10px 3px 10px; +} + +/* Misc. */ +.paragraph +{ + background: #F2F6FC; + font-size: 13px; + color: #000020; +} +.autoindex_hr +{ + color: #000020; + background-color: #000020; + border: none; + width: 75%; + height: 1px; +} +.autoindex_small +{ + font-size: 10px; +} \ No newline at end of file diff --git a/templates/SwiftBlueBeitDina/documente.js b/templates/SwiftBlueBeitDina/documente.js new file mode 100644 index 0000000..b393e37 --- /dev/null +++ b/templates/SwiftBlueBeitDina/documente.js @@ -0,0 +1,22 @@ +var displaymode=0 +var iframecode='' + +if (displaymode==0) +document.write(iframecode) + +function gone(){ +var selectedurl=document.jumpy.example.options[document.jumpy.example.selectedIndex].value +if (document.getElementById&&displaymode==0) +document.getElementById("external").src=selectedurl +else if (document.all&&displaymode==0) +document.all.external.src=selectedurl +else{ +if (!window.win2||win2.closed) +win2=window.open(selectedurl) +//else if win2 already exists +else{ +win2.location=selectedurl +win2.focus() +} +} +} \ No newline at end of file diff --git a/templates/SwiftBlueBeitDina/dynifs.js b/templates/SwiftBlueBeitDina/dynifs.js new file mode 100644 index 0000000..579190e --- /dev/null +++ b/templates/SwiftBlueBeitDina/dynifs.js @@ -0,0 +1,83 @@ +/*************************************************************\ + * DYNIFS - Dynamic IFrame Auto Size v1.0.0 + * + * Copyright (C) 2006, Markus (phpMiX) + * This script is released under GPL License. + * Feel free to use this script (or part of it) wherever you need + * it ...but please, give credit to original author. Thank you. :-) + * We will also appreciate any links you could give us. + * http://www.phpmix.org + * + * Enjoy! ;-) +\*************************************************************/ + +var DYNIFS = { + // Storage for known IFrames. + iframes: {}, + // Here we save any previously installed onresize handler. + oldresize: null, + // Flag that tell us if we have already installed our onresize handler. + ready: false, + // The document dimensions last time onresize was executed. + dim: [-1,-1], + // Timer ID used to defer the actual resize action. + timerID: 0, + // Obtain the dimensions (width,height) of the given document. + getDim: function(d) { + var w=480, h=580, scr_h, off_h; + if( d.height ) { return [d.width,d.height]; } + with( d.body ) { + if( scrollHeight ) { h=scr_h=scrollHeight; w=scrollWidth; } + if( offsetHeight ) { h=off_h=offsetHeight; w=offsetWidth; } + if( scr_h && off_h ) h=Math.max(scr_h, off_h); + } + return [w,h]; + }, + // This is our window.onresize handler. + onresize: function() { + // Invoke any previously installed onresize handler. + if( typeof this.oldresize == 'function' ) { this.oldresize(); } + // Check if the document dimensions really changed. + var dim = this.getDim(document); + if( this.dim[0] == dim[0] && this.dim[1] == dim[1] ) return; + // Defer the resize action to prevent endless loop in quirksmode. + if( this.timerID ) return; + this.timerID = setTimeout('DYNIFS.deferred_resize();', 10); + }, + // This is where the actual IFrame resize is invoked. + deferred_resize: function() { + // Walk the list of known IFrames to see if they need to be resized. + for( var id in this.iframes ) this.resize(id); + // Store resulting document dimensions. + this.dim = this.getDim(document); + // Clear the timer flag. + this.timerID = 0; + }, + // This is invoked when the IFrame is loaded or when the main window is resized. + resize: function(id) { + // Browser compatibility check. + if( !window.frames || !window.frames[id] || !document.getElementById || !document.body ) + return; + // Get references to the IFrame window and layer. + var iframe = window.frames[id]; + var div = document.getElementById(id); + if( !div ) return; + // Save the IFrame id for later use in our onresize handler. + if( !this.iframes[id] ) { + this.iframes[id] = true; + } + // Should we inject our onresize event handler? + if( !this.ready ) { + this.ready = true; + this.oldresize = window.onresize; + window.onresize = new Function('DYNIFS.onresize();'); + } + // This appears to be necessary in MSIE to compute the height + // when the IFrame'd document is in quirksmode. + // OTOH, it doesn't seem to break anything in standards mode, so... + if( document.all ) div.style.height = '0px'; + // Resize the IFrame container. + var dim = this.getDim(iframe.document); + div.style.height = (dim[1]+30) + 'px'; + } +}; \ No newline at end of file diff --git a/templates/SwiftBlueBeitDina/each_file.tpl b/templates/SwiftBlueBeitDina/each_file.tpl new file mode 100644 index 0000000..984f3ac --- /dev/null +++ b/templates/SwiftBlueBeitDina/each_file.tpl @@ -0,0 +1,39 @@ +
+ {file:if:is_file} /* if it is a file, make a direct link */ + + {end if} + {file:if:is_dir} /* otherwise, for directories, display the folder with autoindex */ + + {end if} + {if:icon_path}[{file:file_ext}]{end if:icon_path} + {file:filename} {file:thumbnail} + {file:new_icon}{file:md5_link}{file:delete_link}{file:rename_link}{file:edit_description_link}{file:ftp_upload_link} + + {file:downloads} + + {file:size} + + {file:date} + + {file:description} +
'); + + for (r = 0; r < 5; r++) + { + if (dir == 'h') + { + document.writeln(''); + } + + for (g = 0; g < 5; g++) + { + if (dir == 'v') + { + document.writeln(''); + } + + for (b = 0; b < 5; b++) + { + color = String(numberList[r]) + String(numberList[g]) + String(numberList[b]); + document.write(''); + } + + if (dir == 'v') + { + document.writeln(''); + } + } + + if (dir == 'h') + { + document.writeln(''); + } + } + document.writeln('
'); + document.write('#' + color + ''); + document.writeln('
'); +} + + +/** +* Caret Position object +*/ +function caretPosition() +{ + var start = null; + var end = null; +} + + +/** +* Get the caret position in an textarea +*/ +function getCaretPosition(txtarea) +{ + var caretPos = new caretPosition(); + + // simple Gecko/Opera way + if(txtarea.selectionStart || txtarea.selectionStart == 0) + { + caretPos.start = txtarea.selectionStart; + caretPos.end = txtarea.selectionEnd; + } + // dirty and slow IE way + else if(document.selection) + { + + // get current selection + var range = document.selection.createRange(); + + // a new selection of the whole textarea + var range_all = document.body.createTextRange(); + range_all.moveToElementText(txtarea); + + // calculate selection start point by moving beginning of range_all to beginning of range + var sel_start; + for (sel_start = 0; range_all.compareEndPoints('StartToStart', range) < 0; sel_start++) + { + range_all.moveStart('character', 1); + } + + txtarea.sel_start = sel_start; + + // we ignore the end value for IE, this is already dirty enough and we don't need it + caretPos.start = txtarea.sel_start; + caretPos.end = txtarea.sel_start; + } + + return caretPos; +} \ No newline at end of file diff --git a/templates/SwiftBlueBeitDina/en/button_pm_new.gif b/templates/SwiftBlueBeitDina/en/button_pm_new.gif new file mode 100644 index 0000000..b0d124e Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/button_pm_new.gif differ diff --git a/templates/SwiftBlueBeitDina/en/button_pm_reply.gif b/templates/SwiftBlueBeitDina/en/button_pm_reply.gif new file mode 100644 index 0000000..890098a Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/button_pm_reply.gif differ diff --git a/templates/SwiftBlueBeitDina/en/button_topic_locked.gif b/templates/SwiftBlueBeitDina/en/button_topic_locked.gif new file mode 100644 index 0000000..4fcb7d6 Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/button_topic_locked.gif differ diff --git a/templates/SwiftBlueBeitDina/en/button_topic_new.gif b/templates/SwiftBlueBeitDina/en/button_topic_new.gif new file mode 100644 index 0000000..802ed4f Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/button_topic_new.gif differ diff --git a/templates/SwiftBlueBeitDina/en/button_topic_reply.gif b/templates/SwiftBlueBeitDina/en/button_topic_reply.gif new file mode 100644 index 0000000..4551695 Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/button_topic_reply.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_contact_aim.gif b/templates/SwiftBlueBeitDina/en/icon_contact_aim.gif new file mode 100644 index 0000000..f53a101 Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_contact_aim.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_contact_email.gif b/templates/SwiftBlueBeitDina/en/icon_contact_email.gif new file mode 100644 index 0000000..4314bc7 Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_contact_email.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_contact_icq.gif b/templates/SwiftBlueBeitDina/en/icon_contact_icq.gif new file mode 100644 index 0000000..b53edca Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_contact_icq.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_contact_jabber.gif b/templates/SwiftBlueBeitDina/en/icon_contact_jabber.gif new file mode 100644 index 0000000..0847363 Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_contact_jabber.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_contact_msnm.gif b/templates/SwiftBlueBeitDina/en/icon_contact_msnm.gif new file mode 100644 index 0000000..813e021 Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_contact_msnm.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_contact_pm.gif b/templates/SwiftBlueBeitDina/en/icon_contact_pm.gif new file mode 100644 index 0000000..92ed18d Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_contact_pm.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_contact_www.gif b/templates/SwiftBlueBeitDina/en/icon_contact_www.gif new file mode 100644 index 0000000..c186628 Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_contact_www.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_contact_yahoo.gif b/templates/SwiftBlueBeitDina/en/icon_contact_yahoo.gif new file mode 100644 index 0000000..7b81704 Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_contact_yahoo.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_post_delete.gif b/templates/SwiftBlueBeitDina/en/icon_post_delete.gif new file mode 100644 index 0000000..2f040dd Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_post_delete.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_post_edit.gif b/templates/SwiftBlueBeitDina/en/icon_post_edit.gif new file mode 100644 index 0000000..0ff5f8a Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_post_edit.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_post_info.gif b/templates/SwiftBlueBeitDina/en/icon_post_info.gif new file mode 100644 index 0000000..95dcb75 Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_post_info.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_post_quote.gif b/templates/SwiftBlueBeitDina/en/icon_post_quote.gif new file mode 100644 index 0000000..2d5ad4f Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_post_quote.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_post_report.gif b/templates/SwiftBlueBeitDina/en/icon_post_report.gif new file mode 100644 index 0000000..1e4f29e Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_post_report.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_user_offline.gif b/templates/SwiftBlueBeitDina/en/icon_user_offline.gif new file mode 100644 index 0000000..87cffb6 Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_user_offline.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_user_online.gif b/templates/SwiftBlueBeitDina/en/icon_user_online.gif new file mode 100644 index 0000000..47fe204 Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_user_online.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_user_profile.gif b/templates/SwiftBlueBeitDina/en/icon_user_profile.gif new file mode 100644 index 0000000..632e870 Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_user_profile.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_user_search.gif b/templates/SwiftBlueBeitDina/en/icon_user_search.gif new file mode 100644 index 0000000..674289c Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_user_search.gif differ diff --git a/templates/SwiftBlueBeitDina/en/icon_user_warn.gif b/templates/SwiftBlueBeitDina/en/icon_user_warn.gif new file mode 100644 index 0000000..bddb415 Binary files /dev/null and b/templates/SwiftBlueBeitDina/en/icon_user_warn.gif differ diff --git a/en_uk/index.htm b/templates/SwiftBlueBeitDina/en/index.htm similarity index 95% rename from en_uk/index.htm rename to templates/SwiftBlueBeitDina/en/index.htm index ee1f723..90a3130 100644 --- a/en_uk/index.htm +++ b/templates/SwiftBlueBeitDina/en/index.htm @@ -7,4 +7,4 @@ - + \ No newline at end of file diff --git a/templates/SwiftBlueBeitDina/en/stylesheet.css b/templates/SwiftBlueBeitDina/en/stylesheet.css new file mode 100644 index 0000000..07cdd0d --- /dev/null +++ b/templates/SwiftBlueBeitDina/en/stylesheet.css @@ -0,0 +1,31 @@ +/* Online image */ +.imageset.icon_contact_aim { background-image: url("./icon_contact_aim.gif"); } +.imageset.icon_contact_email { background-image: url("./icon_contact_email.gif"); } +.imageset.icon_contact_icq { background-image: url("./icon_contact_icq.gif"); } +.imageset.icon_contact_jabber { background-image: url("./icon_contact_jabber.gif"); } +.imageset.icon_contact_msnm { background-image: url("./icon_contact_msnm.gif"); } +.imageset.icon_contact_pm { background-image: url("./icon_contact_pm.gif"); } +.imageset.icon_contact_yahoo { background-image: url("./icon_contact_yahoo.gif"); } +.imageset.icon_contact_www { background-image: url("./icon_contact_www.gif"); } + +.imageset.icon_post_delete { background-image: url("./icon_post_delete.gif"); } +.imageset.icon_post_edit { background-image: url("./icon_post_edit.gif"); } +.imageset.icon_post_info { background-image: url("./icon_post_info.gif"); } +.imageset.icon_post_quote { background-image: url("./icon_post_quote.gif"); } +.imageset.icon_post_report { background-image: url("./icon_post_report.gif"); } + +.imageset.icon_user_online { background-image: url("./icon_user_online.gif"); } +.imageset.icon_user_offline { background-image: url("./icon_user_offline.gif"); } +.imageset.icon_user_profile { background-image: url("./icon_user_profile.gif"); } +.imageset.icon_user_search { + background-image: url("./icon_user_search.gif"); + padding-left: 72px; + padding-top: 20px; +} +.imageset.icon_user_warn { background-image: url("./icon_user_warn.gif"); } + +.imageset.button_pm_new { background-image: url("./button_pm_new.gif"); } +.imageset.button_pm_reply { background-image: url("./button_pm_reply.gif"); } +.imageset.button_topic_locked { background-image: url("./button_topic_locked.gif"); } +.imageset.button_topic_new { background-image: url("./button_topic_new.gif"); } +.imageset.button_topic_reply { background-image: url("./button_topic_reply.gif"); } \ No newline at end of file diff --git a/templates/SwiftBlueBeitDina/formIE.css b/templates/SwiftBlueBeitDina/formIE.css new file mode 100644 index 0000000..fde54cb --- /dev/null +++ b/templates/SwiftBlueBeitDina/formIE.css @@ -0,0 +1,19 @@ +/* Fancy form styles for IE */ + +input, textarea, select { +border-top-width : 1px; +border-right-width : 1px; +border-bottom-width : 1px; +border-left-width : 1px; +} + +input { text-indent : 2px; } + +input.button { +border-top-width : 1px; +border-right-width : 1px; +border-bottom-width : 1px; +border-left-width : 1px; +} + +.postbody { line-height: 18px} diff --git a/templates/SwiftBlueBeitDina/forum_fn.js b/templates/SwiftBlueBeitDina/forum_fn.js new file mode 100644 index 0000000..2e39365 --- /dev/null +++ b/templates/SwiftBlueBeitDina/forum_fn.js @@ -0,0 +1,937 @@ +/* global phpbb */ + +/** +* phpBB3 forum functions +*/ + +/** +* Find a member +*/ +function find_username(url) { + 'use strict'; + + popup(url, 760, 570, '_usersearch'); + return false; +} + +/** +* Window popup +*/ +function popup(url, width, height, name) { + 'use strict'; + + if (!name) { + name = '_popup'; + } + + window.open(url.replace(/&/g, '&'), name, 'height=' + height + ',resizable=yes,scrollbars=yes, width=' + width); + return false; +} + +/** +* Jump to page +*/ +function pageJump(item) { + 'use strict'; + + var page = parseInt(item.val(), 10), + perPage = item.attr('data-per-page'), + baseUrl = item.attr('data-base-url'), + startName = item.attr('data-start-name'); + + if (page !== null && !isNaN(page) && page === Math.floor(page) && page > 0) { + if (baseUrl.indexOf('?') === -1) { + document.location.href = baseUrl + '?' + startName + '=' + ((page - 1) * perPage); + } else { + document.location.href = baseUrl.replace(/&/g, '&') + '&' + startName + '=' + ((page - 1) * perPage); + } + } +} + +/** +* Mark/unmark checklist +* id = ID of parent container, name = name prefix, state = state [true/false] +*/ +function marklist(id, name, state) { + 'use strict'; + + jQuery('#' + id + ' input[type=checkbox][name]').each(function() { + var $this = jQuery(this); + if ($this.attr('name').substr(0, name.length) === name && !$this.prop('disabled')) { + $this.prop('checked', state); + } + }); +} + +/** +* Resize viewable area for attached image or topic review panel (possibly others to come) +* e = element +*/ +function viewableArea(e, itself) { + 'use strict'; + + if (!e) { + return; + } + + if (!itself) { + e = e.parentNode; + } + + if (!e.vaHeight) { + // Store viewable area height before changing style to auto + e.vaHeight = e.offsetHeight; + e.vaMaxHeight = e.style.maxHeight; + e.style.height = 'auto'; + e.style.maxHeight = 'none'; + e.style.overflow = 'visible'; + } else { + // Restore viewable area height to the default + e.style.height = e.vaHeight + 'px'; + e.style.overflow = 'auto'; + e.style.maxHeight = e.vaMaxHeight; + e.vaHeight = false; + } +} + +/** +* Alternate display of subPanels +*/ +jQuery(function($) { + 'use strict'; + + $('.sub-panels').each(function() { + + var $childNodes = $('a[data-subpanel]', this), + panels = $childNodes.map(function () { + return this.getAttribute('data-subpanel'); + }), + showPanel = this.getAttribute('data-show-panel'); + + if (panels.length) { + activateSubPanel(showPanel, panels); + $childNodes.click(function () { + activateSubPanel(this.getAttribute('data-subpanel'), panels); + return false; + }); + } + }); +}); + +/** +* Activate specific subPanel +*/ +function activateSubPanel(p, panels) { + 'use strict'; + + var i, showPanel; + + if (typeof p === 'string') { + showPanel = p; + } + $('input[name="show_panel"]').val(showPanel); + + if (typeof panels === 'undefined') { + panels = jQuery('.sub-panels a[data-subpanel]').map(function() { + return this.getAttribute('data-subpanel'); + }); + } + + for (i = 0; i < panels.length; i++) { + jQuery('#' + panels[i]).css('display', panels[i] === showPanel ? 'block' : 'none'); + jQuery('#' + panels[i] + '-tab').toggleClass('activetab', panels[i] === showPanel); + } +} + +function selectCode(a) { + 'use strict'; + + // Get ID of code block + var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0]; + var s, r; + + // Not IE and IE9+ + if (window.getSelection) { + s = window.getSelection(); + // Safari and Chrome + if (s.setBaseAndExtent) { + var l = (e.innerText.length > 1) ? e.innerText.length - 1 : 1; + try { + s.setBaseAndExtent(e, 0, e, l); + } catch (error) { + r = document.createRange(); + r.selectNodeContents(e); + s.removeAllRanges(); + s.addRange(r); + } + } + // Firefox and Opera + else { + // workaround for bug # 42885 + if (window.opera && e.innerHTML.substring(e.innerHTML.length - 4) === '
') { + e.innerHTML = e.innerHTML + ' '; + } + + r = document.createRange(); + r.selectNodeContents(e); + s.removeAllRanges(); + s.addRange(r); + } + } + // Some older browsers + else if (document.getSelection) { + s = document.getSelection(); + r = document.createRange(); + r.selectNodeContents(e); + s.removeAllRanges(); + s.addRange(r); + } + // IE + else if (document.selection) { + r = document.body.createTextRange(); + r.moveToElementText(e); + r.select(); + } +} + +var inAutocomplete = false; +var lastKeyEntered = ''; + +/** +* Check event key +*/ +function phpbbCheckKey(event) { + 'use strict'; + + // Keycode is array down or up? + if (event.keyCode && (event.keyCode === 40 || event.keyCode === 38)) { + inAutocomplete = true; + } + + // Make sure we are not within an "autocompletion" field + if (inAutocomplete) { + // If return pressed and key changed we reset the autocompletion + if (!lastKeyEntered || lastKeyEntered === event.which) { + inAutocomplete = false; + return true; + } + } + + // Keycode is not return, then return. ;) + if (event.which !== 13) { + lastKeyEntered = event.which; + return true; + } + + return false; +} + +/** +* Apply onkeypress event for forcing default submit button on ENTER key press +*/ +jQuery(function($) { + 'use strict'; + + $('form input[type=text], form input[type=password]').on('keypress', function (e) { + var defaultButton = $(this).parents('form').find('input[type=submit].default-submit-action'); + + if (!defaultButton || defaultButton.length <= 0) { + return true; + } + + if (phpbbCheckKey(e)) { + return true; + } + + if ((e.which && e.which === 13) || (e.keyCode && e.keyCode === 13)) { + defaultButton.click(); + return false; + } + + return true; + }); +}); + +/** +* Functions for user search popup +*/ +function insertUser(formId, value) { + 'use strict'; + + var $form = jQuery(formId), + formName = $form.attr('data-form-name'), + fieldName = $form.attr('data-field-name'), + item = opener.document.forms[formName][fieldName]; + + if (item.value.length && item.type === 'textarea') { + value = item.value + '\n' + value; + } + + item.value = value; +} + +function insert_marked_users(formId, users) { + 'use strict'; + + $(users).filter(':checked').each(function() { + insertUser(formId, this.value); + }); + + window.close(); +} + +function insert_single_user(formId, user) { + 'use strict'; + + insertUser(formId, user); + window.close(); +} + +/** +* Parse document block +*/ +function parseDocument($container) { + 'use strict'; + + var test = document.createElement('div'), + oldBrowser = (typeof test.style.borderRadius === 'undefined'), + $body = $('body'); + + /** + * Reset avatar dimensions when changing URL or EMAIL + */ + $container.find('input[data-reset-on-edit]').on('keyup', function() { + $(this.getAttribute('data-reset-on-edit')).val(''); + }); + + /** + * Pagination + */ + $container.find('.pagination .page-jump-form :button').click(function() { + var $input = $(this).siblings('input.inputbox'); + pageJump($input); + }); + + $container.find('.pagination .page-jump-form input.inputbox').on('keypress', function(event) { + if (event.which === 13 || event.keyCode === 13) { + event.preventDefault(); + pageJump($(this)); + } + }); + + $container.find('.pagination .dropdown-trigger').click(function() { + var $dropdownContainer = $(this).parent(); + // Wait a little bit to make sure the dropdown has activated + setTimeout(function() { + if ($dropdownContainer.hasClass('dropdown-visible')) { + $dropdownContainer.find('input.inputbox').focus(); + } + }, 100); + }); + + /** + * Adjust HTML code for IE8 and older versions + */ + // if (oldBrowser) { + // // Fix .linklist.bulletin lists + // $container + // .find('ul.linklist.bulletin > li') + // .filter(':first-child, .rightside:last-child') + // .addClass('no-bulletin'); + // } + + /** + * Resize navigation (breadcrumbs) block to keep all links on same line + */ + $container.find('.navlinks').each(function() { + var $this = $(this), + $left = $this.children().not('.rightside'), + $right = $this.children('.rightside'); + + if ($left.length !== 1 || !$right.length) { + return; + } + + function resize() { + var width = 0, + diff = $left.outerWidth(true) - $left.width(), + minWidth = Math.max($this.width() / 3, 240), + maxWidth; + + $right.each(function() { + var $this = $(this); + if ($this.is(':visible')) { + width += $this.outerWidth(true); + } + }); + + maxWidth = $this.width() - width - diff; + $left.css('max-width', Math.floor(Math.max(maxWidth, minWidth)) + 'px'); + } + + resize(); + $(window).resize(resize); + }); + + /** + * Makes breadcrumbs responsive + */ + $container.find('.breadcrumbs:not([data-skip-responsive])').each(function() { + var $this = $(this), + $links = $this.find('.crumb'), + length = $links.length, + classes = ['wrapped-max', 'wrapped-wide', 'wrapped-medium', 'wrapped-small', 'wrapped-tiny'], + classesLength = classes.length, + maxHeight = 0, + lastWidth = false, + wrapped = false; + + // Set tooltips + $this.find('a').each(function() { + var $link = $(this); + $link.attr('title', $link.text()); + }); + + // Function that checks breadcrumbs + function check() { + var height = $this.height(), + width; + + // Test max-width set in code for .navlinks above + width = parseInt($this.css('max-width'), 10); + if (!width) { + width = $body.width(); + } + + maxHeight = parseInt($this.css('line-height'), 10); + $links.each(function() { + if ($(this).height() > 0) { + maxHeight = Math.max(maxHeight, $(this).outerHeight(true)); + } + }); + + if (height <= maxHeight) { + if (!wrapped || lastWidth === false || lastWidth >= width) { + return; + } + } + lastWidth = width; + + if (wrapped) { + $this.removeClass('wrapped').find('.crumb.wrapped').removeClass('wrapped ' + classes.join(' ')); + if ($this.height() <= maxHeight) { + return; + } + } + + wrapped = true; + $this.addClass('wrapped'); + if ($this.height() <= maxHeight) { + return; + } + + for (var i = 0; i < classesLength; i++) { + for (var j = length - 1; j >= 0; j--) { + $links.eq(j).addClass('wrapped ' + classes[i]); + if ($this.height() <= maxHeight) { + return; + } + } + } + } + + // Run function and set event + check(); + $(window).resize(check); + }); + + /** + * Responsive link lists + */ + var selector = '.linklist:not(.navlinks, [data-skip-responsive]),' + + '.postbody .post-buttons:not([data-skip-responsive])'; + $container.find(selector).each(function() { + var $this = $(this), + filterSkip = '.breadcrumbs, [data-skip-responsive]', + filterLast = '.edit-icon, .quote-icon, [data-last-responsive]', + $linksAll = $this.children(), + $linksNotSkip = $linksAll.not(filterSkip), // All items that can potentially be hidden + $linksFirst = $linksNotSkip.not(filterLast), // The items that will be hidden first + $linksLast = $linksNotSkip.filter(filterLast), // The items that will be hidden last + persistent = $this.attr('id') === 'nav-main', // Does this list already have a menu (such as quick-links)? + html = '', + slack = 3; // Vertical slack space (in pixels). Determines how sensitive the script is in determining whether a line-break has occurred. + + // Add a hidden drop-down menu to each links list (except those that already have one) + if (!persistent) { + if ($linksNotSkip.is('.rightside')) { + $linksNotSkip.filter('.rightside:first').before(html); + $this.children('.responsive-menu').addClass('rightside'); + } else { + $this.append(html); + } + } + + // Set some object references and initial states + var $menu = $this.children('.responsive-menu'), + $menuContents = $menu.find('.dropdown-contents'), + persistentContent = $menuContents.find('li:not(.separator)').length, + lastWidth = false, + compact = false, + responsive1 = false, + responsive2 = false, + copied1 = false, + copied2 = false, + maxHeight = 0; + + // Find the tallest element in the list (we assume that all elements are roughly the same height) + $linksAll.each(function() { + if (!$(this).height()) { + return; + } + maxHeight = Math.max(maxHeight, $(this).outerHeight(true)); + }); + if (maxHeight < 1) { + return; // Shouldn't be possible, but just in case, abort + } else { + maxHeight = maxHeight + slack; + } + + function check() { + var width = $body.width(); + // We can't make it any smaller than this, so just skip + if (responsive2 && compact && (width <= lastWidth)) { + return; + } + lastWidth = width; + + // Reset responsive and compact layout + if (responsive1 || responsive2) { + $linksNotSkip.removeClass('hidden'); + $menuContents.children('.clone').addClass('hidden'); + responsive1 = responsive2 = false; + } + if (compact) { + $this.removeClass('compact'); + compact = false; + } + + // Unhide the quick-links menu if it has "persistent" content + if (persistent && persistentContent) { + $menu.removeClass('hidden'); + } else { + $menu.addClass('hidden'); + } + + // Nothing to resize if block's height is not bigger than tallest element's height + if ($this.height() <= maxHeight) { + return; + } + + // STEP 1: Compact + if (!compact) { + $this.addClass('compact'); + compact = true; + } + if ($this.height() <= maxHeight) { + return; + } + + // STEP 2: First responsive set - compact + if (compact) { + $this.removeClass('compact'); + compact = false; + } + // Copy the list items to the dropdown + if (!copied1) { + var $clones1 = $linksFirst.clone(); + $menuContents.prepend($clones1.addClass('clone clone-first').removeClass('leftside rightside')); + + if ($this.hasClass('post-buttons')) { + $('.button', $menuContents).removeClass('button'); + $('.sr-only', $menuContents).removeClass('sr-only'); + $('.js-responsive-menu-link').addClass('button').addClass('button-icon-only'); + $('.js-responsive-menu-link .icon').removeClass('fa-bars').addClass('fa-ellipsis-h'); + } + copied1 = true; + } + if (!responsive1) { + $linksFirst.addClass('hidden'); + responsive1 = true; + $menuContents.children('.clone-first').removeClass('hidden'); + $menu.removeClass('hidden'); + } + if ($this.height() <= maxHeight) { + return; + } + + // STEP 3: First responsive set + compact + if (!compact) { + $this.addClass('compact'); + compact = true; + } + if ($this.height() <= maxHeight) { + return; + } + + // STEP 4: Last responsive set - compact + if (!$linksLast.length) { + return; // No other links to hide, can't do more + } + if (compact) { + $this.removeClass('compact'); + compact = false; + } + // Copy the list items to the dropdown + if (!copied2) { + var $clones2 = $linksLast.clone(); + $menuContents.prepend($clones2.addClass('clone clone-last').removeClass('leftside rightside')); + copied2 = true; + } + if (!responsive2) { + $linksLast.addClass('hidden'); + responsive2 = true; + $menuContents.children('.clone-last').removeClass('hidden'); + } + if ($this.height() <= maxHeight) { + return; + } + + // STEP 5: Last responsive set + compact + if (!compact) { + $this.addClass('compact'); + compact = true; + } + } + + if (!persistent) { + phpbb.registerDropdown($menu.find('a.js-responsive-menu-link'), $menu.find('.dropdown'), false); + } + + // If there are any images in the links list, run the check again after they have loaded + $linksAll.find('img').each(function() { + $(this).on('load', function() { + check(); + }); + }); + + check(); + $(window).resize(check); + }); + + /** + * Do not run functions below for old browsers + */ + if (oldBrowser) { + return; + } + + /** + * Adjust topiclist lists with check boxes + */ + $container.find('ul.topiclist dd.mark').siblings('dt').children('.list-inner').addClass('with-mark'); + + /** + * Appends contents of all extra columns to first column in + * .topiclist lists for mobile devices. Copies contents as is. + * + * To add that functionality to .topiclist list simply add + * responsive-show-all to list of classes + */ + $container.find('.topiclist.responsive-show-all > li > dl').each(function() { + var $this = $(this), + $block = $this.find('dt .responsive-show:last-child'), + first = true; + + // Create block that is visible only on mobile devices + if (!$block.length) { + $this.find('dt > .list-inner').append('