Umgang mit LTR und RTL für arabische Sites (Internationalisierung) [closed]

Lesezeit: 3 Minuten

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 BildGeben Sie hier die Bildbeschreibung ein
Vielen Dank

  • @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

Benutzer-Avatar
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

Benutzer-Avatar
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

1234590cookie-checkUmgang mit LTR und RTL für arabische Sites (Internationalisierung) [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy