From f36d266a649b88c8aae4a40b8183bffdd24c8787 Mon Sep 17 00:00:00 2001 From: lucianosz7 Date: Sat, 5 Oct 2019 09:13:13 -0300 Subject: [PATCH 01/28] =?UTF-8?q?Added=20javanese=20translation.=C2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/config/locale/jv.continents.php | 11 + app/config/locale/jv.countries.php | 198 ++++++++++++++++++ app/config/locale/jv.php | 21 ++ .../templates/jv.email.auth.confirm.tpl | 24 +++ .../templates/jv.email.auth.invitation.tpl | 28 +++ .../templates/jv.email.auth.recovery.tpl | 24 +++ 6 files changed, 306 insertions(+) create mode 100644 app/config/locale/jv.continents.php create mode 100644 app/config/locale/jv.countries.php create mode 100644 app/config/locale/jv.php create mode 100644 app/config/locale/templates/jv.email.auth.confirm.tpl create mode 100644 app/config/locale/templates/jv.email.auth.invitation.tpl create mode 100644 app/config/locale/templates/jv.email.auth.recovery.tpl diff --git a/app/config/locale/jv.continents.php b/app/config/locale/jv.continents.php new file mode 100644 index 0000000000..f20efb8cfa --- /dev/null +++ b/app/config/locale/jv.continents.php @@ -0,0 +1,11 @@ + 'Afrika', +    'AN' => 'Antartika', +    'AS' => 'Asia', +    'EU' => 'Eropa', +    'NA' => 'Amérika Lor', +    'OC' => 'Oseania', +    'SA' => 'Amérika Kidul', +]; diff --git a/app/config/locale/jv.countries.php b/app/config/locale/jv.countries.php new file mode 100644 index 0000000000..1b781e36bf --- /dev/null +++ b/app/config/locale/jv.countries.php @@ -0,0 +1,198 @@ + 'Afghanistan', +    'AO' => 'Angola', +    'AL' => 'Albania', +    'AD' => 'Andorra', +    'AE' => 'Uni Emirat Arab', +    'AR' => 'Argentina', +    'AM' => 'Armenia', +    'AG' => 'Antigua lan Barbuda', +    'AU' => 'Australia', +    'AT' => 'Austria', +    'AZ' => 'Azerbaijan', +    'BI' => 'Burundi', +    'BE' => 'Belgia', +    'BJ' => 'Benin', +    'BF' => 'Burkina Faso', +    'BD' => 'Bangladesh', +    'BG' => 'Bulgaria', +    'BH' => 'Bahrain', +    'BS' => 'Bahamas', +    'BA' => 'Bosnia lan Herzegovina', +    'BY' => 'Belarus', +    'BZ' => 'Belize', +    'BO' => 'Bolivia', +    'BR' => 'Brasil', +    'BB' => 'Barbados', +    'BN' => 'Brunei', +    'BT' => 'Bhutan', +    'BW' => 'Botswana', +    'CF' => 'Republik Afrika Tengah', +    'CA' => 'Kanada', +    'CH' => 'Swiss', +    'CL' => 'Chile', +    'CN' => 'China', +    'CI' => 'Pantai Gading', +    'CM' => 'Kamerun', +    'CD' => 'DR Kongo', +    'CG' => 'Republik Kongo', +    'CO' => 'Kolombia', +    'KM' => 'Comoros', +    'CV' => 'Cape Verde', +    'CR' => 'Costa Rica', +    'CU' => 'Kuba', +    'CY' => 'Siprus', +    'CZ' => 'Czechia', +    'DE' => 'Jerman', +    'DJ' => 'Djibouti', +    'DM' => 'Dominika', +    'DK' => 'Denmark', +    'DO' => 'Republik Dominika', +    'DZ' => 'Algeria', +    'EC' => 'Ekuador', +    'EG' => 'Mesir', +    'ER' => 'Eritrea', +    'ES' => 'Spanyol', +    'EE' => 'Estonia', +    'ET' => 'Ethiopia', +    'FI' => 'Finlandia', + 'FJ' => 'Fiji', +    'FR' => 'Prancis', +    'FM' => 'Mikronesia', +    'GA' => 'Gabon', +    'GB' => 'Inggris', +    'GE' => 'Georgia', +    'GH' => 'Ghana', +    'GN' => 'Guinea', +    'GM' => 'Gambia', +    'GW' => 'Guinea-Bissau', +    'GQ' => 'Guinea Khatulistiwa', +    'GR' => 'Yunani', +    'GD' => 'Grenada', +    'GT' => 'Guatemala', +    'GY' => 'Guyana', +    'HN' => 'Honduras', +    'HR' => 'Croatia', +    'HT' => 'Haiti', +    'HU' => 'Hongaria', +    'ID' => 'Indonesia', +    'IN' => 'India', +    'IE' => 'Irlandia', +    'IR' => 'Iran', +    'IQ' => 'Irak', +    'IS' => 'Islandia', +    'IL' => 'Israel', +    'IT' => 'Italia', +    'JM' => 'Jamaika', +    'JO' => 'Yordania', +    'JP' => 'Jepang', +    'KZ' => 'Kazakhstan', +    'KE' => 'Kenya', +    'KG' => 'Kyrgyzstan', +    'KH' => 'Kamboja', +    'KI' => 'Kiribati', +    'KN' => 'Saint Kitts lan Nevis', +    'KR' => 'Korea Kidul', +    'KW' => 'Kuwait', +    'LA' => 'Laos', +    'LB' => 'Libanon', +    'LR' => 'Liberia', +    'LY' => 'Libya', +    'LC' => 'Saint Lucia', +    'LI' => 'Liechtenstein', +    'LK' => 'Sri Lanka', +    'LS' => 'Lesotho', +    'LT' => 'Lithuania', +    'LU' => 'Luksemburg', +    'LV' => 'Latvia', +    'MA' => 'Maroko', +    'MC' => 'Monaco', +    'MD' => 'Moldova', +    'MG' => 'Madagascar', +    'MV' => 'Maldives', +    'MX' => 'Meksiko', +    'MH' => 'Kepulauan Marshall', +    'MK' => 'Makedonia', +    'ML' => 'Mali', +    'MT' => 'Malta', +    'MM' => 'Myanmar', + 'ME' => 'Montenegro', +    'MN' => 'Mongolia', +    'MZ' => 'Mozambique', +    'MR' => 'Mauritania', +    'MU' => 'Mauritius', +    'MW' => 'Malawi', +    'MY' => 'Malaysia', +    'NA' => 'Namibia', +    'NE' => 'Niger', +    'NG' => 'Nigeria', +    'NI' => 'Nikaragua', +    'NL' => 'Belanda', +    'NO' => 'Norwegia', +    'NP' => 'Nepal', +    'NR' => 'Nauru', +    'NZ' => 'Selandia Anyar', +    'OM' => 'Oman', +    'PK' => 'Pakistan', +    'PA' => 'Panama', +    'PE' => 'Peru', +    'PH' => 'Filipina', +    'PW' => 'Palau', +    'PG' => 'Papua Nugini', +    'PL' => 'Polandia', +    'KP' => 'Korea Lor', +    'PT' => 'Portugal', +    'PY' => 'Paraguay', +    'QA' => 'Qatar', +    'RO' => 'Romania', +    'RU' => 'Rusia', +    'RW' => 'Rwanda', +    'SA' => 'Arab Saudi', +    'SD' => 'Sudan', +    'SN' => 'Senegal', +    'SG' => 'Singapura', +    'SB' => 'Kepulauan Solomon', +    'SL' => 'Sierra Leone', +    'SV' => 'El Salvador', +    'SM' => 'San Marino', +    'SO' => 'Somalia', +    'RS' => 'Serbia', +    'SS' => 'Sudan Kidul', +    'ST' => 'São Tomé lan Príncipe', +    'SR' => 'Suriname', +    'SK' => 'Slowakia', +    'SI' => 'Slovenia', +    'SE' => 'Swedia', +    'SZ' => 'Swaziland', +    'SC' => 'Seychelles', +    'SY' => 'Suriah', +    'TD' => 'Chad', +    'TG' => 'Togo', +    'TH' => 'Thailand', +    'TJ' => 'Tajikistan', +    'TM' => 'Turkmenistan', +    'TL' => 'Timor-Leste', +    'TO' => 'Tonga', +    'TT' => 'Trinidad lan Tobago', +    'TN' => 'Tunisia', +    'TR' => 'Turki', + 'TV' => 'Tuvalu', +    'TZ' => 'Tanzania', +    'UG' => 'Uganda', +    'UA' => 'Ukraina', +    'UY' => 'Uruguay', +    'US' => 'Amerika Serikat', +    'UZ' => 'Uzbekistan', +    'VA' => 'Kota Vatikan', +    'VC' => 'Saint Vincent lan Grenadines', +    'VE' => 'Venezuela', +    'VN' => 'Vietnam', +    'VU' => 'Vanuatu', +    'WS' => 'Samoa', +    'YE' => 'Yaman', +    'ZA' => 'Afrika Kidul', +    'ZM' => 'Zambia', +    'ZW' => 'Zimbabwe', +]; diff --git a/app/config/locale/jv.php b/app/config/locale/jv.php new file mode 100644 index 0000000000..2326430e57 --- /dev/null +++ b/app/config/locale/jv.php @@ -0,0 +1,21 @@ + '"Kesenian sing wicaksana yaiku seni sing ngerti apa sing kudu dilalekake."', // This is the line printed in the homepage and console 'view-source' + 'settings.locale' => 'jv', + 'settings.direction' => 'ltr', + + // Service - Users + 'auth.emails.team' => 'Tim %s', + 'auth.emails.confirm.title' => 'Konfirmasi akun', + 'auth.emails.confirm.body' => 'jv.email.auth.confirm.tpl', + 'auth.emails.recovery.title' => 'Reset Sandi', + 'auth.emails.recovery.body' => 'jv.email.auth.recovery.tpl', + 'auth.emails.invitation.title' => 'Undangan menyang %s Tim ing %s', + 'auth.emails.invitation.body' => 'jv.email.auth.invitation.tpl', + + 'locale.country.unknown' => 'Ora dingerteni', + + 'countries' => include 'jv.countries.php', + 'continents' => include 'jv.continents.php', +]; diff --git a/app/config/locale/templates/jv.email.auth.confirm.tpl b/app/config/locale/templates/jv.email.auth.confirm.tpl new file mode 100644 index 0000000000..c1afdc69a9 --- /dev/null +++ b/app/config/locale/templates/jv.email.auth.confirm.tpl @@ -0,0 +1,24 @@ + + +
+ Halo, {{name}}, +
+
+ Tindakake tautan iki kanggo verifikasi alamat email sampeyan. +
+ {{redirect}} +
+
+ Yen sampeyan ora njaluk verifikasi alamat iki, sampeyan bisa nglalekake pesen iki. +
+
+ Matur suwun, +
+ tim {{project}} +
diff --git a/app/config/locale/templates/jv.email.auth.invitation.tpl b/app/config/locale/templates/jv.email.auth.invitation.tpl new file mode 100644 index 0000000000..8c5de0f419 --- /dev/null +++ b/app/config/locale/templates/jv.email.auth.invitation.tpl @@ -0,0 +1,28 @@ + + + +
+ Halo, +
+
+ Email iki dikirim menyang sampeyan amarga {{owner}} pengin ngajak sampeyan dadi anggota tim ing {{team}} tim ing {{project}}. +
+
+ Tindakake link iki kanggo gabung ing {{team}}: +
+ {{redirect}} +
+
+ Yen sampeyan ora kasengsem, sampeyan bisa nglirwakake pesen iki. +
+
+ Matur suwun, +
+ tim {{project}} +
\ No newline at end of file diff --git a/app/config/locale/templates/jv.email.auth.recovery.tpl b/app/config/locale/templates/jv.email.auth.recovery.tpl new file mode 100644 index 0000000000..ed6c879aeb --- /dev/null +++ b/app/config/locale/templates/jv.email.auth.recovery.tpl @@ -0,0 +1,24 @@ + + +
+ Halo {{name}}, +
+
+ Tindakake link iki kanggo ngreset {{project}} sandhi. +
+ {{redirect}} +
+
+ Yen sampeyan ora njaluk ngreset sandhi, sampeyan bisa nglalekake pesen iki. +
+
+ Matur suwun, +
+ tim {{project}} +
From 080059837b56007eb7d65db1b36bd734a9653430 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sat, 5 Oct 2019 18:39:01 +0530 Subject: [PATCH 02/28] feat: amazon OAuth (conditional) --- app/config/providers.php | 5 ++ app/controllers/auth.php | 3 + src/Auth/OAuth/Amazon.php | 127 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 src/Auth/OAuth/Amazon.php diff --git a/app/config/providers.php b/app/config/providers.php index b45ca52a74..7cfe0c9440 100644 --- a/app/config/providers.php +++ b/app/config/providers.php @@ -61,4 +61,9 @@ return [ 'icon' => 'icon-apple', 'enabled' => false, ], + 'amazon' => [ + 'developers' => 'https://www.dropbox.com/developers/documentation', + 'icon' => 'icon-amazon', + 'enabled' => true, + ], ]; diff --git a/app/controllers/auth.php b/app/controllers/auth.php index 75d7da05f2..22c4aaacae 100644 --- a/app/controllers/auth.php +++ b/app/controllers/auth.php @@ -730,6 +730,9 @@ $utopia->get('/v1/auth/oauth/:provider/redirect') $defaultState = ['success' => $project->getAttribute('url', ''), 'failure' => '']; $validateURL = new URL(); + // Uncomment this while testing amazon oAuth + $state = html_entity_decode($state); + if (!empty($state)) { try { $state = array_merge($defaultState, json_decode($state, true)); diff --git a/src/Auth/OAuth/Amazon.php b/src/Auth/OAuth/Amazon.php new file mode 100644 index 0000000000..d280b02765 --- /dev/null +++ b/src/Auth/OAuth/Amazon.php @@ -0,0 +1,127 @@ +appID). + '&redirect_uri='.urlencode($this->callback). + '&response_type=code'. + '&state='.urlencode(json_encode($this->state)). + '&scope=profile'; + } + + /** + * @param string $code + * + * @return string + */ + public function getAccessToken(string $code): string + { + + $headers[] = 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8'; + $accessToken = $this->request( + 'POST', + 'https://api.amazon.com/auth/o2/token', + $headers, + 'code=' . urlencode($code) . + '&client_id=' . urlencode($this->appID) . + '&client_secret=' . urlencode($this->appSecret). + '&redirect_uri='.urlencode($this->callback). + '&grant_type=authorization_code' + ); + $accessToken = json_decode($accessToken, true); + + if (isset($accessToken['access_token'])) { + return $accessToken['access_token']; + } + + return ''; + } + + /** + * @param string $accessToken + * + * @return string + */ + public function getUserID(string $accessToken): string + { + $user = $this->getUser($accessToken); + + if (isset($user['user_id'])) { + return $user['user_id']; + } + + return ''; + } + + /** + * @param string $accessToken + * + * @return string + */ + public function getUserEmail(string $accessToken): string + { + $user = $this->getUser($accessToken); + + if (isset($user['email'])) { + return $user['email']; + } + + return ''; + } + + /** + * @param string $accessToken + * + * @return string + */ + public function getUserName(string $accessToken): string + { + $user = $this->getUser($accessToken); + + if (isset($user['name'])) { + return $user['name']; + } + + return ''; + } + + /** + * @param string $accessToken + * + * @return array + */ + protected function getUser(string $accessToken): array + { + if (empty($this->user)) { + $user = $this->request('GET', 'https://api.amazon.com/user/profile?access_token='.urlencode($accessToken)); + $this->user = json_decode($user, true); + } + return $this->user; + } +} From 0d53d260daa085195f5f990437c251f7f40d0f07 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sat, 5 Oct 2019 18:42:46 +0530 Subject: [PATCH 03/28] feat: lint fix --- app/controllers/auth.php | 2 +- src/Auth/OAuth/Amazon.php | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/controllers/auth.php b/app/controllers/auth.php index 22c4aaacae..a904c1abd6 100644 --- a/app/controllers/auth.php +++ b/app/controllers/auth.php @@ -731,7 +731,7 @@ $utopia->get('/v1/auth/oauth/:provider/redirect') $validateURL = new URL(); // Uncomment this while testing amazon oAuth - $state = html_entity_decode($state); + // $state = html_entity_decode($state); if (!empty($state)) { try { diff --git a/src/Auth/OAuth/Amazon.php b/src/Auth/OAuth/Amazon.php index d280b02765..0b52f681f9 100644 --- a/src/Auth/OAuth/Amazon.php +++ b/src/Auth/OAuth/Amazon.php @@ -42,7 +42,6 @@ class Amazon extends OAuth */ public function getAccessToken(string $code): string { - $headers[] = 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8'; $accessToken = $this->request( 'POST', From 39faf2f05b82cd884e6ca0b392076f69da19cec4 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sat, 5 Oct 2019 18:43:28 +0530 Subject: [PATCH 04/28] chore: disabled amazon oAuth --- app/config/providers.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/config/providers.php b/app/config/providers.php index 7cfe0c9440..d4c05b9a9d 100644 --- a/app/config/providers.php +++ b/app/config/providers.php @@ -64,6 +64,6 @@ return [ 'amazon' => [ 'developers' => 'https://www.dropbox.com/developers/documentation', 'icon' => 'icon-amazon', - 'enabled' => true, + 'enabled' => false, ], ]; From 965a68afd381c7e80ae07644013c73a9952f5418 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sat, 5 Oct 2019 18:46:07 +0530 Subject: [PATCH 05/28] chore: added Amazon OAuth Docs --- src/Auth/OAuth/Amazon.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Auth/OAuth/Amazon.php b/src/Auth/OAuth/Amazon.php index 0b52f681f9..d9cf84e73f 100644 --- a/src/Auth/OAuth/Amazon.php +++ b/src/Auth/OAuth/Amazon.php @@ -7,6 +7,7 @@ use Auth\OAuth; // Reference Material // https://developer.amazon.com/docs/login-with-amazon/authorization-code-grant.html // https://developer.amazon.com/docs/login-with-amazon/register-web.html +// https://developer.amazon.com/docs/login-with-amazon/obtain-customer-profile.html class Amazon extends OAuth { /** From b7e524f12587767617487dc05197b74c2925e38f Mon Sep 17 00:00:00 2001 From: Silvia O'Dwyer Date: Sat, 5 Oct 2019 16:20:41 +0100 Subject: [PATCH 06/28] Updated documentation and contributor guidelines. --- CONTRIBUTING.md | 16 ++++++++-------- docs/AddOAuthProvider.md | 15 +++++++++------ docs/EnvironmentVariables.md | 12 ++++++------ 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a1d0e90ec4..9cf174abfd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # Contributing -We would ❤️ for you to contribute to Appwrite and help make it better! As a contributor, here are the guidelines we would like you to follow: +We would ❤️ for you to contribute to Appwrite and help make it better! As a contributor, here are the guidelines we would like you to follow: ## Code of Conduct @@ -8,7 +8,7 @@ Help us keep Appwrite open and inclusive. Please read and follow our [Code of Co ## Technology Stack -To start helping us to improve Appwrite server, prior knowledge of Appwrite technology stack can help you with getting started. +To start helping us to improve Appwrite server, prior knowledge of Appwrite's technology stack can help you with getting started. Appwrite stack is combined from a variety of open-source technologies and tools. Appwrite backend API is written primarily with PHP version 7 and above on top of the Utopia PHP framework. Appwrite frontend is built with tools like gulp, less and litespeed.js. We use Docker as the container technology to package the Appwrite server for easy integration on cloud, on-premise or local hosts. @@ -26,9 +26,9 @@ Appwrite stack is combined from a variety of open-source technologies and tools. ## Package Managers -Appwrite is using a package manager for managing code dependencies for both backend and frontend development. We try our best to avoid creating any unnecessary and any new dependency to the project is subjected to a lead developer review and approval. +Appwrite uses a package manager for managing code dependencies for both backend and frontend development. We try our best to avoid creating any unnecessary and any new dependency to the project is subjected to a lead developer review and approval. -Many of Appwrite internal modules are also used as dependencies to allow other Appwrite's projects to reuse them and as a way to contribute them back to the community. +Many of Appwrite's internal modules are also used as dependencies to allow other Appwrite's projects to reuse them and as a way to contribute them back to the community. Appwrite uses PHPs Composer for managing dependencies on the server-side and JS NPM for managing dependencies on the frontend side. @@ -44,7 +44,7 @@ Appwrite is built to scale. Please keep in mind that the Appwrite stack can run We wish Appwrite will be as easy to set up and in a single, localhost and easy to grow to a large environment with thousands and even hundreds of instances. -When contributing code please take into account the following considerations: +When contributing code, please take into account the following considerations: * Response Time * Throughput @@ -57,11 +57,11 @@ When contributing code please take into account the following considerations: ## Architecture -Appwrite current structure is a combination of both Monolithic and Microservice architectures, but our final goal, as we grow is to be using only microservices. +Appwrite's current structure is a combination of both Monolithic and Microservice architectures, but our final goal, as we grow is to be using only microservices. ### The Monolithic Part -Appwrite main API container is designed as a monolithic app. This is a decision we made to allow us to develop the project faster while still being a very small team. +Appwrite's main API container is designed as a monolithic app. This is a decision we made to allow us to develop the project faster while still being a very small team. Although the Appwrite API is a monolithic app, it has a very clear separation of concern as each internal service or worker is separated by its container which will allow us as we grow to start breaking services for better maintenance and scalability. @@ -121,6 +121,6 @@ Before running the command make sure you have proper write permissions to Appwri ## Tutorials -From time to time our team will add tutorials that will help contributors find there way in the Appwrite source code. Below is a list of currently available tutorials: +From time to time our team will add tutorials that will help contributors find their way in the Appwrite source code. Below is a list of currently available tutorials: * [Adding Support for a New OAuth Provider](./docs/AddOAuthProvider.md) diff --git a/docs/AddOAuthProvider.md b/docs/AddOAuthProvider.md index c6eb210a3c..bbb20e138f 100644 --- a/docs/AddOAuthProvider.md +++ b/docs/AddOAuthProvider.md @@ -1,24 +1,27 @@ # Adding a New OAuth Provider -This document is part of the Appwrite contributors' guide. Before you continue reading this document make sure you have read the [code of conduct](../CODE_OF_CONDUCT.md) and the [contributing guide](../CONTRIBUTING.md). +This document is part of the Appwrite contributors' guide. Before you continue reading this document make sure you have read the [Code of Conduct](../CODE_OF_CONDUCT.md) and the [Contributing Guide](../CONTRIBUTING.md). ## Getting Started ### Agenda -OAuth providers help users to log in easily to apps and websites without the need to provide passwords or any other type of credentials. Appwrite goal is to have support from as many **major** OAuth providers as possible. +OAuth providers help users to log in easily to apps and websites without the need to provide passwords or any other type of credentials. Appwrite's goal is to have support from as many **major** OAuth providers as possible. As of the writing of these lines, we do not accept any minor OAuth providers. For us to accept some smaller and potentially unlimited number of OAuth providers, some product design and software architecture changes must be applied first. ### List Your new Provider -The first step to follow in adding a new OAuth provider is to add it to the list in providers config file array, located at: +The first step in adding a new OAuth provider is to add it to the list in providers config file array, located at: ``` ./app/config/providers.php ``` -Make sure to fill all data needed and that your provider array key name is in camelCase format and has no spaces or special characters. +Make sure to fill all data needed and that your provider array key name: + +- is in camelCase format +- has no spaces or special characters. ### Add Provider Logo @@ -36,7 +39,7 @@ Create a new class that extends the basic OAuth provider abstract class in this Note that the class name should start with a capital letter as PHP FIG standards suggest. -Once a new class is created, you can start to implement your new provider's login flow. The best way to do this right is to have a look at another provider's implementation and try to follow the same standards. +Once a new class is created, you can start to implement your new provider's login flow. The best way to do this corrrectly is to have a look at another provider's implementation and try to follow the same standards. Please mention in your documentation what resources or API docs you used to implement the provider's OAuth protocol. @@ -46,4 +49,4 @@ After you finished adding your new provider to Appwrite you should be able to se Add credentials and check both a successful and a failed login (where the user rejects integration on provider page). -If everything goes well, just send us the pull request and be ready to respond to any feedback which can arise during our code review. +If everything goes well, just submit a pull request and be ready to respond to any feedback which can arise during our code review. diff --git a/docs/EnvironmentVariables.md b/docs/EnvironmentVariables.md index cd2d55ea92..ad2adae667 100644 --- a/docs/EnvironmentVariables.md +++ b/docs/EnvironmentVariables.md @@ -6,15 +6,15 @@ Appwrite environment variables allow you to edit your server setup configuration ### _APP_ENV -Set your server running environment. By default the var is set to 'development' when deploying to production, change to: 'production'. +Set your server running environment. By default the var is set to 'development'. When deploying to production, change to: 'production'. ### _APP_OPTIONS_ABUSE -Allows you to disabled abuse checks and API rate limiting. By default set to 'enabled'. To cancel the abuse checking set to 'disabled'. It is not recommended to disable this check-in production environment. +Allows you to disable abuse checks and API rate limiting. By default set to 'enabled'. To cancel the abuse checking, set to 'disabled'. It is not recommended to disable this check in a production environment. ### _APP_OPENSSL_KEY_V1 -This is your server private secret key that is used to encrypt all sensitive data on your server. Appwrite server is encrypting all secret data on your server like webhooks HTTP passwords, user sessions, and the storage files. The var is not set by default, if you wish to take advantage of Appwrite encryption capabilities you should change it and make sure to keep it a secret. +This is your server private secret key that is used to encrypt all sensitive data on your server. Appwrite server encrypts all secret data on your server like webhooks, HTTP passwords, user sessions, and storage files. The var is not set by default, if you wish to take advantage of Appwrite encryption capabilities you should change it and make sure to keep it a secret. ### _APP_CONSOLE_WHITELIST_EMAILS @@ -34,7 +34,7 @@ To enable activate this option, pass a list of allowed IP addresses separated by ## Redis Server -Appwrite is using a Redis server for managing cache, queues and scheduled tasks. The Redis env vars are used to allow Appwrite server to connect to the Redis container. +Appwrite uses a Redis server for managing cache, queues and scheduled tasks. The Redis env vars are used to allow Appwrite server to connect to the Redis container. ### _APP_REDIS_HOST @@ -70,7 +70,7 @@ MariaDB server database schema. Default value is: 'appwrite' ## InfluxDB -Appwrite is using an InfluxDB server for managing time-series data and server stats. The InfluxDB env vars are used to allow Appwrite server to connect to the InfluxDB container. +Appwrite uses an InfluxDB server for managing time-series data and server stats. The InfluxDB env vars are used to allow Appwrite server to connect to the InfluxDB container. ### _APP_INFLUXDB_HOST @@ -82,7 +82,7 @@ InfluxDB server TCP port. Default value is: '8086' ## StatsD -Appwrite is using a StatsD server for aggregating and sending stats data over a fast UDP connection. The StatsD env vars are used to allow Appwrite server to connect to the StatsD container. +Appwrite uses a StatsD server for aggregating and sending stats data over a fast UDP connection. The StatsD env vars are used to allow Appwrite server to connect to the StatsD container. ### _APP_INFLUXDB_HOST From b19f62b6b0e779ace7a624bd508282998483bd28 Mon Sep 17 00:00:00 2001 From: sevenindirecto Date: Sat, 5 Oct 2019 19:36:29 +0200 Subject: [PATCH 07/28] Add Slovenian localization --- app/config/locale/sl.continents.php | 11 + app/config/locale/sl.countries.php | 198 ++++++++++++++++++ app/config/locale/sl.php | 21 ++ .../templates/sl.email.auth.confirm.tpl | 24 +++ .../templates/sl.email.auth.invitation.tpl | 27 +++ .../templates/sl.email.auth.recovery.tpl | 24 +++ 6 files changed, 305 insertions(+) create mode 100644 app/config/locale/sl.continents.php create mode 100644 app/config/locale/sl.countries.php create mode 100644 app/config/locale/sl.php create mode 100644 app/config/locale/templates/sl.email.auth.confirm.tpl create mode 100644 app/config/locale/templates/sl.email.auth.invitation.tpl create mode 100644 app/config/locale/templates/sl.email.auth.recovery.tpl diff --git a/app/config/locale/sl.continents.php b/app/config/locale/sl.continents.php new file mode 100644 index 0000000000..365662d62c --- /dev/null +++ b/app/config/locale/sl.continents.php @@ -0,0 +1,11 @@ + 'Afrika', + 'AN' => 'Antarktika', + 'AS' => 'Azija', + 'EU' => 'Evropa', + 'NA' => 'Severna Amerika', + 'OC' => 'Oceanija', + 'SA' => 'Južna Amerika', +]; diff --git a/app/config/locale/sl.countries.php b/app/config/locale/sl.countries.php new file mode 100644 index 0000000000..79589a345f --- /dev/null +++ b/app/config/locale/sl.countries.php @@ -0,0 +1,198 @@ + 'Afganistan', + 'AO' => 'Angola', + 'AL' => 'Albanija', + 'AD' => 'Andora', + 'AE' => 'Združeni Arabski Emirati', + 'AR' => 'Argenitna', + 'AM' => 'Armenija', + 'AG' => 'Antigva in Barbuda', + 'AU' => 'Avstralija', + 'AT' => 'Avstrija', + 'AZ' => 'Azerbajdžan', + 'BI' => 'Burundi ', + 'BE' => 'Belgija', + 'BJ' => 'Benin', + 'BF' => 'Burkina Faso', + 'BD' => 'Bangladeš', + 'BG' => 'Bolgarija', + 'BH' => 'Bahrajn', + 'BS' => 'Bahami', + 'BA' => 'Bosna in Hercegovina', + 'BY' => 'Belorusija', + 'BZ' => 'Belize', + 'BO' => 'Bolivija', + 'BR' => 'Brazilija', + 'BB' => 'Barbados', + 'BN' => 'Brunej', + 'BT' => 'Butan', + 'BW' => 'Bocvana', + 'CF' => 'Srednjeafriška republika', + 'CA' => 'Kanada', + 'CH' => 'Švica', + 'CL' => 'Čile', + 'CN' => 'Kitajska', + 'CI' => 'Slonokoščena obala', + 'CM' => 'Kamerun', + 'CD' => 'Demokratična republika Kongo', + 'CG' => 'Kongo', + 'CO' => 'Kolumbija', + 'KM' => 'Komori', + 'CV' => 'Kapverdski otoki (Zelenortski otoki)', + 'CR' => 'Kostarika', + 'CU' => 'Kuba', + 'CY' => 'Ciper', + 'CZ' => 'Češka', + 'DE' => 'Nemčija', + 'DJ' => 'Džibuti', + 'DM' => 'Dominika', + 'DK' => 'Danska', + 'DO' => 'Dominikanska republika', + 'DZ' => 'Alžirija', + 'EC' => 'Ekvador', + 'EG' => 'Egipt', + 'ER' => 'Eritreja', + 'ES' => 'Španija', + 'EE' => 'Estonija', + 'ET' => 'Etiopija', + 'FI' => 'Finska', + 'FJ' => 'Fidži', + 'FR' => 'Francija', + 'FM' => 'Mikronezija', + 'GA' => 'Gabon', + 'GB' => 'Velika Britanija', + 'GE' => 'Gruzija', + 'GH' => 'Gana', + 'GN' => 'Gvineja', + 'GM' => 'Gambija', + 'GW' => 'Gvineja-Bissau', + 'GQ' => 'Ekvatorialna Gvineja', + 'GR' => 'Grčija', + 'GD' => 'Grenada', + 'GT' => 'Gvatemala', + 'GY' => 'Gvajana', + 'HN' => 'Honduras', + 'HR' => 'Hrvaška', + 'HT' => 'Haiti', + 'HU' => 'Madžarska', + 'ID' => 'Indonezija', + 'IN' => 'Indija', + 'IE' => 'Irska', + 'IR' => 'Iran', + 'IQ' => 'Irak', + 'IS' => 'Islandija', + 'IL' => 'Izrael', + 'IT' => 'Italija', + 'JM' => 'Jamajka', + 'JO' => 'Jordanija', + 'JP' => 'Japonska', + 'KZ' => 'Kazahstan', + 'KE' => 'Kenija', + 'KG' => 'Kirgizistan (Kirgizija)', + 'KH' => 'Kambodža', + 'KI' => 'Kiribati', + 'KN' => 'Sveti Kits in Nevis', + 'KR' => 'Južna Koreja', + 'KW' => 'Kuvajt', + 'LA' => 'Laos', + 'LB' => 'Libanon', + 'LR' => 'Liberija', + 'LY' => 'Libija', + 'LC' => 'Sveta Lucija', + 'LI' => 'Lihtenštajn', + 'LK' => 'Šri Lanka', + 'LS' => 'Lesoto', + 'LT' => 'Litva', + 'LU' => 'Luksemburg', + 'LV' => 'Latvija', + 'MA' => 'Maroko', + 'MC' => 'Monako', + 'MD' => 'Moldavija', + 'MG' => 'Madagaskar', + 'MV' => 'Maldivi', + 'MX' => 'Mehika', + 'MH' => 'Maršalovi otoki', + 'MK' => 'Makedonija', + 'ML' => 'Mali', + 'MT' => 'Malta', + 'MM' => 'Mjanmar', + 'ME' => 'Črna Gora', + 'MN' => 'Mongolija', + 'MZ' => 'Mozambik', + 'MR' => 'Mavretanija', + 'MU' => 'Mauricius (Moris)', + 'MW' => 'Malavi', + 'MY' => 'Malezija', + 'NA' => 'Namibija', + 'NE' => 'Niger ', + 'NG' => 'Nigerija', + 'NI' => 'Nikaragva', + 'NL' => 'Nizozemska', + 'NO' => 'Norveška', + 'NP' => 'Nepal', + 'NR' => 'Nauru', + 'NZ' => 'Nova Zelandija', + 'OM' => 'Oman', + 'PK' => 'Pakistan', + 'PA' => 'Panama', + 'PE' => 'Peru', + 'PH' => 'Filipini', + 'PW' => 'Palau ', + 'PG' => 'Papua Nova Gvineja', + 'PL' => 'Poljska', + 'KP' => 'Severna Koreja', + 'PT' => 'Portugalska', + 'PY' => 'Paragvaj', + 'QA' => 'Katar', + 'RO' => 'Romunija', + 'RU' => 'Ruska federacija', + 'RW' => 'Ruanda', + 'SA' => 'Savdska Arabija', + 'SD' => 'Sudan', + 'SN' => 'Senegal', + 'SG' => 'Singapur', + 'SB' => 'Solomonovi otoki', + 'SL' => 'Siera Leone', + 'SV' => 'Salvador', + 'SM' => 'San Marino', + 'SO' => 'Somalija', + 'RS' => 'Srbija', + 'SS' => 'Južni Sudan', + 'ST' => 'Sao Tome in Principe', + 'SR' => 'Surinam', + 'SK' => 'Slovaška', + 'SI' => 'Slovenija', + 'SE' => 'Švedska', + 'SZ' => 'Svazi', + 'SC' => 'Sejšeli', + 'SY' => 'Sirija', + 'TD' => 'Čad', + 'TG' => 'Togo', + 'TH' => 'Tajska', + 'TJ' => 'Tadžikistan', + 'TM' => 'Turkmenistan', + 'TL' => 'Vzhodni Timor', + 'TO' => 'Tonga', + 'TT' => 'Trinidad in Tobago', + 'TN' => 'Tunizija', + 'TR' => 'Turčija', + 'TV' => 'Tuvalu', + 'TZ' => 'Tanzanija', + 'UG' => 'Uganda', + 'UA' => 'Ukrajina', + 'UY' => 'Urugvaj', + 'US' => 'Združene države Amerike', + 'UZ' => 'Uzbekistan', + 'VA' => 'Vatikan', + 'VC' => 'Sveti Vincent in Grenadini', + 'VE' => 'Venezuela', + 'VN' => 'Vietnam', + 'VU' => 'Republika Vanuatu', + 'WS' => 'Samoa', + 'YE' => 'Jemen', + 'ZA' => 'Južna afrika', + 'ZM' => 'Zambija', + 'ZW' => 'Zimbabve', +]; diff --git a/app/config/locale/sl.php b/app/config/locale/sl.php new file mode 100644 index 0000000000..4098628c29 --- /dev/null +++ b/app/config/locale/sl.php @@ -0,0 +1,21 @@ + '"Srčika modrosti je umetnost védenja, kaj spregledati."', // This is the line printed in the homepage and console 'view-source' + 'settings.locale' => 'sl', + 'settings.direction' => 'ltr', + + // Service - Users + 'auth.emails.team' => '%s Ekipa', + 'auth.emails.confirm.title' => 'Potrditev računa', + 'auth.emails.confirm.body' => 'sl.email.auth.confirm.tpl', + 'auth.emails.recovery.title' => 'Ponastavitev gesla', + 'auth.emails.recovery.body' => 'sl.email.auth.recovery.tpl', + 'auth.emails.invitation.title' => 'Povabilo v %s Ekipo za %s', + 'auth.emails.invitation.body' => 'sl.email.auth.invitation.tpl', + + 'locale.country.unknown' => 'Neznano', + + 'countries' => include 'sl.countries.php', + 'continents' => include 'sl.continents.php', +]; diff --git a/app/config/locale/templates/sl.email.auth.confirm.tpl b/app/config/locale/templates/sl.email.auth.confirm.tpl new file mode 100644 index 0000000000..e7f15272da --- /dev/null +++ b/app/config/locale/templates/sl.email.auth.confirm.tpl @@ -0,0 +1,24 @@ + + +
+ Pozdravljeni {{name}}, +
+
+ Sledite tej povezavi za potrditev vašega email naslova. +
+ {{redirect}} +
+
+ Če niste zahtevali potrditve tega naslova, lahko to sporočilo prezrete. +
+
+ Hvala, +
+ {{project}} ekipa +
\ No newline at end of file diff --git a/app/config/locale/templates/sl.email.auth.invitation.tpl b/app/config/locale/templates/sl.email.auth.invitation.tpl new file mode 100644 index 0000000000..13467789a3 --- /dev/null +++ b/app/config/locale/templates/sl.email.auth.invitation.tpl @@ -0,0 +1,27 @@ + + +
+ Pozdravljeni, +
+
+ To sporočilo vam je bilo posredovano, ker vas je {{owner}} povabil/a, da postanete član {{team}} ekipe za {{project}}. +
+
+ Sledite tej povezavi, da se pridružite {{team}} ekipi: +
+ {{redirect}} +
+
+ Če vas ne zanima, lahko to sporočilo prezrete. +
+
+ Hvala, +
+ {{project}} ekipa +
diff --git a/app/config/locale/templates/sl.email.auth.recovery.tpl b/app/config/locale/templates/sl.email.auth.recovery.tpl new file mode 100644 index 0000000000..701805e12e --- /dev/null +++ b/app/config/locale/templates/sl.email.auth.recovery.tpl @@ -0,0 +1,24 @@ + + +
+ Pozdravljeni {{name}}, +
+
+ Za ponastavitev vašega {{project}} gesla sledite tej povezavi. +
+ {{redirect}} +
+
+ Če niste zahtevali ponastavitve gesla, lahko to sporočilo prezrete. +
+
+ Hvala, +
+ {{project}} ekipa +
From 480bea1fecd0ef22882945e7d8016f2f5331d977 Mon Sep 17 00:00:00 2001 From: Lorenz Henk Date: Sat, 5 Oct 2019 22:08:32 +0200 Subject: [PATCH 08/28] Fix typos in german translation of template files --- app/config/locale/templates/de.email.auth.confirm.tpl | 2 +- app/config/locale/templates/de.email.auth.invitation.tpl | 4 ++-- app/config/locale/templates/de.email.auth.recovery.tpl | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/config/locale/templates/de.email.auth.confirm.tpl b/app/config/locale/templates/de.email.auth.confirm.tpl index ae4ff2729b..2a3211bbab 100644 --- a/app/config/locale/templates/de.email.auth.confirm.tpl +++ b/app/config/locale/templates/de.email.auth.confirm.tpl @@ -18,7 +18,7 @@ Bitte ignoriere diese Nachricht, wenn du das Verifizieren deiner E-Mail Adresse nicht beantragt hast.

- Vielen dank, + Vielen Dank,
{{project}} Team \ No newline at end of file diff --git a/app/config/locale/templates/de.email.auth.invitation.tpl b/app/config/locale/templates/de.email.auth.invitation.tpl index dc218116a5..c6d9162730 100644 --- a/app/config/locale/templates/de.email.auth.invitation.tpl +++ b/app/config/locale/templates/de.email.auth.invitation.tpl @@ -13,7 +13,7 @@ diese E-Mail wurde dir geschickt, weil {{owner}} dich eingeladen hat Teammitglied im Team {{team}} bei {{project}} zu werden.

- Folge diesem Link um dem {{team}} Team beizutreten: + Folge diesem Link um dem Team {{team}} beizutreten:
{{redirect}}
@@ -21,7 +21,7 @@ Wenn du daran nicht interessiert bist, kannst du diese Nachricht ignorieren.

- Vielen dank, + Vielen Dank,
{{project}} Team diff --git a/app/config/locale/templates/de.email.auth.recovery.tpl b/app/config/locale/templates/de.email.auth.recovery.tpl index c9484a011c..6d2ccd7bae 100644 --- a/app/config/locale/templates/de.email.auth.recovery.tpl +++ b/app/config/locale/templates/de.email.auth.recovery.tpl @@ -18,7 +18,7 @@ Bitte ignoriere diese Nachricht, wenn du das Zurücksetzen deines Passworts nicht beantragt hast.

- Vielen dank, + Vielen Dank,
{{project}} Team From c21327efe9fa8eae513c9389904c46dbd826ee69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Skowro=C5=84ski?= <> Date: Sat, 5 Oct 2019 22:14:58 +0200 Subject: [PATCH 09/28] Translate Appwrite Locale and Email templates to Polish (#25) --- app/config/locale/pl.continents.php | 11 + app/config/locale/pl.countries.php | 198 ++++++++++++++++++ app/config/locale/pl.php | 21 ++ .../templates/pl.email.auth.confirm.tpl | 24 +++ .../templates/pl.email.auth.invitation.tpl | 27 +++ .../templates/pl.email.auth.recovery.tpl | 24 +++ 6 files changed, 305 insertions(+) create mode 100644 app/config/locale/pl.continents.php create mode 100644 app/config/locale/pl.countries.php create mode 100644 app/config/locale/pl.php create mode 100644 app/config/locale/templates/pl.email.auth.confirm.tpl create mode 100644 app/config/locale/templates/pl.email.auth.invitation.tpl create mode 100644 app/config/locale/templates/pl.email.auth.recovery.tpl diff --git a/app/config/locale/pl.continents.php b/app/config/locale/pl.continents.php new file mode 100644 index 0000000000..48a0b54435 --- /dev/null +++ b/app/config/locale/pl.continents.php @@ -0,0 +1,11 @@ + 'Africa', + 'AN' => 'Antarctica', + 'AS' => 'Asia', + 'EU' => 'Europe', + 'NA' => 'North America', + 'OC' => 'Oceania', + 'SA' => 'South America', +]; diff --git a/app/config/locale/pl.countries.php b/app/config/locale/pl.countries.php new file mode 100644 index 0000000000..60c75792b7 --- /dev/null +++ b/app/config/locale/pl.countries.php @@ -0,0 +1,198 @@ + 'Afghanistan', + 'AO' => 'Angola', + 'AL' => 'Albania', + 'AD' => 'Andorra', + 'AE' => 'United Arab Emirates', + 'AR' => 'Argentina', + 'AM' => 'Armenia', + 'AG' => 'Antigua and Barbuda', + 'AU' => 'Australia', + 'AT' => 'Austria', + 'AZ' => 'Azerbaijan', + 'BI' => 'Burundi', + 'BE' => 'Belgium', + 'BJ' => 'Benin', + 'BF' => 'Burkina Faso', + 'BD' => 'Bangladesh', + 'BG' => 'Bulgaria', + 'BH' => 'Bahrain', + 'BS' => 'Bahamas', + 'BA' => 'Bosnia and Herzegovina', + 'BY' => 'Belarus', + 'BZ' => 'Belize', + 'BO' => 'Bolivia', + 'BR' => 'Brazil', + 'BB' => 'Barbados', + 'BN' => 'Brunei', + 'BT' => 'Bhutan', + 'BW' => 'Botswana', + 'CF' => 'Central African Republic', + 'CA' => 'Canada', + 'CH' => 'Switzerland', + 'CL' => 'Chile', + 'CN' => 'China', + 'CI' => 'Ivory Coast', + 'CM' => 'Cameroon', + 'CD' => 'DR Congo', + 'CG' => 'Republic of the Congo', + 'CO' => 'Colombia', + 'KM' => 'Comoros', + 'CV' => 'Cape Verde', + 'CR' => 'Costa Rica', + 'CU' => 'Cuba', + 'CY' => 'Cyprus', + 'CZ' => 'Czechia', + 'DE' => 'Germany', + 'DJ' => 'Djibouti', + 'DM' => 'Dominica', + 'DK' => 'Denmark', + 'DO' => 'Dominican Republic', + 'DZ' => 'Algeria', + 'EC' => 'Ecuador', + 'EG' => 'Egypt', + 'ER' => 'Eritrea', + 'ES' => 'Spain', + 'EE' => 'Estonia', + 'ET' => 'Ethiopia', + 'FI' => 'Finland', + 'FJ' => 'Fiji', + 'FR' => 'France', + 'FM' => 'Micronesia', + 'GA' => 'Gabon', + 'GB' => 'United Kingdom', + 'GE' => 'Georgia', + 'GH' => 'Ghana', + 'GN' => 'Guinea', + 'GM' => 'Gambia', + 'GW' => 'Guinea-Bissau', + 'GQ' => 'Equatorial Guinea', + 'GR' => 'Greece', + 'GD' => 'Grenada', + 'GT' => 'Guatemala', + 'GY' => 'Guyana', + 'HN' => 'Honduras', + 'HR' => 'Croatia', + 'HT' => 'Haiti', + 'HU' => 'Hungary', + 'ID' => 'Indonesia', + 'IN' => 'India', + 'IE' => 'Ireland', + 'IR' => 'Iran', + 'IQ' => 'Iraq', + 'IS' => 'Iceland', + 'IL' => 'Israel', + 'IT' => 'Italy', + 'JM' => 'Jamaica', + 'JO' => 'Jordan', + 'JP' => 'Japan', + 'KZ' => 'Kazakhstan', + 'KE' => 'Kenya', + 'KG' => 'Kyrgyzstan', + 'KH' => 'Cambodia', + 'KI' => 'Kiribati', + 'KN' => 'Saint Kitts and Nevis', + 'KR' => 'South Korea', + 'KW' => 'Kuwait', + 'LA' => 'Laos', + 'LB' => 'Lebanon', + 'LR' => 'Liberia', + 'LY' => 'Libya', + 'LC' => 'Saint Lucia', + 'LI' => 'Liechtenstein', + 'LK' => 'Sri Lanka', + 'LS' => 'Lesotho', + 'LT' => 'Lithuania', + 'LU' => 'Luxembourg', + 'LV' => 'Latvia', + 'MA' => 'Morocco', + 'MC' => 'Monaco', + 'MD' => 'Moldova', + 'MG' => 'Madagascar', + 'MV' => 'Maldives', + 'MX' => 'Mexico', + 'MH' => 'Marshall Islands', + 'MK' => 'Macedonia', + 'ML' => 'Mali', + 'MT' => 'Malta', + 'MM' => 'Myanmar', + 'ME' => 'Montenegro', + 'MN' => 'Mongolia', + 'MZ' => 'Mozambique', + 'MR' => 'Mauritania', + 'MU' => 'Mauritius', + 'MW' => 'Malawi', + 'MY' => 'Malaysia', + 'NA' => 'Namibia', + 'NE' => 'Niger', + 'NG' => 'Nigeria', + 'NI' => 'Nicaragua', + 'NL' => 'Netherlands', + 'NO' => 'Norway', + 'NP' => 'Nepal', + 'NR' => 'Nauru', + 'NZ' => 'New Zealand', + 'OM' => 'Oman', + 'PK' => 'Pakistan', + 'PA' => 'Panama', + 'PE' => 'Peru', + 'PH' => 'Philippines', + 'PW' => 'Palau', + 'PG' => 'Papua New Guinea', + 'PL' => 'Poland', + 'KP' => 'North Korea', + 'PT' => 'Portugal', + 'PY' => 'Paraguay', + 'QA' => 'Qatar', + 'RO' => 'Romania', + 'RU' => 'Russia', + 'RW' => 'Rwanda', + 'SA' => 'Saudi Arabia', + 'SD' => 'Sudan', + 'SN' => 'Senegal', + 'SG' => 'Singapore', + 'SB' => 'Solomon Islands', + 'SL' => 'Sierra Leone', + 'SV' => 'El Salvador', + 'SM' => 'San Marino', + 'SO' => 'Somalia', + 'RS' => 'Serbia', + 'SS' => 'South Sudan', + 'ST' => 'São Tomé and Príncipe', + 'SR' => 'Suriname', + 'SK' => 'Slovakia', + 'SI' => 'Slovenia', + 'SE' => 'Sweden', + 'SZ' => 'Swaziland', + 'SC' => 'Seychelles', + 'SY' => 'Syria', + 'TD' => 'Chad', + 'TG' => 'Togo', + 'TH' => 'Thailand', + 'TJ' => 'Tajikistan', + 'TM' => 'Turkmenistan', + 'TL' => 'Timor-Leste', + 'TO' => 'Tonga', + 'TT' => 'Trinidad and Tobago', + 'TN' => 'Tunisia', + 'TR' => 'Turkey', + 'TV' => 'Tuvalu', + 'TZ' => 'Tanzania', + 'UG' => 'Uganda', + 'UA' => 'Ukraine', + 'UY' => 'Uruguay', + 'US' => 'United States', + 'UZ' => 'Uzbekistan', + 'VA' => 'Vatican City', + 'VC' => 'Saint Vincent and the Grenadines', + 'VE' => 'Venezuela', + 'VN' => 'Vietnam', + 'VU' => 'Vanuatu', + 'WS' => 'Samoa', + 'YE' => 'Yemen', + 'ZA' => 'South Africa', + 'ZM' => 'Zambia', + 'ZW' => 'Zimbabwe', +]; diff --git a/app/config/locale/pl.php b/app/config/locale/pl.php new file mode 100644 index 0000000000..cbd1dd2f51 --- /dev/null +++ b/app/config/locale/pl.php @@ -0,0 +1,21 @@ + '"The art of being wise is the art of knowing what to overlook."', // This is the line printed in the homepage and console 'view-source' + 'settings.locale' => 'en', + 'settings.direction' => 'ltr', + + // Service - Users + 'auth.emails.team' => '%s Team', + 'auth.emails.confirm.title' => 'Account Confirmation', + 'auth.emails.confirm.body' => 'en.email.auth.confirm.tpl', + 'auth.emails.recovery.title' => 'Password Reset', + 'auth.emails.recovery.body' => 'en.email.auth.recovery.tpl', + 'auth.emails.invitation.title' => 'Invitation to %s Team at %s', + 'auth.emails.invitation.body' => 'en.email.auth.invitation.tpl', + + 'locale.country.unknown' => 'Unknown', + + 'countries' => include 'en.countries.php', + 'continents' => include 'en.continents.php', +]; diff --git a/app/config/locale/templates/pl.email.auth.confirm.tpl b/app/config/locale/templates/pl.email.auth.confirm.tpl new file mode 100644 index 0000000000..92078114e3 --- /dev/null +++ b/app/config/locale/templates/pl.email.auth.confirm.tpl @@ -0,0 +1,24 @@ + + +
+ Hello {{name}}, +
+
+ Follow this link to verify your email address. +
+ {{redirect}} +
+
+ If you didn’t ask to verify this address, you can ignore this message. +
+
+ Thanks, +
+ {{project}} team +
\ No newline at end of file diff --git a/app/config/locale/templates/pl.email.auth.invitation.tpl b/app/config/locale/templates/pl.email.auth.invitation.tpl new file mode 100644 index 0000000000..fda2bbcce0 --- /dev/null +++ b/app/config/locale/templates/pl.email.auth.invitation.tpl @@ -0,0 +1,27 @@ + + +
+ Hello, +
+
+ This mail was sent to you because {{owner}} wanted to invite you to become a team member at the {{team}} team over at {{project}}. +
+
+ Follow this link to join the {{team}} team: +
+ {{redirect}} +
+
+ If you are not interested, you can ignore this message. +
+
+ Thanks, +
+ {{project}} team +
diff --git a/app/config/locale/templates/pl.email.auth.recovery.tpl b/app/config/locale/templates/pl.email.auth.recovery.tpl new file mode 100644 index 0000000000..7a6fa2fa60 --- /dev/null +++ b/app/config/locale/templates/pl.email.auth.recovery.tpl @@ -0,0 +1,24 @@ + + +
+ Hello {{name}}, +
+
+ Follow this link to reset your {{project}} password. +
+ {{redirect}} +
+
+ If you didn’t ask to reset your password, you can ignore this message. +
+
+ Thanks, +
+ {{project}} team +
From d126ebc787c93333ed1cb1d8ac7400958cbf7987 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sun, 6 Oct 2019 02:05:30 +0530 Subject: [PATCH 10/28] chore: added amazon image --- public/images/oauth/amazon.png | Bin 0 -> 4989 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/images/oauth/amazon.png diff --git a/public/images/oauth/amazon.png b/public/images/oauth/amazon.png new file mode 100644 index 0000000000000000000000000000000000000000..9ce2da81e0a6929c408a1cbb0f05e7b9c3fb5d07 GIT binary patch literal 4989 zcmai2cTm$oxBbxsq$Pkf=|u=dIzo^hgwT`@0szZ|2Q>v$K2l-n(aacINE8Gn;hF!ieP}-$eibSm4Gmt8+yD zr!!EWk7qH|H0MC;rDv`O0PoV7PTc9vZDEA5l{o-}Ujcxa#{h7A?uz*X0Kp0Xu;vB; z&|CoE_Ah9%ynY_IaM#ob2Aut;y=Z-tdG2BKH+ICF*lQA8cQF-D+W1_&<#X_Kg!n76X!C6E3YBfK(||)wz2Kx8NcQ@7%kmuQSD2?j&gB22MuE?J65Zhr;j+@ zmW2PSnW#2O1N1V0_HeTLz(&?fLCCLLOYdK2Wh9CyjmvM^O<)M|I3lQnU0+n6`&AZ7 zP@5REW4u5yFiKNvgdqZy3va;Er)(|ll-e3Reavmq!6kjG8!axv2p=gNi?l36LifVR z^V0;os+k=MVL)?jEnV%y*WZlpj{ehbAUvj~%SEH*?(ry`+ck7+LcXcCQd}2i(nry7 z2gh(`U~a(f>rDUqQ^!4b=l#`T!5f3Y2G@cLF|)56MMXtCpy(3w%*3}9(td5ry;E(w zRsV+BMZ^)0?)6=u;R3@U8Y}1LaZi(fy(LXBiCh;U{p(-T5awD-7=>LwwB zVY1_v{8IVYF^~81>R!Vi6{*_g@n)OTt=OM^GTH5|#DzdlR~+BUCVJDa#!<)Jr%Jqc z9oml&KHck+sSL{hZRI+Dn)CJb7KtZZcB%XpFc-m&$^5r{EB(iv86J&i$0Y3< z$tS%a@I7L$>Uwn0Zp#Dm9?e;h=V;?ZI@SNXZwd+qH7j(|nI9=vR_pS=DLu z6xOll^~?MD#1$TE;Zc1=%D082KCdA@d#5Vn$iEu*%nQk5tFMewZNd^~+tL)X%}O7> z3<0|Dt1IoOG4WD&?3HI~QHsaMLDZm_Ko*rj4X=v=pvco=Cfy@DEp2*yqRA7Qv8Q5e zf~cUq;@4{?eGQ%Oavx%)KmSev|A<>D__S2TJrVVB$ryn#ur{^6U#mJgJ1&^^6`E0Q zQ(qNHNEwmO3l;>Bf7!BnSGhLD> z`s0?<$9E+j#Mg|zIq%7=lN_=Dklyz*r%l)xb(^aou&?$>4sl9%>BqUuwQIUo_D5~f zfZW%0;2AhLNMcd%lo6tSO?~C3d%00!Y$7z_0vAw=;C6^NlmsKqs3b(Kz-$PAA9rdx zK({F1=JL_e&3=|U!A5jFy|Wx(_+9>Ymv4%Alxa;5^W9^O&v!CNmHSM{9(OB?oGGok zn%=y9>&hALoSs}9M9Zp;7RW{2-;OmX8Xt>pYK|hcJtDKI^85NE!w@}L5TDDO0VYa;>i{HH(R?DvWkQ`4KJ8M0hl1Hu z%RWCWu>*N++%j0m@N$hhO0|tR*y3(bC}2%+r=_M0O9UczT zbLsrx^1*y`)~?|O!A;;Q49%0e@F@3kEv@hs#vNaJ%V|YuWgd zGq%24iDq?sz0aaYzfU?_+1+DupVC^#ONUTd66^ZwC44T6Q&EF7X0E;>Ijj^>WoKnz z8cyG9X_i)5iTMJmMaf7viO4*YCULmDZ_f-7x@CM8K+z@ha7Y zw7%oIomP;_<5T*)QjY*JMgSyvljqr{BMkWdee}Vhcjk}u%18Y=gRzfG)S~(to;^Yr zV0!EP6LIhU4QKes%S!-0$Du~nrr#CnwcWsRVn3`IvomaZ&BQZP+=cw;kxr4Mv6lT= zdSQ>b=QMX`+GucIY+~}k1`x*gte3%h-L3R&2J#_J>;Z#psw!=5YmwOTe_DWXMpNfI z_r8WKRN&xlBR{=hb}1^p8tkFGLra^2o~&aDU-h>MiXyE@K6AQFR&lV(=vq2Kdd*<^ z=BNRY-KV>}#tv&AX0E;&TEArF8Ibl`JiV*+;FVl(1e-sh$tVq$)gYU?`}F>`>y&;| zL&G+Tcnd?f!XCX~nCPfr&+L3qUB^R7ZF-;dG<&X~y)`iLF+8U-Gw_-B^fDZ6e_I4~5W6-0(DISS5woS3cNI zeir4>NCFIy%)AKw?)J8$Es2T9n(~sdRfXfCY_L8jee#{~{nWXWzwczXrgHF9TR$w} zi==VCro&^W^ShYvAi)F&Bcp_=&F6~ff0OxZLC{vT*UX!u%>Z@gPW5=3Xkt4yZO=ktj1 zrlp%j+F|-PT}=R5m~PM)M&_s?EfTZ3yvJR_gk41I*2J76nkSwRW)WLW_>`qIJRbGU zBj@_rpX~(utP;8Vdu8~HMa^iZ^}i3cM#Mx{Wclxr4^-{7Nh^l2qD4d`6bu(l0%Di} zDlo|Q7R)NB(DKjr$&%+U_}dG)6k2!bqoc3yYx>WYTJ zMq;{EB$cNnK}OHN`x?W9!Q@$Q&YFR#kdqUNPNm}+7_8xP)nH_2(y;g*NuNO(?O2{Q zve^`L(61RCy3T8TB}Aw3Z38h>G;HRCPG;8G*4ZxKtTg7&d_;7>`o2Ar$Rsx_-Lua# z?`XCqpJ~4nO)!+!7d3~OVeV~N86ABcUcIJn(nVvbvtKcHE^oz;VT>a#5?=k*nTEQN zqSkA|B`0&(IoE^XCkg+bH~UKpRVlR z9;G95&4~G7?rgRSDW^K`d5`yA#D>!_%5w&g_2;H+mgtmCM@WC!F*TB($7`C(jD|hr zI!|tR@cvRdbIIY1SIq^J_ z%qoCljL(2`@HQ0;-i`jz?Y@L~Ym{33b~KnJO-uMB&QUD*vyqUWkm_BB;3bA1T5&ho zaV4Dz2Rc|)cpt;4_w2v_h#LLRg^pB26Dajj#TYWB-rxDG}63Jdpm1} zB&YUL3tf~>r)KkaaVP-x)~JC5Vb^!l86+}^ym-$!zOD;pd!YYjSr8jrZynNNi^)+M z_=z^AjX^$3m^-xWY9l3XbS%oq$UD-CzYw}Y7l;wSfs={@FoZkp)0S!?R;1(krAEO} z)ScH`ET|G(fbIoxc(S0AuB}lcbk~O|V7eXZhDQajGnGB8_Wgs`9w~@#PhQ;`vW*u9 z;c9PTJ{lG14O3H#DewiNE(}$5CwIdydVR}MoM`!eIP3RC)74zX2d?51kd*@Ai%yFE zcPZ`nZ5VY&|G$%m)gq!oFPiLz%*LWpnUw_cyyFiZV_UhV8k>9w=CP1DT0mx&8t7J; z*eM4zHj*{$U*iLWdtAP~qMVA55?AFepNaP;UeY4g{cYD5lHaw7tn!}rxj7KlgmuW- zl!S1WUKR4vjeDVtvmsV3e@Rvi;dkb)aLw~RY%XMAROZSJ{nYfCdFx6>n(l}DUxR=S ziX(|5wj>7f4U!l2$ZIdmydrugz)kMj^+cX2vTx9kX8xOgt-DQr(>_CG@0p`7)%kM8 zDn)Tg`)k-QmsilWV5n`AF`|WImzUGyJDdeNdFUpl1LQC9t%hyTsm)J z)73j26@N+zrdGaL6=D1t@!s-uzh1*cQ$RcS9!2Fxz1+`3w)f~7V?!LO-#^nhvo_h{ zndU}I5pOIXJ6E7q{eC%NjOkOSYsA3r;6L~&>2jNFWi^QwDSC+&?Lurj4U-Aa(tJ>+ zL6r!*O}vt%0t6c2Eu9yn1Q(+()uLQyky{`*|b)Bbsn zrUaD5Vz_6CsVT9vo?S_Rqdd{L;R&+Y*bvtAXoC|T+l{+irh!|HG5(UV$_n_i6xkh* zIVBSYZ&Z7gasarzmscQN<>`IWFkP zsyI&=ViU~?9=&%}s_*a+k4JOwyN1|5&#So2B2|gN1pq)sQoP)}OW#6*wwV!Yrtzy~ zw|ovf4RsLtvn*}@x84eM%Z%D?3oxVaA-~6)BSQbbn=R7}HrO;VWz5X>_2aFY2MGCp zV}tz;Q~VM-E6DWJSS0kh_lbIxH{xU`!P7h43>#Dp6Ue(@;!(FFDvax$kwD>VW5w^W z4!CRyDh^l&r!}wnc$9!O}&w+Ctd?@Mqb-q?6vdO4C|SbKq7aG#nIZ~5v1>s)|*kwyZxcsrW? z3zV||qOa(BEIlr!{|e#4Co%u-sNI{bp#%Z?-sfCHp?|`XvIB81uMj=GZn zH6TL|>FCwFSR44?&BZf7c}PAjjPODD{3}W#$j~7O=^o?(MFe`B1E8d!s3E7QAg7>a zqo4#;P==~rlTlEEDkyw@b#>(b5YT=|lxNugLs0u)0#{Pu)Hwlw8(P4s_1zx+51a8| AeE Date: Sat, 5 Oct 2019 22:41:17 +0200 Subject: [PATCH 11/28] Translate Appwrite Locale and Email templates to Polish (#25) --- app/config/locale/pl.continents.php | 12 +- app/config/locale/pl.countries.php | 248 +++++++++--------- app/config/locale/pl.php | 12 +- .../templates/pl.email.auth.confirm.tpl | 10 +- .../templates/pl.email.auth.invitation.tpl | 12 +- .../templates/pl.email.auth.recovery.tpl | 10 +- 6 files changed, 152 insertions(+), 152 deletions(-) diff --git a/app/config/locale/pl.continents.php b/app/config/locale/pl.continents.php index 48a0b54435..a3ab2b28f9 100644 --- a/app/config/locale/pl.continents.php +++ b/app/config/locale/pl.continents.php @@ -1,11 +1,11 @@ 'Africa', - 'AN' => 'Antarctica', - 'AS' => 'Asia', - 'EU' => 'Europe', - 'NA' => 'North America', + 'AF' => 'Afryka', + 'AN' => 'Antarktyda', + 'AS' => 'Azja', + 'EU' => 'Europa', + 'NA' => 'Ameryka Północna', 'OC' => 'Oceania', - 'SA' => 'South America', + 'SA' => 'Ameryka południowa', ]; diff --git a/app/config/locale/pl.countries.php b/app/config/locale/pl.countries.php index 60c75792b7..a0b4183c13 100644 --- a/app/config/locale/pl.countries.php +++ b/app/config/locale/pl.countries.php @@ -1,198 +1,198 @@ 'Afghanistan', + 'AF' => 'Afganistan', 'AO' => 'Angola', 'AL' => 'Albania', - 'AD' => 'Andorra', - 'AE' => 'United Arab Emirates', - 'AR' => 'Argentina', + 'AD' => 'Andora', + 'AE' => 'Zjednoczone Emiraty Arabskie', + 'AR' => 'Argentyna', 'AM' => 'Armenia', - 'AG' => 'Antigua and Barbuda', + 'AG' => 'Antigua i Barbuda', 'AU' => 'Australia', 'AT' => 'Austria', - 'AZ' => 'Azerbaijan', + 'AZ' => 'Azerbejdżan', 'BI' => 'Burundi', - 'BE' => 'Belgium', + 'BE' => 'Belgia', 'BJ' => 'Benin', 'BF' => 'Burkina Faso', - 'BD' => 'Bangladesh', - 'BG' => 'Bulgaria', - 'BH' => 'Bahrain', - 'BS' => 'Bahamas', - 'BA' => 'Bosnia and Herzegovina', - 'BY' => 'Belarus', + 'BD' => 'Bangladesz', + 'BG' => 'Bułgaria', + 'BH' => 'Bahrajn', + 'BS' => 'Bahamy', + 'BA' => 'Bośnia i Hercegowina', + 'BY' => 'Białoruś', 'BZ' => 'Belize', - 'BO' => 'Bolivia', - 'BR' => 'Brazil', + 'BO' => 'Boliwia', + 'BR' => 'Brazylia', 'BB' => 'Barbados', 'BN' => 'Brunei', 'BT' => 'Bhutan', 'BW' => 'Botswana', - 'CF' => 'Central African Republic', - 'CA' => 'Canada', - 'CH' => 'Switzerland', + 'CF' => 'Republika Środkowoafrykańska', + 'CA' => 'Kanada', + 'CH' => 'Szwajcaria', 'CL' => 'Chile', - 'CN' => 'China', - 'CI' => 'Ivory Coast', - 'CM' => 'Cameroon', + 'CN' => 'Chiny', + 'CI' => 'Wybrzeże Kości Słoniowej', + 'CM' => 'Kamerun', 'CD' => 'DR Congo', - 'CG' => 'Republic of the Congo', - 'CO' => 'Colombia', - 'KM' => 'Comoros', - 'CV' => 'Cape Verde', - 'CR' => 'Costa Rica', - 'CU' => 'Cuba', - 'CY' => 'Cyprus', - 'CZ' => 'Czechia', - 'DE' => 'Germany', - 'DJ' => 'Djibouti', + 'CG' => 'Republika Konga', + 'CO' => 'Kolumbia', + 'KM' => 'Komory', + 'CV' => 'Republika Zielonego Przylądka', + 'CR' => 'Kostaryka', + 'CU' => 'Kuba', + 'CY' => 'Cypr', + 'CZ' => 'Czechy', + 'DE' => 'Niemcy', + 'DJ' => 'Dżibuti', 'DM' => 'Dominica', - 'DK' => 'Denmark', - 'DO' => 'Dominican Republic', - 'DZ' => 'Algeria', - 'EC' => 'Ecuador', - 'EG' => 'Egypt', - 'ER' => 'Eritrea', - 'ES' => 'Spain', + 'DK' => 'Dania', + 'DO' => 'Republika Dominikańska', + 'DZ' => 'Algieria', + 'EC' => 'Ekwador', + 'EG' => 'Egipt', + 'ER' => 'Erytrea', + 'ES' => 'Hiszpania', 'EE' => 'Estonia', - 'ET' => 'Ethiopia', - 'FI' => 'Finland', - 'FJ' => 'Fiji', - 'FR' => 'France', - 'FM' => 'Micronesia', + 'ET' => 'Etiopia', + 'FI' => 'Finlandia', + 'FJ' => 'Fidżi', + 'FR' => 'Francja', + 'FM' => 'Mikronezja', 'GA' => 'Gabon', - 'GB' => 'United Kingdom', + 'GB' => 'Wielka Brytania', 'GE' => 'Georgia', 'GH' => 'Ghana', - 'GN' => 'Guinea', + 'GN' => 'Gwinea', 'GM' => 'Gambia', - 'GW' => 'Guinea-Bissau', - 'GQ' => 'Equatorial Guinea', - 'GR' => 'Greece', + 'GW' => 'Gwinea Bissau', + 'GQ' => 'Gwinea Równikowa', + 'GR' => 'Grecja', 'GD' => 'Grenada', - 'GT' => 'Guatemala', - 'GY' => 'Guyana', + 'GT' => 'Gwatemala', + 'GY' => 'Gujana', 'HN' => 'Honduras', - 'HR' => 'Croatia', + 'HR' => 'Chorwacja', 'HT' => 'Haiti', - 'HU' => 'Hungary', - 'ID' => 'Indonesia', - 'IN' => 'India', - 'IE' => 'Ireland', + 'HU' => 'Węgry', + 'ID' => 'Indonezja', + 'IN' => 'Indie', + 'IE' => 'Irlandia', 'IR' => 'Iran', - 'IQ' => 'Iraq', - 'IS' => 'Iceland', + 'IQ' => 'Irak', + 'IS' => 'Islandia', 'IL' => 'Israel', - 'IT' => 'Italy', - 'JM' => 'Jamaica', + 'IT' => 'Włochy', + 'JM' => 'Jamajka', 'JO' => 'Jordan', - 'JP' => 'Japan', - 'KZ' => 'Kazakhstan', - 'KE' => 'Kenya', - 'KG' => 'Kyrgyzstan', - 'KH' => 'Cambodia', + 'JP' => 'Japonia', + 'KZ' => 'Kazachstan', + 'KE' => 'Kenia', + 'KG' => 'Kirgistan', + 'KH' => 'Kambodża', 'KI' => 'Kiribati', - 'KN' => 'Saint Kitts and Nevis', - 'KR' => 'South Korea', - 'KW' => 'Kuwait', + 'KN' => 'Saint Kitts i Nevis', + 'KR' => 'Korea Południowa', + 'KW' => 'Kuwejt', 'LA' => 'Laos', - 'LB' => 'Lebanon', + 'LB' => 'Liban', 'LR' => 'Liberia', - 'LY' => 'Libya', + 'LY' => 'Libia', 'LC' => 'Saint Lucia', 'LI' => 'Liechtenstein', 'LK' => 'Sri Lanka', 'LS' => 'Lesotho', - 'LT' => 'Lithuania', - 'LU' => 'Luxembourg', - 'LV' => 'Latvia', - 'MA' => 'Morocco', + 'LT' => 'Litwa', + 'LU' => 'Luksemburg', + 'LV' => 'Łotwa', + 'MA' => 'Maroko', 'MC' => 'Monaco', - 'MD' => 'Moldova', - 'MG' => 'Madagascar', - 'MV' => 'Maldives', - 'MX' => 'Mexico', - 'MH' => 'Marshall Islands', + 'MD' => 'Mołdawia', + 'MG' => 'Madagaskar', + 'MV' => 'Malediwy', + 'MX' => 'Meksyk', + 'MH' => 'Wyspy Marshalla', 'MK' => 'Macedonia', 'ML' => 'Mali', 'MT' => 'Malta', - 'MM' => 'Myanmar', - 'ME' => 'Montenegro', + 'MM' => 'Birma', + 'ME' => 'Czarnogóra', 'MN' => 'Mongolia', - 'MZ' => 'Mozambique', - 'MR' => 'Mauritania', + 'MZ' => 'Mozambik', + 'MR' => 'Mauretania', 'MU' => 'Mauritius', 'MW' => 'Malawi', - 'MY' => 'Malaysia', + 'MY' => 'Malezja', 'NA' => 'Namibia', 'NE' => 'Niger', 'NG' => 'Nigeria', - 'NI' => 'Nicaragua', - 'NL' => 'Netherlands', - 'NO' => 'Norway', + 'NI' => 'Nikaragua', + 'NL' => 'Holandia', + 'NO' => 'Norwegia', 'NP' => 'Nepal', 'NR' => 'Nauru', - 'NZ' => 'New Zealand', + 'NZ' => 'Nowa Zelandia', 'OM' => 'Oman', 'PK' => 'Pakistan', 'PA' => 'Panama', 'PE' => 'Peru', - 'PH' => 'Philippines', + 'PH' => 'Filipiny', 'PW' => 'Palau', - 'PG' => 'Papua New Guinea', - 'PL' => 'Poland', - 'KP' => 'North Korea', - 'PT' => 'Portugal', - 'PY' => 'Paraguay', - 'QA' => 'Qatar', - 'RO' => 'Romania', - 'RU' => 'Russia', + 'PG' => 'Papua Nowa Gwinea', + 'PL' => 'Polska', + 'KP' => 'Korea Północna', + 'PT' => 'Portugalia', + 'PY' => 'Paragwaj', + 'QA' => 'Katar', + 'RO' => 'Rumunia', + 'RU' => 'Rosja', 'RW' => 'Rwanda', - 'SA' => 'Saudi Arabia', + 'SA' => 'Arabia Saudyjska', 'SD' => 'Sudan', 'SN' => 'Senegal', - 'SG' => 'Singapore', - 'SB' => 'Solomon Islands', + 'SG' => 'Singapur', + 'SB' => 'Wyspy Salomona', 'SL' => 'Sierra Leone', - 'SV' => 'El Salvador', + 'SV' => 'Salwador', 'SM' => 'San Marino', 'SO' => 'Somalia', 'RS' => 'Serbia', - 'SS' => 'South Sudan', - 'ST' => 'São Tomé and Príncipe', - 'SR' => 'Suriname', - 'SK' => 'Slovakia', - 'SI' => 'Slovenia', - 'SE' => 'Sweden', - 'SZ' => 'Swaziland', - 'SC' => 'Seychelles', + 'SS' => 'Sudan Południowy', + 'ST' => 'Wyspy Świętego Tomasza i Książęca', + 'SR' => 'Surinam', + 'SK' => 'Słowacja', + 'SI' => 'Słowenia', + 'SE' => 'Szwecja', + 'SZ' => 'Suazi', + 'SC' => 'Seszele', 'SY' => 'Syria', - 'TD' => 'Chad', + 'TD' => 'Czad', 'TG' => 'Togo', - 'TH' => 'Thailand', - 'TJ' => 'Tajikistan', + 'TH' => 'Tajlandia', + 'TJ' => 'Tadżykistan', 'TM' => 'Turkmenistan', - 'TL' => 'Timor-Leste', + 'TL' => 'Timor Wschodni', 'TO' => 'Tonga', - 'TT' => 'Trinidad and Tobago', - 'TN' => 'Tunisia', - 'TR' => 'Turkey', + 'TT' => 'Trynidad i Tobago', + 'TN' => 'Tunezja', + 'TR' => 'Turcja', 'TV' => 'Tuvalu', 'TZ' => 'Tanzania', 'UG' => 'Uganda', - 'UA' => 'Ukraine', - 'UY' => 'Uruguay', - 'US' => 'United States', + 'UA' => 'Ukraina', + 'UY' => 'Urugwaj', + 'US' => 'Stany Zjednoczone', 'UZ' => 'Uzbekistan', - 'VA' => 'Vatican City', - 'VC' => 'Saint Vincent and the Grenadines', - 'VE' => 'Venezuela', - 'VN' => 'Vietnam', + 'VA' => 'Watykan', + 'VC' => 'Saint Vincent i Grenadyny', + 'VE' => 'Wenezuela', + 'VN' => 'Wietnam', 'VU' => 'Vanuatu', 'WS' => 'Samoa', - 'YE' => 'Yemen', - 'ZA' => 'South Africa', + 'YE' => 'Jemen', + 'ZA' => 'Republika Południowej Afryki', 'ZM' => 'Zambia', 'ZW' => 'Zimbabwe', ]; diff --git a/app/config/locale/pl.php b/app/config/locale/pl.php index cbd1dd2f51..3c6ae708d4 100644 --- a/app/config/locale/pl.php +++ b/app/config/locale/pl.php @@ -1,20 +1,20 @@ '"The art of being wise is the art of knowing what to overlook."', // This is the line printed in the homepage and console 'view-source' + 'settings.inspire' => '"Sztuka bycia mądrym to sztuka wiedzieć, co przeoczyć."', // This is the line printed in the homepage and console 'view-source' 'settings.locale' => 'en', 'settings.direction' => 'ltr', // Service - Users - 'auth.emails.team' => '%s Team', - 'auth.emails.confirm.title' => 'Account Confirmation', + 'auth.emails.team' => 'Zespół %s', + 'auth.emails.confirm.title' => 'Potwierdzenie konta', 'auth.emails.confirm.body' => 'en.email.auth.confirm.tpl', - 'auth.emails.recovery.title' => 'Password Reset', + 'auth.emails.recovery.title' => 'Zresetowanie hasła', 'auth.emails.recovery.body' => 'en.email.auth.recovery.tpl', - 'auth.emails.invitation.title' => 'Invitation to %s Team at %s', + 'auth.emails.invitation.title' => 'Zaproszenie do zespołu %s - %s', 'auth.emails.invitation.body' => 'en.email.auth.invitation.tpl', - 'locale.country.unknown' => 'Unknown', + 'locale.country.unknown' => 'Nieznany', 'countries' => include 'en.countries.php', 'continents' => include 'en.continents.php', diff --git a/app/config/locale/templates/pl.email.auth.confirm.tpl b/app/config/locale/templates/pl.email.auth.confirm.tpl index 92078114e3..e46187999f 100644 --- a/app/config/locale/templates/pl.email.auth.confirm.tpl +++ b/app/config/locale/templates/pl.email.auth.confirm.tpl @@ -7,18 +7,18 @@
- Hello {{name}}, + Witaj {{name}},

- Follow this link to verify your email address. + Kliknij ten link, aby zweryfikować swój adres e-mail.
{{redirect}}

- If you didn’t ask to verify this address, you can ignore this message. + Jeśli nie prosiłeś o weryfikację tego adresu, możesz zignorować tę wiadomość.

- Thanks, + Dziękujemy,
- {{project}} team + zespół {{project}}
\ No newline at end of file diff --git a/app/config/locale/templates/pl.email.auth.invitation.tpl b/app/config/locale/templates/pl.email.auth.invitation.tpl index fda2bbcce0..d11586de75 100644 --- a/app/config/locale/templates/pl.email.auth.invitation.tpl +++ b/app/config/locale/templates/pl.email.auth.invitation.tpl @@ -7,21 +7,21 @@
- Hello, + Witaj,

- This mail was sent to you because {{owner}} wanted to invite you to become a team member at the {{team}} team over at {{project}}. + Ta wiadomość została do Ciebie wysłana, ponieważ {{owner}} chciałby zaprosić Cię do dołączenia do zespołu {{team}} w {{project}}.

- Follow this link to join the {{team}} team: + Kliknij ten link, aby dołączyć do zespołu {{team}}:
{{redirect}}

- If you are not interested, you can ignore this message. + Jeśli nie jesteś zainteresowany, możesz zignorować tę wiadomość.

- Thanks, + Dziękujemy,
- {{project}} team + zaspół {{project}}
diff --git a/app/config/locale/templates/pl.email.auth.recovery.tpl b/app/config/locale/templates/pl.email.auth.recovery.tpl index 7a6fa2fa60..78066ee064 100644 --- a/app/config/locale/templates/pl.email.auth.recovery.tpl +++ b/app/config/locale/templates/pl.email.auth.recovery.tpl @@ -7,18 +7,18 @@
- Hello {{name}}, + Witaj {{name}},

- Follow this link to reset your {{project}} password. + Kliknij ten link, aby zresetować hasło do {{project}}.
{{redirect}}

- If you didn’t ask to reset your password, you can ignore this message. + Jeśli nie prosiłeś o zresetowanie hasła, możesz zignorować tę wiadomość.

- Thanks, + Dziękujemy,
- {{project}} team + zaspół {{project}}
From 0422fe75a7d98039cf2612de4820060d5cdb2ac6 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sun, 6 Oct 2019 02:15:28 +0530 Subject: [PATCH 12/28] feat: start vk oAuth --- src/Auth/OAuth/Apple.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Auth/OAuth/Apple.php b/src/Auth/OAuth/Apple.php index 2c9a99b8da..fbe4b65b1a 100644 --- a/src/Auth/OAuth/Apple.php +++ b/src/Auth/OAuth/Apple.php @@ -124,7 +124,7 @@ class Apple extends OAuth { if (empty($this->user)) { $headers[] = 'Authorization: Bearer '. urlencode($accessToken); - $user = $this->request('POST', 'https://api.dropboxapi.com/2/users/get_current_account', $headers); + $user = $this->request('POST', '', $headers); $this->user = json_decode($user, true); } From da9504a14c49fa5b2e70e3b7cbe172e157a41498 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sun, 6 Oct 2019 02:17:28 +0530 Subject: [PATCH 13/28] chore: corrected apple Image size --- app/config/providers.php | 7 ++++++- public/images/oauth/apple.png | Bin 1683 -> 1360 bytes 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/config/providers.php b/app/config/providers.php index d4c05b9a9d..fe54486a03 100644 --- a/app/config/providers.php +++ b/app/config/providers.php @@ -57,7 +57,7 @@ return [ 'enabled' => true, ], 'apple' => [ - 'developers' => 'https://www.dropbox.com/developers/documentation', + 'developers' => 'https://developer.apple.com/', 'icon' => 'icon-apple', 'enabled' => false, ], @@ -66,4 +66,9 @@ return [ 'icon' => 'icon-amazon', 'enabled' => false, ], + 'amazon' => [ + 'developers' => 'https://www.dropbox.com/developers/documentation', + 'icon' => 'icon-amazon', + 'enabled' => false, + ], ]; diff --git a/public/images/oauth/apple.png b/public/images/oauth/apple.png index ca56e16bc8a523c01a7aef8ee98a37b1bf11b570..b0fdfd14f055970a22144a33cef8f0d79747b60d 100644 GIT binary patch literal 1360 zcmV-W1+V&vP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 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 nD=c47Wfx#nNBBRKwT Date: Sun, 6 Oct 2019 02:18:27 +0530 Subject: [PATCH 14/28] feat: added vk to providers --- app/config/providers.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/config/providers.php b/app/config/providers.php index fe54486a03..e268426287 100644 --- a/app/config/providers.php +++ b/app/config/providers.php @@ -66,9 +66,9 @@ return [ 'icon' => 'icon-amazon', 'enabled' => false, ], - 'amazon' => [ - 'developers' => 'https://www.dropbox.com/developers/documentation', - 'icon' => 'icon-amazon', + 'vk' => [ + 'developers' => 'https://vk.com/dev', + 'icon' => 'icon-vk', 'enabled' => false, ], ]; From ea2fc826372aa01603e95ea763bb5f21b6f012bf Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sun, 6 Oct 2019 02:20:02 +0530 Subject: [PATCH 15/28] chore: updated amazon developers url --- app/config/providers.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/config/providers.php b/app/config/providers.php index e268426287..5ebbf51651 100644 --- a/app/config/providers.php +++ b/app/config/providers.php @@ -62,7 +62,7 @@ return [ 'enabled' => false, ], 'amazon' => [ - 'developers' => 'https://www.dropbox.com/developers/documentation', + 'developers' => 'https://developer.amazon.com/apps-and-games/services-and-apis', 'icon' => 'icon-amazon', 'enabled' => false, ], From a375a82e42ed27ce3c09804b0bd7ca9085946636 Mon Sep 17 00:00:00 2001 From: Ahmed Karaman <20889958+ahmedkrmn@users.noreply.github.com> Date: Sat, 5 Oct 2019 23:21:32 +0200 Subject: [PATCH 16/28] Add Arabic locales --- app/config/locale/ar.continents.php | 11 + app/config/locale/ar.countries.php | 198 ++++++++++++++++++ app/config/locale/ar.php | 21 ++ .../templates/ar.email.auth.confirm.tpl | 24 +++ .../templates/ar.email.auth.invitation.tpl | 27 +++ .../templates/ar.email.auth.recovery.tpl | 24 +++ 6 files changed, 305 insertions(+) create mode 100644 app/config/locale/ar.continents.php create mode 100644 app/config/locale/ar.countries.php create mode 100644 app/config/locale/ar.php create mode 100644 app/config/locale/templates/ar.email.auth.confirm.tpl create mode 100644 app/config/locale/templates/ar.email.auth.invitation.tpl create mode 100644 app/config/locale/templates/ar.email.auth.recovery.tpl diff --git a/app/config/locale/ar.continents.php b/app/config/locale/ar.continents.php new file mode 100644 index 0000000000..8b1c3132f7 --- /dev/null +++ b/app/config/locale/ar.continents.php @@ -0,0 +1,11 @@ + 'أفريقيا', + 'AN' => 'القارة القطبية الجنوبية', + 'AS' => 'آسيا', + 'EU' => 'أوروبا', + 'NA' => 'امريكا الشمالية', + 'OC' => 'أوقيانوسيا', + 'SA' => 'امريكا الجنوبية', +]; diff --git a/app/config/locale/ar.countries.php b/app/config/locale/ar.countries.php new file mode 100644 index 0000000000..e5f1bb9cdc --- /dev/null +++ b/app/config/locale/ar.countries.php @@ -0,0 +1,198 @@ + 'أفغانستان', + 'AO' => 'أنغولا', + 'AL' => 'ألبانيا', + 'AD' => 'أندورا', + 'AE' => 'الإمارات العربية المتحدة', +    'AR' => 'الأرجنتين', +    'AM' => 'أرمينيا', +    'AG' => 'أنتيغوا وبربودا', +    'AU' => 'أستراليا', +    'AT' => 'النمسا', +    'AZ' => 'أذربيجان', +    'BI' => 'بوروندي', +    'BE' => 'بلجيكا', +    'BJ' => 'بنين', +    'BF' => 'بوركينا فاسو', +    'BD' => 'بنغلاديش', +    'BG' => 'بلغاريا', +    'BH' => 'البحرين', +    'BS' => 'جزر البهاما', +    'BA' => 'البوسنة والهرسك', +    'BY' => 'بيلاروسيا', +    'BZ' => 'بليز', +    'BO' => 'بوليفيا', +    'BR' => 'البرازيل', +    'BB' => 'بربادوس', +    'BN' => 'بروناي', +    'BT' => 'بوتان', +    'BW' => 'بوتسوانا', +    'CF' => 'جمهورية إفريقيا الوسطى', +    'CA' => 'كندا', +    'CH' => 'سويسرا', +    'CL' => 'تشيلي', +    'CN' => 'الصين', +    'CI' => 'ساحل العاج', +    'CM' => 'الكاميرون', +    'CD' => 'جمهورية الكونغو الديمقراطية', +    'CG' => 'جمهورية الكونغو', +    'CO' => 'كولومبيا', +    'KM' => 'جزر القمر', +    'CV' => 'الرأس الأخضر', +    'CR' => 'كوستاريكا', +    'CU' => 'كوبا', +    'CY' => 'قبرص', +    'CZ' => 'تشيكيا', +    'DE' => 'ألمانيا', +    'DJ' => 'جيبوتي', +    'DM' => 'دومينيكا', +    'DK' => 'الدنمارك', +    'DO' => 'جمهورية الدومينيكان', +    'DZ' => 'الجزائر', +    'EC' => 'إكوادور', +    'EG' => 'مصر', +    'ER' => 'إريتريا', +    'ES' => 'إسبانيا', +    'EE' => 'إستونيا', +    'ET' => 'إثيوبيا', +    'FI' => 'فنلندا', +    'FJ' => 'فيجي', +    'FR' => 'فرنسا', +    'FM' => 'ميكرونيزيا', +    'GA' => 'الغابون', +    'GB' => 'المملكة المتحدة', +    'GE' => 'جورجيا', +    'GH' => 'غانا', +    'GN' => 'غينيا', +    'GM' => 'غامبيا', +    'GW' => 'غينيا بيساو', +    'GQ' => 'غينيا الاستوائية', +    'GR' => 'اليونان', +    'GD' => 'غرينادا', +    'GT' => 'غواتيمالا', +    'GY' => 'غيانا', +    'HN' => 'هندوراس', +    'HR' => 'كرواتيا', +    'HT' => 'هايتي', +    'HU' => 'المجر', +    'ID' => 'إندونيسيا', +    'IN' => 'الهند', +    'IE' => 'أيرلندا', +    'IR' => 'إيران', +    'IQ' => 'العراق', +    'IS' => 'أيسلندا', +    'IL' => 'إسرائيل', +    'IT' => 'إيطاليا', +    'JM' => 'جامايكا', +    'JO' => 'الأردن', +    'JP' => 'اليابان', +    'KZ' => 'كازاخستان', +    'KE' => 'كينيا', +    'KG' => 'قيرغيزستان', +    'KH' => 'كمبوديا', +    'KI' => 'كيريباتي', +    'KN' => 'سانت كيتس ونيفيس', +    'KR' => 'كوريا الجنوبية', +    'KW' => 'الكويت', +    'LA' => 'لاوس', +    'LB' => 'لبنان', +    'LR' => 'ليبيريا', +    'LY' => 'ليبيا', +    'LC' => 'سانت لوسيا', +    'LI' => 'ليختنشتاين', +    'LK' => 'سري لانكا', +    'LS' => 'ليسوتو', +    'LT' => 'ليتوانيا', +    'LU' => 'لوكسمبورغ', +    'LV' => 'لاتفيا', +    'MA' => 'المغرب', +    'MC' => 'موناكو', +    'MD' => 'مولدوفا', +    'MG' => 'مدغشقر', +    'MV' => 'جزر المالديف', +    'MX' => 'المكسيك', +    'MH' => 'جزر مارشال', +    'MK' => 'مقدونيا', +    'ML' => 'مالي', +    'MT' => 'مالطا', +    'MM' => 'ميانمار', +    'ME' => 'الجبل الأسود', +    'MN' => 'منغوليا', +    'MZ' => 'موزمبيق', +    'MR' => 'موريتانيا', +    'MU' => 'موريشيوس', +    'MW' => 'ملاوي', +    'MY' => 'ماليزيا', +    'NA' => 'ناميبيا', +    'NE' => 'النيجر', +    'NG' => 'نيجيريا', +    'NI' => 'نيكاراغوا', +    'NL' => 'هولندا', +    'NO' => 'النرويج', +    'NP' => 'نيبال', +    'NR' => 'ناورو', +    'NZ' => 'نيوزيلندا', +    'OM' => 'عمان', +    'PK' => 'باكستان', +    'PA' => 'بنما', +    'PE' => 'بيرو', +    'PH' => 'الفلبين', +    'PW' => 'بالاو', +    'PG' => 'بابوا غينيا الجديدة', +    'PL' => 'بولندا', +    'KP' => 'كوريا الشمالية', +    'PT' => 'البرتغال', +    'PY' => 'باراجواي', +    'QA' => 'قطر', +    'RO' => 'رومانيا', +    'RU' => 'روسيا', +    'RW' => 'رواندا', +    'SA' => 'المملكة العربية السعودية', +    'SD' => 'السودان', +    'SN' => 'السنغال', +    'SG' => 'سنغافورة', +    'SB' => 'جزر سليمان', +    'SL' => 'سيراليون', +    'SV' => 'السلفادور', +    'SM' => 'سان مارينو', +    'SO' => 'الصومال', +    'RS' => 'صربيا', +    'SS' => 'جنوب السودان', +    'ST' => 'ساو تومي وبرينسيبي', +    'SR' => 'سورينام', +    'SK' => 'سلوفاكيا', +    'SI' => 'سلوفينيا', +    'SE' => 'السويد', +    'SZ' => 'سوازيلند', +    'SC' => 'سيشيل', +    'SY' => 'سوريا', +    'TD' => 'تشاد', +    'TG' => 'توغو', +    'TH' => 'تايلاند', +    'TJ' => 'طاجيكستان', +    'TM' => 'تركمانستان', +    'TL' => 'تيمور الشرقية', +    'TO' => 'تونجا', +    'TT' => 'ترينيداد وتوباغو', +    'TN' => 'تونس', +    'TR' => 'تركيا', +    'TV' => 'توفالو', +    'TZ' => 'تنزانيا', +    'UG' => 'أوغندا', +    'UA' => 'أوكرانيا', +    'UY' => 'أوروغواي', +    'UK' => 'الولايات المتحدة', +    'UZ' => 'أوزبكستان', +    'VA' => 'مدينة الفاتيكان', +    'VC' => 'سانت فنسنت وجزر غرينادين', +    'VE' => 'فنزويلا', +    'VN' => 'فيتنام', +    'VU' => 'فانواتو', +    'WS' => 'ساموا', +    'YE' => 'اليمن', +    'ZA' => 'جنوب إفريقيا', +    'ZM' => 'زامبيا', +    'ZW' => 'زيمبابوي', +]; diff --git a/app/config/locale/ar.php b/app/config/locale/ar.php new file mode 100644 index 0000000000..623df549d3 --- /dev/null +++ b/app/config/locale/ar.php @@ -0,0 +1,21 @@ + '"فن الحكمة هو فن معرفة ما يجب التغاضي عنه."', // This is the line printed in the homepage and console 'view-source' + 'settings.locale' => 'ar', + 'settings.direction' => 'rtl', + + // Service - Users + 'auth.emails.team' => 'فريق %s', + 'auth.emails.confirm.title' => 'تأكيد الحساب', + 'auth.emails.confirm.body' => 'ar.email.auth.confirm.tpl', + 'auth.emails.recovery.title' => 'إعادة تعيين كلمة المرور', + 'auth.emails.recovery.body' => 'ar.email.auth.recovery.tpl', + 'auth.emails.invitation.title' => 'دعوة لفريق %s في %s', + 'auth.emails.invitation.body' => 'ar.email.auth.invitation.tpl', + + 'locale.country.unknown' => 'مجهول', + + 'countries' => include 'ar.countries.php', + 'continents' => include 'ar.continents.php', +]; diff --git a/app/config/locale/templates/ar.email.auth.confirm.tpl b/app/config/locale/templates/ar.email.auth.confirm.tpl new file mode 100644 index 0000000000..8cd1929dd9 --- /dev/null +++ b/app/config/locale/templates/ar.email.auth.confirm.tpl @@ -0,0 +1,24 @@ + + +
+ مرحبا {{name}}, +
+
+ اتبع هذا الرابط للتحقق من عنوان بريدك الإلكتروني. +
+ {{redirect}} +
+
+ إذا لم تطلب التحقق من هذا العنوان، فيمكنك تجاهل هذه الرسالة. +
+
+ Thanks, +
+ فريق {{project}} +
\ No newline at end of file diff --git a/app/config/locale/templates/ar.email.auth.invitation.tpl b/app/config/locale/templates/ar.email.auth.invitation.tpl new file mode 100644 index 0000000000..fba4a731e3 --- /dev/null +++ b/app/config/locale/templates/ar.email.auth.invitation.tpl @@ -0,0 +1,27 @@ + + +
+ مرحبا، +
+
+ تم إرسال هذه الرسالة إليك لأن {{owner}} أراد دعوتك لتصبح عضوًا في فريق {{team}} في {{project}}. +
+
+ اتبع هذا الرابط للانضمام إلى فريق {{team}}: +
+ {{redirect}} +
+
+ إذا لم تكن مهتمًا، يمكنك تجاهل هذه الرسالة. +
+
+ شكرا، +
+ فريق {{project}} +
diff --git a/app/config/locale/templates/ar.email.auth.recovery.tpl b/app/config/locale/templates/ar.email.auth.recovery.tpl new file mode 100644 index 0000000000..06ca47f35e --- /dev/null +++ b/app/config/locale/templates/ar.email.auth.recovery.tpl @@ -0,0 +1,24 @@ + + +
+ مرحبا {{name}}، +
+
+ اتبع هذا الرابط لإعادة تعيين كلمة مرور {{project}}. +
+ {{redirect}} +
+
+ إذا لم تطلب إعادة تعيين كلمة المرور الخاصة بك، فيمكنك تجاهل هذه الرسالة. +
+
+ شكرا، +
+ فريق {{project}} +
From c9100004269b5ac2d8207d2cd260f66746489fb3 Mon Sep 17 00:00:00 2001 From: Ahmed Karaman <20889958+ahmedkrmn@users.noreply.github.com> Date: Sat, 5 Oct 2019 23:52:02 +0200 Subject: [PATCH 17/28] Add Arabic locales to app/init.php --- app/init.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/init.php b/app/init.php index 0a35bad743..acc5f51cfa 100644 --- a/app/init.php +++ b/app/init.php @@ -24,7 +24,7 @@ const APP_EMAIL_TEAM = 'team@'.APP_DOMAIN; const APP_EMAIL_SECURITY = 'security@'.APP_DOMAIN; const APP_USERAGENT = APP_NAME.'-Server/%s Please report abuse at '.APP_EMAIL_SECURITY; const APP_MODE_ADMIN = 'admin'; -const APP_LOCALES = ['cat', 'de', 'en', 'es', 'fi', 'fr', 'gr', 'he', 'hi', 'id', 'it', 'nl', 'no', 'pt-br', 'pt-pt', 'ro', 'tr', 'ua', 'zh-cn', 'zh-tw']; +const APP_LOCALES = ['ar', 'cat', 'de', 'en', 'es', 'fi', 'fr', 'gr', 'he', 'hi', 'id', 'it', 'nl', 'no', 'pt-br', 'pt-pt', 'ro', 'tr', 'ua', 'zh-cn', 'zh-tw']; const APP_PAGING_LIMIT = 15; const APP_VERSION_STABLE = '0.2.0'; @@ -129,6 +129,7 @@ $locale = $request->getParam('locale', $request->getHeader('X-Appwrite-Locale', Locale::$exceptions = false; +Locale::setLanguage('ar', include __DIR__.'/config/locale/ar.php'); Locale::setLanguage('cat', include __DIR__.'/config/locale/cat.php'); Locale::setLanguage('de', include __DIR__.'/config/locale/de.php'); Locale::setLanguage('en', include __DIR__.'/config/locale/en.php'); From 66f9ef70918dae2afb13eecd8e054ab6f64a87a8 Mon Sep 17 00:00:00 2001 From: Ahmed Karaman <20889958+ahmedkrmn@users.noreply.github.com> Date: Sun, 6 Oct 2019 01:44:24 +0200 Subject: [PATCH 18/28] Fix Parse error --- app/config/locale/ar.countries.php | 378 ++++++++++++++--------------- 1 file changed, 189 insertions(+), 189 deletions(-) diff --git a/app/config/locale/ar.countries.php b/app/config/locale/ar.countries.php index e5f1bb9cdc..a7f4a02228 100644 --- a/app/config/locale/ar.countries.php +++ b/app/config/locale/ar.countries.php @@ -6,193 +6,193 @@ return [ 'AL' => 'ألبانيا', 'AD' => 'أندورا', 'AE' => 'الإمارات العربية المتحدة', -    'AR' => 'الأرجنتين', -    'AM' => 'أرمينيا', -    'AG' => 'أنتيغوا وبربودا', -    'AU' => 'أستراليا', -    'AT' => 'النمسا', -    'AZ' => 'أذربيجان', -    'BI' => 'بوروندي', -    'BE' => 'بلجيكا', -    'BJ' => 'بنين', -    'BF' => 'بوركينا فاسو', -    'BD' => 'بنغلاديش', -    'BG' => 'بلغاريا', -    'BH' => 'البحرين', -    'BS' => 'جزر البهاما', -    'BA' => 'البوسنة والهرسك', -    'BY' => 'بيلاروسيا', -    'BZ' => 'بليز', -    'BO' => 'بوليفيا', -    'BR' => 'البرازيل', -    'BB' => 'بربادوس', -    'BN' => 'بروناي', -    'BT' => 'بوتان', -    'BW' => 'بوتسوانا', -    'CF' => 'جمهورية إفريقيا الوسطى', -    'CA' => 'كندا', -    'CH' => 'سويسرا', -    'CL' => 'تشيلي', -    'CN' => 'الصين', -    'CI' => 'ساحل العاج', -    'CM' => 'الكاميرون', -    'CD' => 'جمهورية الكونغو الديمقراطية', -    'CG' => 'جمهورية الكونغو', -    'CO' => 'كولومبيا', -    'KM' => 'جزر القمر', -    'CV' => 'الرأس الأخضر', -    'CR' => 'كوستاريكا', -    'CU' => 'كوبا', -    'CY' => 'قبرص', -    'CZ' => 'تشيكيا', -    'DE' => 'ألمانيا', -    'DJ' => 'جيبوتي', -    'DM' => 'دومينيكا', -    'DK' => 'الدنمارك', -    'DO' => 'جمهورية الدومينيكان', -    'DZ' => 'الجزائر', -    'EC' => 'إكوادور', -    'EG' => 'مصر', -    'ER' => 'إريتريا', -    'ES' => 'إسبانيا', -    'EE' => 'إستونيا', -    'ET' => 'إثيوبيا', -    'FI' => 'فنلندا', -    'FJ' => 'فيجي', -    'FR' => 'فرنسا', -    'FM' => 'ميكرونيزيا', -    'GA' => 'الغابون', -    'GB' => 'المملكة المتحدة', -    'GE' => 'جورجيا', -    'GH' => 'غانا', -    'GN' => 'غينيا', -    'GM' => 'غامبيا', -    'GW' => 'غينيا بيساو', -    'GQ' => 'غينيا الاستوائية', -    'GR' => 'اليونان', -    'GD' => 'غرينادا', -    'GT' => 'غواتيمالا', -    'GY' => 'غيانا', -    'HN' => 'هندوراس', -    'HR' => 'كرواتيا', -    'HT' => 'هايتي', -    'HU' => 'المجر', -    'ID' => 'إندونيسيا', -    'IN' => 'الهند', -    'IE' => 'أيرلندا', -    'IR' => 'إيران', -    'IQ' => 'العراق', -    'IS' => 'أيسلندا', -    'IL' => 'إسرائيل', -    'IT' => 'إيطاليا', -    'JM' => 'جامايكا', -    'JO' => 'الأردن', -    'JP' => 'اليابان', -    'KZ' => 'كازاخستان', -    'KE' => 'كينيا', -    'KG' => 'قيرغيزستان', -    'KH' => 'كمبوديا', -    'KI' => 'كيريباتي', -    'KN' => 'سانت كيتس ونيفيس', -    'KR' => 'كوريا الجنوبية', -    'KW' => 'الكويت', -    'LA' => 'لاوس', -    'LB' => 'لبنان', -    'LR' => 'ليبيريا', -    'LY' => 'ليبيا', -    'LC' => 'سانت لوسيا', -    'LI' => 'ليختنشتاين', -    'LK' => 'سري لانكا', -    'LS' => 'ليسوتو', -    'LT' => 'ليتوانيا', -    'LU' => 'لوكسمبورغ', -    'LV' => 'لاتفيا', -    'MA' => 'المغرب', -    'MC' => 'موناكو', -    'MD' => 'مولدوفا', -    'MG' => 'مدغشقر', -    'MV' => 'جزر المالديف', -    'MX' => 'المكسيك', -    'MH' => 'جزر مارشال', -    'MK' => 'مقدونيا', -    'ML' => 'مالي', -    'MT' => 'مالطا', -    'MM' => 'ميانمار', -    'ME' => 'الجبل الأسود', -    'MN' => 'منغوليا', -    'MZ' => 'موزمبيق', -    'MR' => 'موريتانيا', -    'MU' => 'موريشيوس', -    'MW' => 'ملاوي', -    'MY' => 'ماليزيا', -    'NA' => 'ناميبيا', -    'NE' => 'النيجر', -    'NG' => 'نيجيريا', -    'NI' => 'نيكاراغوا', -    'NL' => 'هولندا', -    'NO' => 'النرويج', -    'NP' => 'نيبال', -    'NR' => 'ناورو', -    'NZ' => 'نيوزيلندا', -    'OM' => 'عمان', -    'PK' => 'باكستان', -    'PA' => 'بنما', -    'PE' => 'بيرو', -    'PH' => 'الفلبين', -    'PW' => 'بالاو', -    'PG' => 'بابوا غينيا الجديدة', -    'PL' => 'بولندا', -    'KP' => 'كوريا الشمالية', -    'PT' => 'البرتغال', -    'PY' => 'باراجواي', -    'QA' => 'قطر', -    'RO' => 'رومانيا', -    'RU' => 'روسيا', -    'RW' => 'رواندا', -    'SA' => 'المملكة العربية السعودية', -    'SD' => 'السودان', -    'SN' => 'السنغال', -    'SG' => 'سنغافورة', -    'SB' => 'جزر سليمان', -    'SL' => 'سيراليون', -    'SV' => 'السلفادور', -    'SM' => 'سان مارينو', -    'SO' => 'الصومال', -    'RS' => 'صربيا', -    'SS' => 'جنوب السودان', -    'ST' => 'ساو تومي وبرينسيبي', -    'SR' => 'سورينام', -    'SK' => 'سلوفاكيا', -    'SI' => 'سلوفينيا', -    'SE' => 'السويد', -    'SZ' => 'سوازيلند', -    'SC' => 'سيشيل', -    'SY' => 'سوريا', -    'TD' => 'تشاد', -    'TG' => 'توغو', -    'TH' => 'تايلاند', -    'TJ' => 'طاجيكستان', -    'TM' => 'تركمانستان', -    'TL' => 'تيمور الشرقية', -    'TO' => 'تونجا', -    'TT' => 'ترينيداد وتوباغو', -    'TN' => 'تونس', -    'TR' => 'تركيا', -    'TV' => 'توفالو', -    'TZ' => 'تنزانيا', -    'UG' => 'أوغندا', -    'UA' => 'أوكرانيا', -    'UY' => 'أوروغواي', -    'UK' => 'الولايات المتحدة', -    'UZ' => 'أوزبكستان', -    'VA' => 'مدينة الفاتيكان', -    'VC' => 'سانت فنسنت وجزر غرينادين', -    'VE' => 'فنزويلا', -    'VN' => 'فيتنام', -    'VU' => 'فانواتو', -    'WS' => 'ساموا', -    'YE' => 'اليمن', -    'ZA' => 'جنوب إفريقيا', -    'ZM' => 'زامبيا', -    'ZW' => 'زيمبابوي', + 'AR' => 'الأرجنتين', + 'AM' => 'أرمينيا', + 'AG' => 'أنتيغوا وبربودا', + 'AU' => 'أستراليا', + 'AT' => 'النمسا', + 'AZ' => 'أذربيجان', + 'BI' => 'بوروندي', + 'BE' => 'بلجيكا', + 'BJ' => 'بنين', + 'BF' => 'بوركينا فاسو', + 'BD' => 'بنغلاديش', + 'BG' => 'بلغاريا', + 'BH' => 'البحرين', + 'BS' => 'جزر البهاما', + 'BA' => 'البوسنة والهرسك', + 'BY' => 'بيلاروسيا', + 'BZ' => 'بليز', + 'BO' => 'بوليفيا', + 'BR' => 'البرازيل', + 'BB' => 'بربادوس', + 'BN' => 'بروناي', + 'BT' => 'بوتان', + 'BW' => 'بوتسوانا', + 'CF' => 'جمهورية إفريقيا الوسطى', + 'CA' => 'كندا', + 'CH' => 'سويسرا', + 'CL' => 'تشيلي', + 'CN' => 'الصين', + 'CI' => 'ساحل العاج', + 'CM' => 'الكاميرون', + 'CD' => 'جمهورية الكونغو الديمقراطية', + 'CG' => 'جمهورية الكونغو', + 'CO' => 'كولومبيا', + 'KM' => 'جزر القمر', + 'CV' => 'الرأس الأخضر', + 'CR' => 'كوستاريكا', + 'CU' => 'كوبا', + 'CY' => 'قبرص', + 'CZ' => 'تشيكيا', + 'DE' => 'ألمانيا', + 'DJ' => 'جيبوتي', + 'DM' => 'دومينيكا', + 'DK' => 'الدنمارك', + 'DO' => 'جمهورية الدومينيكان', + 'DZ' => 'الجزائر', + 'EC' => 'إكوادور', + 'EG' => 'مصر', + 'ER' => 'إريتريا', + 'ES' => 'إسبانيا', + 'EE' => 'إستونيا', + 'ET' => 'إثيوبيا', + 'FI' => 'فنلندا', + 'FJ' => 'فيجي', + 'FR' => 'فرنسا', + 'FM' => 'ميكرونيزيا', + 'GA' => 'الغابون', + 'GB' => 'المملكة المتحدة', + 'GE' => 'جورجيا', + 'GH' => 'غانا', + 'GN' => 'غينيا', + 'GM' => 'غامبيا', + 'GW' => 'غينيا بيساو', + 'GQ' => 'غينيا الاستوائية', + 'GR' => 'اليونان', + 'GD' => 'غرينادا', + 'GT' => 'غواتيمالا', + 'GY' => 'غيانا', + 'HN' => 'هندوراس', + 'HR' => 'كرواتيا', + 'HT' => 'هايتي', + 'HU' => 'المجر', + 'ID' => 'إندونيسيا', + 'IN' => 'الهند', + 'IE' => 'أيرلندا', + 'IR' => 'إيران', + 'IQ' => 'العراق', + 'IS' => 'أيسلندا', + 'IL' => 'إسرائيل', + 'IT' => 'إيطاليا', + 'JM' => 'جامايكا', + 'JO' => 'الأردن', + 'JP' => 'اليابان', + 'KZ' => 'كازاخستان', + 'KE' => 'كينيا', + 'KG' => 'قيرغيزستان', + 'KH' => 'كمبوديا', + 'KI' => 'كيريباتي', + 'KN' => 'سانت كيتس ونيفيس', + 'KR' => 'كوريا الجنوبية', + 'KW' => 'الكويت', + 'LA' => 'لاوس', + 'LB' => 'لبنان', + 'LR' => 'ليبيريا', + 'LY' => 'ليبيا', + 'LC' => 'سانت لوسيا', + 'LI' => 'ليختنشتاين', + 'LK' => 'سري لانكا', + 'LS' => 'ليسوتو', + 'LT' => 'ليتوانيا', + 'LU' => 'لوكسمبورغ', + 'LV' => 'لاتفيا', + 'MA' => 'المغرب', + 'MC' => 'موناكو', + 'MD' => 'مولدوفا', + 'MG' => 'مدغشقر', + 'MV' => 'جزر المالديف', + 'MX' => 'المكسيك', + 'MH' => 'جزر مارشال', + 'MK' => 'مقدونيا', + 'ML' => 'مالي', + 'MT' => 'مالطا', + 'MM' => 'ميانمار', + 'ME' => 'الجبل الأسود', + 'MN' => 'منغوليا', + 'MZ' => 'موزمبيق', + 'MR' => 'موريتانيا', + 'MU' => 'موريشيوس', + 'MW' => 'ملاوي', + 'MY' => 'ماليزيا', + 'NA' => 'ناميبيا', + 'NE' => 'النيجر', + 'NG' => 'نيجيريا', + 'NI' => 'نيكاراغوا', + 'NL' => 'هولندا', + 'NO' => 'النرويج', + 'NP' => 'نيبال', + 'NR' => 'ناورو', + 'NZ' => 'نيوزيلندا', + 'OM' => 'عمان', + 'PK' => 'باكستان', + 'PA' => 'بنما', + 'PE' => 'بيرو', + 'PH' => 'الفلبين', + 'PW' => 'بالاو', + 'PG' => 'بابوا غينيا الجديدة', + 'PL' => 'بولندا', + 'KP' => 'كوريا الشمالية', + 'PT' => 'البرتغال', + 'PY' => 'باراجواي', + 'QA' => 'قطر', + 'RO' => 'رومانيا', + 'RU' => 'روسيا', + 'RW' => 'رواندا', + 'SA' => 'المملكة العربية السعودية', + 'SD' => 'السودان', + 'SN' => 'السنغال', + 'SG' => 'سنغافورة', + 'SB' => 'جزر سليمان', + 'SL' => 'سيراليون', + 'SV' => 'السلفادور', + 'SM' => 'سان مارينو', + 'SO' => 'الصومال', + 'RS' => 'صربيا', + 'SS' => 'جنوب السودان', + 'ST' => 'ساو تومي وبرينسيبي', + 'SR' => 'سورينام', + 'SK' => 'سلوفاكيا', + 'SI' => 'سلوفينيا', + 'SE' => 'السويد', + 'SZ' => 'سوازيلند', + 'SC' => 'سيشيل', + 'SY' => 'سوريا', + 'TD' => 'تشاد', + 'TG' => 'توغو', + 'TH' => 'تايلاند', + 'TJ' => 'طاجيكستان', + 'TM' => 'تركمانستان', + 'TL' => 'تيمور الشرقية', + 'TO' => 'تونجا', + 'TT' => 'ترينيداد وتوباغو', + 'TN' => 'تونس', + 'TR' => 'تركيا', + 'TV' => 'توفالو', + 'TZ' => 'تنزانيا', + 'UG' => 'أوغندا', + 'UA' => 'أوكرانيا', + 'UY' => 'أوروغواي', + 'UK' => 'الولايات المتحدة', + 'UZ' => 'أوزبكستان', + 'VA' => 'مدينة الفاتيكان', + 'VC' => 'سانت فنسنت وجزر غرينادين', + 'VE' => 'فنزويلا', + 'VN' => 'فيتنام', + 'VU' => 'فانواتو', + 'WS' => 'ساموا', + 'YE' => 'اليمن', + 'ZA' => 'جنوب إفريقيا', + 'ZM' => 'زامبيا', + 'ZW' => 'زيمبابوي', ]; From 99dd990a6c8634d522bf84949690f1cc07a1dc98 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sun, 6 Oct 2019 16:30:05 +0530 Subject: [PATCH 19/28] feat: vk OAuth Done --- app/config/providers.php | 2 +- src/Auth/OAuth/Vk.php | 154 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+), 1 deletion(-) create mode 100644 src/Auth/OAuth/Vk.php diff --git a/app/config/providers.php b/app/config/providers.php index 5ebbf51651..444519ba26 100644 --- a/app/config/providers.php +++ b/app/config/providers.php @@ -69,6 +69,6 @@ return [ 'vk' => [ 'developers' => 'https://vk.com/dev', 'icon' => 'icon-vk', - 'enabled' => false, + 'enabled' => true, ], ]; diff --git a/src/Auth/OAuth/Vk.php b/src/Auth/OAuth/Vk.php new file mode 100644 index 0000000000..46f2742ac1 --- /dev/null +++ b/src/Auth/OAuth/Vk.php @@ -0,0 +1,154 @@ +appID). + '&redirect_uri='.urlencode($this->callback). + '&response_type=code'. + '&state='.urlencode(json_encode($this->state)). + '&v='.urlencode($this->version). + '&scope=openid+email'; + } + + /** + * @param string $code + * + * @return string + */ + public function getAccessToken(string $code): string + { + + $headers[] = 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8'; + $accessToken = $this->request( + 'POST', + 'https://oauth.vk.com/access_token?', + $headers, + 'code=' . urlencode($code) . + '&client_id=' . urlencode($this->appID) . + '&client_secret=' . urlencode($this->appSecret). + '&redirect_uri='.urlencode($this->callback) + ); + $accessToken = json_decode($accessToken, true); + + if(isset($accessToken['email'])){ + $this->user['email'] = $accessToken['email']; + } + + if(isset($accessToken['user_id'])){ + $this->user['user_id'] = $accessToken['user_id']; + } + + if (isset($accessToken['access_token'])) { + return $accessToken['access_token']; + } + return ''; + } + + /** + * @param string $accessToken + * + * @return string + */ + public function getUserID(string $accessToken): string + { + + $user = $this->getUser($accessToken); + + if (isset($user['user_id'])) { + return $user['user_id']; + } + + return ''; + } + + /** + * @param string $accessToken + * + * @return string + */ + public function getUserEmail(string $accessToken): string + { + + $user = $this->getUser($accessToken); + + if (isset($user['email'])) { + return $user['email']; + } + + return ''; + } + + /** + * @param string $accessToken + * + * @return string + */ + public function getUserName(string $accessToken): string + { + $user = $this->getUser($accessToken); + + if (isset($user['name'])) { + return $user['name']; + } + + return ''; + } + + /** + * @param string $accessToken + * + * @return array + */ + protected function getUser(string $accessToken): array + { + if (empty($this->user['name'])) { + $user = $this->request( + 'GET', + 'https://api.vk.com/method/users.get?'. + 'v='.urlencode($this->version). + '&fields=id,name,email,first_name,last_name'. + '&access_token='.urlencode($accessToken) + ); + + $user = json_decode($user, true); + $this->user['name'] = $user['response'][0]['first_name'] ." ".$user['response'][0]['last_name']; + + } + return $this->user; + } +} From cb0ca885c1cb8e51bd07483e72cf9136bd358a91 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sun, 6 Oct 2019 16:31:34 +0530 Subject: [PATCH 20/28] chore: lint fix --- src/Auth/OAuth/Vk.php | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/Auth/OAuth/Vk.php b/src/Auth/OAuth/Vk.php index 46f2742ac1..ad860aff84 100644 --- a/src/Auth/OAuth/Vk.php +++ b/src/Auth/OAuth/Vk.php @@ -40,7 +40,7 @@ class Vk extends OAuth 'client_id='.urlencode($this->appID). '&redirect_uri='.urlencode($this->callback). '&response_type=code'. - '&state='.urlencode(json_encode($this->state)). + '&state='.urlencode(json_encode($this->state)). '&v='.urlencode($this->version). '&scope=openid+email'; } @@ -52,7 +52,6 @@ class Vk extends OAuth */ public function getAccessToken(string $code): string { - $headers[] = 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8'; $accessToken = $this->request( 'POST', @@ -65,11 +64,11 @@ class Vk extends OAuth ); $accessToken = json_decode($accessToken, true); - if(isset($accessToken['email'])){ + if (isset($accessToken['email'])) { $this->user['email'] = $accessToken['email']; } - if(isset($accessToken['user_id'])){ + if (isset($accessToken['user_id'])) { $this->user['user_id'] = $accessToken['user_id']; } @@ -86,8 +85,7 @@ class Vk extends OAuth */ public function getUserID(string $accessToken): string { - - $user = $this->getUser($accessToken); + $user = $this->getUser($accessToken); if (isset($user['user_id'])) { return $user['user_id']; @@ -103,8 +101,7 @@ class Vk extends OAuth */ public function getUserEmail(string $accessToken): string { - - $user = $this->getUser($accessToken); + $user = $this->getUser($accessToken); if (isset($user['email'])) { return $user['email']; @@ -138,7 +135,7 @@ class Vk extends OAuth { if (empty($this->user['name'])) { $user = $this->request( - 'GET', + 'GET', 'https://api.vk.com/method/users.get?'. 'v='.urlencode($this->version). '&fields=id,name,email,first_name,last_name'. @@ -147,7 +144,6 @@ class Vk extends OAuth $user = json_decode($user, true); $this->user['name'] = $user['response'][0]['first_name'] ." ".$user['response'][0]['last_name']; - } return $this->user; } From 8a200a409ed9dc09200687b1d982d0e26a4a3c7f Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sun, 6 Oct 2019 17:27:39 +0530 Subject: [PATCH 21/28] chore: added vk icon --- public/images/oauth/vk.png | Bin 0 -> 3163 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/images/oauth/vk.png diff --git a/public/images/oauth/vk.png b/public/images/oauth/vk.png new file mode 100644 index 0000000000000000000000000000000000000000..481303ab7cd4e3081831a63ff6629799896a1e6b GIT binary patch literal 3163 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 Date: Sun, 6 Oct 2019 18:26:44 +0530 Subject: [PATCH 22/28] feat: implemented abstract method parseState --- app/config/providers.php | 2 +- app/controllers/auth.php | 36 ++++++++++++++++++------------------ src/Auth/OAuth.php | 13 +++++++++++++ src/Auth/OAuth/Amazon.php | 10 ++++++++++ 4 files changed, 42 insertions(+), 19 deletions(-) diff --git a/app/config/providers.php b/app/config/providers.php index 444519ba26..140dbeaf6f 100644 --- a/app/config/providers.php +++ b/app/config/providers.php @@ -64,7 +64,7 @@ return [ 'amazon' => [ 'developers' => 'https://developer.amazon.com/apps-and-games/services-and-apis', 'icon' => 'icon-amazon', - 'enabled' => false, + 'enabled' => true, ], 'vk' => [ 'developers' => 'https://vk.com/dev', diff --git a/app/controllers/auth.php b/app/controllers/auth.php index a904c1abd6..849f783113 100644 --- a/app/controllers/auth.php +++ b/app/controllers/auth.php @@ -733,24 +733,6 @@ $utopia->get('/v1/auth/oauth/:provider/redirect') // Uncomment this while testing amazon oAuth // $state = html_entity_decode($state); - if (!empty($state)) { - try { - $state = array_merge($defaultState, json_decode($state, true)); - } catch (\Exception $exception) { - throw new Exception('Failed to parse login state params as passed from OAuth provider'); - } - } else { - $state = $defaultState; - } - - if (!$validateURL->isValid($state['success'])) { - throw new Exception('Invalid redirect URL for success login', 400); - } - - if (!empty($state['failure']) && !$validateURL->isValid($state['failure'])) { - throw new Exception('Invalid redirect URL for failure login', 400); - } - $appId = $project->getAttribute('usersOauth'.ucfirst($provider).'Appid', ''); $appSecret = $project->getAttribute('usersOauth'.ucfirst($provider).'Secret', '{}'); @@ -769,6 +751,24 @@ $utopia->get('/v1/auth/oauth/:provider/redirect') $oauth = new $classname($appId, $appSecret, $callback); + if (!empty($state)) { + try { + $state = array_merge($defaultState, $oauth->parseState($state)); + } catch (\Exception $exception) { + throw new Exception('Failed to parse login state params as passed from OAuth provider'); + } + } else { + $state = $defaultState; + } + + if (!$validateURL->isValid($state['success'])) { + throw new Exception('Invalid redirect URL for success login', 400); + } + + if (!empty($state['failure']) && !$validateURL->isValid($state['failure'])) { + throw new Exception('Invalid redirect URL for failure login', 400); + } + $accessToken = $oauth->getAccessToken($code); if (empty($accessToken)) { diff --git a/src/Auth/OAuth.php b/src/Auth/OAuth.php index 70d7f448cf..cbae4638e4 100644 --- a/src/Auth/OAuth.php +++ b/src/Auth/OAuth.php @@ -78,6 +78,19 @@ abstract class OAuth */ abstract public function getUserName(string $accessToken):string; + // The parseState function was designed specifically for Amazon OAuth Adapter to override. + // The response from Amazon is html encoded and hence it needs to be html_decoded before + // json_decoding + + /** + * @param $state + * + * @return json + */ + public function parseState(string $state) { + return json_decode($state, true); + } + /** * @param string $method * @param string $url diff --git a/src/Auth/OAuth/Amazon.php b/src/Auth/OAuth/Amazon.php index d9cf84e73f..95744e9ba3 100644 --- a/src/Auth/OAuth/Amazon.php +++ b/src/Auth/OAuth/Amazon.php @@ -23,6 +23,16 @@ class Amazon extends OAuth return 'amazon'; } + /** + * @param $state + * + * @return json + */ + public function parseState(string $state) { + return json_decode(html_entity_decode($state), true); + } + + /** * @return string */ From d2ebafb23749b52c21c079d89d01b7d3787d44b2 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Sun, 6 Oct 2019 18:28:01 +0530 Subject: [PATCH 23/28] chore: lint fix --- src/Auth/OAuth.php | 5 +++-- src/Auth/OAuth/Amazon.php | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Auth/OAuth.php b/src/Auth/OAuth.php index cbae4638e4..a96ebb7a68 100644 --- a/src/Auth/OAuth.php +++ b/src/Auth/OAuth.php @@ -79,7 +79,7 @@ abstract class OAuth abstract public function getUserName(string $accessToken):string; // The parseState function was designed specifically for Amazon OAuth Adapter to override. - // The response from Amazon is html encoded and hence it needs to be html_decoded before + // The response from Amazon is html encoded and hence it needs to be html_decoded before // json_decoding /** @@ -87,7 +87,8 @@ abstract class OAuth * * @return json */ - public function parseState(string $state) { + public function parseState(string $state) + { return json_decode($state, true); } diff --git a/src/Auth/OAuth/Amazon.php b/src/Auth/OAuth/Amazon.php index 95744e9ba3..71bb8aaee6 100644 --- a/src/Auth/OAuth/Amazon.php +++ b/src/Auth/OAuth/Amazon.php @@ -28,7 +28,8 @@ class Amazon extends OAuth * * @return json */ - public function parseState(string $state) { + public function parseState(string $state) + { return json_decode(html_entity_decode($state), true); } From f2139529ddebd2d5c04af9ac7d88e1122e3d2cd6 Mon Sep 17 00:00:00 2001 From: wenzdey <56051809+wenzdey@users.noreply.github.com> Date: Sun, 6 Oct 2019 12:33:42 -0500 Subject: [PATCH 24/28] Updated getcomposer url to supported secure link --- app/sdks/php/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/sdks/php/README.md b/app/sdks/php/README.md index 13c7005082..50f218e0df 100644 --- a/app/sdks/php/README.md +++ b/app/sdks/php/README.md @@ -13,7 +13,7 @@ Appwrite backend as a service cuts up to 70% of the time and costs required for ## Installation -To install via [Composer](http://getcomposer.org/): +To install via [Composer](https://getcomposer.org/): ```bash composer require appwrite/appwrite @@ -21,4 +21,4 @@ composer require appwrite/appwrite ## License -Please see the [BSD-3-Clause license](https://raw.githubusercontent.com/appwrite/appwrite/master/LICENSE) file for more information. \ No newline at end of file +Please see the [BSD-3-Clause license](https://raw.githubusercontent.com/appwrite/appwrite/master/LICENSE) file for more information. From 4e155bbcc3abcb8a08e095689ea5ffb3cb0e1dc9 Mon Sep 17 00:00:00 2001 From: eldadfux Date: Sun, 6 Oct 2019 20:38:55 +0300 Subject: [PATCH 25/28] Updated Changelog --- CHANGES.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 3203c99063..3d8b3d7729 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,12 +3,13 @@ ## Planned Issues * Added 7 new locales for locale service and email templates (af, cz, hu, lt, no, ru, si, sv, ta, vi, zh-cn, zh-tw) -* New users service routes to allow updates pref, email and name update +* New users service routes to allow updates pref and name update * 2 stage Docker build * New database rule validation options * Update docs example with auth info * Limit HTTP origin check only to browser integrations * Allow electron apps to not pass origin header +* New OAuth adapters (Amazon, Dropbox, Microsoft, Slack, VK) # Version 0.2.0 (PRE-RELEASE) @@ -17,7 +18,7 @@ * Added option to limit access to the Appwrite console * Added option to disable abuse check and rate limits * Added input field with the server API endpoint for easy access -* Added new OAuth providers for Google and GitLab +* Added new OAuth providers for Google, Bitbucket and GitLab * Added 15 new locales for locale service and email templates (cat, de, es, fi, fr, gr, hi, id, it, nl, pt-br, pt-pt, ro, tr, ua) * Improved test coverage for the project and synced DEV & CI environments settings From 8a9990787e81d9fabb19dedcc29beeba003a9207 Mon Sep 17 00:00:00 2001 From: eldadfux Date: Sun, 6 Oct 2019 21:04:13 +0300 Subject: [PATCH 26/28] Updated locale settings --- CHANGES.md | 2 +- app/init.php | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 3d8b3d7729..3f97b37063 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,7 +2,7 @@ ## Planned Issues -* Added 7 new locales for locale service and email templates (af, cz, hu, lt, no, ru, si, sv, ta, vi, zh-cn, zh-tw) +* Added 7 new locales for locale service and email templates (af, ar, cz, hu, lt, no, ru, si, sv, ta, vi, zh-cn, zh-tw) * New users service routes to allow updates pref and name update * 2 stage Docker build * New database rule validation options diff --git a/app/init.php b/app/init.php index acc5f51cfa..43b8b0f68f 100644 --- a/app/init.php +++ b/app/init.php @@ -24,7 +24,7 @@ const APP_EMAIL_TEAM = 'team@'.APP_DOMAIN; const APP_EMAIL_SECURITY = 'security@'.APP_DOMAIN; const APP_USERAGENT = APP_NAME.'-Server/%s Please report abuse at '.APP_EMAIL_SECURITY; const APP_MODE_ADMIN = 'admin'; -const APP_LOCALES = ['ar', 'cat', 'de', 'en', 'es', 'fi', 'fr', 'gr', 'he', 'hi', 'id', 'it', 'nl', 'no', 'pt-br', 'pt-pt', 'ro', 'tr', 'ua', 'zh-cn', 'zh-tw']; +const APP_LOCALES = ['af', 'ar', 'cat', 'cz', 'de', 'en', 'es', 'fi', 'fr', 'gr', 'he', 'hi', 'hu', 'id', 'it', 'lt', 'nl', 'no', 'pl', 'pt-br', 'pt-pt', 'ro', 'ru', 'si', 'sv', 'ta', 'tr', 'ua', 'vi', 'zh-cn', 'zh-tw']; const APP_PAGING_LIMIT = 15; const APP_VERSION_STABLE = '0.2.0'; @@ -129,8 +129,10 @@ $locale = $request->getParam('locale', $request->getHeader('X-Appwrite-Locale', Locale::$exceptions = false; +Locale::setLanguage('af', include __DIR__.'/config/locale/af.php'); Locale::setLanguage('ar', include __DIR__.'/config/locale/ar.php'); Locale::setLanguage('cat', include __DIR__.'/config/locale/cat.php'); +Locale::setLanguage('cz', include __DIR__.'/config/locale/cz.php'); Locale::setLanguage('de', include __DIR__.'/config/locale/de.php'); Locale::setLanguage('en', include __DIR__.'/config/locale/en.php'); Locale::setLanguage('es', include __DIR__.'/config/locale/es.php'); @@ -139,17 +141,23 @@ Locale::setLanguage('fr', include __DIR__.'/config/locale/fr.php'); Locale::setLanguage('gr', include __DIR__.'/config/locale/gr.php'); Locale::setLanguage('he', include __DIR__.'/config/locale/he.php'); Locale::setLanguage('hi', include __DIR__.'/config/locale/hi.php'); +Locale::setLanguage('hu', include __DIR__.'/config/locale/hu.php'); Locale::setLanguage('id', include __DIR__.'/config/locale/id.php'); Locale::setLanguage('it', include __DIR__.'/config/locale/it.php'); +Locale::setLanguage('lt', include __DIR__.'/config/locale/lt.php'); Locale::setLanguage('nl', include __DIR__.'/config/locale/nl.php'); -//Locale::setLanguage('no', include __DIR__.'/config/locale/no.php'); +Locale::setLanguage('no', include __DIR__.'/config/locale/no.php'); +Locale::setLanguage('pl', include __DIR__.'/config/locale/pl.php'); Locale::setLanguage('pt-br', include __DIR__.'/config/locale/pt-br.php'); Locale::setLanguage('pt-pt', include __DIR__.'/config/locale/pt-pt.php'); Locale::setLanguage('ro', include __DIR__.'/config/locale/ro.php'); Locale::setLanguage('ru', include __DIR__ . '/config/locale/ru.php'); +Locale::setLanguage('si', include __DIR__ . '/config/locale/si.php'); +Locale::setLanguage('sv', include __DIR__ . '/config/locale/sv.php'); +Locale::setLanguage('ta', include __DIR__ . '/config/locale/ta.php'); Locale::setLanguage('tr', include __DIR__.'/config/locale/tr.php'); Locale::setLanguage('ua', include __DIR__.'/config/locale/ua.php'); -Locale::setLanguage('si', include __DIR__ . '/config/locale/si.php'); +Locale::setLanguage('vi', include __DIR__.'/config/locale/vi.php'); Locale::setLanguage('zh-cn', include __DIR__.'/config/locale/zh-cn.php'); Locale::setLanguage('zh-tw', include __DIR__.'/config/locale/zh-tw.php'); From 2c08003de1f9ab175b70ef6cf2e044f28d192c77 Mon Sep 17 00:00:00 2001 From: eldadfux Date: Sun, 6 Oct 2019 21:26:34 +0300 Subject: [PATCH 27/28] Fixed encoding --- app/config/locale/lt.countries.php | 371 +++++++++++++++-------------- app/init.php | 4 +- 2 files changed, 189 insertions(+), 186 deletions(-) diff --git a/app/config/locale/lt.countries.php b/app/config/locale/lt.countries.php index 4a80d3f129..b34622c071 100644 --- a/app/config/locale/lt.countries.php +++ b/app/config/locale/lt.countries.php @@ -1,4 +1,5 @@ 'Afganistanas', 'AO' => 'Angola', @@ -9,189 +10,189 @@ return [ 'AM' => 'Armėnija', 'AG' => 'Antigva ir Barbuda', 'AU' => 'Australija', -    'AT' => 'Austrija', -    'AZ' => 'Azerbaidžanas', -    'BI' => 'Burundi', -    'BE' => 'Belgija', -    'BJ' => 'Beninas', -    'BF' => 'Burkina Faso', -    'BD' => 'Bangladešas', -    'BG' => 'Bulgarija', -    'BH' => 'Bahreinas', -    'BS' => 'Bahamai', -    'BA' => 'Bosnija ir Hercegovina', -    'BY' => 'Baltarusija', -    'BZ' => 'Baileys', -    'BO' => 'Bolivija', -    'BR' => 'Brazilija', -    'BB' => 'Barbadosas', -    'BN' => 'Brunėjus', -    'BT' => 'Butanas', -    'BW' => 'Botsvana', -    'CF' => 'Centrinės Afrikos Respublika', -    'CA' => 'Kanada', -    'CH' => 'Šveicarija', -    'CL' => 'Čilė', -    'CN' => 'Kinija', -    'CI' => 'Dramblio Kaulo Krantas', -    'CM' => 'Kamerūnas', -    'CD' => 'Kongo Demokratinė Respublika', -    'CG' => 'Kongo Respublika', -    'CO' => 'Kolumbija', -    'KM' => 'Komorai', -    'CV' => 'Žaliasis Kyšulys', -    'CR' => 'Kosta Rika', -    'CU' => 'Kuba', -    'CY' => 'Kipras', -    'CZ' => 'Čekija', -    'DE' => 'Vokietija', -    'DJ' => 'Džibutis', -    'DM' => 'Dominika', -    'DK' => 'Danija', -    'DO' => 'Dominikos Respublika', -    'DZ' => 'Alžyras', -    'EC' => 'Ekvadoras', -    'EG' => 'Egiptas', -    'ER' => 'Eritrėja', -    'ES' => 'Ispanija', -    'EE' => 'Estija', -    'ET' => 'Etiopija', -    'FI' => 'Suomija', -    'FJ' => 'Fidžis', -    'FR' => 'Prancūzija', -    'FM' => 'Mikronezija', -    'GA' => 'Gabonas', -    'GB' => 'Jungtinė Karalystė', -    'GE' => 'Gruzija', -    'GH' => 'Gana', -    'GN' => 'Gvinėja', -    'GM' => 'Gambija', -    'GW' => 'Bisau Gvinėja', -    'GQ' => 'Pusiaujo Gvinėja', -    'GR' => 'Graikija', -    'GD' => 'Grenada', -    'GT' => 'Gvatemala', -    'GY' => 'Gajana', -    'HN' => 'Hondūras', -    'HR' => 'Kroatija', -    'HT' => 'Haitis', -    'HU' => 'Vengrija', -    'ID' => 'Indonezija', -    'IN' => 'Indija', -    'IE' => 'Airija', -    'IR' => 'Iranas', -    'IQ' => 'Irakas', -    'IS' => 'Islandija', -    'IL' => 'Izraelis', -    'IT' => 'Italija', -    'JM' => 'Jamaika', -    'JO' => 'Jordanija', -    'JP' => 'Japonija', -    'KZ' => 'Kazachstanas', -    'KE' => 'Kenija', -    'KG' => 'Kirgizija', -    'KH' => 'Kambodža', -    'KI' => 'Kiribati', -    'KN' => 'Sent Kitsas ir Nevis', -    'KR' => 'Pietų Korėja', -    'KW' => 'Kuveitas', -    'LA' => 'Laosas', -    'LB' => 'Libanas', -    'LR' => 'Liberija', -    'LY' => 'Libija', -    'LC' => 'Sent Lusija', -    'LI' => 'Lichtenšteinas', -    'LK' => 'Šri Lanka', -    'LS' => 'Lesotas', -    'LT' => 'Lietuva', -    'LU' => 'Liuksemburgas', -    'LV' => 'Latvija', -    'MA' => 'Marokas', -    'MC' => 'Monaco', -    'MD' => 'Moldova', -    'MG' => 'Madagaskaras', -    'MV' => 'Maldyvai', -    'MX' => 'Meksika', -    'MH' => 'Maršalo salos', -    'MK' => 'Makedonija', -    'ML' => 'Malis', -    'MT' => 'Malta', -    'MM' => 'Mianmaras', -    'ME' => 'Juodkalnija', -    'MN' => 'Mongolija', -    'MZ' => 'Mozambikas', -    'MR' => 'Mauritanija', -    'MU' => 'Mauricijus', -    'MW' => 'Malavis', -    'MY' => 'Malaizija', -    'NA' => 'Namibija', -    'NE' => 'Nigeris', -    'NG' => 'Nigerija', -    'NI' => 'Nikaragva', -    'NL' => 'Nyderlandai', -    'NE' => 'Norvegija', -    'NP' => 'Nepalas', -    'NR' => 'Nauru', -    'NZ' => 'Naujoji Zelandija', -    'OM' => 'Omanas', -    'PK' => 'Pakistanas', -    'PA' => 'Panama', -    'PE' => 'Peru', -    'PH' => 'Filipinai', -    'PW' => 'Palau', -    'PG' => 'Papua Naujoji Gvinėja', -    'PL' => 'Lenkija', -    'KP' => 'Šiaurės Korėja', -    'PT' => 'Portugalija', -    'PY' => 'Paragvajus', -    'QA' => 'Qatar', -    'RO' => 'Rumunija', -    'RU' => 'Rusija', -    'RW' => 'Ruanda', -    'SA' => 'Saudo Arabija', -    'SD' => 'Sudanas', -    'SN' => 'Senegalas', -    'SG' => 'Singapūras', -    'SB' => 'Saliamono Salos', -    'SL' => 'Siera Leonė', -    'SV' => 'Salvadoras', -    'SM' => 'San Marino', -    'SO' => 'Somalis', -    'RS' => 'Serbija', -    'SS' => 'Pietų Sudanas', -    'ST' => 'San Tomė ir Prinsipė', -    'SR' => 'Surinamas', -    'SK' => 'Slovakija', -    'SI' => 'Slovėnija', -    'SE' => 'Švedija', -    'SZ' => 'Svazilandas', -    'SC' => 'Seišeliai', -    'SY' => 'Sirija', -    'TD' => 'Chadas', -    'TG' => 'Togo', -    'TH' => 'Tailandas', -    'TJ' => 'Tadžikistanas', -    'TM' => 'Turkmėnistanas', -    'TL' => 'Rytų Timoras', -    'TO' => 'Tonga', -    'TT' => 'Trinidadas ir Tobagas', -    'TN' => 'Tunisas', -    'TR' => 'Turkija', -    'TV' => 'Tuvalu', -    'TZ' => 'Tanzanija', -    'UG' => 'Uganda', -    'UA' => 'Ukraina', -    'UY' => 'Urugvajus', -    'US' => 'JAV', -    'UZ' => 'Uzbekistanas', -    'VA' => 'Vatikanas', -    'VC' => 'Sent Vinsentas ir Grenadinai', -    'VE' => 'Venesuela', -    'VN' => 'Vietnamas', -    'VU' => 'Vanuatu', -    'WS' => 'Samoa', -    'YE' => 'Jemenas', -    'ZA' => 'Pietų Afrika', -    'ZM' => 'Zambija', -    'ZW' => 'Zimbabvė', + 'AT' => 'Austrija', + 'AZ' => 'Azerbaidžanas', + 'BI' => 'Burundi', + 'BE' => 'Belgija', + 'BJ' => 'Beninas', + 'BF' => 'Burkina Faso', + 'BD' => 'Bangladešas', + 'BG' => 'Bulgarija', + 'BH' => 'Bahreinas', + 'BS' => 'Bahamai', + 'BA' => 'Bosnija ir Hercegovina', + 'BY' => 'Baltarusija', + 'BZ' => 'Baileys', + 'BO' => 'Bolivija', + 'BR' => 'Brazilija', + 'BB' => 'Barbadosas', + 'BN' => 'Brunėjus', + 'BT' => 'Butanas', + 'BW' => 'Botsvana', + 'CF' => 'Centrinės Afrikos Respublika', + 'CA' => 'Kanada', + 'CH' => 'Šveicarija', + 'CL' => 'Čilė', + 'CN' => 'Kinija', + 'CI' => 'Dramblio Kaulo Krantas', + 'CM' => 'Kamerūnas', + 'CD' => 'Kongo Demokratinė Respublika', + 'CG' => 'Kongo Respublika', + 'CO' => 'Kolumbija', + 'KM' => 'Komorai', + 'CV' => 'Žaliasis Kyšulys', + 'CR' => 'Kosta Rika', + 'CU' => 'Kuba', + 'CY' => 'Kipras', + 'CZ' => 'Čekija', + 'DE' => 'Vokietija', + 'DJ' => 'Džibutis', + 'DM' => 'Dominika', + 'DK' => 'Danija', + 'DO' => 'Dominikos Respublika', + 'DZ' => 'Alžyras', + 'EC' => 'Ekvadoras', + 'EG' => 'Egiptas', + 'ER' => 'Eritrėja', + 'ES' => 'Ispanija', + 'EE' => 'Estija', + 'ET' => 'Etiopija', + 'FI' => 'Suomija', + 'FJ' => 'Fidžis', + 'FR' => 'Prancūzija', + 'FM' => 'Mikronezija', + 'GA' => 'Gabonas', + 'GB' => 'Jungtinė Karalystė', + 'GE' => 'Gruzija', + 'GH' => 'Gana', + 'GN' => 'Gvinėja', + 'GM' => 'Gambija', + 'GW' => 'Bisau Gvinėja', + 'GQ' => 'Pusiaujo Gvinėja', + 'GR' => 'Graikija', + 'GD' => 'Grenada', + 'GT' => 'Gvatemala', + 'GY' => 'Gajana', + 'HN' => 'Hondūras', + 'HR' => 'Kroatija', + 'HT' => 'Haitis', + 'HU' => 'Vengrija', + 'ID' => 'Indonezija', + 'IN' => 'Indija', + 'IE' => 'Airija', + 'IR' => 'Iranas', + 'IQ' => 'Irakas', + 'IS' => 'Islandija', + 'IL' => 'Izraelis', + 'IT' => 'Italija', + 'JM' => 'Jamaika', + 'JO' => 'Jordanija', + 'JP' => 'Japonija', + 'KZ' => 'Kazachstanas', + 'KE' => 'Kenija', + 'KG' => 'Kirgizija', + 'KH' => 'Kambodža', + 'KI' => 'Kiribati', + 'KN' => 'Sent Kitsas ir Nevis', + 'KR' => 'Pietų Korėja', + 'KW' => 'Kuveitas', + 'LA' => 'Laosas', + 'LB' => 'Libanas', + 'LR' => 'Liberija', + 'LY' => 'Libija', + 'LC' => 'Sent Lusija', + 'LI' => 'Lichtenšteinas', + 'LK' => 'Šri Lanka', + 'LS' => 'Lesotas', + 'LT' => 'Lietuva', + 'LU' => 'Liuksemburgas', + 'LV' => 'Latvija', + 'MA' => 'Marokas', + 'MC' => 'Monaco', + 'MD' => 'Moldova', + 'MG' => 'Madagaskaras', + 'MV' => 'Maldyvai', + 'MX' => 'Meksika', + 'MH' => 'Maršalo salos', + 'MK' => 'Makedonija', + 'ML' => 'Malis', + 'MT' => 'Malta', + 'MM' => 'Mianmaras', + 'ME' => 'Juodkalnija', + 'MN' => 'Mongolija', + 'MZ' => 'Mozambikas', + 'MR' => 'Mauritanija', + 'MU' => 'Mauricijus', + 'MW' => 'Malavis', + 'MY' => 'Malaizija', + 'NA' => 'Namibija', + 'NE' => 'Nigeris', + 'NG' => 'Nigerija', + 'NI' => 'Nikaragva', + 'NL' => 'Nyderlandai', + 'NE' => 'Norvegija', + 'NP' => 'Nepalas', + 'NR' => 'Nauru', + 'NZ' => 'Naujoji Zelandija', + 'OM' => 'Omanas', + 'PK' => 'Pakistanas', + 'PA' => 'Panama', + 'PE' => 'Peru', + 'PH' => 'Filipinai', + 'PW' => 'Palau', + 'PG' => 'Papua Naujoji Gvinėja', + 'PL' => 'Lenkija', + 'KP' => 'Šiaurės Korėja', + 'PT' => 'Portugalija', + 'PY' => 'Paragvajus', + 'QA' => 'Qatar', + 'RO' => 'Rumunija', + 'RU' => 'Rusija', + 'RW' => 'Ruanda', + 'SA' => 'Saudo Arabija', + 'SD' => 'Sudanas', + 'SN' => 'Senegalas', + 'SG' => 'Singapūras', + 'SB' => 'Saliamono Salos', + 'SL' => 'Siera Leonė', + 'SV' => 'Salvadoras', + 'SM' => 'San Marino', + 'SO' => 'Somalis', + 'RS' => 'Serbija', + 'SS' => 'Pietų Sudanas', + 'ST' => 'San Tomė ir Prinsipė', + 'SR' => 'Surinamas', + 'SK' => 'Slovakija', + 'SI' => 'Slovėnija', + 'SE' => 'Švedija', + 'SZ' => 'Svazilandas', + 'SC' => 'Seišeliai', + 'SY' => 'Sirija', + 'TD' => 'Chadas', + 'TG' => 'Togo', + 'TH' => 'Tailandas', + 'TJ' => 'Tadžikistanas', + 'TM' => 'Turkmėnistanas', + 'TL' => 'Rytų Timoras', + 'TO' => 'Tonga', + 'TT' => 'Trinidadas ir Tobagas', + 'TN' => 'Tunisas', + 'TR' => 'Turkija', + 'TV' => 'Tuvalu', + 'TZ' => 'Tanzanija', + 'UG' => 'Uganda', + 'UA' => 'Ukraina', + 'UY' => 'Urugvajus', + 'US' => 'JAV', + 'UZ' => 'Uzbekistanas', + 'VA' => 'Vatikanas', + 'VC' => 'Sent Vinsentas ir Grenadinai', + 'VE' => 'Venesuela', + 'VN' => 'Vietnamas', + 'VU' => 'Vanuatu', + 'WS' => 'Samoa', + 'YE' => 'Jemenas', + 'ZA' => 'Pietų Afrika', + 'ZM' => 'Zambija', + 'ZW' => 'Zimbabvė', ]; diff --git a/app/init.php b/app/init.php index 43b8b0f68f..d399a59dc6 100644 --- a/app/init.php +++ b/app/init.php @@ -24,7 +24,7 @@ const APP_EMAIL_TEAM = 'team@'.APP_DOMAIN; const APP_EMAIL_SECURITY = 'security@'.APP_DOMAIN; const APP_USERAGENT = APP_NAME.'-Server/%s Please report abuse at '.APP_EMAIL_SECURITY; const APP_MODE_ADMIN = 'admin'; -const APP_LOCALES = ['af', 'ar', 'cat', 'cz', 'de', 'en', 'es', 'fi', 'fr', 'gr', 'he', 'hi', 'hu', 'id', 'it', 'lt', 'nl', 'no', 'pl', 'pt-br', 'pt-pt', 'ro', 'ru', 'si', 'sv', 'ta', 'tr', 'ua', 'vi', 'zh-cn', 'zh-tw']; +const APP_LOCALES = ['af', 'ar', 'cat', 'cz', 'de', 'en', 'es', 'fi', 'fr', 'gr', 'he', 'hi', 'hu', 'id', 'it', 'jv', 'lt', 'nl', 'no', 'pl', 'pt-br', 'pt-pt', 'ro', 'ru', 'si', 'sl', 'sv', 'ta', 'tr', 'ua', 'vi', 'zh-cn', 'zh-tw']; const APP_PAGING_LIMIT = 15; const APP_VERSION_STABLE = '0.2.0'; @@ -144,6 +144,7 @@ Locale::setLanguage('hi', include __DIR__.'/config/locale/hi.php'); Locale::setLanguage('hu', include __DIR__.'/config/locale/hu.php'); Locale::setLanguage('id', include __DIR__.'/config/locale/id.php'); Locale::setLanguage('it', include __DIR__.'/config/locale/it.php'); +Locale::setLanguage('jv', include __DIR__.'/config/locale/jv.php'); Locale::setLanguage('lt', include __DIR__.'/config/locale/lt.php'); Locale::setLanguage('nl', include __DIR__.'/config/locale/nl.php'); Locale::setLanguage('no', include __DIR__.'/config/locale/no.php'); @@ -153,6 +154,7 @@ Locale::setLanguage('pt-pt', include __DIR__.'/config/locale/pt-pt.php'); Locale::setLanguage('ro', include __DIR__.'/config/locale/ro.php'); Locale::setLanguage('ru', include __DIR__ . '/config/locale/ru.php'); Locale::setLanguage('si', include __DIR__ . '/config/locale/si.php'); +Locale::setLanguage('sl', include __DIR__ . '/config/locale/sl.php'); Locale::setLanguage('sv', include __DIR__ . '/config/locale/sv.php'); Locale::setLanguage('ta', include __DIR__ . '/config/locale/ta.php'); Locale::setLanguage('tr', include __DIR__.'/config/locale/tr.php'); From 79de27fa27ec6d0e2b3fa34d3cba6fb85b5d6083 Mon Sep 17 00:00:00 2001 From: eldadfux Date: Sun, 6 Oct 2019 21:28:58 +0300 Subject: [PATCH 28/28] Updated encoding --- app/config/locale/jv.continents.php | 12 +- app/config/locale/jv.countries.php | 380 ++++++++++++++-------------- 2 files changed, 196 insertions(+), 196 deletions(-) diff --git a/app/config/locale/jv.continents.php b/app/config/locale/jv.continents.php index f20efb8cfa..0170466ce4 100644 --- a/app/config/locale/jv.continents.php +++ b/app/config/locale/jv.continents.php @@ -2,10 +2,10 @@ return [ 'AF' => 'Afrika', -    'AN' => 'Antartika', -    'AS' => 'Asia', -    'EU' => 'Eropa', -    'NA' => 'Amérika Lor', -    'OC' => 'Oseania', -    'SA' => 'Amérika Kidul', + 'AN' => 'Antartika', + 'AS' => 'Asia', + 'EU' => 'Eropa', + 'NA' => 'Amérika Lor', + 'OC' => 'Oseania', + 'SA' => 'Amérika Kidul', ]; diff --git a/app/config/locale/jv.countries.php b/app/config/locale/jv.countries.php index 1b781e36bf..fd48dfa891 100644 --- a/app/config/locale/jv.countries.php +++ b/app/config/locale/jv.countries.php @@ -2,197 +2,197 @@ return [ 'AF' => 'Afghanistan', -    'AO' => 'Angola', -    'AL' => 'Albania', -    'AD' => 'Andorra', -    'AE' => 'Uni Emirat Arab', -    'AR' => 'Argentina', -    'AM' => 'Armenia', -    'AG' => 'Antigua lan Barbuda', -    'AU' => 'Australia', -    'AT' => 'Austria', -    'AZ' => 'Azerbaijan', -    'BI' => 'Burundi', -    'BE' => 'Belgia', -    'BJ' => 'Benin', -    'BF' => 'Burkina Faso', -    'BD' => 'Bangladesh', -    'BG' => 'Bulgaria', -    'BH' => 'Bahrain', -    'BS' => 'Bahamas', -    'BA' => 'Bosnia lan Herzegovina', -    'BY' => 'Belarus', -    'BZ' => 'Belize', -    'BO' => 'Bolivia', -    'BR' => 'Brasil', -    'BB' => 'Barbados', -    'BN' => 'Brunei', -    'BT' => 'Bhutan', -    'BW' => 'Botswana', -    'CF' => 'Republik Afrika Tengah', -    'CA' => 'Kanada', -    'CH' => 'Swiss', -    'CL' => 'Chile', -    'CN' => 'China', -    'CI' => 'Pantai Gading', -    'CM' => 'Kamerun', -    'CD' => 'DR Kongo', -    'CG' => 'Republik Kongo', -    'CO' => 'Kolombia', -    'KM' => 'Comoros', -    'CV' => 'Cape Verde', -    'CR' => 'Costa Rica', -    'CU' => 'Kuba', -    'CY' => 'Siprus', -    'CZ' => 'Czechia', -    'DE' => 'Jerman', -    'DJ' => 'Djibouti', -    'DM' => 'Dominika', -    'DK' => 'Denmark', -    'DO' => 'Republik Dominika', -    'DZ' => 'Algeria', -    'EC' => 'Ekuador', -    'EG' => 'Mesir', -    'ER' => 'Eritrea', -    'ES' => 'Spanyol', -    'EE' => 'Estonia', -    'ET' => 'Ethiopia', -    'FI' => 'Finlandia', + 'AO' => 'Angola', + 'AL' => 'Albania', + 'AD' => 'Andorra', + 'AE' => 'Uni Emirat Arab', + 'AR' => 'Argentina', + 'AM' => 'Armenia', + 'AG' => 'Antigua lan Barbuda', + 'AU' => 'Australia', + 'AT' => 'Austria', + 'AZ' => 'Azerbaijan', + 'BI' => 'Burundi', + 'BE' => 'Belgia', + 'BJ' => 'Benin', + 'BF' => 'Burkina Faso', + 'BD' => 'Bangladesh', + 'BG' => 'Bulgaria', + 'BH' => 'Bahrain', + 'BS' => 'Bahamas', + 'BA' => 'Bosnia lan Herzegovina', + 'BY' => 'Belarus', + 'BZ' => 'Belize', + 'BO' => 'Bolivia', + 'BR' => 'Brasil', + 'BB' => 'Barbados', + 'BN' => 'Brunei', + 'BT' => 'Bhutan', + 'BW' => 'Botswana', + 'CF' => 'Republik Afrika Tengah', + 'CA' => 'Kanada', + 'CH' => 'Swiss', + 'CL' => 'Chile', + 'CN' => 'China', + 'CI' => 'Pantai Gading', + 'CM' => 'Kamerun', + 'CD' => 'DR Kongo', + 'CG' => 'Republik Kongo', + 'CO' => 'Kolombia', + 'KM' => 'Comoros', + 'CV' => 'Cape Verde', + 'CR' => 'Costa Rica', + 'CU' => 'Kuba', + 'CY' => 'Siprus', + 'CZ' => 'Czechia', + 'DE' => 'Jerman', + 'DJ' => 'Djibouti', + 'DM' => 'Dominika', + 'DK' => 'Denmark', + 'DO' => 'Republik Dominika', + 'DZ' => 'Algeria', + 'EC' => 'Ekuador', + 'EG' => 'Mesir', + 'ER' => 'Eritrea', + 'ES' => 'Spanyol', + 'EE' => 'Estonia', + 'ET' => 'Ethiopia', + 'FI' => 'Finlandia', 'FJ' => 'Fiji', -    'FR' => 'Prancis', -    'FM' => 'Mikronesia', -    'GA' => 'Gabon', -    'GB' => 'Inggris', -    'GE' => 'Georgia', -    'GH' => 'Ghana', -    'GN' => 'Guinea', -    'GM' => 'Gambia', -    'GW' => 'Guinea-Bissau', -    'GQ' => 'Guinea Khatulistiwa', -    'GR' => 'Yunani', -    'GD' => 'Grenada', -    'GT' => 'Guatemala', -    'GY' => 'Guyana', -    'HN' => 'Honduras', -    'HR' => 'Croatia', -    'HT' => 'Haiti', -    'HU' => 'Hongaria', -    'ID' => 'Indonesia', -    'IN' => 'India', -    'IE' => 'Irlandia', -    'IR' => 'Iran', -    'IQ' => 'Irak', -    'IS' => 'Islandia', -    'IL' => 'Israel', -    'IT' => 'Italia', -    'JM' => 'Jamaika', -    'JO' => 'Yordania', -    'JP' => 'Jepang', -    'KZ' => 'Kazakhstan', -    'KE' => 'Kenya', -    'KG' => 'Kyrgyzstan', -    'KH' => 'Kamboja', -    'KI' => 'Kiribati', -    'KN' => 'Saint Kitts lan Nevis', -    'KR' => 'Korea Kidul', -    'KW' => 'Kuwait', -    'LA' => 'Laos', -    'LB' => 'Libanon', -    'LR' => 'Liberia', -    'LY' => 'Libya', -    'LC' => 'Saint Lucia', -    'LI' => 'Liechtenstein', -    'LK' => 'Sri Lanka', -    'LS' => 'Lesotho', -    'LT' => 'Lithuania', -    'LU' => 'Luksemburg', -    'LV' => 'Latvia', -    'MA' => 'Maroko', -    'MC' => 'Monaco', -    'MD' => 'Moldova', -    'MG' => 'Madagascar', -    'MV' => 'Maldives', -    'MX' => 'Meksiko', -    'MH' => 'Kepulauan Marshall', -    'MK' => 'Makedonia', -    'ML' => 'Mali', -    'MT' => 'Malta', -    'MM' => 'Myanmar', + 'FR' => 'Prancis', + 'FM' => 'Mikronesia', + 'GA' => 'Gabon', + 'GB' => 'Inggris', + 'GE' => 'Georgia', + 'GH' => 'Ghana', + 'GN' => 'Guinea', + 'GM' => 'Gambia', + 'GW' => 'Guinea-Bissau', + 'GQ' => 'Guinea Khatulistiwa', + 'GR' => 'Yunani', + 'GD' => 'Grenada', + 'GT' => 'Guatemala', + 'GY' => 'Guyana', + 'HN' => 'Honduras', + 'HR' => 'Croatia', + 'HT' => 'Haiti', + 'HU' => 'Hongaria', + 'ID' => 'Indonesia', + 'IN' => 'India', + 'IE' => 'Irlandia', + 'IR' => 'Iran', + 'IQ' => 'Irak', + 'IS' => 'Islandia', + 'IL' => 'Israel', + 'IT' => 'Italia', + 'JM' => 'Jamaika', + 'JO' => 'Yordania', + 'JP' => 'Jepang', + 'KZ' => 'Kazakhstan', + 'KE' => 'Kenya', + 'KG' => 'Kyrgyzstan', + 'KH' => 'Kamboja', + 'KI' => 'Kiribati', + 'KN' => 'Saint Kitts lan Nevis', + 'KR' => 'Korea Kidul', + 'KW' => 'Kuwait', + 'LA' => 'Laos', + 'LB' => 'Libanon', + 'LR' => 'Liberia', + 'LY' => 'Libya', + 'LC' => 'Saint Lucia', + 'LI' => 'Liechtenstein', + 'LK' => 'Sri Lanka', + 'LS' => 'Lesotho', + 'LT' => 'Lithuania', + 'LU' => 'Luksemburg', + 'LV' => 'Latvia', + 'MA' => 'Maroko', + 'MC' => 'Monaco', + 'MD' => 'Moldova', + 'MG' => 'Madagascar', + 'MV' => 'Maldives', + 'MX' => 'Meksiko', + 'MH' => 'Kepulauan Marshall', + 'MK' => 'Makedonia', + 'ML' => 'Mali', + 'MT' => 'Malta', + 'MM' => 'Myanmar', 'ME' => 'Montenegro', -    'MN' => 'Mongolia', -    'MZ' => 'Mozambique', -    'MR' => 'Mauritania', -    'MU' => 'Mauritius', -    'MW' => 'Malawi', -    'MY' => 'Malaysia', -    'NA' => 'Namibia', -    'NE' => 'Niger', -    'NG' => 'Nigeria', -    'NI' => 'Nikaragua', -    'NL' => 'Belanda', -    'NO' => 'Norwegia', -    'NP' => 'Nepal', -    'NR' => 'Nauru', -    'NZ' => 'Selandia Anyar', -    'OM' => 'Oman', -    'PK' => 'Pakistan', -    'PA' => 'Panama', -    'PE' => 'Peru', -    'PH' => 'Filipina', -    'PW' => 'Palau', -    'PG' => 'Papua Nugini', -    'PL' => 'Polandia', -    'KP' => 'Korea Lor', -    'PT' => 'Portugal', -    'PY' => 'Paraguay', -    'QA' => 'Qatar', -    'RO' => 'Romania', -    'RU' => 'Rusia', -    'RW' => 'Rwanda', -    'SA' => 'Arab Saudi', -    'SD' => 'Sudan', -    'SN' => 'Senegal', -    'SG' => 'Singapura', -    'SB' => 'Kepulauan Solomon', -    'SL' => 'Sierra Leone', -    'SV' => 'El Salvador', -    'SM' => 'San Marino', -    'SO' => 'Somalia', -    'RS' => 'Serbia', -    'SS' => 'Sudan Kidul', -    'ST' => 'São Tomé lan Príncipe', -    'SR' => 'Suriname', -    'SK' => 'Slowakia', -    'SI' => 'Slovenia', -    'SE' => 'Swedia', -    'SZ' => 'Swaziland', -    'SC' => 'Seychelles', -    'SY' => 'Suriah', -    'TD' => 'Chad', -    'TG' => 'Togo', -    'TH' => 'Thailand', -    'TJ' => 'Tajikistan', -    'TM' => 'Turkmenistan', -    'TL' => 'Timor-Leste', -    'TO' => 'Tonga', -    'TT' => 'Trinidad lan Tobago', -    'TN' => 'Tunisia', -    'TR' => 'Turki', + 'MN' => 'Mongolia', + 'MZ' => 'Mozambique', + 'MR' => 'Mauritania', + 'MU' => 'Mauritius', + 'MW' => 'Malawi', + 'MY' => 'Malaysia', + 'NA' => 'Namibia', + 'NE' => 'Niger', + 'NG' => 'Nigeria', + 'NI' => 'Nikaragua', + 'NL' => 'Belanda', + 'NO' => 'Norwegia', + 'NP' => 'Nepal', + 'NR' => 'Nauru', + 'NZ' => 'Selandia Anyar', + 'OM' => 'Oman', + 'PK' => 'Pakistan', + 'PA' => 'Panama', + 'PE' => 'Peru', + 'PH' => 'Filipina', + 'PW' => 'Palau', + 'PG' => 'Papua Nugini', + 'PL' => 'Polandia', + 'KP' => 'Korea Lor', + 'PT' => 'Portugal', + 'PY' => 'Paraguay', + 'QA' => 'Qatar', + 'RO' => 'Romania', + 'RU' => 'Rusia', + 'RW' => 'Rwanda', + 'SA' => 'Arab Saudi', + 'SD' => 'Sudan', + 'SN' => 'Senegal', + 'SG' => 'Singapura', + 'SB' => 'Kepulauan Solomon', + 'SL' => 'Sierra Leone', + 'SV' => 'El Salvador', + 'SM' => 'San Marino', + 'SO' => 'Somalia', + 'RS' => 'Serbia', + 'SS' => 'Sudan Kidul', + 'ST' => 'São Tomé lan Príncipe', + 'SR' => 'Suriname', + 'SK' => 'Slowakia', + 'SI' => 'Slovenia', + 'SE' => 'Swedia', + 'SZ' => 'Swaziland', + 'SC' => 'Seychelles', + 'SY' => 'Suriah', + 'TD' => 'Chad', + 'TG' => 'Togo', + 'TH' => 'Thailand', + 'TJ' => 'Tajikistan', + 'TM' => 'Turkmenistan', + 'TL' => 'Timor-Leste', + 'TO' => 'Tonga', + 'TT' => 'Trinidad lan Tobago', + 'TN' => 'Tunisia', + 'TR' => 'Turki', 'TV' => 'Tuvalu', -    'TZ' => 'Tanzania', -    'UG' => 'Uganda', -    'UA' => 'Ukraina', -    'UY' => 'Uruguay', -    'US' => 'Amerika Serikat', -    'UZ' => 'Uzbekistan', -    'VA' => 'Kota Vatikan', -    'VC' => 'Saint Vincent lan Grenadines', -    'VE' => 'Venezuela', -    'VN' => 'Vietnam', -    'VU' => 'Vanuatu', -    'WS' => 'Samoa', -    'YE' => 'Yaman', -    'ZA' => 'Afrika Kidul', -    'ZM' => 'Zambia', -    'ZW' => 'Zimbabwe', + 'TZ' => 'Tanzania', + 'UG' => 'Uganda', + 'UA' => 'Ukraina', + 'UY' => 'Uruguay', + 'US' => 'Amerika Serikat', + 'UZ' => 'Uzbekistan', + 'VA' => 'Kota Vatikan', + 'VC' => 'Saint Vincent lan Grenadines', + 'VE' => 'Venezuela', + 'VN' => 'Vietnam', + 'VU' => 'Vanuatu', + 'WS' => 'Samoa', + 'YE' => 'Yaman', + 'ZA' => 'Afrika Kidul', + 'ZM' => 'Zambia', + 'ZW' => 'Zimbabwe', ];