php - 如何使用 Laravel 将德语翻译成英语(本地化?)

标签 php laravel translation multilingual

我有一个德语网站,希望它用 Laravel 将其翻译成英语(本地化?)。 每种语言都有不同的链接,因此无需获取其语言环境。

我已经通读了文档和许多文章,但仍然不确定如何执行此操作。

我需要什么:

  • 我只有两种语言,德语(主要)和英语(第二)

  • 我需要 url 中的参数 ende,但我还没有找到这样做的教程

  • 我认为我必须使用翻译字符串作为键,因为它只对两种语言最有意义,因此我需要一个 json 文件

所以我的问题:

  1. 我想翻译成英文,但是lang文件夹下已经有en文件夹了,怎么办?只需将 en.json 文件放在那里?

  2. 有必要使用中间件吗?或者对于经验非常少的人来说,是否有另一种白痴安全的方法来实现这一点?

  3. 如何设置和获取 url 中的语言参数并根据它翻译网站?

  4. 即使我有大约 3 个不同的路线/站点,我是否只需要一个 en 文件来翻译?

最佳答案

您已经掌握了 Laravel 中本地化的结构/功能,非常简单:

在文件夹中

resources/lang

你需要有一个 per lang 文件夹,比如

resources/lang/en -> English
resources/lang/de -> German/Deutsch

在每个 lang forlder 中,您创建一个 Blade ,例如应用翻译:

app.blade.php

您将具有以下结构:

resources/lang/en/app.blade.php -> English
resources/lang/de/app.blade.php -> German/Deutsch

例如你放在哪里

<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Application Language Lines
    |--------------------------------------------------------------------------
    |
    | The following language lines are used by the app library to build
    | the simple pagination links. You are free to change them to anything
    | you want to customize your views to better match your application.
    |
    */

    'greets' => 'Welcome',
];

在德文的 app.blade.php 中你输入:

<?php

    return [

        /*
        |--------------------------------------------------------------------------
        | Application Language Lines
        |--------------------------------------------------------------------------
        |
        | The following language lines are used by the app library to build
        | the simple pagination links. You are free to change them to anything
        | you want to customize your views to better match your application.
        |
        */

        'greets' => 'Wilkommen',
    ];

然后你可以在你的 Blade 中调用它

@lang('app.greets')

默认语言在 config/app.php 区域设置常量中设置,您可以在其中创建逻辑以使用例如 App::setLocale('de'); 查看使用的语言环境只是使用 App::getLocale();

关于php - 如何使用 Laravel 将德语翻译成英语(本地化?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55810671/

相关文章:

php - 如何使用 Limit 在 mysql 查询中始终获取特定行

laravel - 在MAC上安装Laravel Homestead时出现问题

r - 使用 tidyverse 动词将以下函数翻译为基础 R 作为函数

translation - 如何在 Magento 2 中安装语言包?

php - 如何在 Symfony2 中使用 Gettext (.mo/.po) 文件?

php - 将文件名更改为用户名 PHP

php - Laravel - whereHas 最后一个关系是 = 'manual'

javascript - 在 laravel 中通过 ajax 删除数据

php - 具有数据库事务的 Laravel Controller-Model 异常处理结构

php - 保存订单前更新 magento 购物车总数