dialect/transedit

支持行内编辑的Laravel翻译

0.9.0 2023-08-14 09:52 UTC

README

Build Status

TransEdit

TransEdit通过内置缓存支持将本地化存储在数据库中。它还支持启用编辑模式,允许用户通过双击高亮文本直接在浏览器中编辑翻译。

安装

通过composer安装

composer require dialect/transedit

发布组件

php artisan vendor:publish --provider="Dialect\TransEdit\TransEditServiceProvider"

将vue组件添加到resources/assets/js/app.js并编译

Vue.component('transedit', require('./components/transedit/TransEdit.vue'));

迁移数据库

 php artisan migrate

发布

Assets => resource/assets
Config => config/
Migrations database/migrations/

示例

       ##Locale##
       //A locale is automatically created when a key is set or if a locale language name is set.
       transEdit()->setLocaleLanguageName('locale', 'language-name'); //e.g en, English
        
       ##set key##
       transEdit()->setKey('key', 'val');
       transEdit()->locale('locale')->setKey(..); //TransEdit automatically creates missing locales.
       
       //you can use the helper functions to quicker set keys
       transEdit()->key('key', 'value');
       transEdit('key', 'val', 'locale'); //locale is optional
       
       ##get key##
       transEdit()->getKey('key');
       transEdit()->locale('locale')->getKey('key');
       
       //you can use the helper functions to quicker get keys
       transEdit()->key('key');
       transEdit('key');
       
       //It's also possible to replace variables
       transEdit('You have $1 months left on your subscription of $2.', ['12', 'Netflix']);
        
       ##set current locale for whole system to use##
       transEdit()->setCurrentLocale('locale');
       
       ##Enable/Disable edit-mode
       transEdit()->enableEditMode();
       transEdit()->disableEditMode();
       
       //When you set locale or edit-mode it will only be set for the current session. 
       //That means multiple users can have different settings.
       
       

Artisan命令

添加现有翻译

将lang/文件夹中的所有Laravel语言文件添加到transedit

transedit:add-lang-files-to-database

例如:lang/sv/article.php

<?php

return [
	"recipe" => "Recept",
];

当添加到transedit后,可以通过键transedit('article.recipe')访问,就像使用Laravel自己的翻译:@lang("article.recipe")

添加缺失的翻译

搜索资源文件并将缺失的短语添加到数据库中

transedit:add-missing-phrases

在开发时非常有用,只需使用transEdit('My translated text')添加所有短语并运行命令。