PDA

Επιστροφή στο Forum: Solved Πνευστά δεν εμφανίζονται σωστά ...



freddie3218
07-03-11, 16:09
Γεια σου.

Είμαι χρησιμοποιώντας vBulletin 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.

Φόρουμ μου έχει ρυθμιστεί για την εμφάνιση και τις δύο γλώσσες ως ISO-8859-1. Ως εκ τούτου, δεν είμαι χρησιμοποιώντας UTF-8

Επίσης, εγώ ακολούθησα τις οδηγίες εγκατάστασης πολύ στενά.

Η μόνη τροποποίηση που έκανα για να vBet είναι ότι έχω αλλάξει τις σημαίες προεπιλογή χρησιμοποιώντας CSS-Sprite. Ωστόσο, κοίταξα τον κώδικα, και τίποτα δεν το έκανα θα πρέπει να ισχύει με τον τρόπο που τα πράγματα είναι που εμφανίζεται.

Χρειάζεται να μετατρέψετε db μου σε UTF-8 για να λύσει αυτό το πρόβλημα;

Κάθε συμβουλή θα εκτιμηθεί. Χάρη. :)

freddie3218
08-03-11, 17:56
Λοιπόν .... I άτομα με ειδικές ανάγκες κάθε άλλο plugin, και ακόμα έχω το ίδιο πρόβλημα. Μοιάζει με ένα bug στην vbet

kamilkurczak
08-03-11, 19:35
Γεια σας, χρησιμοποιείτε UTF-8 φόρουμ και η βάση δεδομένων ή όχι;
Αν όχι - πρέπει να έχω μια λύση για σας. I wil να προετοιμάσει και να γράψει εδώ.

Αν μπορείτε να - παρακαλώ επικολλήστε εδώ μια διεύθυνση URL στη συνομιλία του με αυτό το θέμα.
Ευχαριστίες

freddie3218
09-03-11, 00:15
Γεια σας, χρησιμοποιείτε UTF-8 φόρουμ και η βάση δεδομένων ή όχι;
Αν όχι - πρέπει να έχω μια λύση για σας. I 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. ανοικτή, να δημιουργήσετε ένα αντίγραφο και να επεξεργαστείτε αυτό το αρχείο:
forum / root περιλαμβάνει / 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 un δοκιμή S'il vous plaà ® t ignorer ce μήνυμα"

Η σωστή απόδοση θα πρέπει να είναι: "Ceci est un δοκιμή S'il vous κοτσίδα ignorer ce μήνυμα.."

Ως εκ τούτου, επανήλθε πίσω.

Εδώ είναι ένα πράγμα που παρατήρησα:

Κατά την απόσπαση και επεξεργασία, δεν εμφανίζονται σωστά. Ωστόσο, εάν χτύπησα το κουμπί πρόγραμμα επεξεργασίας WYSIWYG για να πάει σε «βασική λειτουργία", τότε θα εμφανίζονται σωστά στο πρόγραμμα επεξεργασίας WYSIWYG. Ωστόσο, όταν προσπαθώ να το αποθηκεύσετε, επανέρχεται για να δείχνει σωστά και πάλι. Φαίνεται ότι ο συντάκτης WYSIWYG δεν είναι parsing τα πράγματα σωστά πριν από την αποθήκευση, όταν είμαι με τη χρήση VBET σε μια ξένη γλώσσα, ή όταν είμαι με τη χρήση του [lang =] tags. Ωστόσο, αν μετά μια ξένη φράση χωρίς τη χρήση του [lang = fr] tags, τότε θα εμφανίζονται σωστά κατά την αποθήκευση. Έτσι φαίνεται ότι VBET δεν επιτρέπει το πρόγραμμα επεξεργασίας WYSIWYG για να αναλύσει σωστά πριν από την αποθήκευση ... αν αυτό έχει νόημα.

kamilkurczak
10-03-11, 23:41
έχετε αυτό το ζήτημα, όταν θέλετε να δημοσιεύσετε σε μεταφρασμένη σελίδα ή όχι; Παρακαλείστε να περιγράψετε τι πρέπει να κάνω για να έχουν τα ίδια αποτελέσματα του φόρουμ για το τεστ μου.

freddie3218
11-03-11, 07:19
έχετε αυτό το ζήτημα, όταν θέλετε να δημοσιεύσετε σε μεταφρασμένη σελίδα ή όχι; Παρακαλείστε να περιγράψετε τι πρέπει να κάνω για να έχουν τα ίδια αποτελέσματα με forum.I δοκιμή μου, δεν ξέρω αν μπορείτε να αναπαραγάγετε αυτό στο φόρουμ σας ή όχι. Ωστόσο, αυτό είναι ό, τι συμβαίνει:

VBulletin έκδοση 4.08
Έχω δύο γλώσσες στην ιστοσελίδα μου: Αγγλικά και Γαλλικά. Έχω απενεργοποιήσει όλες τις άλλες γλώσσες, καθώς και όλες τις άλλες σημαίες.
Όλες αγγλικά και γαλλικά, μεταφράζεται σε όλο το site σωστά, με την κατάλληλη τόνους. Η μόνη φορά που ο εμφάσεις δεν εμφανίζονται σωστά είναι αν κάποιος χρησιμοποιεί τη γαλλική γλώσσα και δημοσιεύσεις στα γαλλικά ... έχοντας την «γαλλική γλώσσα" που έχει επιλεγεί προφίλ των χρηστών τους. Σε αυτή την περίπτωση, VBET θα εκχωρήσει τη σωστή ετικέτες BBcode αυτομάτως σε περίπτωση απόσπασης. IE: «[lang = fr]" Ωστόσο, τη στιγμή που θα υποβάλουν τη θέση εργασίας τους, τις εμφάσεις στην θέση τους δεν θα εμφανίζονται σωστά. Εάν πατήσετε το "μήνυμα Επεξεργασία", θα δουν τη θέση τους στον προηγμένο επεξεργαστή WYSIWYG εμφανίζονται σωστά (έχω όλους τους λογαριασμούς που έχει συσταθεί για να χρησιμοποιήσετε το πρόγραμμα επεξεργασίας WYSIWYG, ακόμη και σε γρήγορη απάντηση, από προεπιλογή, έτσι ώστε όλοι οι χρήστες να μπορούν να αποδίδουν εικόνες από σκληρό δίσκο τους). Ωστόσο, αν αλλάξετε το "συντάκτης διακόπτη" κουμπί μπροστά και πίσω, θα δουν τη θέση τους εμφανίζονται σωστά. Ωστόσο, όταν προσπαθούν να αποθηκεύσετε τις αλλαγές στην θέση τους, θα εμφανιστεί και πάλι σωστά όταν σώσει τη θέση εργασίας τους.

Αυτό το πρόβλημα συμβαίνει μόνο όταν ο χρήστης χρησιμοποιεί την "ΓΑΛΛΙΚΗ ΓΛΩΣΣΑ" στις ρυθμίσεις του προφίλ των χρηστών τους και την απόσπαση στη γαλλική γλώσσα ... καθιστώντας έτσι vbet προσθέσετε το [lang = fr] σε θέση αυτόματα.

Φόρουμ γλώσσα μου προεπιλογή είναι τα Αγγλικά.

Εάν πρέπει να ρίξετε μια ματιά γύρω στο forum μου ... pm μου, και εγώ θα σας στείλουμε τις απαραίτητες πληροφορίες για να ελέγξετε έξω το admin εγκατάσταση πάνελ μου.

Ελπίζω αυτές οι πληροφορίες είναι χρήσιμες.

Χάρη.

kamilkurczak
11-03-11, 10:06
Ναι. Μπορώ να το επιβεβαιώσω του φόρουμ για το τεστ μου!
Αυτό είναι ένα bug vBET γι 'αυτό πρέπει να κινηθούμε σε αυτό το νήμα τμήμα διορθώσεις σφαλμάτων.

Παρατήρησα ότι υπάρχει ένα θέμα κωδικοποίησης με επιστολές με ASCII κώδικα κάτω από ένα

Μπορώ να αναπαράγουν το στο φόρουμ τεστ μου ώστε να μπορώ να το διορθώσω χωρίς πρόσβαση στο φόρουμ σας:)

Θα προσπαθήσουμε να βρούμε την καλύτερη λύση για εσάς.

freddie3218
12-03-11, 06:02
Ναι. Μπορώ να το επιβεβαιώσω του φόρουμ για το τεστ μου!
Αυτό είναι ένα bug vBET γι 'αυτό πρέπει να κινηθούμε σε αυτό το νήμα τμήμα διορθώσεις σφαλμάτων.

Παρατήρησα ότι υπάρχει ένα θέμα κωδικοποίησης με επιστολές με 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".

Δεν είμαι ένα μεγάλο μέρος ενός προγραμματιστή vBulletin. Ωστόσο, θα προσφέρουν μία πρόταση:

Ίσως χρησιμοποιώντας ένα "If" δήλωση μπορεί να ταιριάξει τους σκοπούς σας καλύτερα, αν η λύση σας δεν λειτουργεί. Στο παρακάτω παράδειγμα, το "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;

Ίσως με κάτι τέτοιο θα ήταν ένας σίγουρος τρόπος για να κρατήσει τα πάντα ασφαλή ...??? Είμαι βέβαιος ότι θα μπορούσατε εύκολα να χρησιμοποιήσετε αυτό το ψευδο-κώδικα και να λειτουργήσει για vBulletin. :)

kamilkurczak
27-03-11, 22:30
λυθούν - θα συμπεριληφθεί στο επόμενο relase

Automatic Translations (Powered by Google, Microsoft®, Yandex, SDL Language Cloud, IBM Watson and Apertium):
AfrikaansAlbanianArabicBelarusianBulgarianCatalanChineseCroatianCzechDanishDutchEnglishEstonianFilipinoFinnishFrenchGalicianGermanGreekHaitian CreoleHebrewHindiHungarianIcelandicIndonesianIrishItalianJapaneseKoreanLatvianLithuanianMacedonianMalayMalteseNorwegianPersianPolishPortugueseRomanianRussianSerbianSlovakSlovenianSpanishSwahiliSwedishTaiwaneseThaiTurkishUkrainianVietnameseWelshYiddish
Translations by vB Enterprise Translator 4.10.1