Ich erstelle eine Website in WordPress. Es ist im Grunde eine englische Website, aber wenn der Benutzer auf „Übersetzen“ klickt, wird sie ins Arabische übersetzt. Es gibt ein Problem ltr
und rtl
,Wie kann ich das lösen? Ich verwende gerade das qtranslate-Plugin. Wer mir dabei helfen kann, siehe angehängtes Bild
Vielen Dank
Umgang mit LTR und RTL für arabische Sites (Internationalisierung) [closed]
Arash Milani
Es scheint, dass dieses WordPress-Plugin eine Sprachrichtung und einen Namen in die einfügt <html>
Schild. so was:
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
ODER
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ar-AR">
Wenn ich Sie verstehe, wird das Plugin nicht korrekt wiedergegeben direction
Attribut für die ltr
Sprachen.
Erste Wahl
Eine Möglichkeit besteht darin, Javascript zu verwenden, um dies zu beheben. einfach erkennen wir die rtl
Sprachen nach ihren ISO-Codes (hier ist es ar
für Arabisch) und dem Hinzufügen einer Klasse body
Schild
jQuery(function(){
jQuery("html[lang=ar]").attr("dir", "rtl")
.find("body").addClass("right-to-left");
});
Jetzt können Sie diese Elemente in der Design-CSS-Datei gestalten, indem Sie diese voranstellen right-to-left
Klasse wie folgt: (Dies ist nur ein Beispiel)
body.right-to-left my-element li {
float:right;
direction: rtl;
}
.
Zweite Option
Wie in der anderen Antwort vorgeschlagen, verwenden Sie php, um diesen Klassennamen in die einzufügen body
Tag der Seite. öffne dein header.php
Datei in Ihrem Design und bearbeiten Sie diese Zeile:
<body class=" <?php if($_GET["lang"] == "ar") echo "right-to-left"; ?> ">
Verwenden Sie jetzt dasselbe CSS, um Ihre Elemente zu gestalten
-
meine header.php beginnt mit einem div
– Benutzer1765876
25. Dezember 2012 um 7:52 Uhr
-
Es kann sich je nach Thema an verschiedenen Orten befinden. Finden Sie heraus, welche Datei die hat
<body>
Start-Tag. und wenden Sie diese Änderung auf diese Datei an.– Arash Milani
25. Dezember 2012 um 11:19 Uhr
-
Leute sagen, es ist in header.php
– Benutzer1765876
25. Dezember 2012 um 12:41 Uhr
Hilfs
Eine einfache, aber ineffiziente Möglichkeit besteht darin, die Sprache mit PHP in der Header-Datei Ihres Designs zu überprüfen, und wenn es sich um Arabisch oder eine andere RTL-Sprache handelt, können Sie das dir=”rtl” zu Ihrem HTML oder einem beliebigen Tag hinzufügen. Ich habe festgestellt, dass qTranslate einen GET-Methodenmodus hat und so etwas hinzufügt wie ?lang=ar
zu den URLs. Sie könnten es also leicht mit PHP überprüfen: if ($_GET["lang"]=='ar') ...
BEARBEITEN
Sie können so etwas in die Header-Datei Ihres Designs einfügen. (Du findest diese Datei unter path_to_wordpress/wp-content/themes/your_theme/header.php), sie heißt entweder header.php oder etwas ähnliches.
finde die <body>
-Tag und fügen Sie diese Zeile am Ende hinzu (vor der > Schild):
<?php if($_GET["lang"] == "ar") echo "dir="rtl""; ?>
-
qtranslate leitet nichts mit URL in “lang” weiter, ich meine, es gibt kein Name-Wert-Paar
– Benutzer1765876
24. Dezember 2012 um 20:58 Uhr
-
qTranslate hat 3 Modi, einer davon ist der URL-Modus. Sehen qianqin.de/qtranslate
– Hilfs
24. Dezember 2012 um 21:02 Uhr
-
meine header.php beginnt mit einem div
– Benutzer1765876
25. Dezember 2012 um 7:51 Uhr
@SergeyS Meine Website sieht nicht gut aus, wenn ich auf Arabisch klicke, es gibt Probleme mit rtl und ltr, wie kann ich damit umgehen? Ich kann mit den Wörtern umgehen und Wörter in die .po-Datei einfügen
– Benutzer1765876
24. Dezember 2012 um 19:44 Uhr
Da musst du schon viel konkreter werden. Welche Richtungsprobleme? Spaltenreihenfolge? Zeichenreihenfolge? Latein/Interpunktionstanz mit Arabisch?
– bmargulies
24. Dezember 2012 um 19:46 Uhr
@bmargulies arabisch ist nicht rtl
– Benutzer1765876
24. Dezember 2012 um 20:09 Uhr
Es wäre sehr hilfreich, wenn Sie einen Screenshot oder ähnliches hinzufügen könnten.
– Hilfs
24. Dezember 2012 um 20:13 Uhr
@Auxiliary bitte schau mal
– Benutzer1765876
24. Dezember 2012 um 20:18 Uhr