diff options
Diffstat (limited to 'tools')
110 files changed, 11121 insertions, 0 deletions
diff --git a/tools/Dumpexts/Dumpexts.vcxproj b/tools/Dumpexts/Dumpexts.vcxproj new file mode 100755 index 000000000..9791ecc1d --- /dev/null +++ b/tools/Dumpexts/Dumpexts.vcxproj @@ -0,0 +1,228 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{3170E4C2-1173-4264-A222-7EE8CCB3DDF7}</ProjectGuid> + <RootNamespace>Dumpexts</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Midl> + <TypeLibraryName>$(Configuration)/Dumpexts.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <AssemblerListingLocation>$(Configuration)/</AssemblerListingLocation> + <ObjectFileName>$(Configuration)/</ObjectFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x040c</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(Configuration)/Dumpexts.pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + </Link> + <PostBuildEvent> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + <TypeLibraryName>$(Configuration)/Dumpexts.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <AssemblerListingLocation>$(Configuration)/</AssemblerListingLocation> + <ObjectFileName>$(Configuration)/</ObjectFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x040c</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(Configuration)/Dumpexts.pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + </Link> + <PostBuildEvent> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Midl> + <TypeLibraryName>$(Configuration)/Dumpexts.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <PreprocessorDefinitions>NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <AssemblerListingLocation>$(Configuration)/</AssemblerListingLocation> + <ObjectFileName>$(Configuration)/</ObjectFileName> + <WarningLevel>Level3</WarningLevel> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x040c</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile> + <ProgramDatabaseFile>$(Configuration)/Dumpexts.pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + </Link> + <PostBuildEvent> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + <TypeLibraryName>$(Configuration)/Dumpexts.tlb</TypeLibraryName> + <HeaderFileName> + </HeaderFileName> + </Midl> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <PreprocessorDefinitions>NDEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <FunctionLevelLinking>true</FunctionLevelLinking> + <AssemblerListingLocation>$(Configuration)/</AssemblerListingLocation> + <ObjectFileName>$(Configuration)/</ObjectFileName> + <WarningLevel>Level3</WarningLevel> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x040c</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile> + <ProgramDatabaseFile>$(Configuration)/Dumpexts.pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + </Link> + <PostBuildEvent> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="winDumpExts.c"> + <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization> + <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\Visual-Studio-settings\rename-vc-files\rename-vc-files.vcxproj"> + <Project>{dd8a0506-8d31-4cf8-856a-c10ece9c13a4}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/tools/Dumpexts/Dumpexts.vcxproj.filters b/tools/Dumpexts/Dumpexts.vcxproj.filters new file mode 100755 index 000000000..31aecbc86 --- /dev/null +++ b/tools/Dumpexts/Dumpexts.vcxproj.filters @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{9917b9c9-dee9-4122-9042-65e8172353f5}</UniqueIdentifier> + <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{472d216c-981d-4e87-99f8-68310f3ed718}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{6c0df247-9df4-4937-b3c6-d85374be7189}</UniqueIdentifier> + <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="winDumpExts.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/tools/Dumpexts/winDumpExts.c b/tools/Dumpexts/winDumpExts.c new file mode 100755 index 000000000..4ff4aa981 --- /dev/null +++ b/tools/Dumpexts/winDumpExts.c @@ -0,0 +1,578 @@ +/*-----------------------------------------------------------------------------------*/ +/* +* winDumpExts.c -- +* Author: Gordon Chaffee, Scott Stanton +* +* History: The real functionality of this file was written by +* Matt Pietrek in 1993 in his pedump utility. I've +* modified it to dump the externals in a bunch of object +* files to create a .def file. +* +* 10/12/95 Modified by Scott Stanton to support Relocatable Object Module +* Format files for Borland C++ 4.5. +* +* Notes: Visual C++ puts an underscore before each exported symbol. +* This file removes them. I don't know if this is a problem +* this other compilers. If _MSC_VER is defined, +* the underscore is removed. If not, it isn't. To get a +* full dump of an object file, use the -f option. This can +* help determine the something that may be different with a +* compiler other than Visual C++. +*/ +/*-----------------------------------------------------------------------------------*/ +/* Updated 2007 Win64 support (A.C) */ +/* it will be interesting to use PEDUMP http://www.wheaty.net */ +/* this tools is used to extract symbols from .obj */ +/* used to build Scilab on Windows and dynamic link */ +/*-----------------------------------------------------------------------------------*/ +#include <windows.h> +#include <stdio.h> +#include <string.h> +#include <process.h> +/*-----------------------------------------------------------------------------------*/ +#ifdef _ALPHA_ +#define e_magic_number IMAGE_FILE_MACHINE_ALPHA +#else +#ifdef _WIN64 +#define e_magic_number IMAGE_FILE_MACHINE_AMD64 +#else +#define e_magic_number IMAGE_FILE_MACHINE_I386 +#endif +#endif + +#ifdef _WIN64 +#define MakePtr(cast, ptr, addValue) (cast)( (DWORD64)(ptr) + (DWORD64)(addValue)) +#else +#define MakePtr(cast, ptr, addValue) (cast)( (DWORD)(ptr) + (DWORD)(addValue)) +#endif + +#define stricmp _stricmp +/*-----------------------------------------------------------------------------------*/ +/* +* The names of the first group of possible symbol table storage classes +*/ +/*-----------------------------------------------------------------------------------*/ +char * SzStorageClass1[] = +{ + "NULL", "AUTOMATIC", "EXTERNAL", "STATIC", "REGISTER", "EXTERNAL_DEF", "LABEL", + "UNDEFINED_LABEL", "MEMBER_OF_STRUCT", "ARGUMENT", "STRUCT_TAG", + "MEMBER_OF_UNION", "UNION_TAG", "TYPE_DEFINITION", "UNDEFINED_STATIC", + "ENUM_TAG", "MEMBER_OF_ENUM", "REGISTER_PARAM", "BIT_FIELD" +}; +/*-----------------------------------------------------------------------------------*/ +/* +* The names of the second group of possible symbol table storage classes +*/ +/*-----------------------------------------------------------------------------------*/ +char * SzStorageClass2[] = +{ + "BLOCK", "FUNCTION", "END_OF_STRUCT", "FILE", "SECTION", "WEAK_EXTERNAL" +}; +/*-----------------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------- +* GetArgcArgv -- +* +* Break up a line into argc argv +*---------------------------------------------------------------------- +*/ +int GetArgcArgv(char *s, char **argv) +{ + int quote = 0; + int argc = 0; + char *bp = NULL; + + bp = s; + while (1) + { + while (isspace(*bp)) + { + bp++; + } + if (*bp == '\n' || *bp == '\0') + { + *bp = '\0'; + return argc; + } + if (*bp == '\"') + { + quote = 1; + bp++; + } + argv[argc++] = bp; + + while (*bp != '\0') + { + if (quote) + { + if (*bp == '\"') + { + quote = 0; + *bp = '\0'; + bp++; + break; + } + bp++; + continue; + } + if (isspace(*bp)) + { + *bp = '\0'; + bp++; + break; + } + bp++; + } + } +} +/*-----------------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------- +* GetSZStorageClass -- +* +* Given a symbol storage class value, return a descriptive +* ASCII string +*---------------------------------------------------------------------- +*/ +PSTR GetSZStorageClass(BYTE storageClass) +{ + if ( storageClass <= IMAGE_SYM_CLASS_BIT_FIELD ) + { + return SzStorageClass1[storageClass]; + } + else if ( (storageClass >= IMAGE_SYM_CLASS_BLOCK) + && (storageClass <= IMAGE_SYM_CLASS_WEAK_EXTERNAL) ) + { + return SzStorageClass2[storageClass - IMAGE_SYM_CLASS_BLOCK]; + } + else + { + return "???"; + } +} +/*-----------------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------- +* GetSectionName -- +* +* Used by DumpSymbolTable, it gives meaningful names to +* the non-normal section number. +* +* Results: +* A name is returned in buffer +*---------------------------------------------------------------------- +*/ +void GetSectionName(WORD section, PSTR buffer, unsigned cbBuffer) +{ + char tempbuffer[10]; + + switch ( (SHORT)section ) + { + case IMAGE_SYM_UNDEFINED: + strcpy(tempbuffer, "UNDEF"); + break; + case IMAGE_SYM_ABSOLUTE: + strcpy(tempbuffer, "ABS "); + break; + case IMAGE_SYM_DEBUG: + strcpy(tempbuffer, "DEBUG"); + break; + default: + wsprintf(tempbuffer, "%-5X", section); + } + + strncpy(buffer, tempbuffer, cbBuffer - 1); +} +/*-----------------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------- +* DumpSymbolTable -- +* +* Dumps a COFF symbol table from an EXE or OBJ. We only use +* it to dump tables from OBJs. +*---------------------------------------------------------------------- +*/ +void DumpSymbolTable(PIMAGE_SYMBOL pSymbolTable, FILE *fout, unsigned cSymbols) +{ + unsigned i = 0; + PSTR stringTable = NULL; + char sectionName[10]; + + fprintf(fout, "Symbol Table - %X entries (* = auxillary symbol)\n", cSymbols); + + fprintf(fout, + "Indx Name Value Section cAux Type Storage\n" + "---- -------------------- -------- ---------- ----- ------- --------\n"); + + /* + * The string table apparently starts right after the symbol table + */ + stringTable = (PSTR)&pSymbolTable[cSymbols]; + for ( i = 0; i < cSymbols; i++ ) + { + fprintf(fout, "%04X ", i); + if ( pSymbolTable->N.Name.Short != 0 ) + { + fprintf(fout, "%-20.8s", pSymbolTable->N.ShortName); + } + else + { + fprintf(fout, "%-20s", stringTable + pSymbolTable->N.Name.Long); + } + fprintf(fout, " %08X", (unsigned int)pSymbolTable->Value); + + GetSectionName(pSymbolTable->SectionNumber, sectionName, sizeof(sectionName)); + fprintf(fout, " sect:%s aux:%X type:%02X st:%s\n", + sectionName, + pSymbolTable->NumberOfAuxSymbols, + pSymbolTable->Type, + GetSZStorageClass(pSymbolTable->StorageClass) ); + /* + * Take into account any aux symbols + */ + i += pSymbolTable->NumberOfAuxSymbols; + pSymbolTable += pSymbolTable->NumberOfAuxSymbols; + pSymbolTable++; + } +} +/*-----------------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------- +* DumpExternals -- +* +* Dumps a COFF symbol table from an EXE or OBJ. We only use +* it to dump tables from OBJs. +*---------------------------------------------------------------------- +*/ +void DumpExternals(PIMAGE_SYMBOL pSymbolTable, FILE *fout, unsigned cSymbols) +{ + unsigned i = 0; + PSTR stringTable = NULL; + char *s = NULL, *f = NULL; + char symbol[4096]; + + /* + * The string table apparently starts right after the symbol table + */ + stringTable = (PSTR)&pSymbolTable[cSymbols]; + + for ( i = 0; i < cSymbols; i++ ) + { + if (pSymbolTable->SectionNumber > 0 && pSymbolTable->Type == 0x20) + { + if (pSymbolTable->StorageClass == IMAGE_SYM_CLASS_EXTERNAL) + { + if (pSymbolTable->N.Name.Short != 0) + { + strncpy(symbol, (const char*)pSymbolTable->N.ShortName, 8); + symbol[8] = 0; + } + else + { + s = stringTable + pSymbolTable->N.Name.Long; + strcpy(symbol, s); + } + s = symbol; + f = strchr(s, '@'); + if (f) + { + *f = 0; + } +#if defined(_MSC_VER) && ( defined(_X86_) ) + if (symbol[0] == '_') + { + s = &symbol[1]; + } +#endif + if (( stricmp(s, "DllEntryPoint") != 0) + && (stricmp(s, "DllMain") != 0)) + { + //remove Intel C++ 14 added symbols + if ( s[0] != '?' && strncmp(s, "__sti__?", 8) != 0) + { + fprintf(fout, "\t%s\n", s); + } + } + } + } + /* + * Take into account any aux symbols + */ + i += pSymbolTable->NumberOfAuxSymbols; + pSymbolTable += pSymbolTable->NumberOfAuxSymbols; + pSymbolTable++; + } +} +/*-----------------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------- +* DumpObjFile -- +* +* Dump an object file--either a full listing or just the exported +* symbols. +*---------------------------------------------------------------------- +*/ +void DumpObjFile(PIMAGE_FILE_HEADER pImageFileHeader, FILE *fout, int full) +{ + PIMAGE_SYMBOL PCOFFSymbolTable; + DWORD COFFSymbolCount; + + //PCOFFSymbolTable = (PIMAGE_SYMBOL)LongToPtr( + //((DWORD)PtrToLong( pImageFileHeader ) + pImageFileHeader->PointerToSymbolTable) ); + PCOFFSymbolTable = MakePtr(PIMAGE_SYMBOL, pImageFileHeader, pImageFileHeader->PointerToSymbolTable); + COFFSymbolCount = pImageFileHeader->NumberOfSymbols; + + if (full) + { + DumpSymbolTable(PCOFFSymbolTable, fout, COFFSymbolCount); + } + else + { + DumpExternals(PCOFFSymbolTable, fout, COFFSymbolCount); + } +} +/*-----------------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------- +* SkipToNextRecord -- +* +* Skip over the current ROMF record and return the type of the +* next record. +*---------------------------------------------------------------------- +*/ +BYTE SkipToNextRecord(BYTE **ppBuffer) +{ + int length = 0; + (*ppBuffer)++; /* Skip over the type.*/ + length = *((WORD*)(*ppBuffer))++; /* Retrieve the length. */ + *ppBuffer += length; /* Skip over the rest. */ + return **ppBuffer; /* Return the type. */ +} +/*-----------------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------- +* DumpROMFObjFile -- +* +* Dump a Relocatable Object Module Format file, displaying only +* the exported symbols. +*---------------------------------------------------------------------- +*/ +void DumpROMFObjFile(LPVOID pBuffer, FILE *fout) +{ + BYTE type = 0, length = 0 ; + char symbol[1024], *s = NULL; + + while (1) + { + BYTE *loc = (BYTE*)pBuffer; + type = SkipToNextRecord(&loc); + if (type == 0x90) + { + /* PUBDEF */ + if (((BYTE*)pBuffer)[4] != 0) + { + length = ((BYTE*)pBuffer)[5]; + strncpy(symbol, ((char*)pBuffer) + 6, length); + symbol[length] = '\0'; + s = symbol; + if ((stricmp(s, "DllEntryPoint") != 0) + && (stricmp(s, "DllMain") != 0)) + { + if (s[0] == '_') + { + s++; + fprintf(fout, "\t_%s\n\t%s=_%s\n", s, s, s); + } + else if (s[0] != '?' ) + { + fprintf(fout, "\t%s\n", s); + } + } + } + } + else if (type == 0x8B || type == 0x8A) + { + /* MODEND */ + break; + } + } +} +/*-----------------------------------------------------------------------------------*/ +/*---------------------------------------------------------------------- +* DumpFile -- +* +* Open up a file, memory map it, and call the appropriate +* dumping routine +*---------------------------------------------------------------------- +*/ +void DumpFile(LPSTR filename, FILE *fout, int full) +{ + HANDLE hFile; + HANDLE hFileMapping; + LPVOID lpFileBase; + PIMAGE_DOS_HEADER dosHeader; + + hFile = CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, NULL, + OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); + + if (hFile == INVALID_HANDLE_VALUE) + { + fprintf(stderr, "Couldn't open file with CreateFile()\n"); + return; + } + + hFileMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL); + if (hFileMapping == 0) + { + CloseHandle(hFile); + fprintf(stderr, "Couldn't open file mapping with CreateFileMapping()\n"); + return; + } + + lpFileBase = MapViewOfFile(hFileMapping, FILE_MAP_READ, 0, 0, 0); + if (lpFileBase == 0) + { + CloseHandle(hFileMapping); + CloseHandle(hFile); + fprintf(stderr, "Couldn't map view of file with MapViewOfFile()\n"); + return; + } + + dosHeader = (PIMAGE_DOS_HEADER)lpFileBase; + if (dosHeader->e_magic == IMAGE_DOS_SIGNATURE) + { + fprintf(stderr, "File is an executable. I don't dump those.\n"); + return; + } + /* Does it look like a i386 COFF OBJ file??? */ + else if ((dosHeader->e_magic == e_magic_number) + && (dosHeader->e_sp == 0)) + { + /* + * The two tests above aren't what they look like. They're + * really checking for IMAGE_FILE_HEADER.Machine == i386 (0x14C) + * and IMAGE_FILE_HEADER.SizeOfOptionalHeader == 0; + */ + DumpObjFile((PIMAGE_FILE_HEADER) lpFileBase, fout, full); + } + else if (*((BYTE *)lpFileBase) == 0x80) + { + /* + * This file looks like it might be a ROMF file. + */ + DumpROMFObjFile(lpFileBase, fout); + } + else + { + printf("unrecognized file format\n"); + } + UnmapViewOfFile(lpFileBase); + CloseHandle(hFileMapping); + CloseHandle(hFile); +} +/*-----------------------------------------------------------------------------------*/ +int main(int argc, char **argv) +{ + int noheader = 0; + char *fargv[1000]; + char cmdline[10000]; + int i = 0, arg = 0; + FILE *fout = NULL; + int pos = 0; + int full = 0; + char *outfile = NULL; + + if (argc < 3) + { +Usage: + fprintf(stderr, "Usage: %s ?-o outfile? ?-n? ?-f(ull)? <dllname> <object filenames> ..\n", argv[0]); + exit(1); + } + + arg = 1; + while (argv[arg][0] == '-') + { + if (strcmp(argv[arg], "--") == 0) + { + arg++; + break; + } + else if (strcmp(argv[arg], "-f") == 0) + { + full = 1; + } + else if (strcmp(argv[arg], "-n") == 0) + { + noheader = 1; + } + else if (strcmp(argv[arg], "-o") == 0) + { + arg++; + if (arg == argc) + { + goto Usage; + } + outfile = argv[arg]; + } + arg++; + } + if (arg == argc) + { + goto Usage; + } + + if (outfile) + { + fout = fopen(outfile, "w+"); + if (fout == NULL) + { + fprintf(stderr, "Unable to open \'%s\' for writing:\n", argv[arg]); + perror(""); + exit(1); + } + } + else + { + fout = stdout; + } + + if (! full) + { + char *dllname = argv[arg]; + arg++; + if (arg == argc) + { + goto Usage; + } + + if (noheader != 1) + { + fprintf(fout, "LIBRARY %s\n", dllname); + fprintf(fout, "EXPORTS\n"); + } + } + + for (; arg < argc; arg++) + { + if (argv[arg][0] == '@') + { + FILE *fargs = fopen(&argv[arg][1], "r"); + if (fargs == NULL) + { + fprintf(stderr, "Unable to open \'%s\' for reading:\n", + argv[arg]); + perror(""); + exit(1); + } + pos = 0; + for (i = 0; i < arg; i++) + { + strcpy(&cmdline[pos], argv[i]); + pos += (int)strlen(&cmdline[pos]) + 1; + fargv[i] = argv[i]; + } + fgets(&cmdline[pos], sizeof(cmdline), fargs); + fprintf(stderr, "%s\n", &cmdline[pos]); + fclose(fargs); + i += GetArgcArgv(&cmdline[pos], &fargv[i]); + argc = i; + argv = fargv; + } + DumpFile(argv[arg], fout, full); + } + exit(0); + return 0; +} +/*-----------------------------------------------------------------------------------*/ diff --git a/tools/Perl/Readme.txt b/tools/Perl/Readme.txt new file mode 100755 index 000000000..41f6165a8 --- /dev/null +++ b/tools/Perl/Readme.txt @@ -0,0 +1,2 @@ +Only for Windows. +Copy bin,lib and site directories of Perl in this directory.
\ No newline at end of file diff --git a/tools/SetupAtlas/FileExist.c b/tools/SetupAtlas/FileExist.c new file mode 100755 index 000000000..8e0f82a4b --- /dev/null +++ b/tools/SetupAtlas/FileExist.c @@ -0,0 +1,27 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ +/*--------------------------------------------------------------------------*/ +#include <windows.h> +#include "FileExist.h" +/*--------------------------------------------------------------------------*/ +BOOL FileExist(wchar_t *wcfilename) +{ + WIN32_FIND_DATAW FindFileData; + HANDLE handle = FindFirstFileW (wcfilename, &FindFileData); + if (handle != INVALID_HANDLE_VALUE) + { + FindClose (handle); + return TRUE; + } + return FALSE; +} +/*--------------------------------------------------------------------------*/
\ No newline at end of file diff --git a/tools/SetupAtlas/FileExist.h b/tools/SetupAtlas/FileExist.h new file mode 100755 index 000000000..792fd1e8b --- /dev/null +++ b/tools/SetupAtlas/FileExist.h @@ -0,0 +1,26 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ +/*--------------------------------------------------------------------------*/ +#ifndef __FILEEXIST_H__ +#define __FILEEXIST_H__ + +#include <wchar.h> + +/** +* checks if a file exists +* @param[in] filename +* @return TRUE if exist +*/ +BOOL FileExist(wchar_t *wcfilename); + +#endif /* __FILEEXIST_H__ */ +/*--------------------------------------------------------------------------*/ diff --git a/tools/SetupAtlas/SetupAtlas.c b/tools/SetupAtlas/SetupAtlas.c new file mode 100755 index 000000000..17e9dae39 --- /dev/null +++ b/tools/SetupAtlas/SetupAtlas.c @@ -0,0 +1,296 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ +/*--------------------------------------------------------------------------*/ +#include <Windows.h> +#include "writeLog.h" +#include "getCpuInfos.h" +#include "readBlasSpec.h" +#include "copyBlasFile.h" +#include "GetPathOfThisExe.h" +/*--------------------------------------------------------------------------*/ +#pragma comment(lib,"../../bin/libxml2.lib") +/*--------------------------------------------------------------------------*/ +#define LOG_FILENAME L"SetupAtlas.log" +#define ATLASSPEC_FILENAME L"Atlas.spec" +/*--------------------------------------------------------------------------*/ +static wchar_t *LogFilename = NULL; +static wchar_t msgtolog[512]; +static wchar_t *buildFilename(wchar_t *destpath, wchar_t *filename); +static wchar_t *getCpuDllFilename(struct cpu_struct**CPUS_SPEC, int sizeCPUS_SPEC); +static BOOL freeCpuStruct(struct cpu_struct**CPUS_SPEC, int sizeCPUS_SPEC); +/*--------------------------------------------------------------------------*/ +int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine, int iCmdShow) +{ + int ierr = 1; + wchar_t *pathThisExe = GetPathOfThisExe(); + if (pathThisExe) + { + LogFilename = buildFilename(pathThisExe, LOG_FILENAME); + if (LogFilename) + { +#ifdef _WIN64 + { + wchar_t* strtime = getTimeString(); + AppendMessageToLog(strtime, LogFilename); + free(strtime); + strtime = NULL; + AppendMessageToLog(L"**************************************************", LogFilename); + AppendMessageToLog(L"* ONLY WITH X86 VERSION *", LogFilename); + AppendMessageToLog(L"**************************************************", LogFilename); + free(LogFilename); + LogFilename = NULL; + free(pathThisExe); + pathThisExe = NULL; + return ierr; + } +#else + + wchar_t* AtlasSpecFilename = buildFilename(pathThisExe, ATLASSPEC_FILENAME); + + if (AtlasSpecFilename) + { + int sizeArray = 0; + struct cpu_struct **CPUS_SPEC = readBlasSpec(AtlasSpecFilename, &sizeArray); + + if (CPUS_SPEC) + { + wchar_t * blasdllname = getCpuDllFilename(CPUS_SPEC, sizeArray); + if (blasdllname) + { + int err = copyBlasFile(blasdllname); + + wchar_t* strtime = getTimeString(); + AppendMessageToLog(strtime, LogFilename); + free(strtime); + strtime = NULL; + + AppendMessageToLog(L"**************************************************", LogFilename); + switch (err) + { + case COPY_NO_RIGHT_TO_WRITE: + wcscpy(msgtolog, L"NO RIGHT TO WRITE: "); + wcscat(msgtolog, blasdllname); + AppendMessageToLog(msgtolog, LogFilename); + ierr = 1; + break; + case COPY_OK: + wcscpy(msgtolog, L"COPY OK OF: "); + wcscat(msgtolog, blasdllname); + AppendMessageToLog(msgtolog, LogFilename); + ierr = 0; + break; + case COPY_FILE_SRC_NOT_EXISTS: + wcscpy(msgtolog, L"FILE NOT EXIST: "); + wcscat(msgtolog, blasdllname); + AppendMessageToLog(msgtolog, LogFilename); + ierr = 1; + break; + case COPY_DESTINATION_NOT_EXISTS: + wcscpy(msgtolog, L"DESTINATION NOT EXIST"); + AppendMessageToLog(msgtolog, LogFilename); + ierr = 1; + break; + case COPY_FILE_FAILED: + wcscpy(msgtolog, L"COPY FAILED"); + AppendMessageToLog(msgtolog, LogFilename); + ierr = 1; + break; + default: + wcscpy(msgtolog, L"UNKNOW ERROR"); + AppendMessageToLog(msgtolog, LogFilename); + ierr = 1; + break; + } + AppendMessageToLog(L"**************************************************", LogFilename); + + free(blasdllname); + blasdllname = NULL; + } + else + { + wchar_t* strtime = getTimeString(); + AppendMessageToLog(strtime, LogFilename); + free(strtime); + strtime = NULL; + + AppendMessageToLog(L"**************************************************", LogFilename); + wcscpy(msgtolog, L"IMPOSSIBLE TO FIND A OPTIMIZED DLL"); + AppendMessageToLog(msgtolog, LogFilename); + AppendMessageToLog(L"**************************************************", LogFilename); + ierr = 1; + } + + freeCpuStruct(CPUS_SPEC, sizeArray); + } + else + { + wchar_t* strtime = getTimeString(); + AppendMessageToLog(strtime, LogFilename); + free(strtime); + strtime = NULL; + + AppendMessageToLog(L"**************************************************", LogFilename); + wcscpy(msgtolog, L"IMPOSSIBLE TO READ ATLAS.SPEC"); + AppendMessageToLog(msgtolog, LogFilename); + AppendMessageToLog(L"**************************************************", LogFilename); + ierr = 1; + } + free(AtlasSpecFilename); + AtlasSpecFilename = NULL; + } + else + { + wchar_t* strtime = getTimeString(); + AppendMessageToLog(strtime, LogFilename); + free(strtime); + strtime = NULL; + + AppendMessageToLog(L"**************************************************", LogFilename); + wcscpy(msgtolog, L"INCORRECT FILENAME ATLAS.SPEC"); + AppendMessageToLog(msgtolog, LogFilename); + AppendMessageToLog(L"**************************************************", LogFilename); + ierr = 1; + } + + free(LogFilename); + LogFilename = NULL; +#endif /* _WIN64 */ + } + else + { + wchar_t* strtime = getTimeString(); + AppendMessageToLog(strtime, LogFilename); + free(strtime); + strtime = NULL; + + AppendMessageToLog(L"**************************************************", LOG_FILENAME); + AppendMessageToLog(L"* ERROR CREATES LOG FILENAME *", LOG_FILENAME); + AppendMessageToLog(L"**************************************************", LOG_FILENAME); + ierr = 1; + } + + free(pathThisExe); + pathThisExe = NULL; + } + else + { + wchar_t* strtime = getTimeString(); + AppendMessageToLog(strtime, LogFilename); + free(strtime); + strtime = NULL; + + AppendMessageToLog(L"**************************************************", LOG_FILENAME); + AppendMessageToLog(L"* ERROR CURRENT PATH NOT FOUND *", LOG_FILENAME); + AppendMessageToLog(L"**************************************************", LOG_FILENAME); + ierr = 1; + } + + return ierr; +} +/*--------------------------------------------------------------------------*/ +wchar_t *buildFilename(wchar_t *destpath, wchar_t *filename) +{ + wchar_t *fullfilename = NULL; + if (destpath && filename) + { + int len = (int)(wcslen(destpath) + wcslen(filename) + wcslen(L"\\") + 1); + fullfilename = (wchar_t *) calloc(len, sizeof(wchar_t)); + if (fullfilename) + { + wcscpy(fullfilename, destpath); + wcscat(fullfilename, L"\\"); + wcscat(fullfilename, filename); + } + } + return fullfilename; +} +/*--------------------------------------------------------------------------*/ +wchar_t *getCpuDllFilename(struct cpu_struct **CPUS_SPEC, int sizeCPUS_SPEC) +{ + int i = 0; + + wchar_t *CurrentCpuManufacturer = getCpuVendor(); + int CurrentCpuFamily = getCpuFamily(); + int CurrentCpuModel = getCpuModel(); + + wchar_t* strtime = getTimeString(); + AppendMessageToLog(strtime, LogFilename); + free(strtime); + strtime = NULL; + + wsprintfW(msgtolog, L"Vendor %s Family %d Model %d", + CurrentCpuManufacturer, + CurrentCpuFamily, + CurrentCpuModel); + AppendMessageToLog(L"**************************************************", LogFilename); + AppendMessageToLog(L"CPU DETECTION:", LogFilename); + AppendMessageToLog(msgtolog, LogFilename); + AppendMessageToLog(L"**************************************************", LogFilename); + + for (i = 0; i < sizeCPUS_SPEC; i++) + { + if (wcscmp(CPUS_SPEC[i]->cpu_vendor, CurrentCpuManufacturer) == 0) + { + if (CPUS_SPEC[i]->cpu_family == CurrentCpuFamily) + { + if (CPUS_SPEC[i]->cpu_model == CurrentCpuModel) + { + return _wcsdup(CPUS_SPEC[i]->dll_filename); + } + else + { + if (CPUS_SPEC[i]->cpu_model == 0) + { + return _wcsdup(CPUS_SPEC[i]->dll_filename); + } + } + } + } + } + return NULL; +} +/*--------------------------------------------------------------------------*/ +static BOOL freeCpuStruct(struct cpu_struct** CPUS_SPEC, int sizeCPUS_SPEC) +{ + int i = 0; + if (CPUS_SPEC) + { + for (i = 0; i < sizeCPUS_SPEC; i++) + { + if (CPUS_SPEC[i]) + { + if (CPUS_SPEC[i]->comments) + { + free(CPUS_SPEC[i]->comments); + CPUS_SPEC[i]->comments = NULL; + } + if (CPUS_SPEC[i]->cpu_vendor) + { + free(CPUS_SPEC[i]->cpu_vendor); + CPUS_SPEC[i]->cpu_vendor = NULL; + } + if (CPUS_SPEC[i]->dll_filename) + { + free(CPUS_SPEC[i]->dll_filename); + CPUS_SPEC[i]->dll_filename = NULL; + } + free(CPUS_SPEC[i]); + CPUS_SPEC[i] = NULL; + } + } + free(CPUS_SPEC); + CPUS_SPEC = NULL; + return TRUE; + } + return FALSE; +} +/*--------------------------------------------------------------------------*/ diff --git a/tools/SetupAtlas/SetupAtlas.vcxproj b/tools/SetupAtlas/SetupAtlas.vcxproj new file mode 100755 index 000000000..3488b5948 --- /dev/null +++ b/tools/SetupAtlas/SetupAtlas.vcxproj @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{AAFF2053-3F1E-4B8B-B174-4407A6B98FA5}</ProjectGuid> + <RootNamespace>SetupAtlas</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../libs/libxml2/libxml;../../libs/libxml2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + </ClCompile> + <Link> + <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(IntDir)SetupAtlas.pdb</ProgramDatabaseFile> + <SubSystem>Windows</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../libs/libxml2/libxml;../../libs/libxml2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_DEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + </ClCompile> + <Link> + <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(IntDir)SetupAtlas.pdb</ProgramDatabaseFile> + <SubSystem>Windows</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../libs/libxml2/libxml;../../libs/libxml2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + </ClCompile> + <Link> + <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <AdditionalIncludeDirectories>../../libs/libxml2/libxml;../../libs/libxml2;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>NDEBUG;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <WarningLevel>Level3</WarningLevel> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + </ClCompile> + <Link> + <OutputFile>$(SolutionDir)bin\$(ProjectName).exe</OutputFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="copyBlasFile.c" /> + <ClCompile Include="FileExist.c" /> + <ClCompile Include="getCpuInfos.c" /> + <ClCompile Include="getPathOfThisExe.c" /> + <ClCompile Include="readBlasSpec.c" /> + <ClCompile Include="SetupAtlas.c" /> + <ClCompile Include="writeLog.c" /> + <ClCompile Include="xmlEncoding.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="copyBlasFile.h" /> + <ClInclude Include="FileExist.h" /> + <ClInclude Include="getCpuInfos.h" /> + <ClInclude Include="getPathOfThisExe.h" /> + <ClInclude Include="readBlasSpec.h" /> + <ClInclude Include="writeLog.h" /> + <ClInclude Include="xmlEncoding.h" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/tools/SetupAtlas/SetupAtlas.vcxproj.filters b/tools/SetupAtlas/SetupAtlas.vcxproj.filters new file mode 100755 index 000000000..9d518df4b --- /dev/null +++ b/tools/SetupAtlas/SetupAtlas.vcxproj.filters @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="copyBlasFile.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="FileExist.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="getCpuInfos.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="getPathOfThisExe.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="readBlasSpec.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="SetupAtlas.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="writeLog.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="xmlEncoding.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="copyBlasFile.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="FileExist.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="getCpuInfos.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="getPathOfThisExe.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="readBlasSpec.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="writeLog.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="xmlEncoding.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/tools/SetupAtlas/copyBlasFile.c b/tools/SetupAtlas/copyBlasFile.c new file mode 100755 index 000000000..36a3492e6 --- /dev/null +++ b/tools/SetupAtlas/copyBlasFile.c @@ -0,0 +1,112 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ +/*--------------------------------------------------------------------------*/ +#include <windows.h> +#include <stdlib.h> +#include "copyBlasFile.h" +#include "GetPathOfThisExe.h" +#include "FileExist.h" +/*--------------------------------------------------------------------------*/ +#define BLAS_FILENAME_DEST L"blasplus.dll" +#define ATLAS_DIRECTORY L"Atlas" +#define FILE_SEPARATOR L"\\" +#define FORMAT_DESTINATION_FILENAME L"%s\\%s" +#define FORMAT_SOURCE_FILENAME L"%s\\%s\\%s" +/*--------------------------------------------------------------------------*/ +static wchar_t* buildDestinationFilename(wchar_t* execpath); +static wchar_t* buildSourceFilename(wchar_t* execpath, wchar_t* blasDllName); +/*--------------------------------------------------------------------------*/ +copy_blas_error copyBlasFile(wchar_t *blasDllName) +{ + copy_blas_error err = COPY_OK; + wchar_t *currentexecpath = GetPathOfThisExe(); + if (currentexecpath) + { + wchar_t *destFilename = buildDestinationFilename(currentexecpath); + wchar_t *srcFilename = buildSourceFilename(currentexecpath, blasDllName); + if (destFilename && srcFilename) + { + if (FileExist(srcFilename)) + { + if (!CopyFileW(srcFilename, destFilename, FALSE)) + { + err = COPY_FILE_FAILED; + } + else + { + err = COPY_OK; + } + } + else + { + err = COPY_FILE_SRC_NOT_EXISTS; + } + } + + if (destFilename) + { + free(destFilename); + destFilename = NULL; + } + if (srcFilename) + { + free(srcFilename); + srcFilename = NULL; + } + + free(currentexecpath); + currentexecpath = NULL; + } + else + { + err = COPY_DESTINATION_NOT_EXISTS; + } + return err; +} +/*--------------------------------------------------------------------------*/ +wchar_t* buildDestinationFilename(wchar_t* execpath) +{ + wchar_t* DestinationFilename = NULL; + if (execpath) + { + int len = (int)(wcslen(FORMAT_DESTINATION_FILENAME) + + wcslen(execpath) + wcslen(BLAS_FILENAME_DEST) + 1); + + DestinationFilename = (wchar_t *) calloc(len, sizeof(wchar_t)); + if (DestinationFilename) + { + wsprintfW(DestinationFilename, FORMAT_DESTINATION_FILENAME, + execpath, BLAS_FILENAME_DEST); + } + } + return DestinationFilename; +} +/*--------------------------------------------------------------------------*/ +wchar_t* buildSourceFilename(wchar_t* execpath, wchar_t* blasDllName) +{ + wchar_t* SourceFilename = NULL; + if (execpath && blasDllName) + { + int len = (int)(wcslen(FORMAT_SOURCE_FILENAME) + + wcslen(execpath) + wcslen(ATLAS_DIRECTORY) + + wcslen(blasDllName) + 1); + + SourceFilename = (wchar_t *) calloc(len, sizeof(wchar_t)); + if (SourceFilename) + { + wsprintfW(SourceFilename, FORMAT_SOURCE_FILENAME, + execpath, ATLAS_DIRECTORY, blasDllName); + } + } + return SourceFilename; +} +/*--------------------------------------------------------------------------*/ diff --git a/tools/SetupAtlas/copyBlasFile.h b/tools/SetupAtlas/copyBlasFile.h new file mode 100755 index 000000000..abe5c114b --- /dev/null +++ b/tools/SetupAtlas/copyBlasFile.h @@ -0,0 +1,30 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ +/*--------------------------------------------------------------------------*/ + +#ifndef __COPYBLASFILE_H__ +#define __COPYBLASFILE_H__ + +#include <wchar.h> + +typedef enum +{ + COPY_NO_RIGHT_TO_WRITE = 0, + COPY_OK = 1, + COPY_FILE_SRC_NOT_EXISTS = 2, + COPY_DESTINATION_NOT_EXISTS = 3, + COPY_FILE_FAILED = 4 +} copy_blas_error; + +copy_blas_error copyBlasFile(wchar_t *blasDllName); +#endif /* __COPYBLASFILE_H__ */ +/*--------------------------------------------------------------------------*/
\ No newline at end of file diff --git a/tools/SetupAtlas/getCpuInfos.c b/tools/SetupAtlas/getCpuInfos.c new file mode 100755 index 000000000..208c06c8c --- /dev/null +++ b/tools/SetupAtlas/getCpuInfos.c @@ -0,0 +1,263 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ +/*--------------------------------------------------------------------------*/ +#include <Windows.h> +#include <stdio.h> +#include "getCpuInfos.h" +/*--------------------------------------------------------------------------*/ +#define KeyCentralProcessor L"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0" +#define KeyVendorIdentifier L"VendorIdentifier" +#define KeyProcessorNameString L"ProcessorNameString" +#define KeyPlatformID L"Platform ID" +#define KeyCpuIdentifier L"Identifier" +#define KeyFrequency L"~Mhz" +#define LenMaxLine MAX_PATH * 2 +/*--------------------------------------------------------------------------*/ +wchar_t *getCpuVendor(void) +{ + wchar_t *CpuManufacturer = NULL; + HKEY key; + DWORD result; + ULONG length = LenMaxLine; + ULONG Type = 0; + + result = RegOpenKeyExW(HKEY_LOCAL_MACHINE, KeyCentralProcessor, 0, KEY_QUERY_VALUE , &key); + if (result == ERROR_SUCCESS) + { + wchar_t LineResult[LenMaxLine]; + + if ( RegQueryValueExW(key, KeyVendorIdentifier, + 0, &Type, (LPBYTE)LineResult, &length) == ERROR_SUCCESS ) + { + if ( Type == REG_SZ ) + { + CpuManufacturer = _wcsdup(LineResult); + } + } + RegCloseKey(key); + } + return CpuManufacturer; +} +/*--------------------------------------------------------------------------*/ +wchar_t *getProcessorNameString(void) +{ + wchar_t *ProcessorNameString = NULL; + HKEY key; + DWORD result; + ULONG length = LenMaxLine; + ULONG Type = 0; + + result = RegOpenKeyExW(HKEY_LOCAL_MACHINE, KeyCentralProcessor, 0, KEY_QUERY_VALUE , &key); + if (result == ERROR_SUCCESS) + { + wchar_t LineResult[LenMaxLine]; + + if ( RegQueryValueExW(key, KeyProcessorNameString, + 0, &Type, (LPBYTE)LineResult, &length) == ERROR_SUCCESS ) + { + if ( Type == REG_SZ ) + { + ProcessorNameString = _wcsdup(LineResult); + } + } + RegCloseKey(key); + } + return ProcessorNameString; +} +/*--------------------------------------------------------------------------*/ +int getCpuPlatformID(void) +{ + int CpuPlatformId = CPU_PLATFORMID_ERROR; + HKEY key; + DWORD result; + + result = RegOpenKeyExW(HKEY_LOCAL_MACHINE, KeyCentralProcessor, 0, KEY_QUERY_VALUE , &key); + if (result == ERROR_SUCCESS) + { + ULONG type = 0; + DWORD size = 4; + int Num = 0; + if (RegQueryValueExW(key, KeyPlatformID, NULL, &type, (LPBYTE)&Num, &size) == ERROR_SUCCESS ) + { + if (type == REG_DWORD) + { + CpuPlatformId = Num; + } + } + RegCloseKey(key); + } + return CpuPlatformId; +} +/*--------------------------------------------------------------------------*/ +wchar_t *getCpuIdentifier(void) +{ + wchar_t *CpuIdentifier = NULL; + HKEY key; + DWORD result; + ULONG length = LenMaxLine; + ULONG Type = 0; + + result = RegOpenKeyExW(HKEY_LOCAL_MACHINE, KeyCentralProcessor, 0, KEY_QUERY_VALUE , &key); + if (result == ERROR_SUCCESS) + { + wchar_t LineResult[LenMaxLine]; + + if ( RegQueryValueExW(key, KeyCpuIdentifier, + 0, &Type, (LPBYTE)LineResult, &length) == ERROR_SUCCESS ) + { + if ( Type == REG_SZ ) + { + CpuIdentifier = _wcsdup(LineResult); + } + } + RegCloseKey(key); + } + return CpuIdentifier; +} +/*--------------------------------------------------------------------------*/ +int getCpuFrequency(void) +{ + int CpuFrequency = CPU_FREQUENCY_ERROR; + HKEY key; + DWORD result; + + result = RegOpenKeyExW(HKEY_LOCAL_MACHINE, KeyCentralProcessor, 0, KEY_QUERY_VALUE , &key); + if (result == ERROR_SUCCESS) + { + ULONG type = 0; + DWORD size = 4; + int Num = 0; + if (RegQueryValueExW(key, KeyFrequency, NULL, &type, (LPBYTE)&Num, &size) == ERROR_SUCCESS ) + { + if (type == REG_DWORD) + { + CpuFrequency = Num; + } + } + RegCloseKey(key); + } + return CpuFrequency; +} +/*--------------------------------------------------------------------------*/ +int getCpuFamily(void) +{ + wchar_t *Identifier = getCpuIdentifier(); + int CpuFamily = CPU_FAMILY_ERROR; + if (Identifier) + { + wchar_t wArch[LenMaxLine]; + wchar_t wFamily[LenMaxLine]; + wchar_t wFamilyValue[LenMaxLine]; + wchar_t wModel[LenMaxLine]; + wchar_t wModelValue[LenMaxLine]; + wchar_t wStepping[LenMaxLine]; + wchar_t wSteppingValue[LenMaxLine]; + + swscanf(Identifier, L"%s %s %s %s %s %s %s", + wArch, + wFamily, wFamilyValue, + wModel, wModelValue, + wStepping, wSteppingValue); + + CpuFamily = (int)_wcstoi64(wFamilyValue, (wchar_t **)NULL, 10); + + free(Identifier); + Identifier = NULL; + } + return CpuFamily; +} +/*--------------------------------------------------------------------------*/ +int getCpuModel(void) +{ + wchar_t *Identifier = getCpuIdentifier(); + int CpuModel = CPU_MODEL_ERROR; + if (Identifier) + { + wchar_t wArch[LenMaxLine]; + wchar_t wFamily[LenMaxLine]; + wchar_t wFamilyValue[LenMaxLine]; + wchar_t wModel[LenMaxLine]; + wchar_t wModelValue[LenMaxLine]; + wchar_t wStepping[LenMaxLine]; + wchar_t wSteppingValue[LenMaxLine]; + + swscanf(Identifier, L"%s %s %s %s %s %s %s", + wArch, + wFamily, wFamilyValue, + wModel, wModelValue, + wStepping, wSteppingValue); + + CpuModel = (int)_wcstoi64(wModelValue, (wchar_t **)NULL, 10); + + free(Identifier); + Identifier = NULL; + } + return CpuModel; +} +/*--------------------------------------------------------------------------*/ +int getCpuStepping(void) +{ + wchar_t *Identifier = getCpuIdentifier(); + int CpuStepping = CPU_STEPPING_ERROR; + if (Identifier) + { + wchar_t wArch[LenMaxLine]; + wchar_t wFamily[LenMaxLine]; + wchar_t wFamilyValue[LenMaxLine]; + wchar_t wModel[LenMaxLine]; + wchar_t wModelValue[LenMaxLine]; + wchar_t wStepping[LenMaxLine]; + wchar_t wSteppingValue[LenMaxLine]; + + swscanf(Identifier, L"%s %s %s %s %s %s %s", + wArch, + wFamily, wFamilyValue, + wModel, wModelValue, + wStepping, wSteppingValue); + + CpuStepping = (int)_wcstoi64(wSteppingValue, (wchar_t **)NULL, 10); + + free(Identifier); + Identifier = NULL; + } + return CpuStepping; +} +/*--------------------------------------------------------------------------*/ +wchar_t *getCpuArchitecture(void) +{ + wchar_t *CpuArchitecture = NULL; + wchar_t *Identifier = getCpuIdentifier(); + + if (Identifier) + { + wchar_t wArch[LenMaxLine]; + wchar_t wFamily[LenMaxLine]; + wchar_t wFamilyValue[LenMaxLine]; + wchar_t wModel[LenMaxLine]; + wchar_t wModelValue[LenMaxLine]; + wchar_t wStepping[LenMaxLine]; + wchar_t wSteppingValue[LenMaxLine]; + + swscanf(Identifier, L"%s %s %s %s %s %s %s", + wArch, + wFamily, wFamilyValue, + wModel, wModelValue, + wStepping, wSteppingValue); + + CpuArchitecture = _wcsdup(wArch); + + free(Identifier); + Identifier = NULL; + } + return CpuArchitecture; +} +/*--------------------------------------------------------------------------*/
\ No newline at end of file diff --git a/tools/SetupAtlas/getCpuInfos.h b/tools/SetupAtlas/getCpuInfos.h new file mode 100755 index 000000000..05bb57d9d --- /dev/null +++ b/tools/SetupAtlas/getCpuInfos.h @@ -0,0 +1,88 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ +/*--------------------------------------------------------------------------*/ +#ifndef __GETCPUINFOS_H__ +#define __GETCPUINFOS_H__ +/*--------------------------------------------------------------------------*/ +#include <wchar.h> +/*--------------------------------------------------------------------------*/ +#define CPU_FAMILY_ERROR -1 +#define CPU_MODEL_ERROR -1 +#define CPU_STEPPING_ERROR -1 +#define CPU_FREQUENCY_ERROR -1 +#define CPU_PLATFORMID_ERROR -1 +/*--------------------------------------------------------------------------*/ +#define DEFAULT_ERROR_MESSAGE L"ERROR" +/*--------------------------------------------------------------------------*/ +/** +* get CPU vendor name (GenuineIntel,AuthenticAMD, ...) +* @return CPU vendor name +*/ +wchar_t *getCpuVendor(void); + +/** +* get Processor Name String +* example : +* Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz +* @return Processor Name String +*/ +wchar_t *getProcessorNameString(void); + +/** +* get Platform ID +* @return Platform ID +*/ +int getCpuPlatformID(void); + +/** +* get CPU Identifier +* example : +* Intel64 Family 6 Model 15 Stepping 11 +* @return CPU Identifier +*/ +wchar_t *getCpuIdentifier(void); + +/** +* get CPU frequency +* @return CPU frequency +*/ +int getCpuFrequency(void); + +/** +* get CPU Family +* @return CPU Family +*/ +int getCpuFamily(void); + +/** +* get CPU Model +* @return CPU Model +*/ +int getCpuModel(void); + +/** +* get CPU Stepping +* @return CPU Stepping +*/ +int getCpuStepping(void); + +/** +* get CPU Architecture used +* example : +* Intel64 or x86 +* @return CPU Architecture +*/ +wchar_t *getCpuArchitecture(void); +/*--------------------------------------------------------------------------*/ +#endif /* __GETCPUINFOS_H__ */ +/*--------------------------------------------------------------------------*/ + diff --git a/tools/SetupAtlas/getPathOfThisExe.c b/tools/SetupAtlas/getPathOfThisExe.c new file mode 100755 index 000000000..4b5ffad17 --- /dev/null +++ b/tools/SetupAtlas/getPathOfThisExe.c @@ -0,0 +1,32 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ +/*--------------------------------------------------------------------------*/ +#include <windows.h> +/*--------------------------------------------------------------------------*/ +wchar_t * GetPathOfThisExe(void) +{ + wchar_t *pathexe = NULL; + wchar_t *tail; + wchar_t wcfullfilename[MAX_PATH * 2]; + + GetModuleFileNameW(GetModuleHandleW(NULL), wcfullfilename, MAX_PATH * 2); + + if ((tail = wcsrchr (wcfullfilename, L'\\')) != NULL) + { + tail++; + *tail = L'\0'; + pathexe = _wcsdup(wcfullfilename); + } + + return (wchar_t *)pathexe; +} +/*--------------------------------------------------------------------------*/
\ No newline at end of file diff --git a/tools/SetupAtlas/getPathOfThisExe.h b/tools/SetupAtlas/getPathOfThisExe.h new file mode 100755 index 000000000..4b893524f --- /dev/null +++ b/tools/SetupAtlas/getPathOfThisExe.h @@ -0,0 +1,25 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ +/*--------------------------------------------------------------------------*/ +#ifndef __GETPATHOFTHISEXE_H__ +#define __GETPATHOFTHISEXE_H__ + +#include <wchar.h> + +/** +* get path of this executable +* @return path of this executable +*/ +wchar_t * GetPathOfThisExe(void); + +#endif /* __GETPATHOFTHISEXE_H__ */ +/*--------------------------------------------------------------------------*/ diff --git a/tools/SetupAtlas/readBlasSpec.c b/tools/SetupAtlas/readBlasSpec.c new file mode 100755 index 000000000..2ca2c3395 --- /dev/null +++ b/tools/SetupAtlas/readBlasSpec.c @@ -0,0 +1,217 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ +/*--------------------------------------------------------------------------*/ +#include <windows.h> +#include <libxml/xpath.h> +#include <libxml/xmlreader.h> +#include "readBlasSpec.h" +#include "xmlEncoding.h" +/*--------------------------------------------------------------------------*/ +static char *getshortpathname(wchar_t *wclongpathname, BOOL *convertok); +static wchar_t *GetXmlFileEncoding(const wchar_t *wcfilename); +/*--------------------------------------------------------------------------*/ +struct cpu_struct ** readBlasSpec(wchar_t *blasspec_filename, int *sizeArrayReturned) +{ + struct cpu_struct **CPUS_BLAS_SPEC = NULL; + + if (blasspec_filename) + { + wchar_t *FileEncoding = GetXmlFileEncoding(blasspec_filename); + if (FileEncoding) + { + if (_wcsicmp(FileEncoding, L"UTF-8") == 0) + { +#define XPATH "//blas_specification/cpu" + BOOL bConvert = FALSE; + char *shortfilename = getshortpathname((wchar_t*)blasspec_filename, &bConvert); + if (shortfilename) + { + xmlXPathContextPtr xpathCtxt = NULL; + xmlXPathObjectPtr xpathObj = NULL; + xmlDocPtr BlasSpecxmlDocPtr = xmlParseFile (shortfilename); + + free(shortfilename); + shortfilename = NULL; + + xmlKeepBlanksDefault(0); + + if (BlasSpecxmlDocPtr) + { + xpathCtxt = xmlXPathNewContext(BlasSpecxmlDocPtr); + xpathObj = xmlXPathEval((const xmlChar*)XPATH, xpathCtxt); + + if (xpathObj && xpathObj->nodesetval->nodeMax) + { + /* the Xpath has been understood and there are node */ + CPUS_BLAS_SPEC = (struct cpu_struct **) malloc(sizeof(struct cpu_struct *) * xpathObj->nodesetval->nodeNr); + if (CPUS_BLAS_SPEC) + { + int i = 0; + for (i = 0; i < xpathObj->nodesetval->nodeNr; i++) + { + xmlAttrPtr attrib = xpathObj->nodesetval->nodeTab[i]->properties; + CPUS_BLAS_SPEC[i] = (struct cpu_struct *) malloc(sizeof(struct cpu_struct)); + if (CPUS_BLAS_SPEC[i]) + { + while (attrib != NULL) + { + if (xmlStrEqual (attrib->name, (const xmlChar*) "cpu_manufacturer")) + { + /* we found the tag cpu_manufacturer */ + CPUS_BLAS_SPEC[i]->cpu_vendor = toWideString((char*)attrib->children->content); + } + + if (xmlStrEqual (attrib->name, (const xmlChar*) "cpu_family")) + { + /* we found the tag cpu_family */ + if (strcmp((char*)attrib->children->content, "*") == 0) + { + CPUS_BLAS_SPEC[i]->cpu_family = 0; + } + else + { + CPUS_BLAS_SPEC[i]->cpu_family = atoi((char*)attrib->children->content); + } + } + + if (xmlStrEqual (attrib->name, (const xmlChar*) "cpu_model")) + { + /* we found the tag cpu_model */ + if (strcmp((char*)attrib->children->content, "*") == 0) + { + CPUS_BLAS_SPEC[i]->cpu_model = 0; + } + else + { + CPUS_BLAS_SPEC[i]->cpu_model = atoi((char*)attrib->children->content); + } + } + + if (xmlStrEqual (attrib->name, (const xmlChar*) "dll_filename")) + { + /* we found the tag dll_filename */ + CPUS_BLAS_SPEC[i]->dll_filename = toWideString((char*)attrib->children->content); + } + + if (xmlStrEqual (attrib->name, (const xmlChar*) "comments")) + { + /* we found the tag comments */ + CPUS_BLAS_SPEC[i]->comments = toWideString((char*)attrib->children->content); + } + attrib = attrib->next; + } + } + *sizeArrayReturned = i; + } + } + } + + if (xpathObj) + { + xmlXPathFreeObject(xpathObj); + } + if (xpathCtxt) + { + xmlXPathFreeContext(xpathCtxt); + } + xmlFreeDoc (BlasSpecxmlDocPtr); + } + } + } + } + free(FileEncoding); + FileEncoding = NULL; + } + + return CPUS_BLAS_SPEC; +} +/*--------------------------------------------------------------------------*/ +wchar_t *GetXmlFileEncoding(const wchar_t *wcfilename) +{ + wchar_t *encoding = NULL; + + if (wcfilename) + { + xmlDocPtr doc = NULL; + BOOL bConvert = FALSE; + char *shortfilename = getshortpathname((wchar_t*)wcfilename, &bConvert); + if (shortfilename) + { + doc = xmlParseFile(shortfilename); + + free(shortfilename); + shortfilename = NULL; + if (doc) + { + if (doc->encoding) + { + encoding = toWideString((char*)doc->encoding); + } + } + xmlFreeDoc (doc); + } + } + return encoding; +} +/*--------------------------------------------------------------------------*/ +char *getshortpathname(wchar_t *wclongpathname, BOOL *convertok) +{ + char *ShortName = NULL; + + if (wclongpathname) + { + /* first we try to call to know path length */ + wchar_t *ptwShortName = NULL; + int length = GetShortPathNameW(wclongpathname, NULL, 0); + + if (length <= 0 ) + { + length = MAX_PATH; + } + + ptwShortName = (wchar_t*)calloc((length + 1), sizeof(wchar_t)); + + if (ptwShortName) + { + /* second converts path */ + if ( GetShortPathNameW(wclongpathname, ptwShortName, length) ) + { + ShortName = toUTF(ptwShortName); + *convertok = TRUE; + } + else + { + /* FAILED */ + ShortName = toUTF(wclongpathname); + *convertok = FALSE; + } + if (ptwShortName) + { + free(ptwShortName); + ptwShortName = NULL; + } + } + else + { + /* FAILED */ + ShortName = toUTF(wclongpathname); + *convertok = FALSE; + } + } + else + { + /* FAILED */ + *convertok = FALSE; + } + return ShortName; +} +/*--------------------------------------------------------------------------*/ diff --git a/tools/SetupAtlas/readBlasSpec.h b/tools/SetupAtlas/readBlasSpec.h new file mode 100755 index 000000000..79ce04ad1 --- /dev/null +++ b/tools/SetupAtlas/readBlasSpec.h @@ -0,0 +1,31 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ +/*--------------------------------------------------------------------------*/ +#ifndef __READBLASSPEC_H__ +#define __READBLASSPEC_H__ + +#include <wchar.h> + +struct cpu_struct +{ + wchar_t *cpu_vendor; + int cpu_family; + int cpu_model; + wchar_t *dll_filename; + wchar_t *comments; +}; + +struct cpu_struct ** readBlasSpec(wchar_t *blasspec_filename, + int *sizeArrayReturned); + +#endif /* __READBLASSPEC_H__ */ +/*--------------------------------------------------------------------------*/
\ No newline at end of file diff --git a/tools/SetupAtlas/writeLog.c b/tools/SetupAtlas/writeLog.c new file mode 100755 index 000000000..efe12c8b4 --- /dev/null +++ b/tools/SetupAtlas/writeLog.c @@ -0,0 +1,49 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ + +/*--------------------------------------------------------------------------*/ +#include <time.h> +#include <stdio.h> +#include "writeLog.h" +/*--------------------------------------------------------------------------*/ +BOOL AppendMessageToLog(wchar_t *Message, wchar_t *FullFilename) +{ + BOOL bOK = FALSE; + FILE *pFile = NULL; + + pFile = _wfopen(FullFilename, L"at"); + + if (pFile) + { + fwprintf(pFile, L"%s\n", Message); + fclose(pFile); + bOK = TRUE; + } + + return bOK; +} +/*--------------------------------------------------------------------------*/ +wchar_t *getTimeString(void) +{ + wchar_t time_str[MAX_PATH]; + time_t timer; + struct tm *currentTime; + + timer = time(NULL); + currentTime = localtime(&timer); + wsprintfW(time_str, L"%d/%d/%d %d:%d:%d", + currentTime->tm_mon + 1 , currentTime->tm_mday, 1900 + currentTime->tm_year, + currentTime->tm_hour, currentTime->tm_min, currentTime->tm_sec); + + return _wcsdup(time_str); +} +/*--------------------------------------------------------------------------*/
\ No newline at end of file diff --git a/tools/SetupAtlas/writeLog.h b/tools/SetupAtlas/writeLog.h new file mode 100755 index 000000000..36477a0a0 --- /dev/null +++ b/tools/SetupAtlas/writeLog.h @@ -0,0 +1,34 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ + +/*--------------------------------------------------------------------------*/ +#ifndef __WRITELOG_H__ +#define __WRITELOG_H__ +/*--------------------------------------------------------------------------*/ +#include <windows.h> +#include <wchar.h> + +/** +* append message to a log file +* @param[in] message +* @param[in] filename destination +* @return TRUE or FALSE +*/ +BOOL AppendMessageToLog(wchar_t *Message, wchar_t *FullFilename); + +/** +* get current date and time +*/ +wchar_t *getTimeString(void); + +#endif +/*--------------------------------------------------------------------------*/
\ No newline at end of file diff --git a/tools/SetupAtlas/xmlEncoding.c b/tools/SetupAtlas/xmlEncoding.c new file mode 100755 index 000000000..a331c4b80 --- /dev/null +++ b/tools/SetupAtlas/xmlEncoding.c @@ -0,0 +1,55 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ +/*--------------------------------------------------------------------------*/ +#include <windows.h> +#include "xmlEncoding.h" +/*--------------------------------------------------------------------------*/ +wchar_t *toWideString(char *_Str) +{ + int nwide = 0; + wchar_t *_buf = NULL; + + if(_Str == NULL) return NULL; + nwide = MultiByteToWideChar(CP_UTF8, 0, _Str, -1, NULL, 0); + if(nwide == 0) return NULL; + _buf = (wchar_t *)calloc(nwide, sizeof(wchar_t)); + if(_buf == NULL) return NULL; + if(MultiByteToWideChar(CP_UTF8, 0, _Str, -1, _buf, nwide) == 0) + { + free(_buf); + _buf = NULL; + } + return _buf; +} +/*--------------------------------------------------------------------------*/ +char *toUTF(wchar_t *_wcStr) +{ + DWORD size = 0; + char *buf = NULL; + + if ((wchar_t *)NULL == _wcStr) return (char *)NULL; + size = WideCharToMultiByte(CP_UTF8, 0, _wcStr, -1, NULL, 0, NULL, 0); + if (size == 0) return (char *)NULL; + size += 1; + buf = (char*)calloc(size, sizeof(char)); + if (buf) + { + WideCharToMultiByte(CP_UTF8, 0, _wcStr, -1, buf, size, NULL, 0); + if (size <= 0) + { + free(buf); + return NULL; + } + } + return buf; +} +/*--------------------------------------------------------------------------*/
\ No newline at end of file diff --git a/tools/SetupAtlas/xmlEncoding.h b/tools/SetupAtlas/xmlEncoding.h new file mode 100755 index 000000000..f1af85c70 --- /dev/null +++ b/tools/SetupAtlas/xmlEncoding.h @@ -0,0 +1,35 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) 2009 - DIGITEO - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ +/*--------------------------------------------------------------------------*/ +#ifndef __XMLENCODING_H__ +#define __XMLENCODING_H__ + +#include <wchar.h> + +/* routines used to convert LibXml string */ + +/** +* convert a string to wide char encoding +* @param[in] UTF +* @return wide char +*/ +wchar_t *toWideString(char *_Str); + +/** +* convert a wide string to UTF +* @param[in] wide string +* @return UTF +*/ +char *toUTF(wchar_t *_wcStr); + +#endif /* __TOWIDESTRING_H__ */ +/*--------------------------------------------------------------------------*/ diff --git a/tools/api_scilab_trad/Bool_Matrix_Alloc.txt b/tools/api_scilab_trad/Bool_Matrix_Alloc.txt new file mode 100755 index 000000000..d98d505ab --- /dev/null +++ b/tools/api_scilab_trad/Bool_Matrix_Alloc.txt @@ -0,0 +1,10 @@ +\1int* \5 = NULL; //@MOVE@ +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \5". +\1sciErr = allocMatrixOfBoolean(pvApiCtx, \2, \3, \4, &\5);\6 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Bool_Matrix_Create.txt b/tools/api_scilab_trad/Bool_Matrix_Create.txt new file mode 100755 index 000000000..82a7e3f32 --- /dev/null +++ b/tools/api_scilab_trad/Bool_Matrix_Create.txt @@ -0,0 +1,8 @@ +\1sciErr = createMatrixOfBoolean(pvApiCtx, \2, \3, \4, \5);\6 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Bool_Matrix_Get.txt b/tools/api_scilab_trad/Bool_Matrix_Get.txt new file mode 100755 index 000000000..0a6a2e77d --- /dev/null +++ b/tools/api_scilab_trad/Bool_Matrix_Get.txt @@ -0,0 +1,19 @@ +\1int* piAddr\5 = NULL; //@MOVE@ +\1int* \5 = NULL; //@MOVE@ +\1sciErr = getVarAddressFromPosition(pvApiCtx, \2, &piAddr\5); +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 return 1; +\1} +\1 +\1// Retrieve a matrix of boolean at position \2. +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \5". +\1sciErr = getMatrixOfBoolean(pvApiCtx, piAddr\5, &\3, &\4, &\5);\6 +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(202, _("%s: Wrong type for argument %d: Boolean matrix expected.\n"), fname, \2); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/DoubleComplex_Matrix_Alloc.txt b/tools/api_scilab_trad/DoubleComplex_Matrix_Alloc.txt new file mode 100755 index 000000000..4f23fbffd --- /dev/null +++ b/tools/api_scilab_trad/DoubleComplex_Matrix_Alloc.txt @@ -0,0 +1,11 @@ +\1double* \6 = NULL; //@MOVE@ +\1double* \7 = NULL; //@MOVE@ +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \6" and "int \7". +\1sciErr = allocComplexMatrixOfDouble(pvApiCtx, \2, \4, \5, &\6, &\7);\8 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/DoubleComplex_Matrix_AllocAsInteger.txt b/tools/api_scilab_trad/DoubleComplex_Matrix_AllocAsInteger.txt new file mode 100755 index 000000000..2da7e3483 --- /dev/null +++ b/tools/api_scilab_trad/DoubleComplex_Matrix_AllocAsInteger.txt @@ -0,0 +1,11 @@ +\1int* \6 = NULL; //@MOVE@ +\1int* \7 = NULL; //@MOVE@ +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \6" and "int \7". +\1sciErr = allocComplexMatrixOfDoubleAsInteger(pvApiCtx, \2, \4, \5, &\6, &\7);\8 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/DoubleComplex_Matrix_Create.txt b/tools/api_scilab_trad/DoubleComplex_Matrix_Create.txt new file mode 100755 index 000000000..2fc57987c --- /dev/null +++ b/tools/api_scilab_trad/DoubleComplex_Matrix_Create.txt @@ -0,0 +1,8 @@ +\1sciErr = createComplexMatrixOfDouble(pvApiCtx, \2, \4, \5, \6, \7);\8 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/DoubleComplex_Matrix_CreateAsInteger.txt b/tools/api_scilab_trad/DoubleComplex_Matrix_CreateAsInteger.txt new file mode 100755 index 000000000..06063eb97 --- /dev/null +++ b/tools/api_scilab_trad/DoubleComplex_Matrix_CreateAsInteger.txt @@ -0,0 +1,8 @@ +\1sciErr = createComplexMatrixOfDoubleAsInteger(pvApiCtx, \2, \4, \5, \6, \7);\8 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/DoubleComplex_Matrix_Get.txt b/tools/api_scilab_trad/DoubleComplex_Matrix_Get.txt new file mode 100755 index 000000000..8e6bba1d1 --- /dev/null +++ b/tools/api_scilab_trad/DoubleComplex_Matrix_Get.txt @@ -0,0 +1,33 @@ +\1int* piAddr\5 = NULL; //@MOVE@ +\1double* \6 = NULL; //@MOVE@ +\1double* \7 = NULL; //@MOVE@ +\1sciErr = getVarAddressFromPosition(pvApiCtx, \2, &piAddr\5); +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 return 1; +\1} +\1 +\1// Retrieve a matrix of double at position \2. +\1// YOU MUST REMOVE YOUR VARIABLES DECLARATIONS "int \6" and "int \7". +\1if (isVarComplex(pvApiCtx, piAddr\5)) +\1{ +\1 sciErr = getComplexMatrixOfDouble(pvApiCtx, piAddr\5, &\4, &\5, &\6, &\7);\8 +\1 \3 = 1; +\1} +\1else +\1{ +\1 sciErr = getMatrixOfDouble(pvApiCtx, piAddr\5, &\4, &\5, &\6);\8 +\1 \3 = 0; +\1} + +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(202, _("%s: Wrong type for argument %d: Real or complex matrix expected.\n"), fname, \2); +\1 return 1; +\1} + + + + diff --git a/tools/api_scilab_trad/DoubleComplex_Matrix_GetAsInteger.txt b/tools/api_scilab_trad/DoubleComplex_Matrix_GetAsInteger.txt new file mode 100755 index 000000000..e0a40be17 --- /dev/null +++ b/tools/api_scilab_trad/DoubleComplex_Matrix_GetAsInteger.txt @@ -0,0 +1,20 @@ +\1int* piAddr\5 = NULL; //@MOVE@ +\1int* \6 = NULL; //@MOVE@ +\1int* \7 = NULL; //@MOVE@ +\1sciErr = getVarAddressFromPosition(pvApiCtx, \2, &piAddr\5); +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 return 1; +\1} +\1 +\1// Retrieve a matrix of double at position \2. +\1// YOU MUST REMOVE YOUR VARIABLES DECLARATIONS "int \6" and "int \7". +\1sciErr = getComplexMatrixOfDoubleAsInteger(pvApiCtx, piAddr\5, &\4, &\5, &\6, &\7);\8 +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(202, _("%s: Wrong type for argument %d: A real expected.\n"), fname, \2); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Double_Matrix_Alloc.txt b/tools/api_scilab_trad/Double_Matrix_Alloc.txt new file mode 100755 index 000000000..948d2ac41 --- /dev/null +++ b/tools/api_scilab_trad/Double_Matrix_Alloc.txt @@ -0,0 +1,10 @@ +\1double* \5 = NULL; //@MOVE@ +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \5". +\1sciErr = allocMatrixOfDouble(pvApiCtx, \2, \3, \4, &\5);\6 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Double_Matrix_AllocAsInteger.txt b/tools/api_scilab_trad/Double_Matrix_AllocAsInteger.txt new file mode 100755 index 000000000..c498b0dbd --- /dev/null +++ b/tools/api_scilab_trad/Double_Matrix_AllocAsInteger.txt @@ -0,0 +1,10 @@ +\1int* \5 = NULL; //@MOVE@ +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \5". +\1sciErr = allocMatrixOfDoubleAsInteger(pvApiCtx, \2, \3, \4, &\5);\6 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Double_Matrix_Create.txt b/tools/api_scilab_trad/Double_Matrix_Create.txt new file mode 100755 index 000000000..a2f78fdd4 --- /dev/null +++ b/tools/api_scilab_trad/Double_Matrix_Create.txt @@ -0,0 +1,8 @@ +\1sciErr = createMatrixOfDouble(pvApiCtx, \2, \3, \4, \5);\6 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Double_Matrix_CreateAsInteger.txt b/tools/api_scilab_trad/Double_Matrix_CreateAsInteger.txt new file mode 100755 index 000000000..5e0f983f0 --- /dev/null +++ b/tools/api_scilab_trad/Double_Matrix_CreateAsInteger.txt @@ -0,0 +1,8 @@ +\1sciErr = createMatrixOfDoubleAsInteger(pvApiCtx, \2, \3, \4, \5);\6 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Double_Matrix_Get.txt b/tools/api_scilab_trad/Double_Matrix_Get.txt new file mode 100755 index 000000000..8a832a85e --- /dev/null +++ b/tools/api_scilab_trad/Double_Matrix_Get.txt @@ -0,0 +1,19 @@ +\1int* piAddr\5 = NULL; //@MOVE@ +\1double* \5 = NULL; //@MOVE@ +\1sciErr = getVarAddressFromPosition(pvApiCtx, \2, &piAddr\5); +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 return 1; +\1} +\1 +\1// Retrieve a matrix of double at position \2. +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \5". +\1sciErr = getMatrixOfDouble(pvApiCtx, piAddr\5, &\3, &\4, &\5);\6 +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(202, _("%s: Wrong type for argument %d: A real expected.\n"), fname, \2); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Double_Matrix_GetAsInteger.txt b/tools/api_scilab_trad/Double_Matrix_GetAsInteger.txt new file mode 100755 index 000000000..e88e3dcbf --- /dev/null +++ b/tools/api_scilab_trad/Double_Matrix_GetAsInteger.txt @@ -0,0 +1,19 @@ +\1int* piAddr\5 = NULL; //@MOVE@ +\1int* \5 = NULL; //@MOVE@ +\1sciErr = getVarAddressFromPosition(pvApiCtx, \2, &piAddr\5); +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 return 1; +\1} +\1 +\1// Retrieve a matrix of double at position \2. +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \5". +\1sciErr = getMatrixOfDoubleAsInteger(pvApiCtx, piAddr\5, &\3, &\4, &\5);\6 +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(202, _("%s: Wrong type for argument %d: A real expected.\n"), fname, \2); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Handle_Matrix_Alloc.txt b/tools/api_scilab_trad/Handle_Matrix_Alloc.txt new file mode 100755 index 000000000..74f974c10 --- /dev/null +++ b/tools/api_scilab_trad/Handle_Matrix_Alloc.txt @@ -0,0 +1,10 @@ +\1long long* \5 = NULL; //@MOVE@ +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \5". +\1sciErr = allocMatrixOfHandle(pvApiCtx, \2, \3, \4, &\5);\6 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Handle_Matrix_Create.txt b/tools/api_scilab_trad/Handle_Matrix_Create.txt new file mode 100755 index 000000000..053eec936 --- /dev/null +++ b/tools/api_scilab_trad/Handle_Matrix_Create.txt @@ -0,0 +1,8 @@ +\1sciErr = createMatrixOfHandle(pvApiCtx, \2, \3, \4, \5);\6 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Handle_Matrix_Get.txt b/tools/api_scilab_trad/Handle_Matrix_Get.txt new file mode 100755 index 000000000..8c8618792 --- /dev/null +++ b/tools/api_scilab_trad/Handle_Matrix_Get.txt @@ -0,0 +1,19 @@ +\1int* piAddr\5 = NULL; //@MOVE@ +\1long long* \5 = NULL; //@MOVE@ +\1sciErr = getVarAddressFromPosition(pvApiCtx, \2, &piAddr\5); +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 return 1; +\1} +\1 +\1// Retrieve a matrix of handle at position \2. +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \5". +\1sciErr = getMatrixOfHandle(pvApiCtx, piAddr\5, &\3, &\4, &\5);\6 +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(202, _("%s: Wrong type for argument %d: Handle matrix expected.\n"), fname, \2); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Pointer_Alloc.txt b/tools/api_scilab_trad/Pointer_Alloc.txt new file mode 100755 index 000000000..f6b647696 --- /dev/null +++ b/tools/api_scilab_trad/Pointer_Alloc.txt @@ -0,0 +1,10 @@ +\1void* \5 = NULL; //@MOVE@ +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \5". +\1sciErr = allocPointer(pvApiCtx, \2, &\5);\6 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Pointer_Create.txt b/tools/api_scilab_trad/Pointer_Create.txt new file mode 100755 index 000000000..3559a38df --- /dev/null +++ b/tools/api_scilab_trad/Pointer_Create.txt @@ -0,0 +1,8 @@ +\1sciErr = createPointer(pvApiCtx, \2, \5);\6 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Pointer_Get.txt b/tools/api_scilab_trad/Pointer_Get.txt new file mode 100755 index 000000000..a97bc1b65 --- /dev/null +++ b/tools/api_scilab_trad/Pointer_Get.txt @@ -0,0 +1,19 @@ +\1int* piAddr\5 = NULL; //@MOVE@ +\1void* \5 = NULL; //@MOVE@ +\1sciErr = getVarAddressFromPosition(pvApiCtx, \2, &piAddr\5); +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 return 1; +\1} +\1 +\1// Retrieve a pointer at position \2. +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \5". +\1sciErr = getPointer(pvApiCtx, piAddr\5, &\5);\6 +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(202, _("%s: Wrong type for argument %d: Boolean matrix expected.\n"), fname, \2); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/String_Matrix_Create.txt b/tools/api_scilab_trad/String_Matrix_Create.txt new file mode 100755 index 000000000..6823d4b91 --- /dev/null +++ b/tools/api_scilab_trad/String_Matrix_Create.txt @@ -0,0 +1,8 @@ +\1sciErr = createMatrixOfString(pvApiCtx, \2, \3, \4, \5);\6 +\1if(sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/String_Matrix_Get.txt b/tools/api_scilab_trad/String_Matrix_Get.txt new file mode 100755 index 000000000..8a46149fd --- /dev/null +++ b/tools/api_scilab_trad/String_Matrix_Get.txt @@ -0,0 +1,16 @@ +\1int* piAddr\5 = NULL; //@MOVE@ +\1sciErr = getVarAddressFromPosition(pvApiCtx, \2, &piAddr\5); +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 return 1; +\1} + +\1// Retrieve a matrix of string at position \2. +\1// DO NOT FORGET TO RELEASE MEMORY via freeAllocatedMatrixOfString(\3, \4, \5). +\1if (getAllocatedMatrixOfString(pvApiCtx, piAddr\5, &\3, &\4, &\5))\6 +\1{ +\1 Scierror(202, _("%s: Wrong type for argument #%d: String matrix expected.\n"), fname, \2); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/String_Single_Alloc.txt b/tools/api_scilab_trad/String_Single_Alloc.txt new file mode 100755 index 000000000..24e70e824 --- /dev/null +++ b/tools/api_scilab_trad/String_Single_Alloc.txt @@ -0,0 +1,8 @@ +\1char* \5 = NULL; //@MOVE@ +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \5". +\1if (allocSingleString(pvApiCtx, \2, \3 * \4, &\5))\6 +\1{ +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/String_Single_Create.txt b/tools/api_scilab_trad/String_Single_Create.txt new file mode 100755 index 000000000..96a322b85 --- /dev/null +++ b/tools/api_scilab_trad/String_Single_Create.txt @@ -0,0 +1,6 @@ +\1if (createSingleString(pvApiCtx, \2, \5))\6 +\1{ +\1 Scierror(999, _("%s: Memory allocation error.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/String_Single_Get.txt b/tools/api_scilab_trad/String_Single_Get.txt new file mode 100755 index 000000000..f50b5754d --- /dev/null +++ b/tools/api_scilab_trad/String_Single_Get.txt @@ -0,0 +1,18 @@ +\1int* piAddr\5 = NULL; //@MOVE@ +\1char* \5 = NULL; //@MOVE@ +\1sciErr = getVarAddressFromPosition(pvApiCtx, \2, &piAddr\5); +\1if (sciErr.iErr) +\1{ +\1 printError(&sciErr, 0); +\1 return 1; +\1} + +\1// Retrieve a matrix of double at position \2. +\1// YOU MUST REMOVE YOUR VARIABLE DECLARATION "int \5". +\1// DO NOT FORGET TO RELEASE MEMORY via freeAllocatedSingleString(\5). +\1if (getAllocatedSingleString(pvApiCtx, piAddr\5, &\5))\6 +\1{ +\1 Scierror(202, _("%s: Wrong type for argument #%d: A string expected.\n"), fname, \2); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Tools_Check_Column.txt b/tools/api_scilab_trad/Tools_Check_Column.txt new file mode 100755 index 000000000..0c6642f11 --- /dev/null +++ b/tools/api_scilab_trad/Tools_Check_Column.txt @@ -0,0 +1,7 @@ +\1//CheckColumn +\1if (\4 != 1) +\1{ +\1 Scierror(999, _("%s: Wrong size for input argument #%d: A column vector expected.\n"), fname, \2); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Tools_Check_DimProp.txt b/tools/api_scilab_trad/Tools_Check_DimProp.txt new file mode 100755 index 000000000..7a84701b7 --- /dev/null +++ b/tools/api_scilab_trad/Tools_Check_DimProp.txt @@ -0,0 +1,7 @@ +\1//CheckDimProp +\1if (\4) +\1{ +\1 Scierror(999, _("%s: Wrong size for input arguments: Incompatible sizes.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Tools_Check_Dims.txt b/tools/api_scilab_trad/Tools_Check_Dims.txt new file mode 100755 index 000000000..1fd5874c0 --- /dev/null +++ b/tools/api_scilab_trad/Tools_Check_Dims.txt @@ -0,0 +1,7 @@ +\1//CheckDims +\1if (\3 != \5 || \4 != \6) +\1{ +\1 Scierror(999, _("%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n"), fname, \2, \5, \6); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Tools_Check_Length.txt b/tools/api_scilab_trad/Tools_Check_Length.txt new file mode 100755 index 000000000..c6df8c2c9 --- /dev/null +++ b/tools/api_scilab_trad/Tools_Check_Length.txt @@ -0,0 +1,7 @@ +\1//CheckLength +\1if (\3 != \4) +\1{ +\1 Scierror(999, _("%s: Wrong size for input argument #%d: %d expected.\n"), fname, \2, \3); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Tools_Check_OneDim.txt b/tools/api_scilab_trad/Tools_Check_OneDim.txt new file mode 100755 index 000000000..6913196df --- /dev/null +++ b/tools/api_scilab_trad/Tools_Check_OneDim.txt @@ -0,0 +1,7 @@ +\1//CheckOneDim +\1if (\4 != \5) +\1{ +\1 Scierror(999, _("%s: Wrong size for input arguments: Incompatible sizes.\n"), fname); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Tools_Check_Row.txt b/tools/api_scilab_trad/Tools_Check_Row.txt new file mode 100755 index 000000000..b9039ab50 --- /dev/null +++ b/tools/api_scilab_trad/Tools_Check_Row.txt @@ -0,0 +1,7 @@ +\1//CheckRow +\1if (\3 != 1) +\1{ +\1 Scierror(999, _("%s: Wrong size for input argument #%d: A row vector expected.\n"), fname, \2); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Tools_Check_SameDims.txt b/tools/api_scilab_trad/Tools_Check_SameDims.txt new file mode 100755 index 000000000..8a46e324d --- /dev/null +++ b/tools/api_scilab_trad/Tools_Check_SameDims.txt @@ -0,0 +1,7 @@ +\1//CheckSameDims +\1if (\4 != \6 || \5 != \7) +\1{ +\1 Scierror(999, _("%s: Wrong size for input argument #%d: %d-by-%d matrix expected.\n"), fname, \2, \4, \5); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Tools_Check_Scalar.txt b/tools/api_scilab_trad/Tools_Check_Scalar.txt new file mode 100755 index 000000000..2920f836c --- /dev/null +++ b/tools/api_scilab_trad/Tools_Check_Scalar.txt @@ -0,0 +1,7 @@ +\1//CheckScalar +\1if (\3 != 1 || \4 != 1) +\1{ +\1 Scierror(999, _("%s: Wrong size for input argument #%d: A real scalar expected.\n"), fname, \2); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Tools_Check_Square.txt b/tools/api_scilab_trad/Tools_Check_Square.txt new file mode 100755 index 000000000..bdba8bb76 --- /dev/null +++ b/tools/api_scilab_trad/Tools_Check_Square.txt @@ -0,0 +1,7 @@ +\1//CheckSquare +\1if (\3 != \4) +\1{ +\1 Scierror(999, _("%s: Wrong size for input argument #%d: A square matrix expected.\n"), fname, \2); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/Tools_Check_Vector.txt b/tools/api_scilab_trad/Tools_Check_Vector.txt new file mode 100755 index 000000000..f2dcb4199 --- /dev/null +++ b/tools/api_scilab_trad/Tools_Check_Vector.txt @@ -0,0 +1,7 @@ +\1//CheckVector +\1if (\3 != 1 && \4 != 1) +\1{ +\1 Scierror(999, _("%s: Wrong size for input argument #%d: Vector expected.\n"), fname, \2); +\1 return 1; +\1} + diff --git a/tools/api_scilab_trad/trad.sce b/tools/api_scilab_trad/trad.sce new file mode 100755 index 000000000..ce4644230 --- /dev/null +++ b/tools/api_scilab_trad/trad.sce @@ -0,0 +1,702 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Antoine ELIAS +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +//trad(inputFile) -> convert inputFile in place. +//trad(inputFile, backupFile) -> convert inputFile in place and save exiting file in backupFile +//if backupFile is empty [] or "" use inputFile with extention .old + +function status = trad(inputFile, backupFile) + if exists("backupFile") then + bBackup = %t; + if backupFile == [] | backupFile == "" then + [filePath, fileName, fileExt] = fileparts(inputFile); + backupFile = filePath + fileName + ".old"; + end + + [fd,err] = mopen(backupFile, "a"); + if err <> 0 then + error(999, msprintf(gettext("%s: Unable to create backup file ""%s""\n"), "trad", backupFile)); + end + mclose(fd); + else + bBachup = %f; + end + if ~isfile(inputFile) then + error(msprintf("file %s not find", inputFile)); + end + + printf("\nStarting convertion of ""%s""\n\n", inputFile); + + if bBackup then + printf("Backup in ""%s""\n", backupFile); + copyfile(inputFile, backupFile); + end + inputFile = pathconvert(inputFile, %f); + //check if astyle exist on computer + cmd = "astyle --pad-header --suffix=none --pad-oper --indent-col1-comments --indent-switches --add-brackets --style=bsd --formatted "; + if getos() == "Windows" then + cmd = SCI + "/tools/astyle/" + cmd + inputFile; + else + cmd = cmd + inputFile; + end + + host(cmd); + src = mgetl(inputFile); + + result = src; + result = sed(result, "/CheckRhs\((.*), (.*)\)(.*)/", "CheckInputArgument(pvApiCtx, \1, \2)\3"); + result = sed(result, "/CheckLhs\((.*), (.*)\)(.*)/", "CheckOutputArgument(pvApiCtx, \1, \2)\3"); + result = sed(result, "/PutLhsVar\(\)(.*)/", "ReturnArguments(pvApiCtx)\1"); + + + printf("Header operations"); + //add api_scilab include + index = grep(result, "/#include [""<]api_scilab.h["">]/", "r"); + if index == [] then + //try to replace #include "stack*.h" to #include "api_scilab.h" + result = sed(result, "/#include ""stack(.*).h""/", "#include ""api_scilab.h"""); + + //remove all #include "api_scilab.h" but one + index = grep(result, "/#include [""<]api_scilab.h["">]/", "r"); + if size(index, "*") > 1 then + result(index(2:$)) = []; + end + end + + //add localization header + index = grep(result, "/#include [""<]localization.h[""<]/", "r"); + if index == [] then + index = grep(result, "/#include [""<]api_scilab.h["">]/", "r"); + result = [result(1:index) ; "#include ""localization.h""" ; result((index+1):$)]; + end + + //add Scierror header + index = grep(result, "/#include [""<]Scierror.h[""<]/", "r"); + if index == [] then + index = grep(result, "/#include [""<]api_scilab.h["">]/", "r"); + result = [result(1:index) ; "#include ""Scierror.h""" ; result((index+1):$)]; + end + + printf(":\tOK\n"); + + + //add SciErr sciErr declaration + index = grep(result, "SciErr sciErr;"); + if index == [] then + //find gateway prototype and add declaration 2 lines lower + index = grep(result, "/int ([C2F\(]?.*[\)]?)\(([\s]*)char(.*), unsigned long (.*)\)/", "r"); + if index <> [] then + for i = 1:size(index, "*") + result = [result(1 : (index(i) + 1)); " SciErr sciErr;"; result((index(i) + 2):$)]; + end + else + error(999, msprintf(gettext("%s: unable to find gateway prototype in file %s"), "trad", inputFile)); + end + end + + //double + printf("Double operations"); + result = GetDouble(result); + result = AllocDouble(result) + result = CreateDouble(result); + result = GetDoubleComplex(result); + result = AllocDoubleComplex(result) + result = CreateDoubleComplex(result); + printf(":\tOK\n"); + + //string + printf("String operations"); + result = GetSingleString(result); + result = GetStringMatrix(result); + result = AllocSingleString(result); + result = CreateSingleString(result); + result = CreateStringMatrix(result); + printf(":\tOK\n"); + + //bool + printf("Boolean operations"); + result = GetBoolMatrix(result); + result = AllocBoolMatrix(result); + result = CreateBoolMatrix(result); + printf(":\tOK\n"); + + //pointer + printf("Pointer operations"); + result = GetPointer(result) + result = CreatePointer(result) + result = AllocPointer(result) + printf(":\tOK\n"); + + //handle + printf("Handle operations"); + result = GetHandleMatrix(result) + result = CreateHandleMatrix(result) + result = AllocHandleMatrix(result) + printf(":\tOK\n"); + + //tools + printf("Tool operations"); + result = replaceCheckScalar(result); + result = replaceCheckSquare(result); + result = replaceCheckVector(result); + result = replaceCheckRow(result); + result = replaceCheckColumn(result); + result = replaceCheckDims(result); + result = replaceCheckLength(result); + result = replaceCheckSameDims(result); + result = replaceCheckDimProp(result); + result = replaceCheckOneDim(result); + printf(":\tOK\n"); + + result = replaceVarType(result); + result = replaceGetType(result); + + result = sed(result, "/LhsVar\((.*)\) = (.*);/", "AssignOutputVariable(pvApiCtx, \1) = \2;"); + result = sed(result, "/ Rhs /", " nbInputArgument(pvApiCtx) "); + result = sed(result, "/\(Rhs([ ,])/", "(nbInputArgument(pvApiCtx)\1"); + result = sed(result, "/ Lhs /", " nbOutputArgument(pvApiCtx) "); + result = sed(result, "/\(Lhs([ ,])/", "(nbOutputArgument(pvApiCtx)\1"); + + + printf("Move declarations"); + + index = grep(result, "//@MOVE@"); + + dec = result(index); + dec = strsubst(dec, " //@MOVE@", ""); + dec = [""; + "//WARNING ALL NEW DECALRATIONS ARE HERE IF YOUR HAVE MANY FUNCTIONS"; + "//IN THE FILE YOU HAVE PROBABLY TO MOVE DECLARATIONS IN GOOD FUNCTIONS"; + dec]; + result(index) = []; + + sciErrPos = grep(result, "SciErr sciErr;"); + result = [result(1:sciErrPos) ; dec ; "" ; result(sciErrPos+1:$)]; + printf("\nConvertion finished\n"); + mputl(result, inputFile); + + //call astyle again + host(cmd); + + status = %t; +endfunction + + +function result = sed(str, findExp, replaceExp) + + result = str; + index = grep(result, findExp, "r"); + while index <> [] + idx = index(1); + [startPos, endPos, match, captured] = regexp(result(idx), findExp); + + if captured <> [] then + //multiple matches on the same line, YOUHOU ! + for i=1:size(captured, "r") + replace = replaceExp; + for j = 1:size(captured, "c") + replace = strsubst(replace, "\" + string(j), captured(i,j)); + end + + if size(replace, "*") > 1 & (startPos <> 1 | endPos <> length(result(idx))) then + //replace partial line by multiline expression + replace(1) = part(result(idx), 1:startPos) + " " + replace(1); + replace($) = replace($) + " " + part(result(idx), (endPos+1):length(result(idx))); + + result = [result(1:(idx-1)); replace; result((idx+1):$)]; + elseif size(replace, "*") > 1 then + //replace entire line by multiline expression + result = [result(1:(idx-1)); replace; result((idx+1):$)]; + else + //replace partial line by 1-line expression + result(idx) = strsubst(result(idx), match(i), replace); + end + end + end + + //update index with new "file" + index = grep(result, findExp, "r"); + end +endfunction + +//double +function result = GetDouble(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Double_Matrix_Get.txt"); + findExp = "/([\s]*)GetRhsVar\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_DOUBLE_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonDouble(str, findExp, replaceExp); + + replaceExp = mgetl("SCI/tools/api_scilab_trad/Double_Matrix_GetAsInteger.txt"); + findExp = "/([\s]*)GetRhsVar\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_INTEGER_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonDouble(result, findExp, replaceExp); +endfunction + +function result = CreateDouble(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Double_Matrix_Create.txt"); + findExp = "/([\s]*)CreateVarFromPtr\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_DOUBLE_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonDouble(str, findExp, replaceExp); + + replaceExp = mgetl("SCI/tools/api_scilab_trad/Double_Matrix_CreateAsInteger.txt"); + findExp = "/([\s]*)CreateVarFromPtr\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_INTEGER_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonDouble(result, findExp, replaceExp); +endfunction + +function result = AllocDouble(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Double_Matrix_Alloc.txt"); + findExp = "/([\s]*)CreateVar\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_DOUBLE_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonDouble(str, findExp, replaceExp); + + replaceExp = mgetl("SCI/tools/api_scilab_trad/Double_Matrix_AllocAsInteger.txt"); + findExp = "/([\s]*)CreateVar\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_INTEGER_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonDouble(result, findExp, replaceExp); +endfunction + +function result = commonDouble(str, findExp, replaceExp) + result = str; + index = grep(result, findExp, "r"); + while index <> [] + i = index(1); + [start, end, match, captured] = regexp(result(i), findExp); + replace = replaceExp; + + if size(captured, "c") >= 5 then + //try to replace (i)stk(\5*) by (\5*). + if captured(5) <> "" then + //hstk(\5*) -> (long long*)(\5*) + result = sed(result, "/hstk\(" + captured(5) + "(.*[^)]?)\)/", "(long long*)(" + captured(5) + "\1)"); + result = sed(result, "/istk\(" + captured(5) + "(.*[^)]?)\)/", "(int*)(" + captured(5) + "\1)"); + result = sed(result, "/[^(csz]?stk\(" + captured(5) + "(.*[^)]?)\)/", "(" + captured(5) + "\1)"); + end + end + + for j = 1:size(captured, "c") + replace = strsubst(replace, "\" + string(j), captured(j)); + end + + if size(replace, "*") > 1 then + result = [result(1:(i-1)); replace; result((i+1):$)]; + else + result(i) = strsubst(str(i), match, replace); + end + + index = grep(result, findExp, "r"); +end +endfunction + +function result = GetDoubleComplex(str) + //MATRIX_OF_DOUBLE_DATATYPE + replaceExp = mgetl("SCI/tools/api_scilab_trad/DoubleComplex_Matrix_Get.txt"); + findExp = "/([\s]*)GetRhsCVar\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_DOUBLE_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonDoubleComplex(str, findExp, replaceExp); + + //MATRIX_OF_INTEGER_DATATYPE + replaceExp = mgetl("SCI/tools/api_scilab_trad/DoubleComplex_Matrix_GetAsInteger.txt"); + findExp = "/([\s]*)GetRhsCVar\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_INTEGER_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonDoubleComplex(result, findExp, replaceExp); +endfunction + +function result = CreateDoubleComplex(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/DoubleComplex_Matrix_Create.txt"); + findExp = "/([\s]*)CreateCVarFromPtr\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_DOUBLE_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonDoubleComplex(str, findExp, replaceExp); + + replaceExp = mgetl("SCI/tools/api_scilab_trad/DoubleComplex_Matrix_CreateAsInteger.txt"); + findExp = "/([\s]*)CreateCVarFromPtr\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_INTEGER_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonDoubleComplex(result, findExp, replaceExp); +endfunction + +function result = AllocDoubleComplex(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/DoubleComplex_Matrix_Alloc.txt"); + findExp = "/([\s]*)CreateCVar\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_DOUBLE_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonDoubleComplex(str, findExp, replaceExp); + + replaceExp = mgetl("SCI/tools/api_scilab_trad/DoubleComplex_Matrix_AllocAsInteger.txt"); + findExp = "/([\s]*)CreateCVar\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_INTEGER_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonDoubleComplex(result, findExp, replaceExp); +endfunction + +function result = commonDoubleComplex(str, findExp, replaceExp) + result = str; + index = grep(result, findExp, "r"); + while index <> [] + i = index(1); + [start, end, match, captured] = regexp(result(i), findExp); + replace = replaceExp; + + if size(captured, "c") >= 6 then + //try to replace stk(\6*) by (\6*). + if captured(6) <> "" then + result = sed(result, "/hstk\(" + captured(5) + "(.*[^)]?)\)/", "(long long*)(" + captured(5) + "\1)"); + result = sed(result, "/istk\(" + captured(5) + "(.*[^)]?)\)/", "(int*)(" + captured(5) + "\1)"); + result = sed(result, "/[^(csz]?stk\(" + captured(5) + "(.*[^)]?)\)/", "(" + captured(5) + "\1)"); + end + end + + if size(captured, "c") >= 7 then + //try to replace stk(\7*) by (\7*). + if captured(7) <> "" then + result = sed(result, "/hstk\(" + captured(7) + "(.*[^)]?)\)/", "(long long*)(" + captured(7) + "\1)"); + result = sed(result, "/istk\(" + captured(7) + "(.*[^)]?)\)/", "(int*)(" + captured(7) + "\1)"); + result = sed(result, "/[^(csz]?stk\(" + captured(7) + "(.*[^)]?)\)/", "(" + captured(7) + "\1)"); + end + end + + for j = 1:size(captured, "c") + replace = strsubst(replace, "\" + string(j), captured(j)); + end + + if size(replace, "*") > 1 then + result = [result(1:(i-1)); replace; result((i+1):$)]; + else + result(i) = strsubst(str(i), match, replace); + end + + index = grep(result, findExp, "r"); +end +endfunction + + +//string +function result = GetSingleString(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/String_Single_Get.txt"); + findExp = "/([\s]*)GetRhsVar\([\s]*(.*)[\s]*,[\s]*STRING_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonString(str, findExp, replaceExp); +endfunction + +function result = GetStringMatrix(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/String_Matrix_Get.txt"); + findExp = "/([\s]*)GetRhsVar\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_STRING_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonString(str, findExp, replaceExp); +endfunction + +function result = AllocSingleString(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/String_Single_Alloc.txt"); + findExp = "/([\s]*)CreateVar\([\s]*(.*)[\s]*,[\s]*STRING_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonString(str, findExp, replaceExp); +endfunction + +function result = CreateSingleString(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/String_Single_Create.txt"); + findExp = "/([\s]*)CreateVarFromPtr\([\s]*(.*)[\s]*,[\s]*STRING_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonString(str, findExp, replaceExp); +endfunction + +function result = CreateStringMatrix(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/String_Matrix_Create.txt"); + findExp = "/([\s]*)CreateVarFromPtr\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_STRING_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonString(str, findExp, replaceExp); +endfunction + +function result = commonString(str, findExp, ReplaceExp) + result = str; + index = grep(result, findExp, "r"); + while index <> [] + i = index(1); + [start, end, match, captured] = regexp(result(i), findExp); + replace = replaceExp; + + if size(captured, "c") >= 5 then + //try to replace stk(\5*) by (\5*). + if captured(5) <> "" then + result = sed(result, "/cstk\(" + captured(5) + "(.*[^)]?)\)/", "(" + captured(5) + "\1)"); + end + end + + for j = 1:size(captured, "c") + replace = strsubst(replace, "\" + string(j), captured(j)); + end + + if size(replace, "*") > 1 then + result = [result(1:(i-1)); replace; result((i+1):$)]; + else + result(i) = strsubst(str(i), match, replace); + end + + index = grep(result, findExp, "r"); +end +endfunction + +////////////// +// bool // +////////////// +function result = GetBoolMatrix(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Bool_Matrix_Get.txt"); + findExp = "/([\s]*)GetRhsVar\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_BOOLEAN_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonBool(str, findExp, replaceExp); +endfunction + +function result = AllocBoolMatrix(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Bool_Matrix_Alloc.txt"); + findExp = "/([\s]*)CreateVar\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_BOOLEAN_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonBool(str, findExp, replaceExp); +endfunction + +function result = CreateBoolMatrix(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Bool_Matrix_Create.txt"); + findExp = "/([\s]*)CreateVarFromPtr\([\s]*(.*)[\s]*,[\s]*MATRIX_OF_BOOLEAN_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonBool(str, findExp, replaceExp); +endfunction + +function result = commonBool(str, findExp, ReplaceExp) + result = str; + index = grep(result, findExp, "r"); + while index <> [] + i = index(1); + [start, end, match, captured] = regexp(result(i), findExp); + replace = replaceExp; + + if size(captured, "c") >= 5 then + //try to replace stk(\5*) by (\5*). + if captured(5) <> "" then + result = sed(result, "/istk\(" + captured(5) + "(.*[^)]?)\)/", "(" + captured(5) + "\1)"); + end + end + + for j = 1:size(captured, "c") + replace = strsubst(replace, "\" + string(j), captured(j)); + end + + if size(replace, "*") > 1 then + result = [result(1:(i-1)); replace; result((i+1):$)]; + else + result(i) = strsubst(str(i), match, replace); + end + + index = grep(result, findExp, "r"); +end +endfunction + +///////////////// +// pointer // +///////////////// +function result = GetPointer(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Pointer_Get.txt"); + findExp = "/([\s]*)GetRhsVar\([\s]*(.*)[\s]*,[\s]*SCILAB_POINTER_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonPointer(str, findExp, replaceExp); +endfunction + +function result = CreatePointer(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Pointer_Create.txt"); + findExp = "/([\s]*)CreateVarFromPtr\([\s]*(.*)[\s]*,[\s]*SCILAB_POINTER_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*([\S]*)[\s]*\);(.*)/"; + + result = commonPointer(str, findExp, replaceExp); +endfunction + +function result = AllocPointer(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Pointer_Alloc.txt"); + findExp = "/([\s]*)CreateVar\([\s]*(.*)[\s]*,[\s]*SCILAB_POINTER_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonPointer(str, findExp, replaceExp); +endfunction + +function result = commonPointer(str, findExp, ReplaceExp) + result = str; + index = grep(result, findExp, "r"); + while index <> [] + i = index(1); + [start, end, match, captured] = regexp(result(i), findExp); + replace = replaceExp; + + if size(captured, "c") >= 5 then + //try to replace stk(\5*) by (\5*). + if captured(5) <> "" then + result = sed(result, "/[^(cisz]?stk\(" + captured(5) + "(.*[^)]?)\)/", "(" + captured(5) + "\1)"); + end + end + + for j = 1:size(captured, "c") + replace = strsubst(replace, "\" + string(j), captured(j)); + end + + if size(replace, "*") > 1 then + result = [result(1:(i-1)); replace; result((i+1):$)]; + else + result(i) = strsubst(str(i), match, replace); + end + + index = grep(result, findExp, "r"); +end +endfunction + +//////////////// +// handle // +//////////////// +function result = GetHandleMatrix(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Handle_Matrix_Get.txt"); + findExp = "/([\s]*)GetRhsVar\([\s]*(.*)[\s]*,[\s]*GRAPHICAL_HANDLE_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonHandle(str, findExp, replaceExp); +endfunction + +function result = CreateHandleMatrix(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Handle_Matrix_Create.txt"); + findExp = "/([\s]*)CreateVarFromPtr\([\s]*(.*)[\s]*,[\s]*GRAPHICAL_HANDLE_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*([\S]*)[\s]*\);(.*)/"; + + result = commonHandle(str, findExp, replaceExp); +endfunction + +function result = AllocHandleMatrix(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Handle_Matrix_Alloc.txt"); + findExp = "/([\s]*)CreateVar\([\s]*(.*)[\s]*,[\s]*GRAPHICAL_HANDLE_DATATYPE[\s]*,[\s]*&(.*)[\s]*,[\s]*&(.*)[\s]*,[\s]*&([\S]*)[\s]*\);(.*)/"; + + result = commonHandle(str, findExp, replaceExp); +endfunction + +function result = commonHandle(str, findExp, ReplaceExp) + result = str; + index = grep(result, findExp, "r"); + while index <> [] + i = index(1); + [start, end, match, captured] = regexp(result(i), findExp); + replace = replaceExp; + + if size(captured, "c") >= 5 then + //try to replace stk(\5*) by (\5*). + if captured(5) <> "" then + result = sed(result, "/[h]?stk\(" + captured(5) + "(.*[^)]?)\)/", "(" + captured(5) + "\1)"); + end + end + + for j = 1:size(captured, "c") + replace = strsubst(replace, "\" + string(j), captured(j)); + end + + if size(replace, "*") > 1 then + result = [result(1:(i-1)); replace; result((i+1):$)]; + else + result(i) = strsubst(str(i), match, replace); + end + + index = grep(result, findExp, "r"); +end +endfunction + +/////////////// +// tools // +/////////////// +function result = replaceCheckScalar(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Tools_Check_Scalar.txt"); + findExp = "/([\s]*)CheckScalar\([\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)\);/"; + + result = sed(str, findExp, replaceExp); +endfunction + +function result = replaceCheckSquare(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Tools_Check_Square.txt"); + findExp = "/([\s]*)CheckSquare\([\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)\);/"; + + result = sed(str, findExp, replaceExp); +endfunction + +function result = replaceCheckVector(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Tools_Check_Vector.txt"); + findExp = "/([\s]*)CheckVector\([\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)\);/"; + + result = sed(str, findExp, replaceExp); +endfunction + +function result = replaceCheckRow(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Tools_Check_Row.txt"); + findExp = "/([\s]*)CheckRow\([\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)\);/"; + + result = sed(str, findExp, replaceExp); +endfunction + +function result = replaceCheckColumn(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Tools_Check_Column.txt"); + findExp = "/([\s]*)CheckColumn\([\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)\);/"; + + result = sed(str, findExp, replaceExp); +endfunction + +function result = replaceCheckDims(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Tools_Check_Dims.txt"); + findExp = "/([\s]*)CheckDims\([\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)\);/"; + + result = sed(str, findExp, replaceExp); +endfunction + +function result = replaceCheckLength(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Tools_Check_Length.txt"); + findExp = "/([\s]*)CheckLength\([\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)\);/"; + + result = sed(str, findExp, replaceExp); +endfunction + +function result = replaceCheckSameDims(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Tools_Check_SameDims.txt"); + findExp = "/([\s]*)CheckSameDims\([\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)\);/"; + + result = sed(str, findExp, replaceExp); +endfunction + +function result = replaceCheckDimProp(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Tools_Check_DimProp.txt"); + findExp = "/([\s]*)CheckDimProp\([\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)\);/"; + + result = sed(str, findExp, replaceExp); +endfunction + +function result = replaceCheckOneDim(str) + replaceExp = mgetl("SCI/tools/api_scilab_trad/Tools_Check_OneDim.txt"); + findExp = "/([\s]*)CheckOneDim\([\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)[\s]*,[\s]*(.*)\);/"; + + result = sed(str, findExp, replaceExp); +endfunction + +function result = replaceVarType(str) + result = str + + //three cases + //first + //VarType(x) == sci_xx + result = sed(result, "/[\s]*VarType\([\s]*(.*)[\s]*\)[\s]*==[\s]*([^);]*)[\s]*/", "(checkInputArgumentType(pvApiCtx, \1, \2))"); + //second + //VarType(x) != sci_xx + result = sed(result, "/[\s]*VarType\([\s]*(.*)[\s]*\)[\s]*!=[\s]*([^);]*)[\s]*/", "(!checkInputArgumentType(pvApiCtx, \1, \2))"); + //third + //VarType(x) + result = sed(result, "/VarType\([\s]*(.*)[\s]*\)/", "getInputArgumentType(pvApiCtx, \1)"); +endfunction + +function result = replaceGetType(str) + result = str + //three cases + //first + //GetType(x) == sci_xx + result = sed(result, "/[\s]*GetType\([\s]*(.*)[\s]*\)[\s]*==[\s]*([^);]*)[\s^)]*/", "checkInputArgumentType(pvApiCtx, \1, \2)"); + //second + //GetType(x) != sci_xx + result = sed(result, "/[\s]*GetType\([\s]*(.*)[\s]*\)[\s]*!=[\s]*([^);]*)[\s^)]*/", "(!checkInputArgumentType(pvApiCtx, \1, \2))"); + //third + //GetType(x) + result = sed(result, "/GetType\((.*)\)/", "getInputArgumentType(pvApiCtx, \1)"); +endfunction + + diff --git a/tools/innosetup/Create_ISS.sce b/tools/innosetup/Create_ISS.sce new file mode 100755 index 000000000..3704b6e7a --- /dev/null +++ b/tools/innosetup/Create_ISS.sce @@ -0,0 +1,280 @@ +// +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) DIGITEO - 2010-2012 - Allan CORNET +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +// +//------------------------------------------------------------------------------- +// Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +// +//------------------------------------------------------------------------------ +// generates Scilab.iss for scilab 5.x in SCI directory +//------------------------------------------------------------------------------ +function bOK = without_jre() + bOK = %f; + if ( isdef("ISS_WITHOUT_JRE") & isglobal(ISS_WITHOUT_JRE) ) then + global ISS_WITHOUT_JRE; + bOK = ISS_WITHOUT_JRE; + else + bOK = %f; + end +endfunction +//------------------------------------------------------------------------------ +function [StrFlux, retour] = FindAndReplace(StrFlux, StrFind, StrReplace) + row = grep(StrFlux, StrFind); + if (row == []) then + printf("\n%s don""t find\n", StrFind); + retour = %F; + else + DimRow = size(row); + if DimRow(2) > 1 then // Take just first occurence + StrFlux(row(1)) = StrReplace; + else + StrFlux(row) = StrReplace; + end + printf("."); + retour=%T; + end +endfunction +//------------------------------------------------------------------------------ +function s = getTestsSize() + modules = getmodules(); + total = 0; + for i=1:size(modules,"*") + files_nonregs = SCI + "/modules/" + modules(i) + "/tests/nonreg_tests/" + findfiles(SCI + "/modules/" + modules(i) + "/tests/nonreg_tests","*.*"); + files_unit = SCI + "/modules/" + modules(i) + "/tests/unit_tests" + findfiles(SCI + "/modules/" + modules(i) + "/tests/unit_tests","*.*"); + files_module = [files_nonregs;files_unit]; + files_nonregs = []; + files_unit = []; + for j = 1:size(files_module, "*") + info = fileinfo(files_module(j)); + total = total + info(1); + end + end + s = total / 10; +endfunction +//------------------------------------------------------------------------------ +function ret = Update_Script_Innosetup(ISSFilenameSource) + + printf("Please Waiting ...\n"); + printf("Loading %s\n", ISSFilenameSource); + SciFile = mgetl(ISSFilenameSource); + printf("Creating %s ", WSCI + "\" + ISSFilenameSource); + + scilab_version = getversion("scilab"); + scilab_version_vstr = getversion(); + + [SciFile, err] = FindAndReplace(SciFile, "#define TESTS_SIZE", "#define TESTS_SIZE " + sprintf("%20d",getTestsSize())); + if err == %F then + ret = err; + return; + end; + + [SciFile, err] = FindAndReplace(SciFile, "#define BinariesSourcePath", "#define BinariesSourcePath """ + WSCI + """"); + if err == %F then + ret = err; + return; + end; + + if win64() then + [SciFile, err] = FindAndReplace(SciFile, "#define ScilabBaseFilename", "#define ScilabBaseFilename """+ scilab_version_vstr + "_x64"""); + else + [SciFile, err] = FindAndReplace(SciFile, "#define ScilabBaseFilename", "#define ScilabBaseFilename """+ scilab_version_vstr + """"); + end + if err == %F then + ret = err; + return; + end; + + [SciFile, err] = FindAndReplace(SciFile, "#define ScilabBaseDirectory", "#define ScilabBaseDirectory """+ scilab_version_vstr + """"); + if err == %F then + ret = err; + return; + end; + + if win64() then + [SciFile, err] = FindAndReplace(SciFile, "#define ScilabName", "#define ScilabName """ + scilab_version_vstr + " (64-bit)"""); + else + [SciFile, err] = FindAndReplace(SciFile,"#define ScilabName","#define ScilabName """+ scilab_version_vstr +""""); + end + if err == %F then + ret = err; + return; + end; + + if (scilab_version(3) == 0) then + HTTP_MKL = "http://fileexchange.scilab.org/toolboxes/MKL/" + string(scilab_version(1)) + "." + string(scilab_version(2)) + "/files"; + else + HTTP_MKL = "http://fileexchange.scilab.org/toolboxes/MKL/" + string(scilab_version(1)) + "." + string(scilab_version(2)) + "." + string(scilab_version(3)) + "/files"; + end + + [SciFile,err] = FindAndReplace(SciFile,"#define MKL_DOWNLOAD_HTTP ", "#define MKL_DOWNLOAD_HTTP """ + HTTP_MKL + """"); + if err == %F then + ret = err; + return; + end; + + currentVersion = sprintf("%d.%d.%d",scilab_version(1),scilab_version(2),scilab_version(3)); + + [SciFile,err] = FindAndReplace(SciFile,"#define ScilabVersion ","#define ScilabVersion """+ currentVersion +""""); + if err == %F then + ret = err; + return; + end; + + CurrentDate = getdate(); + + [SciFile,err] = FindAndReplace(SciFile,"#define CurrentYear ","#define CurrentYear """+string(CurrentDate(1))+""""); + if err == %F then + ret = err; + return; + end; + + jre_verstr = system_getproperty("java.specification.version"); + + [SciFile,err] = FindAndReplace(SciFile,"#define javaSpecificationVersion ","#define javaSpecificationVersion """+jre_verstr+""""); + if err == %F then + ret = err; + return; + end; + + jre_used = system_getproperty("java.version"); + + [SciFile,err] = FindAndReplace(SciFile,"#define javaUsed ","#define javaUsed """+jre_used+""""); + if err == %F then + ret = err; + return; + end; + + if with_module("scicos") then + if with_modelica_compiler() then + [SciFile,err] = FindAndReplace(SciFile,";#define WITH_MODELICAC","#define WITH_MODELICAC"); + if err == %F then + ret = err; + return; + end; + end + end + + if win64() then + [SciFile,err] = FindAndReplace(SciFile,";#define SCILAB_X64","#define SCILAB_X64"); + if err == %F then + ret = err; + return; + end; + end + + if without_jre() then + [SciFile,err] = FindAndReplace(SciFile,";#define SCILAB_WITHOUT_JRE","#define SCILAB_WITHOUT_JRE"); + if err == %F then + ret = err; + return; + end; + end + + [info_dyn, info_stat] = getdebuginfo(); + if grep(info_stat, "F2C") <> [] then + [SciFile,err] = FindAndReplace(SciFile,";#define SCILAB_F2C","#define SCILAB_F2C"); + if err == %F then + ret = err; + return; + end; + end + + if (scilab_version(3) == 0) then + ver_str = string(scilab_version(1)) + "." + string(scilab_version(2)); + else + ver_str = string(scilab_version(1)) + "." + string(scilab_version(2)) + "." + string(scilab_version(3)); + end + + if win64() then + arch_str = "win64"; + else + arch_str = "win32"; + end + + MKL_BLASLAPACK_NAME = "blas-lapack-mkl-" + ver_str + "-" + arch_str + ".zip"; + MKL_COMMONS_NAME = "commons-mkl-" + ver_str + "-" + arch_str + ".zip"; + MKL_FFTW_NAME = "fftw-mkl-" + ver_str + "-" + arch_str + ".zip"; + + [SciFile,err] = FindAndReplace(SciFile,"#define MKL_BLASLAPACK_PACKAGENAME","#define MKL_BLASLAPACK_PACKAGENAME ''" + MKL_BLASLAPACK_NAME + "''"); + if err == %F then + ret = err; + return; + end; + + [SciFile,err] = FindAndReplace(SciFile,"#define MKL_COMMONS_PACKAGENAME","#define MKL_COMMONS_PACKAGENAME ''" + MKL_COMMONS_NAME + "''"); + if err == %F then + ret = err; + return; + end; + + [SciFile,err] = FindAndReplace(SciFile,"#define MKL_FFTW_PACKAGENAME","#define MKL_FFTW_PACKAGENAME ''" + MKL_FFTW_NAME + "''"); + if err == %F then + ret = err; + return; + end; + + if isdir(SCI + "/.atoms") <> %F then + err = generateAdditionnalIss(); + if err == %F then + ret = err; + return; + end; + end + + + mdelete(WSCI+"\"+ISSFilenameSource); + printf("\nSaving %s\n",WSCI+"\"+ISSFilenameSource); + ret = mputl(SciFile,WSCI+"\"+ISSFilenameSource); +endfunction +//------------------------------------------------------------------------------ +function bOK = generateAdditionnalIss() + bOK = %f; + ATOMS_DIR = fullpath(SCI + "/contrib"); + dir_list = ls(ATOMS_DIR); + dir_list = fullpath(ATOMS_DIR + filesep() + dir_list); + dir_list = dir_list(isdir(dir_list) == %t); + + // remove default modules + list_default_ATOMS = ["xcos_toolbox_skeleton", "toolbox_skeleton"]; + dir_list(grep(dir_list, list_default_ATOMS)) = []; + if dir_list <> [] then + name_list = basename(dir_list); + ISS = "Source: contrib\" + name_list +"\*.*; DestDir: {app}\contrib\" + name_list + "; Flags: recursesubdirs; Components: {#COMPN_SCILAB}"; + ISS = [ISS; "Source: .atoms\*.*; DestDir: {app}\.atoms; Flags: recursesubdirs; Components: {#COMPN_SCILAB}"]; + else + ISS = ""; + end + bOK = mputl(ISS, fullpath(SCI + "\contrib\external_modules.iss")); +endfunction +//------------------------------------------------------------------------------ +// Main +[units,typs,nams] = file(); +path = fileparts(string(nams(1)),"path"); +filename = fileparts(string(nams(1)),"fname"); +extension = fileparts(string(nams(1)),"extension"); + +fileAndExt = filename+extension; + +if or(fileAndExt == ["Create_ISS.sce","Create_ISS_nojre.sce"]) then + SaveCurrentPath=pwd(); + if ~(SaveCurrentPath == path) then + chdir(path); + end + + if ~(Update_Script_Innosetup("Scilab.iss") == %T ) then + printf("\nScript aborted.\n"); + end + chdir(SaveCurrentPath); + +else + printf("Error: name of this file isn""t ""Create_ISS.sce"" but %s\n",(filename+extension)); + printf("Please rename this file\n"); +end +exit +//------------------------------------------------------------------------------ diff --git a/tools/innosetup/Create_ISS_nojre.sce b/tools/innosetup/Create_ISS_nojre.sce new file mode 100755 index 000000000..a644113e5 --- /dev/null +++ b/tools/innosetup/Create_ISS_nojre.sce @@ -0,0 +1,10 @@ +//------------------------------------------------------------------------------------ +// Allan CORNET +// DIGITE 2008 - 2010 +// generates .iss for scilab 5.x (no jre) +//------------------------------------------------------------------------------------ +global ISS_WITHOUT_JRE; +curpathsce = get_absolute_file_path("Create_ISS_nojre.sce"); +ISS_WITHOUT_JRE = %t; +exec(curpathsce + "Create_ISS.sce"); +//------------------------------------------------------------------------------------ diff --git a/tools/innosetup/Scilab.iss b/tools/innosetup/Scilab.iss new file mode 100755 index 000000000..ba6d8fb66 --- /dev/null +++ b/tools/innosetup/Scilab.iss @@ -0,0 +1,87 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010-2012 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- +#define BinariesSourcePath "D:\GIT-scilab-master\scilab\scilab" +#define ScilabBaseFilename "scilab-master" +#define ScilabBaseDirectory "scilab-master" +#define ScilabName "scilab-master" +#define ScilabVersion "5.4.0" +#define CurrentYear "2011" +#define javaSpecificationVersion "1.6" +#define javaUsed "1.6.0_XX" +#define TESTS_SIZE 14364741 +;#define WITH_MODELICAC +;#define SCILAB_X64 +;#define SCILAB_WITHOUT_JRE +;#define SCILAB_F2C +;------------------------------------------------------------------------------- +#define MODULES_LIST_WEB_PAGE 'http://wiki.scilab.org/howto/install/windows' +#define MKL_DOWNLOAD_HTTP 'http://fileexchange.scilab.org/toolboxes/MKL' +#define MKL_BLASLAPACK_PACKAGENAME 'blas-lapack-mkl-5.4-win32.zip' +#define MKL_COMMONS_PACKAGENAME 'commons-mkl-5.4-win32.zip' +#define MKL_FFTW_PACKAGENAME 'fftw-mkl-5.4-win32.zip' +;------------------------------------------------------------------------------- +[CustomMessages] +#include BinariesSourcePath + "\tools\innosetup\custommessages.iss" +;------------------------------------------------------------------------------- +[Setup] +#include BinariesSourcePath + "\tools\innosetup\setup.iss" +;------------------------------------------------------------------------------- +[Languages] +#include BinariesSourcePath + "\tools\innosetup\languages.iss" +;------------------------------------------------------------------------------- +[Types] +#include BinariesSourcePath + "\tools\innosetup\types.iss" +;------------------------------------------------------------------------------- +[Components] +#include BinariesSourcePath + "\tools\innosetup\components.iss" +; +;------------------------------------------------------------------------------- +[Files] +#include BinariesSourcePath + "\tools\innosetup\files.iss" +; +;------------------------------------------------------------------------------- +[Icons] +#include BinariesSourcePath + "\tools\innosetup\icons.iss" +;------------------------------------------------------------------------------- +[INI] +#include BinariesSourcePath + "\tools\innosetup\ini.iss" +;------------------------------------------------------------------------------- +[Tasks] +#include BinariesSourcePath + "\tools\innosetup\tasks.iss" +;------------------------------------------------------------------------------- +[Registry] +#include BinariesSourcePath + "\tools\innosetup\registry.iss" +;------------------------------------------------------------------------------- +[Code] +#include BinariesSourcePath + "\tools\innosetup\code_unzip.iss" +#include BinariesSourcePath + "\tools\innosetup\code_download.iss" +#include BinariesSourcePath + "\tools\innosetup\code_modules.iss" +#include BinariesSourcePath + "\tools\innosetup\code_offline_installation.iss" +#include BinariesSourcePath + "\tools\innosetup\code.iss" +[Run] +;------------------------------------------------------------------------------- +#include BinariesSourcePath + "\tools\innosetup\run.iss" +;------------------------------------------------------------------------------- +[UninstallDelete] +#include BinariesSourcePath + "\tools\innosetup\uninstalldelete.iss" +;------------------------------------------------------------------------------- +[_ISTool] +#ifndef SCILAB_WITHOUT_JRE +OutputExeFilename=D:\Scilab\Output\{#ScilabBaseFilename}.exe +#else +OutputExeFilename=D:\Scilab\Output\{#ScilabBaseFilename}-nojre.exe +#endif +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/atlas.iss b/tools/innosetup/atlas.iss new file mode 100755 index 000000000..7a4d03c95 --- /dev/null +++ b/tools/innosetup/atlas.iss @@ -0,0 +1,24 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- +; Atlas setup +;------------------------------------------------------------------------------- +; +; Librairie Atlas 3.8.0 +Source: bin\atlas\*.dll; DestDir: {app}\bin\atlas; Components: {#COMPN_ATLAS_CPU_LIBRARY} +Source: bin\Atlas.spec; DestDir: {app}\bin; Components: {#COMPN_ATLAS_CPU_LIBRARY} +Source: bin\SetupAtlas.exe; DestDir: {app}\bin; Components: {#COMPN_ATLAS_CPU_LIBRARY} +; +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/base.iss b/tools/innosetup/base.iss new file mode 100755 index 000000000..65b958908 --- /dev/null +++ b/tools/innosetup/base.iss @@ -0,0 +1,73 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010-2011 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- +; default files embedded with scilab +;------------------------------------------------------------------------------- +; +Source: tools\zip\unzip.exe; Flags: dontcopy +Source: tools\innosetup\isxdl.dll; DestDir: {tmp}; Flags: dontcopy + +; +; etc directory +Source: etc\scilab.start; DestDir: {app}\etc; Components: {#COMPN_SCILAB} +; +Source: etc\scilab.quit; DestDir: {app}\etc; Components: {#COMPN_SCILAB} +; +Source: etc\logging.properties; DestDir: {app}\etc; Components: {#COMPN_SCILAB} +; +; root directory +Source: RELEASE_NOTES*.*; DestDir: {app}; Components: {#COMPN_SCILAB} +; +Source: CHANGES*.*; DestDir: {app}; Components: {#COMPN_SCILAB} +;Source: licence.txt; DestDir: {app}; Components: {#COMPN_SCILAB} +;Source: license.txt; DestDir: {app}; Components: {#COMPN_SCILAB} +Source: COPYING; DestDir: {app}; Components: {#COMPN_SCILAB} +Source: COPYING-FR; DestDir: {app}; Components: {#COMPN_SCILAB} +Source: COPYING-BSD; DestDir: {app}; Components: {#COMPN_SCILAB} +; +Source: Readme_Visual.txt; DestDir: {app}; Components: {#COMPN_SCILAB} +Source: README_Windows.txt; DestDir: {app}; Components: {#COMPN_SCILAB} +Source: ACKNOWLEDGEMENTS; DestDir: {app}; Components: {#COMPN_SCILAB} +Source: Version.incl; DestDir: {app}; Components: {#COMPN_SCILAB} +; +; bin directory +#include BinariesSourcePath + "\bin\bin.iss" +; +; contrib directory +Source: contrib\loader.sce; DestDir: {app}\contrib; Components: {#COMPN_SCILAB} +; +; locale directory +Source: locale\en_US\LC_MESSAGES\scilab.mo ; DestDir: {app}\locale\en_US\LC_MESSAGES; Components: {#COMPN_SCILAB} +Source: locale\fr_FR\LC_MESSAGES\scilab.mo ; DestDir: {app}\locale\fr_FR\LC_MESSAGES; Components: {#COMPN_SCILAB} +Source: locale\zh_TW\LC_MESSAGES\scilab.mo ; DestDir: {app}\locale\zh_TW\LC_MESSAGES; Components: {#COMPN_SCILAB} +Source: locale\zh_CN\LC_MESSAGES\scilab.mo ; DestDir: {app}\locale\zh_CN\LC_MESSAGES; Components: {#COMPN_SCILAB} +Source: locale\ru_RU\LC_MESSAGES\scilab.mo ; DestDir: {app}\locale\ru_RU\LC_MESSAGES; Components: {#COMPN_SCILAB} +Source: locale\de_DE\LC_MESSAGES\scilab.mo ; DestDir: {app}\locale\de_DE\LC_MESSAGES; Components: {#COMPN_SCILAB} +Source: locale\ca_ES\LC_MESSAGES\scilab.mo ; DestDir: {app}\locale\ca_ES\LC_MESSAGES; Components: {#COMPN_SCILAB} +Source: locale\es_ES\LC_MESSAGES\scilab.mo ; DestDir: {app}\locale\es_ES\LC_MESSAGES; Components: {#COMPN_SCILAB} +Source: locale\pt_BR\LC_MESSAGES\scilab.mo ; DestDir: {app}\locale\pt_BR\LC_MESSAGES; Components: {#COMPN_SCILAB} +Source: locale\ja_JP\LC_MESSAGES\scilab.mo ; DestDir: {app}\locale\ja_JP\LC_MESSAGES; Components: {#COMPN_SCILAB} +Source: locale\it_IT\LC_MESSAGES\scilab.mo ; DestDir: {app}\locale\it_IT\LC_MESSAGES; Components: {#COMPN_SCILAB} +Source: locale\uk_UA\LC_MESSAGES\scilab.mo ; DestDir: {app}\locale\uk_UA\LC_MESSAGES; Components: {#COMPN_SCILAB} +Source: locale\pl_PL\LC_MESSAGES\scilab.mo ; DestDir: {app}\locale\pl_PL\LC_MESSAGES; Components: {#COMPN_SCILAB} +; +; libs directory +#include BinariesSourcePath + "\libs\libs.iss" +; java directory +#ifndef SCILAB_WITHOUT_JRE +Source: java\JRE\*.*; DestDir: {app}\java\JRE; Flags: recursesubdirs; Components: {#COMPN_JRE} +#endif +; +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/ca_ES_scilab.isl b/tools/innosetup/ca_ES_scilab.isl new file mode 100755 index 000000000..01672f067 --- /dev/null +++ b/tools/innosetup/ca_ES_scilab.isl @@ -0,0 +1,138 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +ca_ES.LANGUAGE =ca_ES + +ca_ES.MsgBoxJRENotFound =Java Runtime Environment not detected. +ca_ES.MsgBoxJREURL =Please download & Install JRE at http://www.java.com/en/download/ +ca_ES.MsgBoxJREReinstall =Reinstall Scilab after your JRE update. +ca_ES.MsgBoxSSERequired =CPU SSE2 instructions are required for Scilab to run correctly. +ca_ES.MsgBoxX64Ready =For increase performance, it will be better to use Scilab x64 bits version on this Operating system. + +ca_ES.MsgBoxJavaDetection1 =Java is not installed on this computer and this program needs it. +ca_ES.MsgBoxJavaDetection2 =Please choose to install Java Runtime: +ca_ES.MsgBoxWebOpen =Can not open web page. +ca_ES.MsgBoxDevToolsRequired1 =You choose to install toolbox_skeleton module but development_tools module is not selected. +ca_ES.MsgBoxDevToolsRequired2 =Please install development_tools module. +ca_ES.MsgBoxDevToolsRequired3 =You choose to install tests module but development_tools module is not selected. +ca_ES.MsgBoxTclsciRequired2 =Please install tclsci module. +ca_ES.MsgBoxFftw1 =You choose to install FFTW module for Scilab. +ca_ES.MsgBoxFftw2 =This module requires to download FFTW library (GPL). +ca_ES.MsgBoxFftw3 =Do you want to open a web page about this add-on ? +ca_ES.MsgBoxFftw4 =Can not open web page. +ca_ES.MsgBoxWinVer =Windows 2000 is required. +ca_ES.MsgBoxScicosRequired1 =You choose to install Xcos module but Scicos module is not selected. +ca_ES.MsgBoxScicosRequired2 =Please also install Scicos module. + +; +ca_ES.ButtonAboutModules =&About modules ... +; +ca_ES.DescriptionEquDif =Differential Equations Module +ca_ES.DescriptionInterpolation =Interpolation Module +ca_ES.DescriptionPolynomials =Polynomials Module +ca_ES.DescriptionSymbolic =Symbolic Module +ca_ES.DescriptionStats =Statistics Module +ca_ES.DescriptionSparse =Sparse Matrix Module +ca_ES.DescriptionLinAlg =Linear Algebra Module +ca_ES.DescriptionSigProc =Signal processing Module +ca_ES.DescriptionCacsd =C.A.C.S.D Module +ca_ES.DescriptionGraphics =Graphics Module +ca_ES.DescriptionOptim =Optimization Module +ca_ES.DescriptionMetanet =Metanet Toolbox +ca_ES.DescriptionScicos =Scicos Toolbox +ca_ES.DescriptionArnoldi =ARnoldi PACKage Toolbox +ca_ES.DescriptionUmfpack =UMFPACK for Scilab +ca_ES.DescriptionCompatFunctions =Compatibility functions +ca_ES.DescriptionM2sci =M2SCI Toolbox +ca_ES.DescriptionMatio =MAT File Input/Output Toolbox +ca_ES.DescriptionExternalObjects =External objects +ca_ES.DescriptionSound =Sound file handling Toolbox +ca_ES.DescriptionRandlib =Randlib Toolbox +ca_ES.DescriptionMexlib =Mexlib Tools +ca_ES.DescriptionIntersci =Intersci Toolbox +ca_ES.DescriptionTclTK =TCL/TK in Scilab +ca_ES.DescriptionSpreadsheet =Spreadsheet Toolbox +ca_ES.DescriptionJVM =Java Runtime +ca_ES.DescriptionAtlas =Atlas library 3.8.0 CPU optimized +ca_ES.DescriptionFftwModule =FFTW interface for Scilab +ca_ES.DescriptionFftwMKLDownload =Download FFTW library optimized by Intel Math Kernel Library +ca_ES.DescriptionRefFftwLibrary =Reference FFTW library +ca_ES.DescriptionParametersTlbx =Parameters Toolbox +ca_ES.DescriptionGeneticTlbx =Genetic Algorithms Toolbox +ca_ES.DescriptionSimulAnnealingTlbx =Simulated Annealing Toolbox +ca_ES.DescriptionDevTools =Development Tools +ca_ES.DescriptionTests =Tests for Scilab +ca_ES.DescriptionTlbxSkeleton =A toolbox skeleton (to extend Scilab) +ca_ES.DescriptionComConnector =COM connector +ca_ES.DescriptionSciNotes =SciNotes: Editor for Scilab +ca_ES.DescriptionXcos =Xcos +ca_ES.DescriptionParallel =Parallel Computing with Scilab +ca_ES.DescriptionModulesManager =Tools for management of extern modules +ca_ES.DescriptionModuleJVM =JVM Module +; +ca_ES.ConsoleIconName =Scilab Console +; +ca_ES.WebIconScilab =Scilab on the Web +; +ca_ES.ReadMeIcon =Read Me +; +ca_ES.UnInstallIcon =Uninstall Scilab +; +ca_ES.RegKeyRunWith =Run with +; +ca_ES.DescriptionVC2008Redist =Install Microsoft Visual C++ 2008 Redistributable Package +; +ca_ES.DescriptionConfigureAtlas =Configure Atlas +; +ca_ES.DescriptionLaunchScilab =Launch Scilab +; +ca_ES.DescriptionCreateDesktopIcon =Create a &desktop icon +; +ca_ES.DescriptionQuickLaunch =Create a shortcut in Quick Launch Bar +; +ca_ES.DescriptionAssociateSceSci =Associate *.sce,*.sci files with Scilab +; +ca_ES.DescriptionAssociateTstDem =Associate *.tst files with Scilab +; +ca_ES.DescriptionAssociateBinSav =Associate *.bin, *.sav files with Scilab +; +ca_ES.DescriptionAssociateGraph =Associate *.graph *.graphb files with Scilab +; +ca_ES.DescriptionAssociateScicos =Associate *.xcos *.cos *.cosf files with Scilab +; +ca_ES.DescriptionDefaultInstall =Installation (Default) +ca_ES.DescriptionFullInstall =Full installation +ca_ES.DescriptionCustomInstall =Custom installation +ca_ES.DescriptionCLIInstall =Command Line Minimal Installation (no gui) +; +ca_ES.DescriptionCPUOptimization =CPU Optimization for Scilab +ca_ES.DescriptionATLASLibrary =Atlas Library for Scilab +ca_ES.DescriptionRefBlasLibrary =Blas, Lapack Reference libraries for Scilab +ca_ES.DescriptionMKLLibrary =Download Intel Math Kernel Library for Scilab +; +ca_ES.DownloadMKLLabel =Downloading Intel Math Kernel Library files for Scilab +ca_ES.DownloadMKLDescription =Please wait while Setup is downloading extra files to your computer. +; +ca_ES.DownloadMKLFFTWLabel =Downloading FFTW3 library optimized by Intel Math Kernel. +; +ca_ES.DoTasksJustAfterInstallMsg2 =BLAS, LAPACK reference libraries will be installed and used. +ca_ES.DoTasksJustAfterInstallMsg3 =FFTW3 reference library will be installed and used. +; +ca_ES.NextButtonClickwpReadyMsg1 =Impossible to download Intel Math Kernel Library files for Scilab (Default library will be used). +ca_ES.NextButtonClickwpReadyMsg2 =Impossible to download FFTW3 library optimized by Intel Math Kernel Library (Default library will be used). +; +ca_ES.DescriptionAtoms =ATOMS +;------------------------------------------------------------------------------- +;
\ No newline at end of file diff --git a/tools/innosetup/code.iss b/tools/innosetup/code.iss new file mode 100755 index 000000000..1b98cce53 --- /dev/null +++ b/tools/innosetup/code.iss @@ -0,0 +1,363 @@ +// +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) DIGITEO - 2010-2012 - Allan CORNET +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +// +//------------------------------------------------------------------------------ +// Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +// +//------------------------------------------------------------------------------ + +function IsProcessorFeaturePresent(ProcessorFeature: DWORD): Boolean; +external 'IsProcessorFeaturePresent@kernel32.dll stdcall'; + +function GetModuleHandle(lpModuleName: LongInt): LongInt; +external 'GetModuleHandleA@kernel32.dll stdcall'; + +var + AboutModulesButton: TButton; + OriginalOnTypesComboChange: TNotifyEvent; + +//------------------------------------------------------------------------------ +function isCLIType(): Boolean; + begin + Result := true; + if (IsComponentSelected( ExpandConstant('{#COMPN_JVM_MODULE}'))) then + begin + Result := false; + end; + end; +//------------------------------------------------------------------------------ +function getExecNameForDesktop(Param: String): String; + begin + if (isCLIType() = true) then + begin + Result := ExpandConstant('{app}') + '\bin\scilex.exe'; + end + else + begin + Result := ExpandConstant('{app}') + '\bin\wscilex.exe'; + end; + end; +//------------------------------------------------------------------------------ +function DoTaskInstall_MKL: Boolean; + begin + Result := true; + if (IsComponentSelected( ExpandConstant('{#COMPN_MKL_CPU_LIBRARY}') ) = true) then + begin + Result := Install_commons_MKL(); + if (Result = true) then + begin + Result := Install_MKL(); + end + end; + end; +//------------------------------------------------------------------------------ +function DoTaskInstall_MKL_FFTW: Boolean; + begin + Result := true; + if (IsComponentSelected( ExpandConstant('{#COMPN_FFTW_MKL_LIBRARY}') ) = true) then + begin + Result := Install_MKL_FFTW(); + end; + end; +//------------------------------------------------------------------------------ +function DoTasksJustAfterInstall: Boolean; + begin + Result := true; + Result := CreateModulesFile(); + Result := DoTaskInstall_MKL(); + Result := DoTaskInstall_MKL_FFTW(); + end; +//------------------------------------------------------------------------------ +function GetJREVersion(): String; +begin + Result := ''; + + if Is64BitInstallMode() or not IsWin64() then + begin + //64 bits installation or 32 bits OS -> same registry path + RegQueryStringValue( HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment', 'CurrentVersion', Result ); + end else begin + // Scilab 32 bits sur Windows 64 bits + RegQueryStringValue( HKLM, 'SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment', 'CurrentVersion', Result ); + end +end; +//------------------------------------------------------------------------------ + function CheckJREVersion(): Boolean; + var + jreVersion: String; + minJREVersionRegistry: String; + begin + // + // Initialize min java version constant + // + minJREVersionRegistry := ExpandConstant('{#javaSpecificationVersion}'); + // + // now we check the version of the installed JRE + // + jreVersion := GetJREVersion(); + if ( jreVersion = '' ) then begin + Result := false; + end else if ( jreVersion < minJREVersionRegistry ) then begin + Result := false; + end else begin + Result := true; + end; + end; +//------------------------------------------------------------------------------ + function VerifyJREVersion() : Boolean; + var + bJREVersion: Boolean; + begin + bJREVersion := CheckJREVersion(); + + if ( bJREVersion <> true ) then begin + SuppressibleMsgBox( CustomMessage('MsgBoxJavaDetection1') + #13 + + CustomMessage('MsgBoxJavaDetection2') + ExpandConstant('{#javaSpecificationVersion}') + '.', + mbError, MB_OK, MB_OK ); + end; + + Result := bJREVersion; + end; +//------------------------------------------------------------------------------ +procedure ButtonAboutModulesOnClick(Sender: TObject); +var + ErrorCode: Integer; + +begin + if not ShellExec('', ExpandConstant('{#MODULES_LIST_WEB_PAGE}'), + '', '', SW_SHOW, ewNoWait, ErrorCode) then + begin + // handle failure if necessary + SuppressibleMsgBox( CustomMessage('MsgBoxWebOpen'),mbError, MB_OK, MB_OK ); + end; +end; +//------------------------------------------------------------------------------ + function BackButtonClick(CurPageID: Integer): Boolean; + begin + Result := true; + if (CurPageId = wpSelectProgramGroup) then + begin + AboutModulesButton.Visible := true; + end else begin + AboutModulesButton.Visible := false; + end; + end; +//------------------------------------------------------------------------------ +function NextButtonClick_Download_MKL(): Boolean; + Var + bRes : Boolean; + begin + Result := true; + if (IsComponentSelected( ExpandConstant('{#COMPN_MKL_CPU_LIBRARY}') ) = true) then + begin + bRes := Download_commons_MKL(); + if ( bRes = true ) then + begin + bRes := Download_MKL(); + end; + end; + end; +//------------------------------------------------------------------------------ +function NextButtonClick_Download_MKL_FFTW(): Boolean; + Var + bRes : Boolean; + begin + Result := true; + if (IsComponentSelected( ExpandConstant('{#COMPN_FFTW_MKL_LIBRARY}') ) = true) then + begin + bRes := Download_MKL_FFTW(); + end; + end; +//------------------------------------------------------------------------------ +function NextButtonClick(CurPageID: Integer): Boolean; + Var + bRes : Boolean; + + begin + Result := true; + + if (CurPageID = wpWelcome) then + begin + if (Is64BitInstallMode() = false) then + begin + if IsWin64() then + begin + SuppressibleMsgBox(CustomMessage('MsgBoxX64Ready'), mbInformation, MB_OK, MB_OK ); + end; + end; + + if (IsProcessorFeaturePresent(10) = false) then + begin + bRes := false; + SuppressibleMsgBox(CustomMessage('MsgBoxSSERequired'), mbError, MB_OK, MB_OK ); + Result := false; + end; + end; + + if (CurPageId = wpSelectDir) then + begin + AboutModulesButton.Visible := true; + end else begin + AboutModulesButton.Visible := false; + end; + + if (CurPageID = wpReady) then + begin + bRes := NextButtonClick_Download_MKL(); + bRes := NextButtonClick_Download_MKL_FFTW(); + end; + + if (CurPageId = wpSelectComponents) then + begin + if ( IsComponentSelected( ExpandConstant('{#COMPN_JRE}') ) = false ) then + begin + bRes := VerifyJREVersion(); + if ( bRes = false ) then + begin + Result := false; + end; + end; + + if ( (IsComponentSelected( ExpandConstant('{#COMPN_DEVTOOLS}') ) = false) and (IsComponentSelected( ExpandConstant('{#COMPN_TOOLBOX_SKELETON}') ) = true) ) then + begin + SuppressibleMsgBox( CustomMessage('MsgBoxDevToolsRequired1') + #13 + + CustomMessage('MsgBoxDevToolsRequired2'), + mbError, MB_OK, MB_OK ); + Result := false; + end; + + if ( (IsComponentSelected( ExpandConstant('{#COMPN_DEVTOOLS}') ) = false) and (IsComponentSelected( ExpandConstant('{#COMPN_TESTS}') ) = true) ) then + begin + SuppressibleMsgBox( CustomMessage('MsgBoxDevToolsRequired3') + #13 + + CustomMessage('MsgBoxDevToolsRequired2'), + mbError, MB_OK, MB_OK ); + Result := false; + end; + + end; + end; +//------------------------------------------------------------------------------ +procedure DeinitializeUninstall; +var + Names: TArrayOfString; + iLen: Integer; +begin + //read registry to find others scilab installation in the same arch + if RegGetSubkeyNames(HKLM, 'Software\Scilab', Names) then + begin + iLen := length(Names); + if iLen > 0 then + begin + RegWriteStringValue(HKLM, 'Software\Scilab', 'LASTINSTALL', Names[iLen - 1]); + end else begin + //no other install in the same arch + //remove LASTINSTALL key and Scilab registry folder ( auto ) + RegDeleteValue(HKLM, 'Software\Scilab', 'LASTINSTALL'); + end; + end; +end; +//------------------------------------------------------------------------------ +function InitializeSetup: Boolean; + Var + Version: TWindowsVersion; +#ifdef SCILAB_WITHOUT_JRE + bRes : Boolean; +#endif + begin + Result := True; + GetWindowsVersionEx(Version); + + if Version.NTPlatform and (Version.Major > 4) then + begin + Result := True; + end else begin + SuppressibleMsgBox(CustomMessage('MsgBoxWinVer'), mbCriticalError, MB_OK, MB_OK); + Result := False; + Exit; + end +#ifdef SCILAB_WITHOUT_JRE + bRes := CheckJREVersion(); + if ( bRes = false ) then + begin + SuppressibleMsgBox(CustomMessage('MsgBoxJRENotFound')+ '(' +ExpandConstant('{#javaSpecificationVersion}') + ')' + #13 + + CustomMessage('MsgBoxJREURL')+ #13 + + CustomMessage('MsgBoxJREReinstall') + , mbCriticalError, MB_OK, MB_OK); + Result := False; + Exit; + end else begin + Result := True; + end +#endif + end; +//------------------------------------------------------------------------------ +procedure OnTypesComboChange(Sender: TObject); +var + ItemIndex: Integer; + Res: Boolean; +begin + OriginalOnTypesComboChange(Sender); +end; +//------------------------------------------------------------------------------ +procedure CreateTheWizardPages; +var + CancelButton: TButton; +begin + CancelButton := WizardForm.CancelButton; + + AboutModulesButton := TButton.Create(WizardForm); + AboutModulesButton.Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width; + AboutModulesButton.Top := CancelButton.Top; + AboutModulesButton.Width := CancelButton.Width * 2; + + AboutModulesButton.Caption := CustomMessage('ButtonAboutModules'); + + AboutModulesButton.Height := CancelButton.Height; + + AboutModulesButton.OnClick := @ButtonAboutModulesOnClick; + AboutModulesButton.Parent := CancelButton.Parent; + AboutModulesButton.Visible := false; + + CreateOfflineInstallationCheckBox; + + OriginalOnTypesComboChange := WizardForm.TypesCombo.OnChange; + WizardForm.TypesCombo.OnChange := @OnTypesComboChange; +end; +//------------------------------------------------------------------------------ +procedure InitializeWizard(); +begin + CreateTheWizardPages; +end; +//------------------------------------------------------------------------------ +//convert Boolean expresion in string ( debug function ) +function BoolToStr(Value : Boolean) : String; +begin + if Value then + result := 'true' + else + result := 'false'; +end; +//------------------------------------------------------------------------------ +//check user rights +function IsAdminUser(): Boolean; +begin + Result := (IsAdminLoggedOn or IsPowerUserLoggedOn); +end; +//------------------------------------------------------------------------------ +//returns default install path ( take care of user rights ) +function DefDirRoot(Param: String): String; +begin + if IsAdminUser then + //program files path + Result := ExpandConstant('{pf}') + else + //local app data path + Result := ExpandConstant('{localappdata}') +end; diff --git a/tools/innosetup/code_download.iss b/tools/innosetup/code_download.iss new file mode 100755 index 000000000..a0574abcb --- /dev/null +++ b/tools/innosetup/code_download.iss @@ -0,0 +1,203 @@ +// +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) DIGITEO - 2010-2011 - Allan CORNET +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +// +//------------------------------------------------------------------------------ +// Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +// +//------------------------------------------------------------------------------ + +function isxdl_Download(hWnd: Integer; URL, Filename: PAnsiChar): Integer; +external 'isxdl_Download@files:isxdl.dll stdcall'; + +procedure isxdl_AddFile(URL, Filename: PAnsiChar); +external 'isxdl_AddFile@files:isxdl.dll stdcall'; + +procedure isxdl_AddFileSize(URL, Filename: PAnsiChar; Size: Cardinal); +external 'isxdl_AddFileSize@files:isxdl.dll stdcall'; + +function isxdl_DownloadFiles(hWnd: Integer): Integer; +external 'isxdl_DownloadFiles@files:isxdl.dll stdcall'; + +procedure isxdl_ClearFiles; +external 'isxdl_ClearFiles@files:isxdl.dll stdcall'; + +function isxdl_IsConnected: Integer; +external 'isxdl_IsConnected@files:isxdl.dll stdcall'; + +function isxdl_SetOption(Option, Value: PAnsiChar): Integer; +external 'isxdl_SetOption@files:isxdl.dll stdcall'; + +function isxdl_GetFileName(URL: PAnsiChar): PAnsiChar; +external 'isxdl_GetFileName@files:isxdl.dll stdcall'; +//------------------------------------------------------------------------------ +function getInstallerDirectory: String; + begin + Result := ExtractFileDir(ExpandConstant('{srcexe}')); + end; +//------------------------------------------------------------------------------ +function Download_Package(const packagefilename, URL, labeltxt, descriptiontxt: String): Boolean; + var + hWnd: Integer; + DestinationTmpDirName: String; + iConnect : Integer; + begin + Result := false; + DestinationTmpDirName := ExpandConstant('{tmp}') + '\'; + if (FileExists(getInstallerDirectory() + '\' + packagefilename) = true) then + begin + Result := FileCopy(getInstallerDirectory() + '\' + packagefilename, DestinationTmpDirName + packagefilename, false); + end + else + begin + isxdl_SetOption('label', labeltxt); + isxdl_SetOption('description', descriptiontxt); + isxdl_SetOption('resume', 'false'); + iConnect := isxdl_IsConnected(); + if (iConnect = 1) then + begin + isxdl_AddFile(URL + packagefilename, DestinationTmpDirName + packagefilename); + hWnd := StrToInt(ExpandConstant('{wizardhwnd}')); + if isxdl_DownloadFiles(hWnd) = 0 then + begin + Result := false; + end else begin + FileCopy(DestinationTmpDirName + packagefilename, getInstallerDirectory() + '\' + packagefilename, false); + Result := FileExists(DestinationTmpDirName + packagefilename); + end; + end; + end; + end; +//------------------------------------------------------------------------------ +function Download_MKL: Boolean; + var + URL: String; + begin + URL := ExpandConstant('{#MKL_DOWNLOAD_HTTP}')+ '/'; + Result := Download_Package(ExpandConstant('{#MKL_BLASLAPACK_PACKAGENAME}'), URL, CustomMessage('DownloadMKLLabel'), CustomMessage('DownloadMKLDescription')); + end; +//------------------------------------------------------------------------------ +function Download_commons_MKL: Boolean; + var + URL: String; + begin + URL := ExpandConstant('{#MKL_DOWNLOAD_HTTP}')+ '/'; + Result := Download_Package(ExpandConstant('{#MKL_COMMONS_PACKAGENAME}'), URL, CustomMessage('DownloadMKLLabel'), CustomMessage('DownloadMKLDescription')); + end; +//------------------------------------------------------------------------------ +function Download_MKL_FFTW: Boolean; + var + URL: String; + begin + URL := ExpandConstant('{#MKL_DOWNLOAD_HTTP}')+ '/'; + Result := Download_Package(ExpandConstant('{#MKL_FFTW_PACKAGENAME}'), URL, CustomMessage('DownloadMKLFFTWLabel'), CustomMessage('DownloadMKLDescription')); + end; +//------------------------------------------------------------------------------ +function Install_Package(const packagefullfilename, pathdest: String): Boolean; + var + TmpDirName: String; + listfilesArray: TArrayOfString; + listfiles_name: String; + i : integer; + + begin + Result := True; + TmpDirName := ExpandConstant('{tmp}') + '\'; + listfiles_name := TmpDirName + 'list_files.txt'; + + if (Unzip(packagefullfilename) = true) then + begin + if (LoadStringsFromFile(listfiles_name, listfilesArray) = true) then + begin + for i := 0 to GetArrayLength(listfilesArray) - 1 do + begin + if (FileCopy(TmpDirName + listfilesArray[i], pathdest + listfilesArray[i], false) = false) then + begin + Result := False; + end; + DeleteFile(TmpDirName + listfilesArray[i]); + end; + end + else + begin + Result := False; + end; + end + else + begin + Result := False; + end; + end; +//------------------------------------------------------------------------------ +function Install_MKL: Boolean; + var + TmpDirName: String; + fullnamePackage: String; + destinationDirectory: String; + + begin + TmpDirName := ExpandConstant('{tmp}') + '\'; + fullnamePackage := TmpDirName + ExpandConstant('{#MKL_BLASLAPACK_PACKAGENAME}'); + destinationDirectory := ExpandConstant('{app}') + '\bin\'; + + if FileExists(fullnamePackage) then + begin + Result := Install_Package(fullnamePackage, destinationDirectory); + end + else + begin + Result := False; + end; + + end; +//------------------------------------------------------------------------------ +function Install_commons_MKL: Boolean; + var + TmpDirName: String; + fullnamePackage: String; + destinationDirectory: String; + + begin + TmpDirName := ExpandConstant('{tmp}') + '\'; + fullnamePackage := TmpDirName + ExpandConstant('{#MKL_COMMONS_PACKAGENAME}'); + destinationDirectory := ExpandConstant('{app}') + '\bin\'; + + if FileExists(fullnamePackage) then + begin + Result := Install_Package(fullnamePackage, destinationDirectory); + end + else + begin + Result := False; + end; + + end; +//------------------------------------------------------------------------------ +function Install_MKL_FFTW: Boolean; + var + TmpDirName: String; + fullnamePackage: String; + destinationDirectory: String; + + begin + TmpDirName := ExpandConstant('{tmp}') + '\'; + fullnamePackage := TmpDirName + ExpandConstant('{#MKL_FFTW_PACKAGENAME}'); + destinationDirectory := ExpandConstant('{app}') + '\bin\fftw\'; + + if FileExists(fullnamePackage) then + begin + Result := Install_Package(fullnamePackage, destinationDirectory); + end + else + begin + Result := False; + end; + + end; +//------------------------------------------------------------------------------ diff --git a/tools/innosetup/code_modules.iss b/tools/innosetup/code_modules.iss new file mode 100755 index 000000000..ce554dfd0 --- /dev/null +++ b/tools/innosetup/code_modules.iss @@ -0,0 +1,163 @@ +// +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) DIGITEO - 2010 - Allan CORNET +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +// +//------------------------------------------------------------------------------ +// Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +// +//------------------------------------------------------------------------------ +function CreateModulesFile: Boolean; +Var ModuleFileName : String; +i : Integer; +d : Integer; +ModulesXmlFileLines: TArrayOfString; +begin + + i := 0; + + setArrayLength(ModulesXmlFileLines, 256); + for d := 0 to GetArrayLength(ModulesXmlFileLines)-1 do + begin + ModulesXmlFileLines[d] := ''; + end; + + ModuleFileName := ExpandConstant('{app}') +'\etc\modules.xml'; + + ModulesXmlFileLines[i] := '<?xml version="1.0" encoding="UTF-8" standalone="no"?>'; i := i + 1; + ModulesXmlFileLines[i] := '<!DOCTYPE modules SYSTEM "../modules/core/xml/modules.dtd">'; i := i + 1; + ModulesXmlFileLines[i] := '<!-- =================== -->'; i := i + 1; + ModulesXmlFileLines[i] := '<!--'; i := i + 1; + ModulesXmlFileLines[i] := ' Modules list for Scilab'; i := i + 1; + ModulesXmlFileLines[i] := ' @author Scilab Enterprises'; i := i + 1; + ModulesXmlFileLines[i] := ' @date 2013'; i := i + 1; + ModulesXmlFileLines[i] := ' ==================='; i := i + 1; + ModulesXmlFileLines[i] := ' Do not touch if you do not know what you are doing'; i := i + 1; + ModulesXmlFileLines[i] := ' Warning "core" module must be always the first module'; i := i + 1; + ModulesXmlFileLines[i] := ' activate="yes" module will be launched ( or not "no")'; i := i + 1; + ModulesXmlFileLines[i] := ' -->'; i := i + 1; + ModulesXmlFileLines[i] := '<!-- =================== -->'; i := i + 1; + ModulesXmlFileLines[i] := '<modules>'; i := i + 1; + + ModulesXmlFileLines[i] := '<module name="core" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="double" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="api_scilab" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="differential_equations" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="elementary_functions" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="functions" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="fileio" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="boolean" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="cacsd" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="data_structures" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="console" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="completion" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="history_manager" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="dynamic_link" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="integer" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="io" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="output_stream" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="intersci" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="linear_algebra" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="localization" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="interpolation" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="optimization" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="overloading" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="polynomials" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="signal_processing" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="sparse" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="special_functions" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="string" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="symbolic" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="time" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="windows_tools" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="statistics" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="arnoldi" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="compatibility_functions" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="m2sci" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="mexlib" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="sound" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="external_objects" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="randlib" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="demo_tools" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="spreadsheet" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="call_scilab" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="umfpack" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="genetic_algorithms" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="simulated_annealing" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="parameters" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="matio" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="atoms" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="xml" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="tclsci" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="hdf5" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="fftw" activate="yes"/>'; i := i + 1; + +#ifndef SCILAB_F2C + ModulesXmlFileLines[i] := '<module name="parallel" activate="yes"/>'; i := i + 1; +#endif + + + + ModulesXmlFileLines[i] := '<!-- JMV dependencies -->'; i := i + 1; + if (IsComponentSelected( ExpandConstant('{#COMPN_JVM_MODULE}') )) then + begin + ModulesXmlFileLines[i] := '<module name="helptools" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="action_binding" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="preferences" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="jvm" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="commons" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="history_browser" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="graph" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="javasci" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="types" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="external_objects_java" activate="yes"/>'; i := i + 1; + end; + + ModulesXmlFileLines[i] := '<!-- Scinotes dependencies -->'; i := i + 1; + if IsComponentSelected( ExpandConstant('{#COMPN_SCINOTES}') ) then + begin + ModulesXmlFileLines[i] := '<module name="scinotes" activate="yes"/>'; i := i + 1; + end; + + ModulesXmlFileLines[i] := '<!-- Graphics dependencies -->'; i := i + 1; + if IsComponentSelected( ExpandConstant('{#COMPN_GRAPHICS}') ) then + begin + ModulesXmlFileLines[i] := '<module name="gui" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="graphics" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="renderer" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="graphic_objects" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="graphic_export" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="ui_data" activate="yes"/>'; i := i + 1; + end; + + ModulesXmlFileLines[i] := '<!-- Xcos dependencies -->'; i := i + 1; + if IsComponentSelected( ExpandConstant('{#COMPN_XCOS}') ) then + begin + ModulesXmlFileLines[i] := '<module name="xcos" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="scicos" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="scicos_blocks" activate="yes"/>'; i := i + 1; + end; + + ModulesXmlFileLines[i] := '<!-- Dev tools dependencies -->'; i := i + 1; + if IsComponentSelected( ExpandConstant('{#COMPN_DEVTOOLS}') ) then + begin + ModulesXmlFileLines[i] := '<module name="development_tools" activate="yes"/>'; i := i + 1; + ModulesXmlFileLines[i] := '<module name="modules_manager" activate="yes"/>'; i := i + 1; + end; + + if IsComponentSelected( ExpandConstant('{#COMPN_MPI}') ) then + begin + ModulesXmlFileLines[i] := '<module name="mpi" activate="yes"/>'; i := i + 1; + end; + + ModulesXmlFileLines[i] := '</modules>'; i := i + 1; + + Result := SaveStringsToFile(ModuleFileName, ModulesXmlFileLines, False); + +end; +//------------------------------------------------------------------------------ diff --git a/tools/innosetup/code_offline_installation.iss b/tools/innosetup/code_offline_installation.iss new file mode 100755 index 000000000..460d43353 --- /dev/null +++ b/tools/innosetup/code_offline_installation.iss @@ -0,0 +1,105 @@ +// +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) DIGITEO - 2010-2011 - Allan CORNET +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +// +//------------------------------------------------------------------------------ +// Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +// +//------------------------------------------------------------------------------ + +var + OfflineInstallCheckBox: TNewCheckBox; + +//------------------------------------------------------------------------------ +// Sets the state of a component given by its english name +function SetComponentState(ComponentEnglishName: String; + Checked: Boolean; Enabled: Boolean): Boolean; +var + ComponentLocalizedName: String; + Index: Integer; +begin + ComponentLocalizedName := CustomMessage(ComponentEnglishName); + Index := WizardForm.ComponentsList.Items.IndexOf(ComponentLocalizedName); + if Index <> -1 then + begin + WizardForm.ComponentsList.Checked[Index] := Checked; + WizardForm.ComponentsList.ItemEnabled[Index] := Enabled; + Result := True; + end else + begin + Log('SetComponentState: cannot find component ' + ComponentEnglishName); + Result := False; + end; +end; +//------------------------------------------------------------------------------ +// Offline installation option is checked : disable the components needing +// to be downloaded (MKL, FFTW) +procedure OnOfflineInstallCheckBoxClick(Sender: TObject); +var + IsOnline: Boolean; + Res: Boolean; +begin + // Bug: IsOnline := not ((Sender as TNewCheckBox).Checked) provokes errors + If (Sender as TNewCheckBox).Checked then + IsOnline := False + else + IsOnline := True; + + // CPU Optimization + Res := SetComponentState('DescriptionMKLLibrary', IsOnline, IsOnline); + if not IsOnline then + begin +#ifndef SCILAB_X64 + Res := Res and SetComponentState('DescriptionATLASLibrary', True, True); +#else + Res := Res and SetComponentState('DescriptionRefBlasLibrary', True, True); +#endif + end; + + // FFTW + Res := Res and SetComponentState('DescriptionFftwMKLDownload', IsOnline, + IsOnline); + if not IsOnline then + begin + Res := Res and SetComponentState('DescriptionRefFftwLibrary', True, True); + end; + + if not Res then + begin + Log('OfflineInstallCheckBoxOnClick: ' + + 'Error while changing components intallation.'); + end; + + // Refresh installation type (Online => Full, Offline => Custom) + if IsOnline then + WizardForm.TypesCombo.ItemIndex := 0 + else + WizardForm.TypesCombo.ItemIndex := 1; + + // Bug: need to trigger manually the TypesCombo.OnChange event + WizardForm.TypesCombo.OnChange(WizardForm); +end; +//------------------------------------------------------------------------------ +// Adds an "Offline installation" option (check box)in the Select Location panel +procedure CreateOfflineInstallationCheckBox; +var + LastControl: TWinControl; +begin + LastControl := WizardForm.DirEdit; + + OfflineInstallCheckBox := TNewCheckBox.Create(WizardForm); + OfflineInstallCheckBox.Parent := WizardForm.SelectDirPage; + OfflineInstallCheckBox.Top := LastControl.Top + + LastControl.Height + ScaleY(8); + OfflineInstallCheckBox.Width := WizardForm.SelectDirPage.Width; + OfflineInstallCheckBox.Caption := + 'Installation without an Internet connection'; + OfflineInstallCheckBox.OnClick := @OnOfflineInstallCheckBoxClick; +end; + diff --git a/tools/innosetup/code_unzip.iss b/tools/innosetup/code_unzip.iss new file mode 100755 index 000000000..09e08d0ac --- /dev/null +++ b/tools/innosetup/code_unzip.iss @@ -0,0 +1,35 @@ +// +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) DIGITEO - 2011 - Allan CORNET +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +// +//------------------------------------------------------------------------------ +// Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +// +//------------------------------------------------------------------------------ +function Unzip(const ZipFile: String): Boolean; +var + ErrorCode: Integer; + TmpDirName: String; + sUNZIP: String; + sParams: String; + +begin + ExtractTemporaryFile('unzip.exe'); + Result := False; + TmpDirName := ExpandConstant('{tmp}') + '\'; + sUNZIP := TmpDirName + 'unzip.exe'; + sParams := '-e -o ' + ZipFile + ' -d ' + TmpDirName; + + Result := Exec(sUNZIP, sParams, TmpDirName, SW_HIDE, ewWaitUntilTerminated, ErrorCode); + if (ErrorCode = 0) then + begin + Result := True; + end; +end; +//------------------------------------------------------------------------------ diff --git a/tools/innosetup/components.iss b/tools/innosetup/components.iss new file mode 100755 index 000000000..4ccbfbcec --- /dev/null +++ b/tools/innosetup/components.iss @@ -0,0 +1,65 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010-2011 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + + +#define COMPN_SCILAB 'scilab' +Name: {#COMPN_SCILAB}; Description: Scilab {#ScilabVersion}; Types: full custom cli; Flags: fixed; + +#define COMPN_JVM_MODULE 'JVM_MODULE' +#define COMPN_GRAPHICS 'JVM_MODULE\graphics' +#define COMPN_XCOS 'JVM_MODULE\xcos' +#define COMPN_SCINOTES 'JVM_MODULE\scinotes' +#define COMPN_JRE 'JVM_MODULE\JRE_1_6' +Name: {#COMPN_JVM_MODULE}; Description: {cm:DescriptionModuleJVM}; Types: full; +Name: {#COMPN_GRAPHICS}; Description: {cm:DescriptionGraphics}; Types: full; +Name: {#COMPN_XCOS}; Description: {cm:DescriptionXcos}; Types: full; +Name: {#COMPN_SCINOTES}; Description:{cm:DescriptionSciNotes}; Types: full; +#ifndef SCILAB_WITHOUT_JRE +Name: {#COMPN_JRE}; Description: {cm:DescriptionJVM} ({#javaUsed}); Types: full; +#endif + +#define COMPN_CPU_OPTIMIZATION 'CPU_OPTIMIZATION' +#define COMPN_REF_CPU_LIBRARY 'CPU_OPTIMIZATION\CPU_REF' +#define COMPN_ATLAS_CPU_LIBRARY 'CPU_OPTIMIZATION\ATLAS' +#define COMPN_MKL_CPU_LIBRARY 'CPU_OPTIMIZATION\MKL' +Name: {#COMPN_CPU_OPTIMIZATION}; Description:{cm:DescriptionCPUOptimization}; Types: full custom cli; Flags: fixed; +Name: {#COMPN_MKL_CPU_LIBRARY}; Description:{cm:DescriptionMKLLibrary}; Flags: exclusive +#ifndef SCILAB_X64 +Name: {#COMPN_ATLAS_CPU_LIBRARY}; Description:{cm:DescriptionATLASLibrary}; Flags: exclusive +#endif +Name: {#COMPN_REF_CPU_LIBRARY}; Description:{cm:DescriptionRefBlasLibrary}; Flags: exclusive + +#define COMPN_FFTW 'FFTW' +#define COMPN_FFTW_REF_LIBRARY 'FFTW\REF_LIBRARY' +#define COMPN_FFTW_MKL_LIBRARY 'FFTW\MKL_LIBRARY' +Name: {#COMPN_FFTW}; Description: {cm:DescriptionFftwModule}; Types: full custom cli; Flags: fixed; +Name: {#COMPN_FFTW_MKL_LIBRARY};Description: {cm:DescriptionFftwMKLDownload}; Types: custom cli; Flags: exclusive +Name: {#COMPN_FFTW_REF_LIBRARY};Description: {cm:DescriptionRefFftwLibrary}; Types: full custom cli; Flags: exclusive + +#define COMPN_DEVTOOLS 'Development_tools' +#define COMPN_MODULES_MANAGER 'Development_tools\modules_manager' +#define COMPN_TOOLBOX_SKELETON 'Development_tools\toolbox_skeleton' +#define COMPN_TESTS 'Development_tools\tests' +Name: {#COMPN_DEVTOOLS}; Description: {cm:DescriptionDevTools}; Types: full; +Name: {#COMPN_MODULES_MANAGER}; Description: {cm:DescriptionModulesManager}; Types: full; +Name: {#COMPN_TOOLBOX_SKELETON}; Description: {cm:DescriptionTlbxSkeleton}; Types: full; +Name: {#COMPN_TESTS}; Description: {cm:DescriptionTests}; Types: full; ExtraDiskSpaceRequired: {#TESTS_SIZE} + +#define COMPN_MPI 'MPI' +Name: {#COMPN_MPI}; Description: {cm:DescriptionMPI}; Types: full; + +#define COMPN_TCLSCI 'tclsci' +Name: {#COMPN_TCLSCI}; Description: {cm:DescriptionTclTK}; Types: full; +;------------------------------------------------------------------------------- diff --git a/tools/innosetup/cs_CZ_scilab.isl b/tools/innosetup/cs_CZ_scilab.isl new file mode 100755 index 000000000..c57de6fc8 --- /dev/null +++ b/tools/innosetup/cs_CZ_scilab.isl @@ -0,0 +1,138 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2011 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +cs_CZ.LANGUAGE =cs_CZ + +cs_CZ.MsgBoxJRENotFound =Java Runtime Environment not detected. +cs_CZ.MsgBoxJREURL =Please download & Install JRE at http://www.java.com/en/download/ +cs_CZ.MsgBoxJREReinstall =Reinstall Scilab after your JRE update. +cs_CZ.MsgBoxSSERequired =CPU SSE2 instructions are required for Scilab to run correctly. +cs_CZ.MsgBoxX64Ready =For increase performance, it will be better to use Scilab x64 bits version on this Operating system. + +cs_CZ.MsgBoxJavaDetection1 =Java is not installed on this computer and this program needs it. +cs_CZ.MsgBoxJavaDetection2 =Please choose to install Java Runtime: +cs_CZ.MsgBoxWebOpen =Can not open web page. +cs_CZ.MsgBoxDevToolsRequired1 =You choose to install toolbox_skeleton module but development_tools module is not selected. +cs_CZ.MsgBoxDevToolsRequired2 =Please install development_tools module. +cs_CZ.MsgBoxDevToolsRequired3 =You choose to install tests module but development_tools module is not selected. +cs_CZ.MsgBoxTclsciRequired2 =Please install tclsci module. +cs_CZ.MsgBoxFftw1 =You choose to install FFTW module for Scilab. +cs_CZ.MsgBoxFftw2 =This module requires to download FFTW library (GPL). +cs_CZ.MsgBoxFftw3 =Do you want to open a web page about this add-on ? +cs_CZ.MsgBoxFftw4 =Can not open web page. +cs_CZ.MsgBoxWinVer =Windows 2000 is required. +cs_CZ.MsgBoxScicosRequired1 =You choose to install Xcos module but Scicos module is not selected. +cs_CZ.MsgBoxScicosRequired2 =Please also install Scicos module. + +; +cs_CZ.ButtonAboutModules =&About modules ... +; +cs_CZ.DescriptionEquDif =Differential Equations Module +cs_CZ.DescriptionInterpolation =Interpolation Module +cs_CZ.DescriptionPolynomials =Polynomials Module +cs_CZ.DescriptionSymbolic =Symbolic Module +cs_CZ.DescriptionStats =Statistics Module +cs_CZ.DescriptionSparse =Sparse Matrix Module +cs_CZ.DescriptionLinAlg =Linear Algebra Module +cs_CZ.DescriptionSigProc =Signal processing Module +cs_CZ.DescriptionCacsd =C.A.C.S.D Module +cs_CZ.DescriptionGraphics =Graphics Module +cs_CZ.DescriptionOptim =Optimization Module +cs_CZ.DescriptionMetanet =Metanet Toolbox +cs_CZ.DescriptionScicos =Scicos Toolbox +cs_CZ.DescriptionArnoldi =ARnoldi PACKage Toolbox +cs_CZ.DescriptionUmfpack =UMFPACK for Scilab +cs_CZ.DescriptionCompatFunctions =Compatibility functions +cs_CZ.DescriptionM2sci =M2SCI Toolbox +cs_CZ.DescriptionMatio =MAT File Input/Output Toolbox +cs_CZ.DescriptionExternalObjects =External objects +cs_CZ.DescriptionSound =Sound file handling Toolbox +cs_CZ.DescriptionRandlib =Randlib Toolbox +cs_CZ.DescriptionMexlib =Mexlib Tools +cs_CZ.DescriptionIntersci =Intersci Toolbox +cs_CZ.DescriptionTclTK =TCL/TK in Scilab +cs_CZ.DescriptionSpreadsheet =Spreadsheet Toolbox +cs_CZ.DescriptionJVM =Java Runtime +cs_CZ.DescriptionAtlas =Atlas library 3.8.0 CPU optimized +cs_CZ.DescriptionFftwModule =FFTW interface for Scilab +cs_CZ.DescriptionFftwMKLDownload =Download FFTW library optimized by Intel Math Kernel Library +cs_CZ.DescriptionRefFftwLibrary =Reference FFTW library +cs_CZ.DescriptionParametersTlbx =Parameters Toolbox +cs_CZ.DescriptionGeneticTlbx =Genetic Algorithms Toolbox +cs_CZ.DescriptionSimulAnnealingTlbx =Simulated Annealing Toolbox +cs_CZ.DescriptionDevTools =Development Tools +cs_CZ.DescriptionTests =Tests for Scilab +cs_CZ.DescriptionTlbxSkeleton =A toolbox skeleton (to extend Scilab) +cs_CZ.DescriptionComConnector =COM connector +cs_CZ.DescriptionSciNotes =SciNotes: Editor for Scilab +cs_CZ.DescriptionXcos =Xcos +cs_CZ.DescriptionParallel =Parallel Computing with Scilab +cs_CZ.DescriptionModulesManager =Tools for management of extern modules +cs_CZ.DescriptionModuleJVM =JVM Module +; +cs_CZ.ConsoleIconName =Scilab Console +; +cs_CZ.WebIconScilab =Scilab on the Web +; +cs_CZ.ReadMeIcon =Read Me +; +cs_CZ.UnInstallIcon =Uninstall Scilab +; +cs_CZ.RegKeyRunWith =Run with +; +cs_CZ.DescriptionVC2008Redist =Install Microsoft Visual C++ 2008 Redistributable Package +; +cs_CZ.DescriptionConfigureAtlas =Configure Atlas +; +cs_CZ.DescriptionLaunchScilab =Launch Scilab +; +cs_CZ.DescriptionCreateDesktopIcon =Create a &desktop icon +; +cs_CZ.DescriptionQuickLaunch =Create a shortcut in Quick Launch Bar +; +cs_CZ.DescriptionAssociateSceSci =Associate *.sce,*.sci files with Scilab +; +cs_CZ.DescriptionAssociateTstDem =Associate *.tst files with Scilab +; +cs_CZ.DescriptionAssociateBinSav =Associate *.bin, *.sav files with Scilab +; +cs_CZ.DescriptionAssociateGraph =Associate *.graph *.graphb files with Scilab +; +cs_CZ.DescriptionAssociateScicos =Associate *.xcos *.cos *.cosf files with Scilab +; +cs_CZ.DescriptionDefaultInstall =Installation (Default) +cs_CZ.DescriptionFullInstall =Full installation +cs_CZ.DescriptionCustomInstall =Custom installation +cs_CZ.DescriptionCLIInstall =Command Line Minimal Installation (no gui) +; +cs_CZ.DescriptionCPUOptimization =CPU Optimization for Scilab +cs_CZ.DescriptionATLASLibrary =Atlas Library for Scilab +cs_CZ.DescriptionRefBlasLibrary =Blas, Lapack Reference libraries for Scilab +cs_CZ.DescriptionMKLLibrary =Download Intel Math Kernel Library for Scilab +; +cs_CZ.DownloadMKLLabel =Downloading Intel Math Kernel Library files for Scilab +cs_CZ.DownloadMKLDescription =Please wait while Setup is downloading extra files to your computer. +; +cs_CZ.DownloadMKLFFTWLabel =Downloading FFTW3 library optimized by Intel Math Kernel. +; +cs_CZ.DoTasksJustAfterInstallMsg2 =BLAS, LAPACK reference libraries will be installed and used. +cs_CZ.DoTasksJustAfterInstallMsg3 =FFTW3 reference library will be installed and used. +; +cs_CZ.NextButtonClickwpReadyMsg1 =Impossible to download Intel Math Kernel Library files for Scilab (Default library will be used). +cs_CZ.NextButtonClickwpReadyMsg2 =Impossible to download FFTW3 library optimized by Intel Math Kernel Library (Default library will be used). +; +cs_CZ.DescriptionAtoms =ATOMS +;------------------------------------------------------------------------------- +;
\ No newline at end of file diff --git a/tools/innosetup/custommessages.iss b/tools/innosetup/custommessages.iss new file mode 100755 index 000000000..b37b5ff2c --- /dev/null +++ b/tools/innosetup/custommessages.iss @@ -0,0 +1,32 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- +; +#include BinariesSourcePath + "\tools\innosetup\en_US_scilab.isl" +#include BinariesSourcePath + "\tools\innosetup\fr_FR_scilab.isl" +#include BinariesSourcePath + "\tools\innosetup\ru_RU_scilab.isl" +#include BinariesSourcePath + "\tools\innosetup\zh_CN_scilab.isl" +#include BinariesSourcePath + "\tools\innosetup\zh_TW_scilab.isl" +#include BinariesSourcePath + "\tools\innosetup\ca_ES_scilab.isl" +#include BinariesSourcePath + "\tools\innosetup\es_ES_scilab.isl" +#include BinariesSourcePath + "\tools\innosetup\de_DE_scilab.isl" +#include BinariesSourcePath + "\tools\innosetup\pt_BR_scilab.isl" +#include BinariesSourcePath + "\tools\innosetup\ja_JP_scilab.isl" +#include BinariesSourcePath + "\tools\innosetup\it_IT_scilab.isl" +#include BinariesSourcePath + "\tools\innosetup\uk_UA_scilab.isl" +#include BinariesSourcePath + "\tools\innosetup\pl_PL_scilab.isl" +#include BinariesSourcePath + "\tools\innosetup\cs_CZ_scilab.isl" +; +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/de_DE_scilab.isl b/tools/innosetup/de_DE_scilab.isl new file mode 100755 index 000000000..51af1e95b --- /dev/null +++ b/tools/innosetup/de_DE_scilab.isl @@ -0,0 +1,137 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- +de_DE.LANGUAGE =de_DE + +de_DE.MsgBoxJRENotFound =Java Runtime Environment not detected. +de_DE.MsgBoxJREURL =Please download & Install JRE at http://www.java.com/en/download/ +de_DE.MsgBoxJREReinstall =Reinstall Scilab after your JRE update. +de_DE.MsgBoxSSERequired =CPU SSE2 instructions are required for Scilab to run correctly. +de_DE.MsgBoxX64Ready =For increase performance, it will be better to use Scilab x64 bits version on this Operating system. + +de_DE.MsgBoxJavaDetection1 =Java is not installed on this computer and this program needs it. +de_DE.MsgBoxJavaDetection2 =Please choose to install Java Runtime: +de_DE.MsgBoxWebOpen =Can not open web page. +de_DE.MsgBoxDevToolsRequired1 =You choose to install toolbox_skeleton module but development_tools module is not selected. +de_DE.MsgBoxDevToolsRequired2 =Please install development_tools module. +de_DE.MsgBoxDevToolsRequired3 =You choose to install tests module but development_tools module is not selected. +de_DE.MsgBoxTclsciRequired2 =Please install tclsci module. +de_DE.MsgBoxFftw1 =You choose to install FFTW module for Scilab. +de_DE.MsgBoxFftw2 =This module requires to download FFTW library (GPL). +de_DE.MsgBoxFftw3 =Do you want to open a web page about this add-on ? +de_DE.MsgBoxFftw4 =Can not open web page. +de_DE.MsgBoxWinVer =Windows 2000 is required. +de_DE.MsgBoxScicosRequired1 =You choose to install Xcos module but Scicos module is not selected. +de_DE.MsgBoxScicosRequired2 =Please also install Scicos module. + +; +de_DE.ButtonAboutModules =&About modules ... +; +de_DE.DescriptionEquDif =Differential Equations Module +de_DE.DescriptionInterpolation =Interpolation Module +de_DE.DescriptionPolynomials =Polynomials Module +de_DE.DescriptionSymbolic =Symbolic Module +de_DE.DescriptionStats =Statistics Module +de_DE.DescriptionSparse =Sparse Matrix Module +de_DE.DescriptionLinAlg =Linear Algebra Module +de_DE.DescriptionSigProc =Signal processing Module +de_DE.DescriptionCacsd =C.A.C.S.D Module +de_DE.DescriptionGraphics =Graphics Module +de_DE.DescriptionOptim =Optimization Module +de_DE.DescriptionMetanet =Metanet Toolbox +de_DE.DescriptionScicos =Scicos Toolbox +de_DE.DescriptionArnoldi =ARnoldi PACKage Toolbox +de_DE.DescriptionUmfpack =UMFPACK for Scilab +de_DE.DescriptionCompatFunctions =Compatibility functions +de_DE.DescriptionM2sci =M2SCI Toolbox +de_DE.DescriptionMatio =MAT File Input/Output Toolbox +de_DE.DescriptionExternalObjects =External objects +de_DE.DescriptionSound =Sound file handling Toolbox +de_DE.DescriptionRandlib =Randlib Toolbox +de_DE.DescriptionMexlib =Mexlib Tools +de_DE.DescriptionIntersci =Intersci Toolbox +de_DE.DescriptionTclTK =TCL/TK in Scilab +de_DE.DescriptionSpreadsheet =Spreadsheet Toolbox +de_DE.DescriptionJVM =Java Runtime +de_DE.DescriptionAtlas =Atlas library 3.8.0 CPU optimized +de_DE.DescriptionFftwModule =FFTW interface for Scilab +de_DE.DescriptionFftwMKLDownload =Download FFTW library optimized by Intel Math Kernel Library +de_DE.DescriptionRefFftwLibrary =Reference FFTW library +de_DE.DescriptionParametersTlbx =Parameters Toolbox +de_DE.DescriptionGeneticTlbx =Genetic Algorithms Toolbox +de_DE.DescriptionSimulAnnealingTlbx =Simulated Annealing Toolbox +de_DE.DescriptionDevTools =Development Tools +de_DE.DescriptionTests =Tests for Scilab +de_DE.DescriptionTlbxSkeleton =A toolbox skeleton (to extend Scilab) +de_DE.DescriptionComConnector =COM connector +de_DE.DescriptionSciNotes =SciNotes: Editor for Scilab +de_DE.DescriptionXcos =Xcos +de_DE.DescriptionParallel =Parallel Computing with Scilab +de_DE.DescriptionModulesManager =Tools for management of extern modules +de_DE.DescriptionModuleJVM =JVM Module +; +de_DE.ConsoleIconName =Scilab Console +; +de_DE.WebIconScilab =Scilab on the Web +; +de_DE.ReadMeIcon =Read Me +; +de_DE.UnInstallIcon =Uninstall Scilab +; +de_DE.RegKeyRunWith =Run with +; +de_DE.DescriptionVC2008Redist =Install Microsoft Visual C++ 2008 Redistributable Package +; +de_DE.DescriptionConfigureAtlas =Configure Atlas +; +de_DE.DescriptionLaunchScilab =Launch Scilab +; +de_DE.DescriptionCreateDesktopIcon =Create a &desktop icon +; +de_DE.DescriptionQuickLaunch =Create a shortcut in Quick Launch Bar +; +de_DE.DescriptionAssociateSceSci =Associate *.sce,*.sci files with Scilab +; +de_DE.DescriptionAssociateTstDem =Associate *.tst files with Scilab +; +de_DE.DescriptionAssociateBinSav =Associate *.bin, *.sav files with Scilab +; +de_DE.DescriptionAssociateGraph =Associate *.graph *.graphb files with Scilab +; +de_DE.DescriptionAssociateScicos =Associate *.xcos *.cos *.cosf files with Scilab +; +de_DE.DescriptionDefaultInstall =Installation (Default) +de_DE.DescriptionFullInstall =Full installation +de_DE.DescriptionCustomInstall =Custom installation +de_DE.DescriptionCLIInstall =Command Line Minimal Installation (no gui) +; +de_DE.DescriptionCPUOptimization =CPU Optimization for Scilab +de_DE.DescriptionATLASLibrary =Atlas Library for Scilab +de_DE.DescriptionRefBlasLibrary =Blas, Lapack Reference libraries for Scilab +de_DE.DescriptionMKLLibrary =Download Intel Math Kernel Library for Scilab +; +de_DE.DownloadMKLLabel =Downloading Intel Math Kernel Library files for Scilab +de_DE.DownloadMKLDescription =Please wait while Setup is downloading extra files to your computer. +; +de_DE.DownloadMKLFFTWLabel =Downloading FFTW3 library optimized by Intel Math Kernel. +; +de_DE.DoTasksJustAfterInstallMsg2 =BLAS, LAPACK reference libraries will be installed and used. +de_DE.DoTasksJustAfterInstallMsg3 =FFTW3 reference library will be installed and used. +; +de_DE.NextButtonClickwpReadyMsg1 =Impossible to download Intel Math Kernel Library files for Scilab (Default library will be used). +de_DE.NextButtonClickwpReadyMsg2 =Impossible to download FFTW3 library optimized by Intel Math Kernel Library (Default library will be used). +; +de_DE.DescriptionAtoms =ATOMS +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/en_US_scilab.isl b/tools/innosetup/en_US_scilab.isl new file mode 100755 index 000000000..e136175eb --- /dev/null +++ b/tools/innosetup/en_US_scilab.isl @@ -0,0 +1,112 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +en_US.LANGUAGE =en_US + +en_US.MsgBoxJRENotFound =Java Runtime Environment not detected. +en_US.MsgBoxJREURL =Please download & Install JRE at http://www.java.com/en/download/ +en_US.MsgBoxJREReinstall =Reinstall Scilab after your JRE update. +en_US.MsgBoxSSERequired =CPU SSE2 instructions are required for Scilab to run correctly. +en_US.MsgBoxX64Ready =For increase performance, it will be better to use Scilab x64 bits version on this Operating system. + +en_US.MsgBoxJavaDetection1 =Java is not installed on this computer and this program needs it. +en_US.MsgBoxJavaDetection2 =Please choose to install Java Runtime: +en_US.MsgBoxWebOpen =Can not open web page. +en_US.MsgBoxDevToolsRequired1 =You choose to install toolbox_skeleton module but development_tools module is not selected. +en_US.MsgBoxDevToolsRequired2 =Please install development_tools module. +en_US.MsgBoxDevToolsRequired3 =You choose to install tests module but development_tools module is not selected. +en_US.MsgBoxTclsciRequired2 =Please install tclsci module. +en_US.MsgBoxFftw1 =You choose to install FFTW module for Scilab. +en_US.MsgBoxFftw2 =This module requires to download FFTW library (GPL). +en_US.MsgBoxFftw3 =Do you want to open a web page about this add-on ? +en_US.MsgBoxFftw4 =Can not open web page. +en_US.MsgBoxWinVer =Windows 2000 is required. +en_US.MsgBoxScicosRequired1 =You choose to install Xcos module but Scicos module is not selected. +en_US.MsgBoxScicosRequired2 =Please also install Scicos module. + +; +en_US.ButtonAboutModules =&About modules ... +; +en_US.DescriptionGraphics =Graphics Module +en_US.DescriptionTclTK =TCL/TK in Scilab +en_US.DescriptionJVM =Java Runtime +en_US.DescriptionAtlas =Atlas library 3.8.0 CPU optimized +en_US.DescriptionFftwModule =FFTW interface for Scilab +en_US.DescriptionFftwMKLDownload =Download FFTW library optimized by Intel Math Kernel Library +en_US.DescriptionRefFftwLibrary =Reference FFTW library +en_US.DescriptionDevTools =Development Tools +en_US.DescriptionTests =Tests for Scilab +en_US.DescriptionTlbxSkeleton =A toolbox skeleton (to extend Scilab) +en_US.DescriptionSciNotes =Scinotes: Text editor for Scilab +en_US.DescriptionXcos =Xcos +en_US.DescriptionParallel =Parallel Computing with Scilab +en_US.DescriptionModulesManager =Tools for management of extern modules +en_US.DescriptionModuleJVM =Graphic User Interface +en_US.DescriptionMPI =MPI ( based on Microsoft HPC Pack 2012 R2 ) +; +en_US.ConsoleIconName =Scilab Console +; +en_US.WebIconScilab =Scilab on the Web +; +en_US.ReadMeIcon =Read Me +; +en_US.UnInstallIcon =Uninstall Scilab +; +en_US.RegKeyRunWith =Run with +; +en_US.DescriptionVC2008Redist =Install Microsoft Visual C++ 2008 Redistributable Package +; +en_US.DescriptionConfigureAtlas =Configure Atlas +; +en_US.DescriptionLaunchScilab =Launch Scilab +; +en_US.DescriptionCreateDesktopIcon =Create a &desktop icon +; +en_US.DescriptionQuickLaunch =Create a shortcut in Quick Launch Bar +; +en_US.DescriptionAssociateSceSci =Associate *.sce,*.sci files with Scilab +; +en_US.DescriptionAssociateTstDem =Associate *.tst files with Scilab +; +en_US.DescriptionAssociateBinSav =Associate *.bin, *.sav files with Scilab +; +en_US.DescriptionAssociateGraph =Associate *.graph *.graphb files with Scilab +; +en_US.DescriptionAssociateScicos =Associate *.xcos *.cos *.cosf *.zcos files with Scilab +; +en_US.DescriptionAssociateSOD =Associate *.sod files with Scilab +; +en_US.DescriptionDefaultInstall =Installation (Default) +en_US.DescriptionFullInstall =Full installation +en_US.DescriptionCustomInstall =Custom installation +en_US.DescriptionCLIInstall =Command Line Installation (no gui) +; +en_US.DescriptionCPUOptimization =CPU Optimization for Scilab +en_US.DescriptionATLASLibrary =Atlas Library for Scilab +en_US.DescriptionRefBlasLibrary =Blas, Lapack Reference libraries for Scilab +en_US.DescriptionMKLLibrary =Download Intel Math Kernel Library for Scilab +; +en_US.DownloadMKLLabel =Downloading Intel Math Kernel Library files for Scilab +en_US.DownloadMKLDescription =Please wait while Setup is downloading extra files to your computer. +; +en_US.DownloadMKLFFTWLabel =Downloading FFTW3 library optimized by Intel Math Kernel. +; +en_US.DoTasksJustAfterInstallMsg2 =BLAS, LAPACK reference libraries will be installed and used. +en_US.DoTasksJustAfterInstallMsg3 =FFTW3 reference library will be installed and used. +; +en_US.NextButtonClickwpReadyMsg1 =Impossible to download Intel Math Kernel Library files for Scilab (Default library will be used). +en_US.NextButtonClickwpReadyMsg2 =Impossible to download FFTW3 library optimized by Intel Math Kernel Library (Default library will be used). +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/es_ES_scilab.isl b/tools/innosetup/es_ES_scilab.isl new file mode 100755 index 000000000..452925adb --- /dev/null +++ b/tools/innosetup/es_ES_scilab.isl @@ -0,0 +1,138 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +es_ES.LANGUAGE =es_ES + +es_ES.MsgBoxJRENotFound =Java Runtime Environment not detected. +es_ES.MsgBoxJREURL =Please download & Install JRE at http://www.java.com/en/download/ +es_ES.MsgBoxJREReinstall =Reinstall Scilab after your JRE update. +es_ES.MsgBoxSSERequired =CPU SSE2 instructions are required for Scilab to run correctly. +es_ES.MsgBoxX64Ready =For increase performance, it will be better to use Scilab x64 bits version on this Operating system. + +es_ES.MsgBoxJavaDetection1 =Java is not installed on this computer and this program needs it. +es_ES.MsgBoxJavaDetection2 =Please choose to install Java Runtime: +es_ES.MsgBoxWebOpen =Can not open web page. +es_ES.MsgBoxDevToolsRequired1 =You choose to install toolbox_skeleton module but development_tools module is not selected. +es_ES.MsgBoxDevToolsRequired2 =Please install development_tools module. +es_ES.MsgBoxDevToolsRequired3 =You choose to install tests module but development_tools module is not selected. +es_ES.MsgBoxTclsciRequired2 =Please install tclsci module. +es_ES.MsgBoxFftw1 =You choose to install FFTW module for Scilab. +es_ES.MsgBoxFftw2 =This module requires to download FFTW library (GPL). +es_ES.MsgBoxFftw3 =Do you want to open a web page about this add-on ? +es_ES.MsgBoxFftw4 =Can not open web page. +es_ES.MsgBoxWinVer =Windows 2000 is required. +es_ES.MsgBoxScicosRequired1 =You choose to install Xcos module but Scicos module is not selected. +es_ES.MsgBoxScicosRequired2 =Please also install Scicos module. + +; +es_ES.ButtonAboutModules =&About modules ... +; +es_ES.DescriptionEquDif =Differential Equations Module +es_ES.DescriptionInterpolation =Interpolation Module +es_ES.DescriptionPolynomials =Polynomials Module +es_ES.DescriptionSymbolic =Symbolic Module +es_ES.DescriptionStats =Statistics Module +es_ES.DescriptionSparse =Sparse Matrix Module +es_ES.DescriptionLinAlg =Linear Algebra Module +es_ES.DescriptionSigProc =Signal processing Module +es_ES.DescriptionCacsd =C.A.C.S.D Module +es_ES.DescriptionGraphics =Graphics Module +es_ES.DescriptionOptim =Optimization Module +es_ES.DescriptionMetanet =Metanet Toolbox +es_ES.DescriptionScicos =Scicos Toolbox +es_ES.DescriptionArnoldi =ARnoldi PACKage Toolbox +es_ES.DescriptionUmfpack =UMFPACK for Scilab +es_ES.DescriptionCompatFunctions =Compatibility functions +es_ES.DescriptionM2sci =M2SCI Toolbox +es_ES.DescriptionMatio =MAT File Input/Output Toolbox +es_ES.DescriptionExternalObjects =External objects +es_ES.DescriptionSound =Sound file handling Toolbox +es_ES.DescriptionRandlib =Randlib Toolbox +es_ES.DescriptionMexlib =Mexlib Tools +es_ES.DescriptionIntersci =Intersci Toolbox +es_ES.DescriptionTclTK =TCL/TK in Scilab +es_ES.DescriptionSpreadsheet =Spreadsheet Toolbox +es_ES.DescriptionJVM =Java Runtime +es_ES.DescriptionAtlas =Atlas library 3.8.0 CPU optimized +es_ES.DescriptionFftwModule =FFTW interface for Scilab +es_ES.DescriptionFftwMKLDownload =Download FFTW library optimized by Intel Math Kernel Library +es_ES.DescriptionRefFftwLibrary =Reference FFTW library +es_ES.DescriptionParametersTlbx =Parameters Toolbox +es_ES.DescriptionGeneticTlbx =Genetic Algorithms Toolbox +es_ES.DescriptionSimulAnnealingTlbx =Simulated Annealing Toolbox +es_ES.DescriptionDevTools =Development Tools +es_ES.DescriptionTests =Tests for Scilab +es_ES.DescriptionTlbxSkeleton =A toolbox skeleton (to extend Scilab) +es_ES.DescriptionComConnector =COM connector +es_ES.DescriptionSciNotes =SciNotes: Editor for Scilab +es_ES.DescriptionXcos =Xcos +es_ES.DescriptionParallel =Parallel Computing with Scilab +es_ES.DescriptionModulesManager =Tools for management of extern modules +es_ES.DescriptionModuleJVM =JVM Module +; +es_ES.ConsoleIconName =Scilab Console +; +es_ES.WebIconScilab =Scilab on the Web +; +es_ES.ReadMeIcon =Read Me +; +es_ES.UnInstallIcon =Uninstall Scilab +; +es_ES.RegKeyRunWith =Run with +; +es_ES.DescriptionVC2008Redist =Install Microsoft Visual C++ 2008 Redistributable Package +; +es_ES.DescriptionConfigureAtlas =Configure Atlas +; +es_ES.DescriptionLaunchScilab =Launch Scilab +; +es_ES.DescriptionCreateDesktopIcon =Create a &desktop icon +; +es_ES.DescriptionQuickLaunch =Create a shortcut in Quick Launch Bar +; +es_ES.DescriptionAssociateSceSci =Associate *.sce,*.sci files with Scilab +; +es_ES.DescriptionAssociateTstDem =Associate *.tst files with Scilab +; +es_ES.DescriptionAssociateBinSav =Associate *.bin, *.sav files with Scilab +; +es_ES.DescriptionAssociateGraph =Associate *.graph *.graphb files with Scilab +; +es_ES.DescriptionAssociateScicos =Associate *.xcos *.cos *.cosf files with Scilab +; +es_ES.DescriptionDefaultInstall =Installation (Default) +es_ES.DescriptionFullInstall =Full installation +es_ES.DescriptionCustomInstall =Custom installation +es_ES.DescriptionCLIInstall =Command Line Minimal Installation (no gui) +; +es_ES.DescriptionCPUOptimization =CPU Optimization for Scilab +es_ES.DescriptionATLASLibrary =Atlas Library for Scilab +es_ES.DescriptionRefBlasLibrary =Blas, Lapack Reference libraries for Scilab +es_ES.DescriptionMKLLibrary =Download Intel Math Kernel Library for Scilab +; +es_ES.DownloadMKLLabel =Downloading Intel Math Kernel Library files for Scilab +es_ES.DownloadMKLDescription =Please wait while Setup is downloading extra files to your computer. +; +es_ES.DownloadMKLFFTWLabel =Downloading FFTW3 library optimized by Intel Math Kernel. +; +es_ES.DoTasksJustAfterInstallMsg2 =BLAS, LAPACK reference libraries will be installed and used. +es_ES.DoTasksJustAfterInstallMsg3 =FFTW3 reference library will be installed and used. +; +es_ES.NextButtonClickwpReadyMsg1 =Impossible to download Intel Math Kernel Library files for Scilab (Default library will be used). +es_ES.NextButtonClickwpReadyMsg2 =Impossible to download FFTW3 library optimized by Intel Math Kernel Library (Default library will be used). +; +es_ES.DescriptionAtoms =ATOMS +;------------------------------------------------------------------------------- +;
\ No newline at end of file diff --git a/tools/innosetup/files.iss b/tools/innosetup/files.iss new file mode 100755 index 000000000..a779c1bf3 --- /dev/null +++ b/tools/innosetup/files.iss @@ -0,0 +1,101 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +#include BinariesSourcePath + "\tools\innosetup\base.iss" +#ifndef SCILAB_X64 +#include BinariesSourcePath + "\tools\innosetup\atlas.iss" +#endif +#include BinariesSourcePath + "\tools\tools.iss" +#include BinariesSourcePath + "\contrib\toolbox_skeleton.iss" +#include BinariesSourcePath + "\modules\core\core.iss" +#include BinariesSourcePath + "\modules\helptools\helptools.iss" +#include BinariesSourcePath + "\modules\demo_tools\demo_tools.iss" +#include BinariesSourcePath + "\modules\fileio\fileio.iss" +#include BinariesSourcePath + "\modules\output_stream\output_stream.iss" +#include BinariesSourcePath + "\modules\string\string.iss" +#include BinariesSourcePath + "\modules\io\io.iss" +#include BinariesSourcePath + "\modules\double\double.iss" +#include BinariesSourcePath + "\modules\integer\integer.iss" +#include BinariesSourcePath + "\modules\overloading\overloading.iss" +#include BinariesSourcePath + "\modules\elementary_functions\elementary_functions.iss" +#include BinariesSourcePath + "\modules\jvm\jvm.iss" +#include BinariesSourcePath + "\modules\commons\commons.iss" +#include BinariesSourcePath + "\modules\time\time.iss" +#include BinariesSourcePath + "\modules\localization\localization.iss" +#include BinariesSourcePath + "\modules\boolean\boolean.iss" +#include BinariesSourcePath + "\modules\data_structures\data_structures.iss" +#include BinariesSourcePath + "\modules\functions\functions.iss" +#include BinariesSourcePath + "\modules\windows_tools\windows_tools.iss" +#include BinariesSourcePath + "\modules\dynamic_link\dynamic_link.iss" +#include BinariesSourcePath + "\modules\gui\gui.iss" +#include BinariesSourcePath + "\modules\completion\completion.iss" +#include BinariesSourcePath + "\modules\history_manager\history_manager.iss" +#include BinariesSourcePath + "\modules\action_binding\action_binding.iss" +#include BinariesSourcePath + "\modules\console\console.iss" +#include BinariesSourcePath + "\modules\special_functions\special_functions.iss" +#include BinariesSourcePath + "\modules\linear_algebra\linear_algebra.iss" +#include BinariesSourcePath + "\modules\sparse\sparse.iss" +#include BinariesSourcePath + "\modules\graphics\graphics.iss" +#include BinariesSourcePath + "\modules\renderer\renderer.iss" +#include BinariesSourcePath + "\modules\graphic_export\graphic_export.iss" +#include BinariesSourcePath + "\modules\external_objects\external_objects.iss" +#include BinariesSourcePath + "\modules\external_objects_java\external_objects_java.iss" +#include BinariesSourcePath + "\modules\sound\sound.iss" +#include BinariesSourcePath + "\modules\tclsci\tclsci.iss" +#include BinariesSourcePath + "\modules\arnoldi\arnoldi.iss" +#include BinariesSourcePath + "\modules\cacsd\cacsd.iss" +#include BinariesSourcePath + "\modules\optimization\optimization.iss" +#include BinariesSourcePath + "\modules\polynomials\polynomials.iss" +#include BinariesSourcePath + "\modules\scicos\scicos.iss" +#include BinariesSourcePath + "\modules\scicos_blocks\scicos_blocks.iss" +#include BinariesSourcePath + "\modules\statistics\statistics.iss" +#include BinariesSourcePath + "\modules\signal_processing\signal_processing.iss" +#include BinariesSourcePath + "\modules\javasci\javasci.iss" +#include BinariesSourcePath + "\modules\intersci\intersci.iss" +#include BinariesSourcePath + "\modules\mexlib\mexlib.iss" +#include BinariesSourcePath + "\modules\m2sci\m2sci.iss" +#include BinariesSourcePath + "\modules\randlib\randlib.iss" +#include BinariesSourcePath + "\modules\symbolic\symbolic.iss" +#include BinariesSourcePath + "\modules\interpolation\interpolation.iss" +#include BinariesSourcePath + "\modules\umfpack\umfpack.iss" +#include BinariesSourcePath + "\modules\fftw\fftw.iss" +#include BinariesSourcePath + "\modules\spreadsheet\spreadsheet.iss" +#include BinariesSourcePath + "\modules\differential_equations\differential_equations.iss" +#include BinariesSourcePath + "\modules\compatibility_functions\compatibility_functions.iss" +#include BinariesSourcePath + "\modules\development_tools\development_tools.iss" +#include BinariesSourcePath + "\modules\genetic_algorithms\genetic_algorithms.iss" +#include BinariesSourcePath + "\modules\simulated_annealing\simulated_annealing.iss" +#include BinariesSourcePath + "\modules\parameters\parameters.iss" +#include BinariesSourcePath + "\modules\matio\matio.iss" +#include BinariesSourcePath + "\modules\call_scilab\call_scilab.iss" +#include BinariesSourcePath + "\modules\api_scilab\api_scilab.iss" +#include BinariesSourcePath + "\modules\atoms\atoms.iss" +#include BinariesSourcePath + "\modules\types\types.iss" +#include BinariesSourcePath + "\modules\hdf5\hdf5.iss" +#include BinariesSourcePath + "\modules\scinotes\scinotes.iss" +#include BinariesSourcePath + "\modules\xcos\xcos.iss" +#include BinariesSourcePath + "\modules\graph\graph.iss" +#ifndef SCILAB_F2C +#include BinariesSourcePath + "\modules\parallel\parallel.iss" +#endif +#include BinariesSourcePath + "\modules\modules_manager\modules_manager.iss" +#include BinariesSourcePath + "\modules\ui_data\ui_data.iss" +#include BinariesSourcePath + "\modules\history_browser\history_browser.iss" +#include BinariesSourcePath + "\modules\xml\xml.iss" +#include BinariesSourcePath + "\modules\preferences\preferences.iss" +#include BinariesSourcePath + "\modules\graphic_objects\graphic_objects.iss" +#include BinariesSourcePath + "\modules\mpi\mpi.iss" +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/fr_FR_scilab.isl b/tools/innosetup/fr_FR_scilab.isl new file mode 100755 index 000000000..d9966fea0 --- /dev/null +++ b/tools/innosetup/fr_FR_scilab.isl @@ -0,0 +1,111 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +fr_FR.LANGUAGE =fr_FR + +fr_FR.MsgBoxJRENotFound =Java Runtime Environment non détecté. +fr_FR.MsgBoxJREURL =Veuillez télécharger et installer le JRE (http://www.java.com/fr/download/) +fr_FR.MsgBoxJREReinstall =Relancer l'installation de Scilab après l'installation du JRE. +fr_FR.MsgBoxSSERequired =Les instructions CPU SSE2 sont requises pour faire fonctionner. +fr_FR.MsgBoxX64Ready =Pour de meilleurs performances, il serait mieux d'utiliser la version 64 bits de Scilab sur ce système d'exploitation. + +fr_FR.MsgBoxJavaDetection1 =Java n'est pas installé correctement sur cet ordinateur. +fr_FR.MsgBoxJavaDetection2 =Veuillez sélectionner & installer Java Runtime : +fr_FR.MsgBoxWebOpen =Impossible d'ouvrir cette page internet. +fr_FR.MsgBoxDevToolsRequired1 =Vous avez choisi d'installer le module toolbox_skeleton mais vous n'avez pas sélectionné le module development_tools. +fr_FR.MsgBoxDevToolsRequired2 =Veuillez installer le module development_tools. +fr_FR.MsgBoxDevToolsRequired3 =Vous avez choisi d'installer les tests mais vous n'avez pas sélectionné le module development_tools. +fr_FR.MsgBoxTclsciRequired2 =Veuillez installer le module tclsci. +fr_FR.MsgBoxFftw1 =Vous avez choisi d'installer le module FFTW pour Scilab. +fr_FR.MsgBoxFftw2 =Il est nécessaire de télécharger la bibliothèque FFTW (GPL). +fr_FR.MsgBoxFftw3 =Voulez-vous ouvrir une page web concernant cet add-on ? +fr_FR.MsgBoxFftw4 =Impossible d'accéder à cette page web. +fr_FR.MsgBoxWinVer =Nécessite Windows 2000 ou plus. +fr_FR.MsgBoxScicosRequired1 =Vous avez choisi d'installer le module Xcos mais vous n'avez pas sélectionné le module Scicos. +fr_FR.MsgBoxScicosRequired2 =Veuillez également installer le module Scicos. + +; +fr_FR.ButtonAboutModules =&A propos des modules ... +; +fr_FR.DescriptionGraphics =Module Graphique +fr_FR.DescriptionTclTK =TCL/TK pour Scilab +fr_FR.DescriptionJVM =Java Runtime +fr_FR.DescriptionAtlas =Bibliothèque Atlas 3.8.0 optimisée selon le CPU +fr_FR.DescriptionFftwModule =Interface avec la bibliothèque FFTW3 pour Scilab +fr_FR.DescriptionFftwMKLDownload =Télécharger la bibliothèque FFTW3 optimisée par Intel Math Kernel Library +fr_FR.DescriptionRefFftwLibrary =Bibliothèque FFTW3 de référence +fr_FR.DescriptionDevTools =Outils pour le Développement +fr_FR.DescriptionTests =Tests pour Scilab +fr_FR.DescriptionTlbxSkeleton =Un modèle de boite à outils (pour étendre Scilab) +fr_FR.DescriptionSciNotes =Scinotes : Éditeur de texte pour Scilab +fr_FR.DescriptionXcos =Xcos +fr_FR.DescriptionModulesManager =Outils pour créer des modules externes +fr_FR.DescriptionModuleJVM =Interface graphique +fr_FR.DescriptionMPI =MPI ( basé sur Microsoft HPC Pack 2012 R2 ) +; +fr_FR.ConsoleIconName =Console Scilab +; +fr_FR.WebIconScilab =Site Internet Scilab +; +fr_FR.ReadMeIcon =Lisez Moi +; +fr_FR.UnInstallIcon =Désinstaller Scilab +; +fr_FR.RegKeyRunWith =Exécuter avec +; +fr_FR.DescriptionVC2008Redist =Installer Microsoft Visual C++ 2008 Redistributable Package +; +fr_FR.DescriptionConfigureAtlas =Configurer Atlas +; +fr_FR.DescriptionLaunchScilab =Démarrer Scilab +; +fr_FR.DescriptionCreateDesktopIcon =Créer un icône sur le bureau +; +fr_FR.DescriptionQuickLaunch =Créer un raccourci dans la barre d'exécution rapide +; +fr_FR.DescriptionAssociateSceSci =Associer les fichiers *.sce, *.sci avec Scilab +; +fr_FR.DescriptionAssociateTstDem =Associer les fichiers *.tst avec Scilab +; +fr_FR.DescriptionAssociateBinSav =Associer les fichiers *.bin, *.sav avec Scilab +; +fr_FR.DescriptionAssociateGraph =Associer les fichiers *.graph *.graphb avec Scilab +; +fr_FR.DescriptionAssociateScicos =Associer les fichiers *.xcos *.cos *.cosf *.zcos avec Scilab +; +fr_FR.DescriptionAssociateSOD =Associer les fichiers *.sod avec Scilab +; +fr_FR.DescriptionDefaultInstall =Installation (Par défaut) +fr_FR.DescriptionFullInstall =Installation Complète +fr_FR.DescriptionCustomInstall =Installation avancée +fr_FR.DescriptionCLIInstall =Ligne de commandes uniquement (sans interface graphique) +; +fr_FR.DescriptionCPUOptimization =Optimisation CPU pour Scilab +fr_FR.DescriptionATLASLibrary =Bibliothèque Atlas pour Scilab +fr_FR.DescriptionRefBlasLibrary =Bibliothèque Blas, Lapack de référence pour Scilab +fr_FR.DescriptionMKLLibrary =Télécharger la bibliothèque Intel Math Kernel Library pour Scilab +; +fr_FR.DownloadMKLLabel =Téléchargement des fichiers Intel Math Kernel Library pour Scilab +fr_FR.DownloadMKLDescription =Merci de patienter durant le téléchargement de fichiers. +; +fr_FR.DownloadMKLFFTWLabel =Téléchargement de la bibliothèque FFTW3 optimisée par Intel Math Kernel Library. +; +fr_FR.DoTasksJustAfterInstallMsg2 =Les bibliothèques de référence BLAS, LAPACK seront installées et utilisées. +fr_FR.DoTasksJustAfterInstallMsg3 =La bibliothèque de référence FFTW3 sera installée et utilisée. +; +fr_FR.NextButtonClickwpReadyMsg1 =Impossible de télécharger la bibliothèque Intel Math Kernel pour Scilab (La bibliothèque par défaut sera utilisée). +fr_FR.NextButtonClickwpReadyMsg2 =Impossible de télécharger la bibliothèque FFTW3 optimisée par Intel Math Kernel Library (La bibliothèque par défaut sera utilisée). +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/icons.iss b/tools/innosetup/icons.iss new file mode 100755 index 000000000..97df29006 --- /dev/null +++ b/tools/innosetup/icons.iss @@ -0,0 +1,29 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +Name: {commondesktop}\{#ScilabName}; Filename: {code:getExecNameForDesktop};Parameters: "-nwni";WorkingDir: "%USERPROFILE%\Documents";Comment: "Start Scilab - The open source platform for numerical computation"; MinVersion: 4,4; Tasks: desktopicon;Components: not {#COMPN_JVM_MODULE}; +Name: {commondesktop}\{#ScilabName}; Filename: {code:getExecNameForDesktop};WorkingDir: "%USERPROFILE%\Documents";Comment: "Start Scilab - The open source platform for numerical computation"; MinVersion: 4,4; Tasks: desktopicon;Components: {#COMPN_JVM_MODULE}; +; +Name: {group}\{#ScilabName}; Filename: {code:getExecNameForDesktop};Parameters: "-nwni";WorkingDir: "%USERPROFILE%\Documents";Components: not {#COMPN_JVM_MODULE}; +Name: {group}\{#ScilabName}; Filename: {code:getExecNameForDesktop};WorkingDir: "%USERPROFILE%\Documents";Components: {#COMPN_JVM_MODULE}; + +Name: {group}\{cm:ConsoleIconName}; Filename: {app}\bin\scilex.exe;WorkingDir: "%USERPROFILE%\Documents";Components: {#COMPN_JVM_MODULE}; +; +Name: "{group}\{cm:WebIconScilab}"; Filename: "{app}\scilabwebsite.url"; + +Name: {group}\{cm:UnInstallIcon}; Filename: {uninstallexe}; +; +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/ini.iss b/tools/innosetup/ini.iss new file mode 100755 index 000000000..b19253bcd --- /dev/null +++ b/tools/innosetup/ini.iss @@ -0,0 +1,17 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- +Filename: {app}\scilabwebsite.url; Section: InternetShortcut; Key: "URL"; String: "http://www.scilab.org"; Check: DoTasksJustAfterInstall +;------------------------------------------------------------------------------- + diff --git a/tools/innosetup/it_IT_scilab.isl b/tools/innosetup/it_IT_scilab.isl new file mode 100755 index 000000000..c8fe1ece1 --- /dev/null +++ b/tools/innosetup/it_IT_scilab.isl @@ -0,0 +1,138 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +it_IT.LANGUAGE =it_IT + +it_IT.MsgBoxJRENotFound =Java Runtime Environment not detected. +it_IT.MsgBoxJREURL =Please download & Install JRE at http://www.java.com/en/download/ +it_IT.MsgBoxJREReinstall =Reinstall Scilab after your JRE update. +it_IT.MsgBoxSSERequired =CPU SSE2 instructions are required for Scilab to run correctly. +it_IT.MsgBoxX64Ready =For increase performance, it will be better to use Scilab x64 bits version on this Operating system. + +it_IT.MsgBoxJavaDetection1 =Java is not installed on this computer and this program needs it. +it_IT.MsgBoxJavaDetection2 =Please choose to install Java Runtime: +it_IT.MsgBoxWebOpen =Can not open web page. +it_IT.MsgBoxDevToolsRequired1 =You choose to install toolbox_skeleton module but development_tools module is not selected. +it_IT.MsgBoxDevToolsRequired2 =Please install development_tools module. +it_IT.MsgBoxDevToolsRequired3 =You choose to install tests module but development_tools module is not selected. +it_IT.MsgBoxTclsciRequired2 =Please install tclsci module. +it_IT.MsgBoxFftw1 =You choose to install FFTW module for Scilab. +it_IT.MsgBoxFftw2 =This module requires to download FFTW library (GPL). +it_IT.MsgBoxFftw3 =Do you want to open a web page about this add-on ? +it_IT.MsgBoxFftw4 =Can not open web page. +it_IT.MsgBoxWinVer =Windows 2000 is required. +it_IT.MsgBoxScicosRequired1 =You choose to install Xcos module but Scicos module is not selected. +it_IT.MsgBoxScicosRequired2 =Please also install Scicos module. + +; +it_IT.ButtonAboutModules =&About modules ... +; +it_IT.DescriptionEquDif =Differential Equations Module +it_IT.DescriptionInterpolation =Interpolation Module +it_IT.DescriptionPolynomials =Polynomials Module +it_IT.DescriptionSymbolic =Symbolic Module +it_IT.DescriptionStats =Statistics Module +it_IT.DescriptionSparse =Sparse Matrix Module +it_IT.DescriptionLinAlg =Linear Algebra Module +it_IT.DescriptionSigProc =Signal processing Module +it_IT.DescriptionCacsd =C.A.C.S.D Module +it_IT.DescriptionGraphics =Graphics Module +it_IT.DescriptionOptim =Optimization Module +it_IT.DescriptionMetanet =Metanet Toolbox +it_IT.DescriptionScicos =Scicos Toolbox +it_IT.DescriptionArnoldi =ARnoldi PACKage Toolbox +it_IT.DescriptionUmfpack =UMFPACK for Scilab +it_IT.DescriptionCompatFunctions =Compatibility functions +it_IT.DescriptionM2sci =M2SCI Toolbox +it_IT.DescriptionMatio =MAT File Input/Output Toolbox +it_IT.DescriptionExternalObjects =External objects +it_IT.DescriptionSound =Sound file handling Toolbox +it_IT.DescriptionRandlib =Randlib Toolbox +it_IT.DescriptionMexlib =Mexlib Tools +it_IT.DescriptionIntersci =Intersci Toolbox +it_IT.DescriptionTclTK =TCL/TK in Scilab +it_IT.DescriptionSpreadsheet =Spreadsheet Toolbox +it_IT.DescriptionJVM =Java Runtime +it_IT.DescriptionAtlas =Atlas library 3.8.0 CPU optimized +it_IT.DescriptionFftwModule =FFTW interface for Scilab +it_IT.DescriptionFftwMKLDownload =Download FFTW library optimized by Intel Math Kernel Library +it_IT.DescriptionRefFftwLibrary =Reference FFTW library +it_IT.DescriptionParametersTlbx =Parameters Toolbox +it_IT.DescriptionGeneticTlbx =Genetic Algorithms Toolbox +it_IT.DescriptionSimulAnnealingTlbx =Simulated Annealing Toolbox +it_IT.DescriptionDevTools =Development Tools +it_IT.DescriptionTests =Tests for Scilab +it_IT.DescriptionTlbxSkeleton =A toolbox skeleton (to extend Scilab) +it_IT.DescriptionComConnector =COM connector +it_IT.DescriptionSciNotes =SciNotes: Editor for Scilab +it_IT.DescriptionXcos =Xcos +it_IT.DescriptionParallel =Parallel Computing with Scilab +it_IT.DescriptionModulesManager =Tools for management of extern modules +it_IT.DescriptionModuleJVM =JVM Module +; +it_IT.ConsoleIconName =Scilab Console +; +it_IT.WebIconScilab =Scilab on the Web +; +it_IT.ReadMeIcon =Read Me +; +it_IT.UnInstallIcon =Uninstall Scilab +; +it_IT.RegKeyRunWith =Run with +; +it_IT.DescriptionVC2008Redist =Install Microsoft Visual C++ 2008 Redistributable Package +; +it_IT.DescriptionConfigureAtlas =Configure Atlas +; +it_IT.DescriptionLaunchScilab =Launch Scilab +; +it_IT.DescriptionCreateDesktopIcon =Create a &desktop icon +; +it_IT.DescriptionQuickLaunch =Create a shortcut in Quick Launch Bar +; +it_IT.DescriptionAssociateSceSci =Associate *.sce,*.sci files with Scilab +; +it_IT.DescriptionAssociateTstDem =Associate *.tst files with Scilab +; +it_IT.DescriptionAssociateBinSav =Associate *.bin, *.sav files with Scilab +; +it_IT.DescriptionAssociateGraph =Associate *.graph *.graphb files with Scilab +; +it_IT.DescriptionAssociateScicos =Associate *.xcos *.cos *.cosf files with Scilab +; +it_IT.DescriptionDefaultInstall =Installation (Default) +it_IT.DescriptionFullInstall =Full installation +it_IT.DescriptionCustomInstall =Custom installation +it_IT.DescriptionCLIInstall =Command Line Minimal Installation (no gui) +; +it_IT.DescriptionCPUOptimization =CPU Optimization for Scilab +it_IT.DescriptionATLASLibrary =Atlas Library for Scilab +it_IT.DescriptionRefBlasLibrary =Blas, Lapack Reference libraries for Scilab +it_IT.DescriptionMKLLibrary =Download Intel Math Kernel Library for Scilab +; +it_IT.DownloadMKLLabel =Downloading Intel Math Kernel Library files for Scilab +it_IT.DownloadMKLDescription =Please wait while Setup is downloading extra files to your computer. +; +it_IT.DownloadMKLFFTWLabel =Downloading FFTW3 library optimized by Intel Math Kernel. +; +it_IT.DoTasksJustAfterInstallMsg2 =BLAS, LAPACK reference libraries will be installed and used. +it_IT.DoTasksJustAfterInstallMsg3 =FFTW3 reference library will be installed and used. +; +it_IT.NextButtonClickwpReadyMsg1 =Impossible to download Intel Math Kernel Library files for Scilab (Default library will be used). +it_IT.NextButtonClickwpReadyMsg2 =Impossible to download FFTW3 library optimized by Intel Math Kernel Library (Default library will be used). +; +it_IT.DescriptionAtoms =ATOMS +;------------------------------------------------------------------------------- +;
\ No newline at end of file diff --git a/tools/innosetup/ja_JP.isl b/tools/innosetup/ja_JP.isl new file mode 100755 index 000000000..a5772d350 --- /dev/null +++ b/tools/innosetup/ja_JP.isl @@ -0,0 +1,312 @@ +; *** Inno Setup version 5.1.11+ Japanese messages *** +; +; Translated by Ryou Minakami (ryou32jp@yahoo.co.jp) +; Fixes and updates: Koichi Shirasuka (shirasuka@eugrid.co.jp) +; +; $jrsoftware: issrc/Files/Default.isl,v 1.66 2005/02/25 20:23:48 mlaan Exp $ + +[LangOptions] +LanguageName=Japanese +LanguageID=$0411 +LanguageCodePage=932 + +; If you don't need to support Windows 9x, commenting the following 4 lines gives better looking (banners not stretched). +DialogFontName=‚l‚r ‚oƒSƒVƒbƒN +DialogFontSize=9 +TitleFontName=‚l‚r ‚oƒSƒVƒbƒN +TitleFontSize=29 + +; Required for Win2K/older to display the welcome message with correct font. +WelcomeFontName=‚l‚r ‚oƒSƒVƒbƒN +WelcomeFontSize=12 + +[Messages] + +; *** Application titles +SetupAppTitle=ƒZƒbƒgƒAƒbƒv +SetupWindowTitle=%1 ƒZƒbƒgƒAƒbƒv +UninstallAppTitle=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹ +UninstallAppFullTitle=%1 ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹ + +; *** Misc. common +InformationTitle=î•ñ +ConfirmTitle=Šm”F +ErrorTitle=ƒGƒ‰[ + +; *** SetupLdr messages +SetupLdrStartupMessage=%1 ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·B‘±s‚µ‚Ü‚·‚©H +LdrCannotCreateTemp=ˆêŽžƒtƒ@ƒCƒ‹‚ð쬂ł«‚Ü‚¹‚ñBƒZƒbƒgƒAƒbƒv‚𒆎~‚µ‚Ü‚·B +LdrCannotExecTemp=ˆêŽžƒtƒHƒ‹ƒ_‚̃tƒ@ƒCƒ‹‚ðŽÀs‚Å‚«‚Ü‚¹‚ñBƒZƒbƒgƒAƒbƒv‚𒆎~‚µ‚Ü‚·B + +; *** Startup error messages +LastErrorMessage=%1.%n%nƒGƒ‰[ %2: %3 +SetupFileMissing=ƒtƒ@ƒCƒ‹ %1 ‚ªŒ©‚‚©‚è‚Ü‚¹‚ñB–â‘è‚ð‰ðŒˆ‚·‚é‚©V‚µ‚¢ƒZƒbƒgƒAƒbƒvƒvƒƒOƒ‰ƒ€‚ð“üŽè‚µ‚Ä‚‚¾‚³‚¢B +SetupFileCorrupt=ƒZƒbƒgƒAƒbƒvƒtƒ@ƒCƒ‹‚ª‰ó‚ê‚Ä‚¢‚Ü‚·BV‚µ‚¢ƒZƒbƒgƒAƒbƒvƒvƒƒOƒ‰ƒ€‚ð“üŽè‚µ‚Ä‚‚¾‚³‚¢B +SetupFileCorruptOrWrongVer=ƒZƒbƒgƒAƒbƒvƒtƒ@ƒCƒ‹‚ª‰ó‚ê‚Ä‚¢‚é‚©A‚±‚̃o[ƒWƒ‡ƒ“‚̃ZƒbƒgƒAƒbƒv‚ƌ݊·«‚ª‚ ‚è‚Ü‚¹‚ñB–â‘è‚ð‰ðŒˆ‚·‚é‚©V‚µ‚¢ƒZƒbƒgƒAƒbƒvƒvƒƒOƒ‰ƒ€‚ð“üŽè‚µ‚Ä‚‚¾‚³‚¢B +NotOnThisPlatform=‚±‚̃vƒƒOƒ‰ƒ€‚Í %1 ‚Å‚Í“®ì‚µ‚Ü‚¹‚ñB +OnlyOnThisPlatform=‚±‚̃vƒƒOƒ‰ƒ€‚ÌŽÀs‚É‚Í %1 ‚ª•K—v‚Å‚·B +OnlyOnTheseArchitectures=‚±‚̃vƒƒOƒ‰ƒ€‚Í%n%n%1ƒvƒƒZƒbƒTŒü‚¯‚ÌWindows‚É‚µ‚©ƒCƒ“ƒXƒg[ƒ‹‚Å‚«‚Ü‚¹‚ñB +MissingWOW64APIs=ŒäŽg—p’†‚Ì64-bit”ÅWindows‚É‚Í‚±‚̃vƒƒOƒ‰ƒ€‚ðƒCƒ“ƒXƒg[ƒ‹‚µA“®ì‚³‚¹‚éˆ×‚É•K—v‚È‹@”\‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚¹‚ñB‚±‚Ì–â‘è‚ðC³‚·‚éˆ×‚ɂ̓T[ƒrƒXƒpƒbƒN%1‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚‚¾‚³‚¢B +WinVersionTooLowError=‚±‚̃vƒƒOƒ‰ƒ€‚ÌŽÀs‚É‚Í %1 %2 ˆÈ~‚ª•K—v‚Å‚·B +WinVersionTooHighError=‚±‚̃vƒƒOƒ‰ƒ€‚Í %1 %2 ˆÈ~‚Å‚Í“®ì‚µ‚Ü‚¹‚ñB +AdminPrivilegesRequired=‚±‚̃vƒƒOƒ‰ƒ€‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚邽‚ß‚É‚ÍŠÇ—ŽÒ‚Æ‚µ‚ăƒOƒCƒ“‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B +PowerUserPrivilegesRequired=‚±‚̃vƒƒOƒ‰ƒ€‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚邽‚ß‚É‚ÍŠÇ—ŽÒ‚Ü‚½‚̓pƒ[ƒ†[ƒU[‚Æ‚µ‚ăƒOƒCƒ“‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B +SetupAppRunningError=ƒZƒbƒgƒAƒbƒv‚ÍŽÀs’†‚Ì %1 ‚ðŒŸo‚µ‚Ü‚µ‚½B%n%nŠJ‚¢‚Ä‚¢‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð‚·‚×‚Ä•Â‚¶‚Ä‚©‚çuOKv‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢BuƒLƒƒƒ“ƒZƒ‹v‚ðƒNƒŠƒbƒN‚·‚é‚ÆAƒZƒbƒgƒAƒbƒv‚ðI—¹‚µ‚Ü‚·B +UninstallAppRunningError=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚ÍŽÀs’†‚Ì %1 ‚ðŒŸo‚µ‚Ü‚µ‚½B%n%nŠJ‚¢‚Ä‚¢‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð‚·‚×‚Ä•Â‚¶‚Ä‚©‚çuOKv‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢BuƒLƒƒƒ“ƒZƒ‹v‚ðƒNƒŠƒbƒN‚·‚é‚ÆAƒZƒbƒgƒAƒbƒv‚ðI—¹‚µ‚Ü‚·B + +; *** Misc. errors +ErrorCreatingDir=ƒfƒBƒŒƒNƒgƒŠ %1 ‚ð쬒†‚ɃGƒ‰[‚ª”¶‚µ‚Ü‚µ‚½B +ErrorTooManyFilesInDir=ƒfƒBƒŒƒNƒgƒŠ %1 ‚Ƀtƒ@ƒCƒ‹‚ð쬒†‚ɃGƒ‰[‚ª”¶‚µ‚Ü‚µ‚½Bƒtƒ@ƒCƒ‹‚Ì”‚ª‘½‚·‚¬‚Ü‚·B + +; *** Setup common messages +ExitSetupTitle=ƒZƒbƒgƒAƒbƒvI—¹ +ExitSetupMessage=ƒZƒbƒgƒAƒbƒvì‹Æ‚ÍŠ®—¹‚µ‚Ä‚¢‚Ü‚¹‚ñB‚±‚±‚ŃZƒbƒgƒAƒbƒv‚𒆎~‚·‚é‚ƃvƒƒOƒ‰ƒ€‚̓Cƒ“ƒXƒg[ƒ‹‚³‚ê‚Ü‚¹‚ñB%n%n‰ü‚߂ăCƒ“ƒXƒg[ƒ‹‚·‚éꇂÍA‚à‚¤ˆê“xƒZƒbƒgƒAƒbƒv‚ðŽÀs‚µ‚Ä‚‚¾‚³‚¢B%n%nƒZƒbƒgƒAƒbƒv‚ðI—¹‚µ‚Ü‚·‚©H +AboutSetupMenuItem=ƒZƒbƒgƒAƒbƒv‚ɂ‚¢‚Ä(&A)... +AboutSetupTitle=ƒZƒbƒgƒAƒbƒv‚ɂ‚¢‚Ä +AboutSetupMessage=%1 %2%n%3%n%n%1 ƒz[ƒ€ƒy[ƒW:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< –ß‚é(&B) +ButtonNext=ŽŸ‚Ö(&N) > +ButtonInstall=ƒCƒ“ƒXƒg[ƒ‹(&I) +ButtonOK=OK +ButtonCancel=ƒLƒƒƒ“ƒZƒ‹ +ButtonYes=‚Í‚¢(&Y) +ButtonYesToAll=‚·‚ׂĂ͂¢(&A) +ButtonNo=‚¢‚¢‚¦(&N) +ButtonNoToAll=‚·‚ׂĂ¢‚¢‚¦(&O) +ButtonFinish=Š®—¹(&F) +ButtonBrowse=ŽQÆ(&B)... +ButtonWizardBrowse=ŽQÆ(&r) +ButtonNewFolder=V‚µ‚¢ƒtƒHƒ‹ƒ_(&M) + +; *** "Select Language" dialog messages +SelectLanguageTitle=ƒZƒbƒgƒAƒbƒv‚ÉŽg—p‚·‚錾Œê‚ð‘I‚ñ‚Å‚‚¾‚³‚¢B +SelectLanguageLabel=ƒCƒ“ƒXƒg[ƒ‹’†‚É—˜—p‚·‚錾Œê‚ðï‚Ñ‚Ü‚·: + +; *** Common wizard text +ClickNext=‘±s‚·‚é‚É‚ÍuŽŸ‚ÖvAƒZƒbƒgƒAƒbƒv‚ðI—¹‚·‚é‚É‚ÍuƒLƒƒƒ“ƒZƒ‹v‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +BeveledLabel= +BrowseDialogTitle=ƒtƒHƒ‹ƒ_ŽQÆ +BrowseDialogLabel=ƒŠƒXƒg‚©‚çƒtƒHƒ‹ƒ_‚ð‘I‚ÑOK‚ð‰Ÿ‚µ‚Ä‚‚¾‚³‚¢B +NewFolderName=V‚µ‚¢ƒtƒHƒ‹ƒ_ + +; *** "Welcome" wizard page +WelcomeLabel1=[name] ƒZƒbƒgƒAƒbƒvƒEƒBƒU[ƒh‚ÌŠJŽn +WelcomeLabel2=‚±‚̃vƒƒOƒ‰ƒ€‚Í‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^‚Ö [name/ver] ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·B%n%n‘±s‚·‚é‘O‚É‘¼‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ð‚·‚×‚ÄI—¹‚µ‚Ä‚‚¾‚³‚¢B + +; *** "Password" wizard page +WizardPassword=ƒpƒXƒ[ƒh +PasswordLabel1=‚±‚̃Cƒ“ƒXƒg[ƒ‹ƒvƒƒOƒ‰ƒ€‚̓pƒXƒ[ƒh‚É‚æ‚Á‚ĕی삳‚ê‚Ä‚¢‚Ü‚·B +PasswordLabel3=ƒpƒXƒ[ƒh‚ð“ü—Í‚µ‚ÄuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢BƒpƒXƒ[ƒh‚͑啶Žš‚Ƭ•¶Žš‚ª‹æ•Ê‚³‚ê‚Ü‚·B +PasswordEditLabel=ƒpƒXƒ[ƒh(&P): +IncorrectPassword=“ü—Í‚³‚ꂽƒpƒXƒ[ƒh‚ª³‚µ‚‚ ‚è‚Ü‚¹‚ñB‚à‚¤ˆê“x“ü—Í‚µ‚È‚¨‚µ‚Ä‚‚¾‚³‚¢B + +; *** "License Agreement" wizard page +WizardLicense=Žg—p‹–‘øŒ_–ñ‘‚Ì“¯ˆÓ +LicenseLabel=‘±s‚·‚é‘O‚Ɉȉº‚Ìd—v‚Èî•ñ‚ð‚¨“Ç‚Ý‚‚¾‚³‚¢B +LicenseLabel3=ˆÈ‰º‚ÌŽg—p‹–‘øŒ_–ñ‘‚ð‚¨“Ç‚Ý‚‚¾‚³‚¢BƒCƒ“ƒXƒg[ƒ‹‚ð‘±s‚·‚é‚É‚Í‚±‚ÌŒ_–ñ‘‚É“¯ˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B +LicenseAccepted=“¯ˆÓ‚·‚é(&A) +LicenseNotAccepted=“¯ˆÓ‚µ‚È‚¢(&D) + +; *** "Information" wizard pages +WizardInfoBefore=î•ñ +InfoBeforeLabel=‘±s‚·‚é‘O‚Ɉȉº‚Ìd—v‚Èî•ñ‚ð‚¨“Ç‚Ý‚‚¾‚³‚¢B +InfoBeforeClickLabel=ƒZƒbƒgƒAƒbƒv‚ð‘±s‚·‚é‚É‚ÍuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +WizardInfoAfter=î•ñ +InfoAfterLabel=‘±s‚·‚é‘O‚Ɉȉº‚Ìd—v‚Èî•ñ‚ð‚¨“Ç‚Ý‚‚¾‚³‚¢B +InfoAfterClickLabel=ƒZƒbƒgƒAƒbƒv‚ð‘±s‚·‚é‚É‚ÍuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B + +; *** "User Information" wizard page +WizardUserInfo=ƒ†[ƒU[î•ñ +UserInfoDesc=ƒ†[ƒU[î•ñ‚ð“ü—Í‚µ‚Ä‚‚¾‚³‚¢B +UserInfoName=ƒ†[ƒU[–¼(&U): +UserInfoOrg=‘gD(&O): +UserInfoSerial=ƒVƒŠƒAƒ‹”Ô†(&S): +UserInfoNameRequired=ƒ†[ƒU[–¼‚ð“ü—Í‚µ‚Ä‚‚¾‚³‚¢B + +; *** "Select Destination Location" wizard page +WizardSelectDir=ƒCƒ“ƒXƒg[ƒ‹æ‚ÌŽw’è +SelectDirDesc=[name] ‚̃Cƒ“ƒXƒg[ƒ‹æ‚ðŽw’肵‚Ä‚‚¾‚³‚¢B +SelectDirLabel3=[name] ‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚éƒtƒHƒ‹ƒ_‚ðŽw’肵‚ÄAuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +SelectDirBrowseLabel=‘±‚¯‚é‚É‚ÍuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B•Ê‚̃tƒHƒ‹ƒ_‚ð‘I‘ð‚·‚é‚É‚ÍuŽQÆv‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +DiskSpaceMBLabel=‚±‚̃vƒƒOƒ‰ƒ€‚ÍÅ’á [mb] MB‚̃fƒBƒXƒN‹ó‚«—̈æ‚ð•K—v‚Æ‚µ‚Ü‚·B +ToUNCPathname=ƒZƒbƒgƒAƒbƒv‚ÍUNCƒtƒHƒ‹ƒ_‚ɃCƒ“ƒXƒg[ƒ‹‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚¹‚ñBƒlƒbƒgƒ[ƒN‚ɃCƒ“ƒXƒg[ƒ‹‚·‚éꇂ̓lƒbƒgƒ[ƒNƒhƒ‰ƒCƒu‚ÉŠ„‚è“–‚Ä‚Ä‚‚¾‚³‚¢B +InvalidPath=ƒhƒ‰ƒCƒu•¶Žš‚ðŠÜ‚ÞŠ®‘S‚ȃpƒX‚ð“ü—Í‚µ‚Ä‚‚¾‚³‚¢B%n%n—áFC:\APP%n%n‚Ü‚½‚ÍUNCŒ`Ž®‚̃pƒX‚ð“ü—Í‚µ‚Ä‚‚¾‚³‚¢B%n%n—áF\\server\share +InvalidDrive=Žw’肵‚½ƒhƒ‰ƒCƒu‚Ü‚½‚ÍUNCƒpƒX‚ªŒ©‚‚©‚ç‚È‚¢‚©ƒAƒNƒZƒX‚Å‚«‚Ü‚¹‚ñB•Ê‚̃pƒX‚ðŽw’肵‚Ä‚‚¾‚³‚¢B +DiskSpaceWarningTitle=ƒfƒBƒXƒN‹ó‚«—̈æ‚Ì•s‘« +DiskSpaceWarning=ƒCƒ“ƒXƒg[ƒ‹‚É‚ÍÅ’á %1 KB‚̃fƒBƒXƒN‹ó‚«—̈悪•K—v‚Å‚·‚ªAŽw’肳‚ꂽƒhƒ‰ƒCƒu‚É‚Í %2 KB‚̋󂫗̈悵‚©‚ ‚è‚Ü‚¹‚ñB%n%n‚±‚Ì‚Ü‚Ü‘±s‚µ‚Ü‚·‚©H +DirNameTooLong=ƒhƒ‰ƒCƒu–¼–”‚̓pƒX‚ª’·‰ß‚¬‚Ü‚·B +InvalidDirName=ƒtƒHƒ‹ƒ_–¼‚ª–³Œø‚Å‚·B +BadDirName32=ˆÈ‰º‚Ì•¶Žš‚ðŠÜ‚ÞƒtƒHƒ‹ƒ_–¼‚ÍŽw’è‚Å‚«‚Ü‚¹‚ñB:%n%n%1 +DirExistsTitle=Šù‘¶‚̃tƒHƒ‹ƒ_ +DirExists=ƒtƒHƒ‹ƒ_ %n%n%1%n%n‚ªŠù‚É‘¶Ý‚µ‚Ü‚·B‚±‚Ì‚Ü‚Ü‚±‚̃tƒHƒ‹ƒ_‚ÖƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚·‚©H +DirDoesntExistTitle=ƒtƒHƒ‹ƒ_‚ªŒ©‚‚©‚è‚Ü‚¹‚ñB +DirDoesntExist=ƒtƒHƒ‹ƒ_ %n%n%1%n%n‚ªŒ©‚‚©‚è‚Ü‚¹‚ñBV‚µ‚¢ƒtƒHƒ‹ƒ_‚ð쬂µ‚Ü‚·‚©H + +; *** "Select Components" wizard page +WizardSelectComponents=ƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì‘I‘ð +SelectComponentsDesc=ƒCƒ“ƒXƒg[ƒ‹ƒRƒ“ƒ|[ƒlƒ“ƒg‚ð‘I‘ð‚µ‚Ä‚‚¾‚³‚¢B +SelectComponentsLabel2=ƒCƒ“ƒXƒg[ƒ‹‚·‚éƒRƒ“ƒ|[ƒlƒ“ƒg‚ð‘I‘ð‚µ‚Ä‚‚¾‚³‚¢BƒCƒ“ƒXƒg[ƒ‹‚·‚é•K—v‚Ì‚È‚¢ƒRƒ“ƒ|[ƒlƒ“ƒg‚̓`ƒFƒbƒN‚ðŠO‚µ‚Ä‚‚¾‚³‚¢B‘±s‚·‚é‚É‚ÍuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +FullInstallation=ƒtƒ‹ƒCƒ“ƒXƒg[ƒ‹ +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=ƒRƒ“ƒpƒNƒgƒCƒ“ƒXƒg[ƒ‹ +CustomInstallation=ƒJƒXƒ^ƒ€ƒCƒ“ƒXƒg[ƒ‹ +NoUninstallWarningTitle=Šù‘¶‚̃Rƒ“ƒ|[ƒlƒ“ƒg +NoUninstallWarning=ƒZƒbƒgƒAƒbƒv‚͈ȉº‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚ªŠù‚ɃCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚邱‚Æ‚ðŒŸo‚µ‚Ü‚µ‚½B%n%n%1%n%n‚±‚ê‚ç‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚Ì‘I‘ð‚ð‰ðœ‚µ‚Ä‚àƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚Í‚³‚ê‚Ü‚¹‚ñB%n%n‚±‚Ì‚Ü‚Ü‘±s‚µ‚Ü‚·‚©H +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Œ»Ý‚Ì‘I‘ð‚ÍÅ’á [mb] MB‚̃fƒBƒXƒN‹ó‚«—̈æ‚ð•K—v‚Æ‚µ‚Ü‚·B + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=’ljÁƒ^ƒXƒN‚Ì‘I‘ð +SelectTasksDesc=ŽÀs‚·‚é’ljÁƒ^ƒXƒN‚ð‘I‘ð‚µ‚Ä‚‚¾‚³‚¢B +SelectTasksLabel2=[name] ƒCƒ“ƒXƒg[ƒ‹Žž‚ÉŽÀs‚·‚é’ljÁƒ^ƒXƒN‚ð‘I‘ð‚µ‚ÄAuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=ƒvƒƒOƒ‰ƒ€ƒOƒ‹[ƒv‚ÌŽw’è +SelectStartMenuFolderDesc=ƒvƒƒOƒ‰ƒ€ƒAƒCƒRƒ“‚ð쬂·‚éꊂðŽw’肵‚Ä‚‚¾‚³‚¢B +SelectStartMenuFolderLabel3=ƒZƒbƒgƒAƒbƒv‚̓Xƒ^[ƒgƒƒjƒ…[‚ɃvƒƒOƒ‰ƒ€‚̃Vƒ‡[ƒgƒJƒbƒg‚ð쬂µ‚Ü‚·B +SelectStartMenuFolderBrowseLabel=‘±‚¯‚é‚É‚ÍuŽŸ‚Öv‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢Bˆá‚¤ƒfƒBƒŒƒNƒgƒŠ‚ð‘I‘ð‚·‚é‚É‚ÍuŽQÆv‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +MustEnterGroupName=ƒOƒ‹[ƒv–¼‚ðŽw’肵‚Ä‚‚¾‚³‚¢B +GroupNameTooLong=ƒtƒHƒ‹ƒ_–¼–”‚̓pƒX‚ª’·‰ß‚¬‚Ü‚·B +InvalidGroupName=ƒOƒ‹[ƒv–¼‚ª–³Œø‚Å‚·B +BadGroupName=ˆÈ‰º‚Ì•¶Žš‚ðŠÜ‚ÞƒOƒ‹[ƒv–¼‚ÍŽw’è‚Å‚«‚Ü‚¹‚ñB:%n%n%1 +NoProgramGroupCheck2=ƒvƒƒOƒ‰ƒ€ƒOƒ‹[ƒv‚ð쬂µ‚È‚¢(&D) + +; *** "Ready to Install" wizard page +WizardReady=ƒCƒ“ƒXƒg[ƒ‹€”õŠ®—¹ +ReadyLabel1=‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^‚Ö [name] ‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚途õ‚ª‚Å‚«‚Ü‚µ‚½B +ReadyLabel2a=ƒCƒ“ƒXƒg[ƒ‹‚ð‘±s‚·‚é‚É‚ÍuƒCƒ“ƒXƒg[ƒ‹v‚ðAÝ’è‚ÌŠm”F‚â•ÏX‚ðs‚¤‚É‚Íu–ß‚év‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +ReadyLabel2b=ƒCƒ“ƒXƒg[ƒ‹‚ð‘±s‚·‚é‚É‚ÍuƒCƒ“ƒXƒg[ƒ‹v‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +ReadyMemoUserInfo=ƒ†[ƒU[î•ñ: +ReadyMemoDir=ƒCƒ“ƒXƒg[ƒ‹æ: +ReadyMemoType=ƒZƒbƒgƒAƒbƒv‚ÌŽí—Þ: +ReadyMemoComponents=‘I‘ðƒRƒ“ƒ|[ƒlƒ“ƒg: +ReadyMemoGroup=ƒvƒƒOƒ‰ƒ€ƒOƒ‹[ƒv: +ReadyMemoTasks=’ljÁƒ^ƒXƒNˆê——: + +; *** "Preparing to Install" wizard page +WizardPreparing=ƒCƒ“ƒXƒg[ƒ‹€”õ’† +PreparingDesc=‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^‚Ö [name] ‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚途õ‚ð‚µ‚Ä‚¢‚Ü‚·B +PreviousInstallNotCompleted=‘O‰ñs‚Á‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Cƒ“ƒXƒg[ƒ‹‚Ü‚½‚Í휂ªŠ®—¹‚µ‚Ä‚¢‚Ü‚¹‚ñBŠ®—¹‚·‚é‚ɂ̓Rƒ“ƒsƒ…[ƒ^‚ðÄ‹N“®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B%n%n[name] ‚̃Cƒ“ƒXƒg[ƒ‹‚ðŠ®—¹‚·‚邽‚ß‚É‚ÍAÄ‹N“®Œã‚É‚à‚¤ˆê“xƒZƒbƒgƒAƒbƒv‚ðŽÀs‚µ‚Ä‚‚¾‚³‚¢B +CannotContinue=ƒZƒbƒgƒAƒbƒv‚ð‘±s‚Å‚«‚Ü‚¹‚ñBuƒLƒƒƒ“ƒZƒ‹v‚ðƒNƒŠƒbƒN‚µ‚ăZƒbƒgƒAƒbƒv‚ðI—¹‚µ‚Ä‚‚¾‚³‚¢B + +; *** "Installing" wizard page +WizardInstalling=ƒCƒ“ƒXƒg[ƒ‹ó‹µ +InstallingLabel=‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^‚É [name] ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚Ü‚·B‚µ‚΂炂¨‘Ò‚¿‚‚¾‚³‚¢B + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] ƒZƒbƒgƒAƒbƒvƒEƒBƒU[ƒh‚ÌŠ®—¹ +FinishedLabelNoIcons=‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^‚É [name] ‚ªƒZƒbƒgƒAƒbƒv‚³‚ê‚Ü‚µ‚½B +FinishedLabel=‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^‚É [name] ‚ªƒZƒbƒgƒAƒbƒv‚³‚ê‚Ü‚µ‚½BƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŽÀs‚·‚é‚ɂ̓Cƒ“ƒXƒg[ƒ‹‚³‚ꂽƒAƒCƒRƒ“‚ð‘I‘ð‚µ‚Ä‚‚¾‚³‚¢B +ClickFinish=ƒZƒbƒgƒAƒbƒv‚ðI—¹‚·‚é‚É‚ÍuŠ®—¹v‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +FinishedRestartLabel=[name] ‚̃Cƒ“ƒXƒg[ƒ‹‚ðŠ®—¹‚·‚邽‚ß‚É‚ÍAƒRƒ“ƒsƒ…[ƒ^‚ðÄ‹N“®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B‚·‚®‚ÉÄ‹N“®‚µ‚Ü‚·‚©H +FinishedRestartMessage=[name] ‚̃Cƒ“ƒXƒg[ƒ‹‚ðŠ®—¹‚·‚邽‚ß‚É‚ÍAƒRƒ“ƒsƒ…[ƒ^‚ðÄ‹N“®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B%n%n‚·‚®‚ÉÄ‹N“®‚µ‚Ü‚·‚©H +ShowReadmeCheck=READMEƒtƒ@ƒCƒ‹‚ð•\Ž¦‚·‚éB +YesRadio=‚·‚®Ä‹N“®(&Y) +NoRadio=Œã‚ÅŽè“®‚ÅÄ‹N“®(&N) +; used for example as 'Run MyProg.exe' +RunEntryExec=%1 ‚ÌŽÀs +; used for example as 'View Readme.txt' +RunEntryShellExec=%1 ‚Ì•\Ž¦ + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=ƒfƒBƒXƒN‚Ì‘}“ü +SelectDiskLabel2=ƒfƒBƒXƒN %1 ‚ð‘}“ü‚µAuOKv‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B%n%n‚±‚̃fƒBƒXƒN‚̃tƒ@ƒCƒ‹‚ª‰º‚É•\Ž¦‚³‚ê‚Ä‚¢‚éƒtƒHƒ‹ƒ_ˆÈŠO‚Ìꊂɂ ‚éꇂÍA³‚µ‚¢ƒpƒX‚ð“ü—Í‚·‚é‚©uŽQÆvƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +PathLabel=ƒpƒX(&P): +FileNotInDir2=ƒtƒ@ƒCƒ‹ %1 ‚ª %2 ‚ÉŒ©‚‚©‚è‚Ü‚¹‚ñB³‚µ‚¢ƒfƒBƒXƒN‚ð‘}“ü‚·‚é‚©A•Ê‚̃tƒHƒ‹ƒ_‚ðŽw’肵‚Ä‚‚¾‚³‚¢B +SelectDirectoryLabel=ŽŸ‚̃fƒBƒXƒN‚Ì‚ ‚éꊂðŽw’肵‚Ä‚‚¾‚³‚¢B + +; *** Installation phase messages +SetupAborted=ƒZƒbƒgƒAƒbƒv‚ÍŠ®—¹‚µ‚Ä‚¢‚Ü‚¹‚ñB%n%n–â‘è‚ð‰ðŒˆ‚µ‚Ä‚©‚çA‚à‚¤ˆê“xƒZƒbƒgƒAƒbƒv‚ðŽÀs‚µ‚Ä‚‚¾‚³‚¢B +EntryAbortRetryIgnore=‚à‚¤ˆê“x‚â‚è‚È‚¨‚·‚É‚ÍuÄŽŽsvAƒGƒ‰[‚𖳎‹‚µ‚Ä‘±s‚·‚é‚É‚Íu–³Ž‹vAƒCƒ“ƒXƒg[ƒ‹‚𒆎~‚·‚é‚É‚Íu’†Ž~v‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B + +; *** Installation status messages +StatusCreateDirs=ƒtƒHƒ‹ƒ_‚ð쬂µ‚Ä‚¢‚Ü‚·... +StatusExtractFiles=ƒtƒ@ƒCƒ‹‚ð“WŠJ‚µ‚Ä‚¢‚Ü‚·... +StatusCreateIcons=ƒVƒ‡|ƒgƒJƒbƒg‚ð쬂µ‚Ä‚¢‚Ü‚·... +StatusCreateIniEntries=INIƒtƒ@ƒCƒ‹‚ðݒ肵‚Ä‚¢‚Ü‚·... +StatusCreateRegistryEntries=ƒŒƒWƒXƒgƒŠ‚ðݒ肵‚Ä‚¢‚Ü‚·... +StatusRegisterFiles=ƒtƒ@ƒCƒ‹‚ð“o˜^‚µ‚Ä‚¢‚Ü‚·... +StatusSavingUninstall=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹î•ñ‚ð•Û‘¶‚µ‚Ä‚¢‚Ü‚·... +StatusRunProgram=ƒCƒ“ƒXƒg[ƒ‹‚ðŠ®—¹‚µ‚Ä‚¢‚Ü‚·... +StatusRollback=•ÏX‚ðŒ³‚É–ß‚µ‚Ä‚¢‚Ü‚·... + +; *** Misc. errors +ErrorInternal2=“à•”ƒGƒ‰[: %1 +ErrorFunctionFailedNoCode=%1 ƒGƒ‰[ +ErrorFunctionFailed=%1 ƒGƒ‰[: ƒR[ƒh %2 +ErrorFunctionFailedWithMessage=%1 ƒGƒ‰[: ƒR[ƒh %2.%n%3 +ErrorExecutingProgram=ƒtƒ@ƒCƒ‹ŽÀsƒGƒ‰[:%n%1 + +; *** Registry errors +ErrorRegOpenKey=ƒŒƒWƒXƒgƒŠƒL[ƒI[ƒvƒ“ƒGƒ‰[:%n%1\%2 +ErrorRegCreateKey=ƒŒƒWƒXƒgƒŠƒL[쬃Gƒ‰[:%n%1\%2 +ErrorRegWriteKey=ƒŒƒWƒXƒgƒŠƒL[‘‚«ž‚݃Gƒ‰[:%n%1\%2 + +; *** INI errors +ErrorIniEntry=INIƒtƒ@ƒCƒ‹ƒGƒ“ƒgƒŠì¬ƒGƒ‰[: ƒtƒ@ƒCƒ‹ %1 + +; *** File copying errors +FileAbortRetryIgnore=‚à‚¤ˆê“x‚â‚è‚È‚¨‚·‚É‚ÍuÄŽŽsvA‚±‚̃tƒ@ƒCƒ‹‚ðƒXƒLƒbƒv‚µ‚Ä‘±s‚·‚é‚É‚Íu–³Ž‹vi„§‚³‚ê‚Ü‚¹‚ñjAƒCƒ“ƒXƒg[ƒ‹‚𒆎~‚·‚é‚É‚Íu’†Ž~v‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +FileAbortRetryIgnore2=‚à‚¤ˆê“x‚â‚è‚È‚¨‚·‚É‚ÍuÄŽŽsvA‚±‚̃tƒ@ƒCƒ‹‚ðƒXƒLƒbƒv‚µ‚Ä‘±s‚·‚é‚É‚Íu–³Ž‹vi„§‚³‚ê‚Ü‚¹‚ñjAƒCƒ“ƒXƒg[ƒ‹‚𒆎~‚·‚é‚É‚Íu’†Ž~v‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +SourceIsCorrupted=ƒRƒs[Œ³‚̃tƒ@ƒCƒ‹‚ª‰ó‚ê‚Ä‚¢‚Ü‚·B +SourceDoesntExist=ƒRƒs[Œ³‚̃tƒ@ƒCƒ‹ %1 ‚ªŒ©‚‚©‚è‚Ü‚¹‚ñB +ExistingFileReadOnly=Šù‘¶‚̃tƒ@ƒCƒ‹‚Í“Ç‚ÝŽæ‚èê—p‚Å‚·B%n%n“Ç‚ÝŽæ‚èê—p‘®«‚ð‰ðœ‚µ‚Ä‚à‚¤ˆê“x‚â‚è‚È‚¨‚·‚É‚ÍuÄŽŽsvA‚±‚̃tƒ@ƒCƒ‹‚ðƒXƒLƒbƒv‚µ‚Ä‘±s‚·‚é‚É‚Íu–³Ž‹vAƒCƒ“ƒXƒg[ƒ‹‚𒆎~‚·‚é‚É‚Íu’†Ž~v‚ðƒNƒŠƒbƒN‚µ‚Ä‚‚¾‚³‚¢B +ErrorReadingExistingDest=Šù‘¶‚̃tƒ@ƒCƒ‹‚ð“Ç‚Ýž‚Ý’†‚ɃGƒ‰[‚ª”¶‚µ‚Ü‚µ‚½B: +FileExists=ƒtƒ@ƒCƒ‹‚ÍŠù‚É‘¶Ý‚µ‚Ü‚·B%n%nã‘‚«‚µ‚Ü‚·‚©H +ExistingFileNewer=ƒCƒ“ƒXƒg[ƒ‹‚µ‚悤‚Æ‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚æ‚è‚àV‚µ‚¢ƒtƒ@ƒCƒ‹‚ª‘¶Ý‚µ‚Ü‚·BŠù‘¶‚̃tƒ@ƒCƒ‹‚ðŽc‚·‚±‚Æ‚ð‚¨§‚ß‚µ‚Ü‚·B%n%nŠù‘¶‚̃tƒ@ƒCƒ‹‚ðŽc‚µ‚Ü‚·‚©B +ErrorChangingAttr=Šù‘¶ƒtƒ@ƒCƒ‹‚Ì‘®«‚ð•ÏX’†‚ɃGƒ‰[‚ª”¶‚µ‚Ü‚µ‚½B: +ErrorCreatingTemp=ƒRƒs[æ‚̃tƒHƒ‹ƒ_‚Ƀtƒ@ƒCƒ‹‚ð쬒†‚ɃGƒ‰[‚ª”¶‚µ‚Ü‚µ‚½B: +ErrorReadingSource=ƒRƒs[Œ³‚̃tƒ@ƒCƒ‹‚ð“Ç‚Ýž‚Ý’†‚ɃGƒ‰[‚ª”¶‚µ‚Ü‚µ‚½B: +ErrorCopying=ƒtƒ@ƒCƒ‹‚ðƒRƒs[’†‚ɃGƒ‰[‚ª”¶‚µ‚Ü‚µ‚½B: +ErrorReplacingExistingFile=Šù‘¶ƒtƒ@ƒCƒ‹‚ð’u‚«Š·‚¦’†‚ɃGƒ‰[‚ª”¶‚µ‚Ü‚µ‚½B: +ErrorRestartReplace=’u‚«Š·‚¦ÄŠJ’†‚ɃGƒ‰[‚ª”¶‚µ‚Ü‚µ‚½B: +ErrorRenamingTemp=ƒRƒs[æƒtƒHƒ‹ƒ_‚̃tƒ@ƒCƒ‹–¼‚ð•ÏX’†‚ɃGƒ‰[‚ª”¶‚µ‚Ü‚µ‚½B: +ErrorRegisterServer=DLL/OCX‚Ì“o˜^‚ÉŽ¸”s‚µ‚Ü‚µ‚½B: %1 +ErrorRegSvr32Failed=RegSvr32‚̓Gƒ‰[ƒR[ƒh %1 ‚É‚æ‚莸”s‚µ‚Ü‚µ‚½B +ErrorRegisterTypeLib=ƒ^ƒCƒvƒ‰ƒCƒuƒ‰ƒŠ‚Ö‚Ì“o˜^‚ÉŽ¸”s‚µ‚Ü‚µ‚½B: %1 + +; *** Post-installation errors +ErrorOpeningReadme=READMEƒtƒ@ƒCƒ‹‚̃I[ƒvƒ“‚ÉŽ¸”s‚µ‚Ü‚µ‚½B +ErrorRestartingComputer=ƒRƒ“ƒsƒ…[ƒ^‚ÌÄ‹N“®‚ÉŽ¸”s‚µ‚Ü‚µ‚½BŽè“®‚ÅÄ‹N“®‚µ‚Ä‚‚¾‚³‚¢B + +; *** Uninstaller messages +UninstallNotFound=ƒtƒ@ƒCƒ‹ %1 ‚ªŒ©‚‚©‚è‚Ü‚¹‚ñBƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚ðŽÀs‚Å‚«‚Ü‚¹‚ñB +UninstallOpenError=ƒtƒ@ƒCƒ‹ %1 ‚ðŠJ‚¯‚邱‚Æ‚ª‚Å‚«‚Ü‚¹‚ñBƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚ðŽÀs‚Å‚«‚Ü‚¹‚ñB +UninstallUnsupportedVer=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹ƒƒOƒtƒ@ƒCƒ‹ %1 ‚ÍA‚±‚̃o[ƒWƒ‡ƒ“‚̃Aƒ“ƒCƒ“ƒXƒg[ƒ‹ƒvƒƒOƒ‰ƒ€‚ª”FŽ¯‚Å‚«‚È‚¢Œ`Ž®‚Å‚·BƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚ðŽÀs‚Å‚«‚Ü‚¹‚ñB +UninstallUnknownEntry=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹ƒƒO‚É•s–¾‚̃Gƒ“ƒgƒŠ %1 ‚ªŒ©‚‚©‚è‚Ü‚µ‚½B +ConfirmUninstall=%1 ‚Æ‚»‚ÌŠÖ˜AƒRƒ“ƒ|[ƒlƒ“ƒg‚ð‚·‚×‚Ä휂µ‚Ü‚·B‚æ‚낵‚¢‚Å‚·‚©H +UninstallOnlyOnWin64=‚±‚̃vƒƒOƒ‰ƒ€‚Í64-bit”ÅWindowsã‚ł̂݃Aƒ“ƒCƒ“ƒXƒg[ƒ‹‚Å‚«‰Â”\‚Å‚·B +OnlyAdminCanUninstall=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚·‚邽‚ß‚É‚ÍŠÇ—ŽÒŒ ŒÀ‚ª•K—v‚Å‚·B +UninstallStatusLabel=‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^‚©‚ç %1 ‚ð휂µ‚Ä‚¢‚Ü‚·B‚µ‚΂炂¨‘Ò‚¿‚‚¾‚³‚¢B +UninstalledAll=%1 ‚Í‚²Žg—p‚̃Rƒ“ƒsƒ…[ƒ^‚©‚ç³í‚É휂³‚ê‚Ü‚µ‚½B +UninstalledMost=%1 ‚̃Aƒ“ƒCƒ“ƒXƒg[ƒ‹‚ªŠ®—¹‚µ‚Ü‚µ‚½B%n%n‚¢‚‚‚©‚Ì€–Ú‚ªíœ‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½BŽè“®‚Å휂µ‚Ä‚‚¾‚³‚¢B +UninstalledAndNeedsRestart=%1 ‚Ìíœ‚ðŠ®—¹‚·‚邽‚ß‚É‚ÍAƒRƒ“ƒsƒ…[ƒ^‚ðÄ‹N“®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B‚·‚®‚ÉÄ‹N“®‚µ‚Ü‚·‚©H +UninstallDataCorrupted=ƒtƒ@ƒCƒ‹ "%1" ‚ª‰ó‚ê‚Ä‚¢‚Ü‚·BƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚ðŽÀs‚Å‚«‚Ü‚¹‚ñB + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=‹¤—Lƒtƒ@ƒCƒ‹‚Ìíœ +ConfirmDeleteSharedFile2=ƒVƒXƒeƒ€ã‚ÅAŽŸ‚Ì‹¤—Lƒtƒ@ƒCƒ‹‚͂ǂ̃vƒƒOƒ‰ƒ€‚Å‚àŽg—p‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB‚±‚Ì‹¤—Lƒtƒ@ƒCƒ‹‚ð휂µ‚Ü‚·‚©H%n%n‘¼‚̃vƒƒOƒ‰ƒ€‚ª‚Ü‚¾‚±‚̃tƒ@ƒCƒ‹‚ðŽg—p‚·‚éê‡A휂·‚é‚ƃvƒƒOƒ‰ƒ€‚ª“®ì‚µ‚È‚‚È‚é‹°‚ꂪ‚ ‚è‚Ü‚·B‚ ‚Ü‚èŠmŽÀ‚Å‚È‚¢ê‡‚Íu‚¢‚¢‚¦v‚ð‘I‘ð‚µ‚Ä‚‚¾‚³‚¢BƒVƒXƒeƒ€‚Ƀtƒ@ƒCƒ‹‚ðŽc‚µ‚Ä‚à–â‘è‚ðˆø‚«‹N‚±‚·‚±‚Æ‚Í‚ ‚è‚Ü‚¹‚ñB +SharedFileNameLabel=ƒtƒ@ƒCƒ‹–¼: +SharedFileLocationLabel=êŠ: +WizardUninstalling=ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹ó‹µ +StatusUninstalling=%1 ‚ðƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚Ü‚·... + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 ƒo[ƒWƒ‡ƒ“ %2 +AdditionalIcons=ƒAƒCƒRƒ“‚ð’ljÁ‚·‚é: +CreateDesktopIcon=ƒfƒXƒNƒgƒbƒvã‚ɃAƒCƒRƒ“‚ð쬂·‚é(&d) +CreateQuickLaunchIcon=&Quick Launch ƒAƒCƒRƒ“‚ð쬂·‚é +ProgramOnTheWeb=%1 on the Web +UninstallProgram=%1 ‚ðƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚·‚é +LaunchProgram=%1 ‚ðŽÀs‚·‚é +AssocFileExtension=%2 ƒtƒ@ƒCƒ‹Šg’£‚É %1‚ðŠÖ˜A•t‚¯‚Ü‚·B +AssocingFileExtension=%2 ‚É %1‚ðŠÖ˜A•t‚¯‚Ü‚·B diff --git a/tools/innosetup/ja_JP_scilab.isl b/tools/innosetup/ja_JP_scilab.isl new file mode 100755 index 000000000..d52d13261 --- /dev/null +++ b/tools/innosetup/ja_JP_scilab.isl @@ -0,0 +1,138 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +ja_JP.LANGUAGE =ja_JP + +ja_JP.MsgBoxJRENotFound =Java Runtime Environment not detected. +ja_JP.MsgBoxJREURL =Please download & Install JRE at http://www.java.com/ja_JP/download/ +ja_JP.MsgBoxJREReinstall =Reinstall Scilab after your JRE update. +ja_JP.MsgBoxSSERequired =CPU SSE2 instructions are required for Scilab to run correctly. +ja_JP.MsgBoxX64Ready =For increase performance, it will be better to use Scilab x64 bits version on this Operating system. + +ja_JP.MsgBoxJavaDetection1 =Java is not installed on this computer and this program needs it. +ja_JP.MsgBoxJavaDetection2 =Please choose to install Java Runtime: +ja_JP.MsgBoxWebOpen =Can not open web page. +ja_JP.MsgBoxDevToolsRequired1 =You choose to install toolbox_skeleton module but development_tools module is not selected. +ja_JP.MsgBoxDevToolsRequired2 =Please install development_tools module. +ja_JP.MsgBoxDevToolsRequired3 =You choose to install tests module but development_tools module is not selected. +ja_JP.MsgBoxTclsciRequired2 =Please install tclsci module. +ja_JP.MsgBoxFftw1 =You choose to install FFTW module for Scilab. +ja_JP.MsgBoxFftw2 =This module requires to download FFTW library (GPL). +ja_JP.MsgBoxFftw3 =Do you want to open a web page about this add-on ? +ja_JP.MsgBoxFftw4 =Can not open web page. +ja_JP.MsgBoxWinVer =Windows 2000 is required. +ja_JP.MsgBoxScicosRequired1 =You choose to install Xcos module but Scicos module is not selected. +ja_JP.MsgBoxScicosRequired2 =Please also install Scicos module. + +; +ja_JP.ButtonAboutModules =&About modules ... +; +ja_JP.DescriptionEquDif =Differential Equations Module +ja_JP.DescriptionInterpolation =Interpolation Module +ja_JP.DescriptionPolynomials =Polynomials Module +ja_JP.DescriptionSymbolic =Symbolic Module +ja_JP.DescriptionStats =Statistics Module +ja_JP.DescriptionSparse =Sparse Matrix Module +ja_JP.DescriptionLinAlg =Linear Algebra Module +ja_JP.DescriptionSigProc =Signal processing Module +ja_JP.DescriptionCacsd =C.A.C.S.D Module +ja_JP.DescriptionGraphics =Graphics Module +ja_JP.DescriptionOptim =Optimization Module +ja_JP.DescriptionMetanet =Metanet Toolbox +ja_JP.DescriptionScicos =Scicos Toolbox +ja_JP.DescriptionArnoldi =ARnoldi PACKage Toolbox +ja_JP.DescriptionUmfpack =UMFPACK for Scilab +ja_JP.DescriptionCompatFunctions =Compatibility functions +ja_JP.DescriptionM2sci =M2SCI Toolbox +ja_JP.DescriptionMatio =MAT File Input/Output Toolbox +ja_JP.DescriptionExternalObjects =External objects +ja_JP.DescriptionSound =Sound file handling Toolbox +ja_JP.DescriptionRandlib =Randlib Toolbox +ja_JP.DescriptionMexlib =Mexlib Tools +ja_JP.DescriptionIntersci =Intersci Toolbox +ja_JP.DescriptionTclTK =TCL/TK in Scilab +ja_JP.DescriptionSpreadsheet =Spreadsheet Toolbox +ja_JP.DescriptionJVM =Java Runtime +ja_JP.DescriptionAtlas =Atlas library 3.8.0 CPU optimized +ja_JP.DescriptionFftwModule =FFTW interface for Scilab +ja_JP.DescriptionFftwMKLDownload =Download FFTW library optimized by Intel Math Kernel Library +ja_JP.DescriptionRefFftwLibrary =Reference FFTW library +ja_JP.DescriptionParametersTlbx =Parameters Toolbox +ja_JP.DescriptionGeneticTlbx =Genetic Algorithms Toolbox +ja_JP.DescriptionSimulAnnealingTlbx =Simulated Annealing Toolbox +ja_JP.DescriptionDevTools =Development Tools +ja_JP.DescriptionTests =Tests for Scilab +ja_JP.DescriptionTlbxSkeleton =A toolbox skeleton (to extend Scilab) +ja_JP.DescriptionComConnector =COM connector +ja_JP.DescriptionSciNotes =SciNotes: Editor for Scilab +ja_JP.DescriptionXcos =Xcos +ja_JP.DescriptionParallel =Parallel Computing with Scilab +ja_JP.DescriptionModulesManager =Tools for management of extern modules +ja_JP.DescriptionModuleJVM =JVM Module +; +ja_JP.ConsoleIconName =Scilab Console +; +ja_JP.WebIconScilab =Scilab on the Web +; +ja_JP.ReadMeIcon =Read Me +; +ja_JP.UnInstallIcon =Uninstall Scilab +; +ja_JP.RegKeyRunWith =Run with +; +ja_JP.DescriptionVC2008Redist =Install Microsoft Visual C++ 2008 Redistributable Package +; +ja_JP.DescriptionConfigureAtlas =Configure Atlas +; +ja_JP.DescriptionLaunchScilab =Launch Scilab +; +ja_JP.DescriptionCreateDesktopIcon =Create a &desktop icon +; +ja_JP.DescriptionQuickLaunch =Create a shortcut in Quick Launch Bar +; +ja_JP.DescriptionAssociateSceSci =Associate *.sce,*.sci files with Scilab +; +ja_JP.DescriptionAssociateTstDem =Associate *.tst files with Scilab +; +ja_JP.DescriptionAssociateBinSav =Associate *.bin, *.sav files with Scilab +; +ja_JP.DescriptionAssociateGraph =Associate *.graph *.graphb files with Scilab +; +ja_JP.DescriptionAssociateScicos =Associate *.xcos *.cos *.cosf files with Scilab +; +ja_JP.DescriptionDefaultInstall =Installation (Default) +ja_JP.DescriptionFullInstall =Full installation +ja_JP.DescriptionCustomInstall =Custom installation +ja_JP.DescriptionCLIInstall =Command Line Minimal Installation (no gui) +; +ja_JP.DescriptionCPUOptimization =CPU Optimization for Scilab +ja_JP.DescriptionATLASLibrary =Atlas Library for Scilab +ja_JP.DescriptionRefBlasLibrary =Blas, Lapack Reference libraries for Scilab +ja_JP.DescriptionMKLLibrary =Download Intel Math Kernel Library for Scilab +; +ja_JP.DownloadMKLLabel =Downloading Intel Math Kernel Library files for Scilab +ja_JP.DownloadMKLDescription =Please wait while Setup is downloading extra files to your computer. +; +ja_JP.DownloadMKLFFTWLabel =Downloading FFTW3 library optimized by Intel Math Kernel. +; +ja_JP.DoTasksJustAfterInstallMsg2 =BLAS, LAPACK reference libraries will be installed and used. +ja_JP.DoTasksJustAfterInstallMsg3 =FFTW3 reference library will be installed and used. +; +ja_JP.NextButtonClickwpReadyMsg1 =Impossible to download Intel Math Kernel Library files for Scilab (Default library will be used). +ja_JP.NextButtonClickwpReadyMsg2 =Impossible to download FFTW3 library optimized by Intel Math Kernel Library (Default library will be used). +; +ja_JP.DescriptionAtoms =ATOMS +;------------------------------------------------------------------------------- +;
\ No newline at end of file diff --git a/tools/innosetup/languages.iss b/tools/innosetup/languages.iss new file mode 100755 index 000000000..76da9ee5c --- /dev/null +++ b/tools/innosetup/languages.iss @@ -0,0 +1,30 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +Name: "en_US"; MessagesFile: "compiler:Default.isl"; LicenseFile: {#BinariesSourcePath}\COPYING +Name: "ru_RU"; MessagesFile: "compiler:Languages\Russian.isl"; LicenseFile: {#BinariesSourcePath}\COPYING +Name: "zh_CN"; MessagesFile: "{#BinariesSourcePath}\tools\innosetup\zh_CN.isl"; LicenseFile: {#BinariesSourcePath}\COPYING +Name: "zh_TW"; MessagesFile: "{#BinariesSourcePath}\tools\innosetup\zh_TW.isl"; LicenseFile: {#BinariesSourcePath}\COPYING +Name: "ja_JP"; MessagesFile: "{#BinariesSourcePath}\tools\innosetup\ja_JP.isl"; LicenseFile: {#BinariesSourcePath}\COPYING +Name: "uk_UA"; MessagesFile: "{#BinariesSourcePath}\tools\innosetup\uk_UA.isl"; LicenseFile: {#BinariesSourcePath}\COPYING +Name: "pl_PL"; MessagesFile: "{#BinariesSourcePath}\tools\innosetup\pl_PL.isl"; LicenseFile: {#BinariesSourcePath}\COPYING +Name: "es_ES"; MessagesFile: "compiler:Languages\Spanish.isl"; LicenseFile: {#BinariesSourcePath}\COPYING +Name: "it_IT"; MessagesFile: "compiler:Languages\Italian.isl"; LicenseFile: {#BinariesSourcePath}\COPYING +Name: "ca_ES"; MessagesFile: "compiler:Languages\Catalan.isl"; LicenseFile: {#BinariesSourcePath}\COPYING +Name: "de_DE"; MessagesFile: "compiler:Languages\German.isl"; LicenseFile: {#BinariesSourcePath}\COPYING +Name: "pt_BR"; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"; LicenseFile: {#BinariesSourcePath}\COPYING +Name: "fr_FR"; MessagesFile: "compiler:Languages\French.isl"; LicenseFile: {#BinariesSourcePath}\COPYING-FR +Name: "cs_CZ"; MessagesFile: "compiler:Languages\Czech.isl"; LicenseFile: {#BinariesSourcePath}\COPYING +;------------------------------------------------------------------------------- diff --git a/tools/innosetup/pl_PL.isl b/tools/innosetup/pl_PL.isl new file mode 100755 index 000000000..d9dd58d6d --- /dev/null +++ b/tools/innosetup/pl_PL.isl @@ -0,0 +1,309 @@ +; *** Inno Setup version 5.1.11+ Polish messages *** +; Krzysztof Cynarski <krzysztof at cynarski.net> +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/is3rdparty.php +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; $jrsoftware: issrc/Files/Languages/Polish.isl,v 1.16 2007/03/09 16:56:52 jr Exp $ + +[LangOptions] +LanguageName=Polski +LanguageID=$0415 +LanguageCodePage=1250 + +[Messages] + +; *** Application titles +SetupAppTitle=Instalator +SetupWindowTitle=Instalacja - %1 +UninstallAppTitle=Deinstalacja +UninstallAppFullTitle=Odinstaluj %1 + +; *** Misc. common +InformationTitle=Informacja +ConfirmTitle=PotwierdŸ +ErrorTitle=B³¹d + +; *** SetupLdr messages +SetupLdrStartupMessage=Ten program zainstaluje aplikacjê %1. Czy chcesz kontynuowaæ? +LdrCannotCreateTemp=Nie mo¿na utworzyæ pliku tymczasowego. Instalacja przerwana +LdrCannotExecTemp=Nie mo¿na uruchomiæ pliku w folderze tymczasowym. Instalacja przerwana + +; *** Startup error messages +LastErrorMessage=%1.%n%nB³¹d %2: %3 +SetupFileMissing=W folderze instalacyjnym brak pliku %1.%nProszê usun¹æ problem lub uzyskaæ now¹ kopiê programu instalacyjnego. +SetupFileCorrupt=Pliki sk³adowe Instalatora s¹ uszkodzone. Proszê uzyskaæ now¹ kopiê Instalatora od producenta. +SetupFileCorruptOrWrongVer=Pliki sk³adowe instalatora s¹ uszkodzone lub niezgodne z t¹ wersj¹ Instalatora. Proszê rozwi¹zaæ ten problem lub uzyskaæ now¹ kopiê Instalatora od producenta. +NotOnThisPlatform=Tego programu nie mo¿na uruchomiæ w systemie %1. +OnlyOnThisPlatform=Ten program wymaga systemu %1. +OnlyOnTheseArchitectures=Ten program mo¿e byæ uruchomiony tylko w systemie Windows zaprojektowanym na procesory o architekturach:%n%n%1 +MissingWOW64APIs=Ta wersja systemu Windows nie zawiera komponentów niezbêdnych do przeprowadzenia 64 bitowej instalacji. Aby usun¹æ ten problem, proszê zainstalowaæ Service Pack %1. +WinVersionTooLowError=Ten program wymaga %1 w wersji %2 lub póŸniejszej. +WinVersionTooHighError=Ten program nie mo¿e byæ zainstalowany w wersji %2 lub póŸniejszej systemu %1. +AdminPrivilegesRequired=Aby przeprowadziæ instalacjê tego programu, U¿ytkownik musi byæ zalogowany z uprawnieniami administratora. +PowerUserPrivilegesRequired=Aby przeprowadziæ instalacjê tego programu, U¿ytkownik musi byæ zalogowany z uprawnieniami administratora lub u¿ytkownika zaawansowanego. +SetupAppRunningError=Instalator wykry³, ¿e %1 jest aktualnie uruchomiony.%n%nZamknij wszystkie okienka tej aplikacji, a potem wybierz przycisk OK, aby kontynuowaæ, lub Anuluj, aby przerwaæ instalacjê. +UninstallAppRunningError=Deinstalator wykry³, ¿e %1 jest aktualnie uruchomiony.%n%nZamknij teraz wszystkie okna tej aplikacji, a nastêpnie wybierz przycisk OK, aby kontynuowaæ, lub Anuluj, aby przerwaæ deinstalacje. + +; *** Misc. errors +ErrorCreatingDir=Instalator nie móg³ utworzyæ foldera "%1" +ErrorTooManyFilesInDir=Nie mo¿na utworzyæ pliku w folderze %1, poniewa¿ zawiera on za du¿o plików + +; *** Setup common messages +ExitSetupTitle=Zakoñcz instalacjê +ExitSetupMessage=Instalacja nie jest zakoñczona. Je¿eli przerwiesz j¹ teraz, program nie zostanie zainstalowany. Mo¿na ponowiæ instalacjê póŸniej, uruchamiaj¹c pakiet Instalatora.%n%nCzy chcesz przerwaæ instalacjê ? +AboutSetupMenuItem=&O Instalatorze... +AboutSetupTitle=O Instalatorze +AboutSetupMessage=%1 wersja %2%n%3%n%n Strona domowa %1:%n%4 +AboutSetupNote= +TranslatorNote=Wersja Polska: Krzysztof Cynarski%n<krzysztof at cynarski.net> + +; *** Buttons +ButtonBack=< &Wstecz +ButtonNext=&Dalej > +ButtonInstall=&Instaluj +ButtonOK=OK +ButtonCancel=Anuluj +ButtonYes=&Tak +ButtonYesToAll=Tak na &wszystkie +ButtonNo=&Nie +ButtonNoToAll=N&ie na wszystkie +ButtonFinish=&Zakoñcz +ButtonBrowse=&Przegl¹daj... +ButtonWizardBrowse=P&rzegl¹daj... +ButtonNewFolder=&Utwórz nowy folder + +; *** "Select Language" dialog messages +SelectLanguageTitle=Wybierz jêzyk instalacji +SelectLanguageLabel=Wybierz jêzyk u¿ywany podczas instalacji: + +; *** Common wizard text +ClickNext=Wybierz przycisk Dalej, aby kontynuowaæ, lub Anuluj, aby zakoñczyæ instalacjê. +BeveledLabel= +BrowseDialogTitle=Wska¿ folder +BrowseDialogLabel=Wybierz folder z poni¿szej listy, a nastêpnie wybierz przycisk OK. +NewFolderName=Nowy folder + +; *** "Welcome" wizard page +WelcomeLabel1=Witamy w Kreatorze instalacji programu [name]. +WelcomeLabel2=Instalator zainstaluje teraz program [name/ver] na Twoim komputerze.%n%nZalecane jest zamkniêcie wszystkich innych uruchomionych programów przed rozpoczêciem procesu instalacji. + +; *** "Password" wizard page +WizardPassword=Has³o +PasswordLabel1=Ta instalacja jest zabezpieczona has³em. +PasswordLabel3=Podaj has³o, potem wybierz przycisk Dalej, aby kontynuowaæ. W has³ach rozró¿niane s¹ du¿e i ma³e litery. +PasswordEditLabel=&Has³o: +IncorrectPassword=Wprowadzone has³o nie jest poprawne. Spróbuj ponownie. + +; *** "License Agreement" wizard page +WizardLicense=Umowa Licencyjna +LicenseLabel=Przed kontynuacj¹ proszê przeczytaæ poni¿sze wa¿ne informacje. +LicenseLabel3=Proszê przeczytaæ tekst Umowy Licencyjnej. Musisz zgodziæ siê na warunki tej umowy przed kontynuacj¹ instalacji. +LicenseAccepted=&Akceptujê warunki umowy +LicenseNotAccepted=&Nie akceptujê warunków umowy + +; *** "Information" wizard pages +WizardInfoBefore=Informacja +InfoBeforeLabel=Przed przejœciem do dalszego etapu instalacji, proszê przeczytaæ poni¿sz¹ informacjê. +InfoBeforeClickLabel=Kiedy bêdziesz gotowy do instalacji, kliknij przycisk Dalej. +WizardInfoAfter=Informacja +InfoAfterLabel=Przed przejœciem do dalszego etapu instalacji, proszê przeczytaæ poni¿sz¹ informacjê. +InfoAfterClickLabel=Gdy bêdziesz gotowy do zakoñczenia instalacji, kliknij przycisk Dalej. + +; *** "User Information" wizard page +WizardUserInfo=Dane U¿ytkownika +UserInfoDesc=Proszê podaæ swoje dane. +UserInfoName=&Nazwisko: +UserInfoOrg=&Organizacja: +UserInfoSerial=Numer &seryjny: +UserInfoNameRequired=Musisz podaæ nazwisko. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Wybierz docelow¹ lokalizacjê +SelectDirDesc=Gdzie ma byæ zainstalowany program [name]? +SelectDirLabel3=Instalator zainstaluje program [name] do poni¿szego folderu. +SelectDirBrowseLabel=Kliknij przycisk Dalej, aby kontynuowaæ. Jeœli chcesz okreœliæ inny folder, kliknij przycisk Przegl¹daj. +DiskSpaceMBLabel=Potrzeba przynajmniej [mb] MB wolnego miejsca na dysku. +ToUNCPathname=Instalator nie mo¿e instalowaæ do œcie¿ki UNC. Jeœli próbujesz zainstalowaæ program na dysku sieciowym, najpierw zmapuj ten dysk. +InvalidPath=Musisz wprowadziæ pe³n¹ œcie¿kê wraz z liter¹ dysku, np.:%n%nC:\PROGRAM%n%nlub scie¿kê sieciow¹ (UNC) w formacie:%n%n\\serwer\udzia³ +InvalidDrive=Wybrany dysk lub udostêpniony folder sieciowy nie istnieje. Proszê wybraæ inny. +DiskSpaceWarningTitle=Niewystarczaj¹ca iloœæ wolnego miejsca na dysku +DiskSpaceWarning=Instalator wymaga co najmniej %1 KB wolnego miejsca na dysku. Wybrany dysk posiada tylko %2 KB dostêpnego miejsca.%n%nCzy pomimo to chcesz kontynuowaæ? +DirNameTooLong=Nazwa folderu lub œcie¿ki jest za d³uga. +InvalidDirName=Niepoprawna nazwa folderu. +BadDirName32=Nazwa folderu nie mo¿e zawieraæ ¿adnego z nastêpuj¹cych znaków:%n%n%1 +DirExistsTitle=Ten folder ju¿ istnieje +DirExists=Folder%n%n%1%n%nju¿ istnieje. Czy pomimo to chcesz zainstalowaæ program w tym folderze? +DirDoesntExistTitle=Nie ma takiego folderu +DirDoesntExist=Folder:%n%n%1%n%nnie istnieje. Czy chcesz, aby zosta³ utworzony? + +; *** "Select Components" wizard page +WizardSelectComponents=Zaznacz komponenty +SelectComponentsDesc=Które komponenty maj¹ byæ zainstalowane? +SelectComponentsLabel2=Zaznacz komponenty, które chcesz zainstalowaæ, odznacz te, których nie chcesz zainstalowaæ. Kliknij przycisk Dalej, aby kontynuowaæ. +FullInstallation=Instalacja pe³na +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Instalacja podstawowa +CustomInstallation=Instalacja u¿ytkownika +NoUninstallWarningTitle=Zainstalowane komponenty +NoUninstallWarning=Instalator wykry³, ¿e w twoim komputerze s¹ ju¿ zainstalowane nastêpuj¹ce komponenty:%n%n%1%n%nOdznaczenie któregokolwiek z nich nie spowoduje ich deinstalacji.%n%nCzy pomimo tego chcesz kontynuowaæ? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Wybrane komponenty wymagaj¹ co najmniej [mb] MB na dysku. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Zaznacz dodatkowe zadania +SelectTasksDesc=Które dodatkowe zadania maj¹ byæ wykonane? +SelectTasksLabel2=Zaznacz dodatkowe zadania, które Instalator ma wykonaæ podczas instalacji programu [name], a nastêpnie kliknij przycisk Dalej, aby kontynuowaæ. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Wybierz folder Menu Start +SelectStartMenuFolderDesc=Gdzie maj¹ byæ umieszczone skróty do programu? +SelectStartMenuFolderLabel3=Instalator stworzy skróty do programu w poni¿szym folderze Menu Start. +SelectStartMenuFolderBrowseLabel=Kliknij przycisk Dalej, aby kontynuowaæ. Jeœli chcesz okreœliæ inny folder, kliknij przycisk Przegl¹daj. +MustEnterGroupName=Musisz wprowadziæ nazwê folderu. +GroupNameTooLong=Nazwa folderu lub œcie¿ki jest za d³uga. +InvalidGroupName=Niepoprawna nazwa folderu. +BadGroupName=Nazwa folderu nie mo¿e zawieraæ ¿adnego z nastêpuj¹cych znaków:%n%n%1 +NoProgramGroupCheck2=Nie twórz folderu w &Menu Start + +; *** "Ready to Install" wizard page +WizardReady=Gotowy do rozpoczêcia instalacji +ReadyLabel1=Instalator jest ju¿ gotowy do rozpoczêcia instalacji programu [name] na twoim komputerze. +ReadyLabel2a=Kliknij przycisk Instaluj, aby rozpocz¹æ instalacjê lub Wstecz, jeœli chcesz przejrzeæ lub zmieniæ ustawienia. +ReadyLabel2b=Kliknij przycisk Instaluj, aby kontynuowaæ instalacjê. +ReadyMemoUserInfo=Informacje u¿ytkownika: +ReadyMemoDir=Lokalizacja docelowa: +ReadyMemoType=Rodzaj instalacji: +ReadyMemoComponents=Wybrane komponenty: +ReadyMemoGroup=Folder w Menu Start: +ReadyMemoTasks=Dodatkowe zadania: + +; *** "Preparing to Install" wizard page +WizardPreparing=Przygotowanie do instalacji +PreparingDesc=Instalator przygotowuje instalacjê programu [name] na Twoim komputerze. +PreviousInstallNotCompleted=Instalacja (usuniêcie) poprzedniej wersji programu nie zosta³a zakoñczona. Bêdziesz musia³ ponownie uruchomiæ komputer, aby zakoñczyæ instalacjê. %n%nPo ponownym uruchomieniu komputera uruchom ponownie instalatora, aby zakoñczyæ instalacjê aplikacji [name]. +CannotContinue=Instalator nie mo¿e kontynuowaæ. Kliknij przycisk Anuluj, aby przerwaæ instalacjê. + + +; *** "Installing" wizard page +WizardInstalling=Instalacja +InstallingLabel=Poczekaj, a¿ instalator zainstaluje aplikacjê [name] na Twoim komputerze. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Zakoñczono instalacjê programu [name] +FinishedLabelNoIcons=Instalator zakoñczy³ instalacjê programu [name] na Twoim komputerze. +FinishedLabel=Instalator zakoñczy³ instalacjê programu [name] na Twoim komputerze. Aplikacja mo¿e byæ uruchomiona poprzez u¿ycie zainstalowanych skrótów. +ClickFinish=Kliknij przycisk Zakoñcz, aby zakoñczyæ instalacjê. +FinishedRestartLabel=Aby zakoñczyæ instalacjê programu [name], Instalator musi ponownie uruchomiæ Twój komputer. Czy chcesz teraz wykonaæ restart komputera? +FinishedRestartMessage=Aby zakoñczyæ instalacjê programu [name], Instalator musi ponownie uruchomiæ Twój komputer.%n%nCzy chcesz teraz wykonaæ restart komputera? +ShowReadmeCheck=Tak, chcê przeczytaæ dodatkowe informacje +YesRadio=&Tak, teraz uruchom ponownie +NoRadio=&Nie, sam zrestartujê póŸniej +; used for example as 'Run MyProg.exe' +RunEntryExec=Uruchom %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Poka¿ %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Instalator potrzebuje nastêpnej dyskietki +SelectDiskLabel2=Proszê w³o¿yæ dyskietkê %1 i klikn¹æ przycisk OK.%n%nJeœli pokazany poni¿ej folder nie okreœla po³o¿enia plików z tej dyskietki, wprowadŸ poprawn¹ œcie¿kê lub kliknij przycisk Przegl¹daj. +PathLabel=Œ&cie¿ka: +FileNotInDir2=Plik "%1" nie zosta³ znaleziony na dyskietce "%2". Proszê w³o¿yæ w³aœciw¹ dyskietkê lub wybraæ inny folder. +SelectDirectoryLabel=Proszê okreœliæ lokalizacjê nastêpnej dyskietki. + +; *** Installation phase messages +SetupAborted=Instalacja nie zosta³a zakoñczona.%n%nProszê rozwi¹zaæ problem i ponownie rozpocz¹æ instalacjê. +EntryAbortRetryIgnore=Mo¿esz ponowiæ nieudan¹ czynnoœæ, zignorowaæ j¹ (nie zalecane) lub przerwaæ instalacjê. + +; *** Installation status messages +StatusCreateDirs=Tworzenie folderów... +StatusExtractFiles=Dekompresja plików... +StatusCreateIcons=Tworzenie ikon aplikacji... +StatusCreateIniEntries=Tworzenie zapisów w plikach INI... +StatusCreateRegistryEntries=Tworzenie zapisów w rejestrze... +StatusRegisterFiles=Rejestracja plików... +StatusSavingUninstall=Zachowanie informacji deinstalatora... +StatusRunProgram=Koñczenie instalacji... +StatusRollback=Cofanie zmian... + +; *** Misc. errors +ErrorInternal2=Wewnêtrzny b³¹d: %1 +ErrorFunctionFailedNoCode=B³¹d podczas wykonywania %1 +ErrorFunctionFailed=B³¹d podczas wykonywania %1; kod %2 +ErrorFunctionFailedWithMessage=B³¹d podczas wykonywania %1; code %2.%n%3 +ErrorExecutingProgram=Nie mo¿na uruchomiæ:%n%1 + +; *** Registry errors +ErrorRegOpenKey=B³¹d podczas otwierania klucza rejestru:%n%1\%2 +ErrorRegCreateKey=B³¹d podczas tworzenia klucza rejestru:%n%1\%2 +ErrorRegWriteKey=B³¹d podczas zapisu do klucza rejestru:%n%1\%2 + +; *** INI errors +ErrorIniEntry=B³¹d podczas tworzenia pozycji w pliku INI: "%1". + +; *** File copying errors +FileAbortRetryIgnore=Mo¿esz ponowiæ nieudan¹ czynnoœæ, zignorowaæ j¹, aby omin¹æ ten plik (nie zalecane), lub przerwaæ instalacjê. +FileAbortRetryIgnore2=Mo¿esz ponowiæ nieudan¹ czynnoœæ, zignorowaæ j¹ (nie zalecane) lub przerwaæ instalacjê. +SourceIsCorrupted=Plik Ÿród³owy jest uszkodzony +SourceDoesntExist=Plik Ÿród³owy "%1" nie istnieje +ExistingFileReadOnly=Istniej¹cy plik jest oznaczony jako tylko-do-odczytu.%n%nMo¿esz ponowiæ (aby usun¹æ oznaczenie) zignorowaæ (aby omin¹æ ten plik) lub przerwaæ instalacjê. +ErrorReadingExistingDest=Wyst¹pi³ b³¹d podczas próby odczytu istniej¹cego pliku: +FileExists=Plik ju¿ istnieje.%n%nCzy chcesz, aby Instalator zamieni³ go na nowy? +ExistingFileNewer=Istniej¹cy plik jest nowszy ni¿ ten, który Instalator próbuje skopiowaæ. Zalecanym jest zachowanie istniej¹cego pliku.%n%nCzy chcesz zachowaæ istniej¹cy plik? +ErrorChangingAttr=Wyst¹pi³ b³¹d podczas próby zmiany atrybutów docelowego pliku: +ErrorCreatingTemp=Wyst¹pi³ b³¹d podczas próby utworzenia pliku w folderze docelowym: +ErrorReadingSource=Wyst¹pi³ b³¹d podczas próby odczytu pliku Ÿród³owego: +ErrorCopying=Wyst¹pi³ b³¹d podczas próby kopiowania pliku: +ErrorReplacingExistingFile=Wyst¹pi³ b³¹d podczas próby zamiany istniej¹cego pliku: +ErrorRestartReplace=Próba zast¹pienia plików podczas restartu komputera nie powiod³a siê. +ErrorRenamingTemp=Wyst¹pi³ b³¹d podczas próby zmiany nazwy pliku w folderze docelowym: +ErrorRegisterServer=Nie mo¿na zarejestrowaæ DLL/OCX: %1 +ErrorRegSvr32Failed=Funkcja RegSvr32 zakoñczy³a sie z kodem b³êdu %1 +ErrorRegisterTypeLib=Nie mogê zarejestrowaæ biblioteki typów: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Wyst¹pi³ b³¹d podczas próby otwarcia pliku README. +ErrorRestartingComputer=Instalator nie móg³ zrestartowaæ tego komputera. Proszê zrobiæ to samodzielnie. + +; *** Uninstaller messages +UninstallNotFound=Plik "%1" nie istnieje. Nie mo¿na go odinstalowaæ. +UninstallOpenError=Plik "%1" nie móg³ byæ otwarty. Nie mo¿na odinstalowaæ +UninstallUnsupportedVer=Ta wersja programu deinstalacyjnego nie rozpoznaje formatu logu deinstalacji. Nie mo¿na odinstalowaæ +UninstallUnknownEntry=W logu deinstalacji wyst¹pi³a nieznana pozycja (%1) +ConfirmUninstall=Czy na pewno chcesz usun¹æ program %1 i wszystkie jego sk³adniki? +UninstallOnlyOnWin64=Ten program moze byæ odinstalowany tylo w 64 bitowej wersji systemu Windows. +OnlyAdminCanUninstall=Ta instalacja mo¿e byæ odinstalowana tylko przez u¿ytkownika z prawami administratora. +UninstallStatusLabel=Poczekaj a¿ program %1 zostanie usuniêty z Twojego komputera. +UninstalledAll=%1 zosta³ usuniêty z Twojego komputera. +UninstalledMost=Odinstalowywanie programu %1 zakoñczone.%n%nNiektóre elementy nie mog³y byæ usuniête. Mo¿esz je usun¹æ rêcznie. +UninstalledAndNeedsRestart=Twój komputer musi byæ ponownie uruchomiony, aby zakoñczyæ odinstalowywanie %1.%n%nCzy chcesz teraz ponownie uruchomiæ komputer? +UninstallDataCorrupted=Plik "%1" jest uszkodzony. Nie mo¿na odinstalowaæ + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Usun¹æ plik wspó³dzielony? +ConfirmDeleteSharedFile2=System wykry³, ¿e nastêpuj¹cy plik nie jest ju¿ u¿ywany przez ¿aden program. Czy chcesz odinstalowaæ ten plik wspó³dzielony?%n%nJeœli inne programy nadal u¿ywaj¹ tego pliku, a zostanie on usuniêty, mog¹ one przestaæ dzia³aæ prawid³owo. Jeœli nie jesteœ pewny, wybierz przycisk Nie. Pozostawienie tego pliku w Twoim systemie nie spowoduje ¿adnych szkód. +SharedFileNameLabel=Nazwa pliku: +SharedFileLocationLabel=Po³o¿enie: +WizardUninstalling=Stan deinstalacji +StatusUninstalling=Deinstalacja %1... + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 wersja %2 +AdditionalIcons=Dodatkowe ikony: +CreateDesktopIcon=Utwórz ikonê na &pulpicie +CreateQuickLaunchIcon=Utwórz ikonê na pasku &szybkiego uruchamiania +ProgramOnTheWeb=Strona WWW programu %1 +UninstallProgram=Deinstalacja programu %1 +LaunchProgram=Uruchom program %1 +AssocFileExtension=&Przypisz program %1 do rozszerzenia pliku %2 +AssocingFileExtension=Przypisywanie programu %1 do rozszerzenia pliku %2... diff --git a/tools/innosetup/pl_PL_scilab.isl b/tools/innosetup/pl_PL_scilab.isl new file mode 100755 index 000000000..9e0aa4017 --- /dev/null +++ b/tools/innosetup/pl_PL_scilab.isl @@ -0,0 +1,138 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +pl_PL.LANGUAGE =pl_PL + +pl_PL.MsgBoxJRENotFound =Java Runtime Environment not detected. +pl_PL.MsgBoxJREURL =Please download & Install JRE at http://www.java.com/en/download/ +pl_PL.MsgBoxJREReinstall =Reinstall Scilab after your JRE update. +pl_PL.MsgBoxSSERequired =CPU SSE2 instructions are required for Scilab to run correctly. +pl_PL.MsgBoxX64Ready =For increase performance, it will be better to use Scilab x64 bits version on this Operating system. + +pl_PL.MsgBoxJavaDetection1 =Java is not installed on this computer and this program needs it. +pl_PL.MsgBoxJavaDetection2 =Please choose to install Java Runtime: +pl_PL.MsgBoxWebOpen =Can not open web page. +pl_PL.MsgBoxDevToolsRequired1 =You choose to install toolbox_skeleton module but development_tools module is not selected. +pl_PL.MsgBoxDevToolsRequired2 =Please install development_tools module. +pl_PL.MsgBoxDevToolsRequired3 =You choose to install tests module but development_tools module is not selected. +pl_PL.MsgBoxTclsciRequired2 =Please install tclsci module. +pl_PL.MsgBoxFftw1 =You choose to install FFTW module for Scilab. +pl_PL.MsgBoxFftw2 =This module requires to download FFTW library (GPL). +pl_PL.MsgBoxFftw3 =Do you want to open a web page about this add-on ? +pl_PL.MsgBoxFftw4 =Can not open web page. +pl_PL.MsgBoxWinVer =Windows 2000 is required. +pl_PL.MsgBoxScicosRequired1 =You choose to install Xcos module but Scicos module is not selected. +pl_PL.MsgBoxScicosRequired2 =Please also install Scicos module. + +; +pl_PL.ButtonAboutModules =&About modules ... +; +pl_PL.DescriptionEquDif =Differential Equations Module +pl_PL.DescriptionInterpolation =Interpolation Module +pl_PL.DescriptionPolynomials =Polynomials Module +pl_PL.DescriptionSymbolic =Symbolic Module +pl_PL.DescriptionStats =Statistics Module +pl_PL.DescriptionSparse =Sparse Matrix Module +pl_PL.DescriptionLinAlg =Linear Algebra Module +pl_PL.DescriptionSigProc =Signal processing Module +pl_PL.DescriptionCacsd =C.A.C.S.D Module +pl_PL.DescriptionGraphics =Graphics Module +pl_PL.DescriptionOptim =Optimization Module +pl_PL.DescriptionMetanet =Metanet Toolbox +pl_PL.DescriptionScicos =Scicos Toolbox +pl_PL.DescriptionArnoldi =ARnoldi PACKage Toolbox +pl_PL.DescriptionUmfpack =UMFPACK for Scilab +pl_PL.DescriptionCompatFunctions =Compatibility functions +pl_PL.DescriptionM2sci =M2SCI Toolbox +pl_PL.DescriptionMatio =MAT File Input/Output Toolbox +pl_PL.DescriptionExternalObjects =External objects +pl_PL.DescriptionSound =Sound file handling Toolbox +pl_PL.DescriptionRandlib =Randlib Toolbox +pl_PL.DescriptionMexlib =Mexlib Tools +pl_PL.DescriptionIntersci =Intersci Toolbox +pl_PL.DescriptionTclTK =TCL/TK in Scilab +pl_PL.DescriptionSpreadsheet =Spreadsheet Toolbox +pl_PL.DescriptionJVM =Java Runtime +pl_PL.DescriptionAtlas =Atlas library 3.8.0 CPU optimized +pl_PL.DescriptionFftwModule =FFTW interface for Scilab +pl_PL.DescriptionFftwMKLDownload =Download FFTW library optimized by Intel Math Kernel Library +pl_PL.DescriptionRefFftwLibrary =Reference FFTW library +pl_PL.DescriptionParametersTlbx =Parameters Toolbox +pl_PL.DescriptionGeneticTlbx =Genetic Algorithms Toolbox +pl_PL.DescriptionSimulAnnealingTlbx =Simulated Annealing Toolbox +pl_PL.DescriptionDevTools =Development Tools +pl_PL.DescriptionTests =Tests for Scilab +pl_PL.DescriptionTlbxSkeleton =A toolbox skeleton (to extend Scilab) +pl_PL.DescriptionComConnector =COM connector +pl_PL.DescriptionSciNotes =SciNotes: Editor for Scilab +pl_PL.DescriptionXcos =Xcos +pl_PL.DescriptionParallel =Parallel Computing with Scilab +pl_PL.DescriptionModulesManager =Tools for management of extern modules +pl_PL.DescriptionModuleJVM =JVM Module +; +pl_PL.ConsoleIconName =Scilab Console +; +pl_PL.WebIconScilab =Scilab on the Web +; +pl_PL.ReadMeIcon =Read Me +; +pl_PL.UnInstallIcon =Uninstall Scilab +; +pl_PL.RegKeyRunWith =Run with +; +pl_PL.DescriptionVC2008Redist =Install Microsoft Visual C++ 2008 Redistributable Package +; +pl_PL.DescriptionConfigureAtlas =Configure Atlas +; +pl_PL.DescriptionLaunchScilab =Launch Scilab +; +pl_PL.DescriptionCreateDesktopIcon =Create a &desktop icon +; +pl_PL.DescriptionQuickLaunch =Create a shortcut in Quick Launch Bar +; +pl_PL.DescriptionAssociateSceSci =Associate *.sce,*.sci files with Scilab +; +pl_PL.DescriptionAssociateTstDem =Associate *.tst files with Scilab +; +pl_PL.DescriptionAssociateBinSav =Associate *.bin, *.sav files with Scilab +; +pl_PL.DescriptionAssociateGraph =Associate *.graph *.graphb files with Scilab +; +pl_PL.DescriptionAssociateScicos =Associate *.xcos *.cos *.cosf files with Scilab +; +pl_PL.DescriptionDefaultInstall =Installation (Default) +pl_PL.DescriptionFullInstall =Full installation +pl_PL.DescriptionCustomInstall =Custom installation +pl_PL.DescriptionCLIInstall =Command Line Minimal Installation (no gui) +; +pl_PL.DescriptionCPUOptimization =CPU Optimization for Scilab +pl_PL.DescriptionATLASLibrary =Atlas Library for Scilab +pl_PL.DescriptionRefBlasLibrary =Blas, Lapack Reference libraries for Scilab +pl_PL.DescriptionMKLLibrary =Download Intel Math Kernel Library for Scilab +; +pl_PL.DownloadMKLLabel =Downloading Intel Math Kernel Library files for Scilab +pl_PL.DownloadMKLDescription =Please wait while Setup is downloading extra files to your computer. +; +pl_PL.DownloadMKLFFTWLabel =Downloading FFTW3 library optimized by Intel Math Kernel. +; +pl_PL.DoTasksJustAfterInstallMsg2 =BLAS, LAPACK reference libraries will be installed and used. +pl_PL.DoTasksJustAfterInstallMsg3 =FFTW3 reference library will be installed and used. +; +pl_PL.NextButtonClickwpReadyMsg1 =Impossible to download Intel Math Kernel Library files for Scilab (Default library will be used). +pl_PL.NextButtonClickwpReadyMsg2 =Impossible to download FFTW3 library optimized by Intel Math Kernel Library (Default library will be used). +; +pl_PL.DescriptionAtoms =ATOMS +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/pt_BR_scilab.isl b/tools/innosetup/pt_BR_scilab.isl new file mode 100755 index 000000000..f4e5cc6b1 --- /dev/null +++ b/tools/innosetup/pt_BR_scilab.isl @@ -0,0 +1,137 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- +pt_BR.LANGUAGE =pt_BR + +pt_BR.MsgBoxJRENotFound =Java Runtime Environment not detected. +pt_BR.MsgBoxJREURL =Please download & Install JRE at http://www.java.com/en/download/ +pt_BR.MsgBoxJREReinstall =Reinstall Scilab after your JRE update. +pt_BR.MsgBoxSSERequired =CPU SSE2 instructions are required for Scilab to run correctly. +pt_BR.MsgBoxX64Ready =For increase performance, it will be better to use Scilab x64 bits version on this Operating system. + +pt_BR.MsgBoxJavaDetection1 =Java is not installed on this computer and this program needs it. +pt_BR.MsgBoxJavaDetection2 =Please choose to install Java Runtime: +pt_BR.MsgBoxWebOpen =Can not open web page. +pt_BR.MsgBoxDevToolsRequired1 =You choose to install toolbox_skeleton module but development_tools module is not selected. +pt_BR.MsgBoxDevToolsRequired2 =Please install development_tools module. +pt_BR.MsgBoxDevToolsRequired3 =You choose to install tests module but development_tools module is not selected. +pt_BR.MsgBoxTclsciRequired2 =Please install tclsci module. +pt_BR.MsgBoxFftw1 =You choose to install FFTW module for Scilab. +pt_BR.MsgBoxFftw2 =This module requires to download FFTW library (GPL). +pt_BR.MsgBoxFftw3 =Do you want to open a web page about this add-on ? +pt_BR.MsgBoxFftw4 =Can not open web page. +pt_BR.MsgBoxWinVer =Windows 2000 is required. +pt_BR.MsgBoxScicosRequired1 =You choose to install Xcos module but Scicos module is not selected. +pt_BR.MsgBoxScicosRequired2 =Please also install Scicos module. + +; +pt_BR.ButtonAboutModules =&About modules ... +; +pt_BR.DescriptionEquDif =Differential Equations Module +pt_BR.DescriptionInterpolation =Interpolation Module +pt_BR.DescriptionPolynomials =Polynomials Module +pt_BR.DescriptionSymbolic =Symbolic Module +pt_BR.DescriptionStats =Statistics Module +pt_BR.DescriptionSparse =Sparse Matrix Module +pt_BR.DescriptionLinAlg =Linear Algebra Module +pt_BR.DescriptionSigProc =Signal processing Module +pt_BR.DescriptionCacsd =C.A.C.S.D Module +pt_BR.DescriptionGraphics =Graphics Module +pt_BR.DescriptionOptim =Optimization Module +pt_BR.DescriptionMetanet =Metanet Toolbox +pt_BR.DescriptionScicos =Scicos Toolbox +pt_BR.DescriptionArnoldi =ARnoldi PACKage Toolbox +pt_BR.DescriptionUmfpack =UMFPACK for Scilab +pt_BR.DescriptionCompatFunctions =Compatibility functions +pt_BR.DescriptionM2sci =M2SCI Toolbox +pt_BR.DescriptionMatio =MAT File Input/Output Toolbox +pt_BR.DescriptionExternalObjects =External objects +pt_BR.DescriptionSound =Sound file handling Toolbox +pt_BR.DescriptionRandlib =Randlib Toolbox +pt_BR.DescriptionMexlib =Mexlib Tools +pt_BR.DescriptionIntersci =Intersci Toolbox +pt_BR.DescriptionTclTK =TCL/TK in Scilab +pt_BR.DescriptionSpreadsheet =Spreadsheet Toolbox +pt_BR.DescriptionJVM =Java Runtime +pt_BR.DescriptionAtlas =Atlas library 3.8.0 CPU optimized +pt_BR.DescriptionFftwModule =FFTW interface for Scilab +pt_BR.DescriptionFftwMKLDownload =Download FFTW library optimized by Intel Math Kernel Library +pt_BR.DescriptionRefFftwLibrary =Reference FFTW library +pt_BR.DescriptionParametersTlbx =Parameters Toolbox +pt_BR.DescriptionGeneticTlbx =Genetic Algorithms Toolbox +pt_BR.DescriptionSimulAnnealingTlbx =Simulated Annealing Toolbox +pt_BR.DescriptionDevTools =Development Tools +pt_BR.DescriptionTests =Tests for Scilab +pt_BR.DescriptionTlbxSkeleton =A toolbox skeleton (to extend Scilab) +pt_BR.DescriptionComConnector =COM connector +pt_BR.DescriptionSciNotes =SciNotes: Editor for Scilab +pt_BR.DescriptionXcos =Xcos +pt_BR.DescriptionParallel =Parallel Computing with Scilab +pt_BR.DescriptionModulesManager =Tools for management of extern modules +pt_BR.DescriptionModuleJVM =JVM Module +; +pt_BR.ConsoleIconName =Scilab Console +; +pt_BR.WebIconScilab =Scilab on the Web +; +pt_BR.ReadMeIcon =Read Me +; +pt_BR.UnInstallIcon =Uninstall Scilab +; +pt_BR.RegKeyRunWith =Run with +; +pt_BR.DescriptionVC2008Redist =Install Microsoft Visual C++ 2008 Redistributable Package +; +pt_BR.DescriptionConfigureAtlas =Configure Atlas +; +pt_BR.DescriptionLaunchScilab =Launch Scilab +; +pt_BR.DescriptionCreateDesktopIcon =Create a &desktop icon +; +pt_BR.DescriptionQuickLaunch =Create a shortcut in Quick Launch Bar +; +pt_BR.DescriptionAssociateSceSci =Associate *.sce,*.sci files with Scilab +; +pt_BR.DescriptionAssociateTstDem =Associate *.tst files with Scilab +; +pt_BR.DescriptionAssociateBinSav =Associate *.bin, *.sav files with Scilab +; +pt_BR.DescriptionAssociateGraph =Associate *.graph *.graphb files with Scilab +; +pt_BR.DescriptionAssociateScicos =Associate *.cos *.cosf files with Scilab +; +pt_BR.DescriptionDefaultInstall =Installation (Default) +pt_BR.DescriptionFullInstall =Full installation +pt_BR.DescriptionCustomInstall =Custom installation +pt_BR.DescriptionCLIInstall =Command Line Minimal Installation (no gui) +; +pt_BR.DescriptionCPUOptimization =CPU Optimization for Scilab +pt_BR.DescriptionATLASLibrary =Atlas Library for Scilab +pt_BR.DescriptionRefBlasLibrary =Blas, Lapack Reference libraries for Scilab +pt_BR.DescriptionMKLLibrary =Download Intel Math Kernel Library for Scilab +; +pt_BR.DownloadMKLLabel =Downloading Intel Math Kernel Library files for Scilab +pt_BR.DownloadMKLDescription =Please wait while Setup is downloading extra files to your computer. +; +pt_BR.DownloadMKLFFTWLabel =Downloading FFTW3 library optimized by Intel Math Kernel. +; +pt_BR.DoTasksJustAfterInstallMsg2 =BLAS, LAPACK reference libraries will be installed and used. +pt_BR.DoTasksJustAfterInstallMsg3 =FFTW3 reference library will be installed and used. +; +pt_BR.NextButtonClickwpReadyMsg1 =Impossible to download Intel Math Kernel Library files for Scilab (Default library will be used). +pt_BR.NextButtonClickwpReadyMsg2 =Impossible to download FFTW3 library optimized by Intel Math Kernel Library (Default library will be used). +; +pt_BR.DescriptionAtoms =ATOMS +;------------------------------------------------------------------------------ +;
\ No newline at end of file diff --git a/tools/innosetup/registry.iss b/tools/innosetup/registry.iss new file mode 100755 index 000000000..919d674f0 --- /dev/null +++ b/tools/innosetup/registry.iss @@ -0,0 +1,185 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +; files assocociation .sce .sci .tst .bin .sav .sod +;------------------------------------------------------------------------------- +; Files Association (registry input) +;------------------------------------------------------------------------------- +;http://msdn2.microsoft.com/en-us/library/bb776870(VS.85).aspx +;http://msdn2.microsoft.com/en-us/library/bb776883.aspx +;http://msdn2.microsoft.com/en-us/library/bb776820.aspx +;------------------------------------------------------------------------------- +;Scilab PATH +Root: HKLM; Subkey: "SOFTWARE\Scilab"; ValueType: string; ValueData: {#ScilabName}; Flags: noerror; ValueName: LASTINSTALL +;------------------------------------------------------------------------------- +Root: HKLM; Subkey: "SOFTWARE\Scilab\{#ScilabName}"; ValueType: string; ValueData: {app}; Flags: createvalueifdoesntexist uninsdeletekey noerror; ValueName: SCIPATH +Root: HKLM; Subkey: "SOFTWARE\Scilab\{#ScilabName}"; ValueType: string; ValueData: {cm:LANGUAGE}; Flags: createvalueifdoesntexist uninsdeletekey noerror; ValueName: LANGUAGE +;------------------------------------------------------------------------------- +#ifdef SCILAB_X64 +Root: HKLM; Subkey: "SOFTWARE\Scilab\{#ScilabName}"; ValueType: string; ValueData: X64; Flags: createvalueifdoesntexist uninsdeletekey noerror; ValueName: OS_ARCH +#else +Root: HKLM; Subkey: "SOFTWARE\Scilab\{#ScilabName}"; ValueType: string; ValueData: X86; Flags: createvalueifdoesntexist uninsdeletekey noerror; ValueName: OS_ARCH +#endif +;------------------------------------------------------------------------------- +#define ARGUMENT_ACTION_OPEN "-O" +#define ARGUMENT_ACTION_RUN "-X" +#define ARGUMENT_ACTION_PRINT "-P" +;------------------------------------------------------------------------------- +;Files .sce +#define APPLICATION_EXTENSION_SCE "Scilab5.sce" +#define SCE_ENTRY ".sce" +#define ICON_SCE_POS 7 +; +Root: HKCR; Subkey: {#SCE_ENTRY}; ValueType: string; ValueData: {#APPLICATION_EXTENSION_SCE}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI +Root: HKCR; Subkey: {#SCE_ENTRY}\ShellNew; ValueName : NullFile ;ValueType: string; ValueData: ""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_SCE}; ValueType: string; ValueData: "{#ScilabName} Application ({#SCE_ENTRY})"; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_SCE}\DefaultIcon; ValueType: string; ValueData: {app}\bin\wscilex.exe,{#ICON_SCE_POS}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_SCE}\shell\open\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_OPEN} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_SCE}\shell\{cm:RegKeyRunWith} {#ScilabName}\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_RUN} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI; +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_SCE}\shell\print\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_PRINT} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI +; +;------------------------------------------------------------------------------- +;Files .sci +#define APPLICATION_EXTENSION_SCI "Scilab5.sci" +#define SCI_ENTRY ".sci" +#define ICON_SCI_POS 8 +; +Root: HKCR; Subkey: {#SCI_ENTRY}; ValueType: string; ValueData: {#APPLICATION_EXTENSION_SCI}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI +Root: HKCR; Subkey: {#SCI_ENTRY}\ShellNew; ValueName : NullFile ; ValueType: string; ValueData: ""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_SCI}; ValueType: string; ValueData: "{#ScilabName} Application ({#SCI_ENTRY})"; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_SCI}\DefaultIcon; ValueType: string; ValueData: {app}\bin\wscilex.exe,{#ICON_SCI_POS}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_SCI}\shell\open\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_OPEN} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_SCI}\shell\{cm:RegKeyRunWith} {#ScilabName}\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_RUN} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI; +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_SCI}\shell\print\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_PRINT} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCESCI +; +;------------------------------------------------------------------------------- +;Files .tst +#define APPLICATION_EXTENSION_TST "Scilab5.tst" +#define TST_ENTRY ".tst" +#define ICON_TST_POS 9 +; +Root: HKCR; Subkey: {#TST_ENTRY}; ValueType: string; ValueData: {#APPLICATION_EXTENSION_TST}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateTSTDEM +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_TST}; ValueType: string; ValueData: "{#ScilabName} Application"; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateTSTDEM +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_TST}\DefaultIcon; ValueType: string; ValueData: {app}\bin\wscilex.exe,{#ICON_TST_POS}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateTSTDEM +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_TST}\shell\open\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_OPEN} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateTSTDEM +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_TST}\shell\{cm:RegKeyRunWith} {#ScilabName}\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_RUN} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateTSTDEM; +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_TST}\shell\print\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_PRINT} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateTSTDEM +; +;------------------------------------------------------------------------------- +;Files .dem +#define APPLICATION_EXTENSION_DEM "Scilab5.dem" +#define DEM_ENTRY ".dem" +#define ICON_DEM_POS 4 +; +Root: HKCR; Subkey: {#DEM_ENTRY}; ValueType: string; ValueData: {#APPLICATION_EXTENSION_DEM}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateTSTDEM +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_DEM}; ValueType: string; ValueData: "{#ScilabName} Application"; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateTSTDEM +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_DEM}\DefaultIcon; ValueType: string; ValueData: {app}\bin\wscilex.exe,{#ICON_DEM_POS}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateTSTDEM +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_DEM}\shell\open\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_OPEN} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateTSTDEM +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_DEM}\shell\{cm:RegKeyRunWith} {#ScilabName}\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_RUN} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateTSTDEM; +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_DEM}\shell\print\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_PRINT} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateTSTDEM +; +;------------------------------------------------------------------------------- +;Files .zcos +#define APPLICATION_EXTENSION_ZCOS "Scilab5.zcos" +#define ZCOS_ENTRY ".zcos" +#define ICON_ZCOS_POS 11 +; +Root: HKCR; Subkey: {#ZCOS_ENTRY}; ValueType: string; ValueData: {#APPLICATION_EXTENSION_ZCOS}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_ZCOS}; ValueType: string; ValueData: "{#ScilabName} Application"; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_ZCOS}\DefaultIcon; ValueType: string; ValueData: {app}\bin\wscilex.exe,{#ICON_ZCOS_POS}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_ZCOS}\shell\{cm:RegKeyRunWith} {#ScilabName}\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_RUN} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS; +; +;------------------------------------------------------------------------------- +;Files .xcos +#define APPLICATION_EXTENSION_XCOS "Scilab5.xcos" +#define XCOS_ENTRY ".xcos" +#define ICON_XCOS_POS 2 +; +Root: HKCR; Subkey: {#XCOS_ENTRY}; ValueType: string; ValueData: {#APPLICATION_EXTENSION_XCOS}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_XCOS}; ValueType: string; ValueData: "{#ScilabName} Application"; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_XCOS}\DefaultIcon; ValueType: string; ValueData: {app}\bin\wscilex.exe,{#ICON_XCOS_POS}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_XCOS}\shell\{cm:RegKeyRunWith} {#ScilabName}\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_RUN} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS; +; +;------------------------------------------------------------------------------- +;Files .cos +#define APPLICATION_EXTENSION_COS "Scilab5.cos" +#define COS_ENTRY ".cos" +#define ICON_COS_POS 2 +; +Root: HKCR; Subkey: {#COS_ENTRY}; ValueType: string; ValueData: {#APPLICATION_EXTENSION_COS}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_COS}; ValueType: string; ValueData: "{#ScilabName} Application"; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_COS}\DefaultIcon; ValueType: string; ValueData: {app}\bin\wscilex.exe,{#ICON_COS_POS}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_COS}\shell\{cm:RegKeyRunWith} {#ScilabName}\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_RUN} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS; +; +;------------------------------------------------------------------------------- +;Files .cosf +#define APPLICATION_EXTENSION_COSF "Scilab5.cosf" +#define COSF_ENTRY ".cosf" +#define ICON_COSF_POS 3 +; +Root: HKCR; Subkey: {#COSF_ENTRY}; ValueType: string; ValueData: {#APPLICATION_EXTENSION_COSF}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_COSF}; ValueType: string; ValueData: "{#ScilabName} Application"; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_COSF}\DefaultIcon; ValueType: string; ValueData: {app}\bin\wscilex.exe,{#ICON_COSF_POS}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_COSF}\shell\{cm:RegKeyRunWith} {#ScilabName}\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_RUN} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSCICOS; +;------------------------------------------------------------------------------- +;Files .sod +#define APPLICATION_EXTENSION_SOD "Scilab5.sod" +#define SOD_ENTRY ".sod" +#define ICON_SOD_POS 10 +; +Root: HKCR; Subkey: {#SOD_ENTRY}; ValueType: string; ValueData: {#APPLICATION_EXTENSION_SOD}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSOD +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_SOD}; ValueType: string; ValueData: "{#ScilabName} Application"; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSOD +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_SOD}\DefaultIcon; ValueType: string; ValueData: {app}\bin\wscilex.exe,{#ICON_SOD_POS}; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSOD +; +Root: HKCR; Subkey: {#APPLICATION_EXTENSION_SOD}\shell\{cm:RegKeyRunWith} {#ScilabName}\command; ValueType: string; ValueData: """{app}\bin\wscilex.exe"" {#ARGUMENT_ACTION_RUN} ""%1"""; Flags: deletekey uninsdeletekey noerror; Tasks: AssociateSOD; +;------------------------------------------------------------------------------- +Root: HKCU; Subkey: SOFTWARE\Scilab\{#ScilabName}\Settings; ValueType: string; ValueData: {cm:LANGUAGE}; Flags: createvalueifdoesntexist uninsdeletekey noerror; ValueName: LANGUAGE +; +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/ru_RU_scilab.isl b/tools/innosetup/ru_RU_scilab.isl new file mode 100755 index 000000000..ce55cc7f9 --- /dev/null +++ b/tools/innosetup/ru_RU_scilab.isl @@ -0,0 +1,138 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +ru_RU.LANGUAGE =ru_RU + +ru_RU.MsgBoxJRENotFound =Java Runtime Environment not detected. +ru_RU.MsgBoxJREURL =Please download & Install JRE at http://www.java.com/ru/download/ +ru_RU.MsgBoxJREReinstall =Reinstall Scilab after your JRE update. +ru_RU.MsgBoxSSERequired =CPU SSE2 instructions are required for Scilab to run correctly. +ru_RU.MsgBoxX64Ready =For increase performance, it will be better to use Scilab x64 bits version on this Operating system. + +ru_RU.MsgBoxJavaDetection1 =Java is not installed on this computer and this program needs it. +ru_RU.MsgBoxJavaDetection2 =Please choose to install Java Runtime: +ru_RU.MsgBoxWebOpen =Can not open web page. +ru_RU.MsgBoxDevToolsRequired1 =You choose to install toolbox_skeleton module but development_tools module is not selected. +ru_RU.MsgBoxDevToolsRequired2 =Please install development_tools module. +ru_RU.MsgBoxDevToolsRequired3 =You choose to install tests module but development_tools module is not selected. +ru_RU.MsgBoxTclsciRequired2 =Please install tclsci module. +ru_RU.MsgBoxFftw1 =You choose to install FFTW module for Scilab. +ru_RU.MsgBoxFftw2 =This module requires to download FFTW library (GPL). +ru_RU.MsgBoxFftw3 =Do you want to open a web page about this add-on ? +ru_RU.MsgBoxFftw4 =Can not open web page. +ru_RU.MsgBoxWinVer =Windows 2000 is required. +ru_RU.MsgBoxScicosRequired1 =You choose to install Xcos module but Scicos module is not selected. +ru_RU.MsgBoxScicosRequired2 =Please also install Scicos module. + +; +ru_RU.ButtonAboutModules =&About modules ... +; +ru_RU.DescriptionEquDif =Differential Equations Module +ru_RU.DescriptionInterpolation =Interpolation Module +ru_RU.DescriptionPolynomials =Polynomials Module +ru_RU.DescriptionSymbolic =Symbolic Module +ru_RU.DescriptionStats =Statistics Module +ru_RU.DescriptionSparse =Sparse Matrix Module +ru_RU.DescriptionLinAlg =Linear Algebra Module +ru_RU.DescriptionSigProc =Signal processing Module +ru_RU.DescriptionCacsd =C.A.C.S.D Module +ru_RU.DescriptionGraphics =Graphics Module +ru_RU.DescriptionOptim =Optimization Module +ru_RU.DescriptionMetanet =Metanet Toolbox +ru_RU.DescriptionScicos =Scicos Toolbox +ru_RU.DescriptionArnoldi =ARnoldi PACKage Toolbox +ru_RU.DescriptionUmfpack =UMFPACK for Scilab +ru_RU.DescriptionCompatFunctions =Compatibility functions +ru_RU.DescriptionM2sci =M2SCI Toolbox +ru_RU.DescriptionMatio =MAT File Input/Output Toolbox +ru_RU.DescriptionExternalObjects =External objects +ru_RU.DescriptionSound =Sound file handling Toolbox +ru_RU.DescriptionRandlib =Randlib Toolbox +ru_RU.DescriptionMexlib =Mexlib Tools +ru_RU.DescriptionIntersci =Intersci Toolbox +ru_RU.DescriptionTclTK =TCL/TK in Scilab +ru_RU.DescriptionSpreadsheet =Spreadsheet Toolbox +ru_RU.DescriptionJVM =Java Runtime +ru_RU.DescriptionAtlas =Atlas library 3.8.0 CPU optimized +ru_RU.DescriptionFftwModule =FFTW interface for Scilab +ru_RU.DescriptionFftwMKLDownload =Download FFTW library optimized by Intel Math Kernel Library +ru_RU.DescriptionRefFftwLibrary =Reference FFTW library +ru_RU.DescriptionParametersTlbx =Parameters Toolbox +ru_RU.DescriptionGeneticTlbx =Genetic Algorithms Toolbox +ru_RU.DescriptionSimulAnnealingTlbx =Simulated Annealing Toolbox +ru_RU.DescriptionDevTools =Development Tools +ru_RU.DescriptionTests =Tests for Scilab +ru_RU.DescriptionTlbxSkeleton =A toolbox skeleton (to extend Scilab) +ru_RU.DescriptionComConnector =COM connector +ru_RU.DescriptionSciNotes =SciNotes: Editor for Scilab +ru_RU.DescriptionXcos =Xcos +ru_RU.DescriptionParallel =Parallel Computing with Scilab +ru_RU.DescriptionModulesManager =Tools for management of extern modules +ru_RU.DescriptionModuleJVM =JVM Module +; +ru_RU.ConsoleIconName =Scilab Console +; +ru_RU.WebIconScilab =Scilab on the Web +; +ru_RU.ReadMeIcon =Read Me +; +ru_RU.UnInstallIcon =Uninstall Scilab +; +ru_RU.RegKeyRunWith =Run with +; +ru_RU.DescriptionVC2008Redist =Install Microsoft Visual C++ 2008 Redistributable Package +; +ru_RU.DescriptionConfigureAtlas =Configure Atlas +; +ru_RU.DescriptionLaunchScilab =Launch Scilab +; +ru_RU.DescriptionCreateDesktopIcon =Create a &desktop icon +; +ru_RU.DescriptionQuickLaunch =Create a shortcut in Quick Launch Bar +; +ru_RU.DescriptionAssociateSceSci =Associate *.sce,*.sci files with Scilab +; +ru_RU.DescriptionAssociateTstDem =Associate *.tst files with Scilab +; +ru_RU.DescriptionAssociateBinSav =Associate *.bin, *.sav files with Scilab +; +ru_RU.DescriptionAssociateGraph =Associate *.graph *.graphb files with Scilab +; +ru_RU.DescriptionAssociateScicos =Associate *.cos *.cosf files with Scilab +; +ru_RU.DescriptionDefaultInstall =Installation (Default) +ru_RU.DescriptionFullInstall =Full installation +ru_RU.DescriptionCustomInstall =Custom installation +ru_RU.DescriptionCLIInstall =Command Line Minimal Installation (no gui) +; +ru_RU.DescriptionCPUOptimization =CPU Optimization for Scilab +ru_RU.DescriptionATLASLibrary =Atlas Library for Scilab +ru_RU.DescriptionRefBlasLibrary =Blas, Lapack Reference libraries for Scilab +ru_RU.DescriptionMKLLibrary =Download Intel Math Kernel Library for Scilab +; +ru_RU.DownloadMKLLabel =Downloading Intel Math Kernel Library files for Scilab +ru_RU.DownloadMKLDescription =Please wait while Setup is downloading extra files to your computer. +; +ru_RU.DownloadMKLFFTWLabel =Downloading FFTW3 library optimized by Intel Math Kernel. +; +ru_RU.DoTasksJustAfterInstallMsg2 =BLAS, LAPACK reference libraries will be installed and used. +ru_RU.DoTasksJustAfterInstallMsg3 =FFTW3 reference library will be installed and used. +; +ru_RU.NextButtonClickwpReadyMsg1 =Impossible to download Intel Math Kernel Library files for Scilab (Default library will be used). +ru_RU.NextButtonClickwpReadyMsg2 =Impossible to download FFTW3 library optimized by Intel Math Kernel Library (Default library will be used). +; +ru_RU.DescriptionAtoms =ATOMS +;------------------------------------------------------------------------------- +;
\ No newline at end of file diff --git a/tools/innosetup/run.iss b/tools/innosetup/run.iss new file mode 100755 index 000000000..6ddfd94a3 --- /dev/null +++ b/tools/innosetup/run.iss @@ -0,0 +1,22 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +#ifndef SCILAB_X64 +Filename: {app}\bin\SetupAtlas.exe; Description:{cm:DescriptionConfigureAtlas}; Flags: nowait; Components: {#COMPN_ATLAS_CPU_LIBRARY} +#endif +Filename: {code:getExecNameForDesktop}; Description: {cm:DescriptionLaunchScilab}; WorkingDir: "{userdocs}"; Flags: nowait postinstall skipifsilent;Components: {#COMPN_JVM_MODULE} +Filename: {code:getExecNameForDesktop};Parameters: "-nwni"; Description: {cm:DescriptionLaunchScilab}; WorkingDir: "{userdocs}"; Flags: nowait postinstall skipifsilent;Components: not {#COMPN_JVM_MODULE} +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/setup.iss b/tools/innosetup/setup.iss new file mode 100755 index 000000000..14d32edeb --- /dev/null +++ b/tools/innosetup/setup.iss @@ -0,0 +1,60 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +; data to modify with version +#ifdef SCILAB_X64 +ArchitecturesAllowed=x64 +ArchitecturesInstallIn64BitMode=x64 +#endif +; Detect if scilab runs +AppMutex={#ScilabBaseDirectory} +; +SourceDir={#BinariesSourcePath} +#ifndef SCILAB_WITHOUT_JRE +OutputBaseFilename={#ScilabBaseFilename} +#else +OutputBaseFilename={#ScilabBaseFilename}-nojre +#endif +AppName={#ScilabName} +AppVerName={#ScilabName} +DefaultDirName={code:DefDirRoot}\{#ScilabBaseDirectory} +DefaultGroupName={#ScilabName} +SetupIconFile=tools\innosetup\scilab.ico +;InfoAfterfile=README_Windows.txt +LicenseFile=COPYING +ChangesAssociations=yes +WindowVisible=false +AppPublisher=Scilab Enterprises +AppPublisherURL=http://www.scilab.org +AppSupportURL=http://bugzilla.scilab.org/ +AppUpdatesURL=http://www.scilab.org/products/scilab/download +WizardImageStretch=no +WizardImageBackColor=clBlack +WizardImageFile=tools\innosetup\ScilabLogo.bmp +WizardSmallImageFile=tools\innosetup\ScilabLogoSmall.bmp +BackColor=clGray +BackColor2=clBlack +BackColorDirection=lefttoright +AppCopyright=Scilab Enterprises - Copyright © {#CurrentYear} +UninstallDisplayIcon={app}\bin\wscilex.exe +Compression=lzma/ultra64 +InternalCompressLevel=ultra64 +SolidCompression=true +VersionInfoVersion={#ScilabVersion} +VersionInfoCompany=Scilab Enterprises +; minimun right to install Scilab +PrivilegesRequired=none +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/tasks.iss b/tools/innosetup/tasks.iss new file mode 100755 index 000000000..a17dab2be --- /dev/null +++ b/tools/innosetup/tasks.iss @@ -0,0 +1,25 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + + +Name: desktopicon; Description:{cm:DescriptionCreateDesktopIcon}; GroupDescription: Additional icons:; MinVersion: 4,4 +; +Name: AssociateSCESCI; Description:{cm:DescriptionAssociateSceSci}; GroupDescription: Files Association:; Components: {#COMPN_SCINOTES}; Check: IsAdminUser +; +Name: AssociateTSTDEM; Description:{cm:DescriptionAssociateTstDem}; GroupDescription: Files Association:; Components: {#COMPN_SCINOTES}; Check: IsAdminUser +; +Name: AssociateSCICOS; Description:{cm:DescriptionAssociateScicos}; GroupDescription: Files Association:; Components: {#COMPN_XCOS}; Check: IsAdminUser +; +Name: AssociateSOD; Description:{cm:DescriptionAssociateSOD}; GroupDescription: Files Association:; Components: {#COMPN_SCILAB}; Check: IsAdminUser diff --git a/tools/innosetup/types.iss b/tools/innosetup/types.iss new file mode 100755 index 000000000..173945b26 --- /dev/null +++ b/tools/innosetup/types.iss @@ -0,0 +1,18 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- +Name: full; Description: {cm:DescriptionFullInstall} +Name: custom; Description: {cm:DescriptionCustomInstall}; Flags: iscustom +Name: cli; Description: {cm:DescriptionCLIInstall}; +;------------------------------------------------------------------------------- diff --git a/tools/innosetup/uk_UA.isl b/tools/innosetup/uk_UA.isl new file mode 100755 index 000000000..f662dc546 --- /dev/null +++ b/tools/innosetup/uk_UA.isl @@ -0,0 +1,319 @@ +; *** Inno Setup version 5.1.11+ Ukrainian messages *** +; +; Translation was made by Oleg Romanyk, olegu4ok@ya.ru +; The highest accuracy was the first priority. +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; $jrsoftware: issrc/Files/Languages/Ukrainian.isl, ver. 2007.12.29 16:34:40 jr Exp $ + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=<0423><043A><0440><0430><0457><043D><0441><044C><043A><0430> +LanguageID=$0422 +LanguageCodePage=1251 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=²íñòàëÿö³ÿ +SetupWindowTitle=²íñòàëÿö³ÿ — %1 +UninstallAppTitle=Äå³íñòàëÿö³ÿ +UninstallAppFullTitle=Äå³íñòàëÿö³ÿ — %1 + +; *** Misc. common +InformationTitle=²íôîðìàö³ÿ +ConfirmTitle=ϳäòâåðäæåííÿ +ErrorTitle=Ïîìèëêà + +; *** SetupLdr messages +SetupLdrStartupMessage=Öÿ ïðîãðàìà âñòàíîâèòü %1 íà Âàø êîìï'þòåð, ïðîäîâæèòè? +LdrCannotCreateTemp=Íåìîæëèâî ñòâîðèòè òèì÷àñîâèé ôàéë. ²íñòàëÿö³ÿ ïåðåðâàíà +LdrCannotExecTemp=Íåìîæëèâî âèêîíàòè ôàéë ó òèì÷àñîâîìó êàòàëîç³. ²íñòàëÿö³ÿ ïåðåðâàíà + +; *** Startup error messages +LastErrorMessage=%1.%n%nÏîìèëêà %2: %3 +SetupFileMissing=Ôàéë %1 â³äñóòí³é â ïàïö³ ³íñòàëÿö³¿. Áóäü ëàñêà, óñóíüòå ïðîáëåìó àáî îòðèìàéòå íîâó âåðñ³þ ïðîãðàìè. +SetupFileCorrupt=²íñòàëÿö³éí³ ôàéëè ïîøêîäæåíí³. Áóäü ëàñêà, îòðèìàéòå íîâó êîï³þ ïðîãðàìè. +SetupFileCorruptOrWrongVer=Ö³ ³íñòàëÿö³éí³ ôàéëè ïîøêîäæåíí³ àáî íåñóì³ñí³ ç äàíîþ âåðñ³ºþ ïðîãðàìè ³íñòàëÿö³é. Áóäü ëàñêà, óñóíüòå ïðîáëåìó àáî îòðèìàéòå íîâó êîï³þ ïðîãðàìè. +NotOnThisPlatform=Öÿ ïðîãðàìà íå áóäå ïðàöþâàòè ó %1. +OnlyOnThisPlatform=Öþ ïðîãðàìó ìîæíà çàïóñêàòè ò³ëüêè ó %1. +OnlyOnTheseArchitectures=²íñòàëÿö³ÿ ö³º¿ ïðîãðàìè ìîæëèâà ò³ëüêè ó âåðñ³ÿõ Windows äëÿ íàñòóïíèõ àðõ³òåêòóð ïðîöåñîð³â:%n%n%1 +MissingWOW64APIs=Ó âåðñ³¿ Windows, â ÿê³é Âè ïðàöþºòå, â³äñóòí³ ôóíêö³¿, íåîáõ³äí³ äëÿ âèêîíàííÿ 64-á³òíî¿ ³íñòàëÿö³¿. Ùîá óñóíóòè öþ ïðîáëåìó, Âàì íåîáõ³äíî âñòàíîâèòè ïàêåò îíîâëåíü (Service Pack) %1. +WinVersionTooLowError=Öÿ ïðîãðàìà ïîòðåáóº %1 âåðñ³¿ %2 àáî âèùå. +WinVersionTooHighError=Ïðîãðàìà íå ìîæå áóòè âñòàíîâëåíà ó %1 âåðñ³¿ %2 àáî âèùå. +AdminPrivilegesRequired=Ùîá âñòàíîâèòè öþ ïðîãðàìó, Âàì ïîòð³áíî âèêîíàòè âõ³ä ó ñèñòåìó ÿê Àäì³í³ñòðàòîð. +PowerUserPrivilegesRequired=Ùîá âñòàíîâèòè öþ ïðîãðàìó, Âè ïîâèíí³ âèêîíàòè âõ³ä ó ñèñòåìó ÿê Àäì³í³ñòðàòîð àáî ÷ëåí ãðóïè "Äîñâ³ä÷åí³ êîðèñòóâà÷³" (Power Users). +SetupAppRunningError=Âèÿâëåíî çàïóùåíèé åêçåìïëÿð %1.%n%nÁóäü ëàñêà, çàêðèéòå óñ³ åêçåìïëÿðè äîäàòêó, ïîò³ì íàòèñí³òü «OK», ùîá ïðîäîâæèòè, àáî «Ñêàñóâàòè», ùîá âèéòè. +UninstallAppRunningError=Äå³íñòàëÿòîð âèÿâèâ çàïóùåíèé åêçåìïëÿð %1.%n%nÁóäü ëàñêà, çàêðèéòå óñ³ åêçåìïëÿðè äîäàòêó, ïîò³ì íàòèñí³òü «OK», ùîá ïðîäîâæèòè, àáî «Ñêàñóâàòè», ùîá âèéòè. + +; *** Misc. errors +ErrorCreatingDir=Íåìîæëèâî ñòâîðèòè ïàïêó "%1" +ErrorTooManyFilesInDir=Íåìîæëèâî ñòâîðèòè ôàéë â ïàïö³ "%1", òàê ÿê â í³é çàíàäòî áàãàòî ôàéë³â + +; *** Setup common messages +ExitSetupTitle=Âèõ³ä ³ç ïðîãðàìè ³íñòàëÿö³¿ +ExitSetupMessage=Âñòàíîâëåííÿ íå çàâåðøåíî. ßêùî Âè âèéäåòå, ïðîãðàìà íå áóäå âñòàíîâëåíà.%n%nÂè çìîæåòå çàâåðøèòè âñòàíîâëåííÿ, çàïóñòèâøè ïðîãðàìó ³íñòàëÿö³¿ ï³çí³øå.%n%nÂèéòè ³ç ïðîãðàìè ³íñòàëÿö³¿? +AboutSetupMenuItem=&Ïðî ïðîãðàìó... +AboutSetupTitle=Ïðî ïðîãðàìó +AboutSetupMessage=%1, âåðñ³ÿ %2%n%3%n%nÑàéò %1:%n%4 +AboutSetupNote= +TranslatorNote=Ukrainian translation by Oleg Romanyk, olegu4ok@ya.ru + +; *** Buttons +ButtonBack=< &Íàçàä +ButtonNext=&Äàë³ > +ButtonInstall=&Âñòàíîâèòè +ButtonOK=OK +ButtonCancel=Ñêàñóâàòè +ButtonYes=&Òàê +ButtonYesToAll=Òàê äëÿ &Âñ³õ +ButtonNo=&ͳ +ButtonNoToAll=Í&³ äëÿ Âñ³õ +ButtonFinish=&Çàâåðøèòè +ButtonBrowse=&Îãëÿä... +ButtonWizardBrowse=&Îãëÿä... +ButtonNewFolder=&Ñòâîðèòè ïàïêó + +; *** "Select Language" dialog messages +SelectLanguageTitle=Âèáåð³òü ìîâó ³íñòàëÿö³¿ +SelectLanguageLabel=Âèáåð³òü ìîâó, ÿêà áóäå âèêîðèñòîâóâàòèñÿ â ïðîöåñ³ ³íñòàëÿö³¿: + +; *** Common wizard text +ClickNext=Íàòèñí³òü «Äàë³», ùîá ïðîäîâæèòè, àáî «Ñêàñóâàòè», ùîá âèéòè ³ç ïðîãðàìè ³íñòàëÿö³¿. +BeveledLabel= +BrowseDialogTitle=Îãëÿä ïàïîê +BrowseDialogLabel=Âèáåð³òü ïàïêó ³ç ñïèñêó ³ íàòèñí³òü «ÎÊ». +NewFolderName=Íîâà ïàïêà + +; *** "Welcome" wizard page +WelcomeLabel1=Ëàñêàâî ïðîñèìî äî Ìàéñòðà ³íñòàëÿö³¿ [name] +WelcomeLabel2=Ïðîãðàìà âñòàíîâèòü [name/ver] íà Âàø êîìï'þòåð.%n%nÐåêîìåíäóºìî çàêðèòè âñ³ ³íø³ ïðîãðàìè ïåðåä òèì, ÿê ïðîäîâæèòè. + +; *** "Password" wizard page +WizardPassword=Ïàðîëü +PasswordLabel1=Öÿ ïðîãðàìà çàõèùåíà ïàðîëåì. +PasswordLabel3=Áóäü ëàñêà, ââåä³òü ïàðîëü, ïîò³ì íàòèñí³òü «Äàë³». Ïàðîë³ íåîáõ³äíî ââîäèòè ç âðàõóâàííÿì ðåºñòðó. +PasswordEditLabel=&Ïàðîëü: +IncorrectPassword=Ââåäåíèé âàìè ïàðîëü íåâ³ðíèé. Áóäü ëàñêà, ñïðîáóéòå ùå ðàç. + +; *** "License Agreement" wizard page +WizardLicense=˳öåíç³éíà Óãîäà +LicenseLabel=Áóäü ëàñêà, ïðî÷èòàéòå íàñòóïíó âàæëèâó ³íôîðìàö³þ ïåðåä òèì, ÿê ïðîäîâæèòè. +LicenseLabel3=Áóäü ëàñêà, ïðî÷èòàéòå íàñòóïíó ˳öåíç³éíó Óãîäó. Âè ïîâèíí³ ïðèéíÿòè óìîâè óãîäè ïåðåä òèì, ÿê ïðîäîâæèòè. +LicenseAccepted=ß &ïðèéìàþ óìîâè óãîäè +LicenseNotAccepted=ß &íå ïðèéìàþ óìîâè óãîäè + +; *** "Information" wizard pages +WizardInfoBefore=²íôîðìàö³ÿ +InfoBeforeLabel=Áóäü ëàñêà, ïðî÷èòàéòå íàñòóïíó âàæëèâó ³íôîðìàö³þ ïåðåä òèì, ÿê ïðîäîâæèòè. +InfoBeforeClickLabel=Êîëè Âè áóäåòå ãîòîâ³ ïðîäîâæèòè ³íñòàëÿö³þ, íàòèñí³òü «Äàë³». +WizardInfoAfter=²íôîðìàö³ÿ +InfoAfterLabel=Áóäü ëàñêà, ïðî÷èòàéòå íàñòóïíó âàæëèâó ³íôîðìàö³þ ïåðåä òèì, ÿê ïðîäîâæèòè. +InfoAfterClickLabel=Êîëè Âè áóäåòå ãîòîâ³ ïðîäîâæèòè ³íñòàëÿö³þ, íàòèñí³òü «Äàë³». + +; *** "User Information" wizard page +WizardUserInfo=²íôîðìàö³ÿ ïðî êîðèñòóâà÷à +UserInfoDesc=Áóäü ëàñêà, ââåä³òü äàí³ ïðî ñåáå. +UserInfoName=&²ì'ÿ ³ ïð³çâèùå êîðèñòóâà÷à: +UserInfoOrg=&Îðãàí³çàö³ÿ: +UserInfoSerial=&Ñåð³éíèé íîìåð: +UserInfoNameRequired=Âè ïîâèíí³ ââåñòè ³ì'ÿ. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Âèá³ð ïàïêè âñòàíîâëåííÿ +SelectDirDesc=Ó ÿêó ïàïêó Âè õî÷åòå âñòàíîâèòè [name]? +SelectDirLabel3=Ïðîãðàìà âñòàíîâèòü [name] ó íàñòóïíó ïàïêó. +SelectDirBrowseLabel=Íàòèñí³òü «Äàë³», ùîá ïðîäîâæèòè. ßêùî Âè õî÷åòå âèáðàòè ³íøó ïàïêó, íàòèñí³òü «Îãëÿä...». +DiskSpaceMBLabel=Ïîòð³áíî ÿê ì³í³ìóì [mb] Ìá â³ëüíîãî äèñêîâîãî ïðîñòîðó. +ToUNCPathname=²íñòàëÿö³ÿ íå ìîæå âèêîíóâàòèñÿ â ïàïêó ïî ¿¿ ìåðåæåâîìó ³ìåí³. ßêùî Âè ³íñòàëþºòå â ìåðåæåâó ïàïêó, Âè ïîâèíí³ ï³ä'ºäíàòè ¿¿ ó âèãëÿä³ ìåðåæåâîãî äèñêó. +InvalidPath=Âè ïîâèíí³ âêàçàòè ïîâíèé øëÿõ ç áóêâîþ äèñêó; %níàïðèêëàä:%n%nC:\APP%n%nàáî ó ôîðìàò³ UNC:%n%n\\³ì'ÿ_ñåðâåðà\³ì'ÿ_ðåñóðñó +InvalidDrive=Âèáðàíèé Âàìè äèñê ÷è ìåðåæåâèé øëÿõ íå ³ñíóº àáî íåäîñòóïíèé. Áóäü ëàñêà, âèáåð³òü ³íøèé. +DiskSpaceWarningTitle=Íåäîñòàòíüî ïðîñòîðó íà äèñêó +DiskSpaceWarning=²íñòàëÿö³ÿ ïîòðåáóº íå ìåíøå %1 ÊÁ â³ëüíîãî ïðîñòîðó, à íà âèáðàíîìó Âàìè äèñêó ò³ëüêè %2 ÊÁ.%n%nÂè áàæàºòå òèì ïà÷å ïðîäîâæèòè ³íñòàëÿö³þ? +DirNameTooLong=²ì'ÿ ïàïêè ÷è øëÿõ äî íå¿ ïåðåâèùóþòü ïðèïóñòèìó äîâæèíó. +InvalidDirName=Âêàçàíå ³ì'ÿ ïàïêè íåïðèïóñòèìå. +BadDirName32=²ì'ÿ ïàïêè íå ìîæå ì³ñòèòè òàêèõ ñèìâîë³â: %n%n%1 +DirExistsTitle=Ïàïêà ³ñíóº +DirExists=Ïàïêà%n%n%1%n%nâæå ³ñíóº. Âñå ð³âíî âñòàíîâèòè â öþ ïàïêó? +DirDoesntExistTitle=Ïàïêà íå ³ñíóº +DirDoesntExist=Ïàïêà%n%n%1%n%níå ³ñíóº. Âè õî÷åòå ñòâîðèòè ¿¿? + +; *** "Select Components" wizard page +WizardSelectComponents=Âèá³ð êîìïîíåíò³â +SelectComponentsDesc=ßê³ êîìïîíåíòè ïîâèíí³ áóòè âñòàíîâëåí³? +SelectComponentsLabel2=Âèáåð³òü êîìïîíåíòè, ÿê³ ïîòð³áíî âñòàíîâèòè; çí³ì³òü ïðàïîðö³ ç êîìïîíåíò³â, âñòàíîâëþâàòè êîòð³ íå ïîòð³áíî. Íàòèñí³òü «Äàë³», êîëè Âè áóäåòå ãîòîâ³ ïðîäîâæèòè. +FullInstallation=Ïîâíà ³íñòàëÿö³ÿ +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Êîìïàêòíà ³íñòàëÿö³ÿ +CustomInstallation=Âèá³ðêîâà ³íñòàëÿö³ÿ +NoUninstallWarningTitle=Âñòàíîâëåí³ êîìïîíåíòè +NoUninstallWarning=Ïðîãðàìà ³íñòàëÿö³¿ âèÿâèëà, ùî íàñòóïí³ êîìïîíåíòè âæå âñòàíîâëåí³ íà Âàøîìó êîìï'þòåð³:%n%n%1%n%nÑêàñóâàííÿ âèáîðó öèõ êîìïîíåíò³â íå âèäàëèòü ¿õ.%n%nÏðîäîâæèòè? +ComponentSize1=%1 ÊÁ +ComponentSize2=%1 ÌÁ +ComponentsDiskSpaceMBLabel=Ïîòî÷íèé âèá³ð ïîòðåáóº íå ìåíøå [mb] Ìá íà äèñêó. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Âèáåð³òü äîäàòêîâ³ çàâäàííÿ +SelectTasksDesc=ßê³ äîäàòêîâ³ çàâäàííÿ íåîáõ³äíî âèêîíàòè? +SelectTasksLabel2=Âèáåð³òü äîäàòêîâ³ çàâäàííÿ, êîòð³ ïîâèíí³ âèêîíàòè ïðî ³íñòàëÿö³¿ [name], ï³ñëÿ öüîãî íàòèñí³òü «Äàë³». + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Âèáåð³òü ïàïêó â ìåíþ «Ñòàðò» +SelectStartMenuFolderDesc=Äå ïðîãðàìà ³íñòàëÿö³¿ ïîâèííà ñòâîðèòè ÿðëèêè? +SelectStartMenuFolderLabel3=Ïðîãðàìà ³íñòàëÿö³¿ ñòâîðèòü ÿðëèêè â íàñòóïí³é ïàïö³ ìåíþ «Ñòàðò». +SelectStartMenuFolderBrowseLabel=Íàòèñí³òü «Äàë³», ùîá ïðîäîâæèòè. ßêùî Âè õî÷åòå âèáðàòè ³íøó ïàïêó, íàòèñí³òü «Îãëÿä...». +MustEnterGroupName=Âè ïîâèíí³ ââåñòè ³ì'ÿ ïàïêè. +GroupNameTooLong=²ì'ÿ ïàïêè ÷è øëÿõ äî íå¿ ïåðåâèùóþòü ïðèïóñòèìó äîâæèíó. +InvalidGroupName=Âêàçàíå ³ì'ÿ ïàïêè íåïðèïóñòèìå. +BadGroupName=²ì'ÿ ïàïêè íå ìîæå ì³ñòèòè ñèìâîë³â:%n%n%1 +NoProgramGroupCheck2=&Íå ñòâîðþâàòè ïàïêó â ìåíþ «Ñòàðò» + +; *** "Ready to Install" wizard page +WizardReady=Âñå ãîòîâî äëÿ ³íñòàëÿö³¿ +ReadyLabel1=Ïðîãðàìà ³íñòàëÿö³¿ ãîòîâà ïî÷àòè âñòàíîâëåííÿ [name] íà Âàø êîìï'þòåð. +ReadyLabel2a=Íàòèñí³òü «Âñòàíîâèòè», ùîá ïðîäîâæèòè, àáî «Íàçàä», ÿêùî âè õî÷åòå ïðîäèâèòèñÿ ÷è çì³íèòè îïö³¿ ³íñòàëÿö³¿. +ReadyLabel2b=Íàòèñí³òü «Âñòàíîâèòè», ùîá ïðîäîâæèòè. +ReadyMemoUserInfo=²íôîðìàö³ÿ ïðî êîðèñòóâà÷à: +ReadyMemoDir=Ïàïêà ³íñòàëÿö³¿: +ReadyMemoType=Òèï ³íñòàëÿö³¿: +ReadyMemoComponents=Âèáðàí³ êîìïîíåíòè: +ReadyMemoGroup=Ïàïêà â ìåíþ «Ñòàðò»: +ReadyMemoTasks=Äîäàòêîâ³ çàâäàííÿ: + +; *** "Preparing to Install" wizard page +WizardPreparing=ϳäãîòîâêà äî ³íñòàëÿö³¿ +PreparingDesc=Ïðîãðàìà ³íñòàëÿö³¿ ãîòóºòüñÿ äî âñòàíîâëåííÿ [name] íà Âàø êîìï'þòåð. +PreviousInstallNotCompleted=²íñòàëÿö³ÿ àáî äå³íñòàëÿö³ÿ ïîïåðåäíüî¿ ïðîãðàìè íå áóëè çàâåðøåí³. Âàì çíàäîáèòüñÿ ïåðåçàâàíòàæèòè Âàø êîìï'þòåð, ùîáè çàâåðøèòè öþ ³íñòàëÿö³þ.%n%nϳñëÿ ïåðåçàâàíòàæåííÿ çàïóñò³òü çíîâó Ïðîãðàìó ³íñòàëÿö³¿, ùîáè çàâåðøèòè âñòàíîâëåííÿ [name]. +CannotContinue=Íåìîæëèâî ïðîäîâæèòè ³íñòàëÿö³þ. Íàòèñí³òü «Ñêàñóâàòè» äëÿ âèõîäó ³ç ïðîãðàìè. + +; *** "Installing" wizard page +WizardInstalling=²íñòàëÿö³ÿ... +InstallingLabel=Áóäü ëàñêà, ïî÷åêàéòå, ïîêè [name] âñòàíîâèòüñÿ íà Âàø êîìï'þòåð. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Çàâåðøåííÿ Ìàéñòðà ³íñòàëÿö³¿ [name] +FinishedLabelNoIcons=Ïðîãðàìà [name] âñòàíîâëåíà íà Âàø êîìï'þòåð. +FinishedLabel=Ïðîãðàìà [name] âñòàíîâëåíà íà Âàø êîìï'þòåð. Äîäàòîê ìîæíà çàïóñòèòè ç äîïîìîãîþ â³äïîâ³äíîãî çíà÷êà. +ClickFinish=Íàòèñí³òü «Çàâåðøèòè», ùîáè âèéòè ³ç ïðîãðàìè ³íñòàëÿö³¿. +FinishedRestartLabel=Äëÿ çàâåðøåííÿ ³íñòàëÿö³¿ [name] ïîòðåáóºòüñÿ ïåðåçàâàíòàæèòè êîìï'þòåð. Ïåðåçàâàíòàæèòè çàðàç? +FinishedRestartMessage=Äëÿ çàâåðøåííÿ ³íñòàëÿö³¿ [name] ïîòðåáóºòüñÿ ïåðåçàâàíòàæèòè êîìï'þòåð.%n%nÏåðåçàâàíòàæèòè çàðàç? +ShowReadmeCheck=ß õî÷ó ïåðåãëÿíóòè ôàéë README +YesRadio=&Òàê, ïåðåçàâàíòàæèòè êîìï'þòåð çàðàç +NoRadio=&ͳ, ÿ ïåðåçàâàíòàæó êîìï'þòåð ï³çí³øå +; used for example as 'Run MyProg.exe' +RunEntryExec=Çàïóñòèòè %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Ïåðåãëÿíóòè %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Íåîáõ³äíî âñòàâèòè íàñòóïíèé äèñê +SelectDiskLabel2=Áóäü ëàñêà, âñòàâòå äèñê %1 ³ íàòèñí³òü «OK».%n%nßêùî ôàéëè öüîãî äèñêà ìîæóòü áóòè çíàéäåí³ â ïàïö³, ÿêà â³äð³çíÿºòüñÿ â³ä ïîêàçàíî¿ íèæ÷å, ââåä³òü ïðàâèëüíèé øëÿõ àáî íàòèñí³òü «Îãëÿä...». +PathLabel=&Øëÿõ: +FileNotInDir2=Ôàéë "%1" íå çíàéäåíèé ó "%2". Áóäü ëàñêà, âñòàâòå ïðàâèëüíèé äèñê àáî âèáåð³òü ³íøó ïàïêó. +SelectDirectoryLabel=Áóäü ëàñêà, âêàæ³òü øëÿõ äî íàñòóïíîãî äèñêó. + +; *** Installation phase messages +SetupAborted=²íñòàëÿö³ÿ áóëà íå çàâåðøåíà.%n%nÁóäü ëàñêà, óñóíüòå ïðîáëåìó ³ çàïóñò³òü ³íñòàëÿö³þ çíîâó. +EntryAbortRetryIgnore=Íàòèñí³òü «Ïîâòîð», ùîáè ïîâòîðèòè ñïðîáó, «Ïðîïóñòèòè», ùîáè ïðîïóñòèòè ôàéë, àáî «Ñêàñóâàòè» äëÿ ñêàñóâàííÿ ³íñòàëÿö³¿. + +; *** Installation status messages +StatusCreateDirs=Ñòâîðåííÿ ïàïîê... +StatusExtractFiles=Ðîçïàêóâàííÿ ôàéë³â... +StatusCreateIcons=Ñòâîðåííÿ ÿðëèê³â... +StatusCreateIniEntries=Ñòâîðåííÿ INI-ôàéë³â... +StatusCreateRegistryEntries=Ñòâîðåííÿ çàïèñ³â ðåºñòðó... +StatusRegisterFiles=Ðåºñòðàö³ÿ ôàéë³â... +StatusSavingUninstall=Çáåðåæåííÿ ³íôîðìàö³¿ äëÿ äå³íñòàëÿö³¿... +StatusRunProgram=Çàâåðøåííÿ ³íñòàëÿö³¿... +StatusRollback=Ñêàñóâàííÿ çì³í... + +; *** Misc. errors +ErrorInternal2=Âíóòð³øíÿ ïîìèëêà: %1 +ErrorFunctionFailedNoCode=%1: çá³é +ErrorFunctionFailed=%1: çá³é; êîä %2 +ErrorFunctionFailedWithMessage=%1: çá³é; êîä %2.%n%3 +ErrorExecutingProgram=Íåìîæëèâî âèêîíàòè ôàéë:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Ïîìèëêà â³äêðèòòÿ êëþ÷à ðåºñòðó:%n%1\%2 +ErrorRegCreateKey=Ïîìèëêà ñòâîðåííÿ êëþ÷à ðåºñòðó:%n%1\%2 +ErrorRegWriteKey=Ïîìèëêà çàïèñó â êëþ÷ ðåºñòðó:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Ïîìèëêà ñòâîðåííÿ çàïèñó â INI-ôàéë³ "%1". + +; *** File copying errors +FileAbortRetryIgnore=Íàòèñí³òü «Ïîâòîð», ùîáè ïîâòîðèòè, «Ïðîïóñòèòè», ùîáè ïðîïóñòèòè ôàéë (íå ðåêîìåíäóºòüñÿ) àáî «Ñêàñóâàòè» äëÿ âèõîäó. +FileAbortRetryIgnore2=Íàòèñí³òü «Ïîâòîð», ùîáè ïîâòîðèòè, «Ïðîïóñòèòè», ùîáè ³ãíîðóâàòè ïîìèëêó (íå ðåêîìåíäóºòüñÿ) àáî «Ñêàñóâàòè» äëÿ âèõîäó. +SourceIsCorrupted=Âèõ³äíèé ôàéë ïîøêîäæåíèé +SourceDoesntExist=Âèõ³äíèé ôàéë "%1" íå ³ñíóº +ExistingFileReadOnly=²ñíóþ÷èé ôàéë ïîì³÷åíèé ÿê «ôàéë ò³ëüêè äëÿ ÷èòàííÿ».%n%nÍàòèñí³òü «Ïîâòîð», ùîáè âèäàëèòè àòðèáóò «ò³ëüêè äëÿ ÷èòàííÿ», «Ïðîïóñòèòè», ùîáè ïðîïóñòèòè ôàéë àáî «Ñêàñóâàòè» äëÿ âèõîäó. +ErrorReadingExistingDest=³äáóëàñÿ ïîìèëêà ïðè ñïðîá³ ÷èòàííÿ ³ñíóþ÷îãî ôàéëó: +FileExists=Ôàéë âæå ³ñíóº.%n%nÏåðåçàïèñàòè éîãî? +ExistingFileNewer=²ñíóþ÷èé ôàéë á³ëüø íîâèé, ÷èì âñòàíîâëþâàíèé. Ðåêîìåíäóºòüñÿ çáåðåãòè ³ñíóþ÷èé ôàéë.%n%nÂè õî÷åòå çáåðåãòè ³ñíóþ÷èé ôàéë? +ErrorChangingAttr=³äáóëàñÿ ïîìèëêà ïðè ñïðîá³ çì³íè àòðèáóò³â ³ñíóþ÷îãî ôàéëó: +ErrorCreatingTemp=³äáóëàñÿ ïîìèëêà ïðè ñïðîá³ ñòâîðåííÿ ôàéëó â ïàïö³ ïðèçíà÷åííÿ: +ErrorReadingSource=³äáóëàñÿ ïîìèëêà ïðè ñïðîá³ ÷èòàííÿ âèõ³äíîãî ôàéëó: +ErrorCopying=³äáóëàñÿ ïîìèëêà ïðè ñïðîá³ êîï³þâàííÿ ôàéëó: +ErrorReplacingExistingFile=³äáóëàñÿ ïîìèëêà ïðè ñïðîá³ çàì³íè ³ñíóþ÷îãî ôàéëó: +ErrorRestartReplace=Ïîìèëêà RestartReplace: +ErrorRenamingTemp=³äáóëàñÿ ïîìèëêà ïðè ñïðîá³ ïåðåéìåíîâóâàííÿ ôàéëó â ïàïö³ ïðèçíà÷åííÿ: +ErrorRegisterServer=Íåìîæëèâî çàðåºñòðóâàòè DLL/OCX: %1 +ErrorRegSvr32Failed=Ïîìèëêà ïðè âèêîíàíí³ RegSvr32, êîä ïîâåðíåííÿ %1 +ErrorRegisterTypeLib=Íåìîæëèâî çàðåºñòðóâàòè á³áë³îòåêó òèï³â (Type Library): %1 + +; *** Post-installation errors +ErrorOpeningReadme=³äáóëàñÿ ïîìèëêà ïðè ñïðîá³ â³äêðèòòÿ ôàéëó README. +ErrorRestartingComputer=Ïðîãðàì³ ³íñòàëÿö³é íå âäàëîñÿ ïåðåçàâàíòàæèòè êîìï'þòåð. Áóäü ëàñêà, âèêîíàéòå öå ñàìîñò³éíî. + +; *** Uninstaller messages +UninstallNotFound=Ôàéë "%1" íå ³ñíóº, äå³íñòàëÿö³ÿ íåìîæëèâà. +UninstallOpenError=Íåìîæëèâî â³äêðèòè ôàéë "%1". Äå³íñòàëÿö³ÿ íåìîæëèâà +UninstallUnsupportedVer=Ôàéë ïðîòîêîëó äëÿ äå³íñòàëÿö³¿ "%1" íå ðîçï³çíàíèé äàíîþ âåðñ³ºþ ïðîãðàìè-äå³íñòàëÿö³¿. Äå³íñòàëÿö³ÿ íåìîæëèâà +UninstallUnknownEntry=Çóñòð³âñÿ íåâ³äîìèé ïóíêò (%1) â ôàéë³ ïðîòîêîëó äëÿ äå³íñòàëÿö³¿ +ConfirmUninstall=Âè âïåâíåí³, ùî õî÷åòå âèäàëèòè %1 ³ âñ³ êîìïîíåíòè ïðîãðàìè? +UninstallOnlyOnWin64=Öþ ïðîãðàìó ìîæëèâî äå³íñòàëþâàòè ò³ëüêè ó ñåðåäîâèù³ 64-á³òíî¿ Windows. +OnlyAdminCanUninstall=Öÿ ïðîãðàìà ìîæå áóòè äå³íñòàëüîâàíà ò³ëüêè êîðèñòóâà÷àìè ç àäì³í³ñòðàòîðñüêèìè ïðèâ³ëåÿìè. +UninstallStatusLabel=Áóäü ëàñêà, ïî÷åêàéòå, ïîêè %1 áóäå âèäàëåíà ç Âàøîãî êîìï'þòåðà . +UninstalledAll=Ïðîãðàìà %1 áóëà ïîâí³ñòþ âèäàëåíà ç Âàøîãî êîìï'þòåðà. +UninstalledMost=Äå³íñòàëÿö³ÿ %1 çàâåðøåíà.%n%n×àñòèíó åëåìåíò³â íå âäàëîñÿ âèäàëèòè. Âè ìîæåòå âèäàëèòè ¿é ñàìîñò³éíî. +UninstalledAndNeedsRestart=Äëÿ çàâåðøåííÿ äå³íñòàëÿö³¿ %1 íåîáõ³äíî âèêîíàòè ïåðåçàâàíòàæåííÿ Âàøîãî êîìï'þòåðà.%n%nÂèêîíàòè ïåðåçàâàíòàæåííÿ çàðàç? +UninstallDataCorrupted=Ôàéë "%1" ïîøêîäæåíèé. Äå³íñòàëÿö³ÿ íåìîæëèâà + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Âèäàëèòè ñï³ëüíî âèêîðèñòîâóâàíèé ôàéë? +ConfirmDeleteSharedFile2=Ñèñòåìà âêàçóº, ùî íàñòóïíèé ñï³ëüíî âèêîðèñòîâóâàíèé ôàéë á³ëüøå íå âèêîðèñòîâóºòüñÿ í³ÿêèìè ³íøèìè çàñòîñóâàííÿìè. ϳäòâåðäæóºòå âèäàëåííÿ ôàéëó?%n%nßêùî ÿê³-íåáóäü ïðîãðàìè âñå ùå âèêîðèñòîâóþòü öåé ôàéë, ³ â³í áóäå âèäàëåíèé, âîíè íå çìîæóòü ïðàöþâàòè ïðàâèëüíî. ßêùî Âè íå óïåâíåí³, âèáåð³òü «Í³». Çàëèøåíèé ôàéë íå íàøêîäèòü Âàø³é ñèñòåì³. +SharedFileNameLabel=²ì'ÿ ôàéëó: +SharedFileLocationLabel=Ðîçì³ùåííÿ: +WizardUninstalling=Ñòàí äå³íñòàëÿö³¿ +StatusUninstalling=Äå³íñòàëÿö³ÿ %1... + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1, âåðñ³ÿ %2 +AdditionalIcons=Äîäàòêîâ³ ÿðëèêè: +CreateDesktopIcon=Ñòâîðèòè ÿðëèêè íà &Ðîáî÷îìó ñòîë³ +CreateQuickLaunchIcon=Ñòâîðèòè ÿðëèêè ó &Ïàíåë³ øâèäêîãî ñòàðòó +ProgramOnTheWeb=Ñàéò %1 â ²íòåðíåò³ +UninstallProgram=Äå³íñòàëþâàòè %1 +LaunchProgram=Çàïóñòèòè %1 +AssocFileExtension=Çâ&'ÿçàòè %1 ç ôàéëàìè, ùî ìàþòü ðîçøèðåííÿ %2 +AssocingFileExtension=Çâ'ÿçóâàííÿ %1 ç ôàéëàìè %2... diff --git a/tools/innosetup/uk_UA_scilab.isl b/tools/innosetup/uk_UA_scilab.isl new file mode 100755 index 000000000..19a42e2e3 --- /dev/null +++ b/tools/innosetup/uk_UA_scilab.isl @@ -0,0 +1,138 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +uk_UA.LANGUAGE =uk_UA + +uk_UA.MsgBoxJRENotFound =Java Runtime Environment not detected. +uk_UA.MsgBoxJREURL =Please download & Install JRE at http://www.java.com/en/download/ +uk_UA.MsgBoxJREReinstall =Reinstall Scilab after your JRE update. +uk_UA.MsgBoxSSERequired =CPU SSE2 instructions are required for Scilab to run correctly. +uk_UA.MsgBoxX64Ready =For increase performance, it will be better to use Scilab x64 bits version on this Operating system. + +uk_UA.MsgBoxJavaDetection1 =Java is not installed on this computer and this program needs it. +uk_UA.MsgBoxJavaDetection2 =Please choose to install Java Runtime: +uk_UA.MsgBoxWebOpen =Can not open web page. +uk_UA.MsgBoxDevToolsRequired1 =You choose to install toolbox_skeleton module but development_tools module is not selected. +uk_UA.MsgBoxDevToolsRequired2 =Please install development_tools module. +uk_UA.MsgBoxDevToolsRequired3 =You choose to install tests module but development_tools module is not selected. +uk_UA.MsgBoxTclsciRequired2 =Please install tclsci module. +uk_UA.MsgBoxFftw1 =You choose to install FFTW module for Scilab. +uk_UA.MsgBoxFftw2 =This module requires to download FFTW library (GPL). +uk_UA.MsgBoxFftw3 =Do you want to open a web page about this add-on ? +uk_UA.MsgBoxFftw4 =Can not open web page. +uk_UA.MsgBoxWinVer =Windows 2000 is required. +uk_UA.MsgBoxScicosRequired1 =You choose to install Xcos module but Scicos module is not selected. +uk_UA.MsgBoxScicosRequired2 =Please also install Scicos module. + +; +uk_UA.ButtonAboutModules =&About modules ... +; +uk_UA.DescriptionEquDif =Differential Equations Module +uk_UA.DescriptionInterpolation =Interpolation Module +uk_UA.DescriptionPolynomials =Polynomials Module +uk_UA.DescriptionSymbolic =Symbolic Module +uk_UA.DescriptionStats =Statistics Module +uk_UA.DescriptionSparse =Sparse Matrix Module +uk_UA.DescriptionLinAlg =Linear Algebra Module +uk_UA.DescriptionSigProc =Signal processing Module +uk_UA.DescriptionCacsd =C.A.C.S.D Module +uk_UA.DescriptionGraphics =Graphics Module +uk_UA.DescriptionOptim =Optimization Module +uk_UA.DescriptionMetanet =Metanet Toolbox +uk_UA.DescriptionScicos =Scicos Toolbox +uk_UA.DescriptionArnoldi =ARnoldi PACKage Toolbox +uk_UA.DescriptionUmfpack =UMFPACK for Scilab +uk_UA.DescriptionCompatFunctions =Compatibility functions +uk_UA.DescriptionM2sci =M2SCI Toolbox +uk_UA.DescriptionMatio =MAT File Input/Output Toolbox +uk_UA.DescriptionExternalObjects =External objects +uk_UA.DescriptionSound =Sound file handling Toolbox +uk_UA.DescriptionRandlib =Randlib Toolbox +uk_UA.DescriptionMexlib =Mexlib Tools +uk_UA.DescriptionIntersci =Intersci Toolbox +uk_UA.DescriptionTclTK =TCL/TK in Scilab +uk_UA.DescriptionSpreadsheet =Spreadsheet Toolbox +uk_UA.DescriptionJVM =Java Runtime +uk_UA.DescriptionAtlas =Atlas library 3.8.0 CPU optimized +uk_UA.DescriptionFftwModule =FFTW interface for Scilab +uk_UA.DescriptionFftwMKLDownload =Download FFTW library optimized by Intel Math Kernel Library +uk_UA.DescriptionRefFftwLibrary =Reference FFTW library +uk_UA.DescriptionParametersTlbx =Parameters Toolbox +uk_UA.DescriptionGeneticTlbx =Genetic Algorithms Toolbox +uk_UA.DescriptionSimulAnnealingTlbx =Simulated Annealing Toolbox +uk_UA.DescriptionDevTools =Development Tools +uk_UA.DescriptionTests =Tests for Scilab +uk_UA.DescriptionTlbxSkeleton =A toolbox skeleton (to extend Scilab) +uk_UA.DescriptionComConnector =COM connector +uk_UA.DescriptionSciNotes =SciNotes: Editor for Scilab +uk_UA.DescriptionXcos =Xcos +uk_UA.DescriptionParallel =Parallel Computing with Scilab +uk_UA.DescriptionModulesManager =Tools for management of extern modules +uk_UA.DescriptionModuleJVM =JVM Module +; +uk_UA.ConsoleIconName =Scilab Console +; +uk_UA.WebIconScilab =Scilab on the Web +; +uk_UA.ReadMeIcon =Read Me +; +uk_UA.UnInstallIcon =Uninstall Scilab +; +uk_UA.RegKeyRunWith =Run with +; +uk_UA.DescriptionVC2008Redist =Install Microsoft Visual C++ 2008 Redistributable Package +; +uk_UA.DescriptionConfigureAtlas =Configure Atlas +; +uk_UA.DescriptionLaunchScilab =Launch Scilab +; +uk_UA.DescriptionCreateDesktopIcon =Create a &desktop icon +; +uk_UA.DescriptionQuickLaunch =Create a shortcut in Quick Launch Bar +; +uk_UA.DescriptionAssociateSceSci =Associate *.sce,*.sci files with Scilab +; +uk_UA.DescriptionAssociateTstDem =Associate *.tst files with Scilab +; +uk_UA.DescriptionAssociateBinSav =Associate *.bin, *.sav files with Scilab +; +uk_UA.DescriptionAssociateGraph =Associate *.graph *.graphb files with Scilab +; +uk_UA.DescriptionAssociateScicos =Associate *.xcos *.cos *.cosf files with Scilab +; +uk_UA.DescriptionDefaultInstall =Installation (Default) +uk_UA.DescriptionFullInstall =Full installation +uk_UA.DescriptionCustomInstall =Custom installation +uk_UA.DescriptionCLIInstall =Command Line Minimal Installation (no gui) +; +uk_UA.DescriptionCPUOptimization =CPU Optimization for Scilab +uk_UA.DescriptionATLASLibrary =Atlas Library for Scilab +uk_UA.DescriptionRefBlasLibrary =Blas, Lapack Reference libraries for Scilab +uk_UA.DescriptionMKLLibrary =Download Intel Math Kernel Library for Scilab +; +uk_UA.DownloadMKLLabel =Downloading Intel Math Kernel Library files for Scilab +uk_UA.DownloadMKLDescription =Please wait while Setup is downloading extra files to your computer. +; +uk_UA.DownloadMKLFFTWLabel =Downloading FFTW3 library optimized by Intel Math Kernel. +; +uk_UA.DoTasksJustAfterInstallMsg2 =BLAS, LAPACK reference libraries will be installed and used. +uk_UA.DoTasksJustAfterInstallMsg3 =FFTW3 reference library will be installed and used. +; +uk_UA.NextButtonClickwpReadyMsg1 =Impossible to download Intel Math Kernel Library files for Scilab (Default library will be used). +uk_UA.NextButtonClickwpReadyMsg2 =Impossible to download FFTW3 library optimized by Intel Math Kernel Library (Default library will be used). +; +uk_UA.DescriptionAtoms =ATOMS +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/uninstalldelete.iss b/tools/innosetup/uninstalldelete.iss new file mode 100755 index 000000000..2a86b319d --- /dev/null +++ b/tools/innosetup/uninstalldelete.iss @@ -0,0 +1,25 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010-2011 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +Type: files; Name: {app}\scilabwebsite.url +Type: files; Name: {app}\bin\*.dll +Type: files; Name: {app}\bin\*.txt +Type: files; Name: {app}\bin +Type: filesandordirs; Name: {app}\bin\fftw +Type: filesandordirs; Name: {app}\contrib +Type: filesandordirs; Name: {app}\.atoms +Type: filesandordirs; Name: {app}\etc +Type: filesandordirs; Name: {app}\modules +;------------------------------------------------------------------------------- diff --git a/tools/innosetup/zh_CN.isl b/tools/innosetup/zh_CN.isl new file mode 100755 index 000000000..9a9bed028 --- /dev/null +++ b/tools/innosetup/zh_CN.isl @@ -0,0 +1,320 @@ +; *** Inno Setup version 5.1.11+ Simplified Chinese messages *** +; +; Based on previous version by Peng Bai +; Update by Mack Zhang (hua_wuxin@21cn.com) on Apr. 10, 2008 +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=<4E2D><6587> (<7B80><4F53>) +LanguageID=$0804 +LanguageCodePage=936 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +DialogFontName=ËÎÌå +DialogFontSize=9 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=°²×°Ïòµ¼ +SetupWindowTitle=°²×°Ïòµ¼ - %1 +UninstallAppTitle=жÔØÏòµ¼ +UninstallAppFullTitle=%1 жÔØÏòµ¼ + +; *** Misc. common +InformationTitle=ÐÅÏ¢ +ConfirmTitle=È·ÈÏ +ErrorTitle=´íÎó + +; *** SetupLdr messages +SetupLdrStartupMessage=°²×°Ïòµ¼½«ÔÚÄãµÄµçÄÔÉÏ°²×° %1¡£ÄãÈ·¶¨Òª¼ÌÐøÂ𣿠+LdrCannotCreateTemp=ÎÞ·¨´´½¨ÁÙʱÎļþ¡£°²×°ÖÐÖ¹ +LdrCannotExecTemp=ÎÞ·¨ÔËÐÐÁÙʱÎļþ¼ÐÖеÄÎļþ¡£°²×°ÖÐÖ¹ + +; *** Startup error messages +LastErrorMessage=%1.%n%n´íÎó %2£º%3 +SetupFileMissing=°²×°Îļþ¼ÐȱÉÙÎļþ %1¡£Çë¾ÀÕý´ËÎÊÌâ»òÕßË÷È¡Èí¼þµÄа汾¡£ +SetupFileCorrupt=°²×°ÎļþÒÑË𻵡£ÇëË÷È¡Èí¼þµÄа汾¡£ +SetupFileCorruptOrWrongVer=°²×°ÎļþÒÑË𻵣¬»òÕßÓë´Ë°²×°Ïòµ¼µÄ°æ±¾²»¼æÈÝ¡£Çë¾ÀÕý´ËÎÊÌâ»òÕßË÷È¡Èí¼þµÄа汾¡£ +NotOnThisPlatform=´Ë³ÌÐò²»ÄÜÔÚ %1 ÉÏÔËÐС£ +OnlyOnThisPlatform=´Ë³ÌÐò±ØÐëÔÚ %1 ÉÏÔËÐС£ +OnlyOnTheseArchitectures=´Ë³ÌÐòÖ»ÄÜ°²×°ÔÚΪÏÂÁд¦ÀíÆ÷¼Ü¹¹Éè¼ÆµÄ Windows °æ±¾ÖУº%n%n%1 +MissingWOW64APIs=µ±Ç°µÄ Windows °æ±¾Ã»Óаüº¬Ö´ÐÐ 64 λ°²×°Ïòµ¼ËùÐèµÄº¯Êý¡£ÈôÒª¾ÀÕý´ËÎÊÌ⣬Çë°²×° Service Pack %1¡£ +WinVersionTooLowError=´Ë³ÌÐòÐèÒª %1 v%2 »ò¸ü¸ß°æ±¾¡£ +WinVersionTooHighError=´Ë³ÌÐò²»ÄÜ°²×°ÔÚ %1 v%2 »ò¸ü¸ß°æ±¾ÉÏ¡£ +AdminPrivilegesRequired=°²×°´Ë³ÌÐòʱÄã±ØÐëÒÔ¹ÜÀíÔ±Éí·ÝµÇ¼¡£ +PowerUserPrivilegesRequired=°²×°´Ë³ÌÐòʱÄã±ØÐëÒÔ¹ÜÀíÔ±»ò Power Users ×é³ÉÔ±µÄÉí·ÝµÇ¼¡£ +SetupAppRunningError=°²×°Ïòµ¼·¢ÏÖ %1 ÕýÔÚÔËÐС£%n%nÇëÁ¢¼´¹Ø±ÕÆäËùÓÐʵÀý£¬È»ºóµ¥»÷¡°È·¶¨¡±¼ÌÐø£¬»òµ¥»÷¡°È¡Ïû¡±Í˳ö¡£ +UninstallAppRunningError=жÔسÌÐò·¢ÏÖ %1 ÕýÔÚÔËÐС£%n%nÇëÁ¢¼´¹Ø±ÕÆäËùÓÐʵÀý£¬È»ºóµ¥»÷¡°È·¶¨¡±¼ÌÐø£¬»òµ¥»÷¡°È¡Ïû¡±Í˳ö¡£ + +; *** Misc. errors +ErrorCreatingDir=°²×°Ïòµ¼ÎÞ·¨´´½¨Îļþ¼Ð¡°%1¡± +ErrorTooManyFilesInDir=ÎÞ·¨ÔÚÎļþ¼Ð¡°%1¡±Öд´½¨Îļþ£¬ÒòΪËü°üº¬ÁËÌ«¶àÎļþ + +; *** Setup common messages +ExitSetupTitle=Í˳ö°²×° +ExitSetupMessage=°²×°ÉÐδÍê³É¡£Èç¹ûÄãÏÖÔÚÍ˳ö£¬Èí¼þ½«²»»á°²×°¡£%n%nÄã¿ÉÒÔÔÚÆäËüʱ¼äÖØÐÂÔËÐа²×°Ïòµ¼À´Íê³É°²×°¡£%n%nÏÖÔÚÍ˳ö°²×°Â𣿠+AboutSetupMenuItem=¹ØÓÚ°²×°Ïòµ¼(&A)... +AboutSetupTitle=¹ØÓÚ°²×°Ïòµ¼ +AboutSetupMessage=%1 °æ±¾ %2%n%3%n%n%1 Ö÷Ò³£º%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< ÉÏÒ»²½(&B) +ButtonNext=ÏÂÒ»²½(&N) > +ButtonInstall=°²×°(&I) +ButtonOK=È·¶¨ +ButtonCancel=È¡Ïû +ButtonYes=ÊÇ(&Y) +ButtonYesToAll=È«ÊÇ(&A) +ButtonNo=·ñ(&N) +ButtonNoToAll=È«·ñ(&O) +ButtonFinish=Íê³É(&F) +ButtonBrowse=ä¯ÀÀ(&B)... +ButtonWizardBrowse=ä¯ÀÀ(&R)... +ButtonNewFolder=´´½¨Îļþ¼Ð(&M) + +; *** "Select Language" dialog messages +SelectLanguageTitle=Ñ¡Ôñ°²×°ÓïÑÔ +SelectLanguageLabel=Ñ¡Ôñ°²×°ÆÚ¼äҪʹÓõÄÓïÑÔ£º + +; *** Common wizard text +ClickNext=µ¥»÷¡°ÏÂÒ»²½¡±¼ÌÐø£¬»òµ¥»÷¡°È¡Ïû¡±Í˳ö°²×°¡£ +BeveledLabel= +BrowseDialogTitle=ä¯ÀÀÎļþ¼Ð +BrowseDialogLabel=Ñ¡ÔñÒ»¸öÎļþ¼Ð£¬È»ºóµ¥»÷¡°È·¶¨¡±¡£ +NewFolderName=н¨Îļþ¼Ð + +; *** "Welcome" wizard page +WelcomeLabel1=»¶ÓʹÓà [name] °²×°Ïòµ¼ +WelcomeLabel2=°²×°Ïòµ¼½«ÔÚÄãµÄµçÄÔÉÏ°²×° [name/ver]¡£%n%n½¨ÒéÄãÔÚ¼ÌÐø֮ǰ¹Ø±ÕËùÓÐÆäËüÓ¦ÓóÌÐò¡£ + +; *** "Password" wizard page +WizardPassword=ÃÜÂë +PasswordLabel1=´Ë°²×°Ïòµ¼ÓÐÃÜÂë±£»¤¡£ +PasswordLabel3=ÇëÊäÈëÃÜÂ룬Ȼºóµ¥»÷¡°ÏÂÒ»²½¡±½øÈëÏÂÒ»²½¡£ÃÜÂëÇø·Ö´óСд¡£ +PasswordEditLabel=ÃÜÂë(&P)£º +IncorrectPassword=ÄãÊäÈëµÄÃÜÂë²»ÕýÈ·¡£ÇëÖØÊÔ¡£ + +; *** "License Agreement" wizard page +WizardLicense=Ðí¿ÉÐÒé +LicenseLabel=ÇëÔÚ¼ÌÐø֮ǰÔĶÁÒÔÏÂÖØÒªÐÅÏ¢¡£ +LicenseLabel3=ÇëÔĶÁÒÔÏÂÐí¿ÉÐÒé¡£ÔÚ¼ÌÐø°²×°Ö®Ç°£¬Äã±ØÐë½ÓÊÜ´ËÐÒéµÄÌõ¿î¡£ +LicenseAccepted=ÎÒ½ÓÊÜÐÒé(&A) +LicenseNotAccepted=ÎÒ²»½ÓÊÜÐÒé(&D) + +; *** "Information" wizard pages +WizardInfoBefore=ÐÅÏ¢ +InfoBeforeLabel=ÇëÔÚ¼ÌÐø֮ǰÔĶÁÒÔÏÂÖØÒªÐÅÏ¢¡£ +InfoBeforeClickLabel=µ±Äã×¼±¸ºÃ¼ÌÐø°²×°ºó£¬Çëµ¥»÷¡°ÏÂÒ»²½¡±¡£ +WizardInfoAfter=ÐÅÏ¢ +InfoAfterLabel=ÇëÔÚ¼ÌÐø֮ǰÔĶÁÒÔÏÂÖØÒªÐÅÏ¢¡£ +InfoAfterClickLabel=µ±Äã×¼±¸ºÃ¼ÌÐø°²×°ºó£¬Çëµ¥»÷¡°ÏÂÒ»²½¡±¡£ + +; *** "User Information" wizard page +WizardUserInfo=Óû§ÐÅÏ¢ +UserInfoDesc=ÇëÊäÈëÄãµÄÐÅÏ¢¡£ +UserInfoName=Óû§Ãû(&U)£º +UserInfoOrg=×éÖ¯(&O)£º +UserInfoSerial=ÐòÁкÅ(&S)£º +UserInfoNameRequired=±ØÐëÊäÈëÓû§Ãû¡£ + +; *** "Select Destination Location" wizard page +WizardSelectDir=Ñ¡ÔñÄ¿±êλÖà +SelectDirDesc=½« [name] °²×°µ½ÄÄÀ +SelectDirLabel3=°²×°Ïòµ¼½«°Ñ [name] °²×°µ½ÒÔÏÂÎļþ¼ÐÖС£ +SelectDirBrowseLabel=ÈôÒª¼ÌÐø£¬µ¥»÷¡°ÏÂÒ»²½¡±¡£Èç¹ûÄãҪѡÔñ²»Í¬µÄÎļþ¼Ð£¬Çëµ¥»÷¡°ä¯ÀÀ¡±¡£ +DiskSpaceMBLabel=ÖÁÉÙÐèÒª [mb] MB µÄ¿ÕÏдÅÅ̿ռ䡣 +ToUNCPathname=°²×°Ïòµ¼²»ÄÜ°²×°µ½ UNC ·¾¶¡£Èç¹ûÄãÊÇҪͨ¹ýÍøÂç°²×°£¬ÇëÓ³ÉäÍøÂçÇý¶¯Æ÷¡£ +InvalidPath=Äã±ØÐëÊäÈë´øÓÐÅÌ·ûµÄÍêÕû·¾¶¡£ÀýÈ磺%n%nC:\APP%n%n»òÕß UNC ·¾¶¸ñʽ£º%n%n\\server\share +InvalidDrive=ÄãÑ¡ÔñµÄÇý¶¯Æ÷»ò UNC ¹²Ïí²»´æÔÚ»ò²»¿É·ÃÎÊ¡£ÇëÖØÐÂÑ¡Ôñ¡£ +DiskSpaceWarningTitle=ûÓÐ×ã¹»µÄ´ÅÅÌ¿Õ¼ä +DiskSpaceWarning=°²×°Ïòµ¼ÖÁÉÙÐèÒª %1 KB µÄÊ£Óà¿Õ¼ä£¬µ«ÊÇËùÑ¡Çý¶¯Æ÷Ö»ÓÐ %2 KB ¿ÉÓá£%n%nÄãÎÞÂÛÈçºÎÒ²Òª¼ÌÐøÂ𣿠+DirNameTooLong=Îļþ¼ÐÃû³Æ»ò·¾¶Ì«³¤¡£ +InvalidDirName=Îļþ¼ÐÃû³ÆÎÞЧ¡£ +BadDirName32=Îļþ¼ÐÃû³Æ²»ÄÜ°üº¬ÏÂÁÐ×Ö·û£º%n%n%1 +DirExistsTitle=Îļþ¼ÐÒÑ´æÔÚ +DirExists=Îļþ¼Ð£º%n%n%1%n%nÒÑ´æÔÚ¡£ÄãÈ·¶¨Òª°²×°µ½¸ÃÎļþ¼ÐÂ𣿠+DirDoesntExistTitle=Îļþ¼Ð²»´æÔÚ +DirDoesntExist=Îļþ¼Ð£º%n%n%1%n%n²»´æÔÚ¡£´´½¨¸ÃÎļþ¼ÐÂ𣿠+ +; *** "Select Components" wizard page +WizardSelectComponents=Ñ¡Ôñ×é¼þ +SelectComponentsDesc=Òª°²×°ÄÄЩ×é¼þ£¿ +SelectComponentsLabel2=ÇëÑ¡ÔñÄãÒª°²×°µÄ×é¼þ£¬Çå³ýÄã²»Ïë°²×°µÄ×é¼þ¡£×¼±¸ºÃºóµã»÷¡°ÏÂÒ»²½¡±¡£ +FullInstallation=ÍêÕû°²×° +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=¼ò½à°²×° +CustomInstallation=¶¨ÖÆ°²×° +NoUninstallWarningTitle=×é¼þÒÑ´æÔÚ +NoUninstallWarning=°²×°Ïòµ¼·¢ÏÖÏÂÁÐ×é¼þÒѾ°²×°£º%n%n%1%n%nÈ¡ÏûÑ¡¶¨²»»áжÔØÕâЩ×é¼þ¡£%n%n¼ÌÐø°²×°Â𣿠+ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=µ±Ç°µÄÑ¡ÔñÖÁÉÙÐèÒª [mb] MB ´ÅÅ̿ռ䡣 + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Ñ¡Ôñ¸½¼ÓÈÎÎñ +SelectTasksDesc=ÒªÖ´ÐÐÄÄЩ¸½¼ÓÈÎÎñ£¿ +SelectTasksLabel2=ÇëÑ¡ÔñÔÚ°²×° [name] Æڼ䰲װÏòµ¼ÒªÖ´Ðеĸ½¼ÓÈÎÎñ£¬È»ºóµã»÷¡°ÏÂÒ»²½¡±¡£ + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Ñ¡Ôñ¿ªÊ¼²Ëµ¥Îļþ¼Ð +SelectStartMenuFolderDesc=°Ñ³ÌÐò¿ì½Ý·½Ê½·Åµ½ÄÄÀ +SelectStartMenuFolderLabel3=°²×°Ïòµ¼½«ÔÚÒÔÏ¿ªÊ¼²Ëµ¥Îļþ¼ÐÖд´½¨³ÌÐò¿ì½Ý·½Ê½¡£ +SelectStartMenuFolderBrowseLabel=µã»÷¡°ÏÂÒ»²½¡±½øÈëÏÂÒ»²½¡£Èç¹ûÄãҪѡÔñ²»Í¬µÄÎļþ¼Ð£¬Çëµã»÷¡°ä¯ÀÀ¡±¡£ +MustEnterGroupName=Äã±ØÐëÊäÈëÎļþ¼ÐÃû³Æ +GroupNameTooLong=Îļþ¼ÐÃû³Æ»ò·¾¶Ì«³¤ +InvalidGroupName=Îļþ¼ÐÃû³ÆÎÞЧ +BadGroupName=Îļþ¼ÐÃû³Æ²»ÄÜ°üº¬ÏÂÁÐ×Ö·û£º%n%n%1 +NoProgramGroupCheck2=½ûÖ¹´´½¨¿ªÊ¼²Ëµ¥Îļþ¼Ð(&D) + +; *** "Ready to Install" wizard page +WizardReady=×¼±¸°²×° +ReadyLabel1=°²×°Ïòµ¼ÏÖÔÚ×¼±¸¿ªÊ¼°²×° [name]¡£ +ReadyLabel2a=µã»÷¡°°²×°¡±¼ÌÐø°²×°£¬Èç¹ûÄãÏëÒª²é¿´»òÕ߸ü¸ÄÉèÖÃÇëµã»÷¡°ÉÏÒ»²½¡±¡£ +ReadyLabel2b=µã»÷¡°°²×°¡±¼ÌÐø°²×°¡£ +ReadyMemoUserInfo=Óû§ÐÅÏ¢£º +ReadyMemoDir=Ä¿±êλÖ㺠+ReadyMemoType=°²×°ÀàÐÍ£º +ReadyMemoComponents=ËùÑ¡×é¼þ£º +ReadyMemoGroup=¿ªÊ¼²Ëµ¥Îļþ¼Ð£º +ReadyMemoTasks=¸½¼ÓÈÎÎñ£º + +; *** "Preparing to Install" wizard page +WizardPreparing=ÕýÔÚ×¼±¸°²×° +PreparingDesc=°²×°Ïòµ¼ÕýÔÚ×¼±¸°²×° [name]¡£ +PreviousInstallNotCompleted=ÏÈÇ°³ÌÐòµÄ°²×°/жÔØÉÐδÍê³É¡£ÄãÐèÒªÖØÆôµçÄÔÀ´Íê³É°²×°¡£%n%nµçÄÔÖØÆôÖ®ºó£¬ÇëÖØÐÂÔËÐа²×°Ïòµ¼À´Íê³É [name] µÄ°²×°¡£ +CannotContinue=°²×°Ïòµ¼²»ÄܼÌÐø¡£Çëµã»÷¡°È¡Ïû¡±Í˳ö¡£ + +; *** "Installing" wizard page +WizardInstalling=ÕýÔÚ°²×° +InstallingLabel=ÕýÔÚÄãµÄ¼ÆËã»úÖа²×° [name]£¬ÇëÉÔµÈ... + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Íê³É [name] °²×° +FinishedLabelNoIcons=°²×°Ïòµ¼ÒÑÍê³É [name] µÄ°²×°¡£ +FinishedLabel=°²×°Ïòµ¼ÒÑÍê³É [name] µÄ°²×°¡£¿ÉÒÔͨ¹ýÑ¡ÔñÒÑ°²×°µÄͼ±êÀ´ÔËÐÐÓ¦ÓóÌÐò¡£ +ClickFinish=µã»÷¡°Íê³É¡±Í˳ö°²×°¡£ +FinishedRestartLabel=ΪÁËÍê³É [name] µÄ°²×°£¬°²×°Ïòµ¼±ØÐëÖØÆôµçÄÔ¡£ÄãÒªÁ¢¼´ÖØÆôÂ𣿠+FinishedRestartMessage=ΪÁËÍê³É [name] µÄ°²×°£¬°²×°Ïòµ¼±ØÐëÖØÆôµçÄÔ¡£%n%nÄãÒªÁ¢¼´ÖØÆôÂ𣿠+ShowReadmeCheck=ÊÇ£¬ÎÒÒª²é¿´×ÔÊöÎļþ +YesRadio=ÊÇ£¬Á¢¼´ÖØÆôµçÄÔ(&Y) +NoRadio=·ñ£¬ÉÔºóÖØÆôµçÄÔ(&N) +; used for example as 'Run MyProg.exe' +RunEntryExec=ÔËÐÐ %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=²é¿´ %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=°²×°Ïòµ¼ÐèÒªÏÂÒ»¸ö´ÅÅÌ +SelectDiskLabel2=Çë²åÈë´ÅÅÌ %1 ²¢µã»÷¡°È·¶¨¡±¡£%n%nÈç¹ûÔÚ³ýÁËÏÂÃæÏÔʾµÄÎļþ¼ÐÒÔÍâµÄÎļþ¼ÐÖÐÕÒ²»µ½¸Ã´ÅÅÌÉϵÄÎļþ£¬¾ÍÇëÊäÈëÕýÈ·µÄ·¾¶»òµã»÷¡°ä¯ÀÀ¡±¡£ +PathLabel=·¾¶(&P)£º +FileNotInDir2=Îļþ¡°%1¡±²»ÔÚ¡°%2¡±ÖС£Çë²åÈëÕýÈ·µÄ´ÅÅÌ»òÑ¡ÔñÆäËûÎļþ¼Ð¡£ +SelectDirectoryLabel=ÇëÖ¸¶¨ÏÂÒ»¸ö´ÅÅ̵ÄλÖᣠ+ +; *** Installation phase messages +SetupAborted=°²×°ÉÐδÍê³É¡£%n%nÇë¾ÀÕýÎÊÌâ²¢ÖØÐÂÔËÐа²×°Ïòµ¼¡£ +EntryAbortRetryIgnore=µã»÷¡°ÖØÊÔ¡±ÖØг¢ÊÔ£¬µã»÷¡°ºöÂÔ¡±¼ÌÐø°²×°£¬»òµã»÷¡°ÖÐÖ¹¡±È¡Ïû°²×°¡£ + +; *** Installation status messages +StatusCreateDirs=ÕýÔÚ´´½¨Îļþ¼Ð... +StatusExtractFiles=ÕýÔÚÌáÈ¡Îļþ... +StatusCreateIcons=ÕýÔÚ´´½¨¿ì½Ý·½Ê½... +StatusCreateIniEntries=ÕýÔÚ´´½¨ INI ÏîÄ¿... +StatusCreateRegistryEntries=ÕýÔÚ´´½¨×¢²á±íÏîÄ¿... +StatusRegisterFiles=ÕýÔÚ×¢²áÎļþ... +StatusSavingUninstall=ÕýÔÚ±£´æжÔØÐÅÏ¢... +StatusRunProgram=ÕýÔÚÍê³É°²×°... +StatusRollback=ÕýÔڻعö¸ü¸Ä... + +; *** Misc. errors +ErrorInternal2=ÄÚ²¿´íÎó£º%1 +ErrorFunctionFailedNoCode=%1 ʧ°Ü +ErrorFunctionFailed=%1 ʧ°Ü¡£´úÂë %2 +ErrorFunctionFailedWithMessage=%1 ʧ°Ü¡£´úÂë %2¡£%n%3 +ErrorExecutingProgram=ÎÞ·¨Ö´ÐÐÎļþ£º%n%1 + +; *** Registry errors +ErrorRegOpenKey=´ò¿ª×¢²á±í¼üʱ³ö´í£º%n%1\%2 +ErrorRegCreateKey=´´½¨×¢²á±í¼üʱ³ö´í£º%n%1\%2 +ErrorRegWriteKey=дÈë×¢²á±í¼üʱ³ö´í£º%n%1\%2 + +; *** INI errors +ErrorIniEntry=ÔÚÎļþ¡°%1¡±Öд´½¨ INI ÏîĿʱ³ö´í¡£ + +; *** File copying errors +FileAbortRetryIgnore=µã»÷¡°ÖØÊÔ¡±ÖØг¢ÊÔ£¬µã»÷¡°ºöÂÔ¡±Ìø¹ý´ËÎļþ (²»ÍƼö)£¬»òµã»÷¡°ÖÐÖ¹¡±È¡Ïû°²×°¡£ +FileAbortRetryIgnore2=µã»÷¡°ÖØÊÔ¡±ÖØг¢ÊÔ£¬µã»÷¡°ºöÂÔ¡±¼ÌÐø°²×° (²»ÍƼö)£¬»òµã»÷¡°ÖÐÖ¹¡±È¡Ïû°²×°¡£ +SourceIsCorrupted=Ô´ÎļþÒÑË𻵠+SourceDoesntExist=Ô´Îļþ¡°%1¡±²»´æÔÚ +ExistingFileReadOnly=ÏÖÓÐÎļþΪֻ¶Á¡£%n%nµã»÷¡°ÖØÊÔ¡±ÒƳýÖ»¶ÁÊôÐÔ²¢ÖØÊÔ£¬µã»÷¡°ºöÂÔ¡±Ìø¹ý´ËÎļþ£¬»òµã»÷¡°ÖÐÖ¹¡±È¡Ïû°²×°¡£ +ErrorReadingExistingDest=¶ÁÈ¡ÏÖÓÐÎļþʱ·¢Éú´íÎó£º +FileExists=ÎļþÒÑ´æÔÚ¡£%n%nÄãÒª¸²¸ÇËüÂ𣿠+ExistingFileNewer=ÏÖÓÐÎļþ±È°²×°Ïòµ¼Òª°²×°µÄ»¹Ð¡£½¨ÒéÄã±£ÁôÏÖÓÐÎļþ¡£%n%n±£ÁôÏÖÓÐÎļþÂ𣿠+ErrorChangingAttr=¸ü¸ÄÏÖÓÐÎļþµÄÊôÐÔʱ·¢Éú´íÎó£º +ErrorCreatingTemp=ÔÚÄ¿±êÎļþ¼ÐÖд´½¨Îļþʱ·¢Éú´íÎó£º +ErrorReadingSource=¶ÁÈ¡Ô´Îļþʱ·¢Éú´íÎó£º +ErrorCopying=¸´ÖÆÎļþʱ·¢Éú´íÎó£º +ErrorReplacingExistingFile=Ìæ»»ÏÖÓÐÎļþʱ·¢Éú´íÎó£º +ErrorRestartReplace=ÖØÆôºóÌ滻ʧ°Ü£º +ErrorRenamingTemp=ÖØÃüÃûÄ¿±êÎļþ¼ÐÖеÄÎļþʱ·¢Éú´íÎó£º +ErrorRegisterServer=ÎÞ·¨×¢²á DLL/OCX£º%1 +ErrorRegSvr32Failed=RegSvr32 ʧ°Ü¡£·µ»ØÖµ£º%1 +ErrorRegisterTypeLib=ÎÞ·¨×¢²áÀàÐͿ⣺%1 + +; *** Post-installation errors +ErrorOpeningReadme=´ò¿ª×ÔÊöÎļþʱ·¢Éú´íÎó¡£ +ErrorRestartingComputer=°²×°Ïòµ¼ÎÞ·¨ÖØÆôµçÄÔ¡£ÇëÊÖ¶¯ÖØÆô¡£ + +; *** Uninstaller messages +UninstallNotFound=Îļþ¡°%1¡±²»´æÔÚ¡£²»ÄÜжÔØ¡£ +UninstallOpenError=Îļþ¡°%1¡±²»ÄÜ´ò¿ª¡£²»ÄÜжÔØ +UninstallUnsupportedVer=жÔØÈÕÖ¾Îļþ¡°%1¡±µÄ¸ñʽ²»Äܱ»´Ë°æ±¾µÄжÔسÌÐòʶ±ð¡£²»ÄÜжÔØ +UninstallUnknownEntry=жÔØÈÕÖ¾ÖÐÓöµ½Ò»¸öδ֪µÄÏîÄ¿ (%1) +ConfirmUninstall=ÄãÊÇ·ñÈ·¶¨ÒªÍêȫɾ³ý %1 ¼°ÆäËùÓÐ×é¼þ£¿ +UninstallOnlyOnWin64=´Ë°²×°Ö»ÄÜÔÚ 64 λ Windows ÉÏжÔØ¡£ +OnlyAdminCanUninstall=´Ë°²×°Ö»ÄÜÓɾ߱¸¹ÜÀíԱȨÏÞµÄÓû§Ð¶ÔØ¡£ +UninstallStatusLabel=ÕýÔÚɾ³ý %1£¬ÇëÉÔµÈ... +UninstalledAll=%1 Òѳɹ¦É¾³ý¡£ +UninstalledMost=%1 жÔØÍê³É¡£%n%nijЩÏîÄ¿²»ÄÜɾ³ý£¬¿ÉÒÔÊÖ¶¯É¾³ý¡£ +UninstalledAndNeedsRestart=ÈôÒªÍê³É %1 µÄжÔØ£¬±ØÐëÖØÆôµçÄÔ¡£%n%nÄãÒªÁ¢¼´ÖØÆôÂ𣿠+UninstallDataCorrupted=Îļþ¡°%1¡±ÒÑË𻵡£²»ÄÜжÔØ + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=ɾ³ý¹²ÏíÎļþÂ𣿠+ConfirmDeleteSharedFile2=ÏÂÁй²ÏíÎļþ²»ÔÙ±»ÈκγÌÐòʹÓá£ÄãҪɾ³ý¸Ã¹²ÏíÎļþÂð£¿%n%nÈç¹û»¹ÓгÌÐòʹÓøÃÎļþ¶øËüÒѱ»É¾³ý£¬ÕâЩ³ÌÐò¿ÉÄÜÎÞ·¨Õý³£ÔËÐС£Èç¹ûÄ㲻ȷ¶¨£¬¾ÍÇëÑ¡Ôñ¡°·ñ¡±¡£ÁôϸÃÎļþ²»»á¶ÔϵͳÔì³ÉÈκÎΣº¦¡£ +SharedFileNameLabel=ÎļþÃû£º +SharedFileLocationLabel=λÖ㺠+WizardUninstalling=жÔØ״̬ +StatusUninstalling=ÕýÔÚжÔØ %1... + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 °æ±¾ %2 +AdditionalIcons=¸½¼Óͼ±ê£º +CreateDesktopIcon=´´½¨×ÀÃæͼ±ê(&D) +CreateQuickLaunchIcon=´´½¨¿ìËÙÆô¶¯À¸Í¼±ê(&Q) +ProgramOnTheWeb=%1 ÍøÕ¾ +UninstallProgram=жÔØ %1 +LaunchProgram=ÔËÐÐ %1 +AssocFileExtension=½« %1 Óë %2 ÎļþÀ©Õ¹Ãû¹ØÁª(&A) +AssocingFileExtension=ÕýÔÚ½« %1 Óë %2 ÎļþÀ©Õ¹Ãû¹ØÁª... diff --git a/tools/innosetup/zh_CN_scilab.isl b/tools/innosetup/zh_CN_scilab.isl new file mode 100755 index 000000000..ca382f402 --- /dev/null +++ b/tools/innosetup/zh_CN_scilab.isl @@ -0,0 +1,137 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- +zh_CN.LANGUAGE =zh_CN + +zh_CN.MsgBoxJRENotFound =Java Runtime Environment not detected. +zh_CN.MsgBoxJREURL =Please download & Install JRE at http://www.java.com/zh_CN/download/ +zh_CN.MsgBoxJREReinstall =Reinstall Scilab after your JRE update. +zh_CN.MsgBoxSSERequired =CPU SSE2 instructions are required for Scilab to run correctly. +zh_CN.MsgBoxX64Ready =For increase performance, it will be better to use Scilab x64 bits version on this Operating system. + +zh_CN.MsgBoxJavaDetection1 =Java is not installed on this computer and this program needs it. +zh_CN.MsgBoxJavaDetection2 =Please choose to install Java Runtime: +zh_CN.MsgBoxWebOpen =Can not open web page. +zh_CN.MsgBoxDevToolsRequired1 =You choose to install toolbox_skeleton module but development_tools module is not selected. +zh_CN.MsgBoxDevToolsRequired2 =Please install development_tools module. +zh_CN.MsgBoxDevToolsRequired3 =You choose to install tests module but development_tools module is not selected. +zh_CN.MsgBoxTclsciRequired2 =Please install tclsci module. +zh_CN.MsgBoxFftw1 =You choose to install FFTW module for Scilab. +zh_CN.MsgBoxFftw2 =This module requires to download FFTW library (GPL). +zh_CN.MsgBoxFftw3 =Do you want to open a web page about this add-on ? +zh_CN.MsgBoxFftw4 =Can not open web page. +zh_CN.MsgBoxWinVer =Windows 2000 is required. +zh_CN.MsgBoxScicosRequired1 =You choose to install Xcos module but Scicos module is not selected. +zh_CN.MsgBoxScicosRequired2 =Please also install Scicos module. + +; +zh_CN.ButtonAboutModules =&About modules ... +; +zh_CN.DescriptionEquDif =Differential Equations Module +zh_CN.DescriptionInterpolation =Interpolation Module +zh_CN.DescriptionPolynomials =Polynomials Module +zh_CN.DescriptionSymbolic =Symbolic Module +zh_CN.DescriptionStats =Statistics Module +zh_CN.DescriptionSparse =Sparse Matrix Module +zh_CN.DescriptionLinAlg =Linear Algebra Module +zh_CN.DescriptionSigProc =Signal processing Module +zh_CN.DescriptionCacsd =C.A.C.S.D Module +zh_CN.DescriptionGraphics =Graphics Module +zh_CN.DescriptionOptim =Optimization Module +zh_CN.DescriptionMetanet =Metanet Toolbox +zh_CN.DescriptionScicos =Scicos Toolbox +zh_CN.DescriptionArnoldi =ARnoldi PACKage Toolbox +zh_CN.DescriptionUmfpack =UMFPACK for Scilab +zh_CN.DescriptionCompatFunctions =Compatibility functions +zh_CN.DescriptionM2sci =M2SCI Toolbox +zh_CN.DescriptionMatio =MAT File Input/Output Toolbox +zh_CN.DescriptionExternalObjects =External objects +zh_CN.DescriptionSound =Sound file handling Toolbox +zh_CN.DescriptionRandlib =Randlib Toolbox +zh_CN.DescriptionMexlib =Mexlib Tools +zh_CN.DescriptionIntersci =Intersci Toolbox +zh_CN.DescriptionTclTK =TCL/TK in Scilab +zh_CN.DescriptionSpreadsheet =Spreadsheet Toolbox +zh_CN.DescriptionJVM =Java Runtime +zh_CN.DescriptionAtlas =Atlas library 3.8.0 CPU optimized +zh_CN.DescriptionFftwModule =FFTW interface for Scilab +zh_CN.DescriptionFftwMKLDownload =Download FFTW library optimized by Intel Math Kernel Library +zh_CN.DescriptionRefFftwLibrary =Reference FFTW library +zh_CN.DescriptionParametersTlbx =Parameters Toolbox +zh_CN.DescriptionGeneticTlbx =Genetic Algorithms Toolbox +zh_CN.DescriptionSimulAnnealingTlbx =Simulated Annealing Toolbox +zh_CN.DescriptionDevTools =Development Tools +zh_CN.DescriptionTests =Tests for Scilab +zh_CN.DescriptionTlbxSkeleton =A toolbox skeleton (to extend Scilab) +zh_CN.DescriptionComConnector =COM connector +zh_CN.DescriptionSciNotes =SciNotes: Editor for Scilab +zh_CN.DescriptionXcos =Xcos +zh_CN.DescriptionParallel =Parallel Computing with Scilab +zh_CN.DescriptionModulesManager =Tools for management of extern modules +zh_CN.DescriptionModuleJVM =JVM Module +; +zh_CN.ConsoleIconName =Scilab Console +; +zh_CN.WebIconScilab =Scilab on the Web +; +zh_CN.ReadMeIcon =Read Me +; +zh_CN.UnInstallIcon =Uninstall Scilab +; +zh_CN.RegKeyRunWith =Run with +; +zh_CN.DescriptionVC2008Redist =Install Microsoft Visual C++ 2008 Redistributable Package +; +zh_CN.DescriptionConfigureAtlas =Configure Atlas +; +zh_CN.DescriptionLaunchScilab =Launch Scilab +; +zh_CN.DescriptionCreateDesktopIcon =Create a &desktop icon +; +zh_CN.DescriptionQuickLaunch =Create a shortcut in Quick Launch Bar +; +zh_CN.DescriptionAssociateSceSci =Associate *.sce,*.sci files with Scilab +; +zh_CN.DescriptionAssociateTstDem =Associate *.tst files with Scilab +; +zh_CN.DescriptionAssociateBinSav =Associate *.bin, *.sav files with Scilab +; +zh_CN.DescriptionAssociateGraph =Associate *.graph *.graphb files with Scilab +; +zh_CN.DescriptionAssociateScicos =Associate *.xcos *.cos *.cosf files with Scilab +; +zh_CN.DescriptionDefaultInstall =Installation (Default) +zh_CN.DescriptionFullInstall =Full installation +zh_CN.DescriptionCustomInstall =Custom installation +zh_CN.DescriptionCLIInstall =Command Line Minimal Installation (no gui) +; +zh_CN.DescriptionCPUOptimization =CPU Optimization for Scilab +zh_CN.DescriptionATLASLibrary =Atlas Library for Scilab +zh_CN.DescriptionRefBlasLibrary =Blas, Lapack Reference libraries for Scilab +zh_CN.DescriptionMKLLibrary =Download Intel Math Kernel Library for Scilab +; +zh_CN.DownloadMKLLabel =Downloading Intel Math Kernel Library files for Scilab +zh_CN.DownloadMKLDescription =Please wait while Setup is downloading extra files to your computer. +; +zh_CN.DownloadMKLFFTWLabel =Downloading FFTW3 library optimized by Intel Math Kernel. +; +zh_CN.DoTasksJustAfterInstallMsg2 =BLAS, LAPACK reference libraries will be installed and used. +zh_CN.DoTasksJustAfterInstallMsg3 =FFTW3 reference library will be installed and used. +; +zh_CN.NextButtonClickwpReadyMsg1 =Impossible to download Intel Math Kernel Library files for Scilab (Default library will be used). +zh_CN.NextButtonClickwpReadyMsg2 =Impossible to download FFTW3 library optimized by Intel Math Kernel Library (Default library will be used). +; +zh_CN.DescriptionAtoms =ATOMS +;------------------------------------------------------------------------------- +; diff --git a/tools/innosetup/zh_TW.isl b/tools/innosetup/zh_TW.isl new file mode 100755 index 000000000..cc4f2a586 --- /dev/null +++ b/tools/innosetup/zh_TW.isl @@ -0,0 +1,317 @@ +; *** Inno Setup version 5.1.11+ Chinese (Traditional) messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/is3rdparty.php +; +; Translated by: Patrick Pang (uncleleft at yahoo.com.hk) +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +LanguageName=<7e41><9ad4><4e2d><6587> +LanguageID=$0404 +LanguageCodepage=950 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +DialogFontName=·s²Ó©úÅé +DialogFontSize=9 +TitleFontName=Arial +TitleFontSize=28 +WelcomeFontName=·s²Ó©úÅé +WelcomeFontSize=12 +CopyrightFontName=·s²Ó©úÅé +CopyrightFontSize=9 + +[Messages] + +; *** Application titles +SetupAppTitle=¦w¸Ëµ{¦¡ +SetupWindowTitle=%1 ¦w¸Ëµ{¦¡ +UninstallAppTitle=¸Ñ°£¦w¸Ë +UninstallAppFullTitle=¸Ñ°£¦w¸Ë %1 + +; *** Misc. common +InformationTitle=°T®§ +ConfirmTitle=½T»{ +ErrorTitle=¿ù»~ + +; *** SetupLdr messages +SetupLdrStartupMessage=³o±N·|¦w¸Ë %1¡C±z·QnÄ~Äò¶Ü? +LdrCannotCreateTemp=µLªk«Ø¥ß¼È¦sÀɮסC¦w¸Ëµ{¦¡±N·|µ²§ô¡C +LdrCannotExecTemp=µLªk°õ¦æ¼È¦sÀɮסC¦w¸Ëµ{¦¡±N·|µ²§ô¡C + +; *** Startup error messages +LastErrorMessage=%1%n%n¿ù»~ %2: %3 +SetupFileMissing=¦w¸Ë¸ê®Æ§¨¤¤¿ò¥¢ÀÉ®× %1¡C½Ð×¥¿¦¹°ÝÃD©Î«·s¨ú±o¦¹³nÅé¡C +SetupFileCorrupt=¦w¸ËÀɮפw¸g·l·´¡C½Ð«·s¨ú±o¦¹³nÅé¡C +SetupFileCorruptOrWrongVer=¦w¸ËÀɮפw¸g·l·´¡A©Î»P¦w¸Ëµ{¦¡ªºª©¥»¤£²Å¡C½Ð«·s¨ú±o¦¹³nÅé¡C +NotOnThisPlatform=³oÓµ{¦¡µLªk¦b %1 °õ¦æ¡C +OnlyOnThisPlatform=³oÓµ{¦¡¥²¶·¦b %1 °õ¦æ¡C +OnlyOnTheseArchitectures=³oÓµ{¦¡¥u¯à¦b±Mªù¬°¥H¤U³B²z¾¹¬[ºc¦Ó³]pªº Windows ¤W¦w¸Ë:%n%n%1 +MissingWOW64APIs=³oÓª©¥»ªº Windows ¤£¥]§t¦w¸Ëµ{¦¡°õ¦æ 64 ¦ì¤¸¦w¸Ë©Ò»Ýªº¥\¯à¡C½Ð¦w¸Ë Service Pack %1 ¥h×¥¿¦¹°ÝÃD¡C +WinVersionTooLowError=³oÓµ{¦¡¥²¶·¦b %1 ª©¥» %2 ©Î¥H¤Wªº¨t²Î°õ¦æ¡C +WinVersionTooHighError=³oÓµ{¦¡µLªk¦w¸Ë¦b %1 ª©¥» %2 ©Î¥H¤Wªº¨t²Î¡C +AdminPrivilegesRequired=±z¥²¶·µn¤J¦¨¨t²ÎºÞ²zû¥H¦w¸Ë³oÓµ{¦¡¡C +PowerUserPrivilegesRequired=±z¥²¶·µn¤J¦¨¨ã¦³¨t²ÎºÞ²zû©Î Power User Åvªº¨Ï¥ÎªÌ¥H¦w¸Ë³oÓµ{¦¡¡C +SetupAppRunningError=¦w¸Ëµ{¦¡°»´ú¨ì %1 ¥¿¦b°õ¦æ¡C%n%n½ÐÃö³¬¸Óµ{¦¡«á«ö [½T©w] Ä~Äò¡A©Î«ö [¨ú®ø] Â÷¶}¡C +UninstallAppRunningError=¸Ñ°£¦w¸Ëµ{¦¡°»´ú¨ì %1 ¥¿¦b°õ¦æ¡C%n%n½ÐÃö³¬¸Óµ{¦¡«á«ö [½T©w] Ä~Äò¡A©Î«ö [¨ú®ø] Â÷¶}¡C + +; *** Misc. errors +ErrorCreatingDir=¦w¸Ëµ{¦¡µLªk«Ø¥ß¸ê®Æ§¨ "%1"¡C +ErrorTooManyFilesInDir=µLªk¦b¸ê®Æ§¨ "%1" ¤º«Ø¥ßÀɮסA¦]¬°¸ê®Æ§¨¤º¦³¤Ó¦hªºÀɮסC + +; *** Setup common messages +ExitSetupTitle=µ²§ô¦w¸Ëµ{¦¡ +ExitSetupMessage=¦w¸Ë©|¥¼§¹¦¨¡C¦pªG±z²{¦bµ²§ô¦w¸Ëµ{¦¡¡A³oÓµ{¦¡±N¤£·|³Q¦w¸Ë¡C%n%n±z¥i¥Hµy«á¦A°õ¦æ¦w¸Ëµ{¦¡¥H§¹¦¨¦w¸Ëµ{§Ç¡C±z²{¦bnµ²§ô¦w¸Ëµ{¦¡¶Ü? +AboutSetupMenuItem=Ãö©ó¦w¸Ëµ{¦¡(&A)... +AboutSetupTitle=Ãö©ó¦w¸Ëµ{¦¡ +AboutSetupMessage=%1 ª©¥» %2%n%3%n%n%1 ºô§}:%n%4 +AboutSetupNote= +TranslatorNote=ÁcÅ餤¤å»y¨t¥Ñ Patrick Pang (uncleleft@yahoo.com.hk) ºûÅ@¡C + +; *** Buttons +ButtonBack=< ¤W¤@¨B(&B) +ButtonNext=¤U¤@¨B(&N) > +ButtonInstall=¦w¸Ë(&I) +ButtonOK=½T©w +ButtonCancel=¨ú®ø +ButtonYes=¬O(&Y) +ButtonYesToAll=¥þ³¡¬Ò¬O(&A) +ButtonNo=§_(&N) +ButtonNoToAll=¥þ³¡¬Ò§_(&O) +ButtonFinish=§¹¦¨(&F) +ButtonBrowse=ÂsÄý(&B)... +ButtonWizardBrowse=ÂsÄý(&R)... +ButtonNewFolder=«Ø¥ß·s¸ê®Æ§¨(&M) + +; *** "Select Language" dialog messages +SelectLanguageTitle=¿ï¾Ü¦w¸Ë»y¨¥ +SelectLanguageLabel=¿ï¾Ü¦b¦w¸Ë¹Lµ{¤¤¨Ï¥Îªº»y¨¥: + +; *** Common wizard text +ClickNext=«ö [¤U¤@¨B] Ä~Äò¦w¸Ë¡A©Î«ö [¨ú®ø] µ²§ô¦w¸Ëµ{¦¡¡C +BeveledLabel= +BrowseDialogTitle=ÂsÄý¸ê®Æ§¨ +BrowseDialogLabel=¦b¤U±ªº¸ê®Æ§¨¦Cªí¤¤¿ï¾Ü¤@Ó¸ê®Æ§¨¡AµM«á«ö [½T©w]¡C +NewFolderName=·s¸ê®Æ§¨ + +; *** "Welcome" wizard page +WelcomeLabel1=Åwªï¨Ï¥Î [name] ¦w¸Ëµ{¦¡ +WelcomeLabel2=³oÓ¦w¸Ëµ{¦¡±N·|¦w¸Ë [name/ver] ¨ì±zªº¹q¸£¡C%n%n§Ú̱j¯P«Øij±z¦b¦w¸Ë¹Lµ{¤¤Ãö³¬¨ä¥¦ªºÀ³¥Îµ{¦¡¡A¥HÁקK»P¦w¸Ëµ{¦¡µo¥Í½Ä¬ð¡C + +; *** "Password" wizard page +WizardPassword=±K½X +PasswordLabel1=³oÓ¦w¸Ëµ{¦¡¨ã¦³±K½X«OÅ@¡C +PasswordLabel3=½Ð¿é¤J±K½X¡AµM«á«ö [¤U¤@¨B] Ä~Äò¡C±K½X¬O°Ï¤À¤j¤p¼gªº¡C +PasswordEditLabel=±K½X(&P): +IncorrectPassword=±z¿é¤Jªº±K½X¤£¥¿½T¡A½Ð«·s¿é¤J¡C + +; *** "License Agreement" wizard page +WizardLicense=±ÂÅv¦X¬ù +LicenseLabel=½Ð¾\Ū¥H¤U±ÂÅv¦X¬ù¡C +LicenseLabel3=½Ð¾\Ū¥H¤U±ÂÅv¦X¬ù¡A±z¥²¶·±µ¨ü¦X¬ùªº¦U¶µ±ø´Ú¤~¯àÄ~Äò¦w¸Ë¡C +LicenseAccepted=§Ú¦P·N(&A) +LicenseNotAccepted=§Ú¤£¦P·N(&D) + +; *** "Information" wizard pages +WizardInfoBefore=°T®§ +InfoBeforeLabel=¦bÄ~Äò¦w¸Ë¤§«e½Ð¾\Ū¥H¤U«n¸ê°T¡C +InfoBeforeClickLabel=·í±z·Ç³Æ¦nÄ~Äò¦w¸Ë¡A½Ð«ö [¤U¤@¨B]¡C +WizardInfoAfter=°T®§ +InfoAfterLabel=¦bÄ~Äò¦w¸Ë¤§«e½Ð¾\Ū¥H¤U«n¸ê°T¡C +InfoAfterClickLabel=·í±z·Ç³Æ¦nÄ~Äò¦w¸Ë¡A½Ð«ö [¤U¤@¨B]¡C + +; *** "User Information" wizard page +WizardUserInfo=¨Ï¥ÎªÌ¸ê°T +UserInfoDesc=½Ð¿é¤J±zªº¸ê®Æ¡C +UserInfoName=¨Ï¥ÎªÌ¦WºÙ(&U): +UserInfoOrg=²Õ´(&O): +UserInfoSerial=§Ç¸¹(&S): +UserInfoNameRequired=±z¥²¶·¿é¤J±zªº¦WºÙ¡C + +; *** "Select Destination Location" wizard page +WizardSelectDir=¿ï¾Ü¥Øªº¸ê®Æ§¨ +SelectDirDesc=¿ï¾Ü¦w¸Ëµ{¦¡¦w¸Ë [name] ªº¦ì¸m¡C +SelectDirLabel3=¦w¸Ëµ{¦¡±N·|§â [name] ¦w¸Ë¨ì¤U±ªº¸ê®Æ§¨¡C +SelectDirBrowseLabel=«ö [½T©w] Ä~Äò¡A¦pªG±z·Q¿ï¾Ü¥t¤@Ó¸ê®Æ§¨¡A½Ð«ö [ÂsÄý]¡C +DiskSpaceMBLabel=³Ì¤Ö»Ýn [mb] MB ºÏºÐªÅ¶¡¡C +ToUNCPathname=¦w¸Ëµ{¦¡µLªk¦w¸Ë©ó UNC ¸ô®|¦WºÙ¡C¦pªG±z§Æ±æ¦w¸Ë©óºô¸ô¤W¨ä¥L¹q¸£¤¤¡A±z¥²¶·«Ø¥ß¤@Ó©T©w³s±µªººô¸ôºÏºÐ¾÷¡C +InvalidPath=±z¥²¶·¿é¤J§¹¾ãªº¸ô®|¦WºÙ¤ÎºÏºÐ¾÷¥N½X¡C%n%n¨Ò¦p C:\App ©Î UNC ¸ô®|®æ¦¡ \\¦øªA¾¹\¦@¥Î¸ê®Æ§¨¡C +InvalidDrive=±z¿ï¨úªººÏºÐ¾÷©Î UNC ¦WºÙ¤£¦s¦b©ÎµLªk¦s¨ú¡A½Ð¿ï¾Ü¨ä¥Lªº¥Øªº¦a¡C +DiskSpaceWarningTitle=ºÏºÐªÅ¶¡¤£¨¬ +DiskSpaceWarning=¦w¸Ëµ{¦¡»Ýn¦Ü¤Ö %1 KB ªººÏºÐªÅ¶¡¡A±z©Ò¿ï¨úªººÏºÐ¥u¦³ %2 KB ¥i¥ÎªÅ¶¡¡C%n%n±znÄ~Äò¦w¸Ë¶Ü? +DirNameTooLong=¸ê®Æ§¨¦WºÙ©Î¸ô®|¤Óªø¡C +InvalidDirName=¸ê®Æ§¨¦WºÙ¤£¥¿½T¡C +BadDirName32=¸ê®Æ§¨¦WºÙ¤£±o¥]§t¥H¤U¯S®í¦r¤¸:%n%n%1 +DirExistsTitle=¸ê®Æ§¨¤w¸g¦s¦b +DirExists=¸ê®Æ§¨ %1 ¤w¸g¦s¦b¡C%n%n±znÄ~Äò¦w¸Ë¨ì³oÓ¸ê®Æ§¨¶Ü? +DirDoesntExistTitle=¸ê®Æ§¨¤£¦s¦b +DirDoesntExist=¸ê®Æ§¨ %1 ¤£¦s¦b¡C%n%n±zn«Ø¥ß³oÓ¸ê®Æ§¨¶Ü? + +; *** "Select Components" wizard page +WizardSelectComponents=¿ï¾Ü¤¸¥ó +SelectComponentsDesc=¿ï¾Ü±N·|³Q¦w¸Ëªº¤¸¥ó¡C +SelectComponentsLabel2=¿ï¾Ü±z·Qn¦w¸Ëªº¤¸¥ó¤Î²M°£±z¤£·Q¦w¸Ëªº¤¸¥ó¡AµM«á«ö [¤U¤@¨B] Ä~Äò¦w¸Ë¡C +FullInstallation=§¹¾ã¦w¸Ë +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=³Ì¤p¦w¸Ë +CustomInstallation=¦Ûq¦w¸Ë +NoUninstallWarningTitle=¤¸¥ó¤w¦s¦b +NoUninstallWarning=¦w¸Ëµ{¦¡°»´ú¨ì¥H¤U¤¸¥ó¤w¸g¦w¸Ë¦b±zªº¹q¸£¤W:%n%n%1%n%n¨ú®ø¿ï¾Ü³o¨Ç¤¸¥ó±N¤£·|²¾°£¥¦Ì¡C%n%n±z¤´µMnÄ~Äò¶Ü? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=¥Ø«eªº¿ï¾Ü»Ýn¦Ü¤Ö [mb] MB ºÏºÐªÅ¶¡¡C + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=¿ï¾Üªþ¥[ªº¤u§@ +SelectTasksDesc=¿ï¾Ün°õ¦æªºªþ¥[¤u§@¡C +SelectTasksLabel2=¿ï¾Ü¦w¸Ëµ{¦¡¦b¦w¸Ë [name] ®Én°õ¦æªºªþ¥[¤u§@¡AµM«á«ö [¤U¤@¨B]¡C + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=¿ï¾Ü¡u¶}©l¡v¥\¯àªíªº¸ê®Æ§¨ +SelectStartMenuFolderDesc=¿ï¾Ü¦w¸Ëµ{¦¡«Ø¥ßµ{¦¡ªº±¶®|ªº¦ì¸m¡C +SelectStartMenuFolderLabel3=¦w¸Ëµ{¦¡±N·|§âµ{¦¡ªº±¶®|«Ø¥ß¦b¤U±ªº¡u¶}©l¡v¥\¯àªí¸ê®Æ§¨¡C +SelectStartMenuFolderBrowseLabel=«ö [½T©w] Ä~Äò¡A¦pªG±z·Q¿ï¾Ü¥t¤@Ó¸ê®Æ§¨¡A½Ð«ö [ÂsÄý]¡C +MustEnterGroupName=±z¥²¶·¿é¤J¤@Ó¸ê®Æ§¨ªº¦WºÙ¡C +GroupNameTooLong=¸ê®Æ§¨¦WºÙ©Î¸ô®|¤Óªø¡C +InvalidGroupName=¸ê®Æ§¨¦WºÙ¤£¥¿½T¡C +BadGroupName=¸ê®Æ§¨¦WºÙ¤£±o¥]§t¤U¦C¦r¤¸:%n%n%1 +NoProgramGroupCheck2=¤£n¦b¡u¶}©l¡v¥\¯àªí¤¤«Ø¥ß¸ê®Æ§¨(&D) + +; *** "Ready to Install" wizard page +WizardReady=·Ç³Æ¦w¸Ë +ReadyLabel1=¦w¸Ëµ{¦¡±N¶}©l¦w¸Ë [name] ¨ì±zªº¹q¸£¤¤¡C +ReadyLabel2a=«ö¤U [¦w¸Ë] Ä~Äò¦w¸Ë¡A©Î«ö [¤W¤@¨B] «·sÀ˵ø©Î³]©w¦U¿ï¶µªº¤º®e¡C +ReadyLabel2b=«ö¤U [¦w¸Ë] Ä~Äò¦w¸Ë¡C +ReadyMemoUserInfo=¨Ï¥ÎªÌ¸ê°T +ReadyMemoDir=¥Øªº¸ê®Æ§¨: +ReadyMemoType=¦w¸Ë«¬ºA: +ReadyMemoComponents=¿ï¾Üªº¤¸¥ó: +ReadyMemoGroup=¡u¶}©l¡v¥\¯àªí¸ê®Æ§¨: +ReadyMemoTasks=ªþ¥[¤u§@: + +; *** "Preparing to Install" wizard page +WizardPreparing=·Ç³Æ¦w¸Ëµ{¦¡ +PreparingDesc=¦w¸Ëµ{¦¡·Ç³Æ±N [name] ¦w¸Ë¨ì±zªº¹q¸£¤W¡C +PreviousInstallNotCompleted=¥ý«eªº¦w¸Ë/ ¸Ñ°£¦w¸Ë©|¥¼§¹¦¨¡A±z¥²¶·«·s±Ò°Ê¹q¸£¥H§¹¦¨¸Ó¦w¸Ë¡C%n%n¦b«·s±Ò°Ê¹q¸£¤§«á¡A½Ð¦A°õ¦æ³oÓµ{¦¡¨Ó¦w¸Ë [name]¡C +CannotContinue=¦w¸Ëµ{¦¡µLªkÄ~Äò¡C½Ð«ö [¨ú®ø] Â÷¶}¡C + +; *** "Installing" wizard page +WizardInstalling=¥¿¦b¦w¸Ë +InstallingLabel=½ÐµyÔ¡A¦w¸Ëµ{¦¡¥¿¦b±N [name] ¦w¸Ë¨ì±zªº¹q¸£¤W¡C + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=¦w¸Ë§¹¦¨ +FinishedLabelNoIcons=¦w¸Ëµ{¦¡¤w¸g±N [name] ¦w¸Ë¦b±zªº¹q¸£¤W¡C +FinishedLabel=¦w¸Ëµ{¦¡¤w¸g±N [name] ¦w¸Ë¦b±zªº¹q¸£¤¤¡A±z¥i¥H¿ï¾Üµ{¦¡ªº¹Ï¥Ü¨Ó°õ¦æ¸ÓÀ³¥Îµ{¦¡¡C +ClickFinish=«ö [§¹¦¨] ¥Hµ²§ô¦w¸Ëµ{¦¡¡C +FinishedRestartLabel=n§¹¦¨ [name] ªº¦w¸Ë¡A¦w¸Ëµ{¦¡¥²¶·«·s±Ò°Ê±zªº¹q¸£¡C±z·Qn²{¦b«·s±Ò°Ê¹q¸£¶Ü? +FinishedRestartMessage=n§¹¦¨ [name] ªº¦w¸Ë¡A¦w¸Ëµ{¦¡¥²¶·«·s±Ò°Ê±zªº¹q¸£¡C%n%n±z·Qn²{¦b«·s±Ò°Ê¹q¸£¶Ü? +ShowReadmeCheck=¬O¡A§Ún¾\ŪŪ§ÚÀɮסC +YesRadio=¬O¡A¥ß§Y«·s±Ò°Ê¹q¸£(&Y) +NoRadio=§_¡A§Úµy«á«·s±Ò°Ê¹q¸£(&N) +; used for example as 'Run MyProg.exe' +RunEntryExec=°õ¦æ %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=À˵ø %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=¦w¸Ëµ{¦¡»Ýn¤U¤@±iºÏ¤ù +SelectDiskLabel2=½Ð´¡¤JºÏ¤ù %1¡AµM«á«ö [½T©w]¡C%n%n¦pªGÀɮפ£¦b¥H¤U©ÒÅã¥Üªº¸ê®Æ§¨¤§¤¤¡A½Ð¿é¤J¥¿½Tªº¸ê®Æ§¨¦WºÙ©Î«ö [ÂsÄý] ¿ï¨ú¡C +PathLabel=¸ô®|(&P): +FileNotInDir2=ÀÉ®× "%1" µLªk¦b "%2" §ä¨ì¡C½Ð´¡¤J¥¿½TªººÏ¤ù©Î¿ï¾Ü¨ä¥¦ªº¸ê®Æ§¨¡C +SelectDirectoryLabel=½Ð«ü©w¤U¤@±iºÏ¤ùªº¦ì¸m¡C + +; *** Installation phase messages +SetupAborted=¦w¸Ë¨S¦³§¹¦¨¡C%n%n½Ð§ó¥¿°ÝÃD«á«·s¦w¸Ë¤@¦¸¡C +EntryAbortRetryIgnore=«ö [«¸Õ] «¸Õ¤@¦¸¡A«ö¤U [²¤¹L] ¸õ¹L³oÓÀɮסA©Î«ö¤U [¤¤¤î] µ²§ô¦w¸Ë¡C + +; *** Installation status messages +StatusCreateDirs=¥¿¦b«Ø¥ß¸ê®Æ§¨... +StatusExtractFiles=¥¿¦b¸ÑÀ£ÁYÀÉ®×... +StatusCreateIcons=¥¿¦b«Ø¥ßµ{¦¡¶°¹Ï¥Ü... +StatusCreateIniEntries=¼g¤J INI Àɮתº¶µ¥Ø... +StatusCreateRegistryEntries=¥¿¦b§ó·s¨t²Îµn¿ý... +StatusRegisterFiles=¥¿¦bµn¿ýÀÉ®×... +StatusSavingUninstall=Àx¦s¸Ñ°£¦w¸Ë¸ê°T... +StatusRunProgram=¥¿¦b§¹¦¨¦w¸Ë... +StatusRollback=¥¿¦b´_ìÅܧó... + +; *** Misc. errors +ErrorInternal2=¤º³¡¿ù»~: %1¡C +ErrorFunctionFailedNoCode=%1 ¥¢±Ñ¡C +ErrorFunctionFailed=%1 ¥¢±Ñ¡C¥N½X %2¡C +ErrorFunctionFailedWithMessage=%1 ¥¢±Ñ¡C¥N½X %2¡C%n%3 +ErrorExecutingProgram=µLªk°õ¦æÀÉ®×:%n%1 + +; *** Registry errors +ErrorRegOpenKey=µLªk¶}±Òµn¿ýÁä:%n%1\%2 +ErrorRegCreateKey=µLªk«Ø¥ßµn¿ý¶µ¥Ø:%n%1\%2 +ErrorRegWriteKey=µLªkÅܧóµn¿ý¶µ¥Ø:%n%1\%2 + +; *** INI errors +ErrorIniEntry=µLªk«Ø¥ß INI ¶µ¥Ø "%1"¡C + +; *** File copying errors +FileAbortRetryIgnore=«ö [«¸Õ] ¦A¸Õ¤@¦¸¡A«ö [²¤¹L] ¸õ¹L³oÓÀɮס]¤£«Øij¡^¡A©Î«ö [¤¤¤î] µ²§ô¦w¸Ë¡C +FileAbortRetryIgnore2=«ö [«¸Õ] ¦A¸Õ¤@¦¸¡A«ö [²¤¹L] Ä~Äò¶i¦æ¡]¤£«Øij¡^¡A©Î«ö [¤¤¤î] µ²§ô¦w¸Ë¡C +SourceIsCorrupted=¨Ó·½Àɮפw¸g·l·´¡C +SourceDoesntExist=¨Ó·½ÀÉ®× "%1" ¤£¦s¦b¡C +ExistingFileReadOnly=ÀÉ®×Äݩʤw³]¬°°ßŪ¡C%n%n«ö [«¸Õ] ±N°ßŪÄݩʲ¾°£¨Ã¦A¸Õ¤@¦¸¡A«ö [²¤¹L] ¸õ¹L³oÓÀɮסA©Î«ö [¤¤¤î] µ²§ô¦w¸Ë¡C +ErrorReadingExistingDest=Ū¨ú¤@Ó¤w¦s¦bªºÀɮ׮ɵo¥Í¿ù»~: +FileExists=Àɮפw¸g¦s¦b¡C±zn¨ú¥N¥Ø«eªºÀɮ׶Ü? +ExistingFileNewer=¦s¦bªºÀɮת©¥»¤ñ¸û·s¡A«Øij±z«O¯d¥Ø«e¤w¦s¦bªºÀɮסC%n%n±zn«O¯d¥Ø«e¤w¦s¦bªºÀɮ׶Ü? +ErrorChangingAttr=¦bÅܧóÀÉ®×Äݩʮɵo¥Í¿ù»~: +ErrorCreatingTemp=¦b¥Øªº¸ê®Æ§¨¤¤«Ø¥ßÀɮ׮ɵo¥Í¿ù»~: +ErrorReadingSource=Ū¨úì©lÀɮ׮ɵo¥Í¿ù»~: +ErrorCopying=½Æ»sÀɮ׮ɵo¥Í¿ù»~: +ErrorReplacingExistingFile=¨ú¥NÀɮ׮ɵo¥Í¿ù»~: +ErrorRestartReplace=«·s±Ò°Ê¹q¸£«á¨ú¥NÀÉ®×¥¢±Ñ: +ErrorRenamingTemp=¦b¥Øªº¸ê®Æ§¨ÅܧóÀɮצWºÙ®Éµo¥Í¿ù»~: +ErrorRegisterServer=µLªkµn¿ý DLL/OCX ÀÉ®×: %1¡C +ErrorRegSvr32Failed=°õ¦æ RegSvr32 ¥¢±Ñ¡A¿ù»~½X¬° %1¡C +ErrorRegisterTypeLib=µLªkµn¿ý Type Library: %1¡C + +; *** Post-installation errors +ErrorOpeningReadme=¶}±ÒŪ§ÚÀɮ׮ɵo¥Í¿ù»~¡C +ErrorRestartingComputer=¦w¸Ëµ{¦¡µLªk«·s±Ò°Ê¹q¸£¡A½Ð¥H¤â°Ê¤è¦¡¦Û¦æ«·s±Ò°Ê¹q¸£¡C + +; *** Uninstaller messages +UninstallNotFound=ÀÉ®× "%1" ¤£¦s¦b¡AµLªk²¾°£µ{¦¡¡C +UninstallOpenError=µLªk¶}±ÒÀÉ®× "%1"¡AµLªk²¾°£µ{¦¡¡C +UninstallUnsupportedVer=³oÓª©¥»ªº¸Ñ°£¦w¸Ëµ{¦¡µLªk¿ëÃÑ°O¿ýÀÉ "%1" ¤§®æ¦¡¡AµLªk¸Ñ°£¦w¸Ë¡C +UninstallUnknownEntry=¸Ñ°£¦w¸Ë°O¿ýÀɤ¤µo²{¥¼ª¾ªº°O¿ý (%1)¡C +ConfirmUninstall=±z½T©wn§¹¥þ²¾°£ %1 ¤Î¨ä¬ÛÃöªºÀɮ׶Ü? +UninstallOnlyOnWin64=³oÓµ{¦¡¥u¯à¦b 64 ¦ì¤¸ªº Windows ¤W¸Ñ°£¦w¸Ë¡C +OnlyAdminCanUninstall=³oÓµ{¦¡n¨ã³Æ¨t²ÎºÞ²zûÅvªº¨Ï¥ÎªÌ¤è¥i¸Ñ°£¦w¸Ë¡C +UninstallStatusLabel=¥¿¦b±q±zªº¹q¸£²¾°£ %1 ¤¤¡A½ÐµyÔ... +UninstalledAll=%1 ¤w¸g¦¨¥\±q±zªº¹q¸£¤¤²¾°£¡C +UninstalledMost=%1 ¸Ñ°£¦w¸Ë§¹¦¨¡C%n%n¬Y¨ÇÀɮפΤ¸¥óµLªk²¾°£¡A±z¥i¥H¦Û¦æ§R°£³o¨ÇÀɮסC +UninstalledAndNeedsRestart=n§¹¦¨ %1 ªº¸Ñ°£¦w¸Ëµ{§Ç¡A±z¥²¶·«·s±Ò°Ê¹q¸£¡C%n%n±z·Qn²{¦b«·s±Ò°Ê¹q¸£¶Ü? +UninstallDataCorrupted=ÀÉ®× "%1" ¤w¸g·l·´¡AµLªk¸Ñ°£¦w¸Ë¡C + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=²¾°£¦@¥ÎÀÉ®× +ConfirmDeleteSharedFile2=¨t²ÎÅã¥Ü¤U¦C¦@¥ÎÀɮפw¤£¦A³Q¥ô¦óµ{¦¡©Ò¨Ï¥Î¡A±zn²¾°£³o¨ÇÀɮ׶Ü?%n%n%1%n%nÕY±z²¾°£¤F¥H¤WÀɮצý¤´¦³µ{¦¡»Ýn¨Ï¥Î¥¦Ì¡A±N³y¦¨³o¨Çµ{¦¡µLªk¥¿±`°õ¦æ¡A¦]¦¹±zYµLªk½T©w½Ð¿ï¾Ü [§_]¡C«O¯d³o¨ÇÀɮצb±zªº¨t²Î¤¤¤£·|³y¦¨¥ô¦ó·l®`¡C +SharedFileNameLabel=ÀɮצWºÙ: +SharedFileLocationLabel=¦ì¸m: +WizardUninstalling=¸Ñ°£¦w¸Ëª¬ºA +StatusUninstalling=¥¿¦b¸Ñ°£¦w¸Ë %1... + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 ª©¥» %2 +AdditionalIcons=ªþ¥[¹Ï¥Ü: +CreateDesktopIcon=«Ø¥ß®à±¹Ï¥Ü(&D) +CreateQuickLaunchIcon=«Ø¥ß§Ö³t±Ò°Ê¹Ï¥Ü(&Q) +ProgramOnTheWeb=%1 ªººô¯¸ +UninstallProgram=¸Ñ°£¦w¸Ë %1 +LaunchProgram=±Ò°Ê %1 +AssocFileExtension=±N %1 »PÀÉ®×°ÆÀɦW %2 ²£¥ÍÃöÁp(&A) +AssocingFileExtension=¥¿¦b±N %1 »PÀÉ®×°ÆÀɦW %2 ²£¥ÍÃöÁp... diff --git a/tools/innosetup/zh_TW_scilab.isl b/tools/innosetup/zh_TW_scilab.isl new file mode 100755 index 000000000..b3f7443a7 --- /dev/null +++ b/tools/innosetup/zh_TW_scilab.isl @@ -0,0 +1,138 @@ +; +; Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +; Copyright (C) DIGITEO - 2010 - Allan CORNET +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;------------------------------------------------------------------------------- + +zh_TW.LANGUAGE =zh_TW + +zh_TW.MsgBoxJRENotFound =Java Runtime Environment not detected. +zh_TW.MsgBoxJREURL =Please download & Install JRE at http://www.java.com/en/download/ +zh_TW.MsgBoxJREReinstall =Reinstall Scilab after your JRE update. +zh_TW.MsgBoxSSERequired =CPU SSE2 instructions are required for Scilab to run correctly. +zh_TW.MsgBoxX64Ready =For increase performance, it will be better to use Scilab x64 bits version on this Operating system. + +zh_TW.MsgBoxJavaDetection1 =Java is not installed on this computer and this program needs it. +zh_TW.MsgBoxJavaDetection2 =Please choose to install Java Runtime: +zh_TW.MsgBoxWebOpen =Can not open web page. +zh_TW.MsgBoxDevToolsRequired1 =You choose to install toolbox_skeleton module but development_tools module is not selected. +zh_TW.MsgBoxDevToolsRequired2 =Please install development_tools module. +zh_TW.MsgBoxDevToolsRequired3 =You choose to install tests module but development_tools module is not selected. +zh_TW.MsgBoxTclsciRequired2 =Please install tclsci module. +zh_TW.MsgBoxFftw1 =You choose to install FFTW module for Scilab. +zh_TW.MsgBoxFftw2 =This module requires to download FFTW library (GPL). +zh_TW.MsgBoxFftw3 =Do you want to open a web page about this add-on ? +zh_TW.MsgBoxFftw4 =Can not open web page. +zh_TW.MsgBoxWinVer =Windows 2000 is required. +zh_TW.MsgBoxScicosRequired1 =You choose to install Xcos module but Scicos module is not selected. +zh_TW.MsgBoxScicosRequired2 =Please also install Scicos module. + +; +zh_TW.ButtonAboutModules =&About modules ... +; +zh_TW.DescriptionEquDif =Differential Equations Module +zh_TW.DescriptionInterpolation =Interpolation Module +zh_TW.DescriptionPolynomials =Polynomials Module +zh_TW.DescriptionSymbolic =Symbolic Module +zh_TW.DescriptionStats =Statistics Module +zh_TW.DescriptionSparse =Sparse Matrix Module +zh_TW.DescriptionLinAlg =Linear Algebra Module +zh_TW.DescriptionSigProc =Signal processing Module +zh_TW.DescriptionCacsd =C.A.C.S.D Module +zh_TW.DescriptionGraphics =Graphics Module +zh_TW.DescriptionOptim =Optimization Module +zh_TW.DescriptionMetanet =Metanet Toolbox +zh_TW.DescriptionScicos =Scicos Toolbox +zh_TW.DescriptionArnoldi =ARnoldi PACKage Toolbox +zh_TW.DescriptionUmfpack =UMFPACK for Scilab +zh_TW.DescriptionCompatFunctions =Compatibility functions +zh_TW.DescriptionM2sci =M2SCI Toolbox +zh_TW.DescriptionMatio =MAT File Input/Output Toolbox +zh_TW.DescriptionExternalObjects =External objects +zh_TW.DescriptionSound =Sound file handling Toolbox +zh_TW.DescriptionRandlib =Randlib Toolbox +zh_TW.DescriptionMexlib =Mexlib Tools +zh_TW.DescriptionIntersci =Intersci Toolbox +zh_TW.DescriptionTclTK =TCL/TK in Scilab +zh_TW.DescriptionSpreadsheet =Spreadsheet Toolbox +zh_TW.DescriptionJVM =Java Runtime +zh_TW.DescriptionAtlas =Atlas library 3.8.0 CPU optimized +zh_TW.DescriptionFftwModule =FFTW interface for Scilab +zh_TW.DescriptionFftwMKLDownload =Download FFTW library optimized by Intel Math Kernel Library +zh_TW.DescriptionRefFftwLibrary =Reference FFTW library +zh_TW.DescriptionParametersTlbx =Parameters Toolbox +zh_TW.DescriptionGeneticTlbx =Genetic Algorithms Toolbox +zh_TW.DescriptionSimulAnnealingTlbx =Simulated Annealing Toolbox +zh_TW.DescriptionDevTools =Development Tools +zh_TW.DescriptionTests =Tests for Scilab +zh_TW.DescriptionTlbxSkeleton =A toolbox skeleton (to extend Scilab) +zh_TW.DescriptionComConnector =COM connector +zh_TW.DescriptionSciNotes =SciNotes: Editor for Scilab +zh_TW.DescriptionXcos =Xcos +zh_TW.DescriptionParallel =Parallel Computing with Scilab +zh_TW.DescriptionModulesManager =Tools for management of extern modules +zh_TW.DescriptionModuleJVM =JVM Module +; +zh_TW.ConsoleIconName =Scilab Console +; +zh_TW.WebIconScilab =Scilab on the Web +; +zh_TW.ReadMeIcon =Read Me +; +zh_TW.UnInstallIcon =Uninstall Scilab +; +zh_TW.RegKeyRunWith =Run with +; +zh_TW.DescriptionVC2008Redist =Install Microsoft Visual C++ 2008 Redistributable Package +; +zh_TW.DescriptionConfigureAtlas =Configure Atlas +; +zh_TW.DescriptionLaunchScilab =Launch Scilab +; +zh_TW.DescriptionCreateDesktopIcon =Create a &desktop icon +; +zh_TW.DescriptionQuickLaunch =Create a shortcut in Quick Launch Bar +; +zh_TW.DescriptionAssociateSceSci =Associate *.sce,*.sci files with Scilab +; +zh_TW.DescriptionAssociateTstDem =Associate *.tst files with Scilab +; +zh_TW.DescriptionAssociateBinSav =Associate *.bin, *.sav files with Scilab +; +zh_TW.DescriptionAssociateGraph =Associate *.graph *.graphb files with Scilab +; +zh_TW.DescriptionAssociateScicos =Associate *.xcos *.cos *.cosf files with Scilab +; +zh_TW.DescriptionDefaultInstall =Installation (Default) +zh_TW.DescriptionFullInstall =Full installation +zh_TW.DescriptionCustomInstall =Custom installation +zh_TW.DescriptionCLIInstall =Command Line Minimal Installation (no gui) +; +zh_TW.DescriptionCPUOptimization =CPU Optimization for Scilab +zh_TW.DescriptionATLASLibrary =Atlas Library for Scilab +zh_TW.DescriptionRefBlasLibrary =Blas, Lapack Reference libraries for Scilab +zh_TW.DescriptionMKLLibrary =Download Intel Math Kernel Library for Scilab +; +zh_TW.DownloadMKLLabel =Downloading Intel Math Kernel Library files for Scilab +zh_TW.DownloadMKLDescription =Please wait while Setup is downloading extra files to your computer. +; +zh_TW.DownloadMKLFFTWLabel =Downloading FFTW3 library optimized by Intel Math Kernel. +; +zh_TW.DoTasksJustAfterInstallMsg2 =BLAS, LAPACK reference libraries will be installed and used. +zh_TW.DoTasksJustAfterInstallMsg3 =FFTW3 reference library will be installed and used. +; +zh_TW.NextButtonClickwpReadyMsg1 =Impossible to download Intel Math Kernel Library files for Scilab (Default library will be used). +zh_TW.NextButtonClickwpReadyMsg2 =Impossible to download FFTW3 library optimized by Intel Math Kernel Library (Default library will be used). +; +zh_TW.DescriptionAtoms =ATOMS +;------------------------------------------------------------------------------- +; diff --git a/tools/localization/dispatchLocalizationFile.sh b/tools/localization/dispatchLocalizationFile.sh new file mode 100755 index 000000000..6d1d7b759 --- /dev/null +++ b/tools/localization/dispatchLocalizationFile.sh @@ -0,0 +1,93 @@ +#!/bin/sh +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) INRIA - 2007-2008 - Sylvestre Ledru +# Copyright (C) DIGITEO - 2009-2010 - Sylvestre Ledru +# Copyright (C) 2010 - Calixte DENIZET +# This file must be used under the terms of the CeCILL. +# This source file is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at +# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +# +# This script takes a list of localization files dumped by launchpad +# here https://translations.launchpad.net/scilab/trunk/+export +# and dispatch them into Scilab source tree + +if test $# -ne 1; then + echo "This script takes a list of localization files dumped by launchpad" + echo "here https://translations.launchpad.net/scilab/trunk/+export " + echo "and dispatch them into Scilab source tree" + echo "" + echo "Syntax : $0 <path_to_launchpad_localization_file>" + exit 1 +fi + +if test -z "$SCI"; then + echo "Please define the variable SCI" + exit 2 +fi + +LAUNCHPAD_DIRECTORY=$1 +if test ! -d $LAUNCHPAD_DIRECTORY; then + echo "Could not find $LAUNCHPAD_DIRECTORY." + echo "Exiting..." + exit 3 +fi + +# Don't know why but launchpad is placing some files in some sub dirs +FILES=$(find $LAUNCHPAD_DIRECTORY/ -mindepth 2 -iname '*.po' -type f) +/bin/cp -fiu $FILES $LAUNCHPAD_DIRECTORY/ + +for file in $LAUNCHPAD_DIRECTORY/*.po; do + file=`echo $file|awk -F / '{print $NF}'` # get only the filename + LOC=`echo $file|cut -d. -f1|awk -F - '{print $NF}'` # Get the locale (fr_FR, en_US ...) + + if test "$LOC" = "fr"; then LOC="fr_FR"; fi # Retrieve real format + if test "$LOC" = "ru"; then LOC="ru_RU"; fi + if test "$LOC" = "de"; then LOC="de_DE"; fi + if test "$LOC" = "ca"; then LOC="ca_ES"; fi + if test "$LOC" = "es"; then LOC="es_ES"; fi + if test "$LOC" = "ja"; then LOC="ja_JP"; fi + if test "$LOC" = "it"; then LOC="it_IT"; fi + if test "$LOC" = "uk"; then LOC="uk_UA"; fi + if test "$LOC" = "pl"; then LOC="pl_PL"; fi + if test "$LOC" = "cs"; then LOC="cs_CZ"; fi + + # check that it is the right format + echo "$LOC"|grep -E "(.*_.*)" > /dev/null # it is a real localization name xx_YY + + if test $? -eq 0; then + MODULE=`echo $file|sed -e "s|macros-||"|sed -e "s|\(.*\)-.*|\1|"|sed -e "s|-|_|g"` # Get the module name (for example signal_processing) + if test "$MODULE" = "pvm" -o "$MODULE" = "shell"; then + continue + fi + echo $file|grep "macros-" > /dev/null + IS_MACRO=$? + if test "$IS_MACRO" -eq 0; then + TARGETFILE=$SCI/modules/$MODULE/locales_macros/$LOC.po + else + TARGETFILE=$SCI/modules/$MODULE/locales/$LOC.po + fi + + + # Do not copy empty files + if test -n "$(msgcat $LAUNCHPAD_DIRECTORY/$file)"; then + # Before the copy, strip the line with the date. It is only making + # diff too big for a little gain. + # See bug #7059 + sed -i -e "/X-Launchpad-Export-Date/d" $LAUNCHPAD_DIRECTORY/$file + + + /bin/cp -f $LAUNCHPAD_DIRECTORY/$file $TARGETFILE + if test $? -ne 0; then + echo "Error detected in the copy" + echo "/bin/cp $LAUNCHPAD_DIRECTORY/$file $TARGETFILE" + exit 1; + fi + fi + else + echo "Ignore locale $LOC" + fi +done +# Remove english variants +rm -f modules/*/locales/en_*.po diff --git a/tools/localization/generatePoFile.sce b/tools/localization/generatePoFile.sce new file mode 100755 index 000000000..58e1b40f5 --- /dev/null +++ b/tools/localization/generatePoFile.sce @@ -0,0 +1,100 @@ +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2007 - INRIA - Allan CORNET +// Copyright (C) 2011-2012 - DIGITEO - Allan CORNET +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +function generatePoFile(LANGUAGE) + if getos() <> "Windows" then + error(999, "Used only under Windows"); + end + + if ~isdef("%c_a_c") then + exec("SCI/modules/overloading/macros/%c_a_c.sci"); + end + + LC = "LC_MESSAGES"; + DEST_PATH_MO = SCI + filesep() + "locale" + filesep() + LANGUAGE + filesep() + LC + filesep(); + DEST_FILE_MO = "scilab.mo"; + DEST_FILE_PO = "scilab.po"; + LC = "LC_MESSAGES"; + PATH_GETTEXT_TOOLS = SCI + filesep() + "tools/gettext"; + PATH_GETTEXT_TOOLS = getrelativefilename(DEST_PATH_MO, PATH_GETTEXT_TOOLS); + + // make destination directories + if ~isdir(SCI + filesep() + "locale") then + createdir(SCI + filesep() + "locale"); + end + + if ~isdir(SCI + filesep() + "locale" + filesep() + LANGUAGE) then + createdir(SCI + filesep() + "locale" + filesep() + LANGUAGE); + end + + if ~isdir(SCI + filesep() + "locale" + filesep() + LANGUAGE + filesep() + LC) then + createdir(SCI + filesep() + "locale" + filesep() + LANGUAGE + filesep() + LC); + end + + Modules = getmodules(); + PATH_PO = SCI + filesep() + "modules" + filesep() + Modules + filesep() + "locales" + filesep(); + if LANGUAGE == "en_US" then + FILENAME_PO = Modules + ".pot"; + else + FILENAME_PO = LANGUAGE + ".po"; + end + + List_files = []; + for k = 1:size(PATH_PO, "*") + if LANGUAGE == "en_US" then + if findfiles(PATH_PO(k), FILENAME_PO(k)) <> [] then + List_files = [List_files ; getrelativefilename(DEST_PATH_MO, fullpath(PATH_PO(k) + FILENAME_PO(k)))]; + end + else + if findfiles(PATH_PO(k), FILENAME_PO) <> [] then + List_files = [List_files ; getrelativefilename(DEST_PATH_MO, fullpath(PATH_PO(k) + FILENAME_PO))]; + end + end + end + + if (List_files <> []) then + if newest([DEST_PATH_MO + DEST_FILE_MO; DEST_PATH_MO + List_files]) <> 1 then + curPath = pwd(); + cd(DEST_PATH_MO) + cmdline_msgcat = PATH_GETTEXT_TOOLS + filesep() + "msgcat --use-first -o " + DEST_FILE_PO + " " + strcat("""" + List_files + """", " "); + unix(cmdline_msgcat); + cmline_msgfmt = PATH_GETTEXT_TOOLS + filesep() + "msgfmt --statistics -o " + DEST_FILE_MO + " " + DEST_FILE_PO; + unix(cmline_msgfmt); + cd(curPath) + end + end + +endfunction +// ====================================== +function languages = findLanguagesToBuild() + languages = []; + + f1 = findfiles("SCI/modules/core/locales/", "*.pot"); + f2 = findfiles("SCI/modules/core/locales/", "*.po"); + + if f1 <> [] then + languages = ["en_US"]; + end + + if f2 <> [] then + f2 = strsubst(f2, ".po", ""); + languages = [languages, f2']; + end +endfunction +// ====================================== +// Main +LANGUAGES = findLanguagesToBuild(); +mprintf("-- Build localization (.mo from .po) --\n"); + +for L = LANGUAGES + mprintf(" -- Building for ""%s"" --\n", L); + generatePoFile(L); +end +// ====================================== diff --git a/tools/localization/generatePoFile.vcxproj b/tools/localization/generatePoFile.vcxproj new file mode 100755 index 000000000..ee60cdb82 --- /dev/null +++ b/tools/localization/generatePoFile.vcxproj @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{6880D4DF-BC7A-411F-AD9B-20A14429A92F}</ProjectGuid> + <RootNamespace>generatePoFile</RootNamespace> + <Keyword>MakeFileProj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Makefile</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Makefile</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Makefile</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Makefile</ConfigurationType> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)locales\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(SolutionDir)bin\scilex.exe" -ns -nwni -e exec(SCI+%27/tools/localization/generatePoFile.sce%27);quit +exit /B 0 +</NMakeBuildCommandLine> + <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">IF EXIST "$(SolutionDir)locale" rmdir /s /q "$(SolutionDir)locale" +"$(SolutionDir)bin\scilex.exe" -ns -nwni -e exec(SCI+%27/tools/localization/generatePoFile.sce%27);quit +exit /B 0 +</NMakeReBuildCommandLine> + <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">rmdir /s /q "$(SolutionDir)locale"</NMakeCleanCommandLine> + <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" /> + <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions> + <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath> + <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes> + <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> + <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)locales\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(SolutionDir)bin\scilex.exe" -ns -nwni -e exec(SCI+%27/tools/localization/generatePoFile.sce%27);quit +exit /B 0 +</NMakeBuildCommandLine> + <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">IF EXIST "$(SolutionDir)locale" rmdir /s /q "$(SolutionDir)locale" +"$(SolutionDir)bin\scilex.exe" -ns -nwni -e exec(SCI+%27/tools/localization/generatePoFile.sce%27);quit +exit /B 0 +</NMakeReBuildCommandLine> + <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">rmdir /s /q "$(SolutionDir)locale"</NMakeCleanCommandLine> + <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" /> + <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">WIN32;_DEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions> + <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath> + <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes> + <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> + <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)locales\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(SolutionDir)bin\scilex.exe" -ns -nwni -e exec(SCI+%27/tools/localization/generatePoFile.sce%27);quit +exit /B 0 +</NMakeBuildCommandLine> + <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">IF EXIST "$(SolutionDir)locale" rmdir /s /q "$(SolutionDir)locale" +"$(SolutionDir)bin\scilex.exe" -ns -nwni -e exec(SCI+%27/tools/localization/generatePoFile.sce%27);quit +exit /B 0 +</NMakeReBuildCommandLine> + <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">rmdir /s /q "$(SolutionDir)locale"</NMakeCleanCommandLine> + <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;NDEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions> + <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath> + <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes> + <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> + <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)locales\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(SolutionDir)bin\scilex.exe" -ns -nwni -e exec(SCI+%27/tools/localization/generatePoFile.sce%27);quit +exit /B 0 +</NMakeBuildCommandLine> + <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">IF EXIST "$(SolutionDir)locale" rmdir /s /q "$(SolutionDir)locale" +"$(SolutionDir)bin\scilex.exe" -ns -nwni -e exec(SCI+%27/tools/localization/generatePoFile.sce%27);quit +exit /B 0 +</NMakeReBuildCommandLine> + <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">rmdir /s /q "$(SolutionDir)locale"</NMakeCleanCommandLine> + <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WIN32;NDEBUG;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions> + <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeIncludeSearchPath)</NMakeIncludeSearchPath> + <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes> + <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> + <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> + </PropertyGroup> + <ItemDefinitionGroup> + </ItemDefinitionGroup> + <ItemGroup> + <None Include="generatePoFile.sce" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\modules\functions\scripts\buildmacros\BuildMacros.vcxproj"> + <Project>{66f2fb48-5d68-4445-a856-119f685a371b}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/tools/localization/generatePoFile.vcxproj.filters b/tools/localization/generatePoFile.vcxproj.filters new file mode 100755 index 000000000..65f1cbe60 --- /dev/null +++ b/tools/localization/generatePoFile.vcxproj.filters @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <None Include="generatePoFile.sce" /> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/tools/localization/pocheck.pl b/tools/localization/pocheck.pl new file mode 100755 index 000000000..6dc62b9a9 --- /dev/null +++ b/tools/localization/pocheck.pl @@ -0,0 +1,333 @@ +#! /usr/bin/perl -w + +# file pocheck.pl +# +# This file is part of LyX, the document processor. +# Licence details can be found in the file COPYING. +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# The GNU General Public License version 2 is included below for your reference. + +# author: Michael Gerz, michael.gerz@teststep.org +# update by Sylvestre Ledru <sylvestre.ledru@scilab.org> 2011 - Integration +# of Scilab string + automatic correction of the missing quotes. + +use strict; +use warnings; +use Getopt::Std; +use File::Copy; + +my $usage = <<EOT; +pocheck.pl [-acmpqstzx] po_file [po_file] ... + +This script performs some consistency checks on po files. + +We check for everything listed here, unless one or more of these +options is given, in which case we checks only for those requested. +-a: Check arguments, like %1\$s +-c: Check for colons at end +-m: Check for menu shortcuts +-p: Check for period at end +-q: Check Qt shortcuts +-s: Check for space at end +-t: Check for uniform translation +-n: Check for Scilab macros error +-x: Automagically fix Scilab macros quote errors +These options can be given with or without other options. +-f: Ignore fuzzy translations +-w: Only report summary total of errors +-i: Silent mode, report only errors +EOT + +my %options; +getopts(":hacfmpqstnwix", \%options); + +if (defined($options{h})) { + print $usage; + exit 0; +} + +my $only_total = defined($options{w}); +delete $options{w} if $only_total; +my $ignore_fuzzy = defined($options{f}); +delete $options{f} if $ignore_fuzzy; +my $silent_mode = defined($options{i}); +delete $options{i} if $silent_mode; + +my $check_args = (!%options or defined($options{a})); +my $check_colons = (!%options or defined($options{c})); +my $check_spaces = (!%options or defined($options{m})); +my $check_periods = (!%options or defined($options{p})); +my $check_qt = (!%options or defined($options{q})); +my $check_menu = (!%options or defined($options{s})); +my $check_trans = (!%options or defined($options{t})); +# Fix Scilab code implies the detection +my $check_scilab_macros = (!%options or defined($options{n}) or defined($options{x})); +my $fix_scilab_quote = (!%options or defined($options{x})); + +my %trans; + +my $global_warn = 0; +sub replaceInFile { + my $pofilename=$_[0]; + my $kindofreplace=$_[1]; + open( INPUT, "<$pofilename" ) + || die "Cannot read po file '$pofilename'"; + open(OUTPUTFILE, ">$pofilename.tmp" ); + + + while (<INPUT>) { + + + if ($kindofreplace eq "single") { + $_ =~ s/^msgstr "(.*)([^'])'([^'])(.*)"/msgstr "$1$2''$3$4"/g; + $_ =~ s/^"(.*)([^'])'([^'])(.*)"/"$1$2''$3$4"/g; + } else { + if ($kindofreplace eq "double") { + $_ =~ s/^msgstr "(.*)([^"])"([^"])(.*)"/msgstr "$1$2""$3$4"/g; + $_ =~ s/^"(.*)([^"])"([^"])(.*)"/"$1$2""$3$4"/g; + #$_ =~ s/^msgstr "([^"])"([^"])"/msgstr "$1""$2"/g; +# $_ =~ s/^"([^"])"([^"])"/"$1""$2"/g; + } else { + $_ =~ s/^msgstr "(.*)\\"(.*)"/msgstr "$1"$2"/g; + $_ =~ s/^"(.*)\\"(.*)"/"$1"$2"/g; + } + } + print OUTPUTFILE $_; + } + close( INPUT ); + close( OUTPUTFILE ); + copy("$pofilename.tmp",$pofilename); + unlink("$pofilename.tmp"); +} + +foreach my $pofilename ( @ARGV ) { + my %bad; + if (!$silent_mode) { + print "Processing po file '$pofilename'...\n"; + } + + open( INPUT, "<$pofilename" ) + || die "Cannot read po file '$pofilename'"; + my @pofile = <INPUT>; + close( INPUT ); + + undef( %trans ); + keys( %trans ) = 10000; + + my $noOfLines = $#pofile; + + my $warn = 0; + + my $i = 0; + my ($msgid, $msgstr, $more); + + while ($i <= $noOfLines) { + my $linenum = $i; + ( $msgid ) = ( $pofile[$i] =~ m/^msgid "(.*)"/ ); + $i++; + next unless $msgid; + if ($ignore_fuzzy) { + my $previous = $pofile[$i - 2]; + next if $previous =~ m/#,.*fuzzy/; + } + + # some msgid's are more than one line long, so add those. + while ( ( $more ) = $pofile[$i] =~ m/^"(.*)"/ ) { + $msgid = $msgid . $more; + $i++; + } + + # now look for the associated msgstr. + until ( ( $msgstr ) = ( $pofile[$i] =~ m/^msgstr "(.*)"/ ) ) { $i++; }; + $i++; + # again collect any extra lines. + while ( ( $i <= $noOfLines ) && + ( ( $more ) = $pofile[$i] =~ m/^"(.*)"/ ) ) { + $msgstr = $msgstr . $more; + $i++; + } + + # nothing to do if one of them is empty. + # (surely that is always $msgstr?) + next if ($msgid eq "" or $msgstr eq ""); + + # Check for matching %1$s, etc. + if ($check_args) { + my @argstrs = ( $msgid =~ m/%(\d)\$s/g ); + if (@argstrs) { + my $n = 0; + foreach my $arg (@argstrs) { $n = $arg if $arg > $n; } + if ($n <= 0) { + print "$pofilename, line $linenum: Problem finding arguments in:\n $msgid!\n" + unless $only_total; + ++$bad{"Missing arguments"}; + $warn++; + } else { + foreach my $i (1..$n) { + my $arg = "%$i\\\$s"; + if ( $msgstr !~ m/$arg/ ) { + print "$pofilename, line $linenum: Missing argument `$arg'\n '$msgid' ==> '$msgstr'\n" + unless $only_total; + ++$bad{"Missing arguments"}; + $warn++; + } + } + } + } + } + + if ($check_colons) { + # Check colon at the end of a message + if ( ( $msgid =~ m/: *(\|.*)?$/ ) != ( $msgstr =~ m/: *(\|.*)?$/ ) ) { + print "Line $linenum: Missing or unexpected colon:\n '$msgid' => '$msgstr'\n" + unless $only_total; + ++$bad{"Bad colons"}; + $warn++; + } + } + + if ($check_periods) { + # Check period at the end of a message; uncomment code if you are paranoid + if ( ( $msgid =~ m/\. *(\|.*)?$/ ) != ( $msgstr =~ m/\. *(\|.*)?$/ ) ) { + print "Line $linenum: Missing or unexpected period:\n '$msgid' => '$msgstr'\n" + unless $only_total; + ++$bad{"Bad periods"}; + $warn++; + } + } + + if ($check_spaces) { + # Check space at the end of a message + if ( ( $msgid =~ m/ *?(\|.*)?$/ ) != ( $msgstr =~ m/ *?(\|.*)?$/ ) ) { + print "Line $linenum: Missing or unexpected space:\n '$msgid' => '$msgstr'\n" + unless $only_total; + ++$bad{"Bad spaces"}; + $warn++; + } + } + + if ($check_qt) { + # Check for "&" shortcuts + if ( ( $msgid =~ m/&[^ ]/ ) != ( $msgstr =~ m/&[^ ]/ ) ) { + print "Line $linenum: Missing or unexpected Qt shortcut:\n '$msgid' => '$msgstr'\n" + unless $only_total; + ++$bad{"Bad Qt shortcuts"}; + $warn++; + } + } + + if ($check_scilab_macros) { + + if ( ( $msgstr =~ /\\"/ ) ) { + print "Line $linenum: Useless \\\":\n '$msgid' => '$msgstr'\n" + unless $only_total; + ++$bad{"Scilab error in \\\" (should be a double quote instead)"}; + $warn++; + if ($fix_scilab_quote) { + replaceInFile($pofilename,"backslash"); + } + } + + + # Check for single single/double quote in the string + if ( ( $msgstr =~ m/[^']'[^']/ ) ) { + print "Line $linenum: Missing single quote:\n '$msgid' => '$msgstr'\n" + unless $only_total; + ++$bad{"Scilab error in single quote (should be doubled)"}; + $warn++; + if ($fix_scilab_quote) { + replaceInFile($pofilename,"single"); + } + } + + if ( ( $msgstr =~ m/[^"]"[^"]/ ) ) { + print "Line $linenum: Missing double quote:\n '$msgid' => '$msgstr'\n" + unless $only_total; + ++$bad{"Scilab error in double quote (should be doubled)"}; + $warn++; + if ($fix_scilab_quote) { + replaceInFile($pofilename,"double"); + } + } + } + + if ($check_menu) { + # Check for "|..." shortcuts + if ( ( $msgid =~ m/\|[^ ]/ ) != ( $msgstr =~ m/\|[^ ]/ ) ) { + print "Line $linenum: Missing or unexpected menu shortcut:\n '$msgid' => '$msgstr'\n" + unless $only_total; + ++$bad{"Bad menu shortcuts"}; + $warn++; + } + } + + next unless $check_trans; + + # we now collect these translations in a hash. + # this will allow us to check below if we have translated + # anything more than one way. + my $msgid_clean = lc($msgid); + my $msgstr_clean = lc($msgstr); + + $msgid_clean =~ s/(.*)\|.*?$/$1/; # strip menu shortcuts + $msgstr_clean =~ s/(.*)\|.*?$/$1/; + $msgid_clean =~ s/&([^ ])/$1/; # strip Qt shortcuts + $msgstr_clean =~ s/&([^ ])/$1/; + + # this is a hash of hashes. the keys of the outer hash are + # cleaned versions of ORIGINAL strings. the keys of the inner hash + # are the cleaned versions of their TRANSLATIONS. The value for the + # inner hash is an array of the orignal string and translation. + $trans{$msgid_clean}{$msgstr_clean} = [ $msgid, $msgstr, $linenum ]; + } + + if ($check_trans) { + foreach $msgid ( keys %trans ) { + # so $ref is a reference to the inner hash. + my $ref = $trans{$msgid}; + # @msgstrkeys is an array of the keys of that inner hash. + my @msgstrkeys = keys %$ref; + + # do we have more than one such key? + if ( $#msgstrkeys > 0 ) { + if (!$only_total) { + print "Different translations for '$msgid':\n"; + foreach $msgstr ( @msgstrkeys ) { + print "Line $ref->{$msgstr}[2]: '" . + $ref->{$msgstr}[0] . "' => '" . + $ref->{$msgstr}[1] . "'\n"; + } + } + ++$bad{"Inconsistent translations"}; + $warn++; + } + } + } + if (!$silent_mode) { + if ($warn) { + $global_warn += $warn; + while (my ($k, $v) = each %bad) { print "$k: $v\n"; } + if (scalar(keys %bad) > 1) { + print "Total warnings: $warn\n"; + } + } else { + print "No warnings!\n"; + } + print "\n"; + } +} + +print "Warnings on all files: $global_warn\n"; diff --git a/tools/localization/revcheck.php b/tools/localization/revcheck.php new file mode 100755 index 000000000..0a0bc0cf6 --- /dev/null +++ b/tools/localization/revcheck.php @@ -0,0 +1,1159 @@ +#!/usr/bin/php -q +<?php +/* + +----------------------------------------------------------------------+ + | PHP Version 4 | + +----------------------------------------------------------------------+ + | Copyright (c) 1997-2011 The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 3.0 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_0.txt. | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ + | Authors: Thomas Sch�fbeck <tom@php.net> | + | Gabor Hojtsy <goba@php.net> | + | Mark Kronsbein <mk@php.net> | + | Jan Fabry <cheezy@php.net> + +----------------------------------------------------------------------+ + + $Id: revcheck.php 308406 2011-02-16 22:27:57Z yannick $ +*/ +if ($argc < 2 || $argc > 4) { +?> + +Check the revision of translated files against +the actual english xml files, and print statistics + + Usage: + <?php echo $argv[0]; ?> <language-code> [<maintainer>] [--show-uptodate] + + <language-code> must be a valid language code used + in the repository + + If you specify <maintainer>, the script only checks + the files maintained by the person you add here + + If you specify --show-uptodate option, the script will + also show uptodate files in the common file list + + Read more about Revision comments and related + functionality in the PHP Documentation Howto: + http://php.net/dochowto + +<?php + exit; +} + +// Long runtime +set_time_limit(0); + +// A file is criticaly "outdated' if +define("ALERT_REV", 10); // translation is 10 or more revisions behind the en_US one +define("ALERT_SIZE", 3); // translation is 3 or more kB smaller than the en_US one +define("ALERT_DATE", -30); // translation is 30 or more days older than the en_US one + +// Revision marks used to flag files +define("REV_UPTODATE", 1); // actual file +define("REV_NOREV", 2); // file with revision comment without revision +define("REV_CRITICAL", 3); // criticaly old / small / outdated +define("REV_OLD", 4); // outdated file +define("REV_NOTAG", 5); // file without revision comment +define("REV_NOTRANS", 6); // file without translation + +define("REV_CREDIT", 7); // only used in translators list +define("REV_WIP", 8); // only used in translators list + +$gitOptions="--no-color -n 1"; + +// Colors used to mark files by status (colors for the above types) +$CSS = array( + REV_UPTODATE => "act", + REV_NOREV => "norev", + REV_CRITICAL => "crit", + REV_OLD => "old", + REV_NOTAG => "wip", + REV_NOTRANS => "wip", + REV_CREDIT => "wip", + REV_WIP => "wip", +); + +function init_revisions() { + global $CSS; + return array_fill_keys(array_keys($CSS), 0); +} + +function init_files_by_maint($persons) { + $result = array(); + foreach($persons as $item) { + $result[$item['name']] = init_revisions(); + } + + return $result; +} + +$file_sizes_by_mark = $files_by_mark = init_revisions(); + +// Initializing variables from parameters +$LANG = $argv[1]; +$MAINT = ""; +$SHOW_UPTODATE = FALSE; +if ($argc == 3) { + if ($argv[2] == '--show-uptodate') { + $SHOW_UPTODATE = TRUE; + } else { + $MAINT = $argv[2]; + } +} elseif ($argc == 4) { + $MAINT = $argv[2]; + $SHOW_UPTODATE = ($argv[3] == '--show-uptodate'); +} + +$DOCDIR=getenv("SCI")."/"; +chdir($DOCDIR); +$DOCDIR=getcwd()."/"; +if (!is_dir($DOCDIR)) { + echo "Could not find $DOCDIR\n"; + die(); +} +// ========================================================================= +// Functions to get revision info and credits from a file +// ========================================================================= +function get_last_commit_from_git($file) { + global $gitOptions; + $cmd="cd `dirname $file` > /dev/null; git log $gitOptions $file|head -1|cut -d' ' -f2; cd - > /dev/null"; + $lastcommit=exec($cmd); + if (!$lastcommit) { + die("Error: Could not retrieve the last commit from git: ".$cmd); + } + return $lastcommit; +} + +function get_last_revision_from_git($file) { + global $DOCDIR; + $commit=get_last_commit_from_git($file); + if (!$commit) { + die("Error: empty commit"); + } + $tempFile="/tmp/git_rev-list.txt"; + if (!is_file($tempFile)) { + exec("cd `dirname $DOCDIR` > /dev/null; git rev-list --reverse HEAD > $tempFile; cd - > /dev/null"); + } + return exec("cd `dirname $file` > /dev/null; grep -n $commit $tempFile | cut -d: -f1; cd - > /dev/null"); +} + +function get_author_from_git($file) { + global $gitOptions; + return ucwords(strtolower(exec("cd `dirname $file` > /dev/null; git log $gitOptions $file|head -2|grep 'Author:'|sed -e 's|Author: \(.*\) <.*|\\1|g'; cd - > /dev/null"))); + +} + +// Grabs the revision tag and stores credits from the file given +function get_tags($file, $val = "en-rev") { + + // Read the first 500 chars. The comment should be at + // the begining of the file + $fp = @fopen($file, "r") or die ("Unable to read $file."); + $line = fread($fp, 500); + fclose($fp); + // Return if this was needed (it should be there) + if ($val == "en-rev") { + return get_last_revision_from_git($file); +// preg_match("/<!-- .Revision: (\d+) . -->/", $line, $match); +// return $match[1]; + } + + // Handle credits (only if no maintainer is specified) + if ($val == "\\S*") { + + global $files_by_maint; + + // Find credits info, let more credits then one, + // using commas as list separator + if (preg_match("'<!--\s*CREDITS:\s*(.+)\s*-->'U", $line, $match_credit)) { + // Explode with commas a separators + $credits = explode(",", $match_credit[1]); + + // Store all elements + foreach ($credits as $num => $credit) { + $files_by_maint[trim($credit)][REV_CREDIT]++; + } + } + } + global $LANG; + // No match before the preg + $match = array(); + $match[0]=""; + $match[1]=get_last_revision_from_git($file);//str_replace($LANG,"en_US",$file)); + $match[2]=get_author_from_git($file); + $match[3]=""; + return $match; + // Check for the translations "revision tag" + preg_match ("/<!--\s*EN-Revision:\s*(\d+)\s*Maintainer:\s*(" + . $val . ")\s*Status:\s*(.+)\s*-->/U", + $line, + $match + ); + + // The tag with revision number is not found so search + // for n/a revision comment (comment where revision is not known) + if (count($match) == 0) { + preg_match ("'<!--\s*EN-Revision:\s*(n/a)\s*Maintainer:\s*(" + . $val . ")\s*Status:\s*(.+)\s*-->'U", + $line, + $match + ); + } + + // Return with found revision info (number, maint, status) + return $match; + +} // get_tags() function end + +function detect_date_from_git($file) { + global $gitOptions; + $en_date=strtotime(trim(exec("cd `dirname $file` > /dev/null; git log $gitOptions --date=iso $file|grep Date:|sed -e \"s|Date:||g\"; cd - > /dev/null"))); + return $en_date; +} + +// ========================================================================= +// Functions to check file status in translated directory, and store info +// ========================================================================= + +// Checks a file, and gather status info +function get_file_status($file) { + + // The information is contained in these global arrays and vars + global $DOCDIR, $LANG, $MAINT, $SHOW_UPTODATE, $files_by_mark, $files_by_maint; + global $file_sizes_by_mark; + global $missing_files, $missing_tags, $using_rev; + + // Transform english file name to translated file name + $trans_file = str_replace("en_US", $LANG, $file); + // If we cannot find the file, we push it into the missing files list + if (!@file_exists($trans_file)) { + $files_by_mark[REV_NOTRANS]++; + $trans_name = substr($trans_file, strlen($DOCDIR)); + + $size = intval(filesize($file)/1024); + $missing_files[substr($file, strlen($DOCDIR))] = array( $size ); + $file_sizes_by_mark[REV_NOTRANS] += $size; + + // compute en-tags just if they're needed in the WIP-Table + if($using_rev) { + $missing_files[$trans_name][] = get_tags($file); + } + return FALSE; + } + + // No specific maintainer, check for a revision tag + if (empty($MAINT)) { + $trans_tag = get_tags($trans_file, "\\S*"); + } + // If we need to check for a specific translator + else { + // Get translated files tag, with maintainer + $trans_tag = get_tags($trans_file, $MAINT); + + // If this is a file belonging to another + // maintainer, than we would not like to + // deal with it anymore + if (count($trans_tag) == 0) { + $trans_tag = get_tags($trans_file, "\\S*"); + // We found a tag for another maintainer + if (count($trans_tag) > 0) { + return FALSE; + } + } + } + + // Compute sizes and diffs + $en_size = intval(filesize($file) / 1024); + $trans_size = intval(mb_strlen(file_get_contents($trans_file), 'UTF-8') / 1024); + $size_diff = intval($en_size) - intval($trans_size); + + // If we found no revision tag, then collect this + // file in the missing tags list + if (count($trans_tag) == 0) { + $files_by_mark[REV_NOTAG]++; + $file_sizes_by_mark[REV_NOTAG] += $en_size; + $missing_tags[] = array(substr($trans_file, strlen($DOCDIR)), $en_size, $trans_size, $size_diff); + return FALSE; + } + + // Distribute values in separate vars for further processing + list(, $this_rev, $this_maint, $this_status) = $trans_tag; + + // Get English file revision + $en_rev = get_tags($file); + + // If we have a numeric revision number (not n/a), compute rev. diff + if (is_numeric($this_rev)) { + $rev_diff = intval($en_rev) - intval($this_rev); + $trans_rev = $this_rev; + $en_rev = $en_rev; + $en_commit = get_last_commit_from_git($file); + $trans_commit = get_last_commit_from_git($trans_file); + + } else { + // If we have no numeric revision, make all revision + // columns hold the rev from the translated file + $rev_diff = $trans_rev = $this_rev; + $en_rev = $en_rev; + } + + // Compute times and diffs +// $en_date = intval((time() - filemtime($file)) / 86400); + $en_date=detect_date_from_git($file); + if (!$en_date) { + die("Could not detect date"); + } + $en_date = intval((time() - $en_date) / 86400); + $trans_date=detect_date_from_git($trans_file); + + $trans_date = intval((time() - $trans_date) / 86400); + $date_diff = $en_date - $trans_date; + + // If the file is up-to-date + if ($rev_diff === 0 && trim($this_status) === "ready") { + $status_mark = REV_UPTODATE; + } elseif ($en_rev < $this_rev && $date_diff > 0) { + $status_mark = REV_UPTODATE; + } + // Or make decision on file category by revision, date and size + elseif ($rev_diff >= ALERT_REV || $size_diff >= ALERT_SIZE || $date_diff <= ALERT_DATE) { + $status_mark = REV_CRITICAL; + } elseif ($rev_diff === "n/a") { + $status_mark = REV_NOREV; + } elseif ($rev_diff === 0) { + $status_mark = REV_WIP; + } else { + $status_mark = REV_OLD; + } + + // Store files by status, and by maintainer too + $files_by_mark[$status_mark]++; + if (!isset($files_by_maint[$this_maint])) { + $files_by_maint[$this_maint]=Array(); + } + if (!isset($files_by_maint[$this_maint][$status_mark])) { + $files_by_maint[$this_maint][$status_mark]=Array(); + } + + $files_by_maint[$this_maint][$status_mark]++; + $file_sizes_by_mark[$status_mark] += $en_size; + + if (REV_UPTODATE === $status_mark && !$SHOW_UPTODATE) { + return FALSE; + } + + return array( + "full_name" => $file, + "short_name" => basename($trans_file), + "revision" => array($en_rev, $trans_rev, $rev_diff), + "commit" => array($en_commit, $trans_commit), + "size" => array($en_size, $trans_size, $size_diff), + "date" => array($en_date, $trans_date, $date_diff), + "maintainer" => $this_maint, + "status" => $this_status, + "mark" => $status_mark + ); + +} // get_file_status() function end + +// ========================================================================= +// A function to check directory status in translated directory +// ========================================================================= + +// Check the status of files in a diretory of phpdoc XML files +// The English directory is passed to this function to check +function get_dir_status($dir,$lang) { + + global $DOCDIR; + + // Collect files and diretcories in these arrays + $directories = array(); + $files = array(); + + // Open the directory + $handle = @opendir($dir); + + // Walk through all names in the directory + while ($file = @readdir($handle)) { + + if ( + (!is_dir($dir.'/' .$file) && !in_array(substr($file, -3), array('xml','ent')) && substr($file, -13) != 'PHPEditBackup' ) + || strpos($file, 'entities.') === 0 + || $dir == $DOCDIR.'en/chmonly/' || $dir == $DOCDIR.'en/internals/' || $dir == $DOCDIR.'en/internals2/' + || $file == 'contributors.ent' || $file == 'contributors.xml' + || ($dir == $DOCDIR.'en/appendices/' && ($file == 'reserved.constants.xml' || $file == 'extensions.xml')) + || $file == 'README' + || $file == 'DO_NOT_TRANSLATE' + || $file == 'rsusi.txt' + || $file == 'missing-ids.xml' + || $file == 'license.xml' + || $file == 'master_help.xml' + || preg_grep("/scilab_.*_help/",Array($dir)) + || $file == 'versions.xml' + ) { + continue; + } + + if ($file != '.' && $file != '..' && $dir != '/functions') { + if (is_dir($dir.'/' .$file)) { + $directories[] = $file; + } elseif (is_file($dir.'/' .$file)) { + if (strpos($dir,"help/$lang")) { + $files[] = $file; + } + } + } + + } + + // Close the directory + @closedir($handle); + + // Sort files and directories + sort($directories); + sort($files); + + // Go through files first + $dir_status = array(); + foreach ($files as $file) { + // If the file status is OK, append the status info + if ($file_status = get_file_status($dir.$file)) { + $dir_status[] = $file_status; + } + } + + // Then go through subdirectories, merging all the info + // coming from subdirs to one array + foreach ($directories as $file) { +// if (sizeof($dir_status) < 1) { +// echo $dir.$file; + $dir_status = array_merge( + $dir_status, + get_dir_status($dir.$file.'/',$lang) + ); +// } + } + + // Return with collected file info in + // this dir and subdirectories [if any] + return $dir_status; + +} // get_dir_status() function end + + +// Check for files removed in the EN tree, but still living in the translation +function get_old_files($dir) { + + global $DOCDIR, $LANG; + + // Collect files and diretcories in these arrays + $directories = array(); + $files = array(); + + $special_files = array( + // french + 'LISEZ_MOI.txt', + 'TRADUCTIONS.txt', + 'Translators', + 'translation.xml' + // todo: add all missing languages + ); + + // Open the directory + $handle = @opendir($dir); + + // Walk through all names in the directory + while ($file = @readdir($handle)) { + + // If we found a file with one or two point as a name, + // a SVN directory, or an editor backup file skip the file + if (preg_match("/^\.{1,2}/", $file) + || substr($file, -1) == '~' // Emacs backup file + || substr($file, -4) == '.new' + ) { + continue; + } + // skip this files + if (in_array($file, $special_files)) { + continue; + } + + // Collect files and directories + if (is_dir($dir.$file)) { + $directories[] = $file; + } else { + $files[] = $file; + } + } + + // Close the directory + @closedir($handle); + + // Sort files and directories + sort($directories); + sort($files); + + // Go through files first + $old_files_status = array(); + foreach ($files as $file) { + + $en_dir = preg_replace("'^".$DOCDIR.$LANG."/'", $DOCDIR."en/", $dir); + + if (!@file_exists($en_dir.$file) ) { + $old_files_status[$dir.$file] = array(0=>intval(filesize($dir.$file)/1024)); + } + + } + + // Then go through subdirectories, merging all the info + // coming from subdirs to one array + foreach ($directories as $file) { + $old_files_status = array_merge( + $old_files_status, + get_old_files($dir.$file.'/') + ); + } + + return $old_files_status; + +} // get_old_files() function end + + +// ========================================================================= +// Functions to read in the translation.xml file and process contents +// ========================================================================= + +// Get a multidimensional array with tag attributes +function parse_attr_string ($tags_attrs) { + + $tag_attrs_processed = array(); + + // Go through the tag attributes + foreach($tags_attrs as $attrib_list) { + + // Get attr name and values + preg_match_all("!(.+)=\\s*([\"'])\\s*(.+)\\2!U", $attrib_list, $attribs); + + // Assign all attributes to one associative array + $attrib_array = array(); + foreach ($attribs[1] as $num => $attrname) { + $attrib_array[trim($attrname)] = trim($attribs[3][$num]); + } + + // Collect in order of tags received + $tag_attrs_processed[] = $attrib_array; + + } + + // Retrun with collected attributes + return $tag_attrs_processed; + +} // parse_attr_string() end + +// Parse the translation.xml file for +// translation related meta information +function parse_translation($DOCDIR, $LANG, $MAINT) { + + global $files_by_mark; + + // Path to find translation.xml file, set default values, + // in case we can't find the translation file + $translation_xml = "tools/localization/translation-$LANG.xml"; + $output_charset = 'iso-8859-1'; + $translation = array( + "intro" => "", + "persons" => array(), + "files" => array(), + "allfiles" => array(), + ); + + // Check for file availability, return with default + // values, if we cannot find the file + if (!@file_exists($translation_xml)) { + return array($output_charset, $translation); + } + + // Else go on, and load in the file, replacing all + // space type chars with one space + $txml = join("", file($translation_xml)); + $txml = preg_replace("/\\s+/", " ", $txml); + + // Get intro text (different for a persons info and + // for a whole group info page) + if (empty($MAINT)) { + preg_match("!<intro>(.+)</intro>!s", $txml, $match); + $translation["intro"] = trim($match[1]); + } else { + $translation["intro"] = "Personal Statistics for ".$MAINT; + } + + // Get encoding for the output, from the translation.xml + // file encoding (should be the same as the used encoding + // in HTML) + preg_match("!<\?xml(.+)\?>!U", $txml, $match); + $xmlinfo = parse_attr_string($match); + $output_charset = $xmlinfo[1]["encoding"]; + + // Get persons list preg pattern, only check for a specific + // maintainer, if the users asked for it + if (empty($MAINT)) { + $pattern = "!<person(.+)/\\s?>!U"; + } else { + $pattern = "!<person([^<]+nick=\"".$MAINT."\".+)/\\s?>!U"; + } + + // Find all persons matching the pattern + preg_match_all($pattern, $txml, $matches); + $translation['persons'] = parse_attr_string($matches[1]); + + // Get list of work in progress files + if (empty($MAINT)) { + + // Get all wip files + preg_match_all("!<file(.+)/\\s?>!U", $txml, $matches); + $translation['files'] = parse_attr_string($matches[1]); + + // Provide info about number of WIP files + $files_by_mark[REV_WIP] += count($translation['files']); + + } else { + + // Only check for a specific maintainer, if we were asked to + preg_match_all("!<file([^<]+person=\"".$MAINT."\".+)/\\s?>!U", $txml, $matches); + $translation['files'] = parse_attr_string($matches[1]); + + // Other maintainers wip files need to be cleared from + // available files list in the future, so store that info too. + preg_match_all("!<file(.+)/\\s?>!U", $txml, $matches); + $translation['allfiles'] = parse_attr_string($matches[1]); + + // Provide info about number of WIP files + $files_by_mark[REV_WIP] += count($translation['allfiles']); + + } + + // Return with collected info in two vars + return array($output_charset, $translation); + +} // parse_translation() function end() + +// ========================================================================= +// Start of the program execution +// ========================================================================= + +// Check for directory validity +if (!@is_dir($DOCDIR . $LANG)) { +// die("The $LANG language code is not valid"); +} + +// Parse translation.xml file for more information +list($charset, $translation) = parse_translation($DOCDIR, $LANG, $MAINT); + +// Add WIP files to maintainers file count and figure out, +// if we need to use optional date and revision columns +$using_date = FALSE; $using_rev = FALSE; +$files_by_maint = init_files_by_maint($translation['persons']); +foreach ($translation["files"] as $num => $fileinfo) { + $files_by_maint[$fileinfo["person"]][REV_WIP]++; + if (isset($fileinfo["date"])) { $using_date = TRUE; } + if (isset($fileinfo["revision"])) { $using_rev = TRUE; } +} + +// Get all files status +//$files_status = get_dir_status($DOCDIR."/modules/core/","en_US");//."en/"); +$files_status = get_dir_status($DOCDIR,"en_US");//."en/"); + +// Get all old files in <lang> directory +$old_files = get_old_files($DOCDIR.$LANG."/"); + +$navbar = "<p class=c><a href=\"#intro\">Introduction</a> | " . + "<a href=\"#translators\">Translators</a> | " . + "<a href=\"#filesummary\">File summary by type</a> | " . + "<a href=\"#files\">Files</a> | "; + +if ( count($translation["files"]) != 0 ) { + $navbar .= "<a href=\"#wip\">Work in progress</a> | "; +} + +$navbar .= "<a href=\"#missfiles\">Untranslated files</a> | " . + "<a href=\"#oldfiles\">Old files</a></p>\n"; + + +// Figure out generation date +$date = date("r"); + +// ========================================================================= +// Start of HTML page +// ========================================================================= + +print <<<END_OF_MULTILINE +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> +<title>Scilab documentation Revision-check</title> +<meta http-equiv="Content-Type" content="text/html; charset={$charset}"> +<style type="text/css"> +<!-- +h2,td,a,p,a.ref,th { font-family:Arial,Helvetica,sans-serif; font-size:14px; } +h2,th,a.ref { color:#FFFFFF; } +td,a,p { color:#000000; } +h2 { font-size:28px; } +th { font-weight:bold; } +.blue { background-color:#666699; } +.act { background-color:#68D888; } +.norev { background-color:#f4a460; } +.old { background-color:#eee8aa; } +.crit { background-color:#ff6347; } +.wip { background-color:#dcdcdc; } +.r { text-align:right } +.rb { text-align:right; font-weight:bold; } +.c { text-align:center } +body { margin:0px 0px 0px 0px; background-color:#F0F0F0; } +//--> +</style> +</head> +<body> +<table width="100%" border="0" cellspacing="0" bgcolor="#666699"> +<tr><td> +<table width="100%" border="0" cellspacing="1" bgcolor="#9999CC"> +<tr><td><h2 class=c>Status of the translated Scilab Manual</h2><p class=c style="font-size:12px;">Generated: {$date} / Language: $LANG<br></p></td></tr> +</table> +</td></tr> +</table> +END_OF_MULTILINE; + +print ($navbar); + +// ========================================================================= +// Intro block goes here +// ========================================================================= + +// If we have an introduction text, print it out, with an anchor +if (!empty($translation["intro"])) { + echo '<a name="intro"></a>'; + echo '<table width="800" align="center"><tr><td class=c>' . + $translation['intro'] . '</td></tr></table>'; +} + +// ========================================================================= +// Files summary table goes here +// ========================================================================= + +// Do not print out file summary table, if we are printing out a page +// for only one maintainer (his personal summary is in the table above) +if (empty($MAINT)) { + +print <<<END_OF_MULTILINE +<a name="filesummary"></a> +<table width="450" border="0" cellpadding="4" cellspacing="1" align="center"> +<tr class=blue> +<th>File status type</th> +<th>Number of files</th> +<th>Percent of files</th> +<th>Size of files (kB)</th> +<th>Percent of size</th> +</tr> +END_OF_MULTILINE; + + $files_sum = array_sum($files_by_mark); + $file_sizes_sum = array_sum($file_sizes_by_mark); + + $file_types = array( + array (REV_UPTODATE, "Up to date files"), + array (REV_OLD, "Old files"), + array (REV_CRITICAL, "Critical files"), + array (REV_WIP, "Work in progress"), +// array (REV_NOREV, "Files without revision number"), +// array (REV_NOTAG, "Files without revision tag"), + array (REV_NOTRANS, "Files available for translation") + ); + + foreach ($file_types as $num => $type) { + echo "<tr class=".$CSS[$type[0]].">". + "<td>".$type[1]."</td>". + "<td class=c>".intval($files_by_mark[$type[0]])."</td>". + "<td class=c>".number_format($files_by_mark[$type[0]] * 100 / $files_sum, 2 ). + "%</td>". + "<td class=c>".intval($file_sizes_by_mark[$type[0]])."</td>". + "<td class=c>".number_format($file_sizes_by_mark[$type[0]] * 100 / $file_sizes_sum, 2). + "%</td></tr>\n"; + } + + echo "<tr class=blue><th>Files total</th><th>$files_sum</th><th>100%</th><th>$file_sizes_sum</th><th>100%</th></tr>\n". + "</table>\n<p> </p>\n"; + +} + +echo $navbar."<p> </p>\n"; + +// ========================================================================= +// Files table goes here +// ========================================================================= + +if (count($files_status) != 0) { + +print <<<END_OF_MULTILINE +<a name="files"></a> +<table width="820" border="0" cellpadding="4" cellspacing="1" align="center"> +<tr class=blue> +<th rowspan=2>Translated file</th> +<th colspan=2>Revision</th> +<th colspan=3>Size in kB</th> +<th colspan=3>Age in days</th> +<th rowspan=2>Maintainer</th> +<th rowspan=2>Status</th> +</tr> +<tr class=blue> +<th>en_US</th> +<th>$LANG</th> +<th>en_US</th> +<th>$LANG</th> +<th>diff</th> +<th>en_US</th> +<th>$LANG</th> +<th>diff</th> +</tr> +END_OF_MULTILINE; + + // This was the previous directory [first] + $prev_dir = false; + + // Go through all files collected + foreach ($files_status as $num => $file) { +// print_r($file); +// die(); + // Make the maintainer a link, if we have that maintainer in the list + if (isset($maint_by_nick[$file["maintainer"]])) { + $file["maintainer"] = '<a href="#maint' . $maint_by_nick[$file["maintainer"]] . + '">' . $file["maintainer"] . '</a>'; + } + + // If we have a 'numeric' revision diff and it is not zero, + // make a link to the git repository's diff script + if ($file["revision"][2] != "n/a" && $file["revision"][2] !== 0) { + $url="http://cgit.scilab.org/scilab/diff/?id=" + .$file['commit'][0]."d2=".$file['commit'][1]; + $file['short_name'] = '<a href="' . $url . '">'. $file["short_name"] . '</a> '; +// '<a href="' . $url_ws . '">[NoWS]</a>';-- + } + + // Guess the new directory from the full name of the file + $new_dir = dirname($file["full_name"]); + + // If this is a new directory, put out old dir lines + if ($new_dir !== $prev_dir) { + if (isset($lines)) { + echo $prev_diplay_dir; + echo " ($line_number)</th></tr>"; + echo $lines; + } + + $lines = ''; + $line_number = 0; + + // Store the new actual directory + $prev_dir = $new_dir; + } + // Drop out the unneeded parts from the dirname, special case for root dir... + $display_dir = str_replace(array($DOCDIR), array("", '/'), dirname($file["full_name"])); + $prev_diplay_dir = "<tr class=blue><th colspan=12>$display_dir"; + + // Save the line for the current file (get file name shorter) + $lines .= "<tr class={$CSS[$file['mark']]}><td>{$file['short_name']}</td>". + "<td> {$file['revision'][0]}</td>" . + "<td> {$file['revision'][1]}</td>". + "<td class=r>{$file['size'][0]} </td>". + "<td class=r>{$file['size'][1]} </td>". + "<td class=rb>{$file['size'][2]} </td>". + "<td class=r>{$file['date'][0]} </td>". + "<td class=r>{$file['date'][1]} </td>". + "<td class=rb>{$file['date'][2]} </td>". + "<td class=c>{$file['maintainer']}</td>". + "<td class=c>".trim($file['status'])."</td></tr>\n"; + $line_number++; + + } + + // echo the last dir and $lines + echo "$prev_diplay_dir ($line_number)</th></tr>"; + echo $lines; + + echo "</table>\n<p> </p>\n$navbar<p> </p>\n"; + +} + + +// ========================================================================= +// Translators table goes here +// ========================================================================= + +// If person list available (valid translation.xml file in lang), print out +// the person list, with respect to the maintainer parameter specified +if (!empty($translation["persons"])) { + +print <<<END_OF_MULTILINE +<a name="translators"></a> +<table width="820" border="0" cellpadding="4" cellspacing="1" align="center"> +<tr class=blue> +<th rowspan=2>Translator's name</th> +<th rowspan=2>Contact email</th> +<th colspan=7>Files maintained</th> +</tr> +<tr> +<th class="{$CSS[REV_CREDIT]}" style="color:#000000">cre-<br>dits</th> +<th class="{$CSS[REV_UPTODATE]}" style="color:#000000">upto-<br>date</th> +<th class="{$CSS[REV_OLD]}" style="color:#000000">old</th> +<th class="{$CSS[REV_CRITICAL]}" style="color:#000000">cri-<br>tical</th> +<th class="{$CSS[REV_NOREV]}" style="color:#000000">no<br>rev</th> +<th class="{$CSS[REV_WIP]}" style="color:#000000">wip</th> +<th class="blue">sum</th> +</tr> +END_OF_MULTILINE; + + // ' Please leave this comment here + + // We will collect the maintainers by nick here + $maint_by_nick = array(); + + // Print out a line for each maintainer (with respect to + // maintainer setting provided in command line) + foreach($translation["persons"] as $num => $person) { + + // Do not print out this person, if a + // specific maintainer info is asked for + if (!empty($MAINT) && $person["name"] != $MAINT) { + continue; + } + + // Put maintaner number into associative array + // [Used in further tables for referencing] + $maint_by_nick[$person["name"]] = $num; + + // Decide on the SVN text and the color of the line + if (isset($person["vcs"]) && $person["vcs"] === "yes") { + $svnu = "x"; + $col = "old"; + } else { + $svnu = " "; + $col = "wip"; + } + + // Try to do some antispam actions + $person["email"] = str_replace( + "@", + "<small>:at:</small>", + $person["email"] + ); + + // Get file info for this person + if (isset($files_by_maint[$person["name"]])) { + $pi = $files_by_maint[$person["name"]]; + } else { + $pi = array(); + } + + echo "<tr class=$col>" . + "<td><a name=\"maint$num\">$person[name]</a></td>" . + "<td>$person[email]</td>" . + "<td class=c>" . $pi[REV_CREDIT] . "</td>" . + "<td class=c>" . $pi[REV_UPTODATE] . "</td>" . + "<td class=c>" . $pi[REV_OLD] . "</td>" . + "<td class=c>" . $pi[REV_CRITICAL] . "</td>" . + "<td class=c>" . $pi[REV_NOREV] . "</td>" . + "<td class=c>" . $pi[REV_WIP] . "</td>" . + "<th class=blue>" . array_sum($pi) . "</th>" . + "</tr>\n"; + } + + echo "</table>\n<p> </p>\n"; +} + +// ========================================================================= +// Work in progress table goes here +// ========================================================================= + +// If work-in-progress list is available (valid translation.xml file in lang) +if (count($translation["files"]) != 0) { + + // Print out files table header + echo "<a name=\"wip\"></a>\n" . + "<table width=\"820\" border=\"0\" cellpadding=\"4\" cellspacing=\"1\" align=\"center\">\n" . + "<tr class=blue>". + "<th>Work in progress files</th>". + "<th>Translator</th>". + "<th>Type</th>"; + + // Print out date and revision columns if needed + if ($using_date) { + echo '<th>Date</th>'; + } + if ($using_rev) { + echo '<th>CO-Revision</th>' . + '<th>EN-Revision</th>'; + } + echo "</tr>\n"; + + // Go through files, and print out lines for them + foreach($translation["files"] as $num => $finfo) { + + // If we have a valid maintainer, link to the summary + if (isset($maint_by_nick[$finfo["person"]])) { + $finfo["person"] = '<a href="#maint' . $maint_by_nick[$finfo["person"]] . + '">' . $finfo["person"] . '</a>'; + } + + // Print out the line with the first columns + echo "<tr class=wip><td>$finfo[name]</td>" . + "<td>$finfo[person]</td><td>$finfo[type]</td>"; + + // If we need the date column, print it out + if ($using_date) { + echo "<td>$finfo[date]</td>"; + } + + // If we need the revision column, print it out + if ($using_rev) { + echo "<td>$finfo[revision]</td><td>" . + $missing_files[$finfo["name"]][1] . + "</td>"; + } + + // End the line + echo "</tr>\n"; + + // Collect files in WIP list + $wip_files[$finfo["name"]] = TRUE; + } + + echo "</table>\n<p> </p>\n$navbar<p> </p>\n"; + +} + +// Files translated, but without a revision comment +$count = count($missing_tags); + +if ($count > 0) { + echo "<a name=\"misstags\"></a>" . + "<table width=\"400\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" align=\"center\">\n". + "<tr class=blue><th rowspan=2>Files without Revision-comment ($count files):</th>". + "<th colspan=3>Sizes in kB</th></tr>\n". + "<tr class=blue><th>en_US</th><th>$LANG</th><th>diff</th></tr>\n"; + + foreach($missing_tags as $val) { + + // Shorten the filename (we have directory headers) + $short_file = basename($val[0]); + + // Guess the new directory from the full name of the file + $new_dir = dirname($val[0]); + + // If this is a new directory, put out dir headline + if ($new_dir != $prev_dir) { + + // Print out directory header + echo "<tr class=blue><th colspan=4>$new_dir</th></tr>\n"; + + // Store the new actual directory + $prev_dir = $new_dir; + } + echo "<tr class=wip><td>$short_file</td><td class=r>$val[1]</td>". + "<td class=r>$val[2]</td><td class=r>$val[3]</td></tr>\n"; + } + + echo "</table>\n<p> </p>\n$navbar<p> </p>\n"; +} + +// Merge all work in progress files collected +$wip_files = array_merge( + $translation["files"], // Files for this translator + $translation["allfiles"] // Files for all the translators +); + +// Delete wip entires from available files list +foreach ($wip_files as $file) { + if (isset($missing_files[$file['name']])) { + unset($missing_files[$file['name']]); + } +} + +// Files not translated and not "wip" +$count = count($missing_files); +if ($count > 0) { + + echo "<a name=\"missfiles\"></a>" . + "<table width=\"400\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" align=\"center\">\n" . + "<tr class=blue><th><a name=\"avail\" class=\"ref\">" . + " Available for translation</a> ($count files):</th><th>kB</th></tr>\n"; + + foreach($missing_files as $file => $info) { + // Shorten the filename (we have directory headers) + $short_file = basename($file); + + // Guess the new directory from the full name of the file + $new_dir = dirname($file); + + // If this is a new directory, put out dir headline + if ($new_dir != $prev_dir) { + + // Print out directory header if not "." + echo "<tr class=blue><th colspan=2>$new_dir</th></tr>\n"; + + // Store the new actual directory + $prev_dir = $new_dir; + } + + echo "<tr class=wip><td><a href=\"http://cgit.scilab.org/scilab/tree/scilab/$file\">$short_file</a></td>" . + "<td class=r>$info[0]</td></tr>\n"; + } + echo "</table>\n<p> </p>\n$navbar<p> </p>\n"; + +} + +// Files not in EN tree +$count = count($old_files); + +if ($count > 0) { + + print "<a name=\"oldfiles\"></a>" . + "<table width=\"400\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" align=\"center\">\n" . + "<tr class=blue><th><a name=\"notEn\" class=\"ref\">" . + " Not in EN Tree</a> ($count files):</th><th>kB</th></tr>\n"; + + foreach($old_files as $file => $info) { + + // Shorten the filename (we have directory headers) + $short_file = basename($file); + + // Guess the new directory from the full name of the file + $new_dir = dirname($file); + + // If this is a new directory, put out dir headline + if ($new_dir != $prev_dir) { + + // Print out directory header if not "." + echo "<tr class=blue><th colspan=2>$new_dir</th></tr>\n"; + + // Store the new actual directory + $prev_dir = $new_dir; + } + + echo "<tr class=wip><td>$short_file</td>" . + "<td class=r>$info[0]</td></tr>\n"; + } + echo "</table>\n<p> </p>\n$navbar<p> </p>\n"; + +} + + +// All OK, end the file +echo "</body>\n</html>\n"; + +?> diff --git a/tools/localization/translation-fr_FR.xml b/tools/localization/translation-fr_FR.xml new file mode 100755 index 000000000..6413027fe --- /dev/null +++ b/tools/localization/translation-fr_FR.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Reviewed: yes --> +<!DOCTYPE translation SYSTEM "../dtds/translation.dtd"> +<translation xmlns="http://docbook.org/ns/docbook"> + <intro>Système de traduction Scilab.<br/> + Ceci est le fichier généré par tools/localization/revcheck.php. + Il vous permet de voir rapidement quels sont les fichiers qui + doivent être mis à jour ainsi que la personne qui s'en occupe. + </intro> + <translators> + <person name="Sylvestre Ledru" email="sylvestre.ledru@scilab.org" vcs="yes" editor="yes"/> + <person name="Calixte Denizet" email="calixte@contrib.scilab.org" vcs="yes"/> + <person name="Vincent Liard" email="n/a" vcs="yes"/> + <person name="Yann Collette" email="n/a" vcs="yes"/> + <person name="Allan Cornet" email="allan.cornet@scilab.org" vcs="yes"/> + <person name="Pierre Marechal" email="pierre.marechal@scilab.org" vcs="yes"/> + <person name="Bernard Dujardin" email="bernard.dujardin@contrib.scilab.org" vcs="yes"/> + <person name="Serge Steer" email="serge.steer@scilab.org" vcs="yes"/> + <person name="Vincent Couvert" email="vincent.couvert@scilab.org" vcs="yes"/> + <person name="Michael Baudin" email="michael.baudin@scilab.org" vcs="yes"/> + <person name="Pierre Lando" email="michael.baudin@scilab.org" vcs="yes"/> + <person name="Clément David" email="clement.david@scilab.org" vcs="yes"/> + </translators> + <work-in-progress> + </work-in-progress> +</translation> diff --git a/tools/localization/translation-ja_JP.xml b/tools/localization/translation-ja_JP.xml new file mode 100755 index 000000000..9dda6f084 --- /dev/null +++ b/tools/localization/translation-ja_JP.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Reviewed: yes --> +<!DOCTYPE translation SYSTEM "../dtds/translation.dtd"> +<translation xmlns="http://docbook.org/ns/docbook"> + <intro>Système de traduction Scilab.<br/> + Ceci est le fichier généré par tools/localization/revcheck.php. + Il vous permet de voir rapidement quels sont les fichiers qui + doivent être mis à jour ainsi que la personne qui s'en occupe. + </intro> + <translators> + <person name="Sylvestre Ledru" email="sylvestre.ledru@scilab.org" vcs="yes" editor="yes"/> + <person name="Rui Hirokawa" email="rui.hirokawa@gmail.com" vcs="yes"/> + <person name="Allan Cornet" email="allan.cornet@scilab.org" vcs="yes"/> + <person name="Calixte Denizet" email="calixte@contrib.scilab.org" vcs="yes"/> + <person name="Michael Baudin" email="michael.baudin@scilab.org" vcs="yes"/> + <person name="Samuel Gougeon" email="n/a" vcs="yes"/> + </translators> + <work-in-progress> + </work-in-progress> +</translation> diff --git a/tools/localization/updateLocalizationModule.sh b/tools/localization/updateLocalizationModule.sh new file mode 100755 index 000000000..37af7bc8a --- /dev/null +++ b/tools/localization/updateLocalizationModule.sh @@ -0,0 +1,239 @@ +#!/bin/bash +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) INRIA - 2007-2008 - Sylvestre Ledru +# Copyright (C) DIGITEO - 2009-2011 - Sylvestre Ledru +# Copyright (C) DIGITEO - 2011-2011 - Bruno JOFRET +# This file must be used under the terms of the CeCILL. +# This source file is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at +# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +# +# This script goes into a module and updates the localization file by checking +# the _( and gettext( calls in the code + +# TODO : +# * Write Small documentation +# + +if test $# -ne 1; then + echo "This script goes into a module and updates the localization file " + echo "by checking the _(xxx) and gettext(xxx) calls in the code" + echo "It creates the locales directory for C, C++ and Java and" + echo "locales_macros for Scilab code" + echo + echo "Syntax : $0 <module>" + echo "If <module> is equal to 'process_all', it will parse all Scilab module" + echo "per module" + exit 42 +fi + +if test -z "$SCI"; then + echo "Please define the variable SCI" + exit 42 +fi + +MODULES=$1 + +if test "$MODULES" = "process_all"; then + echo ".. Process all the modules one by one" + PROCESS_ALL=1 +else + PROCESS_ALL=0 +fi + + +XGETTEXT=/usr/bin/xgettext +FROM_CODE=ISO-8859-1 +EXTENSIONS=( 'c' 'h' 'cpp' 'hxx' 'java' ) +EXTENSIONS_MACROS=( sci sce start quit ) +TARGETDIR=locales/ +TARGETDIR_MACROS=locales_macros/ +HEADER_TEMPLATE=$SCI/modules/localization/data/header.pot +GUI_FILES="etc/*.x*l" +PREFERENCE_FILES="src/xslt/*.xsl" +FAKE_C_FILE=scilab_fake_localization_file.c +TIMEZONE="+0100" +# Gettext arg +XGETTEXT_OPTIONS="--add-location --strict --keyword=_ --from-code $FROM_CODE --omit-header --no-wrap --sort-by-file" + +process_XML_files() { +# First expression => remove line which does NOT contain label +# Second expression => extract the content of the label and switch it to a gettext fake instruction +# Third expression => remove empty lines +# Please note that it will only extract string from the label tag + if test -n "$(ls $GUI_FILES 2>/dev/null)"; then + COMMON_SED='s/&/\&/g' + sed -e '/label/!s/.*//' -e 's/.*label="\([^"]*\)".*/gettext("\1")/' -e '/^$/d' -e $COMMON_SED $GUI_FILES > $FAKE_C_FILE + sed -e '/tooltiptext/!s/.*//' -e 's/.*tooltiptext="\([^"]*\)".*/gettext("\1")/' -e '/^$/d' -e $COMMON_SED $GUI_FILES >> $FAKE_C_FILE + sed -e 's/.*_(\([^"]*\)).*/gettext("\1")/' $GUI_FILES >> $FAKE_C_FILE + fi + if test -n "$(ls $PREFERENCE_FILES 2>/dev/null)"; then + sed -e 's/.*_(\([^"]*\)).*/gettext("\1")/' $PREFERENCE_FILES >> $FAKE_C_FILE + fi +} + + +function generate_find_command { + # Setting the shell's Internal Field Separator to null + OLD_IFS=$IFS + IFS='' + # Create a string containing "colors[*]" + local array_string="$1[*]" + # assign loc_array value to ${colors[*]} using indirect variable reference + local EXT=(${!array_string}) +# +# Retrieve all the sources files + FILESCMD='find . -type f ' +####### GENERATES THE FIND COMMAND + i=0 + NB_ELEMENT=${#EXT[@]} + + while [ "$i" -lt "$NB_ELEMENT" ]; do + ext=${EXT[$i]} + FILESCMD="$FILESCMD -name '*.$ext'" + if test "$NB_ELEMENT" -ne `expr $i + 1`; then # because we don't want a trailing -o + FILESCMD="$FILESCMD -o " + fi + i=$((i + 1)) + done + # Resetting IFS to default + IFS=$OLD_IFS +} + + +# Process all the modules ... then, build the list +if test $PROCESS_ALL -eq 1; then + cd $SCI/modules/ + MODULES=`find . -maxdepth 1 -type d ! -name ".*" ! -name 'javasci'` +fi + + +function process_module { + + IS_MACROS=0 + if test "$1" == "macros"; then + IS_MACROS=1 + fi + +# Extract label from xml files + process_XML_files + if test $IS_MACROS -eq 1; then + generate_find_command EXTENSIONS_MACROS + local TARGETDIR=$TARGETDIR_MACROS + else + generate_find_command EXTENSIONS + fi + if test ! -d $TARGETDIR; then mkdir $TARGETDIR; fi + + FILES=`eval $FILESCMD|tr "\n" " "` + + if test "$MODULE" = "core" -o "$MODULE" = "./core"; then + # We want some strings from the ROOTDIR when it is the core module + FILES="$FILES `ls $SCI/etc/scilab.*`" + fi + + # Also extract string straight from the XML because we have some gettext calls in it + if test -n "$(ls $GUI_FILES 2>/dev/null)" -a $IS_MACROS -ne 1; then + FILES="$FILES `ls $GUI_FILES`" + fi + + FILES=$(echo $FILES|sort) + + MODULE_NAME=`echo $MODULE|sed -e 's|./||'` # avoid to have ./module_name + + if test $IS_MACROS -eq 1; then + echo "..... Parsing all Scilab macros in $PATHTOPROCESS" + else + echo "..... Parsing all sources in $PATHTOPROCESS" + fi +# Parse all the sources and get the string which should be localized + + + if test $IS_MACROS -eq 1; then + MODULE_NAME=$MODULE_NAME-macros + fi + LOCALIZATION_FILE_US=$TARGETDIR/$MODULE_NAME.pot + + if test -f $LOCALIZATION_FILE_US; then + # Localization file already existing. Retrieve POT-Creation-Date + CreationDate=`grep POT-Creation-Date: $LOCALIZATION_FILE_US|sed -e 's|\"POT-Creation-Date: \(.*\)\\\n\"|\1|'` + fi + + echo "........ Generate the English localization file by parsing the code" + if test $IS_MACROS -eq 1; then + # It is Scilab code... xgettext does not how to process it + XGETTEXT_OPTIONS="$XGETTEXT_OPTIONS --language=C" + fi + + $XGETTEXT $XGETTEXT_OPTIONS -p $TARGETDIR/ -o $MODULE_NAME.pot.tmp $FILES > /dev/null + if test ! -f $MODULE_NAME.pot.tmp -a $IS_MACROS -eq 1; then + # Empty file => no string found + # We are modifing on the fly Scilab localization files + # + # We need C strings format to be used as gettext key + # "" -> \" + # '' -> ' + # '" -> \" + # "' -> ' -e "s/\"'/'/g" + sed -i -e "s/\"\"/\\\"/g" -e "s/''/'/g" -e "s/'\"/\\\"/g" $TARGETDIR/$MODULE_NAME.pot.tmp + # We introduced invalid tag [msgstr "] and [msgid "] + # restore them [msgstr ""] and [msgid ""] + sed -i -e "s/msgstr \"$/msgstr \"\"/" -e "s/msgid \"$/msgid \"\"/" $TARGETDIR/$MODULE_NAME.pot.tmp + fi + + if test -z "$CreationDate"; then + # File not existing before ... Set the current date a POT-Creation-Date + sed -e "s/MODULE/$MODULE_NAME/" -e "s/CREATION-DATE/`date +'%Y-%m-%d %H:%M'`$TIMEZONE/" -e "s/REVISION-DATE/`date +'%Y-%m-%d %H:%M'`$TIMEZONE/" $HEADER_TEMPLATE > $LOCALIZATION_FILE_US + else + sed -e "s/MODULE/$MODULE_NAME/" -e "s/CREATION-DATE/$CreationDate/" -e "s/REVISION-DATE/`date +'%Y-%m-%d %H:%M'`$TIMEZONE/" $HEADER_TEMPLATE > $LOCALIZATION_FILE_US + fi + + msguniq -u $LOCALIZATION_FILE_US.tmp >> $LOCALIZATION_FILE_US 2> /dev/null + + rm $LOCALIZATION_FILE_US.tmp 2> /dev/null + + MSGOUTPUT=$(msgcat $LOCALIZATION_FILE_US) + if test $? -ne 0; then + echo "Badly formated localization files" + exit 32 + fi + if test -z "$(msgcat $LOCALIZATION_FILE_US)"; then + # empty template. Kill it! + rm $LOCALIZATION_FILE_US + fi + + if test $IS_MACROS -eq 1; then + LOCALIZATION_FILE_NATIVE=$(echo $LOCALIZATION_FILE_US|sed -e "s|-macros||g" -e "s|_macros||g") + if test ! -f $LOCALIZATION_FILE_NATIVE; then + # no native code. Copy the macro one + cp $LOCALIZATION_FILE_US $LOCALIZATION_FILE_NATIVE + else + # merge locale macros => native code + msgcat --use-first -o $LOCALIZATION_FILE_NATIVE.tmp $LOCALIZATION_FILE_NATIVE $LOCALIZATION_FILE_US + mv $LOCALIZATION_FILE_NATIVE.tmp $LOCALIZATION_FILE_NATIVE + fi + rm -rf $TARGETDIR_MACROS + fi + + # Remove fake file used to extract string from XML + rm $FAKE_C_FILE 2> /dev/null + + +} + +for MODULE in $MODULES; do + + PATHTOPROCESS=$SCI/modules/$MODULE/ + if test ! -d $PATHTOPROCESS; then + echo "... Cannot find module $PATHTOPROCESS" + exit + fi + echo "... Processing module $MODULE" + + cd $PATHTOPROCESS + process_module "src" + process_module "macros" + + cd $SCI/ +done # Browse modules diff --git a/tools/profiling/valgrind.supp b/tools/profiling/valgrind.supp new file mode 100755 index 000000000..514df7913 --- /dev/null +++ b/tools/profiling/valgrind.supp @@ -0,0 +1,71 @@ +{ + scilab-console/tgetent + Memcheck:Leak + ... + fun:tgetent +} +{ + scilab-console/tgetnum + Memcheck:Leak + ... + fun:tgetnum +} +{ + dl_init/static_initialization_and_destruction + Memcheck:Leak + fun:_Znwm + ... + fun:_dl_init +} +{ + PThread auto cleanup at exit + Memcheck:Leak + fun:calloc + fun:_dl_allocate_tls + fun:pthread_create* +} +{ + Last error messages + Memcheck:Leak + fun:malloc + fun:strdup + fun:addErrorMessage +} +{ + Realloc the stack on freemem64 + Memcheck:Leak + fun:realloc + fun:freemem64 + fun:TerminateCorePart2 + fun:ExitScilab + fun:realmain + fun:main + fun:__libc_start_main + obj:/home/davidcl/work/branches/master-review/scilab/.libs/lt-scilab-cli-bin + obj:* + obj:* + obj:* + obj:* +} +{ + Last getCmdLine free issue + Memcheck:Leak + fun:malloc + fun:getCmdLine + fun:getCommandLine + fun:watchGetCommandLine + fun:start_thread + fun:clone +} +{ + Fixeable but crash-ed using javasci + Memcheck:Leak + fun:malloc + fun:wide_string_to_UTF8 + fun:getCmdLine + fun:getCommandLine + fun:watchGetCommandLine + fun:start_thread + fun:clone +} + diff --git a/tools/tools.iss b/tools/tools.iss new file mode 100755 index 000000000..9b80fdc11 --- /dev/null +++ b/tools/tools.iss @@ -0,0 +1,15 @@ +;############################################################################################################## +; Script d'installation Inno Setup (5.2.1) pour scilab +; Allan CORNET +; Version TRUNK +; Copyright INRIA 2007 +;############################################################################################################## + +; Repertoire tools +Source: tools\Perl\Readme.txt; DestDir: {app}\tools\Perl; Components: {#COMPN_SCILAB} +Source: tools\curl\*.*; DestDir: {app}\tools\curl; Flags: recursesubdirs; Components: {#COMPN_SCILAB} +Source: tools\zip\*.*; DestDir: {app}\tools\zip; Flags: recursesubdirs; Components: {#COMPN_SCILAB} +Source: tools\gzip\*.*; DestDir: {app}\tools\gzip; Flags: recursesubdirs; Components: {#COMPN_SCILAB} +Source: tools\diff\*.*; DestDir: {app}\tools\diff; Flags: recursesubdirs; Components: {#COMPN_SCILAB} +Source: tools\gettext\*.*; DestDir: {app}\tools\gettext; Flags: recursesubdirs; Components: {#COMPN_SCILAB} +; |