КПК

Прагляд поўнай версіі: Вырашанае Акцэнты не будуць правільна адлюстроўвацца ...



freddie3218
07-03-11, 16:09
Прывітанне.

Я выкарыстоўваю VBulletin 04/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-спрайт. Тым не менш, я паглядзеў на код, і я нічога не рабіў павінна паўплываць такім чынам, каб рэчы не адлюстроўваецца.

Ці павінен я канвертаваць мае БД для UTF-8, каб вырашыць гэтую праблему?

Любыя парады будуць ацэнены. Дзякуй. :)

freddie3218
08-03-11, 17:56
Ну .... Я адключыў ўсе астатнія убудова, і я да гэтага часу такая ж праблема. Падобна на тое, памылка ў vbet

kamilkurczak
08-03-11, 19:35
прывітанне, вы выкарыстоўваеце UTF-8, форум і базу дадзеных або няма?
Калі няма - я павінен быў для вас рашэнне. Я Віль падрыхтаваць і напісаць тут.

Калі вы можаце - калі ласка, тэкст сюды URL, каб нітка з гэтай праблемай.
Дзякуй

freddie3218
09-03-11, 00:15
прывітанне, вы выкарыстоўваеце UTF-8, форум і базу дадзеных або няма?
Калі няма - я павінен быў для вас рашэнне. Я Віль падрыхтаваць і напісаць тут.

Калі вы можаце - калі ласка, тэкст сюды 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. захаваць і тэст!

гэта павінна працаваць толькі для новых паведамленняў. усіх існуючых паведамленняў Вы павінны адрэдагаваць ўручную.
Я не ўпэўнены, што ў вас ёсць форум ISO, але вы можаце праверыць гэта. Калі гэта не так добра - калі ласка, перапісаць гэтыя змены бу стары файл

freddie3218
10-03-11, 15:30
Прывітанне,

Гэта быў добры паспрабаваць. Тым не менш, яна не працуе.

Выхад цяпер паказвае: ".. Сеси EST ААН тэст S'il Vous plaà ® т ignorer сёе паведамленне"

Правільны вывад павінен быць наступным: "Сеси EST ААН тэст S'il Vous касу ignorer сёе паведамленне.".

Таму я вярнуўся назад.

Вось адна рэч, якую я заўважыў:

Пры напісанні і рэдагаванні, яна не адлюстроўваецца правільна. Аднак, калі я націскаю кнопку WYSIWYG-рэдактар, каб увайсці ў "базавым рэжыме", то гэта будзе карэктна адлюстроўвацца ў акне рэдактара WYSIWYG. Тым не менш, калі я спрабую захаваць яго, ён вяртаецца да паказу няправільна зноў. Здаецца, што візуальны рэдактар не разбор рэчы правільна, перш чым эканоміць, калі я выкарыстоўваю VBET на замежнай мове, ці калі я выкарыстоўваю [мова =] тэгі. Аднак, калі я адпраўляю замежныя фразы без выкарыстання [мова = FR] тэгі, то яна будзе адлюстроўвацца правільна пры захаванні. Так што, падобна, што VBET не дазваляе візуальны рэдактар для разбору правільна, перш чым эканоміць ... калі гэта мае сэнс.

kamilkurczak
10-03-11, 23:41
ў вас ёсць гэтая праблема, калі вы хацелі б размясціць на перакладзеная старонка ці не? калі ласка, апішыце, што я павінен зрабіць, каб мець тыя ж вынікі на маёй тэставай форуме.

freddie3218
11-03-11, 07:19
ў вас ёсць гэтая праблема, калі вы хацелі б размясціць на перакладзеная старонка ці не? калі ласка, апішыце, што я павінен зрабіць, каб мець тыя ж вынікі на маім forum.I тэст не ведаю, калі вы можаце прайграць гэта на форум ці не. Тым не менш, менавіта гэта і адбываецца:

Vbulletin версіі 4,08
У мяне ёсць два мовы на маім сайце: англійская і французская. Я адключыў ўсе іншыя мовы, і ўсе іншыя сцягі.
Усе англійскай і французскай мовах у перакладзе ўсёй Інтэрнэт-старонкі, з правільным акцэнтам. Адзіны раз, калі акцэнты не адлюстроўваюцца належным чынам, калі хто-то выкарыстоўвае французскую мову і паведамленняў на французскай мове ... з "французскі мова" выбралі ў іх профілі карыстальніка. У гэтым выпадку, VBET прызначыць належны тэгаў BBcode аўтаматычна, калі яны адпраўляюць. IE: "[мова = FR]" Аднак, як толькі яны прадставяць свае пасады, акцэнты на іх паведамленне не будзе адлюстроўвацца правільна. Калі яны націсніце кнопку "Рэдагаваць паведамленне" кнопку, яны ўбачаць у пасаду ў прасунуты рэдактар WYSIWYG адлюстроўвацца няправільна (у мяне ёсць усе ўліковыя запісы настроены на выкарыстанне візуальнага рэдактара, нават у хуткі адказ, па змаўчанні, так што ўсе карыстальнікі могуць прыкласці фатаграфіі з іх на цвёрдым дыску). Аднак, калі яны пераключацца "перамыкача рэжым рэдагавання" кнопкі наперад і назад, яны ўбачаць, што іх паведамленне адлюстроўвацца правільна. Тым не менш, калі яны спрабуюць захаваць змены ў свой пост, ён будзе зноў дысплей няправільна, калі яны захаваць сваю пасаду.

Гэтая праблема адбываецца толькі тады, калі карыстальнік выкарыстоўвае "ФРАНЦУЗСКАЯ МОВА" у наладах профілю карыстальніка і размяшчэнне на французскай мове ... такім чынам робячы vbet дадаць [мова = 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 (пераўтворыцца і адлюстроўваецца добра), але лісты з кодам ASCII больш 256 у мяне ёсць "?" знакаў.

Так што мы павінны аб'яднаць нашы два рашэнні ў адным;)

Напрыклад:

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".

Я не вельмі VBulletin праграміста. Тым не менш, я прапаную адно прапанова:

Магчыма выкарыстанне "Калі" заява можа задаволіць вашыя мэты лепш, калі ваша рашэнне не працуе. У прыведзеным ніжэй прыкладзе, "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
вырашаны - будуць уключаны ў наступны relase

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