作者 李宇航

合并分支 'master-lyh-edit' 到 'master'

gx



查看合并请求 !606
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
2 2
3 namespace App\Console\Commands\Project; 3 namespace App\Console\Commands\Project;
4 4
  5 +use App\Helper\Translate;
5 use App\Models\Com\NoticeLog; 6 use App\Models\Com\NoticeLog;
6 use App\Models\Product\Keyword; 7 use App\Models\Product\Keyword;
7 use App\Models\RouteMap\RouteMap; 8 use App\Models\RouteMap\RouteMap;
@@ -80,6 +81,9 @@ class InitKeyword extends Command @@ -80,6 +81,9 @@ class InitKeyword extends Command
80 foreach ($keyword as $val) { 81 foreach ($keyword as $val) {
81 $this->output(' keywordID: ' . $val->id . ', title: ' . $val->title); 82 $this->output(' keywordID: ' . $val->id . ', title: ' . $val->title);
82 try { 83 try {
  84 + if(contains_russian($val['title'])){
  85 + $val['title'] = Translate::tran($val['title'], 'en');
  86 + }
83 $route = RouteMap::setRoute($val['title'],RouteMap::SOURCE_PRODUCT_KEYWORD, $val->id, $notice['data']['project_id']); 87 $route = RouteMap::setRoute($val['title'],RouteMap::SOURCE_PRODUCT_KEYWORD, $val->id, $notice['data']['project_id']);
84 $val->route = $route; 88 $val->route = $route;
85 $val->save(); 89 $val->save();
@@ -145,6 +145,19 @@ if (!function_exists('curl_get')) { @@ -145,6 +145,19 @@ if (!function_exists('curl_get')) {
145 return $is_array ? json_decode($content, true) : $content; 145 return $is_array ? json_decode($content, true) : $content;
146 } 146 }
147 } 147 }
  148 +/**
  149 + * @remark :判断是否为俄语
  150 + * @name :contains_russian
  151 + * @author :lyh
  152 + * @method :post
  153 + * @time :2024/6/5 10:38
  154 + */
  155 +function contains_russian($text) {
  156 + // 正则表达式匹配俄语字符
  157 + $pattern = '/[А-Яа-яЁё]/u';
  158 + // 使用 preg_match 检查字符串是否匹配正则表达式
  159 + return preg_match($pattern, $text);
  160 +}
148 161
149 if (!function_exists('curl_c')) { 162 if (!function_exists('curl_c')) {
150 /** 163 /**
@@ -55,10 +55,11 @@ class RouteMap extends Base @@ -55,10 +55,11 @@ class RouteMap extends Base
55 public static function generateRoute($title, $source, $source_id, $project_id){ 55 public static function generateRoute($title, $source, $source_id, $project_id){
56 if(preg_match('/[\x{4e00}-\x{9fa5}]/u', $title)){ 56 if(preg_match('/[\x{4e00}-\x{9fa5}]/u', $title)){
57 $title = Translate::tran($title, 'en'); 57 $title = Translate::tran($title, 'en');
58 - }elseif(preg_match('/^[\x{0400}-\x{04FF}]+$/u', $title)){ 58 + }else{
  59 + if(contains_russian($title)){
59 $title = Translate::tran($title, 'en'); 60 $title = Translate::tran($title, 'en');
60 } 61 }
61 - 62 + }
62 $i=1; 63 $i=1;
63 $sign = generateRoute($title); 64 $sign = generateRoute($title);
64 $length = strlen($sign); 65 $length = strlen($sign);