PDA

View Full Version: Diselesaikan Aksen yang tidak memaparkan betul ...



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

Saya menggunakan vBulletin 4,08.

Saya menggunakan vbet terutamanya dua bahasa ... Inggeris dan Perancis. Saya mempunyai bahasa forum lalai yang ditetapkan ke Bahasa Inggeris. Walau bagaimanapun, setiap kali pengguna Perancis posts, terjemahan itu memaparkan dengan betul dalam bahasa Inggeris. Walau bagaimanapun, dalam bahasa Perancis aksen tidak memaparkan. Sebaliknya, ia memaparkan seperti ini:


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.

Ia hendaklah mempamerkan seperti ini:


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

Forum saya adalah ditubuhkan untuk memaparkan kedua-dua bahasa sebagai ISO-8859-1. Oleh itu, saya tidak menggunakan UTF-8

Selain itu, saya mengikuti arahan pemasangan rapat.

Pengubahsuaian hanya saya yang dibuat untuk vBet bahawa saya menukar bendera lalai menggunakan CSS-Sprite. Walau bagaimanapun, saya melihat kod, dan apa-apa saya perlu melaksanakan cara bahawa benda-benda yang dipamerkan.

Adakah saya perlu untuk menukar db saya ke UTF-8 untuk menyelesaikan masalah ini?

Apa-apa nasihat akan dihargai. Thanks. :)

freddie3218
08-03-11, 17:56
Well .... Saya kurang upaya setiap plugin yang lain, dan saya masih mempunyai masalah yang sama. Kelihatan seperti pepijat dalam vbet

kamilkurczak
08-03-11, 19:35
hello, adakah anda menggunakan UTF-8 forum dan pangkalan data atau tidak?
Jika tidak - perlu saya mempunyai penyelesaian untuk anda. Saya Wil menyediakan dan menulis di sini.

Jika anda boleh - sila paste di sini url untuk thread dengan isu ini.
Terima kasih

freddie3218
09-03-11, 00:15
hello, adakah anda menggunakan UTF-8 forum dan pangkalan data atau tidak?
Jika tidak - perlu saya mempunyai penyelesaian untuk anda. Saya Wil menyediakan dan menulis di sini.

Jika anda boleh - sila paste di sini url untuk thread dengan isu ini.
ThanksNo, saya tidak menggunakan UTF-8 forum atau pangkalan data. Saya menggunakan ISO-8859-1.

Anda boleh melihat masalah hidup dengan melihat thread ini:

$ 1 Ini adalah ujian (http://kokoku.ca/forums/showthread.php?t=418)

Thanks. :)

freddie3218
10-03-11, 01:05
Apa-apa berita mengenai apa yang menyebabkan ia?

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

Saya menguji forum ujian saya (tidak dalam UTF) dan saya tidak boleh menghasilkan semula tetapi anda boleh cuba penyelesaian ini.
Saya mempunyai sesuatu untuk anda:
1. membuka, membuat salinan dan mengedit fail ini:
forum akar / termasuk / vbenterprisetranslator_functions_utils.php
2. dalam fungsi ini mencari:

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. dan komen semua baris tanpa pulangan like this one:

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. menyimpan dan menguji!

ini perlu bekerja hanya untuk jawatan baru. semua pos yang sedia ada, anda perlu mengedit dengan tangan.
Saya tidak shure bahawa anda mempunyai forum ISO tetapi anda boleh menguji. Jika tidak baik - sila overwrite file perubahan ini bu lama

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

Itu adalah cuba baik. Walau bagaimanapun, ia tidak berfungsi.

Keluaran sekarang menunjukkan: "Ceci est un ujian S'il vous plaà ® t ignorer ce mesej"

Output yang betul harus: "Ceci est un ujian S'il vous Lhoba ignorer ce mesej."

Oleh itu, saya kembali semula.

Berikut adalah satu perkara yang saya perhatikan:

Apabila posting dan pengeditan, ia tidak dipaparkan dengan betul. Walau bagaimanapun, jika saya klik butang WYSIWYG editor untuk pergi ke dalam "mod asas", maka ia AKAN dipaparkan dengan betul dalam editor WYSIWYG. Walau bagaimanapun, apabila saya cuba untuk menyelamatkan, ia kembali untuk menunjukkan salah lagi. Ia seolah-olah bahawa editor WYSIWYG adalah tidak menghuraikan perkara-perkara dengan betul sebelum menyimpan apabila saya menggunakan VBET dalam bahasa asing, atau apabila saya menggunakan [lang =] tags. Walau bagaimanapun, jika saya frasa asing tanpa menggunakan [lang = fr] tags, maka ia akan dipaparkan dengan betul semasa menyimpan. Jadi nampaknya bahawa VBET tidak membenarkan editor WYSIWYG menghuraikan dengan betul sebelum menyimpannya ... jika yang masuk akal.

kamilkurczak
10-03-11, 23:41
anda mempunyai isu ini apabila anda ingin posting di halaman yang diterjemahkan atau tidak? dijelaskan apa yang perlu saya lakukan untuk mempunyai keputusan yang sama pada forum ujian saya.

freddie3218
11-03-11, 07:19
anda mempunyai isu ini apabila anda ingin posting di halaman yang diterjemahkan atau tidak? sila menggambarkan apa yang saya perlu lakukan untuk mempunyai keputusan yang sama pada forum.I ujian saya tidak tahu jika anda boleh membiak ini di forum anda atau tidak. Walau bagaimanapun, ini adalah apa yang berlaku:

VBulletin versi 4,08
Saya mempunyai dua bahasa di lokasi saya: bahasa Inggeris dan Perancis. Saya kurang upaya semua bahasa yang lain, dan semua bendera yang lain.
Semua Bahasa Inggeris dan Bahasa Perancis diterjemahkan di seluruh tapak dengan betul, dengan aksen yang betul. Satu-satunya masa aksen tidak dipaparkan dengan betul jika seseorang itu menggunakan bahasa Perancis dan jawatan dalam Bahasa Perancis ... mempunyai "bahasa Perancis" yang dipilih dalam profil pengguna mereka. Dalam kes ini, VBET akan menetapkan tag BBCode yang betul secara automatik apabila mereka siarkan. IE: "[lang = fr]" Bagaimanapun, apabila mereka menyerahkan jawatan mereka, aksen pada jawatan mereka TIDAK akan muncul dengan betul. Jika mereka menekan butang "edit post", mereka akan melihat jawatan mereka dalam editor WYSIWYG lanjutan yang dipaparkan tidak wajar (saya mempunyai semua akaun yang ditubuhkan untuk menggunakan editor WYSIWYG, walaupun dalam jawapan cepat, secara lalai supaya semua pengguna boleh lampirkan gambar-gambar dari hard drive). Walau bagaimanapun, jika mereka bertukar-tukar "suis mod editor" berulang-alik, mereka akan lihat selepas mereka muncul dengan betul. Namun, apabila mereka cuba untuk menyimpan perubahan ke laman mereka, ia sekali lagi akan memaparkan secara tidak wajar apabila mereka menyelamatkan jawatan mereka.

Masalah ini hanya berlaku apabila pengguna menggunakan "BAHASA PERANCIS" dalam tetapan profil pengguna mereka dan posting dalam bahasa Perancis ... itu membuat vbet tambah [lang = fr] untuk sesuatu jawatan secara automatik.

My forum bahasa lalai adalah Bahasa Inggeris.

Jika anda perlu untuk melihat ke sekitar di forum saya ... pm saya, dan saya akan menghantar kepada anda maklumat yang perlu untuk memeriksa persediaan panel admin saya.

Saya harap maklumat ini membantu.

Thanks.

kamilkurczak
11-03-11, 10:06
ya. Saya boleh mengesahkan di forum ujian saya!
Ini adalah satu kutu vBET jadi saya perlu untuk memindahkan thread ini ke bahagian laporan bug.

Saya menyedari bahawa terdapat isu pengekodan dengan surat dengan kod ASCII di bawah satu

Saya boleh membiak di forum ujian saya supaya saya boleh memperbaikinya tanpa akses kepada forum anda:)

Saya akan cuba mencari penyelesaian yang terbaik untuk anda.

freddie3218
12-03-11, 06:02
ya. Saya boleh mengesahkan di forum ujian saya!
Ini adalah satu kutu vBET jadi saya perlu untuk memindahkan thread ini ke bahagian laporan bug.

Saya menyedari bahawa terdapat isu pengekodan dengan surat dengan kod ASCII di bawah satu

Saya boleh membiak di forum ujian saya supaya saya boleh memperbaikinya tanpa akses kepada forum anda:)

Saya akan cuba mencari penyelesaian yang terbaik untuk anda.
Well, berita baik yang saya tetap masalah diri saya sendiri. Berita buruk bahawa saya tidak boleh mengesahkan bahawa penyelesaian ini akan bekerja sebagai fungsi penggantian ... kerana ia hanya berfungsi pada forum saya.

Apapun, di sini adalah fungsi baru:



function vbet_encodeToSafeUTF8(&$string) {

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


Fungsi ini menukar UTF-8 ISO-8859-1

kamilkurczak
12-03-11, 13:31
terima kasih untuk berita ini baik. Saya akan menguji dan mengesahkan

kamilkurczak
13-03-11, 13:15
Hello,
Penyelesaian anda tidak baik pada umumnya. Mengapa? Ini bekerja dengan surat dengan kod ASCII di bawah 256 (ditukar dan dipaparkan baik) tetapi surat dengan kod ASCII lebih 256 Saya telah "?" tanda-tanda.

Jadi, Kita perlu menggabungkan kedua-dua penyelesaian dalam satu;)

contoh:

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

baris ini:
[\304-\337] define daripada surat dengan kod ASCII di bawah 256 akan tidak dinyahkod oleh fungsi saya tetapi hanya oleh
utf8_decode

Saya menguji ia still.I tak sepenuhnya pasti bahawa semua kerja-kerja betul sekarang.
Anda juga boleh menguji!

freddie3218
14-03-11, 05:10
Untuk tujuan saya, penyelesaian kerja-kerja halus ... kerana saya hanya menterjemahkan ke dalam dua langauges ... Inggeris dan Perancis. Kedua-duanya adalah ISO-8859-1 (latin1) bahasa. Oleh itu fungsi "utf_decode" berfungsi dengan baik.

Walau bagaimanapun, dengan skop yang global memandangkan, fungsi utf_decode akan mungkin tidak bekerja untuk bahasa-bahasa lain di luar "latin1".

Saya tidak banyak programmer vBulletin. Walau bagaimanapun, saya akan menawarkan satu cadangan:

Mungkin menggunakan "Jika" kata kenyataan mungkin sesuai dengan tujuan anda lebih baik jika penyelesaian anda tidak bekerja. Dalam contoh di bawah, "translated_language_var" akan menjadi bahasa destinasi untuk menterjemahkan ke dalam.

IE:


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

if (in_array(translated_language_var,$latin1)){

$string = utf_decode($string);

}else{

original solution;
}

return $string;

Mungkin menggunakan sesuatu seperti ini akan menjadi satu kaedah yang pasti untuk memastikan semua selamat ...??? Saya pasti anda dengan mudah dapat menggunakan kod pseudo dan membuat ia bekerja untuk vBulletin. :)

kamilkurczak
27-03-11, 22:30
diselesaikan akan dimasukkan ke dalam relase seterusnya

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