X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=python%2Flangdefs.py;h=7511ffb2f155fd99d67ecff9e226fdae82a5d28c;hb=b872748c6aa8bb721ced458691b38ac2fac5dfc8;hp=2b79caee70e581e5ee804ec9cbf5d55b46d58ee4;hpb=ce2ed4b97e50a4dfe6d585c24611761d4ca14d60;p=lilypond.git diff --git a/python/langdefs.py b/python/langdefs.py index 2b79caee70..7511ffb2f1 100644 --- a/python/langdefs.py +++ b/python/langdefs.py @@ -6,6 +6,8 @@ Documentation i18n module """ import re +import sys +import os def lang_file_name (p, langext, ext): if langext != '': @@ -13,7 +15,7 @@ def lang_file_name (p, langext, ext): return p + ext class LanguageDef: - def __init__ (self, code, name, webext=None, double_punct_char_sep='', html_filter=lambda s: s): + def __init__ (self, code, name, webext=None, double_punct_char_sep='', html_filter=lambda s: s, enable_ly_identifier_l10n=True): self.code = code self.name = name self.enabled = True @@ -23,7 +25,7 @@ class LanguageDef: self.webext = webext self.double_punct_char_sep = double_punct_char_sep self.html_filter = html_filter - + self.enable_ly_identifier_l10n = enable_ly_identifier_l10n def file_name (self, prefix, ext): return lang_file_name (prefix, self.webext, ext) @@ -34,27 +36,49 @@ class LanguageDef: site = LanguageDef ('en', 'English', webext='') -html_page_body = re.compile ('', re.M | re.I) +html_body_re = re.compile ('', re.I) +html_end_body_re = re.compile ('', re.I) french_html_typo_rules = ((' :', ' :'), (' ;', ' ;'), - (' ?', ' ?'), - (' !', ' !')) + (' ?', ' ?'), + (' !', ' !')) def french_html_filter (page): - parts = html_page_body.split (page) + m = html_body_re.search (page) + if m: + body_begin = m.end () + else: + body_begin = 0 + m = html_end_body_re.search (page) + if m: + body_end = m.start () + else: + body_end = len (page) + body = page[body_begin:body_end] for r in french_html_typo_rules: - parts[1] = parts[1].replace (r[0], r[1]) - return parts[0] + '' + parts[1] + '' + parts[2] + body = body.replace (r[0], r[1]) + return page[:body_begin] + body + page[body_end:] -fr = LanguageDef ('fr', 'français', double_punct_char_sep=' ', html_filter = french_html_filter) -es = LanguageDef ('es', 'español') +ca = LanguageDef ('ca', 'català') +cs = LanguageDef ('cs', 'česky', enable_ly_identifier_l10n=False) de = LanguageDef ('de', 'deutsch') +es = LanguageDef ('es', 'español') +fr = LanguageDef ('fr', 'français', double_punct_char_sep=' ', html_filter = french_html_filter) +hu = LanguageDef ('hu', 'magyar') +it = LanguageDef ('it', 'italiano') +ja = LanguageDef ('ja', '日本語', enable_ly_identifier_l10n=False) +nl = LanguageDef ('nl', 'nederlands') +zh = LanguageDef ('zh', '中文', enable_ly_identifier_l10n=False) # Outdated or broken translations may be disabled -# (please run 'make web-clean' before doing that): +# (please run 'make doc-clean' before doing that): #fr.enabled = False -LANGUAGES = (site, fr, es, de) +LANGUAGES = (site, ca, cs, de, es, fr, hu, it, ja, nl, zh) +WEB_LANGUAGES = (site, ca, cs, de, es, fr, hu, it, ja, nl, zh) + +if os.getenv("MAKEWEB") == '1': + LANGUAGES=WEB_LANGUAGES if __name__ == '__main__': print ' '.join ([l.code for l in LANGUAGES if l.enabled and l.code != 'en']) @@ -65,7 +89,6 @@ else: try: import gettext - import os translation = {} for l in LANGUAGES: @@ -75,5 +98,6 @@ else: [l.code]) translation[l.code] = t.gettext except: - sys.stderr.write ('URGUHIU\n') + if os.environ.has_key ('LYDOC_LOCALEDIR'): + sys.stderr.write ('langdefs.py: warning: lilypond-doc gettext domain not found.\n') translation = dict ([(l.code, lambda x: x) for l in LANGUAGES])