المساعد الشخصي الرقمي

عرض النسخة الكاملة : حل لهجات لا تعرض بشكل صحيح...



freddie3218
07-03-11, 16:09
مرحبا.

أنا باستخدام المنتدى 4.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.

تم تعيين ما يصل الى بلدي منتدى عرض كل اللغات ك 1 - ISO - 8859. ولذلك ، فإنني لا تستخدم UTF - 8

أيضا ، اتبعت تعليمات التثبيت عن كثب.

والتعديل الوحيد الذي أدليت به لvBet هو أنني غيرت الأعلام الافتراضية باستخدام CSS - العفريت. ومع ذلك ، نظرت إلى رمز ، وليس هناك ما ينبغي أن فعلت تأثير على الطريقة التي يتم عرض الأمور.

لا بد لي من بلدي لتحويل ديسيبل UTF - 8 لحل هذه المشكلة؟

سيكون موضع تقدير أي نصيحة. شكرا. :)

freddie3218
08-03-11, 17:56
كذلك.... أنا تعطيل كل البرنامج المساعد أخرى ، وأنا لا تزال لديها نفس المشكلة. يشبه الخطأ في vbet

kamilkurczak
08-03-11, 19:35
مرحبا ، هل استخدام UTF - 8 منتدى وقاعدة البيانات أم لا؟
إن لم يكن -- يجب ان يكون لدي حل لك. أنا فيل تحضير له والكتابة هنا.

إذا كنت تستطيع -- يرجى لصق هنا للتسجيل في الموضوع مع هذه القضية.
شكرا

freddie3218
09-03-11, 00:15
مرحبا ، هل استخدام UTF - 8 منتدى وقاعدة البيانات أم لا؟
إن لم يكن -- يجب ان يكون لدي حل لك. أنا فيل تحضير له والكتابة هنا.

إذا كنت تستطيع -- يرجى لصق هنا للتسجيل في الموضوع مع هذه القضية.
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. حفظ واختبار!

هذا يجب أن تعمل فقط من أجل وظائف جديدة. جميع الوظائف الحالية يجب أن تقوم بتحرير باليد.
أنا لا SHURE أن لديك منتدى ISO ولكن يمكنك اختبار عليه. إذا لم يكن جيدا -- يرجى الكتابة فوق هذه التغييرات ملف بو القديمة

freddie3218
10-03-11, 15:30
مرحبا ،

كان ذلك محاولة جيدة. ومع ذلك ، فإنه لا يعمل.

الإخراج يظهر الآن ". آشينفيلتر اختبار للامم المتحدة بتوقيت شرق الولايات المتحدة S'il vous plaà ® ر م رسالة ignorer"

يجب أن يكون الإخراج الصحيح : "آشينفيلتر اختبار للامم المتحدة بتوقيت شرق الولايات المتحدة S'il vous ضفيرة رسالة CE ignorer".

لذلك ، عادت عدت.

هنا هو شيء واحد أنني لاحظت :

عند نشر والتحرير ، وانها لا تعرض بشكل صحيح. ومع ذلك ، إذا كنت اضغط على زر تحرير سوغ للذهاب الى "الوضع الأساسي" ، ثم فإنه سيتم عرض بشكل صحيح في محرر WYSIWYG. ومع ذلك ، عندما أحاول حفظه ، فإنه يعود إلى يظهر مرة أخرى بشكل غير صحيح. يبدو أن المحرر WYSIWYG ليس تحليل الأمور بشكل صحيح قبل الحفظ عندما أنا باستخدام VBET بلغة أجنبية ، أو عندما أنا باستخدام [لانج =] به. ومع ذلك ، إذا كنت آخر عبارة أجنبية دون استخدام [لانج = الاب] به ، ثم فإنه سيتم عرض بشكل صحيح عند الحفظ. لذلك يبدو أن VBET لا يسمح محرر WYSIWYG لتحليل صحيح قبل الحفظ... إذا كان ذلك يجعل من أي معنى.

kamilkurczak
10-03-11, 23:41
لديك هذه المشكلة عندما كنت ترغب في مشاركة في الصفحة المترجمة أو لا؟ يرجى وصف ما يجب أن أقوم به أن يكون على نفس النتائج على منتدى اختباري.

freddie3218
11-03-11, 07:19
لديك هذه المشكلة عندما كنت ترغب في مشاركة في الصفحة المترجمة أو لا؟ يرجى وصف ما يجب أن أقوم به أن يكون على نفس النتائج على forum.I اختباري لا نعرف ما اذا كان يمكنك استخراج هذا المنتدى على الخاص أم لا. ومع ذلك ، هذا هو ما يحدث :

vBulletin الإصدار 4.08
لقد لغتين على موقعي : الانكليزية والفرنسية. أنا تعطيل كافة لغات أخرى ، وجميع الأعلام الأخرى.
ويترجم كل الانكليزية والفرنسية في جميع أنحاء الموقع بشكل صحيح ، مع لهجات المناسبة. المرة الوحيدة التي لهجات لا يتم عرض بشكل صحيح إذا كان شخص ما باستخدام لغة الفرنسية والوظائف باللغة الفرنسية... وجود "لغة الفرنسية" في اختيار التشكيل الجانبي للمستخدم الخاصة بهم. في هذه الحالة ، سوف VBET تعيين علامات اضافة html المناسبة تلقائيا عندما آخر. IE : "[الاب بلغات =]" ومع ذلك ، بمجرد أن يقدم موقعهم ، لهجات على موقعهم لن تظهر بشكل صحيح. إذا كانت الصحافة "آخر تعديل" الزر ، وسوف يرون موقعهم في محرر WYSIWYG المتقدم عرض بشكل غير صحيح (لدي جميع الحسابات التي أنشئت لاستخدام محرر WYSIWYG ، حتى في الرد السريع ، افتراضيا بحيث يمكن لكافة المستخدمين إرفاق صور من على القرص الصلب). ومع ذلك ، إذا كانوا تبديل "محرر تبديل وضع زر" ذهابا وإيابا ، وسوف يرون موقعهم تظهر بشكل صحيح. حتى الآن ، وعندما حاول حفظ التغييرات إلى وظائفهم ، فإنه سيتم عرض بشكل غير صحيح مرة أخرى عندما حفظ موقعهم.

هذه المشكلة يحدث فقط عندما يكون المستخدم باستخدام "اللغة الفرنسية" في إعداداتها التشكيل الجانبي للمستخدم ونشرها في اللغة الفرنسية... مما يجعل vbet إضافة [= بلغات الاب] إلى آخر تلقائيا.

لغتي هي اللغة الإنجليزية منتدى الافتراضية.

إذا كنت في حاجة لإلقاء نظرة على منتدى حول بلدي... ومساء ، وأنا أرسل لك المعلومات اللازمة للتحقق من بلدي الإعداد وحة الادارة.

آمل ان تكون هذه المعلومات مفيدة.

شكرا.

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 إلى 1 - ISO - 8859

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

أنا لست مبرمجا الكثير من المنتدى. ومع ذلك ، وسوف نقدم اقتراح واحد :

ربما باستخدام خطأ "إذا كان" البيان قد تناسب أغراضك بشكل أفضل إذا الحل لا يعمل. في المثال أدناه ، فإن "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 made by vBET Translator 4.9.99