change current_language_code to locale

This commit is contained in:
Edward Yang 2022-08-03 17:23:26 +08:00
parent 01f1822c27
commit 7e99c1821c
11 changed files with 19 additions and 28 deletions

View File

@ -4,6 +4,7 @@ use Beike\Models\Customer;
use Beike\Models\Language;
use Beike\Models\AdminUser;
use Illuminate\Support\Str;
use Illuminate\Support\Collection;
use Beike\Services\CurrencyService;
use Beike\Repositories\LanguageRepo;
use TorMorten\Eventy\Facades\Eventy;
@ -189,7 +190,7 @@ function locales(): array
*/
function locale(): string
{
return 'zh_cn';
return Session::get('locale') ?? system_setting('base.locale');
}
/**
@ -241,9 +242,9 @@ function image_origin($image)
/**
* 获取当前所有语言列表
*
* @return \Illuminate\Support\Collection
* @return Collection
*/
function languages()
function languages(): Collection
{
return LanguageRepo::enabled()->pluck('code');
}
@ -258,16 +259,6 @@ function current_language_id(): int
return 1;
}
/**
* 当前语言code
*
* @return string
*/
function current_language_code(): string
{
return Session::get('locale') ?? system_setting('base.locale');
}
/**
* 当前语言
*
@ -275,7 +266,7 @@ function current_language_code(): string
*/
function current_language(): string
{
$code = current_language_code();
$code = locale();
return Language::query()->where('code', $code)->first()->name;
}

View File

@ -83,7 +83,7 @@ class DesignService
$content['brands'] = [];
$content['title'] = $content['title'][current_language_code()];
$content['title'] = $content['title'][locale()];
return $content;
}
@ -122,14 +122,14 @@ class DesignService
}
foreach ($tabs as $index => $tab) {
$tabs[$index]['title'] = $tab['title'][current_language_code()];
$tabs[$index]['title'] = $tab['title'][locale()];
$productsIds = $tab['products'];
if ($productsIds) {
$tabs[$index]['products'] = ProductRepo::getProductsByIds($productsIds);
}
}
$content['tabs'] = $tabs;
$content['title'] = $content['title'][current_language_code()];
$content['title'] = $content['title'][locale()];
return $content;
}
@ -145,7 +145,7 @@ class DesignService
}
foreach ($images as $index => $image) {
$imagePath = 'catalog/' . ($image['image'][current_language_code()] ?? '');
$imagePath = 'catalog/' . ($image['image'][locale()] ?? '');
$images[$index]['image'] = image_origin($imagePath);
$link = $image['link'];

View File

@ -49,7 +49,7 @@ class ProductDetail extends JsonResource
*/
private function decodeVariables($variables): array
{
$lang = current_language_code();
$lang = locale();
if (empty($variables)) {
return [];
}

View File

@ -6,7 +6,7 @@
<base href="{{ $admin_base_url }}">
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name="asset" content="{{ asset('/') }}">
<meta name="editor_language" content="{{ current_language_code() }}">
<meta name="editor_language" content="{{ locale() }}">
<script src="{{ asset('vendor/vue/2.6.12/vue.js') }}"></script>
<script src="{{ asset('vendor/element-ui/2.6.2/js.js') }}"></script>
<script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script>

View File

@ -1,6 +1,6 @@
<template id="pb-image-selector">
<div class="pb-image-selector">
<el-tabs v-if="isLanguage" @tab-click="tabClick" value="language-{{ current_language_code() }}" :stretch="languages.length > 5 ? true : false" type="card" :class="languages.length <= 1 ? 'languages-a' : ''">
<el-tabs v-if="isLanguage" @tab-click="tabClick" value="language-{{ locale() }}" :stretch="languages.length > 5 ? true : false" type="card" :class="languages.length <= 1 ? 'languages-a' : ''">
<el-tab-pane v-for="(item, index) in languages" :key="index" :label="item.name" :name="'language-' + item.code">
<span slot="label" style="padding: 0 4px; font-size: 12px">@{{ item.name }}</span>
@ -199,4 +199,4 @@
max-width: 100%;
height: auto;
}
</style>
</style>

View File

@ -1,6 +1,6 @@
<template id="text-i18n-template">
<div class="text-i18n-template">
<el-tabs v-if="languages.length > 1" value="language-{{ current_language_code() }}" :stretch="languages.length > 5 ? true : false" type="card">
<el-tabs v-if="languages.length > 1" value="language-{{ locale() }}" :stretch="languages.length > 5 ? true : false" type="card">
<el-tab-pane v-for="(item, index) in languages" :key="index" :label="item.name" :name="'language-' + item.code">
<span slot="label" style="padding: 0 8px; font-size: 12px">@{{ item.name }}</span>

View File

@ -67,7 +67,7 @@
<script>
var $languages = @json($languages);
var $language_id = '{{ current_language_code() }}';
var $language_id = '{{ locale() }}';
function languagesFill(text) {
var obj = {};

View File

@ -7,7 +7,7 @@
<div class="selector-head" @click="itemShow(index)">
<div class="left">
<img :src="thumbnail(item.image['{{ current_language_code() }}'], 40, 40)" class="img-responsive">
<img :src="thumbnail(item.image['{{ locale() }}'], 40, 40)" class="img-responsive">
</div>
<div class="right"><i :class="'el-icon-arrow-'+(item.show ? 'up' : 'down')"></i></div>

View File

@ -21,7 +21,7 @@
<i class="el-icon-rank"></i>
</el-tooltip>
<img :src="thumbnail(item.image['{{ current_language_code() }}'], 40, 40)" class="img-responsive">
<img :src="thumbnail(item.image['{{ locale() }}'], 40, 40)" class="img-responsive">
</div>
<div class="right">

View File

@ -103,7 +103,7 @@ Vue.component('module-editor-tab-product', {
methods: {
tabTitleLanguage(titles) {
return titles['{{ current_language_code() }}'];
return titles['{{ locale() }}'];
},
tabsValueProductData() {

View File

@ -271,7 +271,7 @@
var app = new Vue({
el: '#app',
data: {
current_language_code: '{{ current_language_code() }}',
current_language_code: '{{ locale() }}',
isMove: false,
form: {
images: @json($product->images ?? []),