mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-03 14:10:57 +08:00
add message template
This commit is contained in:
18
app/Enums/MessageTemplateNameEnum.php
Normal file
18
app/Enums/MessageTemplateNameEnum.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
use function PHPUnit\Framework\matches;
|
||||
|
||||
enum MessageTemplateNameEnum: string
|
||||
{
|
||||
case REGISTER_WELCOME = "register_welcome";
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::REGISTER_WELCOME => nexus_trans("message-template.register_welcome"),
|
||||
default => '',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
use App\Events\MessageCreated;
|
||||
use App\Events\NewsCreated;
|
||||
use App\Events\SnatchedUpdated;
|
||||
use App\Events\TorrentCreated;
|
||||
@@ -12,6 +13,7 @@ use App\Events\UserDeleted;
|
||||
use App\Events\UserDisabled;
|
||||
use App\Events\UserEnabled;
|
||||
use App\Events\UserUpdated;
|
||||
use App\Models\Message;
|
||||
use App\Models\News;
|
||||
use App\Models\Snatch;
|
||||
use App\Models\Torrent;
|
||||
@@ -31,6 +33,7 @@ final class ModelEventEnum {
|
||||
const NEWS_CREATED = 'news_created';
|
||||
|
||||
const SNATCHED_UPDATED = 'snatched_updated';
|
||||
const MESSAGE_CREATED = 'message_created';
|
||||
|
||||
public static array $eventMaps = [
|
||||
self::TORRENT_CREATED => ['event' => TorrentCreated::class, 'model' => Torrent::class],
|
||||
@@ -46,5 +49,7 @@ final class ModelEventEnum {
|
||||
self::NEWS_CREATED => ['event' => NewsCreated::class, 'model' => News::class],
|
||||
|
||||
self::SNATCHED_UPDATED => ['event' => SnatchedUpdated::class, 'model' => Snatch::class],
|
||||
|
||||
self::MESSAGE_CREATED => ['event' => MessageCreated::class, 'model' => Message::class],
|
||||
];
|
||||
}
|
||||
|
||||
41
app/Events/MessageCreated.php
Normal file
41
app/Events/MessageCreated.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace App\Events;
|
||||
|
||||
use Illuminate\Broadcasting\Channel;
|
||||
use Illuminate\Broadcasting\InteractsWithSockets;
|
||||
use Illuminate\Broadcasting\PresenceChannel;
|
||||
use Illuminate\Broadcasting\PrivateChannel;
|
||||
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Foundation\Events\Dispatchable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
class MessageCreated
|
||||
{
|
||||
use Dispatchable, InteractsWithSockets, SerializesModels;
|
||||
|
||||
public ?Model $model = null;
|
||||
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(Model $model)
|
||||
{
|
||||
$this->model = $model;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the channels the event should broadcast on.
|
||||
*
|
||||
* @return array<int, \Illuminate\Broadcasting\Channel>
|
||||
*/
|
||||
public function broadcastOn(): array
|
||||
{
|
||||
return [
|
||||
new PrivateChannel('channel-name'),
|
||||
];
|
||||
}
|
||||
}
|
||||
110
app/Filament/Resources/System/MessageTemplateResource.php
Normal file
110
app/Filament/Resources/System/MessageTemplateResource.php
Normal file
@@ -0,0 +1,110 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\System;
|
||||
|
||||
use App\Enums\MessageTemplateNameEnum;
|
||||
use App\Filament\Resources\System\MessageTemplateResource\Pages;
|
||||
use App\Filament\Resources\System\MessageTemplateResource\RelationManagers;
|
||||
use App\Models\Language;
|
||||
use App\Models\MessageTemplate;
|
||||
use App\Models\Setting;
|
||||
use Filament\Forms;
|
||||
use Filament\Forms\Form;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Tables;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
||||
use Illuminate\Support\HtmlString;
|
||||
|
||||
class MessageTemplateResource extends Resource
|
||||
{
|
||||
protected static ?string $model = MessageTemplate::class;
|
||||
|
||||
protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
|
||||
|
||||
protected static ?string $navigationGroup = 'System';
|
||||
|
||||
protected static ?int $navigationSort = 2;
|
||||
|
||||
public static function getNavigationLabel(): string
|
||||
{
|
||||
return __('admin.sidebar.message_templates');
|
||||
}
|
||||
|
||||
public static function getBreadcrumb(): string
|
||||
{
|
||||
return self::getNavigationLabel();
|
||||
}
|
||||
|
||||
public static function form(Form $form): Form
|
||||
{
|
||||
$languages = Language::all();
|
||||
$default = $languages->first(fn ($item) => $item->site_lang_folder == Setting::getDefaultLang());
|
||||
return $form
|
||||
->schema([
|
||||
Forms\Components\Select::make('name')
|
||||
->label(__('label.name'))
|
||||
->options(MessageTemplate::listAllNames())
|
||||
->columnSpanFull()
|
||||
->required(),
|
||||
Forms\Components\Select::make('language_id')
|
||||
->label(__('label.language'))
|
||||
->options($languages->pluck('lang_name', 'id'))
|
||||
->default($default ? $default->id : null)
|
||||
->columnSpanFull()
|
||||
->required(),
|
||||
Forms\Components\Textarea::make('content')
|
||||
->label(__('label.content'))
|
||||
->helperText(new HtmlString(__('message-template.content_help')."<br/>".__('message-template.register_welcome_content_help')))
|
||||
->columnSpanFull()
|
||||
->rows(10)
|
||||
->required(),
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
public static function table(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->columns([
|
||||
Tables\Columns\TextColumn::make('id'),
|
||||
Tables\Columns\TextColumn::make('name')
|
||||
->label(__('label.name'))
|
||||
->formatStateUsing(fn ($state) => $state->label())
|
||||
,
|
||||
Tables\Columns\TextColumn::make('language.lang_name')
|
||||
->label(__('label.language'))
|
||||
,
|
||||
Tables\Columns\TextColumn::make('updated_at')
|
||||
->label(__('label.updated_at'))
|
||||
,
|
||||
])
|
||||
->filters([
|
||||
Tables\Filters\SelectFilter::make('name')
|
||||
->label(__('label.name'))
|
||||
->options(MessageTemplate::listAllNames())
|
||||
,
|
||||
Tables\Filters\SelectFilter::make('language_id')
|
||||
->label(__('label.language'))
|
||||
->options(Language::all()->pluck('lang_name', 'id'))
|
||||
,
|
||||
])
|
||||
->actions([
|
||||
Tables\Actions\EditAction::make(),
|
||||
Tables\Actions\DeleteAction::make(),
|
||||
])
|
||||
->bulkActions([
|
||||
Tables\Actions\BulkActionGroup::make([
|
||||
Tables\Actions\DeleteBulkAction::make(),
|
||||
]),
|
||||
]);
|
||||
}
|
||||
|
||||
public static function getPages(): array
|
||||
{
|
||||
return [
|
||||
'index' => Pages\ManageMessageTemplates::route('/'),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\System\MessageTemplateResource\Pages;
|
||||
|
||||
use App\Filament\PageListSingle;
|
||||
use App\Filament\Resources\System\MessageTemplateResource;
|
||||
use Filament\Actions;
|
||||
use Filament\Resources\Pages\ManageRecords;
|
||||
|
||||
class ManageMessageTemplates extends PageListSingle
|
||||
{
|
||||
protected static string $resource = MessageTemplateResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Actions\CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Enums\ModelEventEnum;
|
||||
use Nexus\Database\NexusDB;
|
||||
|
||||
class Message extends NexusModel
|
||||
@@ -26,10 +27,12 @@ class Message extends NexusModel
|
||||
return $this->belongsTo(User::class, 'receiver');
|
||||
}
|
||||
|
||||
public static function add(array $data): bool
|
||||
public static function add(array $data): self
|
||||
{
|
||||
clear_inbox_count_cache($data["receiver"]);
|
||||
return self::query()->insert($data);
|
||||
$message = self::query()->create($data);
|
||||
fire_event(ModelEventEnum::MESSAGE_CREATED, $message);
|
||||
return $message;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
48
app/Models/MessageTemplate.php
Normal file
48
app/Models/MessageTemplate.php
Normal file
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use App\Enums\MessageTemplateNameEnum;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
||||
class MessageTemplate extends NexusModel
|
||||
{
|
||||
protected $fillable = ['name', 'content', 'language_id'];
|
||||
|
||||
public $timestamps = true;
|
||||
|
||||
protected $casts = [
|
||||
'name' => MessageTemplateNameEnum::class,
|
||||
];
|
||||
|
||||
public static function listAllNames(): array
|
||||
{
|
||||
$result = [];
|
||||
foreach (MessageTemplateNameEnum::cases() as $messageTemplate) {
|
||||
$result[$messageTemplate->value] = $messageTemplate->label();
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function language(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Language::class);
|
||||
}
|
||||
|
||||
public static function forRegisterWelcome($languageId, array $placeholders): null|string
|
||||
{
|
||||
$result = self::query()->where("language_id", $languageId)
|
||||
->where('name', MessageTemplateNameEnum::REGISTER_WELCOME->value)
|
||||
->first();
|
||||
return self::format($result, $placeholders);
|
||||
}
|
||||
|
||||
private static function format(self|null $template, array $placeholders): null|string
|
||||
{
|
||||
if ($template && $template->content) {
|
||||
$search = array_map(function ($value) {return ":$value";}, array_keys($placeholders));
|
||||
return str_replace($search, array_values($placeholders), $template->content);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -69,8 +69,13 @@ class PluginStore extends Model
|
||||
|
||||
public function hasNewVersion(): bool
|
||||
{
|
||||
return $this->installed_version
|
||||
$result = $this->installed_version
|
||||
&& version_compare($this->version, $this->installed_version, '>');
|
||||
do_log(sprintf(
|
||||
"%s, installed_version: %s, version: %s, hasNew: %s",
|
||||
$this->plugin_id, $this->installed_version, $this->version, $result
|
||||
));
|
||||
return $result;
|
||||
}
|
||||
|
||||
public static function getInfo(string $id)
|
||||
|
||||
@@ -299,7 +299,7 @@ class User extends Authenticatable implements FilamentUser, HasName
|
||||
$log .= ", locale from cookie: $locale";
|
||||
}
|
||||
if (!$locale) {
|
||||
$lang = $this->language->site_lang_folder;
|
||||
$lang = $this->language?->site_lang_folder ?? null;
|
||||
$locale = Locale::$languageMaps[$lang] ?? $lang;
|
||||
$log .= ", [NO_DATA_FROM_COOKIE], lang from database: $lang, locale: $locale";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('message_templates', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('name');
|
||||
$table->integer('language_id');
|
||||
$table->text('content');
|
||||
$table->timestamps();
|
||||
$table->unique(['name', 'language_id']);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('message_templates');
|
||||
}
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
defined('VERSION_NUMBER') || define('VERSION_NUMBER', '1.9.5');
|
||||
defined('RELEASE_DATE') || define('RELEASE_DATE', '2025-06-17');
|
||||
defined('RELEASE_DATE') || define('RELEASE_DATE', '2025-06-19');
|
||||
defined('IN_TRACKER') || define('IN_TRACKER', false);
|
||||
defined('PROJECTNAME') || define("PROJECTNAME","NexusPHP");
|
||||
defined('NEXUSPHPURL') || define("NEXUSPHPURL","https://nexusphp.org");
|
||||
|
||||
@@ -171,7 +171,8 @@ if(mysql_num_rows($res_check_user) == 1)
|
||||
|
||||
$ret = sql_query("INSERT INTO users (username, passhash, passkey, secret, auth_key, editsecret, email, country, gender, status, class, invites, ".($type == 'invite' ? "invited_by," : "")." added, last_access, lang, stylesheet".($showschool == 'yes' ? ", school" : "").", uploaded) VALUES (" . $wantusername . "," . $wantpasshash . "," . sqlesc($passkey) . "," . $secret . "," . $authKey. "," . $editsecret . "," . $email . "," . $country . "," . $gender . ", 'pending', ".$defaultclass_class.",". $invite_count .", ".($type == 'invite' ? "'$inviter'," : "") ." '". date("Y-m-d H:i:s") ."' , " . " '". date("Y-m-d H:i:s") ."' , ".$sitelangid . ",".$defcss.($showschool == 'yes' ? ",".$school : "").",".($iniupload_main > 0 ? $iniupload_main : 0).")") or sqlerr(__FILE__, __LINE__);
|
||||
$id = mysql_insert_id();
|
||||
fire_event("user_created", \App\Models\User::query()->find($id, \App\Models\User::$commonFields));
|
||||
$userInfo = \App\Models\User::query()->find($id, \App\Models\User::$commonFields);
|
||||
fire_event("user_created", $userInfo);
|
||||
$tmpInviteCount = get_setting('main.tmp_invite_count');
|
||||
if ($tmpInviteCount > 0) {
|
||||
$userRep = new \App\Repositories\UserRepository();
|
||||
@@ -181,7 +182,10 @@ if ($tmpInviteCount > 0) {
|
||||
$dt = date("Y-m-d H:i:s");
|
||||
$subject = $lang_takesignup['msg_subject'].$SITENAME."!";
|
||||
$siteName = \App\Models\Setting::getSiteName();
|
||||
$msg = $lang_takesignup['msg_congratulations'].$wantusername.sprintf($lang_takesignup['msg_you_are_a_member'],$siteName, $siteName);
|
||||
$msg = \App\Models\MessageTemplate::forRegisterWelcome($userInfo->lang, ['username' => $userInfo->username]);
|
||||
if (empty($msg)) {
|
||||
$msg = $lang_takesignup['msg_congratulations'].$wantusername.sprintf($lang_takesignup['msg_you_are_a_member'],$siteName, $siteName);
|
||||
}
|
||||
\App\Models\Message::add([
|
||||
'sender' => 0,
|
||||
'receiver' => $id,
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Poskytovatel autorizace',
|
||||
'queue_monitor' => 'Monitor fronty',
|
||||
'user_modify_logs' => 'Záznamy změn uživatele',
|
||||
'message_templates' => 'Šablony zpráv',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Vytvořeno na konci',
|
||||
'text_quote' => 'Cenová nabídka',
|
||||
'text_code' => "STRUKTURA ČISTÝCH POZIC PODLE RIZIKOVÝCH VAH",
|
||||
'language' => 'Jazyk',
|
||||
'content' => 'Obsah',
|
||||
'setting' => [
|
||||
'nav_text' => 'Nastavení',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/cs/message-template.php
Normal file
6
resources/lang/cs/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Zde můžete použít BBCode kódy a následující zástupné symboly',
|
||||
'register_welcome' => 'Registrace úspěšná uvítací zpráva',
|
||||
'register_welcome_content_help' => ':username => uživatelské jméno',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'Token byl úspěšně vytvořen, tato data se zobrazí pouze jednou, uložte jej správně<br/><br/>:token',
|
||||
'last_used_at' => 'Poslední čas používání',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Oprávnění::permission_text není povoleno"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Autorisationsudbyder',
|
||||
'queue_monitor' => 'Overvågning af kø',
|
||||
'user_modify_logs' => 'Bruger ændre logs',
|
||||
'message_templates' => 'Besked skabeloner',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Oprettet i slutningen',
|
||||
'text_quote' => 'Tilbud',
|
||||
'text_code' => "Kode",
|
||||
'language' => 'Sprog',
|
||||
'content' => 'Indhold',
|
||||
'setting' => [
|
||||
'nav_text' => 'Indstilling',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/da/message-template.php
Normal file
6
resources/lang/da/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Her kan du bruge BBCode tag koder og følgende pladsholdere',
|
||||
'register_welcome' => 'Velkomstbesked om registrering lykkedes',
|
||||
'register_welcome_content_help' => ':username => brugernavn',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'Token blev oprettet med succes, denne data vises kun én gang, gem den korrekt<br/><br/>:token',
|
||||
'last_used_at' => 'Seneste anvendelsestid',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Tilladelse::permission_text ikke tilladt"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Autorisierungsanbieter',
|
||||
'queue_monitor' => 'Warteschlange Monitor',
|
||||
'user_modify_logs' => 'Benutzerprotokolle ändern',
|
||||
'message_templates' => 'Nachrichtenvorlagen',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Erstellt am Ende',
|
||||
'text_quote' => 'Zitat',
|
||||
'text_code' => "CODE",
|
||||
'language' => 'Sprache',
|
||||
'content' => 'Inhalt',
|
||||
'setting' => [
|
||||
'nav_text' => 'Einstellung',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/de/message-template.php
Normal file
6
resources/lang/de/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Hier können Sie BBCode Tag-Codes und die folgenden Platzhalter verwenden',
|
||||
'register_welcome' => 'Registrierung erfolgreich Willkommensnachricht',
|
||||
'register_welcome_content_help' => ':username => Benutzername',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'Das Token wurde erfolgreich erstellt. Diese Daten werden nur einmal angezeigt, bitte speichern Sie es ordnungsgemäß<br/><br/>:token',
|
||||
'last_used_at' => 'Letzte Benutzungszeit',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Berechtigung::permission_text nicht erlaubt"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Πάροχος εξουσιοδότησης',
|
||||
'queue_monitor' => 'Οθόνη αναμονής',
|
||||
'user_modify_logs' => 'Αρχεία καταγραφής τροποποίησης χρήστη',
|
||||
'message_templates' => 'Πρότυπα μηνυμάτων',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Δημιουργήθηκε στο τέλος',
|
||||
'text_quote' => 'Παράθεση',
|
||||
'text_code' => "ΚΩΔΙΚΟΣ",
|
||||
'language' => 'Γλώσσα',
|
||||
'content' => 'Περιεχόμενο',
|
||||
'setting' => [
|
||||
'nav_text' => 'Ρύθμιση',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/el/message-template.php
Normal file
6
resources/lang/el/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Εδώ μπορείτε να χρησιμοποιήσετε τους κωδικούς ετικετών BBCode και τα ακόλουθα σύμβολα κράτησης θέσης',
|
||||
'register_welcome' => 'Εγγραφή μήνυμα καλωσορίσματος',
|
||||
'register_welcome_content_help' => ':username => όνομα χρήστη',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'Το διακριτικό δημιουργήθηκε με επιτυχία, αυτά τα δεδομένα εμφανίζονται μόνο μία φορά, παρακαλώ αποθηκεύστε τα σωστά<br/><br/>:token',
|
||||
'last_used_at' => 'Πρόσφατος χρόνος χρήσης',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Permission::permission_text not allowed"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Authorization provider',
|
||||
'queue_monitor' => 'Queue monitor',
|
||||
'user_modify_logs' => 'User modify logs',
|
||||
'message_templates' => 'Message templates',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Created at end',
|
||||
'text_quote' => 'Quote',
|
||||
'text_code' => "CODE",
|
||||
'language' => 'Language',
|
||||
'content' => 'Content',
|
||||
'setting' => [
|
||||
'nav_text' => 'Setting',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/en/message-template.php
Normal file
6
resources/lang/en/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Here you can use BBCode tag codes and the following placeholders',
|
||||
'register_welcome' => 'Registration success welcome message',
|
||||
'register_welcome_content_help' => ':username => username',
|
||||
];
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Proveedor de autorización',
|
||||
'queue_monitor' => 'Monitor de cola',
|
||||
'user_modify_logs' => 'Usuario modificar registros',
|
||||
'message_templates' => 'Plantillas de mensaje',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Creado al final',
|
||||
'text_quote' => 'Cotización',
|
||||
'text_code' => "CÓDIGO",
|
||||
'language' => 'Idioma',
|
||||
'content' => 'Contenido',
|
||||
'setting' => [
|
||||
'nav_text' => 'Ajustes',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/es/message-template.php
Normal file
6
resources/lang/es/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Aquí puedes usar códigos de etiquetas BBCode y los siguientes marcadores de posición',
|
||||
'register_welcome' => 'Mensaje de bienvenida de registro exitoso',
|
||||
'register_welcome_content_help' => ':username => nombre de usuario',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'El token fue creado con éxito, estos datos se muestran una sola vez, por favor guárdelo correctamente<br/><br/>:token',
|
||||
'last_used_at' => 'Tiempo de uso reciente',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Permiso::permission_text no permitido"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Valtuutuksen tarjoaja',
|
||||
'queue_monitor' => 'Jonon monitori',
|
||||
'user_modify_logs' => 'Käyttäjä muokkaa lokeja',
|
||||
'message_templates' => 'Viestin pohjat',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Luotu lopussa',
|
||||
'text_quote' => 'Tarjous',
|
||||
'text_code' => "KOODI",
|
||||
'language' => 'Kieli',
|
||||
'content' => 'Sisältö',
|
||||
'setting' => [
|
||||
'nav_text' => 'Asetus',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/fi/message-template.php
Normal file
6
resources/lang/fi/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Täällä voit käyttää BBCode tag koodeja ja seuraavia paikkamerkkejä',
|
||||
'register_welcome' => 'Ilmoittautuminen onnistui tervetuliaisviesti',
|
||||
'register_welcome_content_help' => ':username => käyttäjänimi',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'Tunnus luotiin onnistuneesti, nämä tiedot näytetään vain kerran, tallenna ne oikein<br/><br/>:token',
|
||||
'last_used_at' => 'Äskettäinen käyttöaika',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Käyttöoikeus::permission_text ei sallittu"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Fournisseur d\'autorisation',
|
||||
'queue_monitor' => 'Moniteur de file d\'attente',
|
||||
'user_modify_logs' => 'Journaux de modification de l\'utilisateur',
|
||||
'message_templates' => 'Modèles de message',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Créé à la fin',
|
||||
'text_quote' => 'Devis',
|
||||
'text_code' => "CODE",
|
||||
'language' => 'Langue',
|
||||
'content' => 'Contenus',
|
||||
'setting' => [
|
||||
'nav_text' => 'Réglages',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/fr/message-template.php
Normal file
6
resources/lang/fr/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Ici vous pouvez utiliser des codes de balises BBCode et les espaces réservés suivants',
|
||||
'register_welcome' => 'Message de bienvenue pour l\'inscription',
|
||||
'register_welcome_content_help' => ':username => nom d\'utilisateur',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'Le jeton a été créé avec succès, ces données ne sont affichées qu\'une seule fois, veuillez l\'enregistrer correctement<br/><br/>:token',
|
||||
'last_used_at' => 'Temps d\'utilisation récent',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Autorisation::permission_text non autorisée"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Provider di autorizzazione',
|
||||
'queue_monitor' => 'Monitor coda',
|
||||
'user_modify_logs' => 'Modificare i log dell\'utente',
|
||||
'message_templates' => 'Modelli di messaggi',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Creato alla fine',
|
||||
'text_quote' => 'Preventivo',
|
||||
'text_code' => "CODICE",
|
||||
'language' => 'Lingua',
|
||||
'content' => 'Contenuto',
|
||||
'setting' => [
|
||||
'nav_text' => 'Impostazione',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/it/message-template.php
Normal file
6
resources/lang/it/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Qui puoi usare i codici dei tag BBCode e i seguenti segnaposto',
|
||||
'register_welcome' => 'Messaggio di benvenuto per la registrazione',
|
||||
'register_welcome_content_help' => ':username => username',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'Il token è stato creato con successo, questi dati vengono visualizzati solo una volta, si prega di salvarli correttamente<br/><br/>:token',
|
||||
'last_used_at' => 'Tempo di utilizzo recente',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Permesso::permission_text non consentito"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => '認証プロバイダー',
|
||||
'queue_monitor' => 'キューモニター',
|
||||
'user_modify_logs' => 'ユーザーの変更ログ',
|
||||
'message_templates' => 'メッセージ・テンプレート',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => '最後に作成',
|
||||
'text_quote' => '引用',
|
||||
'text_code' => "コード",
|
||||
'language' => '言語',
|
||||
'content' => 'コンテンツ',
|
||||
'setting' => [
|
||||
'nav_text' => '設定',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/ja/message-template.php
Normal file
6
resources/lang/ja/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'ここではBBCodeタグコードと次のプレースホルダを使用できます',
|
||||
'register_welcome' => '登録成功歓迎メッセージ',
|
||||
'register_welcome_content_help' => ':username => username',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'The token was created successfully, this data is displayed only once, please save it properly<br/><br/>:token',
|
||||
'last_used_at' => '最近の使用時間',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "パーミッション::permission_text は許可されていません"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Autorisasjons leverandør',
|
||||
'queue_monitor' => 'Overvåk av kø',
|
||||
'user_modify_logs' => 'Bruker modifiserer logger',
|
||||
'message_templates' => 'Melding maler',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Opprettet på slutten',
|
||||
'text_quote' => 'Sitat',
|
||||
'text_code' => "KODE",
|
||||
'language' => 'Språk',
|
||||
'content' => 'Innhold',
|
||||
'setting' => [
|
||||
'nav_text' => 'Innstilling',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/nb/message-template.php
Normal file
6
resources/lang/nb/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Her kan du bruke BBCode koder og følgende plassholdere',
|
||||
'register_welcome' => 'Registrering suksessfull velkomstmelding',
|
||||
'register_welcome_content_help' => ':username => brukernavn',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'Tokenet ble opprettet vellykket, disse dataene vises kun én gang, vennligst lagre det riktig<br/><br/>:token',
|
||||
'last_used_at' => 'Nylig brukstid',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Tillatelse::permission_text ikke tillatt"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Autorisatie provider',
|
||||
'queue_monitor' => 'Wachtrij monitor',
|
||||
'user_modify_logs' => 'Gebruiker wijzigt logs',
|
||||
'message_templates' => 'Bericht sjabloon',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Aan het eind aangemaakt',
|
||||
'text_quote' => 'Offerte',
|
||||
'text_code' => "CODE",
|
||||
'language' => 'Taal',
|
||||
'content' => 'Inhoud',
|
||||
'setting' => [
|
||||
'nav_text' => 'Instellingen',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/nl/message-template.php
Normal file
6
resources/lang/nl/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Hier kunt u BBCode tag codes en de volgende placeholders gebruiken',
|
||||
'register_welcome' => 'Registratie succesvol welkomstbericht',
|
||||
'register_welcome_content_help' => ':username => gebruikersnaam',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'De token is succesvol aangemaakt. Deze gegevens worden slechts eenmaal weergegeven, gelieve het goed op te slaan<br/><br/>:token',
|
||||
'last_used_at' => 'Recente gebruikstijd',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Machtiging::permission_text niet toegestaan"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Dostawca autoryzacji',
|
||||
'queue_monitor' => 'Monitor kolejki',
|
||||
'user_modify_logs' => 'Logi modyfikacji użytkownika',
|
||||
'message_templates' => 'Szablony wiadomości',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Utworzono na końcu',
|
||||
'text_quote' => 'Oferta',
|
||||
'text_code' => "KOD",
|
||||
'language' => 'Język',
|
||||
'content' => 'Zawartość',
|
||||
'setting' => [
|
||||
'nav_text' => 'Ustawienie',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/pl/message-template.php
Normal file
6
resources/lang/pl/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Tutaj możesz użyć kodów tagów BBCode i następujących symboli zastępczych',
|
||||
'register_welcome' => 'Wiadomość powitalna o pomyślnej rejestracji',
|
||||
'register_welcome_content_help' => 'Nazwa użytkownika :username =>',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'Token został utworzony pomyślnie, te dane są wyświetlane tylko raz, proszę zapisać je poprawnie<br/><br/>:token',
|
||||
'last_used_at' => 'Czas ostatniego użycia',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Zezwolenie::permission_text niedozwolone"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Provedor de autorização',
|
||||
'queue_monitor' => 'Monitor de fila',
|
||||
'user_modify_logs' => 'Modificação de logs do usuário',
|
||||
'message_templates' => 'Modelos de mensagem',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Criado no final',
|
||||
'text_quote' => 'Cotação',
|
||||
'text_code' => "CÓDIGO",
|
||||
'language' => 'IDIOMA',
|
||||
'content' => 'Conteúdo',
|
||||
'setting' => [
|
||||
'nav_text' => 'Configuração',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/pt/message-template.php
Normal file
6
resources/lang/pt/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Aqui você pode usar códigos de tag BBCode e os seguintes espaços reservados',
|
||||
'register_welcome' => 'Registrar mensagem de boas vindas',
|
||||
'register_welcome_content_help' => ':username => usuário',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'O token foi criado com sucesso, esses dados são exibidos apenas uma vez, por favor, salve-o corretamente<br/><br/>:token',
|
||||
'last_used_at' => 'Tempo de uso recente',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Permissão::permission_text não permitido"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Furnizor de autorizare',
|
||||
'queue_monitor' => 'Monitorul de coadă',
|
||||
'user_modify_logs' => 'Jurnalele de modificare ale utilizatorului',
|
||||
'message_templates' => 'Şabloane de mesaje',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Creat la sfârșit',
|
||||
'text_quote' => 'Ofertă',
|
||||
'text_code' => "COD",
|
||||
'language' => 'Limba',
|
||||
'content' => 'Conținut',
|
||||
'setting' => [
|
||||
'nav_text' => 'Setare',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/ro/message-template.php
Normal file
6
resources/lang/ro/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Aici puteţi utiliza codurile de etichete BBCode şi următorii substituenţi',
|
||||
'register_welcome' => 'Mesaj de bun venit cu succes inregistrare',
|
||||
'register_welcome_content_help' => ':username => nume utilizator',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'Token-ul a fost creat cu succes, aceste date sunt afișate o singură dată, vă rugăm să salvați corect<br/><br/>:token',
|
||||
'last_used_at' => 'Timp de utilizare recent',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Permisiunea::permission_text nu este permisă"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Провайдер авторизации',
|
||||
'queue_monitor' => 'Монитор очереди',
|
||||
'user_modify_logs' => 'Изменение журналов',
|
||||
'message_templates' => 'Шаблоны сообщений',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Создано в конце',
|
||||
'text_quote' => 'Цитата',
|
||||
'text_code' => "КОД",
|
||||
'language' => 'Язык',
|
||||
'content' => 'Содержание',
|
||||
'setting' => [
|
||||
'nav_text' => 'Настройка',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/ru/message-template.php
Normal file
6
resources/lang/ru/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Здесь вы можете использовать коды тегов BBCode и следующие заполнители',
|
||||
'register_welcome' => 'Приветственное сообщение о регистрации успешно отправлено',
|
||||
'register_welcome_content_help' => 'Имя пользователя',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'Токен был успешно создан, эти данные отображаются только один раз, пожалуйста, сохраните их правильно<br/><br/>:token',
|
||||
'last_used_at' => 'Время последнего использования',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Разрешение::permission_text не допускается"
|
||||
);
|
||||
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => 'Tillstånd leverantör',
|
||||
'queue_monitor' => 'Kö monitor',
|
||||
'user_modify_logs' => 'Användare ändra loggar',
|
||||
'message_templates' => 'Mallar för meddelande',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => 'Skapad vid slutet',
|
||||
'text_quote' => 'Offert',
|
||||
'text_code' => "Kod",
|
||||
'language' => 'Språk',
|
||||
'content' => 'Innehåll',
|
||||
'setting' => [
|
||||
'nav_text' => 'Inställning',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/sv/message-template.php
Normal file
6
resources/lang/sv/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => 'Här kan du använda BBCode etikettkoder och följande platshållare',
|
||||
'register_welcome' => 'Välkomstmeddelande för registrering lyckades',
|
||||
'register_welcome_content_help' => ':username => användarnamn',
|
||||
];
|
||||
@@ -7,4 +7,5 @@ return array (
|
||||
'create_success_tip' => 'Token skapades framgångsrikt, denna data visas bara en gång, vänligen spara den ordentligt<br/><br/>:token',
|
||||
'last_used_at' => 'Senaste användningstid',
|
||||
'token' => 'summary',
|
||||
"permission_not_allowed" => "Behörighet::permission_text tillåts inte"
|
||||
);
|
||||
|
||||
@@ -44,6 +44,7 @@ return [
|
||||
'oauth_provider' => '身份验证',
|
||||
'queue_monitor' => '队列监控',
|
||||
'user_modify_logs' => '修改记录',
|
||||
'message_templates' => '消息模板',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => '创建时间结束',
|
||||
'text_quote' => '引用',
|
||||
'text_code' => "代码",
|
||||
'language' => '语言',
|
||||
'content' => '内容',
|
||||
'setting' => [
|
||||
'nav_text' => '设置',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/zh_CN/message-template.php
Normal file
6
resources/lang/zh_CN/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => '在这里你可以使用 BBCode 标签代码,以及以下占位符',
|
||||
'register_welcome' => '注册成功欢迎信息',
|
||||
'register_welcome_content_help' => ':username => 用户名',
|
||||
];
|
||||
@@ -46,6 +46,7 @@ return [
|
||||
'oauth_provider' => '身份驗證',
|
||||
'queue_monitor' => '隊列監控',
|
||||
'user_modify_logs' => '修改記錄',
|
||||
'message_templates' => '消息模板',
|
||||
],
|
||||
'resources' => [
|
||||
'agent_allow' => [
|
||||
|
||||
@@ -46,6 +46,8 @@ return [
|
||||
'created_at_end' => '創建時間結束',
|
||||
'text_quote' => '引用',
|
||||
'text_code' => "代碼",
|
||||
'language' => '語言',
|
||||
'content' => '內容',
|
||||
'setting' => [
|
||||
'nav_text' => '設置',
|
||||
'backup' => [
|
||||
|
||||
6
resources/lang/zh_TW/message-template.php
Normal file
6
resources/lang/zh_TW/message-template.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
return [
|
||||
'content_help' => '在這裏你可以使用 BBCode 標籤代碼,以及以下佔位符',
|
||||
'register_welcome' => '注冊成功歡迎信息',
|
||||
'register_welcome_content_help' => ':username => 用戶名',
|
||||
];
|
||||
Reference in New Issue
Block a user