codigo actual del servidor, con avances de joan

This commit is contained in:
Jose Sanchez
2023-08-07 15:52:04 -04:00
commit 3cd9b8bbe8
3070 changed files with 532255 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
@extends('backend.layouts.app')
@section('content')
<div class="card">
<div class="card-header row gutters-5">
<div class="col text-center text-md-left">
<h5 class="mb-md-0 h6">{{ $language->name }}</h5>
</div>
<div class="col-md-4">
<form class="" id="sort_keys" action="" method="GET">
<div class="input-group input-group-sm">
<input type="text" class="form-control" id="search" name="search"@isset($sort_search) value="{{ $sort_search }}" @endisset placeholder="{{ translate('Type key & Enter') }}">
</div>
</form>
</div>
</div>
<form class="form-horizontal" action="{{ route('app-translations.store') }}" method="POST">
@csrf
<input type="hidden" name="id" value="{{ $language->id }}">
<div class="card-body">
<table class="table table-striped table-bordered demo-dt-basic" id="tranlation-table" cellspacing="0" width="100%">
<thead>
<tr>
<th>#</th>
<th width="30%">{{translate('Key')}}</th>
<th width="30%">{{translate('Default Value')}}</th>
<th width="30%">{{translate('Translated Value')}}</th>
</tr>
</thead>
<tbody>
@foreach ($lang_keys as $key => $translation)
<tr>
<td>{{ ($key+1) + ($lang_keys->currentPage() - 1)*$lang_keys->perPage() }}</td>
<td>{{ $translation->lang_key }}</td>
<td class="key">{{ $translation->lang_value }}</td>
<td>
<input type="text" class="form-control value" style="width:100%" name="values[{{ $translation->lang_key }}]" @if (($traslate_lang = \App\Models\AppTranslation::where('lang', $language->app_lang_code)->where('lang_key', $translation->lang_key)->latest()->first()) != null)
value="{{ $traslate_lang->lang_value }}"
@endif>
</td>
</tr>
@endforeach
</tbody>
</table>
<div class="aiz-pagination">
{{ $lang_keys->appends(request()->input())->links() }}
</div>
<div class="form-group mb-0 text-right">
<button type="button" class="btn btn-primary" onclick="copyTranslation()">{{ translate('Copy Translations') }}</button>
<button type="submit" class="btn btn-primary">{{translate('Save')}}</button>
</div>
</div>
</form>
</div>
@endsection
@section('script')
<script type="text/javascript">
//translate in one click
function copyTranslation() {
$('#tranlation-table > tbody > tr').each(function (index, tr) {
$(tr).find('.value').val($(tr).find('.key').text());
});
}
function sort_keys(el){
$('#sort_keys').submit();
}
</script>
@endsection

View File

@@ -0,0 +1,59 @@
@extends('backend.layouts.app')
@section('content')
<div class="row">
<div class="col-lg-6 mx-auto">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{translate('Language Information')}}</h5>
</div>
<div class="card-body">
<form class="form-horizontal" action="{{ route('languages.store') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="form-group row">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('Name') }}</label>
</div>
<div class="col-lg-9">
<input type="text" class="form-control" name="name" placeholder="{{ translate('Name') }}" required>
</div>
</div>
<div class="form-group row">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('Code') }}</label>
</div>
<div class="col-lg-9">
@php
$languagesArray = \App\Models\Language::pluck('code')->toarray();
@endphp
<select class="form-control aiz-selectpicker mb-2 mb-md-0" name="code" data-live-search="true" >
@foreach(\File::files(base_path('public/assets/img/flags')) as $path)
@if(!in_array(pathinfo($path)['filename'],$languagesArray))
<option value="{{ pathinfo($path)['filename'] }}" data-content="<div class=''><img src='{{ static_asset('assets/img/flags/'.pathinfo($path)['filename'].'.png') }}' class='mr-2'><span>{{ strtoupper(pathinfo($path)['filename']) }}</span></div>"></option>
@endif
@endforeach
</select>
</div>
</div>
<div class="form-group row">
<div class="col-lg-3">
<label class="control-label">{{ translate('Flutter App Lang Code') }}</label>
<code><a target="_blank" href="https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">{{ translate("Links for ISO 639-1 codes")}}</a></code>
</div>
<div class="col-lg-9">
<input type="text" class="form-control" name="app_lang_code" placeholder="{{ translate('Put ISO 639-1 code for your language') }}" required>
</div>
</div>
<div class="form-group mb-0 text-right">
<button type="submit" class="btn btn-sm btn-primary">{{translate('Save')}}</button>
</div>
</form>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,68 @@
@extends('backend.layouts.app')
@section('content')
<div class="aiz-titlebar text-left mt-2 mb-3">
<h5 class="mb-0 h6">{{translate('Language Information')}}</h5>
</div>
<div class="row">
<div class="col-lg-6 mx-auto">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{translate('update Language Info')}}</h5>
</div>
<div class="card-body p-0">
<form class="p-4" action="{{ route('languages.update', $language->id) }}" method="POST">
@csrf
<div class="form-group row">
<div class="col-lg-3">
<label class="control-label">{{ translate('Name') }}</label>
</div>
<div class="col-lg-9">
<input type="text" class="form-control" name="name" placeholder="{{ translate('Name') }}" value="{{ $language->name }}" required>
</div>
</div>
<div class="form-group row">
<div class="col-lg-3">
<label class="control-label">{{ translate('Code') }}</label>
</div>
<div class="col-lg-9">
@php
$languagesArray = \App\Models\Language::pluck('code')->toarray();
if (($key = array_search($language->code, $languagesArray)) !== false) {
unset($languagesArray[$key]);
}
@endphp
<select class="form-control aiz-selectpicker mb-2 mb-md-0" name="code" data-live-search="true" >
@foreach(\File::files(base_path('public/assets/img/flags')) as $path)
@if(!in_array(pathinfo($path)['filename'],$languagesArray))
<option
value="{{ pathinfo($path)['filename'] }}"
@if($language->code == pathinfo($path)['filename']) selected @endif data-content="<div class=''><img src='{{ static_asset('assets/img/flags/'.pathinfo($path)['filename'].'.png') }}' class='mr-2'><span>{{ strtoupper(pathinfo($path)['filename']) }}</span></div>"
>
</option>
@endif
@endforeach
</select>
</div>
</div>
<div class="form-group row">
<div class="col-lg-3">
<label class="control-label">{{ translate('Flutter App Lang Code') }}</label>
<code><a target="_blank" href="https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes">{{ translate("Links for ISO 639-1 codes")}}</a></code>
</div>
<div class="col-lg-9">
<input type="text" class="form-control" name="app_lang_code" placeholder="{{ translate('Put ISO 639-1 code for your language') }}" value="{{ $language->app_lang_code }}" required>
</div>
</div>
<div class="form-group mb-0 text-right">
<button type="submit" class="btn btn-sm btn-primary">{{translate('Save')}}</button>
</div>
</form>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,189 @@
@extends('backend.layouts.app')
@section('content')
<div class="row">
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{ translate('Default Language') }}</h5>
</div>
<div class="card-body">
<form class="form-horizontal" action="{{ route('env_key_update.update') }}" method="POST">
@csrf
<div class="form-group row">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('Default Language') }}</label>
</div>
<input type="hidden" name="types[]" value="DEFAULT_LANGUAGE">
<div class="col-lg-6">
<select class="form-control aiz-selectpicker" name="DEFAULT_LANGUAGE" data-selected="{{ env('DEFAULT_LANGUAGE') }}">
@foreach (\App\Models\Language::where('status', 1)->get() as $key => $language)
<option value="{{ $language->code }}" @if(env('DEFAULT_LANGUAGE') == $language->code) selected @endif>
{{ $language->name }}
</option>
@endforeach
</select>
</div>
<div class="col-lg-3">
<button type="submit" class="btn btn-info">{{translate('Save')}}</button>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="col-lg-6">
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{ translate('Import App Translations') }}</h5>
</div>
<div class="card-body">
<form class="form-horizontal" action="{{ route('app-translations.import') }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="form-group row">
<div class="col-lg-3">
<label class="col-from-label">{{ translate('English Trasnlation File') }}</label>
</div>
<div class="col-lg-6">
<div class="custom-file">
<label class="custom-file-label">
<input type="file" id="lang_file" name="lang_file" class="custom-file-input" required>
<span class="custom-file-name">{{ translate('Choose app_en.arb file') }}</span>
</label>
</div>
</div>
<div class="col-lg-3">
<button type="submit" class="btn btn-info">{{translate('Import')}}</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="aiz-titlebar text-left mt-2 mb-3">
<div class="align-items-center">
<div class="text-md-right">
<a href="{{ route('languages.create') }}" class="btn btn-circle btn-info">
<span>{{translate('Add New Language')}}</span>
</a>
</div>
</div>
</div>
<div class="card">
<div class="card-header">
<h5 class="mb-0 h6">{{translate('Language')}}</h5>
</div>
<div class="card-body">
<table class="table aiz-table mb-0">
<thead>
<tr>
<th data-breakpoints="lg">#</th>
<th>{{translate('Name')}}</th>
<th data-breakpoints="lg">{{translate('Code')}}</th>
<th data-breakpoints="lg">{{translate('Flutter App Lang Code')}}</th>
<th data-breakpoints="lg">{{translate('RTL')}}</th>
<th>{{translate('Status')}}</th>
<th class="text-right" width="15%">{{translate('Options')}}</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($languages as $key => $language)
<tr>
<td>{{ ($key+1) + ($languages->currentPage() - 1)*$languages->perPage() }}</td>
<td>{{ $language->name }}</td>
<td>{{ $language->code }}</td>
<td>{{ $language->app_lang_code }}</td>
<td><label class="aiz-switch aiz-switch-success mb-0">
<input onchange="update_rtl_status(this)" value="{{ $language->id }}" type="checkbox" @if($language->rtl == 1) checked @endif>
<span class="slider round"></span></label>
</td>
<td><label class="aiz-switch aiz-switch-success mb-0">
<input onchange="update_status(this)" value="{{ $language->id }}" type="checkbox" @if($language->status == 1) checked @endif>
<span class="slider round"></span></label>
</td>
<td class="text-right">
<a class="btn btn-soft-info btn-icon btn-circle btn-sm" href="{{route('languages.show', $language->id)}}" title="{{ translate('Translation') }}">
<i class="las la-language"></i>
</a>
<a class="btn btn-soft-warning btn-icon btn-circle btn-sm" href="{{route('app-translations.show', $language->id)}}" title="{{ translate('App Translation') }}">
<i class="las la-language"></i>
</a>
<a class="btn btn-soft-success btn-icon btn-circle btn-sm" href="{{route('app-translations.export', $language->id)}}" title="{{ translate('arb File Export') }}" download>
<i class="las la-download"></i>
</a>
<a class="btn btn-soft-primary btn-icon btn-circle btn-sm" href="{{route('languages.edit', $language->id)}}" title="{{ translate('Edit') }}">
<i class="las la-edit"></i>
</a>
@if($language->code != 'en')
<a href="#" class="btn btn-soft-danger btn-icon btn-circle btn-sm confirm-delete" data-href="{{route('languages.destroy', $language->id)}}" title="{{ translate('Delete') }}">
<i class="las la-trash"></i>
</a>
@endif
</td>
</tr>
@php
$i++;
@endphp
@endforeach
</tbody>
</table>
<div class="aiz-pagination">
{{ $languages->appends(request()->input())->links() }}
</div>
</div>
</div>
@endsection
@section('modal')
@include('modals.delete_modal')
@endsection
@section('script')
<script type="text/javascript">
function update_rtl_status(el){
if(el.checked){
var status = 1;
}
else{
var status = 0;
}
$.post('{{ route('languages.update_rtl_status') }}', {_token:'{{ csrf_token() }}', id:el.value, status:status}, function(data){
if(data == 1){
location.reload();
}
else{
AIZ.plugins.notify('danger', '{{ translate('Something went wrong') }}');
}
});
}
function update_status(el){
if(el.checked){
var status = 1;
}
else{
var status = 0;
}
$.post('{{ route('languages.update-status') }}', {
_token : '{{ csrf_token() }}',
id : el.value,
status : status
}, function(data) {
if(data == 1) {
location.reload();
}
else {
AIZ.plugins.notify('danger', '{{ translate('Something went wrong') }}');
}
});
}
</script>
@endsection

View File

@@ -0,0 +1,71 @@
@extends('backend.layouts.app')
@section('content')
<div class="card">
<div class="card-header row gutters-5">
<div class="col text-center text-md-left">
<h5 class="mb-md-0 h6">{{ $language->name }}</h5>
</div>
<div class="col-md-4">
<form class="" id="sort_keys" action="" method="GET">
<div class="input-group input-group-sm">
<input type="text" class="form-control" id="search" name="search"@isset($sort_search) value="{{ $sort_search }}" @endisset placeholder="{{ translate('Type key & Enter') }}">
</div>
</form>
</div>
</div>
<form class="form-horizontal" action="{{ route('languages.key_value_store') }}" method="POST">
@csrf
<input type="hidden" name="id" value="{{ $language->id }}">
<div class="card-body">
<table class="table table-striped table-bordered demo-dt-basic" id="tranlation-table" cellspacing="0" width="100%">
<thead>
<tr>
<th>#</th>
<th width="45%">{{translate('Key')}}</th>
<th width="45%">{{translate('Value')}}</th>
</tr>
</thead>
<tbody>
@foreach ($lang_keys as $key => $translation)
<tr>
<td>{{ ($key+1) + ($lang_keys->currentPage() - 1)*$lang_keys->perPage() }}</td>
<td class="key">{{ $translation->lang_value }}</td>
<td>
<input type="text" class="form-control value" style="width:100%" name="values[{{ $translation->lang_key }}]" @if (($traslate_lang = \App\Models\Translation::where('lang', $language->code)->where('lang_key', $translation->lang_key)->latest()->first()) != null)
value="{{ $traslate_lang->lang_value }}"
@endif>
</td>
</tr>
@endforeach
</tbody>
</table>
<div class="aiz-pagination">
{{ $lang_keys->appends(request()->input())->links() }}
</div>
<div class="form-group mb-0 text-right">
<button type="button" class="btn btn-primary" onclick="copyTranslation()">{{ translate('Copy Translations') }}</button>
<button type="submit" class="btn btn-primary">{{translate('Save')}}</button>
</div>
</div>
</form>
</div>
@endsection
@section('script')
<script type="text/javascript">
//translate in one click
function copyTranslation() {
$('#tranlation-table > tbody > tr').each(function (index, tr) {
$(tr).find('.value').val($(tr).find('.key').text());
});
}
function sort_keys(el){
$('#sort_keys').submit();
}
</script>
@endsection