mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
*** Implement GUI names for encodings (part of bug 4971) ***
* lib/encodings: - add new column "GUI names" * src/Encoding.{cpp,h}: - read in and handle GUI names * src/frontends/qt4/GuiDocument.cpp: - display GUI names instead of LaTeX names * po/lyx_pot.py: * po/Rules-lyx: * development/scons/SConstruct: - add encoding GUI names to the po files. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25558 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
47e6b74e74
commit
dcc4d58b66
@ -1762,7 +1762,7 @@ if 'update_po' in BUILD_TARGETS:
|
|||||||
['$TOP_SRCDIR/src/tex2lyx/%s' % x for x in src_tex2lyx_header_files + src_tex2lyx_files ]
|
['$TOP_SRCDIR/src/tex2lyx/%s' % x for x in src_tex2lyx_header_files + src_tex2lyx_files ]
|
||||||
)
|
)
|
||||||
Alias('update_po', POTFILES_in)
|
Alias('update_po', POTFILES_in)
|
||||||
# build language_l10n.pot, ui_l10n.pot, layouts_l10n.pot, qt4_l10n.pot, external_l10n, formats_l10n
|
# build language_l10n.pot, encodings_10n.pot, ui_l10n.pot, layouts_l10n.pot, qt4_l10n.pot, external_l10n, formats_l10n
|
||||||
# and combine them to lyx.po
|
# and combine them to lyx.po
|
||||||
env['LYX_POT'] = 'python $TOP_SRCDIR/po/lyx_pot.py'
|
env['LYX_POT'] = 'python $TOP_SRCDIR/po/lyx_pot.py'
|
||||||
lyx_po = env.Command('$BUILDDIR/po/lyx.po',
|
lyx_po = env.Command('$BUILDDIR/po/lyx.po',
|
||||||
@ -1775,6 +1775,8 @@ if 'update_po' in BUILD_TARGETS:
|
|||||||
'$LYX_POT -b $TOP_SRCDIR -t layouts -o $TARGET $SOURCES'),
|
'$LYX_POT -b $TOP_SRCDIR -t layouts -o $TARGET $SOURCES'),
|
||||||
env.Command('$BUILDDIR/po/languages_l10n.pot', '$TOP_SRCDIR/lib/languages',
|
env.Command('$BUILDDIR/po/languages_l10n.pot', '$TOP_SRCDIR/lib/languages',
|
||||||
'$LYX_POT -b $TOP_SRCDIR -t languages -o $TARGET $SOURCES'),
|
'$LYX_POT -b $TOP_SRCDIR -t languages -o $TARGET $SOURCES'),
|
||||||
|
env.Command('$BUILDDIR/po/encodings_l10n.pot', '$TOP_SRCDIR/lib/encodings',
|
||||||
|
'$LYX_POT -b $TOP_SRCDIR -t encodings -o $TARGET $SOURCES'),
|
||||||
env.Command('$BUILDDIR/po/ui_l10n.pot',
|
env.Command('$BUILDDIR/po/ui_l10n.pot',
|
||||||
['$TOP_SRCDIR/lib/ui/%s' % x for x in lib_ui_files],
|
['$TOP_SRCDIR/lib/ui/%s' % x for x in lib_ui_files],
|
||||||
'$LYX_POT -b $TOP_SRCDIR -t ui -o $TARGET $SOURCES'),
|
'$LYX_POT -b $TOP_SRCDIR -t ui -o $TARGET $SOURCES'),
|
||||||
|
100
lib/encodings
100
lib/encodings
@ -7,117 +7,117 @@
|
|||||||
# These are marked with the "variable" keyword.
|
# These are marked with the "variable" keyword.
|
||||||
# Fixed width encodings are marked with the "fixed" keyword.
|
# Fixed width encodings are marked with the "fixed" keyword.
|
||||||
|
|
||||||
# Syntax: Encoding <LyX name> <LaTeX name> <iconv name> fixed|variable <package> End
|
# Syntax: Encoding <LyX name> <LaTeX name> <GUI name> <iconv name> fixed|variable <package> End
|
||||||
|
|
||||||
# encodings used by inputenc.sty
|
# encodings used by inputenc.sty
|
||||||
|
|
||||||
Encoding utf8 utf8 UTF-8 variable inputenc
|
Encoding utf8 utf8 "Unicode (utf8)" UTF-8 variable inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
# This one is used by many CJK packages. utf8 is supposed to be the successor,
|
# This one is used by many CJK packages. utf8 is supposed to be the successor,
|
||||||
# but does not have all features of utf8x yet.
|
# but does not have all features of utf8x yet.
|
||||||
Encoding utf8x utf8x UTF-8 variable inputenc
|
Encoding utf8x utf8x "Unicode (ucs-extended) (utf8x)" UTF-8 variable inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
# This encoding is used to typeset Armenian using the armTeX package
|
# This encoding is used to typeset Armenian using the armTeX package
|
||||||
Encoding armscii8 armscii8 ARMSCII-8 fixed inputenc
|
Encoding armscii8 armscii8 "Armenian (ArmSCII8)" ARMSCII-8 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding iso8859-1 latin1 ISO-8859-1 fixed inputenc
|
Encoding iso8859-1 latin1 "Western European (ISO 8859-1)" ISO-8859-1 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding iso8859-2 latin2 ISO-8859-2 fixed inputenc
|
Encoding iso8859-2 latin2 "Central European (ISO 8859-2)" ISO-8859-2 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding iso8859-3 latin3 ISO-8859-3 fixed inputenc
|
Encoding iso8859-3 latin3 "Middle European (ISO 8859-3)" ISO-8859-3 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding iso8859-4 latin4 ISO-8859-4 fixed inputenc
|
Encoding iso8859-4 latin4 "Baltic (ISO 8859-4)" ISO-8859-4 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding iso8859-5 iso88595 ISO-8859-5 fixed inputenc
|
Encoding iso8859-5 iso88595 "Cyrillic (ISO 8859-5)" ISO-8859-5 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
# Not standard, see http://tug.ctan.org/tex-archive/language/arabic/arabi/arabi/texmf/latex/arabi/
|
# Not standard, see http://tug.ctan.org/tex-archive/language/arabic/arabi/arabi/texmf/latex/arabi/
|
||||||
Encoding iso8859-6 8859-6 ISO-8859-6 fixed inputenc
|
Encoding iso8859-6 8859-6 "Arabic (ISO 8859-6)" ISO-8859-6 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding iso8859-7 iso-8859-7 ISO-8859-7 fixed inputenc
|
Encoding iso8859-7 iso-8859-7 "Greek (ISO 8859-7)" ISO-8859-7 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding iso8859-8 8859-8 ISO-8859-8 fixed inputenc
|
Encoding iso8859-8 8859-8 "Hebrew (ISO 8859-8)" ISO-8859-8 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding iso8859-9 latin5 ISO-8859-9 fixed inputenc
|
Encoding iso8859-9 latin5 "Turkish (ISO 8859-9)" ISO-8859-9 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
# Not standard, see http://www.vtex.lt/tex/littex/index.html
|
# Not standard, see http://www.vtex.lt/tex/littex/index.html
|
||||||
Encoding iso8859-13 l7xenc ISO-8859-13 fixed inputenc
|
Encoding iso8859-13 l7xenc "Baltic (ISO 8859-13)" ISO-8859-13 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding iso8859-15 latin9 ISO-8859-15 fixed inputenc
|
Encoding iso8859-15 latin9 "Western European (ISO 8859-15)" ISO-8859-15 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding iso8859-16 latin10 ISO-8859-16 fixed inputenc
|
Encoding iso8859-16 latin10 "South-Eastern European (ISO 8859-16)" ISO-8859-16 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding cp437 cp437 CP437 fixed inputenc
|
Encoding cp437 cp437 "DOS (CP 437)" CP437 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
# cp437, but on position 225 is sz instead of beta
|
# cp437, but on position 225 is sz instead of beta
|
||||||
Encoding cp437de cp437de CP437 fixed inputenc
|
Encoding cp437de cp437de "DOS-de (CP 437-de)" CP437 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding cp850 cp850 CP850 fixed inputenc
|
Encoding cp850 cp850 "Western European (CP 850)" CP850 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding cp852 cp852 CP852 fixed inputenc
|
Encoding cp852 cp852 "Central European (CP 852)" CP852 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding cp855 cp855 CP855 fixed inputenc
|
Encoding cp855 cp855 "Cyrillic (CP 855)" CP855 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding cp858 cp858 CP858 fixed inputenc
|
Encoding cp858 cp858 "Western European (CP 858)" CP858 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding cp862 cp862 CP862 fixed inputenc
|
Encoding cp862 cp862 "Hebrew (CP 862)" CP862 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding cp865 cp865 CP865 fixed inputenc
|
Encoding cp865 cp865 "Nordic languages (CP 865)" CP865 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding cp866 cp866 CP866 fixed inputenc
|
Encoding cp866 cp866 "Cyrillic (CP 866)" CP866 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding cp1250 cp1250 CP1250 fixed inputenc
|
Encoding cp1250 cp1250 "Central European (CP 1250)" CP1250 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding cp1251 cp1251 CP1251 fixed inputenc
|
Encoding cp1251 cp1251 "Cyrillic (CP 1251)" CP1251 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding cp1252 cp1252 CP1252 fixed inputenc
|
Encoding cp1252 cp1252 "Western European (CP 1252)" CP1252 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding cp1255 cp1255 CP1255 fixed inputenc
|
Encoding cp1255 cp1255 "Hebrew (CP 1255)" CP1255 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
# Not standard, see http://tug.ctan.org/tex-archive/language/arabic/arabi/arabi/texmf/latex/arabi/
|
# Not standard, see http://tug.ctan.org/tex-archive/language/arabic/arabi/arabi/texmf/latex/arabi/
|
||||||
Encoding cp1256 cp1256 CP1256 fixed inputenc
|
Encoding cp1256 cp1256 "Arabic (CP 1256)" CP1256 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding cp1257 cp1257 CP1257 fixed inputenc
|
Encoding cp1257 cp1257 "Baltic (CP 1257)" CP1257 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding koi8 koi8-r KOI8-R fixed inputenc
|
Encoding koi8 koi8-r "Cyrillic (KOI8-R)" KOI8-R fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding koi8-u koi8-u KOI8-U fixed inputenc
|
Encoding koi8-u koi8-u "Cyrillic (KOI8-U)" KOI8-U fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding pt154 pt154 PT154 fixed inputenc
|
Encoding pt154 pt154 "Cyrillic (pt 154)" PT154 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
Encoding pt254 pt254 PT254 fixed inputenc
|
Encoding pt254 pt254 "Cyrillic (pt 254)" PT254 fixed inputenc
|
||||||
End
|
End
|
||||||
|
|
||||||
# encodings used by CJK.sty
|
# encodings used by CJK.sty
|
||||||
@ -131,68 +131,68 @@ End
|
|||||||
# of TeX control characters like {, } and \ can occur in the second byte:
|
# of TeX control characters like {, } and \ can occur in the second byte:
|
||||||
|
|
||||||
# For traditional chinese
|
# For traditional chinese
|
||||||
#Encoding big5 Bg5 BIG5 variable CJK
|
#Encoding big5 Bg5 "Chinese (traditional) (Big5)" BIG5 variable CJK
|
||||||
#End
|
#End
|
||||||
|
|
||||||
# For japanese
|
# For japanese
|
||||||
#Encoding shift-jis SJIS SJIS variable CJK
|
#Encoding shift-jis SJIS "Japanese (CJK) (SJIS)" SJIS variable CJK
|
||||||
#End
|
#End
|
||||||
|
|
||||||
# The following encodings need hardcoded support of the encodable unicode
|
# The following encodings need hardcoded support of the encodable unicode
|
||||||
# range, but are known by iconv:
|
# range, but are known by iconv:
|
||||||
|
|
||||||
# For simplified chinese
|
# For simplified chinese
|
||||||
Encoding euc-cn GB EUC-CN variable CJK
|
Encoding euc-cn GB "Chinese (simplified) (EUC-CN)" EUC-CN variable CJK
|
||||||
End
|
End
|
||||||
|
|
||||||
# For simplified chinese
|
# For simplified chinese
|
||||||
Encoding gbk GBK GBK variable CJK
|
Encoding gbk GBK "Chinese (simplified) (GBK)" GBK variable CJK
|
||||||
End
|
End
|
||||||
|
|
||||||
# For japanese
|
# For japanese
|
||||||
Encoding jis JIS ISO-2022-JP variable CJK
|
Encoding jis JIS "Japanese (CJK) (JIS)" ISO-2022-JP variable CJK
|
||||||
End
|
End
|
||||||
|
|
||||||
# For korean
|
# For korean
|
||||||
Encoding euc-kr KS EUC-KR variable CJK
|
Encoding euc-kr KS "Korean (EUC-KR)" EUC-KR variable CJK
|
||||||
End
|
End
|
||||||
|
|
||||||
# The CJK package has yet another name for utf8...
|
# The CJK package has yet another name for utf8...
|
||||||
Encoding utf8-cjk UTF8 UTF-8 variable CJK
|
Encoding utf8-cjk UTF8 "Unicode (CJK) (utf8)" UTF-8 variable CJK
|
||||||
End
|
End
|
||||||
|
|
||||||
# For traditional chinese
|
# For traditional chinese
|
||||||
Encoding euc-tw EUC-TW EUC-TW variable CJK
|
Encoding euc-tw EUC-TW "Chinese (traditional) (EUC-TW)" EUC-TW variable CJK
|
||||||
End
|
End
|
||||||
|
|
||||||
# For japanese
|
# For japanese
|
||||||
Encoding euc-jp EUC-JP EUC-JP variable CJK
|
Encoding euc-jp EUC-JP "Japanese (CJK) (EUC-JP)" EUC-JP variable CJK
|
||||||
End
|
End
|
||||||
|
|
||||||
# encodings that do not use a package
|
# encodings that do not use a package
|
||||||
|
|
||||||
# Traditional Japanese TeX programs require neither CJK nor inputenc
|
# Traditional Japanese TeX programs require neither CJK nor inputenc
|
||||||
# package.
|
# package.
|
||||||
Encoding euc-jp-plain EUC-JP-pLaTeX EUC-JP variable none
|
Encoding euc-jp-plain EUC-JP-pLaTeX "Japanese (non-CJK) (EUC-JP)" EUC-JP variable none
|
||||||
End
|
End
|
||||||
Encoding jis-plain JIS-pLaTeX ISO-2022-JP variable none
|
Encoding jis-plain JIS-pLaTeX "Japanese (non-CJK) (JIS)" ISO-2022-JP variable none
|
||||||
End
|
End
|
||||||
Encoding shift-jis-plain SJIS-pLaTeX CP932 variable none
|
Encoding shift-jis-plain SJIS-pLaTeX "Japanese (non-CJK) (SJIS)" CP932 variable none
|
||||||
End
|
End
|
||||||
|
|
||||||
# This one needs hardcoded support, since the inputenc package does not know
|
# This one needs hardcoded support, since the inputenc package does not know
|
||||||
# tis620-0, and thailatex sets up babel directly to use tis620-0, so the
|
# tis620-0, and thailatex sets up babel directly to use tis620-0, so the
|
||||||
# LaTeX name is never output to .tex files (but needed for the hardcoded
|
# LaTeX name is never output to .tex files (but needed for the hardcoded
|
||||||
# tis620-0 support).
|
# tis620-0 support).
|
||||||
Encoding tis620-0 tis620-0 TIS620-0 fixed none
|
Encoding tis620-0 tis620-0 "Thai (TIS 620-0)" TIS620-0 fixed none
|
||||||
End
|
End
|
||||||
|
|
||||||
# A plain utf8 encoding that does not use the inputenc package.
|
# A plain utf8 encoding that does not use the inputenc package.
|
||||||
# Such an encoding is required for XeTeX.
|
# Such an encoding is required for XeTeX.
|
||||||
Encoding utf8-plain utf8-plain UTF-8 variable none
|
Encoding utf8-plain utf8-plain "Unicode (XeTeX) (utf8)" UTF-8 variable none
|
||||||
End
|
End
|
||||||
|
|
||||||
# Pure 7bit ASCII encoding (partially hardcoded in LyX)
|
# Pure 7bit ASCII encoding (partially hardcoded in LyX)
|
||||||
Encoding ascii ascii ascii fixed none
|
Encoding ascii ascii "ASCII" ascii fixed none
|
||||||
End
|
End
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ ${srcdir}/POTFILES.in: $(POTFILE_IN_DEPS)
|
|||||||
sort | uniq ) > $@-t \
|
sort | uniq ) > $@-t \
|
||||||
&& mv $@-t $@
|
&& mv $@-t $@
|
||||||
|
|
||||||
l10n_pots: qt4_l10n.pot layouts_l10n.pot languages_l10n.pot ui_l10n.pot external_l10n.pot formats_l10n.pot
|
l10n_pots: qt4_l10n.pot layouts_l10n.pot languages_l10n.pot encodings_l10n.pot ui_l10n.pot external_l10n.pot formats_l10n.pot
|
||||||
cat $^ | \
|
cat $^ | \
|
||||||
msguniq -o $(DOMAIN).po && rm -f $^
|
msguniq -o $(DOMAIN).po && rm -f $^
|
||||||
|
|
||||||
@ -33,6 +33,9 @@ layouts_l10n.pot: $(top_srcdir)/lib/layouts/*.layout $(top_srcdir)/lib/layouts/*
|
|||||||
languages_l10n.pot: $(top_srcdir)/lib/languages
|
languages_l10n.pot: $(top_srcdir)/lib/languages
|
||||||
python $(srcdir)/lyx_pot.py -b $(top_srcdir) -o $@ -t languages ${top_srcdir}/lib/languages
|
python $(srcdir)/lyx_pot.py -b $(top_srcdir) -o $@ -t languages ${top_srcdir}/lib/languages
|
||||||
|
|
||||||
|
encodings_l10n.pot: $(top_srcdir)/lib/encodings
|
||||||
|
python $(srcdir)/lyx_pot.py -b $(top_srcdir) -o $@ -t encodings ${top_srcdir}/lib/encodings
|
||||||
|
|
||||||
ui_l10n.pot: $(top_srcdir)/lib/ui/*.ui $(top_srcdir)/lib/ui/*.inc
|
ui_l10n.pot: $(top_srcdir)/lib/ui/*.ui $(top_srcdir)/lib/ui/*.inc
|
||||||
LC_ALL=C ; export LC_ALL ; \
|
LC_ALL=C ; export LC_ALL ; \
|
||||||
python $(srcdir)/lyx_pot.py -b $(top_srcdir) -o $@ -t ui ${top_srcdir}/lib/ui/*.ui ${top_srcdir}/lib/ui/*.inc
|
python $(srcdir)/lyx_pot.py -b $(top_srcdir) -o $@ -t ui ${top_srcdir}/lib/ui/*.ui ${top_srcdir}/lib/ui/*.inc
|
||||||
|
@ -282,6 +282,29 @@ def formats_l10n(input_files, output, base):
|
|||||||
output.close()
|
output.close()
|
||||||
|
|
||||||
|
|
||||||
|
def encodings_l10n(input_files, output, base):
|
||||||
|
'''Generate pot file from lib/encodings'''
|
||||||
|
output = open(output, 'w')
|
||||||
|
# assuming only one encodings file
|
||||||
|
# Encoding utf8 utf8 "Unicode (utf8)" UTF-8 variable inputenc
|
||||||
|
reg = re.compile('Encoding [\w-]+\s+[\w-]+\s+"([\w \-\(\)]+)"\s+[\w-]+\s+(fixed|variable)\s+\w+.*')
|
||||||
|
input = open(input_files[0])
|
||||||
|
for lineno, line in enumerate(input.readlines()):
|
||||||
|
if not line.startswith('Encoding'):
|
||||||
|
continue
|
||||||
|
if reg.match(line):
|
||||||
|
print >> output, '#: %s:%d\nmsgid "%s"\nmsgstr ""\n' % \
|
||||||
|
(relativePath(input_files[0], base), lineno+1, reg.match(line).groups()[0])
|
||||||
|
else:
|
||||||
|
print "Error: Unable to handle line:"
|
||||||
|
print line
|
||||||
|
# No need to abort if the parsing fails
|
||||||
|
# sys.exit(1)
|
||||||
|
input.close()
|
||||||
|
output.close()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Usage = '''
|
Usage = '''
|
||||||
lyx_pot.py [-b|--base top_src_dir] [-o|--output output_file] [-h|--help] -t|--type input_type input_files
|
lyx_pot.py [-b|--base top_src_dir] [-o|--output output_file] [-h|--help] -t|--type input_type input_files
|
||||||
|
|
||||||
@ -295,6 +318,7 @@ where
|
|||||||
layouts: lib/layouts/*
|
layouts: lib/layouts/*
|
||||||
qt4: qt4 ui files
|
qt4: qt4 ui files
|
||||||
languages: file lib/languages
|
languages: file lib/languages
|
||||||
|
encodings: file lib/encodings
|
||||||
external: external templates file
|
external: external templates file
|
||||||
formats: formats predefined in lib/configure.py
|
formats: formats predefined in lib/configure.py
|
||||||
'''
|
'''
|
||||||
@ -316,7 +340,7 @@ if __name__ == '__main__':
|
|||||||
base = value
|
base = value
|
||||||
elif opt in ['-t', '--type']:
|
elif opt in ['-t', '--type']:
|
||||||
input_type = value
|
input_type = value
|
||||||
if input_type not in ['ui', 'layouts', 'modules', 'qt4', 'languages', 'external', 'formats'] or output is None:
|
if input_type not in ['ui', 'layouts', 'modules', 'qt4', 'languages', 'encodings', 'external', 'formats'] or output is None:
|
||||||
print 'Wrong input type or output filename.'
|
print 'Wrong input type or output filename.'
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
if input_type == 'ui':
|
if input_type == 'ui':
|
||||||
@ -329,6 +353,8 @@ if __name__ == '__main__':
|
|||||||
external_l10n(args, output, base)
|
external_l10n(args, output, base)
|
||||||
elif input_type == 'formats':
|
elif input_type == 'formats':
|
||||||
formats_l10n(args, output, base)
|
formats_l10n(args, output, base)
|
||||||
|
elif input_type == 'encodings':
|
||||||
|
encodings_l10n(args, output, base)
|
||||||
else:
|
else:
|
||||||
languages_l10n(args, output, base)
|
languages_l10n(args, output, base)
|
||||||
|
|
||||||
|
@ -269,9 +269,9 @@ const char * EncodingException::what() const throw()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Encoding::Encoding(string const & n, string const & l, string const & i,
|
Encoding::Encoding(string const & n, string const & l, string const & g,
|
||||||
bool f, Encoding::Package p)
|
string const & i, bool f, Encoding::Package p)
|
||||||
: name_(n), latexName_(l), iconvName_(i), fixedwidth_(f), package_(p)
|
: name_(n), latexName_(l), guiName_(g), iconvName_(i), fixedwidth_(f), package_(p)
|
||||||
{
|
{
|
||||||
if (n == "ascii") {
|
if (n == "ascii") {
|
||||||
// ASCII can encode 128 code points and nothing else
|
// ASCII can encode 128 code points and nothing else
|
||||||
@ -731,6 +731,8 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
|
|||||||
lex.next();
|
lex.next();
|
||||||
string const latexname = lex.getString();
|
string const latexname = lex.getString();
|
||||||
lex.next();
|
lex.next();
|
||||||
|
string const guiname = lex.getString();
|
||||||
|
lex.next();
|
||||||
string const iconvname = lex.getString();
|
string const iconvname = lex.getString();
|
||||||
lex.next();
|
lex.next();
|
||||||
string const width = lex.getString();
|
string const width = lex.getString();
|
||||||
@ -756,7 +758,7 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
|
|||||||
|
|
||||||
LYXERR(Debug::INFO, "Reading encoding " << name);
|
LYXERR(Debug::INFO, "Reading encoding " << name);
|
||||||
encodinglist[name] = Encoding(name, latexname,
|
encodinglist[name] = Encoding(name, latexname,
|
||||||
iconvname, fixedwidth, package);
|
guiname, iconvname, fixedwidth, package);
|
||||||
|
|
||||||
if (lex.lex() != et_end)
|
if (lex.lex() != et_end)
|
||||||
lex.printError("Missing end");
|
lex.printError("Missing end");
|
||||||
|
@ -51,7 +51,8 @@ public:
|
|||||||
Encoding() {}
|
Encoding() {}
|
||||||
///
|
///
|
||||||
Encoding(std::string const & n, std::string const & l,
|
Encoding(std::string const & n, std::string const & l,
|
||||||
std::string const & i, bool f, Package p);
|
std::string const & g, std::string const & i,
|
||||||
|
bool f, Package p);
|
||||||
///
|
///
|
||||||
void init() const;
|
void init() const;
|
||||||
///
|
///
|
||||||
@ -59,6 +60,8 @@ public:
|
|||||||
///
|
///
|
||||||
std::string const & latexName() const { return latexName_; }
|
std::string const & latexName() const { return latexName_; }
|
||||||
///
|
///
|
||||||
|
std::string const & guiName() const { return guiName_; }
|
||||||
|
///
|
||||||
std::string const & iconvName() const { return iconvName_; }
|
std::string const & iconvName() const { return iconvName_; }
|
||||||
/**
|
/**
|
||||||
* Convert \p c to something that LaTeX can understand.
|
* Convert \p c to something that LaTeX can understand.
|
||||||
@ -79,6 +82,8 @@ private:
|
|||||||
///
|
///
|
||||||
std::string latexName_;
|
std::string latexName_;
|
||||||
///
|
///
|
||||||
|
std::string guiName_;
|
||||||
|
///
|
||||||
std::string iconvName_;
|
std::string iconvName_;
|
||||||
/// Is this a fixed width encoding?
|
/// Is this a fixed width encoding?
|
||||||
bool fixedwidth_;
|
bool fixedwidth_;
|
||||||
|
@ -796,12 +796,14 @@ GuiDocument::GuiDocument(GuiView & lv)
|
|||||||
langModule->languageCO->setModel(language_model);
|
langModule->languageCO->setModel(language_model);
|
||||||
|
|
||||||
// Always put the default encoding in the first position.
|
// Always put the default encoding in the first position.
|
||||||
// It is special because the displayed text is translated.
|
|
||||||
langModule->encodingCO->addItem(qt_("LaTeX default"));
|
langModule->encodingCO->addItem(qt_("LaTeX default"));
|
||||||
|
QStringList encodinglist;
|
||||||
Encodings::const_iterator it = encodings.begin();
|
Encodings::const_iterator it = encodings.begin();
|
||||||
Encodings::const_iterator const end = encodings.end();
|
Encodings::const_iterator const end = encodings.end();
|
||||||
for (; it != end; ++it)
|
for (; it != end; ++it)
|
||||||
langModule->encodingCO->addItem(toqstr(it->latexName()));
|
encodinglist.append(qt_(it->guiName()));
|
||||||
|
encodinglist.sort();
|
||||||
|
langModule->encodingCO->addItems(encodinglist);
|
||||||
|
|
||||||
langModule->quoteStyleCO->addItem(qt_("``text''"));
|
langModule->quoteStyleCO->addItem(qt_("``text''"));
|
||||||
langModule->quoteStyleCO->addItem(qt_("''text''"));
|
langModule->quoteStyleCO->addItem(qt_("''text''"));
|
||||||
@ -1481,9 +1483,25 @@ void GuiDocument::apply(BufferParams & params)
|
|||||||
int i = langModule->encodingCO->currentIndex();
|
int i = langModule->encodingCO->currentIndex();
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
params.inputenc = "default";
|
params.inputenc = "default";
|
||||||
else
|
else {
|
||||||
params.inputenc =
|
QString const enc_gui =
|
||||||
fromqstr(langModule->encodingCO->currentText());
|
langModule->encodingCO->currentText();
|
||||||
|
Encodings::const_iterator it = encodings.begin();
|
||||||
|
Encodings::const_iterator const end = encodings.end();
|
||||||
|
bool found = false;
|
||||||
|
for (; it != end; ++it) {
|
||||||
|
if (qt_(it->guiName()) == enc_gui) {
|
||||||
|
params.inputenc = it->latexName();
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!found) {
|
||||||
|
// should not happen
|
||||||
|
lyxerr << "GuiDocument::apply: Unknown encoding! Resetting to default" << endl;
|
||||||
|
params.inputenc = "default";
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
InsetQuotes::QuoteLanguage lga = InsetQuotes::EnglishQuotes;
|
InsetQuotes::QuoteLanguage lga = InsetQuotes::EnglishQuotes;
|
||||||
@ -1796,8 +1814,17 @@ void GuiDocument::paramsToDialog(BufferParams const & params)
|
|||||||
if (params.inputenc == "default") {
|
if (params.inputenc == "default") {
|
||||||
langModule->encodingCO->setCurrentIndex(0);
|
langModule->encodingCO->setCurrentIndex(0);
|
||||||
} else {
|
} else {
|
||||||
|
string enc_gui;
|
||||||
|
Encodings::const_iterator it = encodings.begin();
|
||||||
|
Encodings::const_iterator const end = encodings.end();
|
||||||
|
for (; it != end; ++it) {
|
||||||
|
if (it->latexName() == params.inputenc) {
|
||||||
|
enc_gui = it->guiName();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
int const i = langModule->encodingCO->findText(
|
int const i = langModule->encodingCO->findText(
|
||||||
toqstr(params.inputenc));
|
qt_(enc_gui));
|
||||||
if (i >= 0)
|
if (i >= 0)
|
||||||
langModule->encodingCO->setCurrentIndex(i);
|
langModule->encodingCO->setCurrentIndex(i);
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user