PDA

View Full Version: Riješen Akcenti nisu prikazuje ispravno ...



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

Im 'koristeći vBulletin 4,08.

Koristim vbet za uglavnom dva jezika ... Engleski i francuski. Ja sam jezik forum zadani na engleski. Međutim, kad je francuski korisnika postova, prijevod prikazuje ispravno na engleskom jeziku. Međutim, u francuskom naglasno se ne prikazuju. Umjesto toga, ona prikazuje ovako:


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.

To bi trebao prikazati ovako:


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

Moj forum je postavljen za prikaz oba jezika kao ISO-8859-1. Dakle, ja sam ne koristite UTF-8

Također, slijedio sam upute za instalaciju vrlo blisko.

Samo izmjene sam napravio na vBet je da sam promijenio zadane zastavice pomoću CSS-čarobnjak. Međutim, ja pogledao kôd, i ništa nisam trebao utjecati na način na koji stvari se prikazuju.

Moram li pretvoriti svoje dB na UTF-8 riješiti ovaj problem?

Bilo koji savjet će se poštovati. Zahvaljujući. :)

freddie3218
08-03-11, 17:56
Pa .... Ja onemogućen svaki drugi plugin, i još uvijek imam isti problem. Izgleda kao bug u vbet

kamilkurczak
08-03-11, 19:35
Pozdrav, da li vi koristite UTF-8 forumu i baze podataka ili ne?
Ako ne - ja bi trebao imati rješenje za vas. Ja wil je pripremiti i napisati ovdje.

Ako možete - Molimo zaljepite ovdje URL na teme s ovom pitanju.
Hvala

freddie3218
09-03-11, 00:15
Pozdrav, da li vi koristite UTF-8 forumu i baze podataka ili ne?
Ako ne - ja bi trebao imati rješenje za vas. Ja wil je pripremiti i napisati ovdje.

Ako možete - Molimo zaljepite ovdje URL na teme s ovom pitanju.
ThanksNo, ja ne koristite UTF-8 forumu ili baze podataka. Koristim ISO-8859-1.

Možete vidjeti problem uživo gledanje ovaj thread:

1 $ Ovo je test (http://kokoku.ca/forums/showthread.php?t=418)

Zahvaljujući. :)

freddie3218
10-03-11, 01:05
Bilo vijest o tome što je to uzrok?

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

Ja sam to testiranje na mojoj testnoj forum (u ne UTF), a ja ne mogu da ga reproducirati, ali možete probati ovo rješenje.
Imam nešto za vas:
1. otvoren, napraviti kopiju i uređivati ovu datoteku:
Forum root / includes / vbenterprisetranslator_functions_utils.php
2. u ovu funkciju pronaći:

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. i komentar svim linijama, bez povratka kao što je ovaj jedan:

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. spremanje i test!

ovo bi trebalo raditi samo za nove postove. sve postojeće postove treba urediti rukom.
Nisam SHURE da imate ISO forum, ali možete ga testirati. Ako nije dobro - molim prepisati tih promjena BU stare datoteke

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

To je dobro probati. Međutim, to ne radi.

Izlaz sada pokazuje: ".. Ceci est un testa S'il vous plaà ® T ignorer ce poruka"

Ispravan izlaz bi trebao biti: "Ceci est un testa S'il vous plait ignorer CE poruka.."

Stoga sam se vratio.

Ovdje je jedna stvar koju sam primijetio:

Kada postavljate i uređivanje, ne prikazati ispravno. Međutim, ako sam pritisnite gumb WYSIWYG editor da ide u "osnovni mod", a zatim ona će se prikazati ispravno u WYSIWYG editor. Međutim, kad pokušam spasiti ga, on se vraća u pogrešno prikazivanje opet. Čini se da WYSIWYG editor nije raščlanjivanjem stvari ispravno prije spremanja kad sam koristeći VBET na stranom jeziku, ili kada sam koristeći [lang =] oznake. Međutim, ako sam nakon inozemnih frazu bez korištenja [lang = fr] oznake, onda će se prikazati ispravno prilikom spremanja. Dakle, čini se da VBET ne dopušta WYSIWYG editor raščlaniti točno prije spremanja ... ako je to imalo smisla.

kamilkurczak
10-03-11, 23:41
imate ovaj problem ako želite post na prevedeno stranica ili ne? molimo opišite ono što sam trebao učiniti da se iste rezultate na mojoj testnoj forumu.

freddie3218
11-03-11, 07:19
imate ovaj problem ako želite post na prevedeno stranica ili ne? molimo opišite ono što sam trebao učiniti da se iste rezultate na mojoj testnoj forum.I ne znam ako možete reproducirati ovo na vaš forum ili ne. Međutim, to je ono što se događa:

VBulletin verzija 4,08
Imam dva jezika na mojoj stranici: engleski i francuski. Ja s invaliditetom svim ostalim jezicima, i sve ostale zastave.
Svi engleski i francuski je prevedena na cijelom području ispravno, s pravom naglascima. Jedini put naglasno ne prikazuju ispravno je ako netko koristi francuski jezik i postove na francuskom ... ima "francuski jezik" izabrani u korisnički profil. U tom slučaju, VBET će dodijeliti odgovarajuće oznake BBcode automatski kada se post. IE: "[lang = fr]" Međutim, nakon što pošaljete svoje mjesto, naglasno na mjesto neće se pojaviti ispravno. Ako pritisnite tipku "uredi post" gumb, vidjet će svoje mjesto u naprednim WYSIWYG editor prikazuje nepravilno (imam sve račune postavili za korištenje WYSIWYG editor, čak iu brzi odgovor, po defaultu, tako da svi korisnici mogu priložiti slike njihov hard-disk). Međutim, ako su uključivanje "prekidač urednik Mode" gumb naprijed i natrag, oni će vidjeti svoje mjesto prikazuje se ispravno. Ipak, kada pokušate spremiti promjene u svoje mjesto, to će se ponovno prikazati kada su nepropisno spasiti svoje radno mjesto.

Ovaj problem se događa samo kada korisnik koristi "francuski jezik" u njihove postavke korisnički profil i objavljivanja na francuskom jeziku ... čime vbet dodati [lang = fr] na post automatski.

Moj forum zadani jezik je engleski.

Ako trebate pogledati oko na moj forum ... sati mi, i ja ću vam poslati potrebne informacije za check out moj admin panela za postavljanje.

Nadam se da ova informacija je korisna.

Zahvaljujući.

kamilkurczak
11-03-11, 10:06
Da. Mogu to potvrditi na mojoj testnoj forumu!
To je vBET bug pa sam je potrebno da se presele ovu temu na bug izvješćivanja sekciji.

Primijetio sam da postoji problem s kodiranje slova s ASCII kodom u

Mogu reproducirati ga na mojoj testnoj forumu tako da ja mogu to popraviti bez pristupa na svoj forum:)

Ja ću pokušati pronaći najbolje rješenje za vas.

freddie3218
12-03-11, 06:02
Da. Mogu to potvrditi na mojoj testnoj forumu!
To je vBET bug pa sam je potrebno da se presele ovu temu na bug izvješćivanja sekciji.

Primijetio sam da postoji problem s kodiranje slova s ASCII kodom u

Mogu reproducirati ga na mojoj testnoj forumu tako da ja mogu to popraviti bez pristupa na svoj forum:)

Ja ću pokušati pronaći najbolje rješenje za vas.
Pa dobra vijest je da sam fiksni problem sebe. Loša vijest je da ne mogu potvrditi da je ovo rješenje će raditi kao zamjena funkcija ... budući da radi samo na mom forumima.

Bez obzira na to, ovdje je novu funkciju:



function vbet_encodeToSafeUTF8(&$string) {

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


Ova funkcija pretvara UTF-8 na ISO-8859-1

kamilkurczak
12-03-11, 13:31
hvala za ove dobre vijesti. Ja ću ga testirati i potvrditi

kamilkurczak
13-03-11, 13:15
halo,
Vaš rješenje nije dobro u općenito. Zašto? To je rad sa slovima sa ASCII kodom ispod 256 (pretvorena i prikazuje dobro), ali slova s ASCII kodom preko 256 imam "?" znakova.

Tako da trebamo kombinirati naša dva rješenja u jednom;)

primjer:

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

ovaj redak:
[\304-\337] definirati od slova s ASCII kodom ispod 256 neće biti dekodira moja funkcija, ali samo
utf8_decode

Ja sam to testiranje still.I nisam posve siguran da sve radi ispravno sada.
Možete ga testirati previše!

freddie3218
14-03-11, 05:10
Za moju svrhe, rješenje utvrde prekid ... kao što sam samo sam prevodio u dvije langauges ... Engleski i francuski. Obje su ISO-8859-1 (latin1) jezika. Stoga "utf_decode" funkciju utvrde prekid.

Međutim, s globalnim opseg u pogledu funkcija utf_decode vjerojatno neće raditi za druge jezike izvan "latin1".

Nisam mnogo vBulletin programer. Međutim, ja ću ponuditi jedan prijedlog:

Možda pomoću "Ako" izjava može odgovarati vašim svrhe bolje ako vaš rješenje ne radi. U primjeru ispod, "translated_language_var" biti odredište jezik prevesti na.

IE:


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

if (in_array(translated_language_var,$latin1)){

$string = utf_decode($string);

}else{

original solution;
}

return $string;

Možda koristite nešto ovako će biti siguran način da se zadrži sve što je sigurno ...??? Siguran sam da ste lako mogli koristiti ovu pseudo koda i izraditi Internet funkcionirati za vBulletin. :)

kamilkurczak
27-03-11, 22:30
riješiti - bit će uključeni u sljedeće relase

Automatic Translations (Powered by Google, Microsoft®, Yandex, SDL Language Cloud, IBM Watson and Apertium):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Translations made by vBET Translator 4.9.99