Wie kann der Org-Modus die arabische Sprache für den Export vollständig unterstützen?


7

Meine Absicht ist es, arabische Dokumente im org-Modus zu schreiben. Bitte beachten Sie die folgende MWE, da meine Konfiguration in den folgenden init.elCode enthält, um das Schreiben arabischer Schrift von rechts nach links (rtl) anstelle des Standardverhaltens von links nach rechts (ltr) zu ermöglichen:

;; for right-to-left direction in org-mode
(defun set-bidi-env ()
  "interactive"
  (setq bidi-paragraph-direction 'nil))
(add-hook 'org-mode-hook 'set-bidi-env)

MWE.org Puffer

# -*- mode: org -*-
#+OPTIONS: toc:1
#+LANGUAGE: ar
#+CREATOR: Emacs 25.1.50.2 (Org mode 8.3.4)

* تعريف بالارقام الهندية او الشرقية ١، ٢، ٣
* هذه النقطة الان باللغة العربية 

* ما هو الحل؟
* النهاية

* Introducing Hindi or estern numbers 1, 2, 3

* This point now in Arabic

* How to solve it?

* The end.

Die letzten vier Punkte auf Englisch sind die Übersetzung der ersten vier Aufzählungszeichen auf Arabisch. Wenn ich es jetzt HTMLdurch Drücken von C- c C- in das Format exportiere, e h oerhalte ich folgende Ausgabe:

Geben Sie hier die Bildbeschreibung ein

Probleme

  1. Table of Contentswurde nicht ins Arabische übersetzt, wie es normalerweise zu erwarten war, wenn die Sprache auf eingestellt war ar. Wie man den Organisationsmodus auf diese arabischen Entsprechungen einer beliebigen Dokumentstruktur aufmerksam macht, z. B. Inhaltsverzeichnis, Kapitel, Abbildung, Tabelle usw.

Update
Dies ist jetzt behoben. Ich habe Folgendes aktualisiert ox.el:

(org-export-smart-quotes-alist): add "ar" to the list

(org-export-dictionary): add Arabic equivalents to template keywords

Ich würde also nur den relevanten Code einfügen, table of contentsder für die aktuelle MWE ausreicht:

("Table of Contents"
 ("ar" :default "قائمة المحتويات")

Geben Sie hier die Bildbeschreibung ein

  1. Die Listennummern waren im arabischen Format 1,2,3(ja, ich weiß, dass sie sehr kontraintuitiv sind, aber bitte tragen Sie sie mit mir), während ich auf Hindi erscheinen wollte (siehe 1. Aufzählungszeichen im Ausgabebild). Ich möchte Hindi in arabischer Sprache anstelle von 1, 2, 3 Zahlen. Dies gilt auch für das Inhaltsverzeichnis. Wie erreicht man diese Anpassung?

Update
Dies sind die Hindi-Äquivalente für arabische Ziffern:

                 ("0" "\u0660")
                 ("1" "\u0661")
                 ("2" "\u0662")
                 ("3" "\u0663")
                 ("4" "\u0664")
                 ("5" "\u0665")
                 ("6" "\u0666")
                 ("7" "\u0667")
                 ("8" "\u0668")
                 ("9" "\u0669")

Ich hoffe, dies wäre nützlich, um es im Falle einer arabischen Sprache exportieren zu lassen.

  1. Wie Sie in der Ausgabe sehen können, war die Richtung der ersten vier Listenelemente von links nach rechts nicht so, wie es in arabischer Sprache von rechts nach links erwartet wird. Wie kann die Richtung je nach verwendetem Skriptkontext (Arabisch / Englisch) geändert werden?

Ihre Hilfe wäre sehr dankbar.


Wenn Sie "Ich habe die Datei ox.el aktualisiert" sagen, bedeutet dies, dass Sie Korrekturen haben, die in den Organisationsmodus zurückgeführt werden könnten? Wenn ja, erstellen Sie dazu bitte einen Fehlerbericht.
Phils

Antworten:


0

Ich kann dies teilweise beantworten:

Wie Sie in der Ausgabe sehen können, war die Richtung der ersten vier Listenelemente von links nach rechts nicht so, wie es in arabischer Sprache von rechts nach links erwartet wird. Wie kann die Richtung je nach verwendetem Skriptkontext (Arabisch / Englisch) geändert werden?

Ich weiß nicht, wie ich die RTL-Richtung nur für die ersten 4 Elemente auf Arabisch und nicht für die restlichen 4 auf Englisch einstellen soll. Wenn Sie jedoch die RTL-Richtung für die gesamte Seite festlegen möchten, handelt es sich eher um eine HTML-Frage. Die Antwort ist von hier .

Vor

<html lang="ar"> 
..

Nach

<html dir="rtl" lang="ar"> 
..
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.