ibrhaim13/mongodb-translate

为 Laravel 7 及以上版本使用的基于 MongoDB 的静态文本翻译包

v1.0.2 2022-05-30 07:03 UTC

This package is auto-updated.

Last update: 2024-09-30 01:32:41 UTC


README

ibrhaim13/mdb-translate 是一个使用 MongoDB 进行静态文本翻译的 Laravel 翻译包,使用简单、动态且令人愉悦。

官方文档

安装(Laravel ^8.0, ^9.0 )

通过 composer 安装

composer require ibrhaim13/translate

发布包

将发布包组件 translate13(配置文件)、迁移文件、视图

php artisan vendor:publish --force --tag=translate13

依赖

你应该安装 laravel 中的一个启动套件 auth 包,如 auth/ui 或 laravel-breeze 或其他,因为此功能是为管理员提供的。我们也依赖于 laravel 视图 app 布局,如果你想要自定义视图,你完全不需要它。

基本配置包

运行迁移

php artisan migrate

为 web 中间件组添加中间件,以添加本地到 URL 路径

# app/Http/Kernel.php

protected $middlewareGroups = [
        'web' => [
        ...,
        Ibrhaim13\Translate\Http\Middleware\Web\Localization::class,
        ...
        ]

当在 URL 中更改本地设置时,将更改应用中的本地设置。

通过应用程序的 Route 服务提供者添加路由前缀

# app/Providers/RouteServiceProvider.php
# boot function inside route callback funcation add ->prefix(Localization::routePrefix())
      Route::middleware('web')->prefix(Localization::routePrefix())
           ->group(base_path('routes/web.php'));

高级配置包

你可以自定义路由、前缀、添加新语言以及添加你喜欢的中间件,你应该将翻译页面路由添加到应用的导航栏中,这样你就可以访问页面。你可以通过扩展模型并重写组来添加新的翻译组

# app/Models/YourTranslateModelExtendFromPackageModel.php
    public static array $groups = [
        'str_public',
        'str_admin',
        //here add your new group as you like
    ];

如何使用

设置完配置后,你可以访问翻译页面以添加新键,你可以在管理员面板中将其翻译

#first segment is a group name
#secand segment is translated key
__('str_public.key name');

默认有两个组名 str_publicstr_admin,添加键后,在打开翻译管理员页面之前,你必须打开包含此键的页面,这样 Laravel 应用程序才会加载

访问翻译管理面板页面

http://yourdomain.com/en/translate

然后点击生成按钮生成静态翻译文件,编辑翻译后 #注意:你的服务器需要有创建翻译文件的权限

安全漏洞

请通过电子邮件联系我们 i.musabah92@gmail.com

许可证

ibrhaim13/translate 是开源软件,许可协议为 MIT 许可证