diff options
Diffstat (limited to 'src/languages.py')
-rwxr-xr-x | src/languages.py | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/src/languages.py b/src/languages.py new file mode 100755 index 0000000..0005e88 --- /dev/null +++ b/src/languages.py @@ -0,0 +1,106 @@ +# +# This file is an aid to generated the Languages rules file. +# usage: +# python languages.py > ..\winbuild\Languages.rules +# +import os +import re + +files = [f for f in os.listdir('.') if re.match(r'translator_[a-z][a-z]\.h', f)] +new_list = [] +for f in files: + new_list.append([f,(os.path.splitext(f)[0]).replace("translator_","").upper()]) + +# +# generating file is lang_cfg.py +# the rules file has to output lang_cfg.h +# +print """\ +<?xml version="1.0" encoding="utf-8"?> +<VisualStudioToolFile + Name="languages" + Version="8.00" + > + <Rules> + <CustomBuildRule + Name="Languages" + DisplayName="Settings" + CommandLine="python $(InputPath) [AllOptions] [AdditionalOptions] > $(InputDir)../src/$(InputName).h" + Outputs="$(InputDir)../src/$(InputName).h" + FileExtensions="*.py" + AdditionalDependencies="" + ExecutionDescription="Executing languages ..." + ShowOnlyRuleProperties="false" + > + <Properties> + <EnumProperty + Name="EnglishOnly" + DisplayName="Use English Only" + Description="Use English Only" + DefaultValue="0" + > + <Values> + <EnumValue + Value="0" + Switch="" + DisplayName="Don't use English Only" + /> + <EnumValue + Value="1" + Switch="ENONLY" + DisplayName="Use English Only" + /> + </Values> + </EnumProperty> +""" +# +# generate loop, English is mandatory (so cannot be chosen) +# +for f in new_list: + if (f[1] != "EN"): + # search for the language description + fil = open(f[0], 'r') + tmp = "" + for line in fil: + if "idLanguage" in line: + tmp = line + if "}" in line: + break + elif (tmp != ""): + tmp += line + if "}" in line: + break + + tmp = tmp.replace("\n","") + l = re.sub('[^"]*"([^"]*)".*','\\1',tmp) + l1 = l.replace("-","") + # capatalize first letter + l = l.title() + print """\ + <EnumProperty + Name="%s" + DisplayName="Use %s" + Description="Use %s" + DefaultValue="1" + > + <Values> + <EnumValue + Value="0" + Switch="" + DisplayName="Don't use %s" + /> + <EnumValue + Value="1" + Switch="%s" + DisplayName="Use %s" + /> + </Values> + </EnumProperty> + """ % (l1, l, l, l, f[1], l) + +print """\ + </Properties> + </CustomBuildRule> + </Rules> +</VisualStudioToolFile> +""" |