PDA

View Full Version: Rešeno Poudarki ne prikazuje pravilno ...



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

Jaz sem z uporabo vBulletin 4,08.

Uporabljam vBET predvsem za dva jezika ... Angleščina in francoščina. Imam jezik, forum privzeto nastavljena na angleško. Vendar pa, kadar francoski uporabnika delovnih mest, prevod prikaže pravilno v angleškem jeziku. Vendar pa je v francoščini poudarki ne prikažejo. Namesto tega se prikaže takole:


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 moral prikazati, kot je ta:


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

Moja forum je ustanovljen za prikaz obeh jezikih kot ISO-8859-1. Zato me ne uporabljate UTF-8

Prav tako sem sledil navodilom za namestitev zelo tesno.

Edina sprememba sem na vBET je, da sem spremenil privzete zastavice z uporabo CSS-Sprite. Vendar pa sem pogledal kodo, sem in nič ne bi smel vplivati na način, da so stvari, ki se prikaže.

Ali moram spremeniti svoj db na UTF-8 za rešitev tega problema?

Vsak nasvet bo cenjeno. Hvala. :)

freddie3218
08-03-11, 17:56
No .... Onemogočil sem vsak drugi plugin, in sem še vedno isti problem. Izgleda kot napaka v vBET

kamilkurczak
08-03-11, 19:35
zdravo, ne uporabljate UTF-8 forum in baze podatkov ali ne?
Če ne - jaz bi imel rešitev za vas. I wil pripravi in pisati tukaj.

Če lahko - prosim prilepi tukaj url, da niti s tem vprašanjem.
Thanks

freddie3218
09-03-11, 00:15
zdravo, ne uporabljate UTF-8 forum in baze podatkov ali ne?
Če ne - jaz bi imel rešitev za vas. I wil pripravi in pisati tukaj.

Če lahko - prosim prilepi tukaj url, da niti s tem vprašanjem.
ThanksNo, ne uporabljam UTF-8 forum ali zbirke podatkov. Uporabljam ISO-8859-1.

Ogledate si lahko problem v živo, ki jih bere to temo:

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

Hvala. :)

freddie3218
10-03-11, 01:05
Vsaka novica o tem, kaj je to povzroča?

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

Jaz sem ga testiranje na moj test forum (ni v UTF) in ne morem, da ga reproducirajo vendar lahko poskusite te rešitve.
Imam nekaj za vas:
1. odpreti, naredite kopijo in urejanje te datoteke:
forum root / includes / vbenterprisetranslator_functions_utils.php
2. v tej funkciji najdete:

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. in komentirajo vse proge, ne da vrniti, kot je ta:

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. shranite in test!

to bi bilo le delo za nova delovna mesta. vse obstoječe prispevke bi morali urejati z roko.
Nisem SHURE, da imate forum ISO lahko pa ga test. Če ni dobro - prosim prepiše te spremembe bu stare datoteke

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

To je bilo dobro poskusiti. Vendar pa to ne deluje.

Izhod zdaj kaže: ".. Ceci est un preizkus s'il vous plaà ® t ignorer ce sporočilo"

Pravilen izhod mora biti: "Ceci est un preizkus s'il vous Pletenica ignorer ce sporočilo.."

Zato sem se obrnil nazaj.

Tukaj je ena stvar, ki sem opazil:

Ko objavljate in urejanje, ga ne prikaže pravilno. Vendar, če sem zadel na gumb urejevalnik WYSIWYG, da gredo v "osnovni mode", nato pa bo prikazal pravilno v urejevalnik WYSIWYG. Vendar, ko sem poskusil, da ga shranite, jo vrne v ponovno kaže napačno. Zdi se, da urejevalnik WYSIWYG ni razčlenjevanju stvari pravilno, pred shranjevanjem, ko sem s pomočjo vBET v tujem jeziku, ali ko sem z [lang =] tags. Vendar, če dodam tuje stavek brez uporabe [lang = fr] oznake, nato pa bo prikazal pravilno, ko varčevanje. Tako se zdi, da vBET ne omogoča urejevalnik WYSIWYG pravilno razčleniti pred shranjevanjem ... če je to mi ni jasno.

kamilkurczak
10-03-11, 23:41
imate to vprašanje, ko bi želeli objaviti na prevedeno stran, ali ne? opišite, kaj moram storiti, da imajo enake rezultate na moj test forum.

freddie3218
11-03-11, 07:19
imate to vprašanje, ko bi želeli objaviti na prevedeno stran, ali ne? opišite, kaj moram storiti, da imajo enake rezultate na moj test forum.I ne vem, če lahko reproducirajo to na vašem forumu ali ne. Vendar pa je to, kaj se zgodi:

VBulletin različico 4,08
Imam dva jezika na moji strani: angleščina in francoščina. Onemogočil sem vse druge jezike, in vse druge zastave.
Vse angleškem in francoskem jeziku je preveden v celotnem mestu pravilno, s pravilnim poudarki. Samo čas, naglasov ne prikažejo pravilno je, če nekdo uporablja francoski jezik in delovna mesta v francoskem ... ki imajo "francoski jezik" izbran v svojem uporabniškem profilu. V tem primeru bo vBET dodeliti ustrezno tags BBcode samodejno, ko ti post. IE: "[lang = fr]" Vendar, ko predložijo svoje delovno mesto, poudarki na njihovo delovno mesto ne bo pravilno prikazal. Če pritisnete "uredi sporočilo" gumb, bodo videli svoje delovno mesto v napredni urejevalnik WYSIWYG prikazani nepravilno (imam vse račune nastavljen za uporabo WYSIWYG editor, tudi v hiter odgovor, ki ga privzeto, tako da lahko vsi uporabniki priložite slike iz njihov trdi disk). Vendar, če preklopite "Stikalo za izbiro načina urednik" gumb naprej in nazaj, bodo videli svoje mesto videti pravilno. Pa vendar, ko poskusite shraniti spremembe v svoje delovno mesto, bo to spet prikaže nepravilno, ko shranite svoje delovno mesto.

Ta problem samo zgodi, ko uporabnik uporablja "francoskega jezika" v svojih nastavitvah uporabniškega profila in objavo v francoskem jeziku ... čimer vBET dodajte [lang = fr] na delovno mesto samodejno.

Moja forum privzeti jezik angleščina.

Če morate poglej okoli na moj forum ... pm me, in jaz vam bomo poslali vse potrebne informacije, da preverite svoj admin nastavitve plošči.

Upam, da je ta informacija koristna.

Hvala.

kamilkurczak
11-03-11, 10:06
yes. Lahko jo potrdite na moj test forum!
To je vBET bug tako da moram premakniti to temo v bug poročanja oddelka.

Opazil sem, da je kodiranje vprašanje s črkami z ASCII kodo pod A

Lahko se razmnožujejo na moj test forum, tako da lahko to popravim brez dostopa do vašega forum:)

Bom poskusil najti najboljšo rešitev za vas.

freddie3218
12-03-11, 06:02
yes. Lahko jo potrdite na moj test forum!
To je vBET bug tako da moram premakniti to temo v bug poročanja oddelka.

Opazil sem, da je kodiranje vprašanje s črkami z ASCII kodo pod A

Lahko se razmnožujejo na moj test forum, tako da lahko to popravim brez dostopa do vašega forum:)

Bom poskusil najti najboljšo rešitev za vas.
No dobra novica je, da sem določen problem sam. Slaba novica je, da ne morem potrditi, da bo ta rešitev dela kot nadomestilo funkcijo ... saj deluje samo na mojem forumih.

Ne glede na to, tu je nova funkcija:



function vbet_encodeToSafeUTF8(&$string) {

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


Ta funkcija pretvori UTF-8 v ISO-8859-1

kamilkurczak
12-03-11, 13:31
hvala za to dobra novica. Ga bom test in potrdite

kamilkurczak
13-03-11, 13:15
hello,
Tvoja rešitev ni dobra v splošnem. Zakaj? To je delo s črkami z ASCII kodo pod 256 (pretvori in prikaže dobro), vendar črke z ASCII kodo nad 256 imam "?" znaki.

Zato moramo združiti naše dve rešitvi v enem;)

Na primer:

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

to vrstico:
[\304-\337] opredeliti kot črke z ASCII kodo pod 256 ne bo dekodirajo po moje funkcije, ampak le z
utf8_decode

Jaz sem ga testiranje still.I nisem povsem prepričan, da vse deluje pravilno zdaj.
Lahko ga test preveč!

freddie3218
14-03-11, 05:10
Za moje namene, rešitev deluje v redu ... kot sem samo prevajanje v dve langauges ... Angleščina in francoščina. Oba sta ISO-8859-1 (latin1) jezikov. Zato "utf_decode" funkcija deluje v redu.

Vendar pa se s celotno področje v pogledu, utf_decode funkcija verjetno ne bo delo za druge jezike zunaj "latin1".

Nisem veliko vBulletin programer. Vendar pa bom ponujajo en predlog:

Morda z uporabo "če" lahko izjavo ustrezal vašim namene, bolje, če vaša rešitev ne deluje. V spodnjem primeru bi "translated_language_var" je cilj prevesti v jezik.

IE:


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

if (in_array(translated_language_var,$latin1)){

$string = utf_decode($string);

}else{

original solution;
}

return $string;

Morda bi z nekako tako se prepričajte, način, da je vse varno ...??? Prepričan sem, da bi lahko brez težav uporabite to pseudo kodo in bi bilo delo za vBulletin. :)

kamilkurczak
27-03-11, 22:30
rešiti - bodo vključene v naslednjo SPROŠČANJE

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