babamboole / laravel-i18next
一个为i18next.js提供HTTP后端的laravel包
0.3.0
2024-08-09 21:10 UTC
Requires
- php: ^8.1
- bambamboole/laravel-translation-dumper: ^1.0.2
- illuminate/cache: ^9.0|^10.0|^11.0
- illuminate/http: ^9.0|^10.0|^11.0
- illuminate/support: ^9.0|^10.0|^11.0
- illuminate/translation: ^9.0|^10.0|^11.0
Requires (Dev)
- laravel/pint: ^1.8
- phpunit/phpunit: ^10.1
README
如果您在您的前端使用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)。有关更多信息,请参阅许可证文件