Skip to content

Commit 32f783f

Browse files
committed
fixed some translate bugs
1 parent e71a488 commit 32f783f

File tree

14 files changed

+119
-88
lines changed

14 files changed

+119
-88
lines changed

app/Helpers/Helper.php

+26-13
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ function getSetting($key)
2828
$a = new \stdClass();
2929
return '';
3030
}
31+
if (config('app.xlang') && ($x->type == 'cat' || $x->type == 'category')) {
32+
$defLang = config('app.xlang_main');
33+
return $x->getTranslations('value')[$defLang];
34+
}
3135
return $x->value;
3236
}
3337

@@ -38,12 +42,8 @@ function getSetting($key)
3842
*/
3943
function getSettingCategory($key)
4044
{
41-
$x = Setting::where('key', $key)->first();
42-
if ($x == null) {
43-
$a = new \stdClass();
44-
return '';
45-
}
46-
return Category::where('id', $x->value)->first();
45+
$x = getSetting($key);
46+
return Category::where('id', $x)->first();
4747
}
4848

4949
/***
@@ -53,12 +53,8 @@ function getSettingCategory($key)
5353
*/
5454
function getSettingCat($key)
5555
{
56-
$x = Setting::where('key', $key)->first();
57-
if ($x == null) {
58-
$a = new \stdClass();
59-
return '';
60-
}
61-
return Cat::where('id', $x->value)->first();
56+
$x = getSetting($key);
57+
return Cat::where('id', $x)->first();
6258
}
6359

6460
/***
@@ -920,8 +916,25 @@ function showMenuMange2($arr)
920916
function xroute($rt, $args = [])
921917
{
922918
if (config('app.xlang_main') != app()->getLocale()) {
923-
return \route( $rt, $args);
919+
return \route($rt, $args);
924920
} else {
925921
return \route($rt, $args);
926922
}
927923
}
924+
925+
926+
function digitsToLatin($number)
927+
{
928+
if ($number == null) {
929+
return null;
930+
}
931+
$latin = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
932+
$persian = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
933+
$arabic = ['٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩'];
934+
$persian2 = ['\\u06f0', '\\u06f1', '\\u06f2', '\\u06f3', '\\u06f4', '\\u06f5', '\\u06f6', '\\u06f7', '\\u06f8', '\\u06f9'];
935+
$arabic2 = ['\\u0660', '\\u0661', '\\u0662', '\\u0663', '\\u0664', '\\u0665', '\\u0666', '\\u0667', '\\u0668', '\\u0669'];
936+
$number = str_replace($persian, $latin, $number);
937+
$number = str_replace($persian2, $latin, $number);
938+
$number = str_replace($arabic2, $latin, $number);
939+
return str_replace($arabic, $latin, $number);
940+
}

composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"psr/log": "v2.*",
3535
"symfony/dom-crawler": "^6.2",
3636
"symfony/psr-http-message-bridge": "^7.0",
37-
"xmen/starter-kit": "^v3.2.5"
37+
"xmen/starter-kit": "^v3.2.6"
3838
},
3939
"require-dev": {
4040
"barryvdh/laravel-ide-helper": "^2.12",

composer.lock

+7-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/translator.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
use Translator\Infra\LaravelJsonTranslationRepository;
55

66
return [
7-
'languages' => ["fa","ru"],
7+
'languages' => ["fa","ru","ar"],
88
'directories' => [
99
app_path(),
1010
resource_path('views'),

public/js/theme.js

+3-3
Large diffs are not rendered by default.

resources/js/components/MetaSearch.vue

+22-26
Original file line numberDiff line numberDiff line change
@@ -50,27 +50,23 @@
5050
<input type="hidden" name="to" v-model="state.range[1]">
5151
</div>
5252
<div v-for="d in elms" :class="cls" v-if="d.searchable">
53-
<div v-if="d.type === 'text'">
54-
<label :for="d.name">
55-
{{ d.label }}
53+
<template v-if="d.type !== 'checkbox'">
54+
<label :for="d.name" >
55+
{{ makeLabel(d.label) }}
5656
</label>
57+
</template>
58+
<div v-if="d.type === 'text'">
59+
5760
<input v-model="defaults[d.name]" type="text" :id="d.name" :name="'meta['+d.name+']'"
5861
class="form-control">
5962
</div>
6063
<div v-else-if="d.type === 'number'">
61-
<label :for="d.name">
62-
{{ d.label }}
63-
<!-- "{{defaults[d.name]}}"-->
64-
</label>
65-
<input type="number" v-model="defaults[d.name]" :placeholder="d.label" :id="d.name"
64+
<input type="number" v-model="defaults[d.name]" :placeholder="makeLabel(d.label)" :id="d.name"
6665
:name="'meta['+d.name+']'" class="form-control">
6766
</div>
6867
<div v-else-if="d.type === 'color'" :id="d.name" :name="'meta['+d.name+']'">
69-
<label :for="d.name">
70-
{{ d.label }}
71-
</label>
7268
<select v-model="defaults[d.name]" :name="'meta['+d.name+']'" :id="d.name" class="form-control">
73-
<option value=""> {{ d.label }}</option>
69+
<option value=""> {{ makeLabel(d.label) }}</option>
7470
<option :style="'background-color:' + o.value " :value="o.value" v-for="o in d.options">
7571
{{ o.title }}
7672
</option>
@@ -82,35 +78,28 @@
8278
<input :name="'meta['+d.name+']'" v-model="defaults[d.name]" type="checkbox">
8379
<div class="slider round"></div>
8480
</label>
85-
{{ d.label }}
81+
<span >
82+
83+
</span>
84+
{{ makeLabel(d.label) }}
8685

8786

8887
</div>
8988
<div v-else-if="d.type === 'select'">
90-
<label :for="d.name">
91-
{{ d.label }}
92-
</label>
9389
<select v-model="defaults[d.name]" :name="'meta['+d.name+']'" :id="d.name" class="form-control">
9490
<option value=""> {{ t.all }}</option>
9591
<option :value="o.value" v-for="o in d.options"> {{ o.title }}</option>
9692
</select>
9793
</div>
9894
<div v-else-if="d.type === 'multi'">
99-
<label :for="d.name">
100-
{{ d.label }}
101-
</label>
102-
10395
<multiselect :multiple="true" :taggable="true" label="title" v-model="defaults[d.name]"
104-
:placeholder="d.label" :options="d.options"></multiselect>
96+
:placeholder="makeLabel(d.label)" :options="d.options"></multiselect>
10597
<input :id="d.label" type="hidden" :name="'meta['+d.name+']'" :value="makeVal(defaults[d.name])">
10698
</div>
10799
<div v-else-if="d.type === 'singlemulti'">
108-
<label :for="d.name">
109-
{{ d.label }}
110-
</label>
111100
<multiselect @remove="rem(d.name,$event)" @select="upd(d.name,defaults[d.name])"
112101
v-model="defaults[d.name]" :multiple="true" :taggable="true" label="title"
113-
:placeholder="d.label" :options="d.options"></multiselect>
102+
:placeholder="makeLabel(d.label)" :options="d.options"></multiselect>
114103
<input type="hidden" :name="'meta['+d.name+']'" :value="makeVal(defaults[d.name])">
115104
</div>
116105
</div>
@@ -177,7 +166,7 @@ export default {
177166
state: {range: [parseInt(this.minm), parseInt(this.maxm)], number: 1000}
178167
}
179168
},
180-
props: ['jdata', 'searchable', 'defz', 'cls', 'minm', 'maxm'],
169+
props: ['jdata', 'searchable', 'defz', 'cls', 'minm', 'maxm','langg'],
181170
mounted() {
182171
this.updateJdata(this.jdata, this.defz);
183172
if (getParameterByName('to') !== null) {
@@ -196,6 +185,13 @@ export default {
196185
197186
},
198187
methods: {
188+
makeLabel(lbl){
189+
if ( typeof lbl == 'object'){
190+
return lbl[this.langg];
191+
}else{
192+
return lbl;
193+
}
194+
},
199195
apply: function () {
200196
this.$refs.filter.submit();
201197
},

resources/lang/fa.json

+13-10
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626
":app Dear customer Your :product signed for you.": ":app\nکاربر گرامی محصول «:product» برای شما ثبت شد.",
2727
"A fresh verification link has been sent to your email address.": "یک لینک تاییده برای شما ایمیل شد",
2828
"ACL": "سطح دسترسی",
29-
"AI translate form original source": "",
29+
"AI translate form original source": "ترجمه از منبع اصلی با هوش مصنوعی",
3030
"ANSWERED": "پاسخ‌ داده شده",
31-
"API error!": "",
31+
"API error!": "خطای API",
3232
"Action": "عملیات",
3333
"Actions": "عملیات",
3434
"Active": "فعال",
@@ -84,6 +84,7 @@
8484
"COMPLETED": "تکمیل شده",
8585
"Call us!": "تماس بگیرید!",
8686
"Canceled": "لغو شده",
87+
"Card": "سبد خرید",
8788
"Card cleared": "کارت خالی شد",
8889
"Cat": "دسته محصول",
8990
"Catalog": "کاتالوگ",
@@ -155,7 +156,7 @@
155156
"Deactivate": "غیرفعال",
156157
"Deactive": "غیرفعال",
157158
"Dear customer, Please complete your information": "مشتری عزیز، لطفا اطلاعات خود را تکمیل کنید",
158-
"Default": "",
159+
"Default": "پیش‌فرض",
159160
"Delete": "حذف",
160161
"Description": "توضیحات",
161162
"Description Text": "توضیحات کامل",
@@ -176,6 +177,7 @@
176177
"Draft now": "پیش‌نویس کن",
177178
"Drafted": "پیش‌نویس شده",
178179
"E-Mail Address": "رایانامه\/ایمیل",
180+
"E-mail": "رایانامه",
179181
"Edit": "ویرایش",
180182
"Edit Discount": "ویرایش تخفیف",
181183
"Edit Menu": "ویرایش منو",
@@ -265,7 +267,7 @@
265267
"Lang": "زبان",
266268
"Language list": "فهرست زبان‌ها",
267269
"Languages": "زبان‌ها",
268-
"Languages translate": "",
270+
"Languages translate": "ترجمه زبان‌ها",
269271
"Last update": "آخرین به‌روز‌رسانی",
270272
"Last video": "واپسین فیلم",
271273
"Leave your comment": "ارسال دیدگاه",
@@ -278,7 +280,7 @@
278280
"Magazine": "مجله",
279281
"Main address": "آدرس اصلی",
280282
"Main category": "سرفصل اصلی",
281-
"Main language content": "",
283+
"Main language content": "محتوای زبان اصلی سایت",
282284
"Main product category": "دسته اصلی محصول",
283285
"Manage": "مدیریت",
284286
"Max click": "حداکثر تعداد کلیک",
@@ -289,7 +291,7 @@
289291
"Message": "پیام",
290292
"Metas and publish": "ویژگی ها و انتشار",
291293
"Mobile": "موبایل",
292-
"Model": "",
294+
"Model": "مدل",
293295
"Monday": "دوشنبه",
294296
"Multi level select type": "نوع چند مرحله ای",
295297
"Multi select type": "نوع انتخالی چند گانه",
@@ -350,7 +352,7 @@
350352
"Payment Type": "نحوه پرداخت",
351353
"Payment error": "خطا در پرداخت",
352354
"Payment price:": "مبلغ قابل پرداخت",
353-
"Pediatric dental clips": " ",
355+
"Pediatric dental clips": "",
354356
"Pending": "در انتظار",
355357
"Phone": "تلفن‌تماس",
356358
"Pictures": "تصاویر",
@@ -446,6 +448,7 @@
446448
"Save sort": "ذخیره مرتب شده",
447449
"Search": "جستجو",
448450
"Search for": "جستجو برای",
451+
"Search for ...": "جستجو برای ...",
449452
"Search for:": "جستجو برای:",
450453
"Search in all panel": "جستجو در کل پنل",
451454
"Searchable": "قابل جستجو",
@@ -513,10 +516,10 @@
513516
"Total amount": "مقدار کل",
514517
"Tracking code": "کد رهگیری",
515518
"Translate": "ترجمان",
516-
"Translate model": "",
519+
"Translate model": "ترجمه موجودیت",
517520
"Translate updated": "ترجمه به روز شد",
518521
"Translate with AI": "ترجمه با کمک هوش مصنوعی",
519-
"Translated by ai xstack service:": "",
522+
"Translated by ai xstack service:": "ترجمه توسط سرویس اکس استک",
520523
"Translates": "ترجمان",
521524
"Transport": "روش ارسال",
522525
"Transport method": "شیوه ارسال",
@@ -540,7 +543,7 @@
540543
"Username": "نام کاربری",
541544
"Users": "کاربران",
542545
"Users list": "فهرست کاربران",
543-
"Value": "",
546+
"Value": "مقدار",
544547
"Verify Your Email Address": "تایید رایانامه یا ایمیل خود",
545548
"Video clip": "ویدئو کلیپ",
546549
"Video clips": "کلیپ ها",

resources/lang/ru.json

+6
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
"CLOSED": "ЗАКРЫТО",
5252
"Call us!": "Позвоните нам!",
5353
"Canceled": "Отменено",
54+
"Card": "",
5455
"Card cleared": "Карта очищена",
5556
"Cat": "",
5657
"Catalog": "Каталог",
@@ -129,6 +130,7 @@
129130
"Draft now": "Создать черновик",
130131
"Drafted": "Создан черновик",
131132
"E-Mail Address": "Адрес электронной почты",
133+
"E-mail": "",
132134
"Edit": "Редактировать",
133135
"Edit Discount": "Редактировать скидку",
134136
"Edit Menu": "Редактировать меню",
@@ -222,6 +224,7 @@
222224
"Menus": "«Меню»",
223225
"Menus list": "«Список меню»",
224226
"Menus preview": "«Предварительный просмотр меню»",
227+
"Message": "",
225228
"Metas and publish": "«Метаинформация и публикация»",
226229
"Mobile": "«Мобильный»",
227230
"Model": "",
@@ -353,6 +356,7 @@
353356
"Save sort": "«Сохранить сортировку»",
354357
"Search": "Поиск",
355358
"Search for": "Искать",
359+
"Search for ...": "",
356360
"Search in all panel": "«Поиск по всей панели»",
357361
"Searchable": "Доступно для поиска",
358362
"Section": "Раздел",
@@ -361,10 +365,12 @@
361365
"Send Answer": "«Отправить ответ»",
362366
"Send Answer and close": "«Отправить ответ и закрыть»",
363367
"Send Password Reset Link": "«Отправить ссылку для сброса пароля»",
368+
"Send comment": "",
364369
"Send new ticket": "«Отправить новый билет»",
365370
"Setting": "Параметр",
366371
"Setting added to website": "«Настройка добавлена на сайт»",
367372
"Setting of website updated": "«Настройки сайта обновлены»",
373+
"Shopping Card": "",
368374
"Shopping card": "«Покупательная карточка»",
369375
"Short text": "«Короткий текст»",
370376
"Show": "Показывать",

0 commit comments

Comments
 (0)