PDA

مشاهده نسخه کامل : حل لهجه ها نمایش صحیح...



freddie3218
07-03-11, 16:09
سلام.

من با استفاده از اصلی 4.08.

من با استفاده از فعال تصدی به طور عمده به دو زبان... زبان انگلیسی و فرانسه. انجمن زبان پیش فرض را به انگلیسی. با این حال ، هر زمان که پست کاربر به زبان فرانسه ، ترجمه نمایش به درستی در زبان انگلیسی است. با این حال ، در فرانسه لهجه را نمایش دهد. در عوض ، آن را شبیه به این نمایش :


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.

انجمن های گفتگوی من قرار است برای نمایش هر دو زبان را به عنوان که کدینگ آنها ISO - 8859 - 1. بنابراین ، من از UTF - 8 استفاده نمی

همچنین ، من به دنبال دستورالعمل های نصب بسیار نزدیک است.

اصلاح تنها من ساخته شده به فعال تصدی این است که من تغییر پرچم به طور پیش فرض با استفاده از CSS - جن. با این حال ، من در کد نگاه ، و هیچ چیز من باید راه را که همه چیز به نمایش را اثر.

آیا من باید برای تبدیل بل من به UTF - 8 برای حل این مشکل؟

هر گونه مشاوره ، قدردانی می شود. با تشکر. :)

freddie3218
08-03-11, 17:56
خب.... من از کار افتاده هر پلاگین دیگر ، و من هنوز هم مشکل مشابه است. به نظر می رسد مانند اشکال در فعال تصدی

kamilkurczak
08-03-11, 19:35
میهمان گرامی ، UTF - 8 انجمن و پایگاه داده استفاده می کنید یا نه؟
اگر نه -- من باید یک راه حل برای شما داشته باشد. من wil به آن و آماده نوشتن در اینجا.

اگر شما می توانید -- رب لطفا اینجا یک URL به موضوع با این موضوع است.
تشکر

freddie3218
09-03-11, 00:15
میهمان گرامی ، UTF - 8 انجمن و پایگاه داده استفاده می کنید یا نه؟
اگر نه -- من باید یک راه حل برای شما داشته باشد. من wil به آن و آماده نوشتن در اینجا.

اگر شما می توانید -- رب لطفا اینجا یک URL به موضوع با این موضوع است.
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 اما شما می توانید آن را تست. اگر خوب نیست -- لطفا بازنویسی این تغییرات فایل BU قدیمی

freddie3218
10-03-11, 15:30
سلام ،

این را امتحان کنید خوب بود. با این حال ، آن کار نمی کند.

خروجی در حال حاضر نشان می دهد : "Ceci EST سازمان ملل متحد آزمایش S'il vous دوپلا ® T ignorer CE پیام"

خروجی صحیح باید باشد : "Ceci EST سازمان ملل متحد آزمایش S'il vous چین دار کردن پیام CE ignorer."

بنابراین ، من به عقب بازگشته است.

در اینجا یک چیز متوجه شدم :

هنگام ارسال و ویرایش ، آن را به درستی نمایش داده نمی کند. با این حال ، اگر من ضربه دکمه ویرایشگر WYSIWYG برای رفتن به "حالت اولیه" ، و سپس آن را به درستی نمایش داده خواهد شد در ویرایشگر WYSIWYG. با این حال ، زمانی که من سعی می کنم به آن را ذخیره کنید ، آن را به نشان دادن اشتباه دوباره تبدیل شدن. به نظر می رسد که ویرایشگر WYSIWYG چیز تجزیه است به درستی و قبل از صرفه جویی در زمانی که من با استفاده از فعال تصدی در یک زبان خارجی ، و یا زمانی که من با استفاده از [زبان =] برچسب ها. با این حال ، اگر یک عبارت خارجی در نوشته ها استفاده کنم بدون استفاده از [زبان = FR] برچسب ها ، سپس آن را به درستی نمایش داده خواهد شد زمانی که صرفه جویی در. بنابراین به نظر می رسد که فعال تصدی اجازه نمی ویرایشگر WYSIWYG به تجزیه به درستی پیش از ذخیره کردن... اگر که می سازد هر حس.

kamilkurczak
10-03-11, 23:41
شما باید این موضوع در زمانی که شما می خواهم بر روی صفحه ترجمه شده یا نشده ارسال؟ لطفا توصیف آنچه که من باید انجام دهید به نتایج مشابه در فروم تست من.

freddie3218
11-03-11, 07:19
شما باید این موضوع در زمانی که شما می خواهم بر روی صفحه ترجمه شده یا نشده ارسال؟ لطفا توصیف آنچه که من باید انجام دهید به همان نتایج را در forum.I من نمی دانم اگر شما می توانید این کار را در فروم شما و یا تولید مثل. با این حال ، این چه اتفاقی می افتد :

صفحه اصلی نسخه 4.08
من دو زبان بر روی سایت خودم تهیه کنم : انگلیسی و فرانسه است. من از کار افتاده تمام زبان های دیگر ، و همه پرچم های دیگر است.
همه زبان انگلیسی و فرانسه در سراسر سایت ترجمه درست ، با لهجه مناسب است. زمان تنها لهجه ها به درستی نمایش داده نمی است اگر کسی با استفاده از زبان های فرانسوی و نوشته های به زبان فرانسه... داشتن "زبان فرانسه" در مشخصات کاربری خود را انتخاب است. در این مورد ، فعال تصدی تگ کدهای BB مناسب به طور خودکار اختصاص زمانی که آنها در پست. IE : "[زبان = FR]" با این حال ، هنگامی که پست خود را ارسال کنید ، نه لهجه در پست خود ظاهر خواهد شد به درستی. اگر دکمه "ویرایش" را فشار دهید ، آنها را پست خود را در ویرایشگر پیشرفته WYSIWYG نمایش داده شده نادرست (من که همه حساب های راه اندازی برای استفاده از ویرایشگر WYSIWYG ، حتی در پاسخ سریع ، به طور پیش فرض به طوری که تمام کاربران می توانند تصاویر را از ضمیمه را ببینید هارد درایو خود را). با این حال ، اگر آنها ضامن "ویرایشگر حالت سوئیچ" را فشار دهید به جلو و عقب ، آنها را دیدن پست های خود را به درستی به نظر می رسد. با این حال ، زمانی که آنها سعی می کنند برای ذخیره کردن تغییرات در پست خود ، آن را یک بار دیگر به طور نادرست نمایش داده خواهد شد زمانی که پست خود را نجات.

این تنها مشکل اتفاق می افتد زمانی که کاربر با استفاده از "زبان فرانسه" در تنظیمات پروفایل کاربر خود و نوشتن در زبان فرانسه... نتیجه گیری فعال تصدی اضافه کردن [زبان = FR] به یک نوشته به طور خودکار.

زبان پیش فرض انجمن من به زبان انگلیسی است.

اگر شما نیاز به نگاهی به اطراف در فروم من... من ، و من به شما اطلاعات لازم ارسال به اتمام نصب پانل مدیر من.

من امیدوارم که این اطلاعات مفید است.

با تشکر.

kamilkurczak
11-03-11, 10:06
بله. من می توانم آن را در فروم تست من را تایید!
این مشکلات را فعال تصدی بنابراین من نیاز به حرکت در این موضوع را به بخش گزارش باگ است.

متوجه شدم که یک مسئله را پشتیبانی می کند وجود دارد با نامه با کد ASCII زیر

من می توانم آن را در فروم تست من ، بنابراین من می توانم آن را بدون دسترسی به انجمن خود را ثابت تولید مثل :)

من سعی خواهد کرد که بهترین راه حل برای شما است.

freddie3218
12-03-11, 06:02
بله. من می توانم آن را در فروم تست من را تایید!
این مشکلات را فعال تصدی بنابراین من نیاز به حرکت در این موضوع را به بخش گزارش باگ است.

متوجه شدم که یک مسئله را پشتیبانی می کند وجود دارد با نامه با کد ASCII زیر

من می توانم آن را در فروم تست من ، بنابراین من می توانم آن را بدون دسترسی به انجمن خود را ثابت تولید مثل :)

من سعی خواهد کرد که بهترین راه حل برای شما است.
خوب خبر خوب این است که من ثابت این مشکل خودم. خبر بد این است که من نمی توانم تایید می کنند که در این راه حل را به عنوان تابع جایگزینی کار... به عنوان آن را فقط در انجمن های من کار می کند.

با این وجود ، در اینجا تابع جدید :



function vbet_encodeToSafeUTF8(&$string) {

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


این تابع تبدیل به UTF - 8 که کدینگ آنها ISO - 8859 - 1

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
حل شد -- در منتقدان بعدی گنجانده خواهد شد

Automatic Translations (Powered by Google, Microsoft®, Yandex, SDL Language Cloud, IBM Watson and Apertium):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Thanks to vBET 4.10.1 you can enjoy automatic translations