]> BookStack Code Mirror - bookstack/commitdiff
Merge branch 'master' of git://github.com/Binternet/BookStack into Binternet-master
authorDan Brown <redacted>
Wed, 4 Mar 2020 22:22:08 +0000 (22:22 +0000)
committerDan Brown <redacted>
Wed, 4 Mar 2020 22:22:08 +0000 (22:22 +0000)
1  2 
app/Config/app.php
app/Http/Middleware/Localization.php

diff --combined app/Config/app.php
index f2a627222fcff49abf3b856e3713cd7357358ad0,27978bd1dc0510cdaa669f29457d7ab8456086ec..52c808050e57008e833da7f21ac168a4ee2a064b
@@@ -52,14 -52,11 +52,14 @@@ return 
      'locale' => env('APP_LANG', 'en'),
  
      // Locales available
-     'locales' => ['en', 'ar', 'cs', 'da', 'de', 'de_informal', 'es', 'es_AR', 'fa', 'fr', 'hu', 'it', 'ja', 'ko', 'nl', 'pt', 'pt_BR', 'sk', 'sv', 'pl',  'ru', 'tr', 'uk', 'vi', 'zh_CN', 'zh_TW',],
 -    'locales' => ['en', 'ar', 'de', 'de_informal', 'es', 'es_AR', 'fr', 'he', 'nl', 'pt_BR', 'sk', 'cs', 'sv', 'kr', 'ja', 'pl', 'it', 'ru', 'uk', 'zh_CN', 'zh_TW', 'tr'],
++    'locales' => ['en', 'ar', 'cs', 'da', 'de', 'de_informal', 'es', 'es_AR', 'fa', 'fr', 'he', 'hu', 'it', 'ja', 'ko', 'nl', 'pt', 'pt_BR', 'sk', 'sv', 'pl',  'ru', 'tr', 'uk', 'vi', 'zh_CN', 'zh_TW',],
  
      //  Application Fallback Locale
      'fallback_locale' => 'en',
  
 +    // Faker Locale
 +    'faker_locale' => 'en_GB',
 +
      // Enable right-to-left text control.
      'rtl' => false,
  
      // Encryption cipher
      'cipher' => 'AES-256-CBC',
  
 -    // Logging configuration
 -    // Options: single, daily, syslog, errorlog
 -    'log' => env('APP_LOGGING', 'single'),
 -
      // Application Services Provides
      'providers' => [
  
          Barryvdh\DomPDF\ServiceProvider::class,
          Barryvdh\Snappy\ServiceProvider::class,
  
 -
          // BookStack replacement service providers (Extends Laravel)
          BookStack\Providers\PaginationServiceProvider::class,
          BookStack\Providers\TranslationServiceProvider::class,
  
          // Laravel
          'App'       => Illuminate\Support\Facades\App::class,
 +        'Arr'       => Illuminate\Support\Arr::class,
          'Artisan'   => Illuminate\Support\Facades\Artisan::class,
          'Auth'      => Illuminate\Support\Facades\Auth::class,
          'Blade'     => Illuminate\Support\Facades\Blade::class,
          'Schema'    => Illuminate\Support\Facades\Schema::class,
          'Session'   => Illuminate\Support\Facades\Session::class,
          'Storage'   => Illuminate\Support\Facades\Storage::class,
 +        'Str'       => Illuminate\Support\Str::class,
          'URL'       => Illuminate\Support\Facades\URL::class,
          'Validator' => Illuminate\Support\Facades\Validator::class,
          'View'      => Illuminate\Support\Facades\View::class,
          'Setting'  => BookStack\Facades\Setting::class,
          'Views'    => BookStack\Facades\Views::class,
          'Images'   => BookStack\Facades\Images::class,
 +        'Permissions' => BookStack\Facades\Permissions::class,
  
      ],
  
index 24edc141a44cdc3150c0a15f6b35cf2246407413,04d121b0969fa5fe1ede91422fb358f18aef4642..b6cdd9e7bbcc0b36a13415442b40a6890dbd8368
@@@ -11,7 -11,7 +11,7 @@@ class Localizatio
       * Array of right-to-left locales
       * @var array
       */
-     protected $rtlLocales = ['ar'];
+     protected $rtlLocales = ['ar', 'he'];
  
      /**
       * Map of BookStack locale names to best-estimate system locale names.
       */
      protected $localeMap = [
          'ar' => 'ar',
 +        'da' => 'da_DK',
          'de' => 'de_DE',
          'de_informal' => 'de_DE',
          'en' => 'en_GB',
          'es' => 'es_ES',
          'es_AR' => 'es_AR',
          'fr' => 'fr_FR',
+         'he' => 'he_IL',
          'it' => 'it_IT',
          'ja' => 'ja',
 -        'kr' => 'ko_KR',
 +        'ko' => 'ko_KR',
          'nl' => 'nl_NL',
          'pl' => 'pl_PL',
 +        'pt' => 'pl_PT',
          'pt_BR' => 'pt_BR',
          'ru' => 'ru',
          'sk' => 'sk_SK',
          'sv' => 'sv_SE',
          'uk' => 'uk_UA',
 +        'vi' => 'vi_VN',
          'zh_CN' => 'zh_CN',
          'zh_TW' => 'zh_TW',
 +        'tr' => 'tr_TR',
      ];
  
      /**
@@@ -61,8 -58,6 +62,8 @@@
              $locale = setting()->getUser(user(), 'language', $defaultLang);
          }
  
 +        config()->set('app.lang', str_replace('_', '-', $this->getLocaleIso($locale)));
 +
          // Set text direction
          if (in_array($locale, $this->rtlLocales)) {
              config()->set('app.rtl', true);
          return $default;
      }
  
 +    /**
 +     * Get the ISO version of a BookStack language name
 +     * @param  string $locale
 +     * @return string
 +     */
 +    public function getLocaleIso(string $locale)
 +    {
 +        return $this->localeMap[$locale] ?? $locale;
 +    }
 +
      /**
       * Set the system date locale for localized date formatting.
       * Will try both the standard locale name and the UTF8 variant.
       */
      protected function setSystemDateLocale(string $locale)
      {
 -        $systemLocale = $this->localeMap[$locale] ?? $locale;
 +        $systemLocale = $this->getLocaleIso($locale);
          $set = setlocale(LC_TIME, $systemLocale);
          if ($set === false) {
              setlocale(LC_TIME, $systemLocale . '.utf8');