Existe uma opção que altera o título padrão do sumário no modo Org?
Meu documento não está em inglês, por isso quero traduzir o título da tabela de conteúdo.
Responda
Como JeanPierre disse, trata-se de configurações de exportação. Você pode definir LANGUAGE
na parte superior do org
documento da seguinte maneira:
#+LANGUAGE: fr
E o francês será usado como idioma padrão de todas as strings org
produzidas durante a exportação.
A constante responsável por mapeamentos de tradução é org-export-dictionary
em ox.el
e se o seu idioma não é suportado você pode soltá-lo lá e, em seguida, eval-defun
deixar que a mudança ocorra. No meu caso:
(defconst org-export-dictionary
...
("Table of Contents"
...
("sr" :html "Sadržaj" :utf-8 "Sadržaj")
...)
...)
Eu escrevi uma função ingênua que pode ser útil em 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")
aviso Legal
Não funciona se você deseja exportar via Látex (o Látex é usado quando a Org exporta para PDF). Veja a resposta e os comentários de Tyler.
fonte
Respostas:
O manual organizacional diz isso sobre as configurações de exportação (você deve poder navegá-lo nas informações do emacs
C-h i m Org m exporting
):Eu não tentei, mas espero que faça o que você deseja.
fonte
Como apontou a resposta JeanPierre, você precisa especificar a configuração de exportação do idioma. Para o francês, a próxima linha faz o trabalho:
Nem todos os idiomas são suportados e, como você disse, é possível ver quais estão visualizando a
org-latex-export-dictionary
variável (você pode usar o comando emacs eC-h v
depois escrever o nome da variável). Alguns idiomas podem ser apenas parcialmente suportados ou não, como o sérvio. Se você deseja que ele funcione com um idioma não suportado, adicione as strings traduzidas à variável e, de preferência, envie-as para os desenvolvedores, para que acabem no modo organizacional.LaTex e PDF
Se você estiver exportando para o LaTex e quiser deixar o Babel alterar o texto, use:
Isso funcionará tanto em HTML quanto em látex, pois a palavra-chave AUTO será substituída pelo nome do idioma Babel correspondente. Para visualizar quais idiomas são suportados, visualize a
org-latex-babel-language-alist
variável Nem todos os idiomas disponíveis em Babel estão lá, mas o sérvio está e funciona (teste-o e "Conteúdo" aparece como "Sadržaj").Se seu idioma não estiver,
org-latex-babel-language-alist
mas estiver disponível em babel, como bretão, use:Como Breton não está na
org-latex-export-dictionary
aLANGUAGE
variável não vai fazer nada para exportação HTML, será em Inglês, mas é necessário. Isso ocorre porque o que terminará no arquivo LaTex será\usepackage[breton, <default-lang>]{babel}
ondedefault-lang
estará o inglês, seLANGUAGE
não estiver presente, e o último idioma for considerado o padrão por Babel. Comobr
nãoorg-latex-babel-language-alist
terminamos\usepackage[breton, ]{babel}
, o Breton é o padrão.Se o Breton for adicionado,
org-latex-babel-language-alist
ele funcionará de qualquer maneira (\usepackage[breton, breton]{babel}
). Se o Breton estiver incluídoorg-latex-export-dictionary
, agora também funcionará em HTML. Se o Breton não for suportado pelo babel, ele funcionará de qualquer maneira, mas será em inglês; portanto, é essa configuração que fornece o máximo de idiomas possível no idioma especificado com o inglês. Prefiro usarAUTO
se disponível, pois existe apenas um lugar para colocar o idioma.Se você não gosta do que Babel coloca como "Conteúdo", mas ainda deseja usá-lo, pode fazer algo como:
É como a resposta de Tyler, mas para Babel.
fonte
Se você estiver exportando para PDF, o modo organizacional chamará o LaTeX para fazer a conversão. Nesse caso, você poderá inserir o comando LaTeX para alterar o cabeçalho do sumário com a seguinte linha:
Coloque isso na parte superior do seu arquivo e tente a exportação.
fonte
\usepackage[mylanguage]{babel}
.#+LANGUAGE: fr
e ,#+LATEX_HEADER: \usepackage[english]{babel}
nesse caso, a exportação de látex respeita a primeira configuração e traduz seqüências de caracteres em contrapartes francesas. Se eu declarode
no primeiro e /french
oufrenchb
no segundo -de
é usado. Também notei que, nos casos descritos, o exportador não usaorg-export-dictionary
, mais provavelmente ele usa idiomas de látex. Tem alguma ideia?:
. Eu corrigi minha resposta.#+LANGUAGE: fr
por conta própria, será ignorado - a saída LaTeX é em inglês. Se eu usá-lo e#+LATEX_HEADER: \usepackage[english]{babel}
, o LaTeX resultante inclui a linha\usepackage[english, frenchb]{babel}
. E se eu usar apenas#+LATEX_HEADER: \usepackage[french]{babel}
, sem definirLANGUAGE:
, o que realmente é inserido é\usepackage[frenchb, english]{babel}
. Nenhum deles altera o PDF, é sempre inglês.Resposta curta: para exportação de pdf, é necessário o pacote texlive-lang-french
org 9.1.9
: Definir#+LANGUAGE: fr
sozinho não tem efeito.fazer acontecer com
ou
fonte