КПК

Прагляд поўнай версіі: Вырашанае Строгія стандарты на PHP: павінен перадавацца па спасылцы, толькі зменныя



ctrenks
30-05-18, 17:09
Памылка пасля абнаўлення VB, каб 4.2.5 то апошні Рэліз ад vbet..

Строгія стандарты на PHP: варта толькі зменныя перадаюцца па спасылцы ў /xxxx/includes/vbenterprisetranslator_class_translator.php па радку 410

ctrenks
02-06-18, 21:02
Любыя думкі на гэтую памылку, яе зноў з'яўляцца, але не часта?

vBET
04-06-18, 12:11
Мы будзем расследаваць яго і накіраваць вам адказ у бліжэйшы час.

vBET
04-06-18, 12:25
Хуткае рашэнне для Вашай праблемы:
1. Адкрыць файл includes/vbenterprisetranslator_class_translator.php
2. Знайсці

public function translateTextToDivide(&$toTranslate, $serie) {
3. Выдаліць з радка сімвал '&амп;'
4. Ідзіце на 2 (кожны перакладчык мае сваю ўласную версію гэтай функцыі, так што вы павінны выдаліць знак у некалькіх месцах)

Нейкае тлумачэнне - знак '&амп;' дазваляе перадаць каштоўнасць, не капіюючы яго, каб ён быў дададзены з меркаванняў прадукцыйнасці.
З якой версіі PHP на мову сіл, каб прайсці там толькі зменныя (не значэнняў граф спецыяльнай, калі функцыя выклікаецца). Гэта вельмі нязручна, таму што трэба мяняць код у многіх месцах і ствараць часовыя зменныя толькі для выкліку функцыі, але гэта, як яна працуе цяпер, таму мы павінны абнавіць наш код.
Мы далі вам хутка выправіць. Мы будзем правяраць, як выкарыстоўваецца функцыя і вырашыць, што лепш выдаліць '&амп;' або ствараць часовыя зменныя ў некаторых месцах.

ctrenks
04-06-18, 18:44
Дзякуй, але калі прадукцыйнасць з'яўляецца праблемай, я дазволю памылку, як яе вельмі маленькі з'явай, але дзякуй за тлумачэнне.

vBET
15-06-18, 22:25
Рашэнне без выканання пакаранняў будуць уключаны ў новы рэліз. Для хуткага рашэння, калі ласка:
1. Адкрыць файл includes/vbenterprisetranslator_class_translator.php
2. Пошук па сайце:

return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this)
.$this->translateTextToDivide(substr($toTranslate, $point), $serie);
3. Замяніць на:

$rest = substr($toTranslate, $point);
return vbet_translateEncodedText(substr($toTranslate, 0, $point), $this->from, $this->to, $serie, $this)
.$this->translateTextToDivide($rest, $serie);
4. Перайсці да 2 (некалькі перакладчыкаў ёсць гэты код)

Automatic Translations (Powered by Google, Microsoft®, Yandex, SDL Language Cloud, IBM Watson and Apertium):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Translations supported by vB Enterprise Translator 4.10.1