From d8ee87bd4091e28b5417631930ef73ffee5f49f2 Mon Sep 17 00:00:00 2001 From: Igor Date: Mon, 17 Aug 2020 07:20:11 +0600 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4=20?= =?UTF-8?q?=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20trt(?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- metadata/dbms/records.php | 16 +++++---- metadata/dbms/tools.js | 66 +++++++++++++++++++++++--------------- metadata/include/tools.php | 65 +++++++++++++++++++++++++++++++++++++ 3 files changed, 116 insertions(+), 31 deletions(-) diff --git a/metadata/dbms/records.php b/metadata/dbms/records.php index 781a8dd..c9f3aff 100644 --- a/metadata/dbms/records.php +++ b/metadata/dbms/records.php @@ -153,6 +153,8 @@ } //Функция для перевода текста без применения GetText + /* + закоментил так как есть в tools.php function trt($text) { global $db,$lng,$Schema; @@ -182,12 +184,13 @@ $result=str_replace("_", " ", $text); } return $result; - } + }*/ //Перевод для строки в которой встречаются подстроки вида: trt('') function parseGT($text) { $result=''; + $pLen=4; //Длина преамбулы trt( $cut=0; $from = 0; // Позиция поиска для итерации while (true) @@ -195,16 +198,17 @@ $pos1 = strpos($text, 'trt(', $from); if($pos1 !== false) { - $from = $pos1+3; + $from = $pos1+$pLen+1; $pos2 = false; - if($text[$pos1+2] == '"') $pos2 = strpos($text, '")', $from); - if($text[$pos1+2] == '\'') $pos2 = strpos($text, '\')', $from); + if($text[$pos1+$pLen] == '"') $pos2 = strpos($text, '")', $from); + if($text[$pos1+$pLen] == '\'') $pos2 = strpos($text, '\')', $from); if($pos2 !== false) { $result.=substr($text, $cut, $pos1 - $cut ); - $result.=trt(substr($text, $pos1+3, $pos2 - $pos1 - 3 )); + $toTranslate=substr($text, $pos1+$pLen+1, $pos2 - $pos1 - $pLen-1 ); + $result.=trt($toTranslate); $cut=$pos2+2; - $from = $pos2 + 2; + $from = $pos2 + $pLen; } }else break; } diff --git a/metadata/dbms/tools.js b/metadata/dbms/tools.js index 82f4947..4da618e 100644 --- a/metadata/dbms/tools.js +++ b/metadata/dbms/tools.js @@ -1,4 +1,24 @@ -//Copyright (C) Ivanov I.M. irigm@mail.ru +/*jshint esversion: 6 */ +"use strict"; + +//Массив g_translations подгружается отдельно +function trt(key) +{ + if(key==null || key===undefined) return ''; + let val=g_translations[key]; + if(val==null || val===undefined) + { + for(let item in g_translations) { + if(item.toLowerCase()==key.toLowerCase()) + { + val=g_translations[item]; + break; + } + } + } + if(val==null || val===undefined) return key.replace(/_/g, ' '); + else return val; +} //Расширить плитку чтобы она занимала всю штртну области function resizeDivTile(parent,minWidth) @@ -529,15 +549,13 @@ function setIframeSrc(iframeNode, src) // браузер хранится в объекте browser function createIFrame(fname, fsrc, parent, debug) { - var ifrstr = BrowserDetect.browser=='Explorer' ? '