Now it produces the same output if running under python3 (tested with 3.4.2)
or python2 (tested with 2.7.9). python3 always uses unicode strings
internally, so we have to specify the file encoding on opening a file, such
that strings can be converted from and to the file encoding on reading and
writing. Using the io module for file io ensures that the behaviour is the
same for python2 and python3. For python2 we also have to mark string literals
as unicode strings by using the u prefix (which is a noop in python3).
Many thanks to José for review and pointing out all the details.
Preliminary work for addressing #7790. Thanks to Richard for providing initial
files this is based on.
Adding to TextClass:
OutlinerName <string> <string>
(the second string is translated)
e.g.:
OutlinerName thm "Definitions & Theorems"
Adding to Layout:
AddToToc <string> (default "", means no)
IsTocCaption <bool> (default 0)
e.g.:
AddToToc thm
IsTocCaption 1
Adding to InsetLayout:
AddToToc <string> (default "", means no)
IsTocCaption <bool> (default 0)
e.g.:
AddToToc literate
Adding to inset arguments:
IsTocCaption <bool> (default 0)
Most of the changes are related with dictionaries returning iterators instead of
lists. (Iterators and not views as I wrote in the previous commit message)
xrange -> range (since xrange is gone in python 3)
This is consistent with the treatment in LyX itself (cleanTranslation() is
also called on the translated strings), and some translators leave the context
in the translated msgstr (e.g. [[List of Listings]]), although that is not
recommended. Without this, lib/layouttranslations would contain wrong
translations.
lyx_pot.py treats the combination IsPredefined == true and UsesFloatPkg == true
incorrectly: In this case it does not extract the float name, although it needs
to be extracted. This was no problem for LyX 2.0.0, because no layout contained
this combination fo flags. However, the current version of achemso.layout uses
it for several styles, e.g. "List of Schemes".
You only see the bug if you remove lib/layouttranslations before updating it,
otherwise it would be covered by the old translations which are kept. The fix
make use of the fact that IsPredefined == false and UsesFloatPkg == false is
not supported by LyX to simplify the logic.
The LaTeX font information are now centralized and outsourced. This removes a lot of hardcoding and duplication and makes it easier to support new LaTeX fonts.
The listings inset and include inset of type listings use two english terms
that are not localized yet: "Listing" for the caption and "Listings" for the
list of listings (not supported natively by LyX yet). The existing layout
translation mechanism has been extended to translate these terms as well:
1) Support [[stuff]] context in lib/layouttranslations
2) Support BabelPreamble and LangPreamble in InsetLayout
3) Use a InsetLayout for InsetInclude of type listings
4) Define BabelPreamble and LangPreamble in the layouts for InsetInclude
and InsetListings
- Do not parse case insensitive tags case sensitive
- Reintroduce missing translations that were accidentally lost with the
introduction of the I18nPreamble and EndI18nPreamble tags
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38584 a592a061-630c-0410-9148-cb99ea01b6c8
The standard babel names are used instead of these translations.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38296 a592a061-630c-0410-9148-cb99ea01b6c8
2) Fix ia translations (for some reason it was a copy of it)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38031 a592a061-630c-0410-9148-cb99ea01b6c8
exported documents.
To update the translations from the .po files, run
make ../lib/layouttranslations
from po.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38016 a592a061-630c-0410-9148-cb99ea01b6c8
to '"' for the sake of gettext tools, which are html-agnostic.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37029 a592a061-630c-0410-9148-cb99ea01b6c8
of the windows command line length.
Patch by José Abílio Matos.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29640 a592a061-630c-0410-9148-cb99ea01b6c8
Don't go into an endless loop if layout2layout cannot produce the desired file format.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28529 a592a061-630c-0410-9148-cb99ea01b6c8
* po/lyx_pot.py:
- make flex insets in the menus translatable.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25276 a592a061-630c-0410-9148-cb99ea01b6c8
* po/lyx_pot.py:
- new function external_l10n: parse external_templates and extract the relevant parts for translation.
* development/scons/SConstruct:
* po/Makefile.in.in:
- use external_l10n
* src/insets/InsetExternal.cpp:
* src/frontends/qt4/QExternal.cpp:
- make eveything translatable
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18866 a592a061-630c-0410-9148-cb99ea01b6c8