¿Cómo obtener el modo org totalmente compatible con el idioma árabe para la exportación?

7

Mi intención es escribir un documento árabe usando el modo org. Tenga en cuenta el siguiente MWE, dado que mi configuración init.eltiene el siguiente código para permitir la escritura de la escritura árabe de derecha a izquierda (rtl) en lugar del comportamiento predeterminado de izquierda a derecha (ltr):

;; 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 buffer

# -*- 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.

Los últimos cuatro puntos en inglés son la traducción de los primeros cuatro puntos en árabe. Entonces, si lo exporto a HTMLformato presionando C- c C, e h oobtengo esta salida:

ingrese la descripción de la imagen aquí

Cuestiones

  1. Table of Contentsno se tradujo al árabe como se esperaría normalmente cuando se configura el idioma ar. Cómo hacer que el modo org sea consciente de estos equivalentes árabes de cualquier estructura de documento, por ejemplo, TOC, capítulo, figura, tabla, etc.

Actualizar
Esto ahora está arreglado. Actualicé el ox.el:

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

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

así que pondría solo el código relevante table of contentsque sea suficiente para el MWE actual:

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

ingrese la descripción de la imagen aquí

  1. Los números de la lista estaban en formato árabe 1,2,3(sí, muy contraintuitivo, lo sé, pero tengan paciencia conmigo, por favor), mientras que quería aparecer en hindi (vea la viñeta de la primera lista en la imagen de salida). Quiero hindi en idioma árabe en lugar de 1, 2, 3 números. Esto se aplica a la tabla de contenido también. ¿Cómo lograr esta personalización?

Actualización
Estos son los equivalentes hindi para los dígitos arábigos:

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

Espero que esto sea útil para exportarlo en caso de idioma árabe.

  1. Finalmente, como puede ver en la salida, la dirección de los primeros cuatro elementos de la lista era de izquierda a derecha, no como lo que se espera en el idioma árabe de derecha a izquierda. ¿Cómo cambiar la dirección según el contexto del guión utilizado (árabe / inglés)?

Su ayuda sería muy apreciada.

doctorado
fuente
Cuando dice "Actualicé el ox.el", ¿eso significa que tiene correcciones que podrían contribuir al modo org? Si es así, ¿cree un informe de error para hacerlo?
Phil

Respuestas:

0

Puedo responder parcialmente esto:

Finalmente, como puede ver en la salida, la dirección de los primeros cuatro elementos de la lista era de izquierda a derecha, no como lo que se espera en el idioma árabe de derecha a izquierda. ¿Cómo cambiar la dirección según el contexto del guión utilizado (árabe / inglés)?

No sé cómo configurar la dirección RTL solo para los primeros 4 elementos en árabe y no para el resto 4 en inglés. Pero si desea establecer la dirección RTL para toda la página, es más una pregunta HTML; La respuesta es de aquí .

antes de

<html lang="ar"> 
..

Después

<html dir="rtl" lang="ar"> 
..
Kaushal Modi
fuente