diff --git a/components/BaseController.php b/components/BaseController.php index 83c0cff..d0f8924 100644 --- a/components/BaseController.php +++ b/components/BaseController.php @@ -11,6 +11,7 @@ use humhub\components\Controller; use humhub\modules\content\models\Content; use humhub\modules\rest\components\auth\ImpersonateAuth; +use humhub\modules\rest\components\behaviors\LanguagePickerBehavior; use humhub\modules\rest\components\User as UserComponent; use humhub\modules\rest\components\auth\JwtAuth; use humhub\modules\rest\controllers\auth\AuthController; @@ -81,6 +82,9 @@ public function behaviors() ]] ), ], + 'languagePicker' => [ + 'class' => LanguagePickerBehavior::class, + ] ], parent::behaviors()); } diff --git a/components/behaviors/LanguagePickerBehavior.php b/components/behaviors/LanguagePickerBehavior.php new file mode 100644 index 0000000..e043d11 --- /dev/null +++ b/components/behaviors/LanguagePickerBehavior.php @@ -0,0 +1,28 @@ + 'pickLanguage', + ]; + } + + public function pickLanguage() + { + if ( + empty(Yii::$app->request->acceptableLanguages) && + $userLanguage = ArrayHelper::getValue(Yii::$app->user->identity, 'language') + ) { + Yii::$app->language = $userLanguage; + } + } +} diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 229cf5b..8cfc8d7 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,6 +1,10 @@ Changelog ========= +0.10.2 (unreleased) +---------------------- +- Enh #175: User language will be used by default + 0.10.1 (July 31, 2024) ---------------------- - Enh #173: Added possibility to change `created_at` of `content` diff --git a/docs/MANUAL.md b/docs/MANUAL.md index e5c85de..ea7a372 100644 --- a/docs/MANUAL.md +++ b/docs/MANUAL.md @@ -8,6 +8,10 @@ Following RESTful API endpoints are available. The base url for all APIs is: `https://yourhost/api/v1/` +**Language** + +Logged-in user's language will be used. Can be overwritten by `Accept-Language` header. + **Core APIs:** diff --git a/module.json b/module.json index a5a35e0..be97a9e 100644 --- a/module.json +++ b/module.json @@ -5,7 +5,7 @@ "keywords": [ "api", "rest" ], - "version": "0.10.1", + "version": "0.10.2", "homepage": "https://github.com/humhub/rest", "humhub": { "minVersion": "1.16"