|
Packit |
1c1d7e |
#
|
|
Packit |
1c1d7e |
# This file is an aid to generated the Languages rules file.
|
|
Packit |
1c1d7e |
# usage:
|
|
Packit |
1c1d7e |
# python languages.py > ..\winbuild\Languages.rules
|
|
Packit |
1c1d7e |
#
|
|
Packit |
1c1d7e |
import os
|
|
Packit |
1c1d7e |
import re
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
files = [f for f in os.listdir('.') if re.match(r'translator_[a-z][a-z]\.h', f)]
|
|
Packit |
1c1d7e |
new_list = []
|
|
Packit |
1c1d7e |
for f in files:
|
|
Packit |
1c1d7e |
new_list.append([f,(os.path.splitext(f)[0]).replace("translator_","").upper()])
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#
|
|
Packit |
1c1d7e |
# generating file is lang_cfg.py
|
|
Packit |
1c1d7e |
# the rules file has to output lang_cfg.h
|
|
Packit |
1c1d7e |
#
|
|
Packit |
1c1d7e |
print("""\
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Name="languages"
|
|
Packit |
1c1d7e |
Version="8.00"
|
|
Packit |
1c1d7e |
>
|
|
Packit |
1c1d7e |
<Rules>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Name="Languages"
|
|
Packit |
1c1d7e |
DisplayName="Settings"
|
|
Packit |
1c1d7e |
CommandLine="python $(InputPath) [AllOptions] [AdditionalOptions] > $(InpDir)/$(InputName).h"
|
|
Packit |
1c1d7e |
Outputs="$(IntDir)/$(InputName).h"
|
|
Packit |
1c1d7e |
FileExtensions="*.py"
|
|
Packit |
1c1d7e |
AdditionalDependencies=""
|
|
Packit |
1c1d7e |
ExecutionDescription="Executing languages ..."
|
|
Packit |
1c1d7e |
ShowOnlyRuleProperties="false"
|
|
Packit |
1c1d7e |
>
|
|
Packit |
1c1d7e |
<Properties>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Name="EnglishOnly"
|
|
Packit |
1c1d7e |
DisplayName="Use English Only"
|
|
Packit |
1c1d7e |
Description="Use English Only"
|
|
Packit |
1c1d7e |
DefaultValue="0"
|
|
Packit |
1c1d7e |
>
|
|
Packit |
1c1d7e |
<Values>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Value="0"
|
|
Packit |
1c1d7e |
Switch=""
|
|
Packit |
1c1d7e |
DisplayName="Don't use English Only"
|
|
Packit |
1c1d7e |
/>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Value="1"
|
|
Packit |
1c1d7e |
Switch="ENONLY"
|
|
Packit |
1c1d7e |
DisplayName="Use English Only"
|
|
Packit |
1c1d7e |
/>
|
|
Packit |
1c1d7e |
</Values>
|
|
Packit |
1c1d7e |
</EnumProperty>
|
|
Packit |
1c1d7e |
""")
|
|
Packit |
1c1d7e |
#
|
|
Packit |
1c1d7e |
# generate loop, English is mandatory (so cannot be chosen)
|
|
Packit |
1c1d7e |
#
|
|
Packit |
1c1d7e |
for f in new_list:
|
|
Packit |
1c1d7e |
if (f[1] != "EN"):
|
|
Packit |
1c1d7e |
# search for the language description
|
|
Packit |
1c1d7e |
fil = open(f[0], 'r')
|
|
Packit |
1c1d7e |
tmp = ""
|
|
Packit |
1c1d7e |
for line in fil:
|
|
Packit |
1c1d7e |
if "idLanguage" in line:
|
|
Packit |
1c1d7e |
tmp = line
|
|
Packit |
1c1d7e |
if "}" in line:
|
|
Packit |
1c1d7e |
break
|
|
Packit |
1c1d7e |
elif (tmp != ""):
|
|
Packit |
1c1d7e |
tmp += line
|
|
Packit |
1c1d7e |
if "}" in line:
|
|
Packit |
1c1d7e |
break
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
tmp = tmp.replace("\n","")
|
|
Packit |
1c1d7e |
l = re.sub('[^"]*"([^"]*)".*','\\1',tmp)
|
|
Packit |
1c1d7e |
l1 = l.replace("-","")
|
|
Packit |
1c1d7e |
# capatalize first letter
|
|
Packit |
1c1d7e |
l = l.title()
|
|
Packit |
1c1d7e |
print("""\
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Name="%s"
|
|
Packit |
1c1d7e |
DisplayName="Use %s"
|
|
Packit |
1c1d7e |
Description="Use %s"
|
|
Packit |
1c1d7e |
DefaultValue="1"
|
|
Packit |
1c1d7e |
>
|
|
Packit |
1c1d7e |
<Values>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Value="0"
|
|
Packit |
1c1d7e |
Switch=""
|
|
Packit |
1c1d7e |
DisplayName="Don't use %s"
|
|
Packit |
1c1d7e |
/>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Value="1"
|
|
Packit |
1c1d7e |
Switch="%s"
|
|
Packit |
1c1d7e |
DisplayName="Use %s"
|
|
Packit |
1c1d7e |
/>
|
|
Packit |
1c1d7e |
</Values>
|
|
Packit |
1c1d7e |
</EnumProperty>
|
|
Packit |
1c1d7e |
""" % (l1, l, l, l, f[1], l))
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
print("""\
|
|
Packit |
1c1d7e |
</Properties>
|
|
Packit |
1c1d7e |
</CustomBuildRule>
|
|
Packit |
1c1d7e |
</Rules>
|
|
Packit |
1c1d7e |
</VisualStudioToolFile>
|
|
Packit |
1c1d7e |
""")
|