]> git.donarmstrong.com Git - lilypond.git/blobdiff - buildscripts/langdefs.py
Typo
[lilypond.git] / buildscripts / langdefs.py
index 915d5087ed5ebc39750353f007fce978e849f469..4c9a0a7d8b61dffc980275254756b34ce03713e4 100644 (file)
@@ -1,11 +1,11 @@
 #!@PYTHON@
+#-*- coding: utf-8 -*-
 
 """
 Documentation i18n module
 """
 
-def _ (s):
-    return s
+import re
 
 def lang_file_name (p, langext, ext):
     if langext != '':
@@ -13,7 +13,7 @@ def lang_file_name (p, langext, ext):
     return p + ext
 
 class LanguageDef:
-    def __init__ (self, code, name, webext=None, double_punct_char_sep=''):
+    def __init__ (self, code, name, webext=None, double_punct_char_sep='', html_filter=lambda s: s):
         self.code = code
         self.name = name
         self.enabled = True
@@ -22,6 +22,7 @@ class LanguageDef:
         else:
             self.webext = webext
         self.double_punct_char_sep = double_punct_char_sep
+        self.html_filter = html_filter
     
     def file_name (self, prefix, ext):
         return lang_file_name (prefix, self.webext, ext)
@@ -29,13 +30,25 @@ class LanguageDef:
 
 # All language information needed for documentation i18n is defined
 # here. For each 'Documentation/ab' directory containing docs
-# translated in 'ab', there should be an entry in LANGUAGES.
+# translated in 'ab', there should be one entry in LANGUAGES.
 
-site = LanguageDef ('en', _('English'), webext='')
-fr = LanguageDef ('fr', _('French'), double_punct_char_sep=' ')
-es = LanguageDef ('es', _('Spanish') )
-de = LanguageDef ('de', _('German') )
-#nl = LanguageDef ('nl', 'Nederlands')
+site = LanguageDef ('en', 'English', webext='')
+
+html_page_body = re.compile ('</?body>', re.M | re.I)
+french_html_typo_rules = ((' :', '&nbsp;:'),
+                          (' ;', '&nbsp;;'),
+                          (' ?', '&thinsp;?'),
+                          (' !', '&thinsp;!'))
+
+def french_html_filter (page):
+    parts = html_page_body.split (page)
+    for r in french_html_typo_rules:
+        parts[1] = parts[1].replace (r[0], r[1])
+    return parts[0] + '<body>' + parts[1] + '</body>' + parts[2]
+
+fr = LanguageDef ('fr', 'français', double_punct_char_sep='&nbsp;', html_filter = french_html_filter)
+es = LanguageDef ('es', 'español')
+de = LanguageDef ('de', 'deutsch')
 
 # Outdated or broken translations may be disabled
 # (please run 'make web-clean' before doing that):