PDA

View Full Version: Решени Акценти не показват правилно ...



freddie3218
07-03-11, 16:09
Здравейте.

Аз съм с помощта Еврофутбол 4,08.

Аз използвам vbet главно два езика ... Английски и френски език. Аз, на английски език форум по подразбиране. Въпреки това, всеки път, когато френски потребител, преводът показва правилно на английски език. Въпреки това, на френски акценти не се показват. Вместо това, той показва по този начин:


Dans quelle langue vous allez & #233;crire vos messages. Forum traduira automatiquement vos messages & #224; d'autres utilisateurs langues. En outre, il se traduira par des postes dans d'autres langues & #224; votre langue par d& #233;faut.

Тя трябва да покаже по този начин:


Dans quelle langue vous allez écrire vos messages. Forum traduira automatiquement vos messages à d'autres utilisateurs langues.

Моят форум е настроен да показва и двата езика като ISO-8859-1. Ето защо, аз не съм с UTF-8

Също така, аз следват инструкциите за инсталиране, много тясно.

Единствената промяна, която направих, за да vBet е, че съм променил по подразбиране знамена, с помощта на CSS-Sprite. Въпреки това, аз погледнах кода, и нищо, което направих, трябва да ефект на начина, по който нещата се показват.

Трябва ли да конвертирате ми Гб към UTF-8, за да реши този проблем?

Всеки съвет, който ще бъде оценена. Благодаря. :)

freddie3218
08-03-11, 17:56
Ами .... Увреждания всеки друг плъгин, и аз все още имам същия проблем. Изглежда като буболечка в vbet

kamilkurczak
08-03-11, 19:35
Здравейте, да използвате UTF-8 форума и база данни или не?
Ако не - трябва да има решение за вас. WIL да я подготвим и да пиша тук.

Ако можете, моля паста тук URL на тема с този въпрос.
Благодаря

freddie3218
09-03-11, 00:15
Здравейте, да използвате UTF-8 форума и база данни или не?
Ако не - трябва да има решение за вас. WIL да я подготвим и да пиша тук.

Ако можете, моля паста тук URL на тема с този въпрос.
ThanksNo, аз не използват UTF-8 форума или база данни. Аз използвам ISO-8859-1.

Можете да видите проблема на живо, като прегледате тази тема:

$ 1 Това е тест (http://kokoku.ca/forums/showthread.php?t=418)

Благодаря. :)

freddie3218
10-03-11, 01:05
Някакви новини за това какво го причинява?

kamilkurczak
10-03-11, 10:04
Здравейте,

Аз го тестване на моя тест форум (в UTF) и не мога да го възпроизвеждат, но можете да опитате това решение.
Имам нещо за вас:
1. отворен, направете копие и редактиране на този файл:
форум корен / включва / vbenterprisetranslator_functions_utils.php
2. в тази функция намерите:

function vbet_encodeToSafeUTF8(&$string) {
//TODO how to check does utf-8 is involved? how often this function is used?
// if (! ereg('[\200-\237]', $string) and ! ereg('[\241-\377]', $string))
// if (!preg_match('/[\200-\237]/', $string) and !preg_match('/[\241-\377]/', $string))
// if (!preg_match('/[\200-\237\241-\377]/e', $string))
// return $string;

// decode three byte unicode characters
$string = preg_replace('/([\340-\357])([\200-\277])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-224)*4096 + (ord(\'\\2\')-128)*64 + (ord(\'\\3\')-128)).\';\'',
$string);

//decode two byte unicode characters
$string = preg_replace('/([\300-\337])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-192)*64+(ord(\'\\2\')-128)).\';\'',
$string);

return $string;
}
3. и коментар на всички линии, без да се върнете като тази:

function vbet_encodeToSafeUTF8(&$string) {
//TODO how to check does utf-8 is involved? how often this function is used?
// if (! ereg('[\200-\237]', $string) and ! ereg('[\241-\377]', $string))
// if (!preg_match('/[\200-\237]/', $string) and !preg_match('/[\241-\377]/', $string))
// if (!preg_match('/[\200-\237\241-\377]/e', $string))
// return $string;

// decode three byte unicode characters
// $string = preg_replace('/([\340-\357])([\200-\277])([\200-\277])/e',
// '\'&#\'.((ord(\'\\1\')-224)*4096 + (ord(\'\\2\')-128)*64 + (ord(\'\\3\')-128)).\';\'',
// $string);

//decode two byte unicode characters
//$string = preg_replace('/([\300-\337])([\200-\277])/e',
// '\'&#\'.((ord(\'\\1\')-192)*64+(ord(\'\\2\')-128)).\';\'',
// $string);

return $string;
}
4. спаси и тест!

това би трябвало да работи само за нови постове. всички съществуващи мнения, трябва да редактирате на ръка.
Аз не Shure, че имате ISO форум, но можете да го тествате. Ако не са добри - моля, презаписване на тези промени на стария файл бу

freddie3218
10-03-11, 15:30
Здравейте,

Това беше добър опит. Въпреки това, тя не работи.

Изходът сега показва: "Сеси est ООН тест S'il ву plaà ® T ignorer CE съобщение"

Правилният изход трябва да бъде: "Сеси est ООН тест S'il ву плитка ignorer CE съобщение."

Ето защо, аз се обръща обратно.

Тук е едно нещо, което забелязах:

При публикуване и редактиране, тя не се показва правилно. Въпреки това, ако натиснете бутона на WYSIWYG редактор, за да отиде в "основния режим", тогава той ще се показва правилно в WYSIWYG редактор. Въпреки това, когато се опитвам да го спаси, тя се връща да показваме неправилно отново. Изглежда, че WYSIWYG редактор не е разбор на нещата правилно преди спестяване, когато аз съм с помощта VBET на чужд език, или когато аз съм с помощта на [Lang =] тагове. Въпреки това, ако публикувате чуждестранни фраза, без да използвате таговете [Lang = FR], тогава то ще се показват правилно, когато спестяване. Така че изглежда, че VBET не позволява WYSIWYG редактор, за да се направи разбор правилно преди да запазите ... ако това се прави никакъв смисъл.

kamilkurczak
10-03-11, 23:41
имате този въпрос, когато бихте искали да публикуваме на преведена страница или не? Моля, опишете какво да правя, за да има същите резултати на моя тест форум.

freddie3218
11-03-11, 07:19
имате този въпрос, когато бихте искали да публикуваме на преведена страница или не? моля опишете това, което аз трябва да направя, за да има същите резултати на моя тест forum.I, не знам, ако можете да се възпроизвеждат на вашия форум или не. Все пак, ето какво се случва:

Еврофутбол версия 4.08
Аз имам две езика на моя сайт: английски и френски език. Изключили всички други езици, както и всички други флагове.
Всички английски и френски език е преведена в целия сайт правилно, с правилното акценти. Единственият път, акцентите не се показват правилно, ако някой е с помощта на френски език и мнения на френски език ... като "френски език", избрана в техните потребителски профил. В този случай, VBET ще възложи на правилното BBcode тагове автоматично, когато те пост. IE: "[Lang = FR]" Въпреки това, след като те представят своите мнение, акценти върху постовете си не ще се появи правилно. Ако натиснете бутона "редактиране на мнение", те ще видят на поста в напреднали WYSIWYG редактор, показва неправилно (имам всички сметки, да използвате WYSIWYG редактор, дори при бърз отговор, по подразбиране, така че всички потребители могат да се слагат снимки от твърдия си диск). Въпреки това, ако те превключвате "превключвател за режим на редактор" бутона напред и назад, те ще видите появи постовете си правилно. И все пак, когато те се опитват да запазите промените на постовете си, тя отново ще показване неправилно, когато те спасят.

Този проблем се случва само, когато потребителят използва "френски език" в настройките на профила на потребителя и публикуване на френски език ... по този начин vbet добавете [Lang = FR] на публикация автоматично.

Моят език форум по подразбиране е английски.

Ако имате нужда да погледнете на моя форум ... ч. Мене, и Аз ще ви изпрати необходимата информация за проверка ми админ панела за настройка.

Надявам се тази информация е полезна.

Благодаря.

kamilkurczak
11-03-11, 10:06
Да. Мога да го потвърди на моя тест форум!
Това е vBET бъг, така че трябва да преместите тази тема в секция "Докладване за грешка.

Забелязах, че там е кодирането въпрос с писма с ASCII код по един

Могат да се възпроизвеждат на моя тест форум, така че мога да го оправя, без достъп до вашия форум:)

Аз ще се опитам да намерите най-доброто решение за вас.

freddie3218
12-03-11, 06:02
Да. Мога да го потвърди на моя тест форум!
Това е vBET бъг, така че трябва да преместите тази тема в секция "Докладване за грешка.

Забелязах, че там е кодирането въпрос с писма с ASCII код по един

Могат да се възпроизвеждат на моя тест форум, така че мога да го оправя, без достъп до вашия форум:)

Аз ще се опитам да намерите най-доброто решение за вас.
Е, добрата новина е, че оправих проблема сам. Лошата новина е, че не може да потвърди, че това решение ще работи като заместител функция ... тъй като тя работи само на моя форуми.

Независимо, тук е нова функция:



function vbet_encodeToSafeUTF8(&$string) {

$string = utf8_decode($string);
return $string;
}


Тази функция конвертира UTF-8 на ISO-8859-1

kamilkurczak
12-03-11, 13:31
благодаря за тази добра новина. Аз ще го тествам и потвърдете

kamilkurczak
13-03-11, 13:15
Здравейте,
Вашето решение не е добро в цяло. Защо? Това е работа с писма с ASCII код по 256 (конвертира и показва добра), но над 256 писма с ASCII код съм "?" знаци.

Така че ние трябва да обединим нашите две решения в едно;)

Например:

function vbet_encodeToSafeUTF8(&$string) {

$string = preg_replace('/([\340-\357])([\200-\277])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-224)*4096 + (ord(\'\\2\')-128)*64 + (ord(\'\\3\')-128)).\';\'',
$string);

//decode two byte unicode characters
$string = preg_replace('/([\304-\337])([\200-\277])/e',
'\'&#\'.((ord(\'\\1\')-192)*64+(ord(\'\\2\')-128)).\';\'',
$string);

$string = utf8_decode($string);

return $string;
}

този ред:
[\304-\337] се определят от писма с ASCII код под 256 няма да бъдат декодирани от моята функция, но само от
utf8_decode

Аз съм го тестване still.I не съм напълно сигурен, че всичко работи правилно сега.
Можете да го тествате!

freddie3218
14-03-11, 05:10
За моите цели, решение работи добре ... Аз съм само превода на два langauges ... Английски и френски език. И двете са ISO-8859-1 (latin1) езици. Следователно "utf_decode" функция работи добре.

Въпреки това, с глобален обхват с оглед, функцията utf_decode вероятно няма да работят за други езици, извън на "latin1".

Аз не съм много на Еврофутбол програмист. Въпреки това, аз ще предложи едно предложение:

Може би използвайки "Ако" изявление може да отговарят на вашите цели по-добре, ако решението ти не работи. В примера по-долу, "translated_language_var" ще бъде на езика дестинация, да се трансформира в.

IE:


$latin1 = array(English,French,Spanish,Italian....etc);

if (in_array(translated_language_var,$latin1)){

$string = utf_decode($string);

}else{

original solution;
}

return $string;

Може би използването на нещо като това ще бъде сигурен метод, за да поддържа всичко безопасно ...??? Сигурен съм, че лесно бихте могли да използвате тази псевдо-код и да работи за Еврофутбол. :)

kamilkurczak
27-03-11, 22:30
решен - ще бъдат включени в следващия ОСВОБОЖДАВАНЕ

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