Apakah ada opsi yang mengubah judul default daftar isi dalam mode Org?
Dokumen saya tidak dalam bahasa Inggris, jadi saya ingin menerjemahkan tabel judul konten.
Menjawab
Seperti kata JeanPierre, Ini tentang pengaturan ekspor. Anda dapat mengatur LANGUAGE
di bagian atas org
dokumen Anda dengan cara ini:
#+LANGUAGE: fr
Dan bahasa Prancis akan digunakan sebagai bahasa default semua string yang org
menghasilkan selama ekspor.
Konstanta yang bertanggung jawab atas pemetaan terjemahan ada org-export-dictionary
di ox.el
dan jika bahasa Anda tidak didukung, Anda dapat menjatuhkannya di sana dan kemudian eval-defun
membiarkan perubahan terjadi. Dalam kasus saya:
(defconst org-export-dictionary
...
("Table of Contents"
...
("sr" :html "Sadržaj" :utf-8 "Sadržaj")
...)
...)
Saya telah menulis fungsi naif yang dapat berguna dalam init.el
:
(defun org-export-translate-to-lang (term-translations &optional lang)
"Adds desired translations to `org-export-dictionary'.
TERM-TRANSLATIONS is alist consisted of term you want to translate
and its corresponding translation, first as :default then as :html and
:utf-8. LANG is language you want to translate to."
(dolist (term-translation term-translations)
(let* ((term (car term-translation))
(translation-default (nth 1 term-translation))
(translation-html (nth 2 term-translation))
(translation-utf-8 (nth 3 term-translation))
(term-list (assoc term org-export-dictionary))
(term-langs (cdr term-list)))
(setcdr term-list (append term-langs
(list
(list lang
:default translation-default
:html translation-html
:utf-8 translation-utf-8)))))))
(org-export-translate-to-lang '(("Table of Contents"
"Sadržaj"
"Sadržaj"
"Sadržaj")
("Another term"
"coilogji"))
"sr")
Penolakan
Tidak berfungsi jika Anda ingin mengekspor melalui Lateks (Lateks digunakan ketika Org mengekspor ke PDF). Lihatlah jawaban dan komentar Tyler.
sumber
Jawaban:
Manual organisasi mengatakan ini tentang pengaturan ekspor (Anda harus dapat menjelajahinya di info emacs
C-h i m Org m exporting
):Saya belum mencobanya tetapi saya berharap itu akan melakukan apa yang Anda inginkan.
sumber
Seperti yang ditunjukkan JeanPierre, Anda perlu menentukan pengaturan ekspor bahasa. Untuk bahasa Prancis, baris selanjutnya berfungsi:
Tidak semua bahasa didukung dan, seperti yang Anda katakan, dimungkinkan untuk melihat mana yang melihat
org-latex-export-dictionary
variabel (Anda dapat menggunakan perintah emacsC-h v
kemudian menulis nama variabel). Beberapa bahasa mungkin hanya didukung sebagian atau tidak didukung sama sekali seperti Bahasa Serbia. Jika Anda ingin itu berfungsi dengan bahasa yang tidak didukung tambahkan string yang diterjemahkan ke variabel dan lebih baik mengirimnya ke devs sehingga berakhir dengan mode-org.LaTex dan PDF
Jika Anda mengekspor ke LaTex dan ingin membiarkan Babel mengubah penggunaan teks:
Ini akan berfungsi dalam HTML dan lateks karena kata kunci AUTO akan diganti dengan nama bahasa Babel yang sesuai. Untuk melihat bahasa mana yang didukung, lihat
org-latex-babel-language-alist
variabelnya. Tidak semua bahasa yang tersedia di Babel ada tetapi bahasa Serbia ada dan berfungsi (mengujinya dan "Konten" muncul sebagai "Sadržaj").Jika bahasa Anda tidak ada
org-latex-babel-language-alist
tetapi tersedia dalam babel, seperti Breton, gunakan:Seperti Breton tidak di
org-latex-export-dictionary
dalamLANGUAGE
variabel tidak akan melakukan apapun untuk ekspor HTML, maka akan dalam bahasa Inggris, tetapi diperlukan. Itu karena apa yang akan berakhir di file LaTex adalah di\usepackage[breton, <default-lang>]{babel}
manadefault-lang
akan menjadi bahasa Inggris jikaLANGUAGE
tidak ada dan bahasa terakhir dianggap sebagai default oleh Babel. Karenabr
tidak ada dalamorg-latex-babel-language-alist
kita akhirnya\usepackage[breton, ]{babel}
, ada Breton adalah default.Jika Breton ditambahkan ke
org-latex-babel-language-alist
itu akan tetap bekerja (\usepackage[breton, breton]{babel}
). Jika Breton termasuk diorg-latex-export-dictionary
dalamnya sekarang akan berfungsi dalam HTML juga. Jika Breton tidak didukung oleh babel itu akan tetap bekerja tetapi dalam bahasa Inggris, jadi konfigurasi ini adalah yang memberi Anda sebanyak mungkin dalam bahasa yang ditentukan dengan bahasa Inggris sebagai back back. Saya lebih suka menggunakanAUTO
jika tersedia karena hanya ada satu tempat untuk meletakkan bahasa.Jika Anda tidak menyukai apa yang Babel masukkan sebagai "Konten" tetapi masih ingin menggunakannya Anda dapat melakukan sesuatu seperti:
Ini seperti jawaban Tyler tetapi untuk Babel.
sumber
Jika Anda mengekspor ke PDF, mode-org akan memanggil LaTeX untuk melakukan konversi. Dalam hal ini, Anda harus dapat memasukkan perintah LaTeX untuk mengubah judul TOC dengan baris berikut:
Letakkan itu di bagian atas file Anda dan coba ekspor.
sumber
\usepackage[mylanguage]{babel}
.#+LANGUAGE: fr
dan#+LATEX_HEADER: \usepackage[english]{babel}
dan dalam hal ini Lateks ekspor hal pengaturan pertama dan menerjemahkan string di rekan-rekan Perancis. Jika saya mendeklarasikande
dalam yang pertama danfrench
ataufrenchb
yang kedua -de
digunakan. Saya juga memperhatikan bahwa dalam kasus yang dijelaskan eksportir tidak menggunakanorg-export-dictionary
, lebih mungkin menggunakan bahasa Lateks. Punya ide?:
. Saya sudah mengoreksi jawaban saya.#+LANGUAGE: fr
sendiri, itu diabaikan - output LaTeX dalam bahasa Inggris. Jika saya menggunakannya dan#+LATEX_HEADER: \usepackage[english]{babel}
, LaTeX yang dihasilkan termasuk baris\usepackage[english, frenchb]{babel}
. Dan jika saya hanya menggunakan#+LATEX_HEADER: \usepackage[french]{babel}
, tanpa pengaturanLANGUAGE:
, apa yang sebenarnya dimasukkan adalah\usepackage[frenchb, english]{babel}
. Tak satu pun dari mereka mengubah PDF, itu selalu bahasa Inggris.Jawaban singkat: untuk ekspor pdf, paket TeXLive-lang-french diperlukan
org 9.1.9
: Pengaturan#+LANGUAGE: fr
saja tidak berpengaruh.mewujudkannya dengan
atau
sumber