$addons = $this->dba->select('addon', ['name'], ['installed' => true]);
while ($p = $this->dba->fetch($addons)) {
$name = Strings::sanitizeFilePathItem($p['name']);
- if (file_exists("addon/$name/lang/$lang/strings.php")) {
- include __DIR__ . "/../../../addon/$name/lang/$lang/strings.php";
+ if (file_exists(__DIR__ . "/../../addon/$name/lang/$lang/strings.php")) {
+ include __DIR__ . "/../../addon/$name/lang/$lang/strings.php";
}
}
- if (file_exists(__DIR__ . "/../../../view/lang/$lang/strings.php")) {
- include __DIR__ . "/../../../view/lang/$lang/strings.php";
+ if (file_exists(__DIR__ . "/../../view/lang/$lang/strings.php")) {
+ include __DIR__ . "/../../view/lang/$lang/strings.php";
}
$this->lang = $lang;
while (count($lang_code)) {
// try to mix them so we can get double-code parts too
$match_lang = strtolower(join('-', $lang_code));
- if (file_exists(__DIR__ . "/../../../view/lang/$match_lang") &&
- is_dir(__DIR__ . "/../../../view/lang/$match_lang")) {
+ if (file_exists(__DIR__ . "/../../view/lang/$match_lang") &&
+ is_dir(__DIR__ . "/../../view/lang/$match_lang")) {
if ($lang_quality > $current_q) {
$current_lang = $match_lang;
$current_q = $lang_quality;
+++ /dev/null
-<?php
-
-namespace src\Core\L10n;
-
-use Friendica\Core\L10n;
-use Friendica\Test\MockedTest;
-
-class L10nTest extends MockedTest
-{
- public function dataDetectLanguage()
- {
- return [
- 'empty' => [
- 'server' => [],
- 'get' => [],
- 'default' => 'en',
- 'assert' => 'en',
- ],
- 'withGet' => [
- 'server' => [],
- 'get' => ['lang' => 'de'],
- 'default' => 'en',
- 'assert' => 'de',
- ],
- 'withPipe' => [
- 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'en-gb'],
- 'get' => [],
- 'default' => 'en',
- 'assert' => 'en-gb',
- ],
- 'withoutPipe' => [
- 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'fr'],
- 'get' => [],
- 'default' => 'en',
- 'assert' => 'fr',
- ],
- 'withQuality1' => [
- 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'fr;q=0.5,de'],
- 'get' => [],
- 'default' => 'en',
- 'assert' => 'de',
- ],
- 'withQuality2' => [
- 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'fr;q=0.5,de;q=0.2'],
- 'get' => [],
- 'default' => 'en',
- 'assert' => 'fr',
- ],
- 'withLangOverride' => [
- 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'fr;q=0.5,de;q=0.2'],
- 'get' => ['lang' => 'it'],
- 'default' => 'en',
- 'assert' => 'it',
- ],
- 'withQualityAndPipe' => [
- 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'fr;q=0.5,de;q=0.2,nb-no;q=0.7'],
- 'get' => [],
- 'default' => 'en',
- 'assert' => 'nb-no',
- ],
- 'withQualityAndInvalid' => [
- 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'fr;q=0.5,bla;q=0.2,nb-no;q=0.7'],
- 'get' => [],
- 'default' => 'en',
- 'assert' => 'nb-no',
- ],
- 'withQualityAndInvalid2' => [
- 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'blu;q=0.9,bla;q=0.2,nb-no;q=0.7'],
- 'get' => [],
- 'default' => 'en',
- 'assert' => 'nb-no',
- ],
- 'withQualityAndInvalidAndAbsolute' => [
- 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'blu;q=0.9,de,nb-no;q=0.7'],
- 'get' => [],
- 'default' => 'en',
- 'assert' => 'de',
- ],
- 'withInvalidGet' => [
- 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'blu;q=0.9,nb-no;q=0.7'],
- 'get' => ['lang' => 'blu'],
- 'default' => 'en',
- 'assert' => 'nb-no',
- ],
- ];
- }
-
- /**
- * @dataProvider dataDetectLanguage
- */
- public function testDetectLanguage(array $server, array $get, string $default, string $assert)
- {
- $this->assertEquals($assert, L10n::detectLanguage($server, $get, $default));
- }
-}
--- /dev/null
+<?php
+
+namespace Friendica\Test\src\Core\L10n;
+
+use Friendica\Core\L10n;
+use Friendica\Test\MockedTest;
+
+class L10nTest extends MockedTest
+{
+ public function dataDetectLanguage()
+ {
+ return [
+ 'empty' => [
+ 'server' => [],
+ 'get' => [],
+ 'default' => 'en',
+ 'assert' => 'en',
+ ],
+ 'withGet' => [
+ 'server' => [],
+ 'get' => ['lang' => 'de'],
+ 'default' => 'en',
+ 'assert' => 'de',
+ ],
+ 'withPipe' => [
+ 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'en-gb'],
+ 'get' => [],
+ 'default' => 'en',
+ 'assert' => 'en-gb',
+ ],
+ 'withoutPipe' => [
+ 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'fr'],
+ 'get' => [],
+ 'default' => 'en',
+ 'assert' => 'fr',
+ ],
+ 'withQuality1' => [
+ 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'fr;q=0.5,de'],
+ 'get' => [],
+ 'default' => 'en',
+ 'assert' => 'de',
+ ],
+ 'withQuality2' => [
+ 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'fr;q=0.5,de;q=0.2'],
+ 'get' => [],
+ 'default' => 'en',
+ 'assert' => 'fr',
+ ],
+ 'withLangOverride' => [
+ 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'fr;q=0.5,de;q=0.2'],
+ 'get' => ['lang' => 'it'],
+ 'default' => 'en',
+ 'assert' => 'it',
+ ],
+ 'withQualityAndPipe' => [
+ 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'fr;q=0.5,de;q=0.2,nb-no;q=0.7'],
+ 'get' => [],
+ 'default' => 'en',
+ 'assert' => 'nb-no',
+ ],
+ 'withQualityAndInvalid' => [
+ 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'fr;q=0.5,bla;q=0.2,nb-no;q=0.7'],
+ 'get' => [],
+ 'default' => 'en',
+ 'assert' => 'nb-no',
+ ],
+ 'withQualityAndInvalid2' => [
+ 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'blu;q=0.9,bla;q=0.2,nb-no;q=0.7'],
+ 'get' => [],
+ 'default' => 'en',
+ 'assert' => 'nb-no',
+ ],
+ 'withQualityAndInvalidAndAbsolute' => [
+ 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'blu;q=0.9,de,nb-no;q=0.7'],
+ 'get' => [],
+ 'default' => 'en',
+ 'assert' => 'de',
+ ],
+ 'withInvalidGet' => [
+ 'server' => ['HTTP_ACCEPT_LANGUAGE' => 'blu;q=0.9,nb-no;q=0.7'],
+ 'get' => ['lang' => 'blu'],
+ 'default' => 'en',
+ 'assert' => 'nb-no',
+ ],
+ ];
+ }
+
+ /**
+ * @dataProvider dataDetectLanguage
+ */
+ public function testDetectLanguage(array $server, array $get, string $default, string $assert)
+ {
+ $this->assertEquals($assert, L10n::detectLanguage($server, $get, $default));
+ }
+}