diff options
author | Philipp Sehmisch <crush@themanaworld.org> | 2009-01-27 04:01:50 +0100 |
---|---|---|
committer | Philipp Sehmisch <crush@themanaworld.org> | 2009-01-27 14:21:17 +0100 |
commit | a8bf33d851c88107a4673ef6fc97b303efb537d8 (patch) | |
tree | 9d87a83a04259521483d8fdbddee5be67dca314a /packaging/windows | |
parent | 0346ea5d2d4ce9eee4941b907b9868f631a73fd2 (diff) | |
download | mana-a8bf33d851c88107a4673ef6fc97b303efb537d8.tar.gz mana-a8bf33d851c88107a4673ef6fc97b303efb537d8.tar.bz2 mana-a8bf33d851c88107a4673ef6fc97b303efb537d8.tar.xz mana-a8bf33d851c88107a4673ef6fc97b303efb537d8.zip |
Enabled gettext translations on windows.
Diffstat (limited to 'packaging/windows')
-rw-r--r-- | packaging/windows/make-translations.vbs | 42 | ||||
-rw-r--r-- | packaging/windows/setup.nsi | 3 |
2 files changed, 45 insertions, 0 deletions
diff --git a/packaging/windows/make-translations.vbs b/packaging/windows/make-translations.vbs new file mode 100644 index 00000000..48246188 --- /dev/null +++ b/packaging/windows/make-translations.vbs @@ -0,0 +1,42 @@ +Set fso = CreateObject("Scripting.FileSystemObject")
+Set WshShell = CreateObject("WScript.Shell")
+Dim s, infile, outfile, command
+
+Function CreateFolderIfNonexistent(folder)
+ if not fso.FolderExists(folder) then
+ fso.CreateFolder(folder)
+ end if
+end Function
+
+'check for existence of msgfmt
+if not fso.FileExists("msgfmt.exe") then
+ WScript.echo "msgfmt.exe not found. Please get gettext for windows from http://gnuwin32.sourceforge.net/packages/gettext.htm and copy the files msgfmt.exe and all dll files from the gettext/bin directory into this directory and run this script again."
+ WScript.Quit(1)
+end if
+
+CreateFolderIfNonexistent("..\..\translations\")
+
+'open translation list
+Set stream = fso.GetFile("..\..\po\LINGUAS").OpenAsTextStream(1, 0)
+
+'iterate contents of translations file
+translations = 0
+do while not stream.AtEndOfStream
+ s = stream.ReadLine()
+ if inStr(s, "#") = false then
+ 'create the output directory
+ CreateFolderIfNonexistent("..\..\translations\" + s)
+ CreateFolderIfNonexistent("..\..\translations\" + s + "\LC_MESSAGES")
+ 'build the translate command
+ infile = "../../po/" + s + ".po"
+ outfile = "../../translations/" + s +"/LC_MESSAGES/tmw.mo"
+ command = "msgfmt -c -o " + outfile + " " + infile
+ 'execute translate command
+ errval = WshShell.run(command, 0, true)
+ if errval = 0 then
+ translations = translations + 1
+ end if
+ end if
+loop
+
+WScript.echo translations, " translations compiled."
\ No newline at end of file diff --git a/packaging/windows/setup.nsi b/packaging/windows/setup.nsi index ec57051c..55b3bd45 100644 --- a/packaging/windows/setup.nsi +++ b/packaging/windows/setup.nsi @@ -156,6 +156,7 @@ Section "Core files (required)" SecCore CreateDirectory "$INSTDIR\data\graphics\gui" CreateDirectory "$INSTDIR\data\graphics\images" CreateDirectory "$INSTDIR\docs" + CreateDirectory "$INSTDIR\translations" SetOverwrite ifnewer SetOutPath "$INSTDIR" @@ -180,6 +181,8 @@ Section "Core files (required)" SecCore File /nonfatal "${SRCDIR}\data\music\*.ogg" SetOutPath "$INSTDIR\docs" File "${SRCDIR}\docs\FAQ.txt" + SetOutPath "$INSTDIR\" + File /nonfatal /r "${SRCDIR}\translations" SectionEnd Section -AdditionalIcons |