Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMorris Jobke <hey@morrisjobke.de>2020-05-26 13:04:07 +0300
committerJoas Schilling <coding@schilljs.com>2020-06-10 17:26:50 +0300
commit387e775896831ebb8d06866a7efacf6ea36b6f8b (patch)
tree2ec1486895240a29e6aae4bc86cb4e2dc5373473 /lib/Settings
parentc99a6494e6934b8fe7f2fe05dd39d0af525067b2 (diff)
Use select boxes for language and country
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
Diffstat (limited to 'lib/Settings')
-rw-r--r--lib/Settings/Admin/AdminSettings.php308
1 files changed, 305 insertions, 3 deletions
diff --git a/lib/Settings/Admin/AdminSettings.php b/lib/Settings/Admin/AdminSettings.php
index df77387d5..2ab67c38e 100644
--- a/lib/Settings/Admin/AdminSettings.php
+++ b/lib/Settings/Admin/AdminSettings.php
@@ -32,8 +32,10 @@ use OCP\AppFramework\Http\TemplateResponse;
use OCP\ICacheFactory;
use OCP\IConfig;
use OCP\IInitialStateService;
+use OCP\IL10N;
use OCP\IUser;
use OCP\IUserSession;
+use OCP\L10N\IFactory;
use OCP\Settings\ISettings;
class AdminSettings implements ISettings {
@@ -50,19 +52,27 @@ class AdminSettings implements ISettings {
private $memcacheFactory;
/** @var IUser */
private $currentUser;
+ /** @var IL10N */
+ private $l10n;
+ /** @var IFactory */
+ private $l10nFactory;
public function __construct(Config $talkConfig,
IConfig $serverConfig,
CommandService $commandService,
IInitialStateService $initialStateService,
ICacheFactory $memcacheFactory,
- IUserSession $userSession) {
+ IUserSession $userSession,
+ IL10N $l10n,
+ IFactory $l10nFactory) {
$this->talkConfig = $talkConfig;
$this->serverConfig = $serverConfig;
$this->commandService = $commandService;
$this->initialStateService = $initialStateService;
$this->memcacheFactory = $memcacheFactory;
$this->currentUser = $userSession->getUser();
+ $this->l10n = $l10n;
+ $this->l10nFactory = $l10nFactory;
}
/**
@@ -122,16 +132,308 @@ class AdminSettings implements ISettings {
}
protected function initRequestSignalingServerTrial(): void {
+ $countries = [
+ ['code' => 'AD', 'name' => $this->l10n->t('Andorra')],
+ ['code' => 'AE', 'name' => $this->l10n->t('United Arab Emirates')],
+ ['code' => 'AF', 'name' => $this->l10n->t('Afghanistan')],
+ ['code' => 'AG', 'name' => $this->l10n->t('Antigua and Barbuda')],
+ ['code' => 'AI', 'name' => $this->l10n->t('Anguilla')],
+ ['code' => 'AL', 'name' => $this->l10n->t('Albania')],
+ ['code' => 'AM', 'name' => $this->l10n->t('Armenia')],
+ ['code' => 'AO', 'name' => $this->l10n->t('Angola')],
+ ['code' => 'AQ', 'name' => $this->l10n->t('Antarctica')],
+ ['code' => 'AR', 'name' => $this->l10n->t('Argentina')],
+ ['code' => 'AS', 'name' => $this->l10n->t('American Samoa')],
+ ['code' => 'AT', 'name' => $this->l10n->t('Austria')],
+ ['code' => 'AU', 'name' => $this->l10n->t('Australia')],
+ ['code' => 'AW', 'name' => $this->l10n->t('Aruba')],
+ ['code' => 'AX', 'name' => $this->l10n->t('Åland Islands')],
+ ['code' => 'AZ', 'name' => $this->l10n->t('Azerbaijan')],
+ ['code' => 'BA', 'name' => $this->l10n->t('Bosnia and Herzegovina')],
+ ['code' => 'BB', 'name' => $this->l10n->t('Barbados')],
+ ['code' => 'BD', 'name' => $this->l10n->t('Bangladesh')],
+ ['code' => 'BE', 'name' => $this->l10n->t('Belgium')],
+ ['code' => 'BF', 'name' => $this->l10n->t('Burkina Faso')],
+ ['code' => 'BG', 'name' => $this->l10n->t('Bulgaria')],
+ ['code' => 'BH', 'name' => $this->l10n->t('Bahrain')],
+ ['code' => 'BI', 'name' => $this->l10n->t('Burundi')],
+ ['code' => 'BJ', 'name' => $this->l10n->t('Benin')],
+ ['code' => 'BL', 'name' => $this->l10n->t('Saint Barthélemy')],
+ ['code' => 'BM', 'name' => $this->l10n->t('Bermuda')],
+ ['code' => 'BN', 'name' => $this->l10n->t('Brunei Darussalam')],
+ ['code' => 'BO', 'name' => $this->l10n->t('Bolivia, Plurinational State of')],
+ ['code' => 'BQ', 'name' => $this->l10n->t('Bonaire, Sint Eustatius and Saba')],
+ ['code' => 'BR', 'name' => $this->l10n->t('Brazil')],
+ ['code' => 'BS', 'name' => $this->l10n->t('Bahamas')],
+ ['code' => 'BT', 'name' => $this->l10n->t('Bhutan')],
+ ['code' => 'BV', 'name' => $this->l10n->t('Bouvet Island')],
+ ['code' => 'BW', 'name' => $this->l10n->t('Botswana')],
+ ['code' => 'BY', 'name' => $this->l10n->t('Belarus')],
+ ['code' => 'BZ', 'name' => $this->l10n->t('Belize')],
+ ['code' => 'CA', 'name' => $this->l10n->t('Canada')],
+ ['code' => 'CC', 'name' => $this->l10n->t('Cocos (Keeling) Islands')],
+ ['code' => 'CD', 'name' => $this->l10n->t('Congo, the Democratic Republic of the')],
+ ['code' => 'CF', 'name' => $this->l10n->t('Central African Republic')],
+ ['code' => 'CG', 'name' => $this->l10n->t('Congo')],
+ ['code' => 'CH', 'name' => $this->l10n->t('Switzerland')],
+ ['code' => 'CI', 'name' => $this->l10n->t('Côte d\'Ivoire')],
+ ['code' => 'CK', 'name' => $this->l10n->t('Cook Islands')],
+ ['code' => 'CL', 'name' => $this->l10n->t('Chile')],
+ ['code' => 'CM', 'name' => $this->l10n->t('Cameroon')],
+ ['code' => 'CN', 'name' => $this->l10n->t('China')],
+ ['code' => 'CO', 'name' => $this->l10n->t('Colombia')],
+ ['code' => 'CR', 'name' => $this->l10n->t('Costa Rica')],
+ ['code' => 'CU', 'name' => $this->l10n->t('Cuba')],
+ ['code' => 'CV', 'name' => $this->l10n->t('Cabo Verde')],
+ ['code' => 'CW', 'name' => $this->l10n->t('Curaçao')],
+ ['code' => 'CX', 'name' => $this->l10n->t('Christmas Island')],
+ ['code' => 'CY', 'name' => $this->l10n->t('Cyprus')],
+ ['code' => 'CZ', 'name' => $this->l10n->t('Czechia')],
+ ['code' => 'DE', 'name' => $this->l10n->t('Germany')],
+ ['code' => 'DJ', 'name' => $this->l10n->t('Djibouti')],
+ ['code' => 'DK', 'name' => $this->l10n->t('Denmark')],
+ ['code' => 'DM', 'name' => $this->l10n->t('Dominica')],
+ ['code' => 'DO', 'name' => $this->l10n->t('Dominican Republic')],
+ ['code' => 'DZ', 'name' => $this->l10n->t('Algeria')],
+ ['code' => 'EC', 'name' => $this->l10n->t('Ecuador')],
+ ['code' => 'EE', 'name' => $this->l10n->t('Estonia')],
+ ['code' => 'EG', 'name' => $this->l10n->t('Egypt')],
+ ['code' => 'EH', 'name' => $this->l10n->t('Western Sahara')],
+ ['code' => 'ER', 'name' => $this->l10n->t('Eritrea')],
+ ['code' => 'ES', 'name' => $this->l10n->t('Spain')],
+ ['code' => 'ET', 'name' => $this->l10n->t('Ethiopia')],
+ ['code' => 'FI', 'name' => $this->l10n->t('Finland')],
+ ['code' => 'FJ', 'name' => $this->l10n->t('Fiji')],
+ ['code' => 'FK', 'name' => $this->l10n->t('Falkland Islands (Malvinas)')],
+ ['code' => 'FM', 'name' => $this->l10n->t('Micronesia, Federated States of')],
+ ['code' => 'FO', 'name' => $this->l10n->t('Faroe Islands')],
+ ['code' => 'FR', 'name' => $this->l10n->t('France')],
+ ['code' => 'GA', 'name' => $this->l10n->t('Gabon')],
+ ['code' => 'GB', 'name' => $this->l10n->t('United Kingdom of Great Britain and Northern Ireland')],
+ ['code' => 'GD', 'name' => $this->l10n->t('Grenada')],
+ ['code' => 'GE', 'name' => $this->l10n->t('Georgia')],
+ ['code' => 'GF', 'name' => $this->l10n->t('French Guiana')],
+ ['code' => 'GG', 'name' => $this->l10n->t('Guernsey')],
+ ['code' => 'GH', 'name' => $this->l10n->t('Ghana')],
+ ['code' => 'GI', 'name' => $this->l10n->t('Gibraltar')],
+ ['code' => 'GL', 'name' => $this->l10n->t('Greenland')],
+ ['code' => 'GM', 'name' => $this->l10n->t('Gambia')],
+ ['code' => 'GN', 'name' => $this->l10n->t('Guinea')],
+ ['code' => 'GP', 'name' => $this->l10n->t('Guadeloupe')],
+ ['code' => 'GQ', 'name' => $this->l10n->t('Equatorial Guinea')],
+ ['code' => 'GR', 'name' => $this->l10n->t('Greece')],
+ ['code' => 'GS', 'name' => $this->l10n->t('South Georgia and the South Sandwich Islands')],
+ ['code' => 'GT', 'name' => $this->l10n->t('Guatemala')],
+ ['code' => 'GU', 'name' => $this->l10n->t('Guam')],
+ ['code' => 'GW', 'name' => $this->l10n->t('Guinea-Bissau')],
+ ['code' => 'GY', 'name' => $this->l10n->t('Guyana')],
+ ['code' => 'HK', 'name' => $this->l10n->t('Hong Kong')],
+ ['code' => 'HM', 'name' => $this->l10n->t('Heard Island and McDonald Islands')],
+ ['code' => 'HN', 'name' => $this->l10n->t('Honduras')],
+ ['code' => 'HR', 'name' => $this->l10n->t('Croatia')],
+ ['code' => 'HT', 'name' => $this->l10n->t('Haiti')],
+ ['code' => 'HU', 'name' => $this->l10n->t('Hungary')],
+ ['code' => 'ID', 'name' => $this->l10n->t('Indonesia')],
+ ['code' => 'IE', 'name' => $this->l10n->t('Ireland')],
+ ['code' => 'IL', 'name' => $this->l10n->t('Israel')],
+ ['code' => 'IM', 'name' => $this->l10n->t('Isle of Man')],
+ ['code' => 'IN', 'name' => $this->l10n->t('India')],
+ ['code' => 'IO', 'name' => $this->l10n->t('British Indian Ocean Territory')],
+ ['code' => 'IQ', 'name' => $this->l10n->t('Iraq')],
+ ['code' => 'IR', 'name' => $this->l10n->t('Iran, Islamic Republic of')],
+ ['code' => 'IS', 'name' => $this->l10n->t('Iceland')],
+ ['code' => 'IT', 'name' => $this->l10n->t('Italy')],
+ ['code' => 'JE', 'name' => $this->l10n->t('Jersey')],
+ ['code' => 'JM', 'name' => $this->l10n->t('Jamaica')],
+ ['code' => 'JO', 'name' => $this->l10n->t('Jordan')],
+ ['code' => 'JP', 'name' => $this->l10n->t('Japan')],
+ ['code' => 'KE', 'name' => $this->l10n->t('Kenya')],
+ ['code' => 'KG', 'name' => $this->l10n->t('Kyrgyzstan')],
+ ['code' => 'KH', 'name' => $this->l10n->t('Cambodia')],
+ ['code' => 'KI', 'name' => $this->l10n->t('Kiribati')],
+ ['code' => 'KM', 'name' => $this->l10n->t('Comoros')],
+ ['code' => 'KN', 'name' => $this->l10n->t('Saint Kitts and Nevis')],
+ ['code' => 'KP', 'name' => $this->l10n->t('Korea, Democratic People\'s Republic of')],
+ ['code' => 'KR', 'name' => $this->l10n->t('Korea, Republic of')],
+ ['code' => 'KW', 'name' => $this->l10n->t('Kuwait')],
+ ['code' => 'KY', 'name' => $this->l10n->t('Cayman Islands')],
+ ['code' => 'KZ', 'name' => $this->l10n->t('Kazakhstan')],
+ ['code' => 'LA', 'name' => $this->l10n->t('Lao People\'s Democratic Republic')],
+ ['code' => 'LB', 'name' => $this->l10n->t('Lebanon')],
+ ['code' => 'LC', 'name' => $this->l10n->t('Saint Lucia')],
+ ['code' => 'LI', 'name' => $this->l10n->t('Liechtenstein')],
+ ['code' => 'LK', 'name' => $this->l10n->t('Sri Lanka')],
+ ['code' => 'LR', 'name' => $this->l10n->t('Liberia')],
+ ['code' => 'LS', 'name' => $this->l10n->t('Lesotho')],
+ ['code' => 'LT', 'name' => $this->l10n->t('Lithuania')],
+ ['code' => 'LU', 'name' => $this->l10n->t('Luxembourg')],
+ ['code' => 'LV', 'name' => $this->l10n->t('Latvia')],
+ ['code' => 'LY', 'name' => $this->l10n->t('Libya')],
+ ['code' => 'MA', 'name' => $this->l10n->t('Morocco')],
+ ['code' => 'MC', 'name' => $this->l10n->t('Monaco')],
+ ['code' => 'MD', 'name' => $this->l10n->t('Moldova, Republic of')],
+ ['code' => 'ME', 'name' => $this->l10n->t('Montenegro')],
+ ['code' => 'MF', 'name' => $this->l10n->t('Saint Martin (French part)')],
+ ['code' => 'MG', 'name' => $this->l10n->t('Madagascar')],
+ ['code' => 'MH', 'name' => $this->l10n->t('Marshall Islands')],
+ ['code' => 'MK', 'name' => $this->l10n->t('Macedonia, the former Yugoslav Republic of')],
+ ['code' => 'ML', 'name' => $this->l10n->t('Mali')],
+ ['code' => 'MM', 'name' => $this->l10n->t('Myanmar')],
+ ['code' => 'MN', 'name' => $this->l10n->t('Mongolia')],
+ ['code' => 'MO', 'name' => $this->l10n->t('Macao')],
+ ['code' => 'MP', 'name' => $this->l10n->t('Northern Mariana Islands')],
+ ['code' => 'MQ', 'name' => $this->l10n->t('Martinique')],
+ ['code' => 'MR', 'name' => $this->l10n->t('Mauritania')],
+ ['code' => 'MS', 'name' => $this->l10n->t('Montserrat')],
+ ['code' => 'MT', 'name' => $this->l10n->t('Malta')],
+ ['code' => 'MU', 'name' => $this->l10n->t('Mauritius')],
+ ['code' => 'MV', 'name' => $this->l10n->t('Maldives')],
+ ['code' => 'MW', 'name' => $this->l10n->t('Malawi')],
+ ['code' => 'MX', 'name' => $this->l10n->t('Mexico')],
+ ['code' => 'MY', 'name' => $this->l10n->t('Malaysia')],
+ ['code' => 'MZ', 'name' => $this->l10n->t('Mozambique')],
+ ['code' => 'NA', 'name' => $this->l10n->t('Namibia')],
+ ['code' => 'NC', 'name' => $this->l10n->t('New Caledonia')],
+ ['code' => 'NE', 'name' => $this->l10n->t('Niger')],
+ ['code' => 'NF', 'name' => $this->l10n->t('Norfolk Island')],
+ ['code' => 'NG', 'name' => $this->l10n->t('Nigeria')],
+ ['code' => 'NI', 'name' => $this->l10n->t('Nicaragua')],
+ ['code' => 'NL', 'name' => $this->l10n->t('Netherlands')],
+ ['code' => 'NO', 'name' => $this->l10n->t('Norway')],
+ ['code' => 'NP', 'name' => $this->l10n->t('Nepal')],
+ ['code' => 'NR', 'name' => $this->l10n->t('Nauru')],
+ ['code' => 'NU', 'name' => $this->l10n->t('Niue')],
+ ['code' => 'NZ', 'name' => $this->l10n->t('New Zealand')],
+ ['code' => 'OM', 'name' => $this->l10n->t('Oman')],
+ ['code' => 'PA', 'name' => $this->l10n->t('Panama')],
+ ['code' => 'PE', 'name' => $this->l10n->t('Peru')],
+ ['code' => 'PF', 'name' => $this->l10n->t('French Polynesia')],
+ ['code' => 'PG', 'name' => $this->l10n->t('Papua New Guinea')],
+ ['code' => 'PH', 'name' => $this->l10n->t('Philippines')],
+ ['code' => 'PK', 'name' => $this->l10n->t('Pakistan')],
+ ['code' => 'PL', 'name' => $this->l10n->t('Poland')],
+ ['code' => 'PM', 'name' => $this->l10n->t('Saint Pierre and Miquelon')],
+ ['code' => 'PN', 'name' => $this->l10n->t('Pitcairn')],
+ ['code' => 'PR', 'name' => $this->l10n->t('Puerto Rico')],
+ ['code' => 'PS', 'name' => $this->l10n->t('Palestine, State of')],
+ ['code' => 'PT', 'name' => $this->l10n->t('Portugal')],
+ ['code' => 'PW', 'name' => $this->l10n->t('Palau')],
+ ['code' => 'PY', 'name' => $this->l10n->t('Paraguay')],
+ ['code' => 'QA', 'name' => $this->l10n->t('Qatar')],
+ ['code' => 'RE', 'name' => $this->l10n->t('Réunion')],
+ ['code' => 'RO', 'name' => $this->l10n->t('Romania')],
+ ['code' => 'RS', 'name' => $this->l10n->t('Serbia')],
+ ['code' => 'RU', 'name' => $this->l10n->t('Russian Federation')],
+ ['code' => 'RW', 'name' => $this->l10n->t('Rwanda')],
+ ['code' => 'SA', 'name' => $this->l10n->t('Saudi Arabia')],
+ ['code' => 'SB', 'name' => $this->l10n->t('Solomon Islands')],
+ ['code' => 'SC', 'name' => $this->l10n->t('Seychelles')],
+ ['code' => 'SD', 'name' => $this->l10n->t('Sudan')],
+ ['code' => 'SE', 'name' => $this->l10n->t('Sweden')],
+ ['code' => 'SG', 'name' => $this->l10n->t('Singapore')],
+ ['code' => 'SH', 'name' => $this->l10n->t('Saint Helena, Ascension and Tristan da Cunha')],
+ ['code' => 'SI', 'name' => $this->l10n->t('Slovenia')],
+ ['code' => 'SJ', 'name' => $this->l10n->t('Svalbard and Jan Mayen')],
+ ['code' => 'SK', 'name' => $this->l10n->t('Slovakia')],
+ ['code' => 'SL', 'name' => $this->l10n->t('Sierra Leone')],
+ ['code' => 'SM', 'name' => $this->l10n->t('San Marino')],
+ ['code' => 'SN', 'name' => $this->l10n->t('Senegal')],
+ ['code' => 'SO', 'name' => $this->l10n->t('Somalia')],
+ ['code' => 'SR', 'name' => $this->l10n->t('Suriname')],
+ ['code' => 'SS', 'name' => $this->l10n->t('South Sudan')],
+ ['code' => 'ST', 'name' => $this->l10n->t('Sao Tome and Principe')],
+ ['code' => 'SV', 'name' => $this->l10n->t('El Salvador')],
+ ['code' => 'SX', 'name' => $this->l10n->t('Sint Maarten (Dutch part)')],
+ ['code' => 'SY', 'name' => $this->l10n->t('Syrian Arab Republic')],
+ ['code' => 'SZ', 'name' => $this->l10n->t('Eswatini')],
+ ['code' => 'TC', 'name' => $this->l10n->t('Turks and Caicos Islands')],
+ ['code' => 'TD', 'name' => $this->l10n->t('Chad')],
+ ['code' => 'TF', 'name' => $this->l10n->t('French Southern Territories')],
+ ['code' => 'TG', 'name' => $this->l10n->t('Togo')],
+ ['code' => 'TH', 'name' => $this->l10n->t('Thailand')],
+ ['code' => 'TJ', 'name' => $this->l10n->t('Tajikistan')],
+ ['code' => 'TK', 'name' => $this->l10n->t('Tokelau')],
+ ['code' => 'TL', 'name' => $this->l10n->t('Timor-Leste')],
+ ['code' => 'TM', 'name' => $this->l10n->t('Turkmenistan')],
+ ['code' => 'TN', 'name' => $this->l10n->t('Tunisia')],
+ ['code' => 'TO', 'name' => $this->l10n->t('Tonga')],
+ ['code' => 'TR', 'name' => $this->l10n->t('Turkey')],
+ ['code' => 'TT', 'name' => $this->l10n->t('Trinidad and Tobago')],
+ ['code' => 'TV', 'name' => $this->l10n->t('Tuvalu')],
+ ['code' => 'TW', 'name' => $this->l10n->t('Taiwan, Province of China')],
+ ['code' => 'TZ', 'name' => $this->l10n->t('Tanzania, United Republic of')],
+ ['code' => 'UA', 'name' => $this->l10n->t('Ukraine')],
+ ['code' => 'UG', 'name' => $this->l10n->t('Uganda')],
+ ['code' => 'UM', 'name' => $this->l10n->t('United States Minor Outlying Islands')],
+ ['code' => 'US', 'name' => $this->l10n->t('United States of America')],
+ ['code' => 'UY', 'name' => $this->l10n->t('Uruguay')],
+ ['code' => 'UZ', 'name' => $this->l10n->t('Uzbekistan')],
+ ['code' => 'VA', 'name' => $this->l10n->t('Holy See')],
+ ['code' => 'VC', 'name' => $this->l10n->t('Saint Vincent and the Grenadines')],
+ ['code' => 'VE', 'name' => $this->l10n->t('Venezuela, Bolivarian Republic of')],
+ ['code' => 'VG', 'name' => $this->l10n->t('Virgin Islands, British')],
+ ['code' => 'VI', 'name' => $this->l10n->t('Virgin Islands, U.S.')],
+ ['code' => 'VN', 'name' => $this->l10n->t('Viet Nam')],
+ ['code' => 'VU', 'name' => $this->l10n->t('Vanuatu')],
+ ['code' => 'WF', 'name' => $this->l10n->t('Wallis and Futuna')],
+ ['code' => 'WS', 'name' => $this->l10n->t('Samoa')],
+ ['code' => 'YE', 'name' => $this->l10n->t('Yemen')],
+ ['code' => 'YT', 'name' => $this->l10n->t('Mayotte')],
+ ['code' => 'ZA', 'name' => $this->l10n->t('South Africa')],
+ ['code' => 'ZM', 'name' => $this->l10n->t('Zambia')],
+ ['code' => 'ZW', 'name' => $this->l10n->t('Zimbabwe')],
+ ];
+
+ $userLanguage = $this->serverConfig->getUserValue($this->currentUser->getUID(), 'core', 'lang', 'en');
+ if ($userLanguage === 'de_DE') { // hardcode de_DE to de because this is a quirk in Nextcloud itself
+ $userLanguage = 'de';
+ }
+ $userLocale = $this->serverConfig->getUserValue($this->currentUser->getUID(), 'core', 'locale', 'en_US');
+ $guessCountry = 'US';
+ if (strpos($userLocale, '_') !== false) {
+ $guessCountry = substr($userLocale, strrpos($userLocale, '_') + 1);
+ $correctGuess = false;
+ foreach ($countries as $country) {
+ if ($country['code'] === $guessCountry) {
+ $correctGuess = true;
+ break;
+ }
+ }
+ if (!$correctGuess) {
+ $guessCountry = 'US';
+ }
+ }
+
$this->initialStateService->provideInitialState('talk', 'hosted_signaling_server_prefill', [
'url' => $this->serverConfig->getSystemValueString('overwrite.cli.url'),
'fullName' => $this->currentUser->getDisplayName(),
'email' => $this->currentUser->getEMailAddress() ?: '',
- 'language' => $this->serverConfig->getUserValue($this->currentUser->getUID(), 'core', 'lang', 'en_US'),
- 'country' => $this->serverConfig->getUserValue($this->currentUser->getUID(), 'core', 'locale', 'en_US'),
+ 'language' => $userLanguage,
+ 'country' => $guessCountry,
]);
$this->initialStateService->provideInitialState('talk', 'hosted_signaling_server_trial_data',
json_decode($this->serverConfig->getAppValue('spreed', 'hosted-signaling-server-account', "[]"), true) ?? []
);
+ $languages = $this->l10nFactory->getLanguages();
+ foreach ($languages['commonlanguages'] as $key => $value) {
+ // remove "Deutsch (Formal)"
+ if ($value['code'] === 'de_DE') {
+ unset($languages['commonlanguages'][$key]);
+ }
+ // rename "Deutsch (Persönlich)" to "Deutsch"
+ if ($value['code'] === 'de') {
+ $languages['commonlanguages'][$key]['name'] = 'Deutsch';
+ }
+ }
+ $languages['commonlanguages'] = array_values($languages['commonlanguages']);
+ // TODO maybe filter out languages with an _
+ usort($countries, function ($a, $b) {
+ return strcmp($a['name'], $b['name']);
+ });
+ $this->initialStateService->provideInitialState('talk', 'hosted_signaling_server_language_data', [
+ 'languages' => $languages,
+ 'countries' => $countries,
+ ]);
}
/**