babamboole/laravel-i18next

一个为i18next.js提供HTTP后端的laravel包

0.3.0 2024-08-09 21:10 UTC

This package is auto-updated.

Last update: 2024-09-11 12:21:14 UTC


README

Latest Version on Packagist Total Downloads GitHub Actions

如果您在您的前端使用i18next并在后端使用Laravel,此包适合您。

它是如何工作的?

该包提供了用于获取翻译和保存缺失翻译的路径,当使用i18next-http-backend时。
它支持Laravel的JSON和PHP翻译文件,并在运行时将它们转换为与i18next兼容。

安装

您可以通过composer安装此包。

composer require bambamboole/laravel-i18next

使用

该包仍处于早期开发阶段,因此相当有意见,并且不太灵活。

它提供了两条路径。一条用于获取翻译,另一条用于保存缺失的翻译。

获取翻译

路由

使用Vue.js

要使用Vue.js组件中的翻译,您可以使用i18next-vue包。

npm install -D i18next-vue i18next-http-backend

要配置i18next-vue,您可以使用以下代码片段

import I18NextVue from 'i18next-vue';
import HttpBackend from 'i18next-http-backend'

i18next.use(HttpBackend).init({
    saveMissing: true,
    lng: 'en',
    backend: {
        // This is needed for CSRF protection
        withCredentials: true,
        customHeaders: () => {
            const csrf = document.querySelector<HTMLElement>('meta[name="csrf-token"]')

            return csrf === null ? {} : {'X-CSRF-TOKEN': csrf.getAttribute('content')}
        },
    },
});

//...

app.use(I18NextVue, {i18next})

测试

composer test

贡献

想法/路线图

  • 添加更多测试
  • 使包更加灵活
  • 支持命名空间
  • 支持i18next多加载

有关详细信息,请参阅CONTRIBUTING

安全

如果您发现任何安全相关的问题,请通过电子邮件manuel@christlieb.eu而不是使用问题跟踪器。

鸣谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件