PDA

Žiūrėti pilną versiją: Išspręsta Akcentai nėra rodomi teisingai ...



freddie3218
07-03-11, 16:09
Sveiki.

Aš naudoju vBulletin 4,08.

Aš naudoju daugiausia dviem kalbomis vbet ... Anglų ir prancūzų kalbomis. Turiu forumo numatytoji kalba yra anglų. Tačiau, kai prancūzų vartotojo žinutes, vertimo rodo teisingai anglų kalba. Tačiau Prancūzijos kirčio, nerodomi. Vietoj to, ji rodo, kaip šis:


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.

Jis turėtų būti rodomas kaip:


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

Mano forumas rodyti abiem kalbomis kaip ISO-8859-1. Todėl, aš ne naudojant UTF-8

Be to, po montavimo instrukcijos labai atidžiai.

Tik modifikacija, aš padariau vBet, kad aš pakeisti numatytąjį vėliavėlės naudojant CSS-Sprite. Tačiau aš mačiau ne kodą, ir nieko aš turėtų poveikį, kad viskas yra.

Turiu konvertuoti savo duomenų bazę į UTF-8 išspręsti šią problemą?

Bet koks patarimas bus dėkingi. Ačiū. :)

freddie3218
08-03-11, 17:56
Gerai .... Neįgaliesiems kas kitas įskiepiai, ir aš vis dar ta pati problema. Atrodo vbet klaidą

kamilkurczak
08-03-11, 19:35
labas, jūs naudoti UTF-8 forumą ir duomenų bazės, ar ne?
Jei ne - aš turėtų turėti sprendimą. Aš wil parengti ir parašyti čia.

Jei galite, prašome įklijuokite URL šį klausimą gija.
Ačiū

freddie3218
09-03-11, 00:15
labas, jūs naudoti UTF-8 forumą ir duomenų bazės, ar ne?
Jei ne - aš turėtų turėti sprendimą. Aš wil parengti ir parašyti čia.

Jei galite, prašome įklijuokite URL šį klausimą gija.
ThanksNo, aš ne naudoti UTF-8 forumą ar duomenų bazės. Aš naudoju ISO-8859-1.

Jūs galite pamatyti problemą gyvena peržiūrėti šią temą:

$ 1, tai bandymas (http://kokoku.ca/forums/showthread.php?t=418)

Ačiū. :)

freddie3218
10-03-11, 01:05
Bet koks naujienų kas jį sukelia?

kamilkurczak
10-03-11, 10:04
Sveiki,

Aš išbandyti jį apie mano Test Forum (ne UTF) ir negali atkurti, bet galite pabandyti šį sprendimą.
Turiu kažką už jus:
1. atidaryti, kopijuoti ir redaguoti šį failą:
forumas root / / vbenterprisetranslator_functions_utils.php
2. šią funkciją rasti:

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. ir be grįžimo patiko šį vieną komentarą visas eilutes:

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. Išsaugoti ir išbandyti!

Tai turėtų dirbti tik naujas žinutes. visų esamų pranešimų, reikia redaguoti rankiniu būdu.
Aš ne Shure, kad turite ISO forumas, tačiau galite jį išbandyti. Jei ne gera - prašome perrašyti šių pokyčių bu senas failas

freddie3218
10-03-11, 15:30
Sveiki,

Tai buvo geras pabandyti. Tačiau, ji neveikia.

Išėjimo dabar rodo: ". Ceci est un bandymas s'il vous plaà ® T ignorer ce pranešimą"

Teisingas produkcija turėtų būti: "Ceci est un bandymas s'il vous pynė ignorer ce pranešimą."

Todėl aš vėl.

Čia yra vienas dalykas, aš pastebėjau:

Kai pradedate ir redagavimo, jis nėra rodomas teisingai. Tačiau, jei aš paspauskite mygtuką WYSIWYG redaktorius eiti į "pagrindinis būdas", tada ji bus rodoma teisingai WYSIWYG redaktorius. Tačiau, kai bandau ją išsaugoti, ji grįžta rodo neteisingai vėl. Atrodo, WYSIWYG redaktorius apdorojant dalykų teisingai prieš taupymo forma, kai aš naudoju VBET užsienio kalba, arba, kai aš naudoju [lang =] Žymos. Tačiau, jei aš po užsienio frazė nenaudojant [lang = fr] Žymos, tada ji bus rodoma teisingai, kai taupymo. Taigi atrodo, kad VBET neleidžia WYSIWYG redaktorius teisingai išanalizuoti prieš išsaugant ... jei tai daro kokią nors prasmę.

kamilkurczak
10-03-11, 23:41
turite šią problemą, kada norėtumėte, kad galėtumėte rašyti išverstą puslapį ar ne? aprašykite, ką turėčiau daryti, kad mano Test Forum pačius rezultatus.

freddie3218
11-03-11, 07:19
turite šią problemą, kada norėtumėte, kad galėtumėte rašyti išverstą puslapį ar ne? apibūdinkite, ką turėčiau daryti, kad mano bandymas forum.I pačius rezultatus, nežinau, jei galite atgaminti šiame forume ar ne. Tačiau tai, kas atsitiks:

VBulletin versiją 4,08
Turiu du mano svetainėje: anglų ir prancūzų kalbų. Aš neįgaliesiems visų kitų kalbų, ir visų kitų vėliavų.
Visi anglų ir prancūzų kalba yra išverstas visoje svetainėje tinkamai, tinkamai akcentai. Tik laiko akcentai nerodo tinkamai, jei kas nors naudoja prancūzų kalba ir prancūzų pranešimų ... "prancūzų kalba" pasirinko savo vartotojo profilį. Šiuo atveju, VBET bus priskirti tinkamą BBcode tegai automatiškai, kai jie po. Ty: "[lang = fr]" Tačiau, kai jie pateikia savo postą, dėl jų po akcentai NEBUS rodomi neteisingai. Jei jie paspauskite mygtuką "Taisyti", jie matys pranešimas rodomas neteisingai (turiu visas sąskaitas naudoti WYSIWYG redaktorius, net greitą atsakymą, kad pagal nutylėjimą visi vartotojai gali pridėti nuotraukas iš pažangiosios WYSIWYG redaktorius savo kietajame diske). Tačiau, jei jie Toggle "jungiklis redaktorius mode" mygtuką ir atgal, jie bus eiti savo pareigas rodomi neteisingai. Dar, kai jie bando įrašyti pakeitimus į savo pranešimą, jis bus vėl rodomas netinkamai, kai jie išsaugoti savo postą.

Ši problema tik tada, kai vartotojas naudoja savo vartotojo aplinkos parametrus "prancūzų kalba" ir prancūzų kalba komandiravimo ... todėl vbet pridėti [lang = fr] post automatiškai.

Mano forumas numatytoji kalba yra anglų.

Jei jums reikia pažvelgti aplink mano forumas ... PM man ir aš atsiųsime Jums reikalinga informacija, check out my admin panel nustatymus.

Tikiuosi, ši informacija yra naudinga.

Ačiū.

kamilkurczak
11-03-11, 10:06
Taip. Galiu patvirtinti, mano Test Forum!
Tai vBET klaidų, todėl man reikia perkelti šią temą į pranešimo apie klaidas skyriuje.

Aš pastebėjau, kad kodavimo problema su raštais su ASCII kodu, pagal Ā

Galiu atkurti mano Test Forum, kad galiu ją išspręsti be prieigą prie jūsų forumą:)

Aš pasistengsime rasti Jums geriausią sprendimą.

freddie3218
12-03-11, 06:02
Taip. Galiu patvirtinti, mano Test Forum!
Tai vBET klaidų, todėl man reikia perkelti šią temą į pranešimo apie klaidas skyriuje.

Aš pastebėjau, kad kodavimo problema su raštais su ASCII kodu, pagal Ā

Galiu atkurti mano Test Forum, kad galiu ją išspręsti be prieigą prie jūsų forumą:)

Aš pasistengsime rasti Jums geriausią sprendimą.
Na gera žinia, kad problemai išspręsti pats. Bloga naujiena yra ta, kad aš negaliu patvirtinti, kad šis sprendimas bus dirbti pakeitimo funkcija ... kaip ji veikia tik ant mano forumuose.

Nepaisant to, čia yra nauja funkcija:



function vbet_encodeToSafeUTF8(&$string) {

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


Ši funkcija konvertuoja UTF-8, ISO-8859-1

kamilkurczak
12-03-11, 13:31
ačiū už šią gerą žinią. Aš išbandyti jį ir patvirtinkite

kamilkurczak
13-03-11, 13:15
Sveiki,
Jūsų sprendimas yra geras, paprastai. Kodėl? Tai raštais su ASCII kodu pagal 256 (pertvarko ir rodomas geras), bet daugiau nei 256 raidžių su ASCII kodu turiu "?" ženklai.

Taigi, mums reikia sujungti mūsų du sprendimai, vienas;)

Pavyzdžiui:

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;
}

šioje eilutėje:
[\304-\337] apibrėžti nei pagal 256 raštais su ASCII kodu, bus ne iššifruoti savo funkciją, bet tik
utf8_decode

Esu tai bandymai still.I nesu visiškai tikras, kad viskas veikia teisingai.
Galite išbandyti jį taip pat!

freddie3218
14-03-11, 05:10
Mano tikslais, tirpalas veikia puikiai ... aš tik vertimą į du langauges ... Anglų ir prancūzų kalbomis. Abu yra ISO-8859-1 (lotynų 1) kalbomis. Todėl "utf_decode" funkcija veikia gerai.

Tačiau, atsižvelgiant į pasaulinio masto, utf_decode funkcija tikriausiai neveikia kitų ne "lotynų 1" kalbomis.

Esu ne daug vBulletin programuotojas. Tačiau, aš pasiūlyti vieną pasiūlymą:

Galbūt naudojant "Jeigu" pareiškimas gali atitiktų jūsų tikslus geriau, jei jūsų sprendimas neturi dirbti. Toliau pateiktame pavyzdyje, "translated_language_var" būtų paskirties kalbos versti į.

IE:


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

if (in_array(translated_language_var,$latin1)){

$string = utf_decode($string);

}else{

original solution;
}

return $string;

Galbūt naudojant kažką panašaus į tai būtų patikimiausias būdas išlaikyti viskas saugiai ...??? Aš tikiu, kad galima lengvai naudoti šį pseudo kodą ir padaryti jį dirbti vBulletin. :)

kamilkurczak
27-03-11, 22:30
sprendžiamos - bus įtrauktos į kitą IŠLEIDIMAS

Automatic Translations (Powered by Google, Microsoft®, Yandex, SDL Language Cloud, IBM Watson and Apertium):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Languages translations supported by vBET 4.10.1