Czy istnieje opcja zmieniająca domyślny tytuł spisu treści w trybie Org?
Mój dokument nie jest w języku angielskim, dlatego chcę przetłumaczyć tytuł spisu treści.
Odpowiedź
Jak powiedział JeanPierre, chodzi o ustawienia eksportu. Możesz ustawić LANGUAGE
na górze org
dokumentu w ten sposób:
#+LANGUAGE: fr
A francuski będzie używany jako domyślny język wszystkich łańcuchów org
tworzonych podczas eksportu.
Stała odwzorowań odpowiedzialny za tłumaczenie jest org-export-dictionary
w ox.el
a jeśli język nie jest obsługiwany można upuścić go tam i wtedy eval-defun
niech zmiana nastąpi. W moim przypadku:
(defconst org-export-dictionary
...
("Table of Contents"
...
("sr" :html "Sadržaj" :utf-8 "Sadržaj")
...)
...)
Napisałem naiwną funkcję, która może być przydatna w 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")
Zrzeczenie się
Nie działa, jeśli chcesz eksportować przez Latex (Latex jest używany, gdy Org eksportuje do PDF). Spójrz na odpowiedź i komentarze Tylera.
źródło
Odpowiedzi:
Podręcznik organizacji mówi o ustawieniach eksportu (powinieneś móc przeglądać je w informacjach emacsa
C-h i m Org m exporting
):Nie próbowałem tego, ale spodziewam się, że powinien zrobić to, co chcesz.
źródło
Jak wskazała odpowiedź JeanPierre, musisz określić ustawienie eksportu języka. W przypadku języka francuskiego działa następna linia:
Nie wszystkie języki są obsługiwane i, jak powiedziałeś, można zobaczyć, które przeglądają
org-latex-export-dictionary
zmienną (możesz użyć polecenia emacs,C-h v
a następnie wpisać nazwę zmiennej). Niektóre języki mogą być obsługiwane tylko częściowo lub wcale, jak serbski. Jeśli chcesz, aby działał z nieobsługiwanym językiem, dodaj przetłumaczone ciągi do zmiennej i najlepiej wyślij je do programistów, aby zakończyło się to trybem org.LaTex i PDF
Jeśli eksportujesz do LaTex i chcesz pozwolić Babelowi zmienić tekst, użyj:
Będzie to działać zarówno w HTML, jak i lateksie, ponieważ słowo kluczowe AUTO zostanie zastąpione odpowiednią nazwą języka Babel. Aby wyświetlić obsługiwane języki, zobacz
org-latex-babel-language-alist
zmienną. Nie wszystkie języki dostępne w Babel są dostępne, ale serbski jest i działa (przetestowano, a „Contents” pojawia się jako „Sadržaj”).Jeśli twój język nie jest w,
org-latex-babel-language-alist
ale jest dostępny w babel, jak Breton, użyj:Jak Breton nie jest w
org-latex-export-dictionary
tejLANGUAGE
zmiennej coś dla eksportu HTML nie zrobi, to będzie w języku angielskim, ale jest to konieczne. Dzieje się tak, ponieważ to, co znajdzie się w pliku LaTex, będzie\usepackage[breton, <default-lang>]{babel}
tamdefault-lang
, gdzie będzie angielski, jeśliLANGUAGE
nie jest obecny, a ostatni język jest uważany przez Babel za domyślny. Jakbr
nie maorg-latex-babel-language-alist
nas w końcu\usepackage[breton, ]{babel}
, tam Breton jest domyślny.Jeśli zostanie dodany Breton, i
org-latex-babel-language-alist
tak będzie działał (\usepackage[breton, breton]{babel}
). Jeśliorg-latex-export-dictionary
włączy się Breton , będzie on również działał w HTML. Jeśli Breton nie był obsługiwany przez Babel, i tak będzie działał, ale będzie w języku angielskim, więc ta konfiguracja daje ci tyle w określonym języku, ile to możliwe, z angielskim jako rezerwą. Wolę używać,AUTO
jeśli jest dostępny, ponieważ jest tylko jedno miejsce na umieszczenie języka.Jeśli nie podoba ci się to, co Babel określa jako „Treść”, ale nadal chcesz z niego korzystać, możesz zrobić coś takiego:
To jest jak odpowiedź Tylera, ale dla Babel.
źródło
Jeśli eksportujesz do formatu PDF, tryb organizacji wywoła LaTeX w celu wykonania konwersji. W takim przypadku powinno być możliwe wstawienie polecenia LaTeX w celu zmiany nagłówka spisu treści za pomocą następującego wiersza:
Umieść to na górze pliku i spróbuj wyeksportować.
źródło
\usepackage[mylanguage]{babel}
.#+LANGUAGE: fr
i#+LATEX_HEADER: \usepackage[english]{babel}
w tym przypadku szanuje eksportu Latex Pierwsze ustawienie i tłumaczy ciągi we francuskich odpowiedników. Jeśli zadeklarujęde
w pierwszym i /french
lubfrenchb
w drugim -de
jest używany. Zauważyłem również, że w opisanych przypadkach eksporter nie używaorg-export-dictionary
, bardziej prawdopodobne jest, że używa języków lateksowych. Masz pomysł?:
. Poprawiłem swoją odpowiedź.#+LANGUAGE: fr
samodzielnie, jest ignorowane - wyjście LaTeX jest w języku angielskim. Jeśli go#+LATEX_HEADER: \usepackage[english]{babel}
użyję, i powstały LaTeX zawiera linię\usepackage[english, frenchb]{babel}
. A jeśli używam tylko#+LATEX_HEADER: \usepackage[french]{babel}
, bez ustawianiaLANGUAGE:
, to, co faktycznie zostanie wstawione, to\usepackage[frenchb, english]{babel}
. Żaden z nich nie zmienia pliku PDF, zawsze jest w języku angielskim.Krótka odpowiedź: w przypadku eksportu pdf wymagany jest pakiet texlive-lang-french
org 9.1.9
: Samo ustawienie#+LANGUAGE: fr
nie ma wpływu.spraw, by tak się stało
lub
źródło