dongwei4096 2019-01-03 07:29
浏览 55

如何在laravel 5.4中创建支持本地化的API

How to create API that supports localization in laravel 5.4 i have tried the below code but not work and shows the exception (Language not supported) how can i do that support language change in laravel API anybody help thanks in advance.

I have set this in config/app.php

'supported_languages' => ['en' => 'English', 'ar' => 'Arabic'],

This is my controller

public function __construct(Application $app)
    {
        $this->app = $app;
    }

    public function handle($request, Closure $lang)
    {
        try 
        {
            // read the language from the request header
            $locale = $request->header('Content-Language');
            // if the header is missed
            if(!$locale)
            {
                // take the default local language
                $locale = $this->app->config->get('app.locales');
            }

            // check the languages defined is supported
            if (!array_key_exists($locale, $this->app->config->get('app.supported_languages'))) 
            {
                // respond with error
                return response()->json(['data' => 'Language not supported.', 'status_code' => 403, 'status' => false],403);
            }

            // set the local language
            $this->app->setLocale($locale);

            // get the response after the request is done
            $response = $lang($request);

            // set Content Languages header in the response
            $response->headers->set('Content-Language', $locale);

            // return the response
            return response()->json(['data' => $response, 'status_code' => 200, 'status' => true],200);
        } 
        catch (Exception $e) 
        {
            return Response::json(['error' => 'There is something wrong', 'status_code' => 500, 'status' => false],500);
        }
    }
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
    • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
    • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
    • ¥15 如何在炒股软件中,爬到我想看的日k线
    • ¥15 seatunnel 怎么配置Elasticsearch
    • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
    • ¥15 (标签-MATLAB|关键词-多址)
    • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
    • ¥500 52810做蓝牙接受端
    • ¥15 基于PLC的三轴机械手程序