]> git.lyx.org Git - features.git/commitdiff
Fix the build scripts and update/fix the installer.
authorAngus Leeming <leeming@lyx.org>
Thu, 2 Mar 2006 19:14:09 +0000 (19:14 +0000)
committerAngus Leeming <leeming@lyx.org>
Thu, 2 Mar 2006 19:14:09 +0000 (19:14 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13284 a592a061-630c-0410-9148-cb99ea01b6c8

14 files changed:
development/Win32/packaging/build_lyxwin.sh
development/Win32/packaging/installer/io_ui_language.ini
development/Win32/packaging/installer/lyx_configure.C
development/Win32/packaging/installer/lyx_installer.nsi
development/Win32/packaging/installer/lyx_languages/danish.nsh
development/Win32/packaging/installer/lyx_languages/dutch.nsh
development/Win32/packaging/installer/lyx_languages/english.nsh
development/Win32/packaging/installer/lyx_languages/french.nsh
development/Win32/packaging/installer/lyx_languages/german.nsh
development/Win32/packaging/installer/lyx_languages/italian.nsh
development/Win32/packaging/installer/lyx_languages/spanish.nsh
development/Win32/packaging/installer/lyx_languages/swedish.nsh
development/Win32/packaging/installer/lyx_utils.nsh
development/Win32/packaging/package_lyxwin.sh

index f997ecd279a72286b4b84268f37e62929103be1d..79dcb955992b44d7d29cf6a7222c0944a89aa81b 100644 (file)
@@ -1,48 +1,30 @@
 #! /bin/sh
 
-# This script aims to do averything necessary to automate the building
+# This script aims to do everything necessary to automate the building
 # of a LyX/Win package.
 
 # Invocation:
 # sh build_lyxwin.sh "1.3.6-pre23"
 # The string will be shown in the "About LyX" dialog.
 
-# This script is written as a bunch of subroutines. You'll probably
-# only need to build a couple of the packages (dtl, aspell) once.
-# Thereafter, the invocation of these subroutines can be commented out.
-# (See the end of the script.)
-
 # Notes:
-# It uses the MinGW/MinSYS environment and compiler.
+# It uses the MSYS environment and MinGW compiler.
 
 # It asks whether the Qt and LyX cvs trees are up to date.
 # It asks whether the Qt library has been compiled.
-# It checks that qt-mt3.dll, libiconv-2.dll,
-#   mingw10.dll and clean_dvi.py exist.
+# It checks that qt-mt3.dll, mingw10.dll and clean_dvi.py exist.
 # It compiles the dv2dt and dt2dv utilites.
-# It compiles and installs the Aspell library.
 # It compiles and installs LyX.
-# It copies the dv2dt and dt2dv utilites, the .dlls and
-#   clean_dvi.py to the lyx package.
-# It modifies the Resources/lyx/configure script to
-#   ensure that the generated .dvi file is usable.
 
 # Once all this is done, you're ready to "package" LyX.
 # See the README for details.
 
-# The script compiles the .dll version of the Qt libraries. Linking of lyx
+# The script compiles the .dll version of the Qt libraries. Linking of LyX
 # against this will, therefore, take "some time".
 
-# It compiles the static version of the Aspell libraries because no
-# .dll version exists.
-
 # You may need to change these four variables.
 MINGW_DIR="/j/MinGW"
-QT_DIR="${HOME}"/qt3
-ASPELL_DIR="${HOME}"/aspell-0.50.5
-# A space-separated string of directories
-# ASPELL_DICT_DIRS="${HOME}/aspell-en-0.50-2 ${HOME}/aspell-de-0.50-2 "
-ASPELL_DICT_DIRS="${HOME}/aspell-en-0.50-2"
+QT_DIR="${HOME}"/Qt/3x-msys
 
 # Everything from here on down should be OK "as is".
 LYX_DIR="../../.."
@@ -57,7 +39,6 @@ LYX_INSTALL_DIR=installprefix
 
 # These are all installed in the final LyX package
 QT_DLL="${QT_DIR}/bin/qt-mt3.dll"
-LIBICONV_DLL="${MINGW_DIR}/bin/libiconv-2.dll"
 MINGW_DLL="${MINGW_DIR}/bin/mingwm10.dll"
 
 DT2DV="${DTL_DIR}/dt2dv.exe"
@@ -70,7 +51,7 @@ MV='mv -f'
 
 check_dirs_exist()
 {
-    for dir in "$QT_DIR" "$ASPELL_DIR" "$LYX_DIR" "$DTL_DIR"
+    for dir in "$QT_DIR" "$LYX_DIR" "$DTL_DIR"
     do
       test -d "$dir" || {
          echo "$dir does not exist" >&2
@@ -92,7 +73,7 @@ query_qt()
 check_files_exist()
 {
     # Check that the dlls and clean_dvi.py exist
-    for file in "${QT_DLL}" "${LIBICONV_DLL}" "${MINGW_DLL}" "${CLEAN_DVI_PY}"
+    for file in "${QT_DLL}" "${MINGW_DLL}" "${CLEAN_DVI_PY}"
     do
       test -r "${file}" || {
          echo "$file does not exist" >&2
@@ -127,93 +108,6 @@ build_dtl()
 }
 
 
-build_aspell()
-{
-    # Aspell
-    (
-       cd "$ASPELL_DIR" || {
-           echo "Unable to cd $ASPELL_DIR" >&2
-           exit 1
-       }
-
-       ./configure --enable-static --disable-shared --prefix="${ASPELL_INSTALL_DIR}" --sysconfdir="${ASPELL_INSTALL_DIR}" --enable-docdir="${ASPELL_INSTALL_DIR}/doc" --datadir="${ASPELL_INSTALL_DIR}/data" --enable-pkgdatadir="${ASPELL_INSTALL_DIR}/data" --enable-dict-dir="${ASPELL_INSTALL_DIR}/dict" --enable-win32-relocatable || {
-           echo "Failed to configure $ASPELL_DIR" >&2
-           exit 1
-       }
-
-        # We have to clean up two of the generated Makefiles.
-       TMP=tmp.$$
-       MAKEFILE=examples/Makefile
-       sed '
-# Replace "CC = gcc" with "CC = g++"
-s/^ *\(CC *= *\)gcc *$/\1g++/
-# Remove trailing "/" from the -I directory.
-s@^ *\(INCLUDES *= *-I\${top_srcdir}/interfaces/cc\)/ *$@\1@
-' "${MAKEFILE}" > "${TMP}"
-       cmp -s "${MAKEFILE}" "${TMP}" && {
-           echo "${MAKEFILE} is unchanged" 2>&1
-       } || {
-           diff -u "${MAKEFILE}" "${TMP}"
-           ${MV} "${TMP}" "${MAKEFILE}"
-       }
-       rm -f "${TMP}"
-
-       MAKEFILE=prog/Makefile
-       sed '
-# Remove trailing "/" from the -I directories.
-/^ *INCLUDES *= *-I\${top_srcdir}\/common/{
-:loop
-$!{
-N
-/\n *$/!bloop
-}
-s@/ *\(\\ *\n\)@ \1@g
-}' "${MAKEFILE}" > "${TMP}"
-       cmp -s "${MAKEFILE}" "${TMP}" && {
-           echo "${MAKEFILE} is unchanged" 2>&1
-       } || {
-           diff -u "${MAKEFILE}" "${TMP}"
-           ${MV} "${TMP}" "${MAKEFILE}"
-       }
-       rm -f "${TMP}"
-
-       make || {
-           echo "Failed to make $ASPELL_DIR" >&2
-           exit 1
-       }
-
-       rm -fr "$ASPELL_INSTALL_DIR" || {
-           echo "Failed to remove $ASPELL_INSTALL_DIR prior to installing Aspell" >&2
-           exit 1
-       }
-
-       make install || {
-           echo "Failed to install $ASPELL_DIR" >&2
-           exit 1
-       }
-    )
-}
-
-
-build_aspell_dicts()
-{
-    (
-       PATH="${LYX_ASPELL_DIR}:$PATH"
-       export PATH
-
-       for dir in $ASPELL_DICT_DIRS
-       do
-         (
-               cd $dir
-               ./configure
-               make
-               make install
-         )
-       done
-    )
-
-}
-
 modify_version_C()
 {
        VERSION_C="src/version.C"
@@ -230,7 +124,7 @@ modify_version_C()
 }
 
 
-build_lyx()
+run_automake()
 {
     (
        cd "${LYX_DIR}" || {
@@ -241,17 +135,32 @@ build_lyx()
        # Check the line endings of configure.ac
        # The configure script will be unable to create config.h if it
        # contains Win32-style line endings.
-       rm -f configure.ac
-       sed 's/\r$//' config/configure.ac > configure.ac.$$
-       cmp -s config/configure.ac configure.ac.$$ && {
+       sed 's/\r$//' configure.ac > configure.ac.$$
+       cmp -s configure.ac configure.ac.$$ && {
            rm -f configure.ac.$$
        } || {
-           mv -f configure.ac.$$ config/configure.ac
-           echo 'configure.ac has Win32-style line endings. Corrected' >&2
+           mv -f configure.ac.$$ configure.ac
+           cat <<EOF >&2
+configure.ac has Win32-style line endings. Corrected
+Please use the Cygwin flavours of the autotools to
+run autogen.sh
+EOF
+           exit 1
        }
 
-       ./autogen.sh || {
-           echo "autogen.sh failed" >&2
+#      ./autogen.sh || {
+#          echo "autogen.sh failed" >&2
+#          exit 1
+#      }
+    )
+}
+
+
+build_lyx()
+{
+    (
+       cd "${LYX_DIR}" || {
+           echo "Unable to cd ${LYX_DIR}" >&2
            exit 1
        }
 
@@ -261,7 +170,7 @@ build_lyx()
                Error "Unable to create build dir, ${BUILDDIR}."
        }
 
-       CONFIGURE="../configure --without-x --with-included-gettext --with-extra-prefix='${LYX_ASPELL_DIR}' --with-frontend=qt QTDIR='$QT_DIR'"
+       CONFIGURE="../configure --without-x --with-included-gettext --with-extra-prefix='${LYX_ASPELL_DIR}' --with-frontend=qt QTDIR='$QT_DIR' --disable-maintainer-mode --disable-debug --enable-optimization --disable-pch --disable-concept-checks --disable-stdlib-debug"
 
        echo "${CONFIGURE}"
        cd "${BUILDDIR}"
@@ -311,8 +220,7 @@ check_dirs_exist || exit 1
 query_qt || exit 1
 check_files_exist || exit 1
 build_dtl || exit 1
-build_aspell || exit 1
-build_aspell_dicts || exit 1
+run_automake || exit 1
 build_lyx || exit 1
 install_lyx || exit 1
 # The end
index 9b280622d8178a694d28fb73be7ae5ec6a8bae5c..43783df89fa9e4e75779a55596432e39e5ef0ad2 100644 (file)
@@ -11,7 +11,7 @@ Text=" Available Languages "
 
 [Field 2]
 Type=Droplist
-ListItems=Dansk|Deutsch|English|Español|Euskara|Français|Italiano|Nederlands|Norsk|Nynorsk|Polski|Româna|Russian|Slovenský|Sloven\9acina|Suomi|Türkçe
+ListItems=Dansk|Deutsch|English|Español|Euskara|Français|Italiano|Magyar nyelv|Nederlands|Norsk|Nynorsk|Polski|Româna|Russian|Slovenský|Sloven\9acina|Suomi|Türkçe
 Left=20
 Right=130
 Top=15
index 0a00133c87e2007c00969b39f08e841511e78fe1..6716b4371b1fda9846c592587ce37d56c1d4d7ee 100644 (file)
@@ -1,22 +1,24 @@
+// -*- C++ -*-
 /*
  * \file lyx_configure.C
  * This file is part of LyX, the document processor.
  * http://www.lyx.org/
  * Licence details can be found in the file COPYING or copy at
- * http://www.lyx.org/about/license.php3
-
+ * http://www.lyx.org/about/license.php
+ *
  * \author Angus Leeming
  * Full author contact details are available in file CREDITS or copy at
  * http://www.lyx.org/about/credits.php
  *
- * Define four functions that can be called from the NSIS installer:
+ * Define five functions that can be called from the NSIS installer:
  *
  * set_path_prefix [ configure_file, path_prefix ]
- * create_bat_files [ bin_dir, lang ]
+ * create_lyx_bat [ bin_dir, lang ]
+ * create_relyx_bat [ bin_dir, lang ]
  * run_configure [ configure_file, path_prefix ]
  * set_env [ var_name, var_value ]
  *
- * The quantities in [ ... ] are the variables that the functions exxpect
+ * The quantities in [ ... ] are the variables that the functions expect
  * to find on the stack. They push "-1" onto the stack on failure and "0"
  * onto the stack on success.
  *
  * g++ -I/c/Program\ Files/NSIS/Contrib -Wall -shared \
  *    lyx_configure.C -o lyx_configure.dll
  *
- * Move resulting .dll to /c/Program\ Files/NSIS/Plugins
+ * Compilation requires the exdll.h header file to be installed (here at
+ * C:\Program Files\NSIS\Contrib\ExDLL\exdll.h). The file can be obtained
+ * from http://cvs.sourceforge.net/viewcvs.py/nsis/NSIS/Contrib/ExDLL/
+ *
+ * Move the resulting lyx_configure.dll to C:\Program Files\NSIS\Plugins
  */
 
 #include <cstdio>
 #include <cstdlib>
+#include <exception>
 #include <fstream>
 #include <iostream>
 #include <list>
 #include <sstream>
+#include <stdexcept>
 #include <string>
+#include <vector>
 
 #include <windows.h>
 #include "ExDLL/exdll.h"
@@ -59,7 +68,8 @@ std::string const subst(std::string const & a,
 
 std::string const basename(std::string const & path)
 {
-       std::string::size_type const final_slash = path.find_last_of('\\');
+       // Windows recognizes both '/' and '\' as directory separators.
+       std::string::size_type const final_slash = path.find_last_of("/\\");
        return (final_slash == std::string::npos) ?
                path :
                path.substr(final_slash+1);
@@ -68,7 +78,8 @@ std::string const basename(std::string const & path)
 
 std::string const dirname(std::string const & path)
 {
-       std::string::size_type const final_slash = path.find_last_of('\\');
+       // Windows recognizes both '/' and '\' as directory separators.
+       std::string::size_type const final_slash = path.find_last_of("/\\");
        return (final_slash == std::string::npos) ?
                std::string() :
                path.substr(0, final_slash);
@@ -78,12 +89,11 @@ std::string const dirname(std::string const & path)
 std::string const pop_from_stack()
 {
        char data[10*MAX_PATH];
-       popstring(data);
-       return data;
+       return (popstring(data) == 0) ? data : std::string();
 }
 
 
-void push_to_stack(int data)
+void push_to_stack(int const data)
 {
        std::ostringstream os;
        os << data;
@@ -91,18 +101,28 @@ void push_to_stack(int data)
 }
 
 
-std::list<std::string> const tokenize(std::string data,
+std::list<std::string> const tokenize(std::string const & data,
                                      char const separator)
 {
        std::list<std::string> result;
+       std::string::size_type index = 0;
        while (true) {
-               std::string::size_type const end = data.find(separator);
+               std::string::size_type const end = data.find(separator, index);
                if (end == std::string::npos) {
-                       result.push_back(data);
+                       std::string::size_type const count =
+                               data.size() - index;
+                       std::string const elem = data.substr(index, count);
+                       if (elem.size() > 0) {
+                               result.push_back(elem);
+                       }
                        break;
                }
-               result.push_back(data.substr(0, end));
-               data = data.substr(end+1);
+               std::string::size_type const count = end - index;
+               std::string const elem = data.substr(index, count);
+               if (elem.size() > 0) {
+                       result.push_back(elem);
+               }
+               index = (end+1 == data.size()) ? std::string::npos : end + 1;
        }
        return result;
 }
@@ -141,18 +161,57 @@ std::string concatenate(std::list<std::string> const & data,
 }
 
 
-std::string const sanitize_path(std::string const & in)
+std::string const sanitize_win32_path(std::string const & in)
 {
-       // Replace multiple, adjacent directory separators.
-       std::string out = subst(in, "\\\\", "\\");
-       std::list<std::string> out_list = tokenize(out, ';');
-       remove_duplicates(out_list);
-       return concatenate(out_list, ';');
+       std::string out = subst(in, "/", "\\");
+       // Replace multiple adjacent directory separators with a single one
+       typedef std::string::size_type size_type;
+       size_type offset = 0;
+       while (offset != std::string::npos) {
+               size_type const slash = out.find_first_of('\\', offset);
+               if (slash == std::string::npos)
+                       break;
+               size_type const slash_end = out.find_first_not_of('\\', slash);
+
+               if (slash_end == std::string::npos) {
+                       // Remove all trailing '\' characters
+                       out = out.substr(0, slash);
+                       break;
+
+               } else {
+                       size_type const count = slash_end - (slash + 1);
+                       if (count > 0)
+                               out.erase(slash + 1, count);
+               }
+               offset = slash + 1;
+       }
+
+       return out;
+}
+
+
+std::string const sanitize_path_envvar(std::string const & in)
+{
+       // A Windows PATH environment variable has elements separated
+       // by a ';' character.
+       typedef std::list<std::string> string_list;
+       string_list envvar = tokenize(in, ';');
+
+       // Ensure that each PATH element uses '\' directory separators
+       // and doesn't end in a '\'.
+       string_list::iterator const end = envvar.end();
+       for (string_list::iterator it = envvar.begin(); it != end; ++it) {
+               std::string const new_path = sanitize_win32_path(*it);
+               *it = new_path;
+       }
+
+       remove_duplicates(envvar);
+       return concatenate(envvar, ';');
 }
 
 
 bool replace_path_prefix(std::string & data,
-                        std::string::size_type prefix_pos,
+                        std::string::size_type const prefix_pos,
                         std::string const & path_prefix)
 {
        std::string::size_type start_prefix =
@@ -173,8 +232,11 @@ bool replace_path_prefix(std::string & data,
 
        std::string::size_type const count = end_prefix - start_prefix;
        std::string const old_prefix = data.substr(start_prefix, count);
+       // The configure script needs to see '\\' for each '\' directory
+       // separator.
        std::string const prefix =
-               subst(sanitize_path(path_prefix + ';' + old_prefix), "\\", "\\\\");
+               subst(sanitize_path_envvar(path_prefix + ';' + old_prefix),
+                     "\\", "\\\\");
 
        data.erase(start_prefix, count);
        data.insert(start_prefix, prefix);
@@ -184,7 +246,7 @@ bool replace_path_prefix(std::string & data,
 
 
 bool insert_path_prefix(std::string & data,
-                       std::string::size_type xfonts_pos,
+                       std::string::size_type const xfonts_pos,
                        std::string const & path_prefix)
 {
        std::string::size_type const xfonts_start =
@@ -193,7 +255,11 @@ bool insert_path_prefix(std::string & data,
        if (xfonts_start == std::string::npos)
                return false;
 
-       std::string const prefix = subst(sanitize_path(path_prefix), "\\", "\\\\");
+       // The configure script needs to see '\\' for each '\' directory
+       // separator.
+       std::string const prefix =
+               subst(sanitize_path_envvar(path_prefix), "\\", "\\\\");
+
        std::ostringstream ss;
        ss << data.substr(0, xfonts_start)
           << "\n"
@@ -208,14 +274,62 @@ bool insert_path_prefix(std::string & data,
 }
 
 
+bool write_bat(std::ostream & os, std::string const & quoted_exe)
+{
+       os << "if \"%~1\" == \"~1\" goto win95\n"
+          << quoted_exe << " %*\n"
+          << "goto end\n"
+          << ":win95\n"
+          << quoted_exe << " %1 %2 %3 %4 %5 %6 %7 %8 %9\n"
+          << ":end\n";
+
+       return os;
+}
+
+
+// A wrapper for GetEnvironmentVariable
+bool get_environment_variable(std::string const & var, std::string & val)
+{
+       if (var.empty())
+               return false;
+
+       std::vector<char> cval(MAX_PATH, '\0');
+       DWORD size = GetEnvironmentVariable(var.c_str(),
+                                           &*cval.begin(),
+                                           cval.size());
+
+       if (size == 0)
+               // The specified variable was not found.
+               return false;
+
+       if (size > cval.size()) {
+               // Insufficient size in the buffer to store the var
+               // so resize to the required size.
+               cval.resize(size, '\0');
+               size = GetEnvironmentVariable(var.c_str(),
+                                             &*cval.begin(),
+                                             cval.size());
+               if (size == 0 || size > cval.size())
+                       // Give up
+                       return false;
+       }
+
+       val.assign(cval.begin(), cval.begin() + size);
+       return true;
+}
+
+
 // Inserts code into "configure" to output "path_prefix" to lyxrc.defaults.
-// \returns 0 on success, -1 on failure
-int set_path_prefix(std::string const & configure_file,
-                   std::string const & path_prefix)
+// Throws std::runtime_error on failure.
+void set_path_prefix(std::string const & configure_file,
+                    std::string const & path_prefix)
 {
        std::ifstream ifs(configure_file.c_str());
-       if (!ifs)
-               return -1;
+       if (!ifs) {
+               std::ostringstream ss;
+               ss << "Unable to open " << configure_file << " for reading";
+               throw std::runtime_error(ss.str());
+       }
 
        std::istreambuf_iterator<char> const begin_ifs(ifs);
        std::istreambuf_iterator<char> const end_ifs;
@@ -227,98 +341,143 @@ int set_path_prefix(std::string const & configure_file,
        std::string::size_type const prefix_pos =
                configure_data.find("path_prefix");
        if (prefix_pos != std::string::npos) {
-               if (!replace_path_prefix(configure_data, prefix_pos, path_prefix))
-                       return -1;
+               if (!replace_path_prefix(configure_data, prefix_pos, path_prefix)) {
+                       std::ostringstream ss;
+                       ss << "Unable to replace the existing path_prefix in "
+                          << configure_file;
+                       throw std::runtime_error(ss.str());
+               }
        } else {
                std::string::size_type const xfonts_pos =
-                       configure_data.find("X FONTS");
-
-               if (xfonts_pos == std::string::npos)
-                       return -1;
+                       configure_data.find("if [ \"x$use_cygwin_path_fix");
+
+               if (xfonts_pos == std::string::npos) {
+                       std::ostringstream ss;
+                       ss << "Unable to find a position to insert the "
+                             "path_prefix entry in "
+                          << configure_file;
+                       throw std::runtime_error(ss.str());
+               }
 
-               if (!insert_path_prefix(configure_data, xfonts_pos, path_prefix))
-                       return -1;
+               if (!insert_path_prefix(configure_data, xfonts_pos, path_prefix)) {
+                       std::ostringstream ss;
+                       ss << "Unable to insert a new path_prefix in "
+                          << configure_file;
+                       throw std::runtime_error(ss.str());
+               }
        }
 
        std::ofstream ofs(configure_file.c_str());
-       if (!ofs)
-               return -1;
+       if (!ofs) {
+               std::ostringstream ss;
+               ss << "Unable to open " << configure_file << " for writing";
+               throw std::runtime_error(ss.str());
+       }
 
        ofs << configure_data;
-       return 0;
-}
-
-
-bool write_bat(std::ostream & os, std::string const & quoted_exe)
-{
-       os << "if \"%~1\" == \"~1\" goto win95\n"
-          << quoted_exe << " %*\n"
-          << "goto end\n"
-          << ":win95\n"
-          << quoted_exe << " %1 %2 %3 %4 %5 %6 %7 %8 %9\n"
-          << ":end\n";
-
-       return os;
+       if (!ofs) {
+               std::ostringstream ss;
+               ss << "Failed to write " << configure_file;
+               throw std::runtime_error(ss.str());
+       }
 }
 
 
-// Creates the files lyx.bat and reLyX.bat in the LyX\bin folder.
-// \returns 0 on success, -1 on failure
-int create_bat_files(std::string const & bin_dir, std::string const & lang)
+// Creates the lyx.bat file in the LyX\bin folder.
+// Throws std::runtime_error on failure.
+void create_lyx_bat(std::string const & bin_dir, std::string const & lang)
 {
        std::string const lyx_bat_file = bin_dir + "\\lyx.bat";
-       std::ofstream lyx_bat(lyx_bat_file.c_str());
-       if (!lyx_bat)
-               return -1;
+       std::ofstream ofs(lyx_bat_file.c_str());
+       if (!ofs) {
+               std::ostringstream ss;
+               ss << "Unable to unable to open "
+                  << lyx_bat_file << " for writing";
+               throw std::runtime_error(ss.str());
+       }
 
-       lyx_bat << "@echo off\n"
-               << "if \"%LANG%\"==\"\" SET LANG=" << lang << "\n";
+       ofs << "@echo off\n"
+           << "if \"%LANG%\"==\"\" SET LANG=" << lang << "\n";
 
        std::string const lyx_exe_file = bin_dir + "\\lyx.exe";
-       if (!write_bat(lyx_bat, "start \"LyX\" \"" + lyx_exe_file + "\""))
-               return -1;
+       if (!write_bat(ofs, "start \"LyX\" \"" + lyx_exe_file + "\"")) {
+               std::ostringstream ss;
+               ss << "Failed to write to " << lyx_bat_file;
+               throw std::runtime_error(ss.str());
+       }
+}
 
+
+// Creates the reLyX.bat file in the LyX\bin folder.
+// Throws std::runtime_error on failure.
+void create_relyx_bat(std::string const & bin_dir, std::string const & lang)
+{
        std::string const relyx_bat_file = bin_dir + "\\reLyX.bat";
-       std::ofstream relyx_bat(relyx_bat_file.c_str());
-       if (!relyx_bat)
-               return -1;
+       std::ofstream ofs(relyx_bat_file.c_str());
+       if (!ofs) {
+               std::ostringstream ss;
+               ss << "Unable to unable to open "
+                  << relyx_bat_file << " for writing";
+               throw std::runtime_error(ss.str());
+       }
 
        std::string relyx_file = bin_dir + "\\reLyX";
        std::string relyx = "perl.exe \"" + relyx_file + "\"";
-       if (!write_bat(relyx_bat, "perl.exe \"" + relyx_file + "\""))
-               return -1;
-       return 0;
+       if (!write_bat(ofs, "perl.exe \"" + relyx_file + "\"")) {
+               std::ostringstream ss;
+               ss << "Failed to write to " << relyx_bat_file;
+               throw std::runtime_error(ss.str());
+       }
 }
 
 
 // Runs "sh configure" to generate things like lyxrc.defaults.
-// \returns 0 on success, -1 on failure
-int run_configure(std::string const & abs_configure_file,
-                 std::string const & path_prefix)
+// Throws std::runtime_error on failure.
+void run_configure(std::string const & abs_configure_file_in,
+                  std::string const & path_prefix)
 {
+       std::string const abs_configure_file =
+               sanitize_win32_path(abs_configure_file_in);
        std::string const configure_dir = dirname(abs_configure_file);
        std::string const configure_file = basename(abs_configure_file);
 
-       if (configure_dir.empty())
-               return -1;
-
-       if (SetCurrentDirectory(configure_dir.c_str()) == 0)
-               return -1;
+       if (configure_file.empty() || configure_dir.empty()) {
+               std::ostringstream ss;
+               ss << "Invalid path to configure file: "
+                  << abs_configure_file;
+               throw std::runtime_error(ss.str());
+       }
 
-       char path_orig[10*MAX_PATH];
-       if (GetEnvironmentVariable("PATH", path_orig, 10*MAX_PATH) == 0)
-               return -1;
+       if (SetCurrentDirectory(configure_dir.c_str()) == 0) {
+               std::ostringstream ss;
+               ss << "Unable to cd "<< configure_dir;
+               throw std::runtime_error(ss.str());
+       }
 
-       std::string const path = path_prefix + ';' + path_orig;
-       if (SetEnvironmentVariable("PATH", path.c_str()) == 0)
-               return -1;
+       std::string path;
+       if (!get_environment_variable("PATH", path)) {
+               std::ostringstream ss;
+               ss << "Unable to grab the PATH environment variable";
+               throw std::runtime_error(ss.str());
+       }
+       path = sanitize_path_envvar(path_prefix + ';' + path);
+       if (SetEnvironmentVariable("PATH", path.c_str()) == 0) {
+               std::ostringstream ss;
+               ss << "Failed to set the PATH environment variable to:\n"
+                  << path << '\n';
+               throw std::runtime_error(ss.str());
+       }
 
        // Even "start /WAIT /B sh.exe configure" returns
        // before the script is done, so just invoke "sh" directly.
+
+       // Assumes that configure_file does not need quoting.
        std::string const command = std::string("sh.exe ") + configure_file;
-       if (system(command.c_str()) != 0)
-               return -1;
-       return 0;
+       if (system(command.c_str()) != 0) {
+               std::ostringstream ss;
+               ss << "Failed to run: " << command;
+               throw std::runtime_error(ss.str());
+       }
 }
 
 } // namespace anon
@@ -330,9 +489,9 @@ int run_configure(std::string const & abs_configure_file,
 //                                           //
 //===========================================//
 
-BOOL WINAPI DllMain(HANDLE hInst,
-                   ULONG ul_reason_for_call,
-                   LPVOID lpReserved)
+BOOL WINAPI DllMain(HANDLE /*hInst*/,
+                   ULONG /*ul_reason_for_call*/,
+                   LPVOID /*lpReserved*/)
 {
        return TRUE;
 }
@@ -340,66 +499,139 @@ BOOL WINAPI DllMain(HANDLE hInst,
 
 // Inserts code into "configure" to output "path_prefix" to lyxrc.defaults.
 extern "C"
-void __declspec(dllexport) set_path_prefix(HWND hwndParent,
-                                          int string_size,
-                                          char * variables,
-                                          stack_t ** stacktop)
+void __declspec(dllexport) set_path_prefix(HWND const /*hwndParent*/,
+                                          int const string_size,
+                                          char * const variables,
+                                          stack_t ** const stacktop)
 {
        EXDLL_INIT();
 
        std::string const configure_file = pop_from_stack();
        std::string const path_prefix = pop_from_stack();
+       if (configure_file.empty() || path_prefix.empty()) {
+               push_to_stack(-1);
+               return;
+       }
+
+       int result = 0;
+       try {
+               set_path_prefix(configure_file, path_prefix);
+       }
+       catch(std::exception const & ex) {
+               std::cerr << "ERROR: set_path_prefix:\n\t"
+                         << ex.what() << '\n';
+               result = -1;
+       }
+
+       push_to_stack(result);
+}
+
+
+// Creates the lyx.bat file in the LyX\bin folder.
+extern "C"
+void __declspec(dllexport) create_lyx_bat(HWND const /*hwndParent*/,
+                                         int const string_size,
+                                         char * const variables,
+                                         stack_t ** const stacktop)
+{
+       EXDLL_INIT();
+
+       std::string const bin_dir = pop_from_stack();
+       std::string const lang = pop_from_stack();
+       if (bin_dir.empty() || lang.empty()) {
+               push_to_stack(-1);
+               return;
+       }
+
+       int result = 0;
+       try {
+               create_lyx_bat(bin_dir, lang);
+       }
+       catch(std::exception const & ex) {
+               std::cerr << "ERROR: create_lyx_bat:\n\t"
+                         << ex.what() << '\n';
+               result = -1;
+       }
 
-       int const result = set_path_prefix(configure_file, path_prefix);
        push_to_stack(result);
 }
 
 
-// Creates the files lyx.bat and reLyX.bat in the LyX\bin folder.
+// Creates the reLyX.bat file in the LyX\bin folder.
 extern "C"
-void __declspec(dllexport) create_bat_files(HWND hwndParent,
-                                           int string_size,
-                                           char * variables,
-                                           stack_t ** stacktop)
+void __declspec(dllexport) create_relyx_bat(HWND const /*hwndParent*/,
+                                           int const string_size,
+                                           char * const variables,
+                                           stack_t ** const stacktop)
 {
        EXDLL_INIT();
 
        std::string const bin_dir = pop_from_stack();
        std::string const lang = pop_from_stack();
+       if (bin_dir.empty() || lang.empty()) {
+               push_to_stack(-1);
+               return;
+       }
+
+       int result = 0;
+       try {
+               create_relyx_bat(bin_dir, lang);
+       }
+       catch(std::exception const & ex) {
+               std::cerr << "ERROR: create_relyx_bat:\n\t"
+                         << ex.what() << '\n';
+               result = -1;
+       }
 
-       int const result = create_bat_files(bin_dir, lang);
        push_to_stack(result);
 }
 
 
 // Runs "sh configure" to generate things like lyxrc.defaults.
 extern "C"
-void __declspec(dllexport) run_configure(HWND hwndParent,
-                                        int string_size,
-                                        char * variables,
-                                        stack_t ** stacktop)
+void __declspec(dllexport) run_configure(HWND const /*hwndParent*/,
+                                        int const string_size,
+                                        char * const variables,
+                                        stack_t ** const stacktop)
 {
        EXDLL_INIT();
 
        std::string const configure_file = pop_from_stack();
        std::string const path_prefix = pop_from_stack();
+       if (configure_file.empty() || path_prefix.empty()) {
+               push_to_stack(-1);
+               return;
+       }
+
+       int result = 0;
+       try {
+               run_configure(configure_file, path_prefix);
+       }
+       catch(std::exception const & ex) {
+               std::cerr << "ERROR: run_configure:\n\t"
+                         << ex.what() << '\n';
+               result = -1;
+       }
 
-       int const result = run_configure(configure_file, path_prefix);
        push_to_stack(result);
 }
 
 
-// Set an environment variable
+// Set an environment variable.
 extern "C"
-void __declspec(dllexport) set_env(HWND hwndParent,
-                                  int string_size,
-                                  char * variables,
-                                  stack_t ** stacktop)
+void __declspec(dllexport) set_env(HWND const /*hwndParent*/,
+                                  int const string_size,
+                                  char * const variables,
+                                  stack_t ** const stacktop)
 {
        EXDLL_INIT();
 
        std::string const var_name = pop_from_stack();
        std::string const var_value = pop_from_stack();
+       if (var_name.empty() || var_value.empty()) {
+               push_to_stack(-1);
+               return;
+       }
 
        // Function returns a nonzero value on success.
        int const result =
index 2f9fffbbdb6346dcda39b837993f711f87bc60cc..67cbc4be1e07b625794b77bec6fbc136687f1723 100644 (file)
@@ -26,7 +26,7 @@ SetCompressor lzma
 ; You should need to change only these macros...
 
 !define PRODUCT_NAME "LyX"
-!define PRODUCT_VERSION "1.3.6"
+!define PRODUCT_VERSION "1.4.0"
 !define PRODUCT_LICENSE_FILE "..\..\..\..\COPYING"
 !define PRODUCT_SOURCEDIR "..\..\..\..\build\installprefix"
 !define PRODUCT_EXE "$INSTDIR\bin\lyx.exe"
@@ -35,7 +35,7 @@ SetCompressor lzma
 !define PRODUCT_MIME_TYPE "application/lyx"
 !define PRODUCT_UNINSTALL_EXE "$INSTDIR\uninstall.exe"
 
-!define INSTALLER_EXE "lyx_setup_136.exe"
+!define INSTALLER_EXE "lyx_setup_140.exe"
 !define INSTALLER_ICON "..\icons\lyx_32x32.ico"
 
 ; Replaced by HKLM or HKCU depending on SetShellVarContext.
@@ -100,10 +100,6 @@ Var DoNotRequireMiKTeX
 Var MiKTeXPath
 Var DownloadMiKTeX
 
-Var DoNotRequirePerl
-Var PerlPath
-Var DownloadPerl
-
 Var DoNotRequireGhostscript
 Var GhostscriptPath
 Var DownloadGhostscript
@@ -113,7 +109,6 @@ Var ImageMagickPath
 Var DownloadImageMagick
 
 Var PDFViewerPath
-Var PDFViewerProg
 
 Var PSViewerPath
 Var PSViewerProg
@@ -146,7 +141,6 @@ Var LangCode
 Page custom DownloadMinSYS DownloadMinSYS_LeaveFunction
 Page custom DownloadPython DownloadPython_LeaveFunction
 Page custom DownloadMiKTeX DownloadMiKTeX_LeaveFunction
-Page custom DownloadPerl DownloadPerl_LeaveFunction
 Page custom DownloadGhostscript DownloadGhostscript_LeaveFunction
 Page custom DownloadImageMagick DownloadImageMagick_LeaveFunction
 Page custom SummariseDownloads SummariseDownloads_LeaveFunction
@@ -173,6 +167,7 @@ Page custom SelectMenuLanguage SelectMenuLanguage_LeaveFunction
 !insertmacro MUI_PAGE_INSTFILES
 
 !define MUI_FINISHPAGE_RUN
+!define MUI_FINISHPAGE_TEXT_LARGE
 !define MUI_FINISHPAGE_TEXT "$(FinishPageMessage)"
 !define MUI_FINISHPAGE_RUN_TEXT "$(FinishPageRun)"
 !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchProduct"
@@ -191,6 +186,7 @@ Page custom SelectMenuLanguage SelectMenuLanguage_LeaveFunction
 !insertmacro MUI_LANGUAGE "French"
 !insertmacro MUI_LANGUAGE "Italian"
 !insertmacro MUI_LANGUAGE "Dutch"
+!insertmacro MUI_LANGUAGE "Polish"
 !insertmacro MUI_LANGUAGE "Swedish"
 
 !include "lyx_languages\english.nsh"
@@ -199,6 +195,7 @@ Page custom SelectMenuLanguage SelectMenuLanguage_LeaveFunction
 !include "lyx_languages\french.nsh"
 !include "lyx_languages\german.nsh"
 !include "lyx_languages\italian.nsh"
+!include "lyx_languages\polish.nsh"
 !include "lyx_languages\spanish.nsh"
 !include "lyx_languages\swedish.nsh"
 
@@ -246,20 +243,20 @@ Section "-Installation actions" SecInstallation
   File /r "${PRODUCT_SOURCEDIR}\bin"
 
   ${if} "$PathPrefix" != ""
-    lyx_configure::set_path_prefix "$INSTDIR\Resources\lyx\configure" "$PathPrefix"
+    lyx_configure::set_path_prefix "$INSTDIR\Resources\configure" "$PathPrefix"
     Pop $0
     ${if} $0 != 0
       MessageBox MB_OK "$(ModifyingConfigureFailed)"
     ${endif}
   ${endif}
 
-  lyx_configure::create_bat_files "$INSTDIR\bin" "$LangCode"
+  lyx_configure::create_lyx_bat "$INSTDIR\bin" "$LangCode"
   Pop $0
   ${if} $0 != 0
     MessageBox MB_OK "$(CreateCmdFilesFailed)"
   ${endif}
 
-  lyx_configure::run_configure "$INSTDIR\Resources\lyx\configure" "$PathPrefix"
+  lyx_configure::run_configure "$INSTDIR\Resources\configure" "$PathPrefix"
   Pop $0
   ${if} $0 != 0
     MessageBox MB_OK "$(RunConfigureFailed)"
@@ -345,7 +342,6 @@ Function .onInit
   Call SearchMinSYS
   Call SearchPython
   Call SearchMiKTeX
-  Call SearchPerl
   Call SearchGhostscript
   Call SearchImageMagick
   Call SearchPDFViewer
@@ -518,42 +514,6 @@ FunctionEnd
 
 ;--------------------------------
 
-; Sets the value of the global $PerlPath variable.
-Function SearchPerl
-  ${SearchRegistry} \
-      $PerlPath \
-      "Software\Perl" \
-      BinDir \
-      "\perl.exe" \
-      ""
-FunctionEnd
-
-Function DownloadPerl
-  StrCpy $DoNotRequirePerl "1"
-  StrCpy $DownloadPerl "1"
-
-  ${DownloadEnter} \
-      $PerlPath \
-      1 \
-      "$(PerlDownloadLabel)" \
-      "$(PerlFolderLabel)" \
-      "$(PerlHeader)" \
-      "$(PerlDescription)"
-FunctionEnd
-
-Function DownloadPerl_LeaveFunction
-  ${DownloadLeave} \
-      $DoNotRequirePerl \
-      $DownloadPerl \
-      $PerlPath \
-      "http://www.activestate.com/Products/ActivePerl/" \
-      "$(EnterPerlFolder)" \
-      "perl.exe" \
-      "$(InvalidPerlFolder)"
-FunctionEnd
-
-;--------------------------------
-
 ; Sets the value of the global $GhostscriptPath variable.
 Function SearchGhostscript
   ; This function manipulates the $0 and $1 registers,
@@ -664,35 +624,33 @@ FunctionEnd
 
 ;--------------------------------
 
-; Sets the value of the global $PDFViewerPath and $PDFViewerProg variables.
+; Sets the value of the global $PDFViewerPath variable.
 Function SearchPDFViewer
+  ; test if a pdf-viewer is installed, only test for Acrobat, Adobe Reader (AroRD32), and GSview32
   StrCpy $PDFViewerPath ""
-  !insertmacro GetFileExtProg $PDFViewerPath $PDFViewerProg ".pdf" "a"
+  ReadRegStr $PDFViewerPath HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\Acrobat.exe" "Path"
+  ${if} $PDFViewerPath == ""
+   ReadRegStr $PDFViewerPath HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\AcroRd32.exe" "Path"
+  ${endif}
+  ${if} $PDFViewerPath == ""
+   ReadRegStr $PDFViewerPath HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\gsview32.exe" "Path"
+  ${endif}
+  StrCpy $0 $PDFViewerPath "" -1 ;remove the "\" at the end
+  ${if} $0 == "\"
+   StrCpy $PDFViewerPath $PDFViewerPath -1
+  ${endif}
 FunctionEnd
 
 ;--------------------------------
 
 Function SearchPSViewer
-  ; This function manipulates the $0 and $1 registers,
-  ; so push their current content onto the stack.
+  ; This function manipulates the $0 register,
+  ; so push its current content onto the stack.
   Push $0
-  Push $1
 
+  ; test if a ps-viewer is installed, only check for GSview32
   StrCpy $PSViewerPath ""
-  StrCpy $0 ""
-  StrCpy $1 ""
-  !insertmacro GetFileExtProg $PSViewerPath $PSViewerProg ".ps" "a"
-  ${if} $PSViewerPath != ""
-    StrCpy $0 $PSViewerPath
-    StrCpy $0 $0 "" -8
-  ${endif}
-  ${if} $0 == "Distillr"
-    !insertmacro GetFileExtProg $0 $1 ".ps" "b"
-    ${if} $1 != ""
-      StrCpy $PSViewerPath $0
-      StrCpy $PSViewerProg $1
-    ${endif}
-  ${endif}
+  ReadRegStr $PSViewerPath HKLM "Software\Microsoft\Windows\CurrentVersion\App Paths\gsview32.exe" "Path"
 
   ; Failed to find anything that way. Try another.
   ${if} $PSViewerPath == ""
@@ -709,8 +667,7 @@ Function SearchPSViewer
     ${StrStrAdv} $PSViewerProg $PSViewerProg "\" "<" ">" "0" "0" "0"
   ${endif}
 
-  ; Return the $0 and $1 registers to their original states
-  Pop $1
+  ; Return the $0 register to its original states
   Pop $0
 FunctionEnd
 
@@ -728,9 +685,6 @@ Function SummariseDownloads
   ${if} $MiKTeXPath != ""
     StrCpy $PathPrefix "$PathPrefix;$MiKTeXPath"
   ${endif}
-  ${if} $PerlPath != ""
-    StrCpy $PathPrefix "$PathPrefix;$PerlPath"
-  ${endif}
   ${if} $GhostscriptPath != ""
     StrCpy $PathPrefix "$PathPrefix;$GhostscriptPath"
   ${endif}
@@ -742,7 +696,6 @@ Function SummariseDownloads
 
   IntOp $DoNotInstallLyX $DownloadMinSYS + $DownloadPython
   IntOp $DoNotInstallLyX $DoNotInstallLyX + $DownloadMiKTeX
-  IntOp $DoNotInstallLyX $DoNotInstallLyX + $DownloadPerl
   IntOp $DoNotInstallLyX $DoNotInstallLyX + $DownloadGhostscript
   IntOp $DoNotInstallLyX $DoNotInstallLyX + $DownloadImageMagick
 
@@ -773,6 +726,7 @@ Function SelectMenuLanguage
   ;tranlate NSIS's language code to the language name; macro from lyx_utils.nsh
   !insertmacro TranslateLangCode $LangName $Language
 
+  !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 1" "State" "$(UILanguageAvailableLanguages)"
   !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "$LangName"
 
   !insertmacro MUI_HEADER_TEXT "$(UILangageTitle)" "$(UILangageDescription)"
@@ -837,11 +791,15 @@ Section Uninstall
 
   Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
 
-  DeleteRegKey "HKCU" "${PRODUCT_UNINST_KEY}\Installer Language"
+  DeleteRegKey "HKCU" "${PRODUCT_UNINST_KEY}"
   DeleteRegKey ${PRODUCT_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
   DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
+  DeleteRegKey HKCR "Applications\lyx.exe"
+  DeleteRegKey HKCR "Applications\lyx.bat"
 
+  ; remove extension .lyx
   ${RemoveFileAssociation} "${PRODUCT_EXT}" "${PRODUCT_NAME}"
+  DeleteRegKey HKCR "${PRODUCT_NAME}"
 
   SetAutoClose true
 SectionEnd
index f68a31fcf48a6ff045a65c65c5d10de869e548b1..02a822607be35e5500d5092890b88834d526e35a 100644 (file)
@@ -18,7 +18,7 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Opret association mellem LyX o
 LangString SecDesktopDescription "${LYX_LANG}" "Et ${PRODUCT_NAME} ikon på skrivebordet"
 
 LangString ModifyingConfigureFailed "${LYX_LANG}" "Forsøget på at indstille 'path_prefix' i konfigurationen mislykkedes"
-LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
+LangString CreateCmdFilesFailed "${LYX_LANG}" "Det lykkedes ikke at oprette lyx.cms og reLyx.cmd"
 LangString RunConfigureFailed "${LYX_LANG}" "Mislykket forsøg på at afvikle konfigurations-scriptet"
 
 LangString FinishPageMessage "${LYX_LANG}" "Tillykke!! LyX er installeret."
@@ -47,12 +47,6 @@ LangString InvalidMiKTeXFolder "${LYX_LANG}" "Kunne ikke finde latex.exe"
 LangString MiKTeXDownloadLabel "${LYX_LANG}" "&Hent MiKTeX"
 LangString MiKTeXFolderLabel "${LYX_LANG}" "&Mappen som indeholder latex.exe"
 
-LangString PerlHeader "${LYX_LANG}" "Perl"
-LangString PerlDescription "${LYX_LANG}" "Hvis du forventer at skulle bruge reLyX til at konvertere LaTeX- til LyX-dokumenter, skal du installere Perl (www.perl.com)."
-LangString EnterPerlFolder "${LYX_LANG}" "Angiv stien til mappen som indeholder Perl.exe"
-LangString InvalidPerlFolder "${LYX_LANG}" "Kunne ikke finde Perl.exe"
-LangString PerlDownloadLabel "${LYX_LANG}" "&Hent Perl"
-LangString PerlFolderLabel "${LYX_LANG}" "&Mappen som indeholder perl.exe"
 
 LangString ImageMagickHeader "${LYX_LANG}" "ImageMagick"
 LangString ImageMagickDescription "${LYX_LANG}" "ImageMagick (www.imagemagick.org/script/index.php) bruges til at konvertere grafik-filer til forskellige slutformater."
@@ -72,8 +66,9 @@ LangString SummaryTitle "${LYX_LANG}" "Software - sammendrag"
 LangString SummaryPleaseInstall "${LYX_LANG}" "Installer de filer du har downloaded, og kør så LyX's installationsprogram igen."
 LangString SummaryPathPrefix "${LYX_LANG}" "Jeg tilføjer en 'path_prefix' streng til 'lyxrc.defaults' som indeholder:"
 
-LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
-LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
+LangString UILangageTitle "${LYX_LANG}" "Sprogvalg for LyXs brugergrænseflade"
+LangString UILangageDescription "${LYX_LANG}" "Bruges til menuer, beskeder etc."
+LangString UILanguageAvailableLanguages "${LYX_LANG}" " Tilgængelige sprog "
 
 LangString UnNotInRegistryLabel "${LYX_LANG}" "Kunne ikke finde $(^Name) i registreringsdatabsen$\r$\nGenvejene på skrivebordet og i Start-menuen bliver ikke fjernet"
 LangString UnNotAdminLabel "${LYX_LANG}" "Beklager! Du skal have administrator-rettigheder$\r$\nfor at afinstallere$(^Name)."
index daa8c151c59257f6e3d17b97bd4117a61c67d453..d099274157e6cad98b95828b28c22270ad0b8ad2 100644 (file)
@@ -17,11 +17,11 @@ LangString SecAllUsersDescription "${LYX_LANG}" "Installeer voor alle gebruikers
 LangString SecFileAssocDescription "${LYX_LANG}" "Associeer het LyX programma met de .lyx extensie."
 LangString SecDesktopDescription "${LYX_LANG}" "Een ${PRODUCT_NAME} pictogram op het Bureaublad."
 
-LangString ModifyingConfigureFailed "${LYX_LANG}" "Mislukte poging om 'path_prefix' te registreren tijdens de configuratie"
-LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
+LangString ModifyingConfigureFailed "${LYX_LANG}" "'path_prefix' kon niet worden geregistreerd tijdens de configuratie"
+LangString CreateCmdFilesFailed "${LYX_LANG}" "lyx.cmd en reLyX.cmd konden niet worden aangemaakt"
 LangString RunConfigureFailed "${LYX_LANG}" "Mislukte configuratie poging"
 
-LangString FinishPageMessage "${LYX_LANG}" "Gefeliciteerd! LyX is succesvol geinstalleerd."
+LangString FinishPageMessage "${LYX_LANG}" "LyX is nu geinstalleerd. Sommige gebruikers hebben echter gemeld dat het configuratie script niet is uitgevoerd waardoor LyX afbreekt met de melding dat het bestand textclass.lst ontbreekt. Ga, om dit te herstellen, in de commando prompt naar het LyX/Resources/lyx pad en voer het commando 'sh configure' uit."
 LangString FinishPageRun "${LYX_LANG}" "Start LyX"
 
 LangString DownloadPageField2 "${LYX_LANG}" "&Niet installeren"
@@ -47,12 +47,6 @@ LangString InvalidMiKTeXFolder "${LYX_LANG}" "latex.exe is niet gevonden"
 LangString MiKTeXDownloadLabel "${LYX_LANG}" "&Haal MiKTeX op"
 LangString MiKTeXFolderLabel "${LYX_LANG}" "&Map met latex.exe"
 
-LangString PerlHeader "${LYX_LANG}" "Perl"
-LangString PerlDescription "${LYX_LANG}" "Als u van plan bent  reLyX te gebruiken om LaTeX documenten naar LyX documenten te converteren, dan moet u Perl (www.perl.com) installeren."
-LangString EnterPerlFolder "${LYX_LANG}" "Voer het pad in naar de map met Perl.exe"
-LangString InvalidPerlFolder "${LYX_LANG}" "Perl.exe is niet gevonden"
-LangString PerlDownloadLabel "${LYX_LANG}" "&Haal Perl op"
-LangString PerlFolderLabel "${LYX_LANG}" "&Map met perl.exe"
 
 LangString ImageMagickHeader "${LYX_LANG}" "ImageMagick"
 LangString ImageMagickDescription "${LYX_LANG}" "ImageMagick (www.imagemagick.org/script/index.php) kan worden gebruikt om grafische bestanden te converteren (afhankelijk van gewenste output)."
@@ -72,8 +66,9 @@ LangString SummaryTitle "${LYX_LANG}" "Software samenvatting"
 LangString SummaryPleaseInstall "${LYX_LANG}" "Installeer de opgehaalde bestanden en start vervolgens het LyX installatie programma nogmaals  om de installatie af te ronden."
 LangString SummaryPathPrefix "${LYX_LANG}" "Ik voeg een 'path_prefix' tekst aan 'lyxrc.defaults' toe met:"
 
-LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
-LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
+LangString UILangageTitle "${LYX_LANG}" "De taal van LyX's interface"
+LangString UILangageDescription "${LYX_LANG}" "als gebruikt voor menu's, waarschuwingen, etc."
+LangString UILanguageAvailableLanguages "${LYX_LANG}" " beschikbare talen "
 
 LangString UnNotInRegistryLabel "${LYX_LANG}" "$(^Name) is niet gevonden in het Windows register$\r$\nSnelkoppelingen op het Bureaublad en in het Start Menu worden niet verwijderd."
 LangString UnNotAdminLabel "${LYX_LANG}" "Sorry! U heeft systeembeheer rechten nodig$\r$\nom $(^Name) te verwijderen."
index 362453d6e91760c247ed9a6be925c950bbd47100..2f2f4392deee027079d78439bf347c5fb46b5612 100644 (file)
@@ -18,10 +18,10 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Create associations between th
 LangString SecDesktopDescription "${LYX_LANG}" "A ${PRODUCT_NAME} icon on the desktop."
 
 LangString ModifyingConfigureFailed "${LYX_LANG}" "Failed attempting to set 'path_prefix' in the configure script"
-LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
+LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed attempting to create lyx.cmd and reLyX.cmd"
 LangString RunConfigureFailed "${LYX_LANG}" "Failed attempting to execute the configure script"
 
-LangString FinishPageMessage "${LYX_LANG}" "Congratulations! LyX has been installed successfully."
+LangString FinishPageMessage "${LYX_LANG}" "LyX should now be installed. However, some of our users report that the configure script fails to run and, as a result, LyX fails to start, reporting a missing textclass.lst file. To fix, run the command: 'sh configure' from the LyX/Resources/lyx directory."
 LangString FinishPageRun "${LYX_LANG}" "Launch LyX"
 
 LangString DownloadPageField2 "${LYX_LANG}" "&Do not install"
@@ -47,12 +47,6 @@ LangString InvalidMiKTeXFolder "${LYX_LANG}" "Unable to find latex.exe"
 LangString MiKTeXDownloadLabel "${LYX_LANG}" "&Download MiKTeX"
 LangString MiKTeXFolderLabel "${LYX_LANG}" "&Folder containing latex.exe"
 
-LangString PerlHeader "${LYX_LANG}" "Perl"
-LangString PerlDescription "${LYX_LANG}" "If you plan on using reLyX to convert LaTeX documents to LyX ones, then you should install Perl (www.perl.com)."
-LangString EnterPerlFolder "${LYX_LANG}" "Please input the path to the folder containing Perl.exe"
-LangString InvalidPerlFolder "${LYX_LANG}" "Unable to find Perl.exe"
-LangString PerlDownloadLabel "${LYX_LANG}" "&Download Perl"
-LangString PerlFolderLabel "${LYX_LANG}" "&Folder containing perl.exe"
 
 LangString ImageMagickHeader "${LYX_LANG}" "ImageMagick"
 LangString ImageMagickDescription "${LYX_LANG}" "The ImageMagick tools (www.imagemagick.org/script/index.php) can be used to convert graphics files to whatever output format is needed."
@@ -74,6 +68,7 @@ LangString SummaryPathPrefix "${LYX_LANG}" "I shall add a 'path_prefix' string t
 
 LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
 LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
+LangString UILanguageAvailableLanguages "${LYX_LANG}" " Available Languages "
 
 LangString UnNotInRegistryLabel "${LYX_LANG}" "Unable to find $(^Name) in the registry$\r$\nShortcuts on the desktop and in the Start Menu will not be removed."
 LangString UnNotAdminLabel "${LYX_LANG}" "Sorry! You must have administrator privileges$\r$\nto uninstall $(^Name)."
index 9871e799697dcf46e268cc2fadf6a99b0d9cebd5..d3317be132f0c20c46a85d575f90cd37b8d23084 100644 (file)
@@ -19,10 +19,10 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Cr
 LangString SecDesktopDescription "${LYX_LANG}" "Une icône ${PRODUCT_NAME} sur le bureau."
 
 LangString ModifyingConfigureFailed "${LYX_LANG}" "Échec de l'allocation 'path_prefix' lors de la configuration."
-LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
+LangString CreateCmdFilesFailed "${LYX_LANG}" "Échec de la création des fichiers lyx.cmd et reLyX.cmd"
 LangString RunConfigureFailed "${LYX_LANG}" "Échec de la tentative de configuration initiale de LyX."
 
-LangString FinishPageMessage "${LYX_LANG}" "Félicitations ! LyX est installé avec succès."
+LangString FinishPageMessage "${LYX_LANG}" "LyX devrait être installé. Cependant, quelques utilisateurs ont signalé que le script de configuration échouait; en conséquence, LyX refuse de démarrer avec un message indiquant l'absence du fichier textclass.lst. Pour rectifier l'installation, exécuter 'sh configure' depuis le répertoire LyX/Resources/lyx."
 LangString FinishPageRun "${LYX_LANG}" "Démarrer LyX"
 
 LangString DownloadPageField2 "${LYX_LANG}" "&Ne pas installer"
@@ -48,12 +48,6 @@ LangString InvalidMiKTeXFolder "${LYX_LANG}" "latex.exe introuvable"
 LangString MiKTeXDownloadLabel "${LYX_LANG}" "&Télécharger MiKTeX"
 LangString MiKTeXFolderLabel "${LYX_LANG}" "&Répertoire contenant latex.exe"
 
-LangString PerlHeader "${LYX_LANG}" "Perl"
-LangString PerlDescription "${LYX_LANG}" "Si vous avez l'intention d'utiliser reLyX pour convertir des documents LaTeX en LyX, vous devez installer Perl (www.perl.com)."
-LangString EnterPerlFolder "${LYX_LANG}" "Merci de saisir le chemin conduisant au répertoire où se trouve Perl.exe"
-LangString InvalidPerlFolder "${LYX_LANG}" "Perl.exe introuvable"
-LangString PerlDownloadLabel "${LYX_LANG}" "&Télécharger Perl"
-LangString PerlFolderLabel "${LYX_LANG}" "&Répertoire contenant perl.exe"
 
 LangString ImageMagickHeader "${LYX_LANG}" "ImageMagick"
 LangString ImageMagickDescription "${LYX_LANG}" "Les outils graphiques de ImageMagick (www.imagemagick.org/script/index.php) peuvent être utilisés pour convertir les fichiers graphiques dans n'importe quel format nécessaire."
@@ -73,8 +67,9 @@ LangString SummaryTitle "${LYX_LANG}" "R
 LangString SummaryPleaseInstall "${LYX_LANG}" "Merci d'installer les fichiers téléchargés, puis d'exécuter de nouveau l'installation de LyX."
 LangString SummaryPathPrefix "${LYX_LANG}" "Durant l'installation, une chaîne de caractères 'path_prefix'  sera ajoutée à 'lyxrc.defaults', elle contiendra :"
 
-LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
-LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
+LangString UILangageTitle "${LYX_LANG}" "Le langage de l'interface de LyX"
+LangString UILangageDescription "${LYX_LANG}" "Tel qu'il est utilisé pour les menus, messages, etc."
+LangString UILanguageAvailableLanguages "${LYX_LANG}" " Langages disponibles"
 
 LangString UnNotInRegistryLabel "${LYX_LANG}" "$(^Name) introuvable dans le base des registres. $\r$\nLes raccourcis sur le bureau et dans le menu de démarrage ne seront pas supprimés."
 LangString UnNotAdminLabel "${LYX_LANG}" "Désolé ! Vous devez avoir les droits d'administration$\r$\npour installer$(^Name)."
index 38c4a90d5c166ef1d0f2ac77d893436982db46c3..e32b95cb04199053cb0cf9da8f4ffa258722c414 100644 (file)
@@ -18,10 +18,10 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Vern
 LangString SecDesktopDescription "${LYX_LANG}" "Verknüpfung zu ${PRODUCT_NAME} auf dem Desktop."
 
 LangString ModifyingConfigureFailed "${LYX_LANG}" "Der 'path_prefix' (Liste mit Programmpfaden) konnte nicht im Konfigurationsskript gesetzt werden."
-LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
+LangString CreateCmdFilesFailed "${LYX_LANG}" "Konnte die Dateien lyx.cmd und reLyX.cmd nicht erstellen."
 LangString RunConfigureFailed "${LYX_LANG}" "Konnte das Konfigurationsskript nicht ausführen."
 
-LangString FinishPageMessage "${LYX_LANG}" "Glückwunsch! LyX wurde erfolgreich installiert."
+LangString FinishPageMessage "${LYX_LANG}" "LyX sollte nun installiert sein. Jedoch haben einige Nutzer berichtet, dass das Konfigurationsskript nicht ausgeführt werden konnte und LyX daher nicht startet. Die Fehlermeldung lautet in diesem Fall $\'reporting a missing textclass.lst file$\'. Um den Fehler zu beheben, führen Sie bitte den Befehl $\'sh configure$\' aus Windows Kommandozeile aus, wenn Sie sich im Verzeichnis $\'<LyX>\Resources\lyx$\' befinden."
 LangString FinishPageRun "${LYX_LANG}" "LyX starten"
 
 LangString DownloadPageField2 "${LYX_LANG}" "&Nicht installieren"
@@ -47,12 +47,6 @@ LangString InvalidMiKTeXFolder "${LYX_LANG}" "Kann die Datei latex.exe nicht fin
 LangString MiKTeXDownloadLabel "${LYX_LANG}" "&MiKTeX herunterladen"
 LangString MiKTeXFolderLabel "${LYX_LANG}" "&Ordner der die Datei latex.exe enthält"
 
-LangString PerlHeader "${LYX_LANG}" "Perl"
-LangString PerlDescription "${LYX_LANG}" `Wenn Sie das ${PRODUCT_NAME}-Zusatzprogramm "reLyX" verwenden wollen, welches LaTeX-Dateien in ${PRODUCT_NAME}-Dateien umwandeln kann, sollten Sie Perl (www.perl.com) installieren.`
-LangString EnterPerlFolder "${LYX_LANG}" "Geben sie den Pfad zur Datei perl.exe an."
-LangString InvalidPerlFolder "${LYX_LANG}" "Kann die Datei perl.exe nicht finden."
-LangString PerlDownloadLabel "${LYX_LANG}" "&Perl herunterladen"
-LangString PerlFolderLabel "${LYX_LANG}" "&Ordner der die Datei perl.exe enthält"
 
 LangString ImageMagickHeader "${LYX_LANG}" "ImageMagick"
 LangString ImageMagickDescription "${LYX_LANG}" "ImageMagick (www.imagemagick.org/script/index.php) wird benötigt, um Grafikdateien in verschiedene Dateiformate umzuwandeln."
@@ -72,8 +66,9 @@ LangString SummaryTitle "${LYX_LANG}" "Software Zusammenfassung"
 LangString SummaryPleaseInstall "${LYX_LANG}" "Bitte installieren sie die heruntergeladenen Programme und starten dann ${PRODUCT_NAME}'s Installer nochmal."
 LangString SummaryPathPrefix "${LYX_LANG}" "Die Liste mit den Programmpfaden, der so genannte 'path_prefix' wird zur Datei 'lyxrc.defaults' hinzugefügt:"
 
-LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
-LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
+LangString UILangageTitle "${LYX_LANG}" "Die Sprache von LyXs Benutzeroberfläche"
+LangString UILangageDescription "${LYX_LANG}" "Wird für die Menüs, Mitteilungen, usw. verwendet"
+LangString UILanguageAvailableLanguages "${LYX_LANG}" " Verfügbare Sprachen "
 
 LangString UnNotInRegistryLabel "${LYX_LANG}" "Kann $(^Name) nicht in der Registry finden. $\r$\n Desktopsymbole und Einträge im Startmenü können nicht entfernt werden."
 LangString UnNotAdminLabel "${LYX_LANG}" "Sie benötigen Administratorrechte $\r$\n um $(^Name) zu deinstallieren."
index 0e2069ab789750812d11124e6cc1fb814a63c68b..15140015f77cc386edda349fc8d3db48138772bf 100644 (file)
@@ -18,10 +18,11 @@ LangString SecFileAssocDescription "${LYX_LANG}" "Crea le associazioni tra il pr
 LangString SecDesktopDescription "${LYX_LANG}" "Icona ${PRODUCT_NAME} sul desktop."
 
 LangString ModifyingConfigureFailed "${LYX_LANG}" "Fallito tentativo di aggiornare 'path_prefix' nello script di configurazione"
-LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
+LangString CreateCmdFilesFailed "${LYX_LANG}" "Fallito tentativo di creare lyx.cmd e reLyX.cmd"
 LangString RunConfigureFailed "${LYX_LANG}" "Fallito tentativo di eseguire lo script di configurazione"
 
-LangString FinishPageMessage "${LYX_LANG}" "Congratulazioni! LyX è stato installato con successo."
+LangString FinishPageMessage "${LYX_LANG}" "LyX è stato installato. Però, se l$\'installer non è riuscito a lanciare lo script di configurazione, non sarete in grado di usare LyX a causa della mancata generazione del file textclass.lst. In tal caso, il rimedio consiste nell'eseguire il comando 'sh configure' nella directory $\'<LyX>/Resources/lyx$\'."
+
 LangString FinishPageRun "${LYX_LANG}" "Lancia LyX"
 
 LangString DownloadPageField2 "${LYX_LANG}" "&Non installare"
@@ -47,12 +48,6 @@ LangString InvalidMiKTeXFolder "${LYX_LANG}" "Non riesco a trovare latex.exe"
 LangString MiKTeXDownloadLabel "${LYX_LANG}" "&Scarica MiKTeX"
 LangString MiKTeXFolderLabel "${LYX_LANG}" "&Cartella contenente latex.exe"
 
-LangString PerlHeader "${LYX_LANG}" "Perl"
-LangString PerlDescription "${LYX_LANG}" "Se volete usare reLyX per convertire documenti LaTeX nel formato LyX, dovete installare Perl (www.perl.com)."
-LangString EnterPerlFolder "${LYX_LANG}" "Inserite il percorso alla cartella contenente Perl.exe"
-LangString InvalidPerlFolder "${LYX_LANG}" "Non riesco a trovare Perl.exe"
-LangString PerlDownloadLabel "${LYX_LANG}" "&Scarica Perl"
-LangString PerlFolderLabel "${LYX_LANG}" "&Cartella contenente perl.exe"
 
 LangString ImageMagickHeader "${LYX_LANG}" "ImageMagick"
 LangString ImageMagickDescription "${LYX_LANG}" "I programmi forniti da ImageMagick (www.imagemagick.org/script/index.php) vengono usati per convertire file grafici da un certo formato ad un qualsiasi altro formato."
@@ -72,8 +67,9 @@ LangString SummaryTitle "${LYX_LANG}" "Sommario del software"
 LangString SummaryPleaseInstall "${LYX_LANG}" "Siete pregati di installare i pacchetti scaricati e quindi lanciare nuovamente l'installazione di LyX."
 LangString SummaryPathPrefix "${LYX_LANG}" "Verrà aggiunta una stringa 'path_prefix' al file 'lyxrc.defaults' contenente:"
 
-LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
-LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
+LangString UILangageTitle "${LYX_LANG}" "La lingua dell'interfaccia di LyX"
+LangString UILangageDescription "${LYX_LANG}" "Usata per menu, messaggi, ecc."
+LangString UILanguageAvailableLanguages "${LYX_LANG}" " Lingue Disponibili "
 
 LangString UnNotInRegistryLabel "${LYX_LANG}" "Non riesco a trovare $(^Name) nel registro$\r$\nI collegamenti sul desktop e nel menu Start non saranno rimossi."
 LangString UnNotAdminLabel "${LYX_LANG}" "Spiacente! Occorrono privilegi da amministratore$\r$\nper disinstallare $(^Name)."
index bac01e156106b8477bc4603898b7582f99f10d9f..300478df0f7fdd8ec248b1930123073e9bda3af3 100644 (file)
@@ -14,27 +14,27 @@ LangString SecDesktopTitle "${LYX_LANG}" "Icono de escritorio"
 
 LangString SecCoreDescription "${LYX_LANG}" "Los ficheros de ${PRODUCT_NAME}."
 LangString SecAllUsersDescription "${LYX_LANG}" "Instalar para todos los usuarios o sólo para el usuario actual. (Requiere privilegios de Administrador.)"
-LangString SecFileAssocDescription "${LYX_LANG}" "Asociar la extesión .lyx con LyX."
+LangString SecFileAssocDescription "${LYX_LANG}" "Asociar la extesión .lyx con ${PRODUCT_NAME}."
 LangString SecDesktopDescription "${LYX_LANG}" "Crear un icono de ${PRODUCT_NAME} en el escritorio."
 
-LangString ModifyingConfigureFailed "${LYX_LANG}" "Error al intentar añadir 'path_prefix' durante la ejecución del programa de configuración"
-LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
-LangString RunConfigureFailed "${LYX_LANG}" "Error al intentar ejecutar el programa de configuración"
+LangString ModifyingConfigureFailed "${LYX_LANG}" "Error al intentar añadir la entrada 'path_prefix' a la rutina de configuración"
+LangString CreateCmdFilesFailed "${LYX_LANG}" "Error al intentar crear lyx.cmd y reLyX.cmd"
+LangString RunConfigureFailed "${LYX_LANG}" "Error al intentar ejecutar la rutina de configuración"
 
-LangString FinishPageMessage "${LYX_LANG}" "Enhorabuena! LyX ha sido instalado satisfactoriamente."
-LangString FinishPageRun "${LYX_LANG}" "Ejecutar LyX"
+LangString FinishPageMessage "${LYX_LANG}" "Si todo fue bien, LyX debería haber sido instalado correctamente. Sin embargo, algunos de nuestros usuarios han informado de que la rutina de configuración falla al ejecutarse y, como resultado, LyX también falla al ejecutarse (puesto que no encuentra el fichero textclass.lst). Para solucionar este problema abra una ventana de MS-DOS y ejecute el comando 'sh configure' desde el directorio LyX/Resources/lyx ."
+LangString FinishPageRun "${LYX_LANG}" "Ejecutar LyX ahora"
 
 LangString DownloadPageField2 "${LYX_LANG}" "&No instalar"
 
 LangString MinSYSHeader "${LYX_LANG}" "MinSYS"
-LangString MinSYSDescription "${LYX_LANG}" "MinSYS es un pequeño entorno unix (www.mingw.org/msys.shtml) que ${PRODUCT_NAME} necesita para ejecutar algunos ficheros de comandos."
+LangString MinSYSDescription "${LYX_LANG}" "MinSYS (www.mingw.org/msys.shtml) es un pequeño entorno Unix que ${PRODUCT_NAME} necesita para ejecutar algunos ficheros de comandos."
 LangString EnterMinSYSFolder "${LYX_LANG}" "Por favor, introduzca la ruta completa del directorio que contiene sh.exe"
 LangString InvalidMinSYSFolder "${LYX_LANG}" "Imposible encontrar sh.exe"
 LangString MinSYSDownloadLabel "${LYX_LANG}" "&Descargar MinSYS"
 LangString MinSYSFolderLabel "${LYX_LANG}" "&Directorio que contiene sh.exe"
 
 LangString PythonHeader "${LYX_LANG}" "Python"
-LangString PythonDescription "${LYX_LANG}" "EL lenguaje de programación de comandos Python (www.python.org) debe estar instalado o de lo contrario ${PRODUCT_NAME} no será capaz de ejecutar ciertos ficheros de comandos."
+LangString PythonDescription "${LYX_LANG}" "El lenguaje de programación Python (www.python.org) debe estar instalado o de lo contrario ${PRODUCT_NAME} no será capaz de ejecutar ciertos ficheros de comandos."
 LangString EnterPythonFolder "${LYX_LANG}" "Por favor, introduzca la ruta completa del directorio que contiene Python.exe"
 LangString InvalidPythonFolder "${LYX_LANG}" "Imposible encontrar Python.exe"
 LangString PythonDownloadLabel "${LYX_LANG}" "&Descargar Python"
@@ -47,12 +47,6 @@ LangString InvalidMiKTeXFolder "${LYX_LANG}" "Imposible encontrar latex.exe"
 LangString MiKTeXDownloadLabel "${LYX_LANG}" "&Descargar MiKTeX"
 LangString MiKTeXFolderLabel "${LYX_LANG}" "&Directorio que contiene latex.exe"
 
-LangString PerlHeader "${LYX_LANG}" "Perl"
-LangString PerlDescription "${LYX_LANG}" "Si pretende usar reLyX para convertir documentos LaTeX en documentos LyX, necesitará instalar Perl (www.perl.com)."
-LangString EnterPerlFolder "${LYX_LANG}" "Por favor, introduzca la ruta completa del directorio que contiene Perl.exe"
-LangString InvalidPerlFolder "${LYX_LANG}" "Imposible encontrar Perl.exe"
-LangString PerlDownloadLabel "${LYX_LANG}" "&Descargar Perl"
-LangString PerlFolderLabel "${LYX_LANG}" "&Directorio que contiene perl.exe"
 
 LangString ImageMagickHeader "${LYX_LANG}" "ImageMagick"
 LangString ImageMagickDescription "${LYX_LANG}" "ImageMagick (www.imagemagick.org/script/index.php) permite convertir ficheros gráficos a cualquier formato que se necesite."
@@ -70,10 +64,11 @@ LangString GhostscriptFolderLabel "${LYX_LANG}" "&Directorio que contiene gswin3
 
 LangString SummaryTitle "${LYX_LANG}" "Resumen de la instalación"
 LangString SummaryPleaseInstall "${LYX_LANG}" "Por favor, instale los programas descargados y vuelva a ejecutar el insralador de LyX una vez más."
-LangString SummaryPathPrefix "${LYX_LANG}" "Durante la instalación el siguiente 'path_prefix' se añadirá a 'lyxrc.defaults':"
+LangString SummaryPathPrefix "${LYX_LANG}" "Durante la instalación la variable 'path_prefix' se añadirá a 'lyxrc.defaults' con el siguiente contenido:"
 
-LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
-LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
+LangString UILangageTitle "${LYX_LANG}" "Seleccione el idioma que desea para la interfaz de LyX"
+LangString UILangageDescription "${LYX_LANG}" "Será usado en los menús, mensajes, etc."
+LangString UILanguageAvailableLanguages "${LYX_LANG}" " Idiomas disponibles "
 
 LangString UnNotInRegistryLabel "${LYX_LANG}" "Imposible encontrar $(^Name) en el registro$\r$\nLos accesos rápidos del escritorio y del Menú de Inicio no serán eliminados."
 LangString UnNotAdminLabel "${LYX_LANG}" "Lo siento! Necesita privilegios de administrador$\r$\npara desinstalar $(^Name)."
index 00ad3ccae7b8489cb92efc954c07795499fe3167..205ba6ed3c90d4ef125de89fd9feedf0bdd28736 100644 (file)
@@ -6,7 +6,7 @@
 !endif
 !define LYX_LANG ${LANG_SWEDISH}
 
-!define SwedishInputFolderPath "Var god mata in sökvägen till katalogen som innehåller"
+!define SwedishInputFolderPath "Var god ange sökväg till katalogen som innehåller"
 !define SwedishUnableToFind "Kan inte hitta"
 !define SwedishDownload "&Ladda ner"
 !define SwedishFolderContaining "&Katalog innehållande"
 LicenseLangString LyXLicenseData ${LYX_LANG} "${PRODUCT_LICENSE_FILE}"
 
 LangString SecAllUsersTitle "${LYX_LANG}" "Installera för alla användare?"
-LangString SecFileAssocTitle "${LYX_LANG}" "Filassociationer"
+LangString SecFileAssocTitle "${LYX_LANG}" "Program associerade till olika filtyper" 
 LangString SecDesktopTitle "${LYX_LANG}" "Skrivbordsikon"
 
 LangString SecCoreDescription "${LYX_LANG}" "${PRODUCT_NAME}-filer."
 LangString SecAllUsersDescription "${LYX_LANG}" "Installera för alla användare, eller enbart för den aktuella användare. (Kräver administratörsrättigheter.)"
 LangString SecFileAssocDescription "${LYX_LANG}" "Skapa en association mellan programmet och filtilläget .lyx."
-LangString SecDesktopDescription "${LYX_LANG}" "En ${PRODUCT_NAME}ikon på skrivbordet."
+LangString SecDesktopDescription "${LYX_LANG}" "Skapa en ${PRODUCT_NAME}-ikon på skrivbordet."
 
-LangString ModifyingConfigureFailed "${LYX_LANG}" "Misslyckades med att sätta  'path_prefix' i konfigurationsskriptet"
-LangString CreateCmdFilesFailed "${LYX_LANG}" "Failed atempting to create lyx.cmd and reLyX.cmd"
-LangString RunConfigureFailed "${LYX_LANG}" "Misslyckades med att köra konfigurationsskriptet"
+LangString ModifyingConfigureFailed "${LYX_LANG}" "Misslyckades med att sätta sökvägsprefixet i konfigurationsprogrammet"
+LangString CreateCmdFilesFailed "${LYX_LANG}" "Misslyckades med att skapa filerna lyx.cmd och reLyX.cmd"
+LangString RunConfigureFailed "${LYX_LANG}" "Misslyckades med att köra konfigurationsprogrammet"
 
-LangString FinishPageMessage "${LYX_LANG}" "Gratulerar! LyX har installerats framgångsrikt."
-LangString FinishPageRun "${LYX_LANG}" "Kör LyX"
+LangString FinishPageMessage "${LYX_LANG}" "LyX borde nu ha installerats. Dessvärre har en del användare rapporterat att konfigurationsskriptet ibland misslyckats. Om detta händer är inte LyX ordentligt konfigurerat och vägrar starta med ett felmeddelande om att filen 'textclass.lst' saknas. För att åtgärda detta problem, öppna ett kommandofönster (kör programmet 'cmd'), och gå till katalogen 'LyX/Resources/lyx directory'. I den katalogen kör du sedan kommandot 'sh configure' vilket kommer att konfigurar LyX."
+LangString FinishPageRun "${LYX_LANG}" "Starta LyX"
 
 LangString DownloadPageField2 "${LYX_LANG}" "Installera &ej"
 
 LangString MinSYSHeader "${LYX_LANG}" "MinSYS"
-LangString MinSYSDescription "${LYX_LANG}" "MinSYS är en minimal UNIX-liknande skriptmiljö (www.mingw.org/msys.shtml) som ${PRODUCT_NAME} behöver för att använda ett flertal skript."
+LangString MinSYSDescription "${LYX_LANG}" "MinSYS är en minimal, UNIX-liknande skriptmiljö (www.mingw.org/msys.shtml) vilken ${PRODUCT_NAME} använder för ett flertal funktioner."
 LangString EnterMinSYSFolder "${LYX_LANG}" "${SwedishInputFolderPath} sh.exe"
 LangString InvalidMinSYSFolder "${LYX_LANG}" "${SwedishUnableToFind} sh.exe"
 LangString MinSYSDownloadLabel "${LYX_LANG}" "${SwedishDownload} MinSYS"
 LangString MinSYSFolderLabel "${LYX_LANG}" "${SwedishFolderContaining} sh.exe"
 
 LangString PythonHeader "${LYX_LANG}" "Python"
-LangString PythonDescription "${LYX_LANG}" "Skriptspråket Python (www.python.org) bör installeras, annars kan inte ${PRODUCT_NAME} använda ett flertal skript."
+LangString PythonDescription "${LYX_LANG}" "Skriptspråket Python (www.python.org) bör installeras, annars kan ett flertal skript inte användas av ${PRODUCT_NAME}." 
 LangString EnterPythonFolder "${LYX_LANG}" "${SwedishInputFolderPath} Python.exe"
 LangString InvalidPythonFolder "${LYX_LANG}" "${SwedishUnableToFind} Python.exe"
 LangString PythonDownloadLabel "${LYX_LANG}" "${SwedishDownload} Python"
 LangString PythonFolderLabel "${LYX_LANG}" "${SwedishFolderContaining} Python.exe"
 
 LangString MiKTeXHeader "${LYX_LANG}" "MiKTeX"
-LangString MiKTeXDescription "${LYX_LANG}" "MiKTeX (www.miktex.org) aktuell (nyligen uppdaterad) implementation av TeX för Windows."
+LangString MiKTeXDescription "${LYX_LANG}" "MiKTeX (www.miktex.org) är en modern implementering av TeX för Windows."
 LangString EnterMiKTeXFolder "${LYX_LANG}" "${SwedishInputFolderPath} latex.exe"
 LangString InvalidMiKTeXFolder "${LYX_LANG}" "${SwedishUnableToFind} latex.exe"
 LangString MiKTeXDownloadLabel "${LYX_LANG}" "${SwedishDownload} MiKTeX"
 LangString MiKTeXFolderLabel "${LYX_LANG}" "${SwedishFolderContaining} latex.exe"
 
-LangString PerlHeader "${LYX_LANG}" "Perl"
-LangString PerlDescription "${LYX_LANG}" "Om du räknar med att använda reLyX för att konvertera LaTeX-dokument till LyX-dokument, måste du installera Perl (www.perl.com)."
-LangString EnterPerlFolder "${LYX_LANG}" "${SwedishInputFolderPath} Perl.exe"
-LangString InvalidPerlFolder "${LYX_LANG}" "${SwedishUnableToFind} Perl.exe"
-LangString PerlDownloadLabel "${LYX_LANG}" "${SwedishDownload} Perl"
-LangString PerlFolderLabel "${LYX_LANG}" "${SwedishFolderContaining} perl.exe"
 
 LangString ImageMagickHeader "${LYX_LANG}" "ImageMagick"
-LangString ImageMagickDescription "${LYX_LANG}" "Verktygen i paketet ImageMagick (www.imagemagick.org/script/index.php) kan användas av LyX för att konvertera mellan de flesta grafikformat."
+LangString ImageMagickDescription "${LYX_LANG}" "Verktygen i paketet ImageMagick (www.imagemagick.org/script/index.php) används av LyX för att konvertera bilder till rätt filformat."
 LangString EnterImageMagickFolder "${LYX_LANG}" "${SwedishInputFolderPath} convert.exe"
 LangString InvalidImageMagickFolder "${LYX_LANG}" "${SwedishUnableToFind} convert.exe"
 LangString ImageMagickDownloadLabel "${LYX_LANG}" "${SwedishDownload} ImageMagick"
 LangString ImageMagickFolderLabel "${LYX_LANG}" "${SwedishFolderContaining} convert.exe"
 
 LangString GhostscriptHeader "${LYX_LANG}" "Ghostscript"
-LangString GhostscriptDescription "${LYX_LANG}" "Ghostscript (http://www.cs.wisc.edu/~ghost/) används till att konvertera bilder till/från PostScript."
+LangString GhostscriptDescription "${LYX_LANG}" "Ghostscript (www.cs.wisc.edu/~ghost/) används för att konvertera bilder till/från PostScript."
 LangString EnterGhostscriptFolder "${LYX_LANG}" "${SwedishInputFolderPath} gswin32c.exe"
 LangString InvalidGhostscriptFolder "${LYX_LANG}" "${SwedishUnableToFind} gswin32c.exe"
 LangString GhostscriptDownloadLabel "${LYX_LANG}" "${SwedishDownload} Ghostscript"
 LangString GhostscriptFolderLabel "${LYX_LANG}" "${SwedishFolderContaining} gswin32c.exe"
 
-LangString SummaryTitle "${LYX_LANG}" "Mjukvarusammanfattning"
-LangString SummaryPleaseInstall "${LYX_LANG}" "Var god installera först dina nedladdade filer och kör sedan LyXs installationsprogram igen."
-LangString SummaryPathPrefix "${LYX_LANG}" "En 'path_prefix'-sträng kommer att läggas till i filen 'lyxrc.defaults' innehållande följande:"
+LangString SummaryTitle "${LYX_LANG}" "Sammanfattning av programvara"
+LangString SummaryPleaseInstall "${LYX_LANG}" "Var god installera först den kompletterande programvara du laddat ner. Kör sedan LyX installationsprogram igen."
+LangString SummaryPathPrefix "${LYX_LANG}" "Ett sökvägsprefix kommer att läggas till i filen 'lyxrc.defaults'. Denna innehåller följande:"
 
-LangString UILangageTitle "${LYX_LANG}" "The language of LyX's interface"
-LangString UILangageDescription "${LYX_LANG}" "As used for menus, messages, etc."
+LangString UILangageTitle "${LYX_LANG}" "Språk i LyX användargränsnitt"
+LangString UILangageDescription "${LYX_LANG}" "Detta språk används i menyer, meddelanden, m.m."
+LangString UILanguageAvailableLanguages "${LYX_LANG}" " Tillgängliga språk "
 
-LangString UnNotInRegistryLabel "${LYX_LANG}" "${SwedishUnableToFind} $(^Name) i registret\r$\nGenvägar på skrivbordet och i startmeny kommer inte att tas bort."
+LangString UnNotInRegistryLabel "${LYX_LANG}" "${SwedishUnableToFind} $(^Name) i registret\r$\nGenvägar på skrivbordet och i startmenyn kommer inte att tas bort."
 LangString UnNotAdminLabel "${LYX_LANG}" "Tyvärr! Du måste ha administratörsrättigheter för\r$\natt avinstallera $(^Name)."
-LangString UnReallyRemoveLabel "${LYX_LANG}" "Är du säker på att du verkligen vill fullständigt avinstallera $(^Name) och alla dess komponenter?"
-LangString UnRemoveSuccessLabel "${LYX_LANG}" "$(^Name) har framgångsrikt avinstallerats från din dator."
+LangString UnReallyRemoveLabel "${LYX_LANG}" "Är du säker på att du verkligen vill avinstallera $(^Name) och alla dess komponenter fullständigt?"
+LangString UnRemoveSuccessLabel "${LYX_LANG}" "Avinstallationen av $(^Name) från din dator var framgångsrik."
 
 !undef SwedishInputFolderPath
 !undef SwedishUnableToFind
index 84be2468ef0fbe24972fea1e6c90cefbe7d50b46..a983fffd162eadf75fd33a8131c54c9189c9109c 100644 (file)
    StrCpy ${LangNme} "Nederlands"
   ${endif}
 
+  ${if} ${LangISOCode} = 1045
+   StrCpy ${LangNme} "Polski"
+  ${endif}
+
   ${if} ${LangISOCode} = 1053
    StrCpy ${LangNme} "Svenska"
   ${endif}
    StrCpy ${LangCde} "it_IT"
   ${endif}
 
+  ${if} ${Name} == "Magyar nyelv"
+   StrCpy ${LangCde} "hu_HU"
+  ${endif}  
+
   ${if} ${Name} == "Nederlands"
    StrCpy ${LangCde} "nl_NL"
   ${endif}
index e8ec1cbd40382d1bf136f4abea28b4738067cb91..14730c6050bd816f9947149d523c5c54fff9b1ab 100644 (file)
@@ -5,7 +5,7 @@
 
 # It copies these files into the appropriate places in the LyX tree.
 #   qt-mt3.dll
-#   libiconv-2.dll
+#   iconv.dll
 #   mingw10.dll
 #   clean_dvi.py
 #   dv2dt.exe
@@ -13,7 +13,7 @@
 
 # It strips the executables.
 
-# It adds formats and converters to the Resources/lyx/configure script to
+# It adds formats and converters to the Resources/configure script to
 # ensure that the generated .dvi file is usable.
 
 # It removes all stuff generated by running configure:
@@ -25,8 +25,8 @@
 
 # The installee should regenerate them by running configure on his machine.
 
-QT_DLL="$HOME/qt3/bin/qt-mt3.dll"
-LIBICONV_DLL="/j/MinGW/bin/libiconv-2.dll"
+QT_DLL="$HOME/Qt/3x-msys/bin/qt-mt3.dll"
+ICONV_DLL="/j/MinGW/bin/iconv.dll"
 MINGW_DLL="/j/MinGW/bin/mingwm10.dll"
 CLEAN_DVI_PY="clean_dvi.py"
 DTL_DIR=dtl
@@ -42,7 +42,7 @@ MV='mv -f'
 windows_packaging()
 {
     # Install the necessary .dlls and clean_dvi stuff.
-    for file in "${QT_DLL}" "${LIBICONV_DLL}" "${MINGW_DLL}" "${DT2DV}" "${DV2DT}"
+    for file in "${QT_DLL}" "${ICONV_DLL}" "${MINGW_DLL}" "${DT2DV}" "${DV2DT}"
     do
       cp "${file}" "$LYX_INSTALL_DIR"/bin/. || {
          echo "Failed to copy ${file} to the LyX package" >&2
@@ -50,7 +50,7 @@ windows_packaging()
       }
     done
 
-    cp "${CLEAN_DVI_PY}" "$LYX_INSTALL_DIR"/Resources/lyx/scripts/. || {
+    cp "${CLEAN_DVI_PY}" "$LYX_INSTALL_DIR"/Resources/scripts/. || {
        echo "Failed to copy ${CLEAN_DVI_PY} to the LyX package" >&2
        exit 1
     }
@@ -71,7 +71,7 @@ windows_packaging()
     # * fix the generated chkconfig.sed so that it works with versions of
     #   sed that get confused by sed scripts with DOS line endings.
     TMP=tmp.$$
-    CONFIGURE="${LYX_INSTALL_DIR}"/Resources/lyx/configure
+    CONFIGURE="${LYX_INSTALL_DIR}"/Resources/configure
     # Do this to make it easy to compare the before and after files.
     dos2unix "${CONFIGURE}"
     sed '
@@ -96,7 +96,7 @@ a\
 
     # Strip the executables
     (
-       cd "${LYX_INSTALL_DIR}/Resources/lyx"
+       cd "${LYX_INSTALL_DIR}/Resources"
        rm -rf xfonts
        for file in doc/LaTeXConfig.lyx lyxrc.defaults packages.lst textclass.lst
        do