changeset 15935:0cbac4d3a81c classdef

periodic merge of default to classdef
author Michael Goffioul <michael.goffioul@gmail.com>
date Sat, 12 Jan 2013 13:36:15 -0500
parents f97a746e4544 (current diff) 58018d0e9a71 (diff)
children da4cd4ab36db
files build-aux/bootstrap_gnulib build-aux/bootstrap_gnulib.conf libgui/languages/de-de.qm libgui/languages/de-de.ts libgui/languages/es-es.qm libgui/languages/es-es.ts libgui/languages/pt-br.qm libgui/languages/pt-br.ts libgui/languages/ru-ru.qm libgui/languages/ru-ru.ts libgui/languages/uk-ua.qm libgui/languages/uk-ua.ts libinterp/Makefile.am libinterp/interp-core/pt-jit.cc src/Makefile.am
diffstat 50 files changed, 7192 insertions(+), 3188 deletions(-) [+]
line wrap: on
line diff
--- a/.hgsubstate
+++ b/.hgsubstate
@@ -1,1 +1,1 @@
-c960be36c9f3f690ceb43057314354e0df736416 gnulib-hg
+e2f98cc246bdb12f2d35366042d4aab61c3d54fe gnulib-hg
--- a/.hgtags
+++ b/.hgtags
@@ -70,3 +70,4 @@
 a95432e7309ca6fc776c02939264bb6d443f3525 release-3-6-3
 2e8eb9ac43a5f8cfaf0423814a312ed47cb80485 rc-3-6-4-0
 df1aceb8f0bc6b5b5062907931cc663467f57d93 ss-3-7-1
+858cbf6fc2ec1c232f5cf1d75dc344439b39a89c rc-3-6-4-1
--- a/Makefile.am
+++ b/Makefile.am
@@ -38,8 +38,7 @@
   NEWS \
   README \
   bootstrap \
-  build-aux/bootstrap_gnulib \
-  build-aux/bootstrap_gnulib.conf \
+  bootstrap.conf \
   build-aux/mk-opts.pl \
   build-aux/mkinstalldirs \
   build-aux/move-if-change \
--- a/bootstrap
+++ b/bootstrap
@@ -1,53 +1,978 @@
 #! /bin/sh
-# bootstrap
-# Run this to generate all the initial makefiles, etc.
+# Print a version string.
+scriptversion=2012-07-19.14; # UTC
+
+# Bootstrap this package from checked-out sources.
+
+# Copyright (C) 2003-2012 Free Software Foundation, Inc.
+
+# 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 3 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, see <http://www.gnu.org/licenses/>.
+
+# Originally written by Paul Eggert.  The canonical version of this
+# script is maintained as build-aux/bootstrap in gnulib, however, to
+# be useful to your project, you should place a copy of it under
+# version control in the top-level directory of your project.  The
+# intent is that all customization can be done with a bootstrap.conf
+# file also maintained in your version control; gnulib comes with a
+# template build-aux/bootstrap.conf to get you started.
+
+# Please report bugs or propose patches to bug-gnulib@gnu.org.
+
+nl='
+'
+
+# Ensure file names are sorted consistently across platforms.
+LC_ALL=C
+export LC_ALL
+
+# Ensure that CDPATH is not set.  Otherwise, the output from cd
+# would cause trouble in at least one use below.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+local_gl_dir=gl
+
+me=$0
+
+usage() {
+  cat <<EOF
+Usage: $me [OPTION]...
+Bootstrap this package from the checked-out sources.
+
+Options:
+ --gnulib-srcdir=DIRNAME  specify the local directory where gnulib
+                          sources reside.  Use this if you already
+                          have gnulib sources on your machine, and
+                          do not want to waste your bandwidth downloading
+                          them again.  Defaults to \$GNULIB_SRCDIR
+ --bootstrap-sync         if this bootstrap script is not identical to
+                          the version in the local gnulib sources,
+                          update this script, and then restart it with
+                          /bin/sh or the shell \$CONFIG_SHELL
+ --no-bootstrap-sync      do not check whether bootstrap is out of sync
+ --copy                   copy files instead of creating symbolic links
+ --force                  attempt to bootstrap even if the sources seem
+                          not to have been checked out
+ --no-git                 do not use git to update gnulib.  Requires that
+                          --gnulib-srcdir point to a correct gnulib snapshot
+ --skip-po                do not download po files
 
-set -e
+If the file $me.conf exists in the same directory as this script, its
+contents are read as shell variables to configure the bootstrap.
+
+For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR
+are honored.
+
+Running without arguments will suffice in most cases.
+EOF
+}
+
+# warnf_ FORMAT-STRING ARG1...
+warnf_ ()
+{
+  warnf_format_=$1
+  shift
+  nl='
+'
+  case $* in
+    *$nl*) me_=$(printf "$me"|tr "$nl|" '??')
+       printf "$warnf_format_" "$@" | sed "s|^|$me_: |" ;;
+    *) printf "$me: $warnf_format_" "$@" ;;
+  esac >&2
+}
+
+# warn_ WORD1...
+warn_ ()
+{
+  # If IFS does not start with ' ', set it and emit the warning in a subshell.
+  case $IFS in
+    ' '*) warnf_ '%s\n' "$*";;
+    *)    (IFS=' '; warn_ "$@");;
+  esac
+}
 
-## Use --foreign since we auto-generate the AUTHORS file and the default
-## --gnu strictness level doesn't like it if the AUTHORS file is missing.
+# die WORD1...
+die() { warn_ "$@"; exit 1; }
+
+# Configuration.
+
+# Name of the Makefile.am
+gnulib_mk=gnulib.mk
+
+# List of gnulib modules needed.
+gnulib_modules=
+
+# Any gnulib files needed that are not in modules.
+gnulib_files=
+
+: ${AUTOPOINT=autopoint}
+: ${AUTORECONF=autoreconf}
+
+# A function to be called right after gnulib-tool is run.
+# Override it via your own definition in bootstrap.conf.
+bootstrap_post_import_hook() { :; }
+
+# A function to be called after everything else in this script.
+# Override it via your own definition in bootstrap.conf.
+bootstrap_epilogue() { :; }
+
+# The command to download all .po files for a specified domain into
+# a specified directory.  Fill in the first %s is the domain name, and
+# the second with the destination directory.  Use rsync's -L and -r
+# options because the latest/%s directory and the .po files within are
+# all symlinks.
+po_download_command_format=\
+"rsync --delete --exclude '*.s1' -Lrtvz \
+ 'translationproject.org::tp/latest/%s/' '%s'"
+
+# Fallback for downloading .po files (if rsync fails).
+po_download_command_format2=\
+"wget --mirror -nd -q -np -A.po -P '%s' \
+ http://translationproject.org/latest/%s/"
 
-AUTOMAKE="automake --foreign --warnings=no-portability"
-export AUTOMAKE
+extract_package_name='
+  /^AC_INIT(/{
+     /.*,.*,.*, */{
+       s///
+       s/[][]//g
+       s/)$//
+       p
+       q
+     }
+     s/AC_INIT(\[*//
+     s/]*,.*//
+     s/^GNU //
+     y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
+     s/[^A-Za-z0-9_]/-/g
+     p
+  }
+'
+package=$(sed -n "$extract_package_name" configure.ac) \
+  || die 'cannot find package name in configure.ac'
+gnulib_name=lib$package
+
+build_aux=build-aux
+source_base=lib
+m4_base=m4
+doc_base=doc
+tests_base=tests
+gnulib_extra_files=''
+
+# Additional gnulib-tool options to use.  Use "\newline" to break lines.
+gnulib_tool_option_extras=
+
+# Other locale categories that need message catalogs.
+EXTRA_LOCALE_CATEGORIES=
+
+# Additional xgettext options to use.  Use "\\\newline" to break lines.
+XGETTEXT_OPTIONS='\\\
+ --flag=_:1:pass-c-format\\\
+ --flag=N_:1:pass-c-format\\\
+ --flag=error:3:c-format --flag=error_at_line:5:c-format\\\
+'
+
+# Package bug report address and copyright holder for gettext files
+COPYRIGHT_HOLDER='Free Software Foundation, Inc.'
+MSGID_BUGS_ADDRESS=bug-$package@gnu.org
+
+# Files we don't want to import.
+excluded_files=
+
+# File that should exist in the top directory of a checked out hierarchy,
+# but not in a distribution tarball.
+checkout_only_file=README-hacking
+
+# Whether to use copies instead of symlinks.
+copy=false
+
+# Set this to '.cvsignore .gitignore' in bootstrap.conf if you want
+# those files to be generated in directories like lib/, m4/, and po/.
+# Or set it to 'auto' to make this script select which to use based
+# on which version control system (if any) is used in the source directory.
+vc_ignore=auto
+
+# Set this to true in bootstrap.conf to enable --bootstrap-sync by
+# default.
+bootstrap_sync=false
+
+# Don't use git to update gnulib sources. We keep gnulib under a
+# Mercurial subrepository instead
+use_git=false
+GNULIB_SRCDIR=gnulib-hg
 
-## Check for files that automake --gnu would normally look for, except
-## AUTHORS, which we autogenerate from the documentation files along with
-## building the rest of Octave, and INSTALL, which is linked from
-## gnulib/doc/INSTALL by the bootstrap script.
+# find_tool ENVVAR NAMES...
+# -------------------------
+# Search for a required program.  Use the value of ENVVAR, if set,
+# otherwise find the first of the NAMES that can be run (i.e.,
+# supports --version).  If found, set ENVVAR to the program name,
+# die otherwise.
+#
+# FIXME: code duplication, see also gnu-web-doc-update.
+find_tool ()
+{
+  find_tool_envvar=$1
+  shift
+  find_tool_names=$@
+  eval "find_tool_res=\$$find_tool_envvar"
+  if test x"$find_tool_res" = x; then
+    for i
+    do
+      if ($i --version </dev/null) >/dev/null 2>&1; then
+       find_tool_res=$i
+       break
+      fi
+    done
+  else
+    find_tool_error_prefix="\$$find_tool_envvar: "
+  fi
+  test x"$find_tool_res" != x \
+    || die "one of these is required: $find_tool_names"
+  ($find_tool_res --version </dev/null) >/dev/null 2>&1 \
+    || die "${find_tool_error_prefix}cannot run $find_tool_res --version"
+  eval "$find_tool_envvar=\$find_tool_res"
+  eval "export $find_tool_envvar"
+}
+
+# Find sha1sum, named gsha1sum on MacPorts, and shasum on Mac OS X 10.6.
+find_tool SHA1SUM sha1sum gsha1sum shasum
+
+# Override the default configuration, if necessary.
+# Make sure that bootstrap.conf is sourced from the current directory
+# if we were invoked as "sh bootstrap".
+case "$0" in
+  */*) test -r "$0.conf" && . "$0.conf" ;;
+  *) test -r "$0.conf" && . ./"$0.conf" ;;
+esac
 
-for f in NEWS README COPYING; do
-  if ! test -f $f; then
-    echo "required file $f is missing" 2>&1
-    exit 1
-  fi
+# Extra files from gnulib, which override files from other sources.
+test -z "${gnulib_extra_files}" && \
+  gnulib_extra_files="
+        $build_aux/install-sh
+        $build_aux/mdate-sh
+        $build_aux/texinfo.tex
+        $build_aux/depcomp
+        $build_aux/config.guess
+        $build_aux/config.sub
+        doc/INSTALL
+"
+
+if test "$vc_ignore" = auto; then
+  vc_ignore=
+  test -d .git && vc_ignore=.gitignore
+  test -d CVS && vc_ignore="$vc_ignore .cvsignore"
+fi
+
+# Translate configuration into internal form.
+
+# Parse options.
+
+for option
+do
+  case $option in
+  --help)
+    usage
+    exit;;
+  --gnulib-srcdir=*)
+    GNULIB_SRCDIR=${option#--gnulib-srcdir=};;
+  --skip-po)
+    SKIP_PO=t;;
+  --force)
+    checkout_only_file=;;
+  --copy)
+    copy=true;;
+  --bootstrap-sync)
+    bootstrap_sync=true;;
+  --no-bootstrap-sync)
+    bootstrap_sync=false;;
+  --no-git)
+    use_git=false;;
+  *)
+    die "$option: unknown option";;
+  esac
 done
 
-echo "generating source lists for liboctave/operators/module.mk..."
+$use_git || test -d "$GNULIB_SRCDIR" \
+  || die "Error: --no-git requires --gnulib-srcdir"
+
+if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
+  die "Bootstrapping from a non-checked-out distribution is risky."
+fi
+
+# Ensure that lines starting with ! sort last, per gitignore conventions
+# for whitelisting exceptions after a more generic blacklist pattern.
+sort_patterns() {
+  sort -u "$@" | sed '/^!/ {
+    H
+    d
+  }
+  $ {
+    P
+    x
+    s/^\n//
+  }' | sed '/^$/d'
+}
+
+# If $STR is not already on a line by itself in $FILE, insert it,
+# sorting the new contents of the file and replacing $FILE with the result.
+insert_sorted_if_absent() {
+  file=$1
+  str=$2
+  test -f $file || touch $file
+  echo "$str" | sort_patterns - $file | cmp -s - $file > /dev/null \
+    || { echo "$str" | sort_patterns - $file > $file.bak \
+      && mv $file.bak $file; } \
+    || die "insert_sorted_if_absent $file $str: failed"
+}
+
+# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with
+# insert_sorted_if_absent.
+insert_vc_ignore() {
+  vc_ignore_file="$1"
+  pattern="$2"
+  case $vc_ignore_file in
+  *.gitignore)
+    # A .gitignore entry that does not start with '/' applies
+    # recursively to subdirectories, so prepend '/' to every
+    # .gitignore entry.
+    pattern=$(echo "$pattern" | sed s,^,/,);;
+  esac
+  insert_sorted_if_absent "$vc_ignore_file" "$pattern"
+}
+
+# Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
+found_aux_dir=no
+grep '^[	 ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
+    >/dev/null && found_aux_dir=yes
+grep '^[	 ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \
+    >/dev/null && found_aux_dir=yes
+test $found_aux_dir = yes \
+  || die "configure.ac lacks 'AC_CONFIG_AUX_DIR([$build_aux])'; add it"
+
+# If $build_aux doesn't exist, create it now, otherwise some bits
+# below will malfunction.  If creating it, also mark it as ignored.
+if test ! -d $build_aux; then
+  mkdir $build_aux
+  for dot_ig in x $vc_ignore; do
+    test $dot_ig = x && continue
+    insert_vc_ignore $dot_ig $build_aux
+  done
+fi
 
-(cd liboctave/operators; ./config-ops.sh)
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+sort_ver() { # sort -V is not generally available
+  ver1="$1"
+  ver2="$2"
+
+  # split on '.' and compare each component
+  i=1
+  while : ; do
+    p1=$(echo "$ver1" | cut -d. -f$i)
+    p2=$(echo "$ver2" | cut -d. -f$i)
+    if [ ! "$p1" ]; then
+      echo "$1 $2"
+      break
+    elif [ ! "$p2" ]; then
+      echo "$2 $1"
+      break
+    elif [ ! "$p1" = "$p2" ]; then
+      if [ "$p1" -gt "$p2" ] 2>/dev/null; then # numeric comparison
+        echo "$2 $1"
+      elif [ "$p2" -gt "$p1" ] 2>/dev/null; then # numeric comparison
+        echo "$1 $2"
+      else # numeric, then lexicographic comparison
+        lp=$(printf "$p1\n$p2\n" | LANG=C sort -n | tail -n1)
+        if [ "$lp" = "$p2" ]; then
+          echo "$1 $2"
+        else
+          echo "$2 $1"
+        fi
+      fi
+      break
+    fi
+    i=$(($i+1))
+  done
+}
 
-echo "generating doc/interpreter/images.mk..."
+get_version() {
+  app=$1
+
+  $app --version >/dev/null 2>&1 || return 1
+
+  $app --version 2>&1 |
+  sed -n '# Move version to start of line.
+          s/.*[v ]\([0-9]\)/\1/
+
+          # Skip lines that do not start with version.
+          /^[0-9]/!d
+
+          # Remove characters after the version.
+          s/[^.a-z0-9-].*//
+
+          # The first component must be digits only.
+          s/^\([0-9]*\)[a-z-].*/\1/
+
+          #the following essentially does s/5.005/5.5/
+          s/\.0*\([1-9]\)/.\1/g
+          p
+          q'
+}
+
+check_versions() {
+  ret=0
+
+  while read app req_ver; do
+    # We only need libtoolize from the libtool package.
+    if test "$app" = libtool; then
+      app=libtoolize
+    fi
+    # Exempt git if --no-git is in effect.
+    if test "$app" = git; then
+      $use_git || continue
+    fi
+    # Honor $APP variables ($TAR, $AUTOCONF, etc.)
+    appvar=$(echo $app | LC_ALL=C tr '[a-z]-' '[A-Z]_')
+    test "$appvar" = TAR && appvar=AMTAR
+    case $appvar in
+        GZIP) ;; # Do not use $GZIP:  it contains gzip options.
+        *) eval "app=\${$appvar-$app}" ;;
+    esac
 
-(cd doc/interpreter; ./config-images.sh)
+    # Handle the still-experimental Automake-NG programs specially.
+    # They remain named as the mainstream Automake programs ("automake",
+    # and "aclocal") to avoid gratuitous incompatibilities with
+    # pre-existing usages (by, say, autoreconf, or custom autogen.sh
+    # scripts), but correctly identify themselves (as being part of
+    # "GNU automake-ng") when asked their version.
+    case $app in
+      automake-ng|aclocal-ng)
+        app=${app%-ng}
+        ($app --version | grep '(GNU automake-ng)') >/dev/null 2>&1 || {
+          warn_ "Error: '$app' not found or not from Automake-NG"
+          ret=1
+          continue
+        } ;;
+    esac
+    if [ "$req_ver" = "-" ]; then
+      # Merely require app to exist; not all prereq apps are well-behaved
+      # so we have to rely on $? rather than get_version.
+      $app --version >/dev/null 2>&1
+      if [ 126 -le $? ]; then
+        warn_ "Error: '$app' not found"
+        ret=1
+      fi
+    else
+      # Require app to produce a new enough version string.
+      inst_ver=$(get_version $app)
+      if [ ! "$inst_ver" ]; then
+        warn_ "Error: '$app' not found"
+        ret=1
+      else
+        latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2)
+        if [ ! "$latest_ver" = "$inst_ver" ]; then
+          warnf_ '%s\n'                                        \
+              "Error: '$app' version == $inst_ver is too old"  \
+              "       '$app' version >= $req_ver is required"
+          ret=1
+        fi
+      fi
+    fi
+  done
+
+  return $ret
+}
 
-echo "generating libinterp/dldfcn/module.mk..."
+print_versions() {
+  echo "Program    Min_version"
+  echo "----------------------"
+  printf %s "$buildreq"
+  echo "----------------------"
+  # can't depend on column -t
+}
+
+use_libtool=0
+# We'd like to use grep -E, to see if any of LT_INIT,
+# AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
+# but that's not portable enough (e.g., for Solaris).
+grep '^[	 ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \
+  && use_libtool=1
+grep '^[	 ]*LT_INIT' configure.ac >/dev/null \
+  && use_libtool=1
+if test $use_libtool = 1; then
+  find_tool LIBTOOLIZE glibtoolize libtoolize
+fi
+
+# gnulib-tool requires at least automake and autoconf.
+# If either is not listed, add it (with minimum version) as a prerequisite.
+case $buildreq in
+  *automake*) ;;
+  *) buildreq="automake 1.9
+$buildreq" ;;
+esac
+case $buildreq in
+  *autoconf*) ;;
+  *) buildreq="autoconf 2.59
+$buildreq" ;;
+esac
+
+# When we can deduce that gnulib-tool will require patch,
+# and when patch is not already listed as a prerequisite, add it, too.
+if test -d "$local_gl_dir" \
+    && ! find "$local_gl_dir" -name '*.diff' -exec false {} +; then
+  case $buildreq in
+    *patch*) ;;
+    *) buildreq="patch -
+$buildreq" ;;
+  esac
+fi
 
-(cd libinterp/dldfcn; ./config-module.sh)
+if ! printf "$buildreq" | check_versions; then
+  echo >&2
+  if test -f README-prereq; then
+    die "See README-prereq for how to get the prerequisite programs"
+  else
+    die "Please install the prerequisite programs"
+  fi
+fi
+
+echo "$0: Bootstrapping from checked-out $package sources..."
+
+# See if we can use gnulib's git-merge-changelog merge driver.
+if test -d .git && (git --version) >/dev/null 2>/dev/null ; then
+  if git config merge.merge-changelog.driver >/dev/null ; then
+    :
+  elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then
+    echo "$0: initializing git-merge-changelog driver"
+    git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver'
+    git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B'
+  else
+    echo "$0: consider installing git-merge-changelog from gnulib"
+  fi
+fi
+
+
+cleanup_gnulib() {
+  status=$?
+  rm -fr "$gnulib_path"
+  exit $status
+}
+
+git_modules_config () {
+  test -f .gitmodules && git config --file .gitmodules "$@"
+}
+
+gnulib_path=$(git_modules_config submodule.gnulib.path)
+test -z "$gnulib_path" && gnulib_path=gnulib
+
+# Get gnulib files.
+
+case ${GNULIB_SRCDIR--} in
+-)
+  if git_modules_config submodule.gnulib.url >/dev/null; then
+    echo "$0: getting gnulib files..."
+    git submodule init || exit $?
+    git submodule update || exit $?
 
-echo "bootstrapping..."
+  elif [ ! -d "$gnulib_path" ]; then
+    echo "$0: getting gnulib files..."
+
+    trap cleanup_gnulib 1 2 13 15
+
+    shallow=
+    git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2'
+    git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" ||
+      cleanup_gnulib
+
+    trap - 1 2 13 15
+  fi
+  GNULIB_SRCDIR=$gnulib_path
+  ;;
+*)
+  # Use GNULIB_SRCDIR as a reference.
+  if test -d "$GNULIB_SRCDIR"/.git && \
+        git_modules_config submodule.gnulib.url >/dev/null; then
+    echo "$0: getting gnulib files..."
+    if git submodule -h|grep -- --reference > /dev/null; then
+      # Prefer the one-liner available in git 1.6.4 or newer.
+      git submodule update --init --reference "$GNULIB_SRCDIR" \
+        "$gnulib_path" || exit $?
+    else
+      # This fallback allows at least git 1.5.5.
+      if test -f "$gnulib_path"/gnulib-tool; then
+        # Since file already exists, assume submodule init already complete.
+        git submodule update || exit $?
+      else
+        # Older git can't clone into an empty directory.
+        rmdir "$gnulib_path" 2>/dev/null
+        git clone --reference "$GNULIB_SRCDIR" \
+          "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \
+          && git submodule init && git submodule update \
+          || exit $?
+      fi
+    fi
+    GNULIB_SRCDIR=$gnulib_path
+  fi
+  ;;
+esac
+
+if $bootstrap_sync; then
+  cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || {
+    echo "$0: updating bootstrap and restarting..."
+    exec sh -c \
+      'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
+      -- "$GNULIB_SRCDIR/build-aux/bootstrap" \
+      "$0" "$@" --no-bootstrap-sync
+  }
+fi
 
-build-aux/bootstrap_gnulib "$@"
+gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
+<$gnulib_tool || exit $?
+
+# Get translations.
+
+download_po_files() {
+  subdir=$1
+  domain=$2
+  echo "$me: getting translations into $subdir for $domain..."
+  cmd=$(printf "$po_download_command_format" "$domain" "$subdir")
+  eval "$cmd" && return
+  # Fallback to HTTP.
+  cmd=$(printf "$po_download_command_format2" "$subdir" "$domain")
+  eval "$cmd"
+}
+
+# Mirror .po files to $po_dir/.reference and copy only the new
+# or modified ones into $po_dir.  Also update $po_dir/LINGUAS.
+# Note po files that exist locally only are left in $po_dir but will
+# not be included in LINGUAS and hence will not be distributed.
+update_po_files() {
+  # Directory containing primary .po files.
+  # Overwrite them only when we're sure a .po file is new.
+  po_dir=$1
+  domain=$2
+
+  # Mirror *.po files into this dir.
+  # Usually contains *.s1 checksum files.
+  ref_po_dir="$po_dir/.reference"
+
+  test -d $ref_po_dir || mkdir $ref_po_dir || return
+  download_po_files $ref_po_dir $domain \
+    && ls "$ref_po_dir"/*.po 2>/dev/null |
+      sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return
+
+  langs=$(cd $ref_po_dir && echo *.po | sed 's/\.po//g')
+  test "$langs" = '*' && langs=x
+  for po in $langs; do
+    case $po in x) continue;; esac
+    new_po="$ref_po_dir/$po.po"
+    cksum_file="$ref_po_dir/$po.s1"
+    if ! test -f "$cksum_file" ||
+        ! test -f "$po_dir/$po.po" ||
+        ! $SHA1SUM -c --status "$cksum_file" \
+            < "$new_po" > /dev/null; then
+      echo "$me: updated $po_dir/$po.po..."
+      cp "$new_po" "$po_dir/$po.po" \
+          && $SHA1SUM < "$new_po" > "$cksum_file"
+    fi
+  done
+}
+
+case $SKIP_PO in
+'')
+  if test -d po; then
+    update_po_files po $package || exit
+  fi
+
+  if test -d runtime-po; then
+    update_po_files runtime-po $package-runtime || exit
+  fi;;
+esac
+
+symlink_to_dir()
+{
+  src=$1/$2
+  dst=${3-$2}
+
+  test -f "$src" && {
+
+    # If the destination directory doesn't exist, create it.
+    # This is required at least for "lib/uniwidth/cjk.h".
+    dst_dir=$(dirname "$dst")
+    if ! test -d "$dst_dir"; then
+      mkdir -p "$dst_dir"
+
+      # If we've just created a directory like lib/uniwidth,
+      # tell version control system(s) it's ignorable.
+      # FIXME: for now, this does only one level
+      parent=$(dirname "$dst_dir")
+      for dot_ig in x $vc_ignore; do
+        test $dot_ig = x && continue
+        ig=$parent/$dot_ig
+        insert_vc_ignore $ig "${dst_dir##*/}"
+      done
+    fi
+
+    if $copy; then
+      {
+        test ! -h "$dst" || {
+          echo "$me: rm -f $dst" &&
+          rm -f "$dst"
+        }
+      } &&
+      test -f "$dst" &&
+      cmp -s "$src" "$dst" || {
+        echo "$me: cp -fp $src $dst" &&
+        cp -fp "$src" "$dst"
+      }
+    else
+      # Leave any existing symlink alone, if it already points to the source,
+      # so that broken build tools that care about symlink times
+      # aren't confused into doing unnecessary builds.  Conversely, if the
+      # existing symlink's time stamp is older than the source, make it afresh,
+      # so that broken tools aren't confused into skipping needed builds.  See
+      # <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00326.html>.
+      test -h "$dst" &&
+      src_ls=$(ls -diL "$src" 2>/dev/null) && set $src_ls && src_i=$1 &&
+      dst_ls=$(ls -diL "$dst" 2>/dev/null) && set $dst_ls && dst_i=$1 &&
+      test "$src_i" = "$dst_i" &&
+      both_ls=$(ls -dt "$src" "$dst") &&
+      test "X$both_ls" = "X$dst$nl$src" || {
+        dot_dots=
+        case $src in
+        /*) ;;
+        *)
+          case /$dst/ in
+          *//* | */../* | */./* | /*/*/*/*/*/)
+             die "invalid symlink calculation: $src -> $dst";;
+          /*/*/*/*/)    dot_dots=../../../;;
+          /*/*/*/)      dot_dots=../../;;
+          /*/*/)        dot_dots=../;;
+          esac;;
+        esac
+
+        echo "$me: ln -fs $dot_dots$src $dst" &&
+        ln -fs "$dot_dots$src" "$dst"
+      }
+    fi
+  }
+}
+
+version_controlled_file() {
+  parent=$1
+  file=$2
+  if test -d .git; then
+    git rm -n "$file" > /dev/null 2>&1
+  elif test -d .svn; then
+    svn log -r HEAD "$file" > /dev/null 2>&1
+  elif test -d CVS; then
+    grep -F "/${file##*/}/" "$parent/CVS/Entries" 2>/dev/null |
+             grep '^/[^/]*/[0-9]' > /dev/null
+  else
+    warn_ "no version control for $file?"
+    false
+  fi
+}
+
+# NOTE: we have to be careful to run both autopoint and libtoolize
+# before gnulib-tool, since gnulib-tool is likely to provide newer
+# versions of files "installed" by these two programs.
+# Then, *after* gnulib-tool (see below), we have to be careful to
+# run autoreconf in such a way that it does not run either of these
+# two just-pre-run programs.
+
+# Import from gettext.
+with_gettext=yes
+grep '^[	 ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
+    with_gettext=no
+
+if test $with_gettext = yes || test $use_libtool = 1; then
+
+  tempbase=.bootstrap$$
+  trap "rm -f $tempbase.0 $tempbase.1" 1 2 13 15
+
+  > $tempbase.0 > $tempbase.1 &&
+  find . ! -type d -print | sort > $tempbase.0 || exit
 
-## G77 is obsolete, but it is still the first option in the autoconf Fortran
-## macros.  We should avoid it, because mixing old versions of g77 with modern
-## gcc and g++ causes trouble.  The following will make it harder (but not
-## impossible) for users to make this mistake.
-##
-## FIXME -- we should really work to fix autoconf so that it prefers gfortran
-## over g77 even when searching for a Fortran 77 compiler.
+  if test $with_gettext = yes; then
+    # Released autopoint has the tendency to install macros that have been
+    # obsoleted in current gnulib, so run this before gnulib-tool.
+    echo "$0: $AUTOPOINT --force"
+    $AUTOPOINT --force || exit
+  fi
+
+  # Autoreconf runs aclocal before libtoolize, which causes spurious
+  # warnings if the initial aclocal is confused by the libtoolized
+  # (or worse out-of-date) macro directory.
+  # libtoolize 1.9b added the --install option; but we support back
+  # to libtoolize 1.5.22, where the install action was default.
+  if test $use_libtool = 1; then
+    install=
+    case $($LIBTOOLIZE --help) in
+      *--install*) install=--install ;;
+    esac
+    echo "running: $LIBTOOLIZE $install --copy"
+    $LIBTOOLIZE $install --copy
+  fi
+
+  find . ! -type d -print | sort >$tempbase.1
+  old_IFS=$IFS
+  IFS=$nl
+  for file in $(comm -13 $tempbase.0 $tempbase.1); do
+    IFS=$old_IFS
+    parent=${file%/*}
+    version_controlled_file "$parent" "$file" || {
+      for dot_ig in x $vc_ignore; do
+        test $dot_ig = x && continue
+        ig=$parent/$dot_ig
+        insert_vc_ignore "$ig" "${file##*/}"
+      done
+    }
+  done
+  IFS=$old_IFS
+
+  rm -f $tempbase.0 $tempbase.1
+  trap - 1 2 13 15
+fi
+
+# Import from gnulib.
+
+gnulib_tool_options="\
+ --import\
+ --no-changelog\
+ --aux-dir $build_aux\
+ --doc-base $doc_base\
+ --lib $gnulib_name\
+ --m4-base $m4_base/\
+ --source-base $source_base/\
+ --tests-base $tests_base\
+ --local-dir $local_gl_dir\
+ $gnulib_tool_option_extras\
+"
+if test $use_libtool = 1; then
+  case "$gnulib_tool_options " in
+    *' --libtool '*) ;;
+    *) gnulib_tool_options="$gnulib_tool_options --libtool" ;;
+  esac
+fi
+echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
+$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
+
+for file in $gnulib_files; do
+  symlink_to_dir "$GNULIB_SRCDIR" $file \
+    || die "failed to symlink $file"
+done
+
+bootstrap_post_import_hook \
+  || die "bootstrap_post_import_hook failed"
+
+# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
+# gnulib-populated directories.  Such .m4 files would cause aclocal to fail.
+# The following requires GNU find 4.2.3 or newer.  Considering the usual
+# portability constraints of this script, that may seem a very demanding
+# requirement, but it should be ok.  Ignore any failure, which is fine,
+# since this is only a convenience to help developers avoid the relatively
+# unusual case in which a symlinked-to .m4 file is git-removed from gnulib
+# between successive runs of this script.
+find "$m4_base" "$source_base" \
+  -depth \( -name '*.m4' -o -name '*.[ch]' \) \
+  -type l -xtype l -delete > /dev/null 2>&1
 
-echo "replacing all occurrences of g77 with gfortran in configure script..."
+# Some systems (RHEL 5) are using ancient autotools, for which the
+# --no-recursive option had not been invented.  Detect that lack and
+# omit the option when it's not supported.  FIXME in 2017: remove this
+# hack when RHEL 5 autotools are updated, or when they become irrelevant.
+no_recursive=
+case $($AUTORECONF --help) in
+  *--no-recursive*) no_recursive=--no-recursive;;
+esac
+
+# Tell autoreconf not to invoke autopoint or libtoolize; they were run above.
+echo "running: AUTOPOINT=true LIBTOOLIZE=true " \
+    "$AUTORECONF --verbose --install $no_recursive -I $m4_base $ACLOCAL_FLAGS"
+AUTOPOINT=true LIBTOOLIZE=true \
+    $AUTORECONF --verbose --install $no_recursive -I $m4_base $ACLOCAL_FLAGS \
+  || die "autoreconf failed"
+
+# Get some extra files from gnulib, overriding existing files.
+for file in $gnulib_extra_files; do
+  case $file in
+  */INSTALL) dst=INSTALL;;
+  build-aux/*) dst=$build_aux/${file#build-aux/};;
+  *) dst=$file;;
+  esac
+  symlink_to_dir "$GNULIB_SRCDIR" $file $dst \
+    || die "failed to symlink $file"
+done
+
+if test $with_gettext = yes; then
+  # Create gettext configuration.
+  echo "$0: Creating po/Makevars from po/Makevars.template ..."
+  rm -f po/Makevars
+  sed '
+    /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
+    /^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/
+    /^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$MSGID_BUGS_ADDRESS"'|
+    /^XGETTEXT_OPTIONS *=/{
+      s/$/ \\/
+      a\
+          '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
+    }
+  ' po/Makevars.template >po/Makevars \
+    || die 'cannot generate po/Makevars'
 
-sed 's/g77/gfortran/g' configure > configure.t
-mv configure.t configure
-chmod 755 configure
+  # If the 'gettext' module is in use, grab the latest Makefile.in.in.
+  # If only the 'gettext-h' module is in use, assume autopoint already
+  # put the correct version of this file into place.
+  case $gnulib_modules in
+  *gettext-h*) ;;
+  *gettext*)
+    cp $GNULIB_SRCDIR/build-aux/po/Makefile.in.in po/Makefile.in.in \
+      || die "cannot create po/Makefile.in.in"
+    ;;
+  esac
+
+  if test -d runtime-po; then
+    # Similarly for runtime-po/Makevars, but not quite the same.
+    rm -f runtime-po/Makevars
+    sed '
+      /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/
+      /^subdir *=.*/s/=.*/= runtime-po/
+      /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
+      /^XGETTEXT_OPTIONS *=/{
+        s/$/ \\/
+        a\
+            '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+}
+      }
+    ' po/Makevars.template >runtime-po/Makevars \
+    || die 'cannot generate runtime-po/Makevars'
+
+    # Copy identical files from po to runtime-po.
+    (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
+  fi
+fi
+
+bootstrap_epilogue
+
+echo "$0: done.  Now you can run './configure'."
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
rename from build-aux/bootstrap_gnulib.conf
rename to bootstrap.conf
--- a/build-aux/bootstrap_gnulib.conf
+++ b/bootstrap.conf
@@ -140,3 +140,53 @@
 gnulib_tool_option_extras="--libtool"
 gnulib_name="libgnu"
 source_base="libgnu"
+
+## Use --foreign since we auto-generate the AUTHORS file and the default
+## --gnu strictness level doesn't like it if the AUTHORS file is missing.
+
+AUTOMAKE="automake --foreign --warnings=no-portability"
+export AUTOMAKE
+
+bootstrap_post_import_hook ()
+{
+  ## Check for files that automake --gnu would normally look for, except
+  ## AUTHORS, which we autogenerate from the documentation files along
+  ## with building the rest of Octave, and INSTALL, which is linked from
+  ## gnulib/doc/INSTALL by the bootstrap script.
+
+  for f in NEWS README COPYING; do
+    if ! test -f $f; then
+      echo "required file $f is missing" 2>&1
+      exit 1
+    fi
+  done
+
+  echo "generating source lists for liboctave/operators/module.mk..."
+
+  (cd liboctave/operators; ./config-ops.sh)
+
+  echo "generating doc/interpreter/images.mk..."
+
+  (cd doc/interpreter; ./config-images.sh)
+
+  echo "generating libinterp/dldfcn/module.mk..."
+
+  (cd libinterp/dldfcn; ./config-module.sh)
+}
+
+bootstrap_epilogue ()
+{
+  ## G77 is obsolete, but it is still the first option in the autoconf
+  ## Fortran macros.  We should avoid it, because mixing old versions of
+  ## g77 with modern gcc and g++ causes trouble.  The following will
+  ## make it harder (but not impossible) for users to make this mistake.
+  ##
+  ## FIXME -- we should really work to fix autoconf so that it prefers
+  ## gfortran over g77 even when searching for a Fortran 77 compiler.
+
+  echo "replacing all occurrences of g77 with gfortran in configure script..."
+
+  sed 's/g77/gfortran/g' configure > configure.t
+  mv configure.t configure
+  chmod 755 configure
+}
deleted file mode 100755
--- a/build-aux/bootstrap_gnulib
+++ /dev/null
@@ -1,978 +0,0 @@
-#! /bin/sh
-# Print a version string.
-scriptversion=2012-07-19.14; # UTC
-
-# Bootstrap this package from checked-out sources.
-
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
-
-# 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 3 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, see <http://www.gnu.org/licenses/>.
-
-# Originally written by Paul Eggert.  The canonical version of this
-# script is maintained as build-aux/bootstrap in gnulib, however, to
-# be useful to your project, you should place a copy of it under
-# version control in the top-level directory of your project.  The
-# intent is that all customization can be done with a bootstrap.conf
-# file also maintained in your version control; gnulib comes with a
-# template build-aux/bootstrap.conf to get you started.
-
-# Please report bugs or propose patches to bug-gnulib@gnu.org.
-
-nl='
-'
-
-# Ensure file names are sorted consistently across platforms.
-LC_ALL=C
-export LC_ALL
-
-# Ensure that CDPATH is not set.  Otherwise, the output from cd
-# would cause trouble in at least one use below.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-local_gl_dir=gl
-
-me=$0
-
-usage() {
-  cat <<EOF
-Usage: $me [OPTION]...
-Bootstrap this package from the checked-out sources.
-
-Options:
- --gnulib-srcdir=DIRNAME  specify the local directory where gnulib
-                          sources reside.  Use this if you already
-                          have gnulib sources on your machine, and
-                          do not want to waste your bandwidth downloading
-                          them again.  Defaults to \$GNULIB_SRCDIR
- --bootstrap-sync         if this bootstrap script is not identical to
-                          the version in the local gnulib sources,
-                          update this script, and then restart it with
-                          /bin/sh or the shell \$CONFIG_SHELL
- --no-bootstrap-sync      do not check whether bootstrap is out of sync
- --copy                   copy files instead of creating symbolic links
- --force                  attempt to bootstrap even if the sources seem
-                          not to have been checked out
- --no-git                 do not use git to update gnulib.  Requires that
-                          --gnulib-srcdir point to a correct gnulib snapshot
- --skip-po                do not download po files
-
-If the file $me.conf exists in the same directory as this script, its
-contents are read as shell variables to configure the bootstrap.
-
-For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR
-are honored.
-
-Running without arguments will suffice in most cases.
-EOF
-}
-
-# warnf_ FORMAT-STRING ARG1...
-warnf_ ()
-{
-  warnf_format_=$1
-  shift
-  nl='
-'
-  case $* in
-    *$nl*) me_=$(printf "$me"|tr "$nl|" '??')
-       printf "$warnf_format_" "$@" | sed "s|^|$me_: |" ;;
-    *) printf "$me: $warnf_format_" "$@" ;;
-  esac >&2
-}
-
-# warn_ WORD1...
-warn_ ()
-{
-  # If IFS does not start with ' ', set it and emit the warning in a subshell.
-  case $IFS in
-    ' '*) warnf_ '%s\n' "$*";;
-    *)    (IFS=' '; warn_ "$@");;
-  esac
-}
-
-# die WORD1...
-die() { warn_ "$@"; exit 1; }
-
-# Configuration.
-
-# Name of the Makefile.am
-gnulib_mk=gnulib.mk
-
-# List of gnulib modules needed.
-gnulib_modules=
-
-# Any gnulib files needed that are not in modules.
-gnulib_files=
-
-: ${AUTOPOINT=autopoint}
-: ${AUTORECONF=autoreconf}
-
-# A function to be called right after gnulib-tool is run.
-# Override it via your own definition in bootstrap.conf.
-bootstrap_post_import_hook() { :; }
-
-# A function to be called after everything else in this script.
-# Override it via your own definition in bootstrap.conf.
-bootstrap_epilogue() { :; }
-
-# The command to download all .po files for a specified domain into
-# a specified directory.  Fill in the first %s is the domain name, and
-# the second with the destination directory.  Use rsync's -L and -r
-# options because the latest/%s directory and the .po files within are
-# all symlinks.
-po_download_command_format=\
-"rsync --delete --exclude '*.s1' -Lrtvz \
- 'translationproject.org::tp/latest/%s/' '%s'"
-
-# Fallback for downloading .po files (if rsync fails).
-po_download_command_format2=\
-"wget --mirror -nd -q -np -A.po -P '%s' \
- http://translationproject.org/latest/%s/"
-
-extract_package_name='
-  /^AC_INIT(/{
-     /.*,.*,.*, */{
-       s///
-       s/[][]//g
-       s/)$//
-       p
-       q
-     }
-     s/AC_INIT(\[*//
-     s/]*,.*//
-     s/^GNU //
-     y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
-     s/[^A-Za-z0-9_]/-/g
-     p
-  }
-'
-package=$(sed -n "$extract_package_name" configure.ac) \
-  || die 'cannot find package name in configure.ac'
-gnulib_name=lib$package
-
-build_aux=build-aux
-source_base=lib
-m4_base=m4
-doc_base=doc
-tests_base=tests
-gnulib_extra_files=''
-
-# Additional gnulib-tool options to use.  Use "\newline" to break lines.
-gnulib_tool_option_extras=
-
-# Other locale categories that need message catalogs.
-EXTRA_LOCALE_CATEGORIES=
-
-# Additional xgettext options to use.  Use "\\\newline" to break lines.
-XGETTEXT_OPTIONS='\\\
- --flag=_:1:pass-c-format\\\
- --flag=N_:1:pass-c-format\\\
- --flag=error:3:c-format --flag=error_at_line:5:c-format\\\
-'
-
-# Package bug report address and copyright holder for gettext files
-COPYRIGHT_HOLDER='Free Software Foundation, Inc.'
-MSGID_BUGS_ADDRESS=bug-$package@gnu.org
-
-# Files we don't want to import.
-excluded_files=
-
-# File that should exist in the top directory of a checked out hierarchy,
-# but not in a distribution tarball.
-checkout_only_file=README-hacking
-
-# Whether to use copies instead of symlinks.
-copy=false
-
-# Set this to '.cvsignore .gitignore' in bootstrap.conf if you want
-# those files to be generated in directories like lib/, m4/, and po/.
-# Or set it to 'auto' to make this script select which to use based
-# on which version control system (if any) is used in the source directory.
-vc_ignore=auto
-
-# Set this to true in bootstrap.conf to enable --bootstrap-sync by
-# default.
-bootstrap_sync=false
-
-# Don't use git to update gnulib sources. We keep gnulib under a
-# Mercurial subrepository instead
-use_git=false
-GNULIB_SRCDIR=gnulib-hg
-
-# find_tool ENVVAR NAMES...
-# -------------------------
-# Search for a required program.  Use the value of ENVVAR, if set,
-# otherwise find the first of the NAMES that can be run (i.e.,
-# supports --version).  If found, set ENVVAR to the program name,
-# die otherwise.
-#
-# FIXME: code duplication, see also gnu-web-doc-update.
-find_tool ()
-{
-  find_tool_envvar=$1
-  shift
-  find_tool_names=$@
-  eval "find_tool_res=\$$find_tool_envvar"
-  if test x"$find_tool_res" = x; then
-    for i
-    do
-      if ($i --version </dev/null) >/dev/null 2>&1; then
-       find_tool_res=$i
-       break
-      fi
-    done
-  else
-    find_tool_error_prefix="\$$find_tool_envvar: "
-  fi
-  test x"$find_tool_res" != x \
-    || die "one of these is required: $find_tool_names"
-  ($find_tool_res --version </dev/null) >/dev/null 2>&1 \
-    || die "${find_tool_error_prefix}cannot run $find_tool_res --version"
-  eval "$find_tool_envvar=\$find_tool_res"
-  eval "export $find_tool_envvar"
-}
-
-# Find sha1sum, named gsha1sum on MacPorts, and shasum on Mac OS X 10.6.
-find_tool SHA1SUM sha1sum gsha1sum shasum
-
-# Override the default configuration, if necessary.
-# Make sure that bootstrap.conf is sourced from the current directory
-# if we were invoked as "sh bootstrap".
-case "$0" in
-  */*) test -r "$0.conf" && . "$0.conf" ;;
-  *) test -r "$0.conf" && . ./"$0.conf" ;;
-esac
-
-# Extra files from gnulib, which override files from other sources.
-test -z "${gnulib_extra_files}" && \
-  gnulib_extra_files="
-        $build_aux/install-sh
-        $build_aux/mdate-sh
-        $build_aux/texinfo.tex
-        $build_aux/depcomp
-        $build_aux/config.guess
-        $build_aux/config.sub
-        doc/INSTALL
-"
-
-if test "$vc_ignore" = auto; then
-  vc_ignore=
-  test -d .git && vc_ignore=.gitignore
-  test -d CVS && vc_ignore="$vc_ignore .cvsignore"
-fi
-
-# Translate configuration into internal form.
-
-# Parse options.
-
-for option
-do
-  case $option in
-  --help)
-    usage
-    exit;;
-  --gnulib-srcdir=*)
-    GNULIB_SRCDIR=${option#--gnulib-srcdir=};;
-  --skip-po)
-    SKIP_PO=t;;
-  --force)
-    checkout_only_file=;;
-  --copy)
-    copy=true;;
-  --bootstrap-sync)
-    bootstrap_sync=true;;
-  --no-bootstrap-sync)
-    bootstrap_sync=false;;
-  --no-git)
-    use_git=false;;
-  *)
-    die "$option: unknown option";;
-  esac
-done
-
-$use_git || test -d "$GNULIB_SRCDIR" \
-  || die "Error: --no-git requires --gnulib-srcdir"
-
-if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
-  die "Bootstrapping from a non-checked-out distribution is risky."
-fi
-
-# Ensure that lines starting with ! sort last, per gitignore conventions
-# for whitelisting exceptions after a more generic blacklist pattern.
-sort_patterns() {
-  sort -u "$@" | sed '/^!/ {
-    H
-    d
-  }
-  $ {
-    P
-    x
-    s/^\n//
-  }' | sed '/^$/d'
-}
-
-# If $STR is not already on a line by itself in $FILE, insert it,
-# sorting the new contents of the file and replacing $FILE with the result.
-insert_sorted_if_absent() {
-  file=$1
-  str=$2
-  test -f $file || touch $file
-  echo "$str" | sort_patterns - $file | cmp -s - $file > /dev/null \
-    || { echo "$str" | sort_patterns - $file > $file.bak \
-      && mv $file.bak $file; } \
-    || die "insert_sorted_if_absent $file $str: failed"
-}
-
-# Adjust $PATTERN for $VC_IGNORE_FILE and insert it with
-# insert_sorted_if_absent.
-insert_vc_ignore() {
-  vc_ignore_file="$1"
-  pattern="$2"
-  case $vc_ignore_file in
-  *.gitignore)
-    # A .gitignore entry that does not start with '/' applies
-    # recursively to subdirectories, so prepend '/' to every
-    # .gitignore entry.
-    pattern=$(echo "$pattern" | sed s,^,/,);;
-  esac
-  insert_sorted_if_absent "$vc_ignore_file" "$pattern"
-}
-
-# Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
-found_aux_dir=no
-grep '^[	 ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
-    >/dev/null && found_aux_dir=yes
-grep '^[	 ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \
-    >/dev/null && found_aux_dir=yes
-test $found_aux_dir = yes \
-  || die "configure.ac lacks 'AC_CONFIG_AUX_DIR([$build_aux])'; add it"
-
-# If $build_aux doesn't exist, create it now, otherwise some bits
-# below will malfunction.  If creating it, also mark it as ignored.
-if test ! -d $build_aux; then
-  mkdir $build_aux
-  for dot_ig in x $vc_ignore; do
-    test $dot_ig = x && continue
-    insert_vc_ignore $dot_ig $build_aux
-  done
-fi
-
-# Note this deviates from the version comparison in automake
-# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
-# but this should suffice as we won't be specifying old
-# version formats or redundant trailing .0 in bootstrap.conf.
-# If we did want full compatibility then we should probably
-# use m4_version_compare from autoconf.
-sort_ver() { # sort -V is not generally available
-  ver1="$1"
-  ver2="$2"
-
-  # split on '.' and compare each component
-  i=1
-  while : ; do
-    p1=$(echo "$ver1" | cut -d. -f$i)
-    p2=$(echo "$ver2" | cut -d. -f$i)
-    if [ ! "$p1" ]; then
-      echo "$1 $2"
-      break
-    elif [ ! "$p2" ]; then
-      echo "$2 $1"
-      break
-    elif [ ! "$p1" = "$p2" ]; then
-      if [ "$p1" -gt "$p2" ] 2>/dev/null; then # numeric comparison
-        echo "$2 $1"
-      elif [ "$p2" -gt "$p1" ] 2>/dev/null; then # numeric comparison
-        echo "$1 $2"
-      else # numeric, then lexicographic comparison
-        lp=$(printf "$p1\n$p2\n" | LANG=C sort -n | tail -n1)
-        if [ "$lp" = "$p2" ]; then
-          echo "$1 $2"
-        else
-          echo "$2 $1"
-        fi
-      fi
-      break
-    fi
-    i=$(($i+1))
-  done
-}
-
-get_version() {
-  app=$1
-
-  $app --version >/dev/null 2>&1 || return 1
-
-  $app --version 2>&1 |
-  sed -n '# Move version to start of line.
-          s/.*[v ]\([0-9]\)/\1/
-
-          # Skip lines that do not start with version.
-          /^[0-9]/!d
-
-          # Remove characters after the version.
-          s/[^.a-z0-9-].*//
-
-          # The first component must be digits only.
-          s/^\([0-9]*\)[a-z-].*/\1/
-
-          #the following essentially does s/5.005/5.5/
-          s/\.0*\([1-9]\)/.\1/g
-          p
-          q'
-}
-
-check_versions() {
-  ret=0
-
-  while read app req_ver; do
-    # We only need libtoolize from the libtool package.
-    if test "$app" = libtool; then
-      app=libtoolize
-    fi
-    # Exempt git if --no-git is in effect.
-    if test "$app" = git; then
-      $use_git || continue
-    fi
-    # Honor $APP variables ($TAR, $AUTOCONF, etc.)
-    appvar=$(echo $app | LC_ALL=C tr '[a-z]-' '[A-Z]_')
-    test "$appvar" = TAR && appvar=AMTAR
-    case $appvar in
-        GZIP) ;; # Do not use $GZIP:  it contains gzip options.
-        *) eval "app=\${$appvar-$app}" ;;
-    esac
-
-    # Handle the still-experimental Automake-NG programs specially.
-    # They remain named as the mainstream Automake programs ("automake",
-    # and "aclocal") to avoid gratuitous incompatibilities with
-    # pre-existing usages (by, say, autoreconf, or custom autogen.sh
-    # scripts), but correctly identify themselves (as being part of
-    # "GNU automake-ng") when asked their version.
-    case $app in
-      automake-ng|aclocal-ng)
-        app=${app%-ng}
-        ($app --version | grep '(GNU automake-ng)') >/dev/null 2>&1 || {
-          warn_ "Error: '$app' not found or not from Automake-NG"
-          ret=1
-          continue
-        } ;;
-    esac
-    if [ "$req_ver" = "-" ]; then
-      # Merely require app to exist; not all prereq apps are well-behaved
-      # so we have to rely on $? rather than get_version.
-      $app --version >/dev/null 2>&1
-      if [ 126 -le $? ]; then
-        warn_ "Error: '$app' not found"
-        ret=1
-      fi
-    else
-      # Require app to produce a new enough version string.
-      inst_ver=$(get_version $app)
-      if [ ! "$inst_ver" ]; then
-        warn_ "Error: '$app' not found"
-        ret=1
-      else
-        latest_ver=$(sort_ver $req_ver $inst_ver | cut -d' ' -f2)
-        if [ ! "$latest_ver" = "$inst_ver" ]; then
-          warnf_ '%s\n'                                        \
-              "Error: '$app' version == $inst_ver is too old"  \
-              "       '$app' version >= $req_ver is required"
-          ret=1
-        fi
-      fi
-    fi
-  done
-
-  return $ret
-}
-
-print_versions() {
-  echo "Program    Min_version"
-  echo "----------------------"
-  printf %s "$buildreq"
-  echo "----------------------"
-  # can't depend on column -t
-}
-
-use_libtool=0
-# We'd like to use grep -E, to see if any of LT_INIT,
-# AC_PROG_LIBTOOL, AM_PROG_LIBTOOL is used in configure.ac,
-# but that's not portable enough (e.g., for Solaris).
-grep '^[	 ]*A[CM]_PROG_LIBTOOL' configure.ac >/dev/null \
-  && use_libtool=1
-grep '^[	 ]*LT_INIT' configure.ac >/dev/null \
-  && use_libtool=1
-if test $use_libtool = 1; then
-  find_tool LIBTOOLIZE glibtoolize libtoolize
-fi
-
-# gnulib-tool requires at least automake and autoconf.
-# If either is not listed, add it (with minimum version) as a prerequisite.
-case $buildreq in
-  *automake*) ;;
-  *) buildreq="automake 1.9
-$buildreq" ;;
-esac
-case $buildreq in
-  *autoconf*) ;;
-  *) buildreq="autoconf 2.59
-$buildreq" ;;
-esac
-
-# When we can deduce that gnulib-tool will require patch,
-# and when patch is not already listed as a prerequisite, add it, too.
-if test -d "$local_gl_dir" \
-    && ! find "$local_gl_dir" -name '*.diff' -exec false {} +; then
-  case $buildreq in
-    *patch*) ;;
-    *) buildreq="patch -
-$buildreq" ;;
-  esac
-fi
-
-if ! printf "$buildreq" | check_versions; then
-  echo >&2
-  if test -f README-prereq; then
-    die "See README-prereq for how to get the prerequisite programs"
-  else
-    die "Please install the prerequisite programs"
-  fi
-fi
-
-echo "$0: Bootstrapping from checked-out $package sources..."
-
-# See if we can use gnulib's git-merge-changelog merge driver.
-if test -d .git && (git --version) >/dev/null 2>/dev/null ; then
-  if git config merge.merge-changelog.driver >/dev/null ; then
-    :
-  elif (git-merge-changelog --version) >/dev/null 2>/dev/null ; then
-    echo "$0: initializing git-merge-changelog driver"
-    git config merge.merge-changelog.name 'GNU-style ChangeLog merge driver'
-    git config merge.merge-changelog.driver 'git-merge-changelog %O %A %B'
-  else
-    echo "$0: consider installing git-merge-changelog from gnulib"
-  fi
-fi
-
-
-cleanup_gnulib() {
-  status=$?
-  rm -fr "$gnulib_path"
-  exit $status
-}
-
-git_modules_config () {
-  test -f .gitmodules && git config --file .gitmodules "$@"
-}
-
-gnulib_path=$(git_modules_config submodule.gnulib.path)
-test -z "$gnulib_path" && gnulib_path=gnulib
-
-# Get gnulib files.
-
-case ${GNULIB_SRCDIR--} in
--)
-  if git_modules_config submodule.gnulib.url >/dev/null; then
-    echo "$0: getting gnulib files..."
-    git submodule init || exit $?
-    git submodule update || exit $?
-
-  elif [ ! -d "$gnulib_path" ]; then
-    echo "$0: getting gnulib files..."
-
-    trap cleanup_gnulib 1 2 13 15
-
-    shallow=
-    git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2'
-    git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" ||
-      cleanup_gnulib
-
-    trap - 1 2 13 15
-  fi
-  GNULIB_SRCDIR=$gnulib_path
-  ;;
-*)
-  # Use GNULIB_SRCDIR as a reference.
-  if test -d "$GNULIB_SRCDIR"/.git && \
-        git_modules_config submodule.gnulib.url >/dev/null; then
-    echo "$0: getting gnulib files..."
-    if git submodule -h|grep -- --reference > /dev/null; then
-      # Prefer the one-liner available in git 1.6.4 or newer.
-      git submodule update --init --reference "$GNULIB_SRCDIR" \
-        "$gnulib_path" || exit $?
-    else
-      # This fallback allows at least git 1.5.5.
-      if test -f "$gnulib_path"/gnulib-tool; then
-        # Since file already exists, assume submodule init already complete.
-        git submodule update || exit $?
-      else
-        # Older git can't clone into an empty directory.
-        rmdir "$gnulib_path" 2>/dev/null
-        git clone --reference "$GNULIB_SRCDIR" \
-          "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \
-          && git submodule init && git submodule update \
-          || exit $?
-      fi
-    fi
-    GNULIB_SRCDIR=$gnulib_path
-  fi
-  ;;
-esac
-
-if $bootstrap_sync; then
-  cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || {
-    echo "$0: updating bootstrap and restarting..."
-    exec sh -c \
-      'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \
-      -- "$GNULIB_SRCDIR/build-aux/bootstrap" \
-      "$0" "$@" --no-bootstrap-sync
-  }
-fi
-
-gnulib_tool=$GNULIB_SRCDIR/gnulib-tool
-<$gnulib_tool || exit $?
-
-# Get translations.
-
-download_po_files() {
-  subdir=$1
-  domain=$2
-  echo "$me: getting translations into $subdir for $domain..."
-  cmd=$(printf "$po_download_command_format" "$domain" "$subdir")
-  eval "$cmd" && return
-  # Fallback to HTTP.
-  cmd=$(printf "$po_download_command_format2" "$subdir" "$domain")
-  eval "$cmd"
-}
-
-# Mirror .po files to $po_dir/.reference and copy only the new
-# or modified ones into $po_dir.  Also update $po_dir/LINGUAS.
-# Note po files that exist locally only are left in $po_dir but will
-# not be included in LINGUAS and hence will not be distributed.
-update_po_files() {
-  # Directory containing primary .po files.
-  # Overwrite them only when we're sure a .po file is new.
-  po_dir=$1
-  domain=$2
-
-  # Mirror *.po files into this dir.
-  # Usually contains *.s1 checksum files.
-  ref_po_dir="$po_dir/.reference"
-
-  test -d $ref_po_dir || mkdir $ref_po_dir || return
-  download_po_files $ref_po_dir $domain \
-    && ls "$ref_po_dir"/*.po 2>/dev/null |
-      sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return
-
-  langs=$(cd $ref_po_dir && echo *.po | sed 's/\.po//g')
-  test "$langs" = '*' && langs=x
-  for po in $langs; do
-    case $po in x) continue;; esac
-    new_po="$ref_po_dir/$po.po"
-    cksum_file="$ref_po_dir/$po.s1"
-    if ! test -f "$cksum_file" ||
-        ! test -f "$po_dir/$po.po" ||
-        ! $SHA1SUM -c --status "$cksum_file" \
-            < "$new_po" > /dev/null; then
-      echo "$me: updated $po_dir/$po.po..."
-      cp "$new_po" "$po_dir/$po.po" \
-          && $SHA1SUM < "$new_po" > "$cksum_file"
-    fi
-  done
-}
-
-case $SKIP_PO in
-'')
-  if test -d po; then
-    update_po_files po $package || exit
-  fi
-
-  if test -d runtime-po; then
-    update_po_files runtime-po $package-runtime || exit
-  fi;;
-esac
-
-symlink_to_dir()
-{
-  src=$1/$2
-  dst=${3-$2}
-
-  test -f "$src" && {
-
-    # If the destination directory doesn't exist, create it.
-    # This is required at least for "lib/uniwidth/cjk.h".
-    dst_dir=$(dirname "$dst")
-    if ! test -d "$dst_dir"; then
-      mkdir -p "$dst_dir"
-
-      # If we've just created a directory like lib/uniwidth,
-      # tell version control system(s) it's ignorable.
-      # FIXME: for now, this does only one level
-      parent=$(dirname "$dst_dir")
-      for dot_ig in x $vc_ignore; do
-        test $dot_ig = x && continue
-        ig=$parent/$dot_ig
-        insert_vc_ignore $ig "${dst_dir##*/}"
-      done
-    fi
-
-    if $copy; then
-      {
-        test ! -h "$dst" || {
-          echo "$me: rm -f $dst" &&
-          rm -f "$dst"
-        }
-      } &&
-      test -f "$dst" &&
-      cmp -s "$src" "$dst" || {
-        echo "$me: cp -fp $src $dst" &&
-        cp -fp "$src" "$dst"
-      }
-    else
-      # Leave any existing symlink alone, if it already points to the source,
-      # so that broken build tools that care about symlink times
-      # aren't confused into doing unnecessary builds.  Conversely, if the
-      # existing symlink's time stamp is older than the source, make it afresh,
-      # so that broken tools aren't confused into skipping needed builds.  See
-      # <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00326.html>.
-      test -h "$dst" &&
-      src_ls=$(ls -diL "$src" 2>/dev/null) && set $src_ls && src_i=$1 &&
-      dst_ls=$(ls -diL "$dst" 2>/dev/null) && set $dst_ls && dst_i=$1 &&
-      test "$src_i" = "$dst_i" &&
-      both_ls=$(ls -dt "$src" "$dst") &&
-      test "X$both_ls" = "X$dst$nl$src" || {
-        dot_dots=
-        case $src in
-        /*) ;;
-        *)
-          case /$dst/ in
-          *//* | */../* | */./* | /*/*/*/*/*/)
-             die "invalid symlink calculation: $src -> $dst";;
-          /*/*/*/*/)    dot_dots=../../../;;
-          /*/*/*/)      dot_dots=../../;;
-          /*/*/)        dot_dots=../;;
-          esac;;
-        esac
-
-        echo "$me: ln -fs $dot_dots$src $dst" &&
-        ln -fs "$dot_dots$src" "$dst"
-      }
-    fi
-  }
-}
-
-version_controlled_file() {
-  parent=$1
-  file=$2
-  if test -d .git; then
-    git rm -n "$file" > /dev/null 2>&1
-  elif test -d .svn; then
-    svn log -r HEAD "$file" > /dev/null 2>&1
-  elif test -d CVS; then
-    grep -F "/${file##*/}/" "$parent/CVS/Entries" 2>/dev/null |
-             grep '^/[^/]*/[0-9]' > /dev/null
-  else
-    warn_ "no version control for $file?"
-    false
-  fi
-}
-
-# NOTE: we have to be careful to run both autopoint and libtoolize
-# before gnulib-tool, since gnulib-tool is likely to provide newer
-# versions of files "installed" by these two programs.
-# Then, *after* gnulib-tool (see below), we have to be careful to
-# run autoreconf in such a way that it does not run either of these
-# two just-pre-run programs.
-
-# Import from gettext.
-with_gettext=yes
-grep '^[	 ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
-    with_gettext=no
-
-if test $with_gettext = yes || test $use_libtool = 1; then
-
-  tempbase=.bootstrap$$
-  trap "rm -f $tempbase.0 $tempbase.1" 1 2 13 15
-
-  > $tempbase.0 > $tempbase.1 &&
-  find . ! -type d -print | sort > $tempbase.0 || exit
-
-  if test $with_gettext = yes; then
-    # Released autopoint has the tendency to install macros that have been
-    # obsoleted in current gnulib, so run this before gnulib-tool.
-    echo "$0: $AUTOPOINT --force"
-    $AUTOPOINT --force || exit
-  fi
-
-  # Autoreconf runs aclocal before libtoolize, which causes spurious
-  # warnings if the initial aclocal is confused by the libtoolized
-  # (or worse out-of-date) macro directory.
-  # libtoolize 1.9b added the --install option; but we support back
-  # to libtoolize 1.5.22, where the install action was default.
-  if test $use_libtool = 1; then
-    install=
-    case $($LIBTOOLIZE --help) in
-      *--install*) install=--install ;;
-    esac
-    echo "running: $LIBTOOLIZE $install --copy"
-    $LIBTOOLIZE $install --copy
-  fi
-
-  find . ! -type d -print | sort >$tempbase.1
-  old_IFS=$IFS
-  IFS=$nl
-  for file in $(comm -13 $tempbase.0 $tempbase.1); do
-    IFS=$old_IFS
-    parent=${file%/*}
-    version_controlled_file "$parent" "$file" || {
-      for dot_ig in x $vc_ignore; do
-        test $dot_ig = x && continue
-        ig=$parent/$dot_ig
-        insert_vc_ignore "$ig" "${file##*/}"
-      done
-    }
-  done
-  IFS=$old_IFS
-
-  rm -f $tempbase.0 $tempbase.1
-  trap - 1 2 13 15
-fi
-
-# Import from gnulib.
-
-gnulib_tool_options="\
- --import\
- --no-changelog\
- --aux-dir $build_aux\
- --doc-base $doc_base\
- --lib $gnulib_name\
- --m4-base $m4_base/\
- --source-base $source_base/\
- --tests-base $tests_base\
- --local-dir $local_gl_dir\
- $gnulib_tool_option_extras\
-"
-if test $use_libtool = 1; then
-  case "$gnulib_tool_options " in
-    *' --libtool '*) ;;
-    *) gnulib_tool_options="$gnulib_tool_options --libtool" ;;
-  esac
-fi
-echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
-$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
-
-for file in $gnulib_files; do
-  symlink_to_dir "$GNULIB_SRCDIR" $file \
-    || die "failed to symlink $file"
-done
-
-bootstrap_post_import_hook \
-  || die "bootstrap_post_import_hook failed"
-
-# Remove any dangling symlink matching "*.m4" or "*.[ch]" in some
-# gnulib-populated directories.  Such .m4 files would cause aclocal to fail.
-# The following requires GNU find 4.2.3 or newer.  Considering the usual
-# portability constraints of this script, that may seem a very demanding
-# requirement, but it should be ok.  Ignore any failure, which is fine,
-# since this is only a convenience to help developers avoid the relatively
-# unusual case in which a symlinked-to .m4 file is git-removed from gnulib
-# between successive runs of this script.
-find "$m4_base" "$source_base" \
-  -depth \( -name '*.m4' -o -name '*.[ch]' \) \
-  -type l -xtype l -delete > /dev/null 2>&1
-
-# Some systems (RHEL 5) are using ancient autotools, for which the
-# --no-recursive option had not been invented.  Detect that lack and
-# omit the option when it's not supported.  FIXME in 2017: remove this
-# hack when RHEL 5 autotools are updated, or when they become irrelevant.
-no_recursive=
-case $($AUTORECONF --help) in
-  *--no-recursive*) no_recursive=--no-recursive;;
-esac
-
-# Tell autoreconf not to invoke autopoint or libtoolize; they were run above.
-echo "running: AUTOPOINT=true LIBTOOLIZE=true " \
-    "$AUTORECONF --verbose --install $no_recursive -I $m4_base $ACLOCAL_FLAGS"
-AUTOPOINT=true LIBTOOLIZE=true \
-    $AUTORECONF --verbose --install $no_recursive -I $m4_base $ACLOCAL_FLAGS \
-  || die "autoreconf failed"
-
-# Get some extra files from gnulib, overriding existing files.
-for file in $gnulib_extra_files; do
-  case $file in
-  */INSTALL) dst=INSTALL;;
-  build-aux/*) dst=$build_aux/${file#build-aux/};;
-  *) dst=$file;;
-  esac
-  symlink_to_dir "$GNULIB_SRCDIR" $file $dst \
-    || die "failed to symlink $file"
-done
-
-if test $with_gettext = yes; then
-  # Create gettext configuration.
-  echo "$0: Creating po/Makevars from po/Makevars.template ..."
-  rm -f po/Makevars
-  sed '
-    /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
-    /^COPYRIGHT_HOLDER *=/s/=.*/= '"$COPYRIGHT_HOLDER"'/
-    /^MSGID_BUGS_ADDRESS *=/s|=.*|= '"$MSGID_BUGS_ADDRESS"'|
-    /^XGETTEXT_OPTIONS *=/{
-      s/$/ \\/
-      a\
-          '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
-    }
-  ' po/Makevars.template >po/Makevars \
-    || die 'cannot generate po/Makevars'
-
-  # If the 'gettext' module is in use, grab the latest Makefile.in.in.
-  # If only the 'gettext-h' module is in use, assume autopoint already
-  # put the correct version of this file into place.
-  case $gnulib_modules in
-  *gettext-h*) ;;
-  *gettext*)
-    cp $GNULIB_SRCDIR/build-aux/po/Makefile.in.in po/Makefile.in.in \
-      || die "cannot create po/Makefile.in.in"
-    ;;
-  esac
-
-  if test -d runtime-po; then
-    # Similarly for runtime-po/Makevars, but not quite the same.
-    rm -f runtime-po/Makevars
-    sed '
-      /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/
-      /^subdir *=.*/s/=.*/= runtime-po/
-      /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
-      /^XGETTEXT_OPTIONS *=/{
-        s/$/ \\/
-        a\
-            '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+}
-      }
-    ' po/Makevars.template >runtime-po/Makevars \
-    || die 'cannot generate runtime-po/Makevars'
-
-    # Copy identical files from po to runtime-po.
-    (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
-  fi
-fi
-
-bootstrap_epilogue
-
-echo "$0: done.  Now you can run './configure'."
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
--- a/build-aux/common.mk
+++ b/build-aux/common.mk
@@ -1,3 +1,5 @@
+CROSS_TOOL_PREFIX = @CROSS_TOOL_PREFIX@
+
 AWK = @AWK@
 export AWK
 
@@ -154,6 +156,22 @@
 
 NO_UNDEFINED_LDFLAG = @NO_UNDEFINED_LDFLAG@
 
+MKOCTFILE_CC = @MKOCTFILE_CC@
+MKOCTFILE_CXX = @MKOCTFILE_CXX@
+MKOCTFILE_DL_LD = @MKOCTFILE_DL_LD@
+MKOCTFILE_DL_LDFLAGS = @MKOCTFILE_DL_LDFLAGS@
+MKOCTFILE_F77 = @MKOCTFILE_F77@
+MKOCTFILE_LD_CXX = @MKOCTFILE_LD_CXX@
+
+# List of libraries and their special compilation flags
+
+MKOCTFILE_CC = @MKOCTFILE_CC@
+MKOCTFILE_CXX = @MKOCTFILE_CXX@
+MKOCTFILE_DL_LD = @MKOCTFILE_DL_LD@
+MKOCTFILE_DL_LDFLAGS = @MKOCTFILE_DL_LDFLAGS@
+MKOCTFILE_F77 = @MKOCTFILE_F77@
+MKOCTFILE_LD_CXX = @MKOCTFILE_LD_CXX@
+
 # List of libraries and their special compilation flags
 
 LIBOCTINTERP = @LIBOCTINTERP@
@@ -563,7 +581,12 @@
   -e "s|%OCTAVE_CONF_MAGICK_CPPFLAGS%|\"${MAGICK_CPPFLAGS}\"|" \
   -e "s|%OCTAVE_CONF_MAGICK_LDFLAGS%|\"${MAGICK_LDFLAGS}\"|" \
   -e "s|%OCTAVE_CONF_MAGICK_LIBS%|\"${MAGICK_LIBS}\"|" \
-  -e 's|%OCTAVE_CONF_MKOCTFILE_DL_LDFLAGS%|\"@MKOCTFILE_DL_LDFLAGS@\"|' \
+  -e 's|%OCTAVE_CONF_MKOCTFILE_CC%|\"${MKOCTFILE_CC}\"|' \
+  -e 's|%OCTAVE_CONF_MKOCTFILE_CXX%|\"${MKOCTFILE_CXX}\"|' \
+  -e 's|%OCTAVE_CONF_MKOCTFILE_DL_LD%|\"${MKOCTFILE_DL_LD}\"|' \
+  -e 's|%OCTAVE_CONF_MKOCTFILE_DL_LDFLAGS%|\"${MKOCTFILE_DL_LDFLAGS}\"|' \
+  -e 's|%OCTAVE_CONF_MKOCTFILE_F77%|\"${MKOCTFILE_F77}\"|' \
+  -e 's|%OCTAVE_CONF_MKOCTFILE_LD_CXX%|\"${MKOCTFILE_LD_CXX}\"|' \
   -e "s|%OCTAVE_CONF_OCTAVE_LINK_DEPS%|\"${OCTAVE_LINK_DEPS}\"|" \
   -e "s|%OCTAVE_CONF_OCTAVE_LINK_OPTS%|\"${OCTAVE_LINK_OPTS}\"|" \
   -e "s|%OCTAVE_CONF_OCTINCLUDEDIR%|\"${octincludedir}\"|" \
--- a/configure.ac
+++ b/configure.ac
@@ -1421,7 +1421,7 @@
   [ENABLE_DYNAMIC_LINKING=true])
 
 if ! $STATIC_LIBS && ! $SHARED_LIBS; then
-  AC_MSG_ERROR([You can't disable building static AND shared libraries!])
+  AC_MSG_ERROR([You can't disable building both static AND shared libraries!])
 fi
 
 CPICFLAG=-fPIC
@@ -1811,6 +1811,37 @@
 AC_SUBST(LIBOCTINTERP)
 AC_SUBST(LIBOCTAVE)
 
+
+if test "$cross_compiling" = yes && test -n "$ac_tool_prefix"; then
+  CROSS_TOOL_PREFIX="$ac_tool_prefix"
+  MKOCTFILE_CC='$(shell echo $(CC) | sed "s,$(CROSS_TOOL_PREFIX),,")'
+  MKOCTFILE_CXX='$(shell echo $(CXX) | sed "s,$(CROSS_TOOL_PREFIX),,")'
+  MKOCTFILE_DL_LD='$(shell echo $(DL_LD) | sed "s,$(CROSS_TOOL_PREFIX),,")'
+  MKOCTFILE_F77='$(shell echo $(F77) | sed "s,$(CROSS_TOOL_PREFIX),,")'
+  MKOCTFILE_LD_CXX='$(shell echo $(LD_CXX) | sed "s,$(CROSS_TOOL_PREFIX),,")'
+else
+  MKOCTFILE_CC="$CC"
+  MKOCTFILE_CXX="$CXX"
+  MKOCTFILE_DL_LD="$DL_LD"
+  MKOCTFILE_F77="$F77"
+  MKOCTFILE_LD_CXX="$LD_CXX"
+fi
+AC_MSG_NOTICE([defining CROSS_TOOL_PREFIX to be $CROSS_TOOL_PREFIX])
+AC_MSG_NOTICE([defining MKOCTFILE_CC to be $MKOCTFILE_CC])
+AC_MSG_NOTICE([defining MKOCTFILE_CXX to be $MKOCTFILE_CXX])
+AC_MSG_NOTICE([defining MKOCTFILE_DL_LD to be $MKOCTFILE_DL_LD])
+AC_MSG_NOTICE([defining MKOCTFILE_F77 to be $MKOCTFILE_F77])
+AC_MSG_NOTICE([defining MKOCTFILE_LD_CXX to be $MKOCTFILE_LD_CXX])
+AC_SUBST(CROSS_TOOL_PREFIX)
+AC_SUBST(MKOCTFILE_CC)
+AC_SUBST(MKOCTFILE_CXX)
+AC_SUBST(MKOCTFILE_DL_LD)
+AC_SUBST(MKOCTFILE_F77)
+AC_SUBST(MKOCTFILE_LD_CXX)
+
+### Check for existence of various libraries
+
+
 ### Check for existence of various libraries
 
 ## OS-specific test for dirent, opendir.
@@ -2416,8 +2447,8 @@
   ## Java and JVM found.  Set up flags.
   case $host_os in
     darwin*)
-      ## Sneak the -framework flag into mkoctfile via LFLAGS
-      LFLAGS="$LFLAGS -framework JavaVM"
+      ## Sneak the -framework flag into mkoctfile via LDFLAGS
+      LDFLAGS="$LDFLAGS -framework JavaVM"
       ## According to: http://developer.apple.com/unix/crossplatform.html
       ## one must explicitly set the include path.
       ## Unfortunately, the include path keeps moving around.
--- a/doc/interpreter/munge-texi.pl
+++ b/doc/interpreter/munge-texi.pl
@@ -26,7 +26,7 @@
   
   do 
   {
-    chomp;
+    s/\s*$//;   # strip EOL character(s)
     $symbol = substr ($_,1);
     $docstring = extract_docstring ();
     if ($help_text{$symbol})
@@ -46,7 +46,7 @@
 # Process .txi to .texi by expanding @DOCSTRING, @EXAMPLEFILE macros
 
 # Add warning header
-print '@c DO NOT EDIT!  Generated automatically by munge-texi.',"\n\n";
+print '@c DO NOT EDIT!  Generated automatically by munge-texi.pl.',"\n\n";
 
 TXI_LINE: while (<STDIN>)
 {
--- a/doc/interpreter/stmt.txi
+++ b/doc/interpreter/stmt.txi
@@ -662,10 +662,11 @@
 @section The break Statement
 @cindex @code{break} statement
 
-The @code{break} statement jumps out of the innermost @code{for} or
-@code{while} loop that encloses it.  The @code{break} statement may only
-be used within the body of a loop.  The following example finds the
-smallest divisor of a given integer, and also identifies prime numbers:
+The @code{break} statement jumps out of the innermost @code{while},
+@code{do-until}, or @code{for} loop that encloses it.  The @code{break}
+statement may only be used within the body of a loop.  The following
+example finds the smallest divisor of a given integer, and also
+identifies prime numbers:
 
 @example
 @group
@@ -718,9 +719,10 @@
 @cindex @code{continue} statement
 
 The @code{continue} statement, like @code{break}, is used only inside
-@code{for} or @code{while} loops.  It skips over the rest of the loop
-body, causing the next cycle around the loop to begin immediately.
-Contrast this with @code{break}, which jumps out of the loop altogether.
+@code{while}, @code{do-until}, or @code{for} loops.  It skips over the
+rest of the loop body, causing the next cycle around the loop to begin
+immediately.  Contrast this with @code{break}, which jumps out of the
+loop altogether.
 Here is an example:
 
 @example
--- a/etc/HACKING
+++ b/etc/HACKING
@@ -48,10 +48,10 @@
   $ ./bootstrap
 
 This script will examine the source tree and generate some Makefile
-fragments and then runs the bootstrap script.  The bootstrap script comes
-from gnulib, but is kept in the Octave source archive.  It should be
-updated from the gnulib sources as necssary.  The bootstrap script takes
-care of running the autotools and generating the configure script.
+fragments, then run autotools scripts to generate Makefile.in files from
+Makefile.am files and create the configure script.  The bootstrap script
+comes from gnulib, but is kept in the Octave source archive.  It should
+be updated from the gnulib sources as necessary.
 
 If you have a copy of gnulib in some directory apart from the Octave
 source tree, then pass the name of the directory containing gnulib-tool
@@ -73,10 +73,15 @@
 Additional options besides --gnulib-srcdir can be passed to bootstrap and
 they will be forwarded without modification to the gnulib bootstrap script.
 
-Once the bootstrap and bootstrap_gnulib scripts complete successfully, you may
-run
+Once the bootstrap script completes successfully, you may configure and
+build Octave.  We recommend that you build Octave in a separate
+directory tree from the sources.  For example, if you have just finished
+running the bootstrap script in the top-level source directory, run the
+following commands to create a build tree, configure, and build Octave:
 
-  $ ./configure
+  $ mkdir .build
+  $ cd .build
+  $ ../configure
   $ make
   $ make check
 
@@ -109,13 +114,19 @@
   examples      -- some example files
 
 
-  gnulib        -- gnulib subrepo.  This is the actual gnulib source
-                   tree, checked out with git.
+  gnulib-hg     -- gnulib subrepo.  This is a clone of the gnulib source
+                   tree maintained by the Octave project.  The default
+                   branch is identical to the upstream gnulib sources.
+                   There is also an "octave-stable" branch that may
+                   contain changes as needed for the "stable" branch in
+                   the Octave archive.  We usually don't want to update
+                   gnulib sources when going from one stable point
+                   release to the next, but we occasionally need to
+                   include small updates.
 
 
   libgnu        -- gnulib sources that we use.  The files here are
                    copied here from the gnulib directory by the
-                   build-aux/bootstrap_gnulib script that is run by the
                    bootstrap script.
 
 
@@ -294,7 +305,7 @@
 jwe@octave.org
 
 
-Last updated: Sat, 18 Aug 2012 18:51:25 EDT
+Last updated: Thu, 10 Jan 2013 10:46:41 EST
 
 
 ################################################################################
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a35ad51bdced45d06f08300f4c0ec4c2af9e8ab8
GIT binary patch
literal 6215
zc$}qJdu$tb9sfD|#Yy~XUTxY?+FREdny$gkV`-hnapJhml!v3Ha}lZ%F7_ok#rB!I
za~>7{jEBU;h9>AFkl1)sbP|=eKiWwf-G&&8226}efKbazLZWDliMK#QWqf|WJNwSb
zor$(T?DL)d{d_;)_xI;h&t>=i=+9q${Kt3i|L(`X@#3#X38{;ay60aa#PeT5pZXc@
zuMzqaN=V?dq<*}gkllw#*Od)I$Smo)f#>8A<J$BO()Gr@xc{DU^&KHcKmQDHHp$Uf
zaIO0!IWJ!%r1@cT;nU9oXOZLvE)&xJSMtQarwQ@yBfpE*;l9sv&nw@8{6{@++=l+f
zKX~4bNrVKK>c07(Zd_ljduHx6;2xt_diD`=*E`15|02ENUjWaPaotr<U%UNF=-XF+
zr27l_{!sme6EB13hw88PLr>$A-Y;#w3cL>Q4<5sP(*^IXm;O#j>u<ex{&bU&wy}n*
zb8Wy+H2Qw}ZQO4*UU}|GLh5H4Z~p5ygwUy`u9N>HBy`TW?*3ZSb<Zz=oAh<wej5D0
z?8}~jUm70uWly!^`hDNiv3I~{+IM~OkKp&X?}bNnJb%|8e2n?!1%J<Xo(KNR#?@c&
zpTGG4es?S2y_kf(4+U1&;Fr4l1D|>7E%5qc;F9N8;Pr6e(r_pI_VvJ}-@{MjFM%5#
zjgS^k@W7k9Vb8t6gT4~(H-jI$`Z}(O;Nt6_0`73|dJpsat>D{T*YLZCLKkA2@ZYl`
z^&0#|e;&Hr2>&#FC3N|R8QA$m=x@0>;1lB-@a;;sz`u2G$}s+|yYR(c+D;=hN)z-H
z?WaR@6nCfT1Wh$EF)v=hF(p&VO9frjWu?%7C;PJYC-b;lnO~E$OOozkknJQ)I{`CH
z(=<hUIN)Rju0EVliW>~ZzbNOVc_}OFipm9>A=m*PDey>d5lZ4`jzT^N9fppRbkO$m
z)A*I+&l$N7(imt>5P^<u5o`)iOKXCwaF`26=m^}DfPF*woC3@Mci|x3`*4j^;6i{~
z*M(6<S;>p)iX&zxFq^qt9Bzlv4zzsXR8cCp^I}FFgv=ZdpNV7h##t$=xC(agP$gj0
z=`CKT;j^WJquhQ|E{T^JU`N`s;;Q6MyVW#34!PsoBK}~(g>)-zMexF0Y+y@v(L^ci
zoF^Y<9)i>`(ko7<pmqqKYDKSgMwP;=vQpA&NAQrlD~JG%DH^qksp1hKJfb<moiKwr
z!h_jk_=S7~#93gEbF&R4)x;AOCC%rQr6s1JChh&S1=M;G`7^v0U^>@0i0bIAV6`Ml
zs)|w<#$;8>K$e$o3j@=(RsI;7Ne{$NnvlcX2u3@~?;@6GXg@wjDtXWD7?~L9uBbjR
zrj!<PQYI&7Rs>OCDg|8;6jlnd-d%%7l->g#DWDH<_c8Qw=uFWhJ|WHVKE$)9hbC;C
zA~x+GNEUQS74&6ED2n>Bps1WdLCj0FRNrsLE&&Azs5;G!?&I%sP#A}M=J4G#?$Lul
zYl@z<sogWBAVEq+K`BT=w(Rp-8U@-0BblRP+?C~&?&a=9Q>b9?N+|ifSjY<FvQ~~{
z+p_U_8*Fw5v9#0-a32q2gv3p?BW98sQHAk%jl$SC8ho02f6!)je|4-gCQ*c2SH*(1
zh)BpfzePL{m%LmMbKNx!Sa3)JMj*-z;V~KHz8b@~gLIM`XO!>|YYq6Ox5}^St$wx9
zKVl{e>-HdtK$UZ+Y>COTHf100BwRrSy1@(@6Ku{&>ykRJWOQ_q`K6L<j7>gmt??bN
zmPPTp%Xadv$P7Eh6Z1^P0ci_mOj;C6xf&<}HEKD=b0fi>i^_tlV{qVz4XfRV^RZ8q
z6kW;+ny$))rCRj7fSTflP4GySyOd?5?}02#low@5bq8vPj|S;9>|>cZ$QJ;s(>F{=
z8*7SM!^b|%eYPUm6?>;k`Gs0an=#$WB~i_}5%XLXkpu3+hqn1N!e>^*$*Z&Q;?BLg
zqdhAx$_3;mhVa@>_N=WxZ%1OqS!$6K$q=20WR*x2!NACZQqqMK=jA9r2H*AamfZ)_
z)4aLF&@B_T_OtW)43DbHnkEUX5;aLwGs~{Uxs6F@6_d)SsKReG@i&x`F(x!;toPTe
zx52%i5xx!Vy_^KLfixp)r?@H6Eh+C!^3}spD!?{6xRtM<)-IP^cge**vrooBcEDVa
z1im0eD$Y%qU9F#Yvk98Cw(?0u%nIifbww+R8RzsfR<IsO_wn9Zr32R_o*cKWT)wkX
zQBkq#mzEsydK`Ad9rNWoV{N{pM!DG%wF(RO$19nF1m327!j{ZO(=rZ0tUgvnRTj~%
zH9;=$2VzE-!DX$?#VyMZR)I%cO>3%cRX4hJjO~h?p<wP7tpBlX;tW6QFq@{0Max>E
zM%er<AWaKP0xA=Qo>Nr5Ztv10ojt}LC5t&_Y3Et%C|T)=JhBtKOPev^bvVgethN6K
z`08(T3wPAL{FKSIQzO@6#$kY1I8Eb<rn6l%>I%|I#?g0mQY14(B??(58#ZxWFV3jS
z`i85xkKPTxk5-+C8m1+k#okpY#LFhmgEncWJ0ofuo3QS5eGp~IGHMg6pFvHzi|nC?
zkWIs8GROF4m$r%fxrM^HjbaTq?WvsT+4*_UOj4^0HO`tst_X2%bhI2Xv%33uFE-}3
zF}j9$1(u6}4PQf-)nE_IE+bj9qAm%_qL33cUC1k0tTvfS$8}`T?Z{x*+zR9NzdEXh
zOo;2_2P;j!D7oTyIpVXGY<MTwIs)K|eV-$C`E>UG(OD6=$0p*4K2qt#L*@`J>zJ^n
zCfBemXR%!xBi%iP$SmqBLsp1J`W>pxKZ`wI>#tpJ%}C~|(~*^d=gjktt85>ip95U(
zOyyssIqtI&W+U&NRUOV&CLIrAbIFvjX5@`{8GjPEm&^&SE^7YOWOVttErYFGjmPlL
zQjm>OtF1OOl|^2i=!2^@TH#@w08a4`+4b34Yjs-$u3Eb-`iMmGSVuENv-*sb7c=hh
z-N`A0PD3k4s0_z>)UK2>gWF*SXNs46zoj}Y=1T5@?{$=hEU;BfbI<4SEZE|?bHx8{
LdmX)VpRetI4T83F
new file mode 100644
--- /dev/null
+++ b/libgui/languages/be_BY.ts
@@ -0,0 +1,1066 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="be_BY">
+<context>
+    <name>documentation_dock_widget</name>
+    <message>
+        <location filename="../src/documentation-dockwidget.cc" line="+34"/>
+        <source>Documentation</source>
+        <translation type="unfinished">Дакументацыя</translation>
+    </message>
+</context>
+<context>
+    <name>file_editor</name>
+    <message>
+        <location filename="../src/m-editor/file-editor.cc" line="+146"/>
+        <location line="+38"/>
+        <location line="+43"/>
+        <location line="+26"/>
+        <source>Octave Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-106"/>
+        <source>File %1 is already open in the editor.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+38"/>
+        <source>Could not open file %1 for read:
+%2.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+43"/>
+        <source>File not saved! A file with the selected name
+%1
+is already open in the editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <source>The associated file editor tab has disappeared.  It was likely closed by some means.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+141"/>
+        <source>&amp;%1 %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+130"/>
+        <source>&amp;New File</source>
+        <translation type="unfinished">&amp;Новы файл</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Open File</source>
+        <translation type="unfinished">&amp;Адкрыць файл</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Save File</source>
+        <translation type="unfinished">&amp;Захаваць файл</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Save File &amp;As</source>
+        <translation type="unfinished">Захаваць файл &amp;як</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Undo</source>
+        <translation type="unfinished">&amp;Адрабіць</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Redo</source>
+        <translation type="unfinished">&amp;Паўтарыць</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Copy</source>
+        <translation type="unfinished">&amp;Капіяваць</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Cu&amp;t</source>
+        <translation type="unfinished">Вы&amp;разаць</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Next Bookmark</source>
+        <translation type="unfinished">&amp;Наступная закладка</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Pre&amp;vious Bookmark</source>
+        <translation type="unfinished">Па&amp;пярэдняя закладка</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Toggle &amp;Bookmark</source>
+        <translation type="unfinished">&amp;Паставіць/прыбраць закладку</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Remove All Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Next breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Pre&amp;vious breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Toggle &amp;breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Remove All breakpoints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;Comment Selected Text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Uncomment Selected Text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Find and Replace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Save File And Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+51"/>
+        <source>&amp;File</source>
+        <translation type="unfinished">&amp;Файл</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Open &amp;Recent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>&amp;Edit</source>
+        <translation type="unfinished">&amp;Змяніць</translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>&amp;Debug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>&amp;Run</source>
+        <translation type="unfinished">&amp;Запусціць</translation>
+    </message>
+</context>
+<context>
+    <name>file_editor_tab</name>
+    <message>
+        <location filename="../src/m-editor/file-editor-tab.cc" line="+687"/>
+        <location line="+102"/>
+        <location line="+98"/>
+        <location line="+63"/>
+        <location line="+14"/>
+        <source>Octave Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-276"/>
+        <source>The file &apos;%1&apos; has been modified. Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+102"/>
+        <source>Could not open file %1 for write:
+%2.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+98"/>
+        <source>File not saved!  You&apos;ve selected a file name
+
+     %1
+
+which is the same as the current file name.  Use Save to overwrite.  (Could allow overwriting, with message, if that is what folks want.)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+63"/>
+        <source>It seems that &apos;%1&apos; has been modified by another application. Do you want to reload it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>It seems that &apos;%1&apos; has been deleted or renamed. Do you want to save it now?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>files_dock_widget</name>
+    <message>
+        <location filename="../src/files-dockwidget.cc" line="+43"/>
+        <source>Current Directory</source>
+        <translation type="unfinished">Бягучы каталог</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Move up one directory.</source>
+        <translation type="unfinished">Пасунуцца да ўзроўню вышэй.</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enter the path or filename.</source>
+        <translation type="unfinished">Увядзіце шлях ці назву файла.</translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <source>Doubleclick a file to open it.</source>
+        <translation type="unfinished">Двойчы пстрык па файле адкрые яго.</translation>
+    </message>
+</context>
+<context>
+    <name>find_dialog</name>
+    <message>
+        <location filename="../src/m-editor/find-dialog.cc" line="+58"/>
+        <source>Find &amp;what:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Re&amp;place with:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Match &amp;case</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search from &amp;start</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Wrap while searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;Find Next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;Replace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Replace &amp;All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;More</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>&amp;Whole words</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Regular E&amp;xpressions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search &amp;backward</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search se&amp;lection</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>history_dock_widget</name>
+    <message>
+        <location filename="../src/history-dockwidget.cc" line="+55"/>
+        <source>Doubleclick a command to transfer it to the terminal.</source>
+        <translation type="unfinished">Двойчы пстрык па загадзе перадасць яго ў тэрмінал.</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Enter text to filter the command history.</source>
+        <translation type="unfinished">Увядзіце тэкст для фільтравання гісторыі загадаў.</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Command History</source>
+        <translation type="unfinished">Гісторыя загадаў</translation>
+    </message>
+    <message>
+        <location line="+42"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Evaluate</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>lexer_octave_gui</name>
+    <message>
+        <location filename="../src/m-editor/lexer-octave-gui.cc" line="+145"/>
+        <source>Default</source>
+        <translation type="unfinished">Па змоўчванні</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Comment</source>
+        <translation type="unfinished">Каментар</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Command</source>
+        <translation type="unfinished">Загад</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Number</source>
+        <translation type="unfinished">Нумар</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Keyword</source>
+        <translation type="unfinished">Ключаслова</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Single-quoted string</source>
+        <translation type="unfinished">Радок у аднакоссі</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Operator</source>
+        <translation type="unfinished">Аператар</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Identifier</source>
+        <translation type="unfinished">Ідэнтыфікатар</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Double-quoted string</source>
+        <translation type="unfinished">Радок у двукоссі</translation>
+    </message>
+</context>
+<context>
+    <name>main_window</name>
+    <message>
+        <location filename="../src/main-window.cc" line="+135"/>
+        <source>Save Workspace</source>
+        <translation type="unfinished">Захаваць прастору зменных</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Load Workspace</source>
+        <translation type="unfinished">Загрузіць прастору зменных</translation>
+    </message>
+    <message>
+        <location line="+155"/>
+        <source>Set working direcotry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+186"/>
+        <location line="+381"/>
+        <source>About Octave</source>
+        <translation type="unfinished">Пра Octave</translation>
+    </message>
+    <message>
+        <location line="-290"/>
+        <source>View the variables in the active workspace.</source>
+        <translation type="unfinished">Прагляд зменных бягучай прасторы.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Browse and search the command history.</source>
+        <translation type="unfinished">Агляд і пошук па гісторыі загадаў.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Browse your files.</source>
+        <translation type="unfinished">Агляд файлаў.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>See the documentation for help.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+39"/>
+        <source>&amp;File</source>
+        <translation type="unfinished">&amp;Файл</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Script</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Enumeration</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Figure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Variable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Model</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Open...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Close Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Import Data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Save Workspace...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Preferences...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Page Setup...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Print</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Print Selection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Exit</source>
+        <translation type="unfinished">Выйсці</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Edit</source>
+        <translation type="unfinished">&amp;Змяніць</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Undo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Redo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Cut</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Paste To Workspace...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Find...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Find Files...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Clear Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Clear Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Clear Workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>De&amp;bug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Step</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Continue</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Exit Debug Mode</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>&amp;Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Load workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Show Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Show Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Current Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Show Workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Command History</source>
+        <translation type="unfinished">Гісторыя загадаў</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Current Directory</source>
+        <translation type="unfinished">Бягучы каталог</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Workspace</source>
+        <translation type="unfinished">Прастора зменных</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Editor</source>
+        <translation type="unfinished">Рэдактар</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Documentation</source>
+        <translation type="unfinished">Дакументацыя</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Reset Windows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Report Bug</source>
+        <translation type="unfinished">Паведаміць пра хібу</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Visit Agora</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Visit Octave Forge</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+20"/>
+        <source>Current Directory:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>settings_dialog</name>
+    <message>
+        <location filename="../src/settings-dialog.ui" line="+29"/>
+        <location filename="../src/ui-settings-dialog.h" line="+461"/>
+        <source>Settings</source>
+        <translation type="unfinished">Настаўленні</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+5"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+18"/>
+        <location filename="../src/ui-settings-dialog.h" line="-4"/>
+        <source>Icon set for dock widget</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Octave logo only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Letter icons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Graphic  icons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+11"/>
+        <source>Editor</source>
+        <translation type="unfinished">Рэдактар</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-130"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font Size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-109"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <source>Show line numbers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Highlight current line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Code completion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show complete path in window title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Restore tabs from previous session on startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Use custom file editor:</source>
+        <translation type="unfinished">Вызначыць ўласны рэдактар:</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>emacs</source>
+        <translation type="unfinished">emacs</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+6"/>
+        <source>Terminal</source>
+        <translation type="unfinished">Тэрмінал</translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <location filename="../src/ui-settings-dialog.h" line="-2"/>
+        <source>Cursor type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Cursor blinking</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+36"/>
+        <location filename="../src/ui-settings-dialog.h" line="+8"/>
+        <source>File Browser</source>
+        <translation type="unfinished">Файлавы аглядальнік</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-6"/>
+        <source>Show filenames</source>
+        <translation type="unfinished">Паказваць назвы файлаў</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show file size</source>
+        <translation type="unfinished">Паказваць памеры файлаў</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show file type</source>
+        <translation type="unfinished">Паказваць тыпы файлаў</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show date of last modification</source>
+        <translation type="unfinished">Паказваць дату апошняга змянення</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show hidden files</source>
+        <translation type="unfinished">Паказваць схаваныя файлы</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Alternating row colors</source>
+        <translation type="unfinished">Колеры радкоў чаргуюцца</translation>
+    </message>
+    <message>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+13"/>
+        <source>Network</source>
+        <translation type="unfinished">Сетка</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-11"/>
+        <source>Use proxy server</source>
+        <translation type="unfinished">Выкарыстоўваць проксі-сервер</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Proxy Type:</source>
+        <translation type="unfinished">Тып проксі:</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+3"/>
+        <source>HttpProxy</source>
+        <translation type="unfinished">HttpProxy</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Socks5Proxy</source>
+        <translation type="unfinished">Socks5Proxy</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+2"/>
+        <source>Hostname:</source>
+        <translation type="unfinished">Назва хоста:</translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Port:</source>
+        <translation type="unfinished">Порт:</translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Username:</source>
+        <translation type="unfinished">Імя карыстальніка:</translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Password:</source>
+        <translation type="unfinished">Пароль:</translation>
+    </message>
+</context>
+<context>
+    <name>terminal_dock_widget</name>
+    <message>
+        <location filename="../src/terminal-dockwidget.cc" line="+34"/>
+        <source>Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>webinfo</name>
+    <message>
+        <location filename="../src/qtinfo/webinfo.cc" line="+74"/>
+        <source>Type here and press &apos;Return&apos; to search</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Global search</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>welcome_wizard</name>
+    <message>
+        <location filename="../src/welcome-wizard.ui" line="+26"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+286"/>
+        <source>Welcome to GNU Octave</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>It appears that you have launched Octave GUI for the first time on this computer, since no configuration file could be found at &apos;~/.octave-gui&apos;. This wizard will guide you through the essential settings you should make before you can start using Octave GUI. If you want to transfer your settings you have previously made just close this dialog and copy over the settings file to your home folder. The presence of that file will automatically be detected and will skip this wizard. IMPORTANT: This wizard is not fully functional yet. Just click your way to the end and it will create a standard settings file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+41"/>
+        <location line="+50"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <source>Next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-124"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location line="+87"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-5"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <source>Previous</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-45"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-3"/>
+        <source>Welcome to Octave!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>This is the development version of Octave with the first official GUI.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>You seem to run Octave GUI for the first time on this computer. This assistant will help you to configure this software installation. Click &apos;Finish&apos; to write a configuration file and launch Octave GUI.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+48"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+2"/>
+        <source>Finish</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>workspace_model</name>
+    <message>
+        <location filename="../src/workspace-model.cc" line="+42"/>
+        <source>Name</source>
+        <translation type="unfinished">Ідэнтыфікатар</translation>
+    </message>
+    <message>
+        <location line="+0"/>
+        <source>Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+0"/>
+        <source>Dimension</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+0"/>
+        <source>Value</source>
+        <translation type="unfinished">Значэнне</translation>
+    </message>
+</context>
+<context>
+    <name>workspace_view</name>
+    <message>
+        <location filename="../src/workspace-view.cc" line="+39"/>
+        <source>Workspace</source>
+        <translation type="unfinished">Прастора зменных</translation>
+    </message>
+</context>
+</TS>
deleted file mode 100644
index a701c3df75595c1b14d890e84c3577aa8d342474..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8e57ee6fe4548f8e16f7319ea374c252cb7fa9c2
GIT binary patch
literal 6098
zc$}?RYit}>6+Y|OoAr8k<5xmrsxb7iq7L{+B$pCJmh9Ljec+^a;-C`6%+B21z1n#!
z^YF(0g`g5hR0xUk14t{;sEI_RR#jTjHnf#cqEaeKB?<^AAS5V4C?FM4PzVy=y)(Nz
zYtL-lrb>42%-wsw`<>@K*9V`|cmL!cXTJ5*kKXd~=fC&j?`DX4@c;Rj@Rg?C^KW8&
znR<WLOO*c$^&Orh8ofs2=hlemIE`PzJUtwY**9tYjXUsuB^U?twC`(A5v5+GeU~xz
zJVYnI{4CMVyU6(DS>QPI=zkW7(q`(m%THkaRO*elv0wjpQ&*=LQQ>0G<Nuu?+A-4e
z)T!5iGr8^2*Ul5=UJ1t0CwkBA-$S(RonXw5^j;b$VSF|i2Y=9a=fu~szR-8_?jHg7
zk9`*=p<MrG)8D-E3h?dpkH3NU>}dKoFa48fWPbaFQzO88Ad~(1_wjx;bMCpvi25GO
z{QBR&C+c15AOF<9z~@>p?yU4bllm1=<`>zqx1R+6FJ|?-VTa6ZS^eNB#?NJ+oVrFd
zG@1S3!yewhJ+S|U=b`WJV9c%O((7~3>npj{2K4Wl$~|=cZ`l9w+#{*Cu>aG!NB#^u
z(7U-yDHk|ie(zs*5)FSR|B<YZaVG!Zh1W6vLcaX^m!R*}{4@Ju&+X;>)$xn?{qKd7
zQ&*tpo`Q1`cIX=@oXtS*>;r|fuWDF7U3kYh1$+v|ytQL_=(phUKMv)d-i9B>XqIfM
zkxwQuvdAM9AC5UIBLvg<<Y#ToH<{(B9=EOSnAxL8XIAi5TWN5;!n~9K9i}4P2Z%a=
z7&!vC1=d$QWY^aO$UvDJY=!CEvmGfm3b8rTA>_ph&S7b+U=D(_k~kwC5tzriSb<#-
zSioW*A0<Y#zqr5}N}~AfQv6S(QI%XN>H=m48VggJfODwU0xJOQw5QD2cFk0sS}fvj
zApVld_-7?h$`+5*nU%~*Ae@k9)1~RE;9_hr;3CuQM9WXZ8ZHQ2hiIqedy9*{6)SfO
z<d(3hFht<5c<M{)Dods=ys?OVH5jh~vs(D(REZEjZY2;OYY}%P31K}hEfAr9$S=mn
z&8?7LhMgR--3`1reAHpZRc`xkcTe7)Y!Eyb@obRWPOX+@l;X4-3n+v(kiwh`K#$ft
z6dgQfS1JOjE5UIXtOi*T`-Th=q4u(*yDn)4hU5{NLx+6FLAoom++iA!WC9NfXm?Zg
zdo<q;B0w+6s8l4h70%7d>QI*yYWQ&Jd<E(WUw#}<q9C<pI<2^lUln?{l`j@ew5aZ#
zwf&O8G=pn3MO6ev#j_P#BoFr{y6|44PXnveh4oSFry{x(un)2<%FDu&8LkZ8+pIo3
zXL-y~yed=bs#jHPM>4ZilXassg?h*(V61;IUxgW}A(aNkpd<;iMz`Pf85?2d*A?4h
zir(~Lx1IMQ<`~pvz(c^|o6AxcBnxXH?>J<erfTWRVeU5LVx$^8Zvs8@0Y-)%u8-1G
zLSyMzEsS$a8paHLW3(dYy7aOGbsWrBHbl^5X9Q`Xf(RndQ7yL&KXOmL!kh4_$t~5G
z=&HC88(M<iX^?0dAgWxjqN@*D>Xh+j$RKn&6uC1DI&u1dE*#yA!KO|j-|pmdQ5r4q
z?V;m^=%B$)GiSxtJXEuliqFF?K=c4+q_J>1rBP6lr3YaqA!A8zI;6K{XIWYGjV`kH
z(u1u;5qsBUvGk<Lni0~DGB0$?Vay4MTF6@Dwc6TsG>D2%e8IOprYo-JaI2C`VN@C|
zny)OPe)b+6%JVX3PBO$8ETBo(Uzg{b;M$PR_u96&kF7Oqr;8Udu!Y*;x%7f>mbz^`
zNJpe;9BBeO!aIW=#8D9?H)H!C*hM96uDPM@mtgDnV*4%jk*3NmL^_&_#@71CjRL#q
zt+13Ru$d+Ub~RERbJHc;_mm@&Uo665Z0JKisM~(TB+V+ZwOY{5`r?dZH(aKO{C1h@
zXw}4&-^Av?4cXiimhb4n*I7P?!~NH6KRD#v_`PoCgoyzYwZ;NK*!4<aE9}nO0bFQ;
zoshDzSRY)2v<dqC-L_)lv>D#f<V?@WCNEZ^AdSsrHSOq)=T0Z&!pG=-+3N^bPeb#P
z)ZCL{VahYJgeNP~rWfwFRT$QGYHnTC;=_Fm9YEmlAZbi#<4#W5MOL>RT$ubyEXIBW
zV?9!1ocF>}_S@Y#o&i2fOv7b)8gYD=!bpoA-_2ES$gX|f1p2BnvbZP`a=t5T{9ckN
z!kd1Jq}je@jw`Cj>{Zp_Dvl;s;g+0GHIGBfMpMhA{M(wz`ny}}AYj_fN2}b1kuxu?
z)ogrL<*$vHINUWYdJ_vFZ&ei350opzcI1U<hs!)MjUJV&hF#fO2E<D3jufpDnAqUr
zcGQQQyov=CEE#7QHvv_i$>DiS2ioR3s=BT?k`E+`kA+=*P@F`G3EUkuNM<P%OhlOv
zm1(!bBESp^?uE^!=5lCirxjA7r3%Ve=Z<@qs<6ARdQ7p)ilMrmV%j=-6s=W=VtGW4
zOdvYAkNiQpK53tV+(+KaT)xf{ac_;_dbEa=-x8*`R!_z(CS2EUj4N(x$-cNNJRSm%
zYBI?;pOMM?49R_}Tt{0NoSBJR4Q{;Ev_s}tco#{Oy;q(B7D6HT(}5#HBd9Mtyb%RN
zBiR*~w~=`N&~cpgnvbK|3>*;rsUbP~vj8w<^VdE;`<SU}$vWS}=|0-Lpl!O=bnno6
t7vOM7s8vQ+kPgfUo9YvRx!M{mtA?K}@cxQzp$)Z)YM=Tl=6X`8{{!2wHVXg%
rename from libgui/languages/de-de.ts
rename to libgui/languages/de_DE.ts
--- a/libgui/languages/de-de.ts
+++ b/libgui/languages/de_DE.ts
@@ -2,641 +2,1065 @@
 <!DOCTYPE TS>
 <TS version="2.0" language="de_DE">
 <context>
-    <name>FileEditorMdiSubWindow</name>
+    <name>documentation_dock_widget</name>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="114"/>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="207"/>
-        <source>File Editor</source>
-        <translation>Dateieditor</translation>
+        <location filename="../src/documentation-dockwidget.cc" line="+34"/>
+        <source>Documentation</source>
+        <translation type="unfinished">Dokumentation</translation>
+    </message>
+</context>
+<context>
+    <name>file_editor</name>
+    <message>
+        <location filename="../src/m-editor/file-editor.cc" line="+146"/>
+        <location line="+38"/>
+        <location line="+43"/>
+        <location line="+26"/>
+        <source>Octave Editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="115"/>
-        <source>Cannot read file %1:
+        <location line="-106"/>
+        <source>File %1 is already open in the editor.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+38"/>
+        <source>Could not open file %1 for read:
 %2.</source>
-        <translation>Konnte Datei %1 nicht lesen:
-%2.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="127"/>
-        <source>File loaded.</source>
-        <translation>Datei geladen.</translation>
+        <location line="+43"/>
+        <source>File not saved! A file with the selected name
+%1
+is already open in the editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="153"/>
-        <source>Do you want to save the current file
-%1 ?</source>
-        <translation>Möchten Sie die Datei %1 sichern ?</translation>
+        <location line="+26"/>
+        <source>The associated file editor tab has disappeared.  It was likely closed by some means.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="208"/>
-        <source>Cannot write file %1:
-%2.</source>
-        <translation>Konnte Datei %1 nicht schreiben:
-%2.</translation>
+        <location line="+141"/>
+        <source>&amp;%1 %2</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="220"/>
-        <source>File %1 saved</source>
-        <translation>Datei %1 gesichert</translation>
+        <location line="+130"/>
+        <source>&amp;New File</source>
+        <translation type="unfinished">&amp;Neue Datei</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Open File</source>
+        <translation type="unfinished">&amp;Öffne Datei</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Save File</source>
+        <translation type="unfinished">&amp;Sichere Datei</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="383"/>
-        <source>&amp;Close File</source>
-        <translation>&amp;Datei schließen</translation>
+        <location line="+4"/>
+        <source>Save File &amp;As</source>
+        <translation type="unfinished">Sichere Datei &amp;als</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Undo</source>
+        <translation type="unfinished">&amp;Rückgängig</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="386"/>
-        <source>&amp;New File</source>
-        <translation>&amp;Neue Datei</translation>
+        <location line="+3"/>
+        <source>&amp;Redo</source>
+        <translation type="unfinished">&amp;Wiederholen</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="389"/>
-        <source>&amp;Open File</source>
-        <translation>&amp;Öffne Datei</translation>
+        <location line="+3"/>
+        <source>&amp;Copy</source>
+        <translation type="unfinished">&amp;Kopieren</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="392"/>
-        <source>&amp;Save File</source>
-        <translation>&amp;Sichere Datei</translation>
+        <location line="+3"/>
+        <source>Cu&amp;t</source>
+        <translation type="unfinished">&amp;Ausschneiden</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="395"/>
-        <source>Save File &amp;As</source>
-        <translation>Sichere Datei &amp;als</translation>
+        <location line="+4"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="398"/>
-        <source>&amp;Undo</source>
-        <translation>&amp;Rückgängig</translation>
+        <location line="+1"/>
+        <source>&amp;Next Bookmark</source>
+        <translation type="unfinished">&amp;Nächstes Bookmark</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Pre&amp;vious Bookmark</source>
+        <translation type="unfinished">&amp;Voriges Bookmark</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="401"/>
-        <source>&amp;Redo</source>
-        <translation>&amp;Wiederholen</translation>
+        <location line="+1"/>
+        <source>Toggle &amp;Bookmark</source>
+        <translation type="unfinished">&amp;Bookmark setzen</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Remove All Bookmarks</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="402"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Kopieren</translation>
+        <location line="+4"/>
+        <source>&amp;Next breakpoint</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="403"/>
-        <source>Cu&amp;t</source>
-        <translation>&amp;Ausschneiden</translation>
+        <location line="+3"/>
+        <source>Pre&amp;vious breakpoint</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="404"/>
-        <source>&amp;Paste</source>
-        <translation>&amp;Einfügen</translation>
+        <location line="+3"/>
+        <source>Toggle &amp;breakpoint</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="405"/>
-        <source>&amp;Next Bookmark</source>
-        <translation>&amp;Nächstes Bookmark</translation>
+        <location line="+3"/>
+        <source>&amp;Remove All breakpoints</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="406"/>
-        <source>Pre&amp;vious Bookmark</source>
-        <translation>&amp;Voriges Bookmark</translation>
+        <location line="+2"/>
+        <source>&amp;Comment Selected Text</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="407"/>
-        <source>Toggle &amp;Bookmark</source>
-        <translation>&amp;Bookmark setzen</translation>
+        <location line="+1"/>
+        <source>&amp;Uncomment Selected Text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Find and Replace</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="410"/>
-        <source>&amp;Run File</source>
-        <translation>&amp;Ausführen</translation>
+        <location line="+3"/>
+        <source>Save File And Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+51"/>
+        <source>&amp;File</source>
+        <translation type="unfinished">&amp;Datei</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="449"/>
-        <source>&amp;File</source>
-        <translation>&amp;Datei</translation>
+        <location line="+6"/>
+        <source>Open &amp;Recent</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="457"/>
+        <location line="+8"/>
         <source>&amp;Edit</source>
-        <translation>&amp;Editieren</translation>
+        <translation type="unfinished">&amp;Editieren</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="469"/>
+        <location line="+19"/>
+        <source>&amp;Debug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>&amp;Run</source>
-        <translation>&amp;Ausführen</translation>
+        <translation type="unfinished">&amp;Ausführen</translation>
     </message>
 </context>
 <context>
-    <name>FilesDockWidget</name>
+    <name>file_editor_tab</name>
     <message>
-        <source>Current Folder</source>
-        <translation type="obsolete">Aktuelles Verzeichnis</translation>
+        <location filename="../src/m-editor/file-editor-tab.cc" line="+687"/>
+        <location line="+102"/>
+        <location line="+98"/>
+        <location line="+63"/>
+        <location line="+14"/>
+        <source>Octave Editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="32"/>
-        <source>Current Directory</source>
-        <translation>Aktuelles Verzeichnis</translation>
+        <location line="-276"/>
+        <source>The file &apos;%1&apos; has been modified. Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+102"/>
+        <source>Could not open file %1 for write:
+%2.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+98"/>
+        <source>File not saved!  You&apos;ve selected a file name
+
+     %1
+
+which is the same as the current file name.  Use Save to overwrite.  (Could allow overwriting, with message, if that is what folks want.)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="46"/>
-        <source>Move up one directory.</source>
-        <translation>Ein Verzeichnis höher wechseln.</translation>
+        <location line="+63"/>
+        <source>It seems that &apos;%1&apos; has been modified by another application. Do you want to reload it?</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="49"/>
-        <source>Enter the path or filename.</source>
-        <translation>Geben Sie einen Pfad oder Dateinamen ein.</translation>
+        <location line="+14"/>
+        <source>It seems that &apos;%1&apos; has been deleted or renamed. Do you want to save it now?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>files_dock_widget</name>
+    <message>
+        <location filename="../src/files-dockwidget.cc" line="+43"/>
+        <source>Current Directory</source>
+        <translation type="unfinished">Aktuelles Verzeichnis</translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="78"/>
+        <location line="+11"/>
+        <source>Move up one directory.</source>
+        <translation type="unfinished">Ein Verzeichnis höher wechseln.</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Enter the path or filename.</source>
+        <translation type="unfinished">Geben Sie einen Pfad oder Dateinamen ein.</translation>
+    </message>
+    <message>
+        <location line="+26"/>
         <source>Doubleclick a file to open it.</source>
-        <translation>Führen Sie einen Doppelklick aus, um eine Datei zu öffnen.</translation>
+        <translation type="unfinished">Führen Sie einen Doppelklick aus, um eine Datei zu öffnen.</translation>
     </message>
 </context>
 <context>
-    <name>HistoryDockWidget</name>
+    <name>find_dialog</name>
+    <message>
+        <location filename="../src/m-editor/find-dialog.cc" line="+58"/>
+        <source>Find &amp;what:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Re&amp;place with:</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="36"/>
-        <source>Doubleclick a command to transfer it to the terminal.</source>
-        <translation>Führen Sie einen Doppelklick aus, um den Befehl in das Terminal zu übertragen.</translation>
+        <location line="+4"/>
+        <source>Match &amp;case</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search from &amp;start</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Wrap while searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;Find Next</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="38"/>
-        <source>Enter text to filter the command history.</source>
-        <translation>Geben Sie Text ein, um die Befehlshistorie zu filtern.</translation>
+        <location line="+2"/>
+        <source>&amp;Replace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Replace &amp;All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;More</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="41"/>
-        <source>Command History</source>
-        <translation>Befehlshistorie</translation>
+        <location line="+11"/>
+        <source>&amp;Whole words</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>History updated.</source>
-        <translation type="obsolete">Befehlshistorie aktualisiert.</translation>
+        <location line="+1"/>
+        <source>Regular E&amp;xpressions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search &amp;backward</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search se&amp;lection</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>LexerOctaveGui</name>
+    <name>history_dock_widget</name>
+    <message>
+        <location filename="../src/history-dockwidget.cc" line="+55"/>
+        <source>Doubleclick a command to transfer it to the terminal.</source>
+        <translation type="unfinished">Führen Sie einen Doppelklick aus, um den Befehl in das Terminal zu übertragen.</translation>
+    </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="111"/>
-        <source>Default</source>
-        <translation>Standard</translation>
+        <location line="+6"/>
+        <source>Enter text to filter the command history.</source>
+        <translation type="unfinished">Geben Sie Text ein, um die Befehlshistorie zu filtern.</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Command History</source>
+        <translation type="unfinished">Befehlshistorie</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="113"/>
-        <source>Comment</source>
-        <translation>Kommentar</translation>
+        <location line="+42"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="115"/>
-        <source>Command</source>
-        <translation>Befehl</translation>
+        <location line="+1"/>
+        <source>Evaluate</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>lexer_octave_gui</name>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="117"/>
-        <source>Number</source>
-        <translation>Zahl</translation>
+        <location filename="../src/m-editor/lexer-octave-gui.cc" line="+145"/>
+        <source>Default</source>
+        <translation type="unfinished">Standard</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="119"/>
-        <source>Keyword</source>
-        <translation>Schlüsselwort</translation>
+        <location line="+2"/>
+        <source>Comment</source>
+        <translation type="unfinished">Kommentar</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="121"/>
-        <source>Single-quoted string</source>
-        <translation>Zeichenkette in einfachen Hochkommata</translation>
+        <location line="+2"/>
+        <source>Command</source>
+        <translation type="unfinished">Befehl</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Number</source>
+        <translation type="unfinished">Zahl</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="123"/>
-        <source>Operator</source>
-        <translation>Operator</translation>
+        <location line="+2"/>
+        <source>Keyword</source>
+        <translation type="unfinished">Schlüsselwort</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Single-quoted string</source>
+        <translation type="unfinished">Zeichenkette in einfachen Hochkommata</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="125"/>
-        <source>Identifier</source>
-        <translation>Bezeichner</translation>
+        <location line="+2"/>
+        <source>Operator</source>
+        <translation type="unfinished">Operator</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="127"/>
+        <location line="+2"/>
+        <source>Identifier</source>
+        <translation type="unfinished">Bezeichner</translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Double-quoted string</source>
-        <translation>Zeichenkette in doppelten Hochkommata</translation>
+        <translation type="unfinished">Zeichenkette in doppelten Hochkommata</translation>
     </message>
 </context>
 <context>
-    <name>MainWindow</name>
+    <name>main_window</name>
+    <message>
+        <location filename="../src/main-window.cc" line="+135"/>
+        <source>Save Workspace</source>
+        <translation type="unfinished">Speichere Arbeitsumgebung</translation>
+    </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="47"/>
-        <source>Opening file.</source>
-        <translation>Öffne Datei.</translation>
+        <location line="+11"/>
+        <source>Load Workspace</source>
+        <translation type="unfinished">Lade Arbeitsumgebung</translation>
+    </message>
+    <message>
+        <location line="+155"/>
+        <source>Set working direcotry</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="124"/>
-        <source>Save Workspace</source>
-        <translation>Speichere Arbeitsumgebung</translation>
+        <location line="+186"/>
+        <location line="+381"/>
+        <source>About Octave</source>
+        <translation type="unfinished">Über Octave</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="134"/>
-        <source>Load Workspace</source>
-        <translation>Lade Arbeitsumgebung</translation>
+        <location line="-290"/>
+        <source>View the variables in the active workspace.</source>
+        <translation type="unfinished">Sehen Sie die Variablen ein, die sich in der aktiven Arbeitsumgebung befinden.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Browse and search the command history.</source>
+        <translation type="unfinished">Durchsuchen Sie die Befehlshistorie.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Browse your files.</source>
+        <translation type="unfinished">Durchsuchen Sie Ihre Dateien.</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="226"/>
-        <location filename="../src/MainWindow.cpp" line="362"/>
-        <source>About Octave</source>
-        <translation>Über Octave</translation>
+        <location line="+2"/>
+        <source>See the documentation for help.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="238"/>
-        <source>Saving data and shutting down.</source>
-        <translation>Speichere Daten und schließe.</translation>
+        <location line="+39"/>
+        <source>&amp;File</source>
+        <translation type="unfinished">&amp;Datei</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Script</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="276"/>
-        <source>View the variables in the active workspace.</source>
-        <translation>Sehen Sie die Variablen ein, die sich in der aktiven Arbeitsumgebung befinden.</translation>
+        <location line="+3"/>
+        <source>Function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Class</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="278"/>
-        <source>Browse and search the command history.</source>
-        <translation>Durchsuchen Sie die Befehlshistorie.</translation>
+        <location line="+2"/>
+        <source>Enumeration</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="280"/>
-        <source>Browse your files.</source>
-        <translation>Durchsuchen Sie Ihre Dateien.</translation>
+        <location line="+2"/>
+        <source>Figure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Variable</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="294"/>
-        <source>Terminal</source>
-        <translation>Terminal</translation>
+        <location line="+2"/>
+        <source>Model</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Open...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="298"/>
-        <source>Enter your commands into the Octave terminal.</source>
-        <translation>Geben Sie Ihre Befehle in das Octave Terminal ein.</translation>
+        <location line="+4"/>
+        <source>Close Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Import Data...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="311"/>
-        <source>Browse the Octave documentation for help.</source>
-        <translation>Durchsuchen Sie die Octave Dokumentation, um Hilfe zu erhalten.</translation>
+        <location line="+4"/>
+        <source>Save Workspace...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="320"/>
-        <source>Chat</source>
-        <translation>Chat</translation>
+        <location line="+6"/>
+        <source>Preferences...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Page Setup...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="323"/>
-        <source>Instantly chat with other Octave users for help.</source>
-        <translation>Tauschen Sie sich direkt mit anderen Octave Benutzern aus, um Hilfe zu erhalten.</translation>
+        <location line="+3"/>
+        <source>Print</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="330"/>
-        <source>Octave</source>
-        <translation>Octave</translation>
+        <location line="+4"/>
+        <source>Print Selection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Exit</source>
+        <translation type="unfinished">Beenden</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Edit</source>
+        <translation type="unfinished">&amp;Editieren</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="331"/>
-        <source>Settings</source>
-        <translation>Einstellungen</translation>
+        <location line="+2"/>
+        <source>Undo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Redo</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="333"/>
-        <source>Exit</source>
-        <translation>Beenden</translation>
+        <location line="+5"/>
+        <source>Cut</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="335"/>
-        <source>Interface</source>
-        <translation>Oberfläche</translation>
+        <location line="+4"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="337"/>
-        <source>Align Windows</source>
-        <translation>Fenster ausrichten</translation>
+        <location line="+4"/>
+        <source>Paste To Workspace...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="339"/>
-        <location filename="../src/MainWindow.cpp" line="351"/>
-        <source>Workspace</source>
-        <translation>Arbeitsumgebung</translation>
+        <location line="+6"/>
+        <source>Find...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Find Files...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="342"/>
-        <source>History</source>
-        <translation>Befehlshistorie</translation>
+        <location line="+7"/>
+        <source>Clear Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Clear Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Clear Workspace</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="345"/>
-        <source>File Browser</source>
-        <translation>Dateibrowser</translation>
+        <location line="+2"/>
+        <source>De&amp;bug</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="349"/>
-        <source>Open New Editor Window</source>
-        <translation>Neues Editorfenster öffnen</translation>
+        <location line="+2"/>
+        <source>Step</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step out</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="352"/>
-        <source>Load</source>
-        <translation>Laden</translation>
+        <location line="+8"/>
+        <source>Continue</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Exit Debug Mode</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="353"/>
-        <source>Save</source>
-        <translation>Sichern</translation>
+        <location line="+10"/>
+        <source>&amp;Desktop</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="355"/>
-        <source>Clear</source>
-        <translation>Löschen</translation>
+        <location line="+1"/>
+        <source>Load workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Window</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="357"/>
-        <source>Community</source>
-        <translation>Gemeinschaft</translation>
+        <location line="+2"/>
+        <source>Show Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Show Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Current Directory</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="358"/>
-        <source>Report Bug</source>
-        <translation>Fehler melden</translation>
+        <location line="+6"/>
+        <source>Show Workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="359"/>
-        <source>Agora</source>
-        <translation>Agora</translation>
+        <location line="+5"/>
+        <source>Show Documentation</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="360"/>
-        <source>Octave Forge</source>
-        <translation>Octave Forge</translation>
+        <location line="+7"/>
+        <source>Command Window</source>
+        <translation type="unfinished">Konsolenfenster</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Command History</source>
+        <translation type="unfinished">Befehlshistorie</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="363"/>
-        <source>About Qt</source>
-        <translation>Über Qt</translation>
+        <location line="+4"/>
+        <source>Current Directory</source>
+        <translation type="unfinished">Aktuelles Verzeichnis</translation>
     </message>
     <message>
-        <source>Octave Toolbar</source>
-        <translation type="obsolete">Octave Werkzeugleiste</translation>
+        <location line="+4"/>
+        <source>Workspace</source>
+        <translation type="unfinished">Arbeitsumgebung</translation>
     </message>
     <message>
-        <source>Command Window</source>
-        <translation type="obsolete">Konsolenfenster</translation>
+        <location line="+4"/>
+        <source>Editor</source>
+        <translation type="unfinished">Editor</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Documentation</source>
+        <translation type="unfinished">Dokumentation</translation>
     </message>
     <message>
-        <source>File Editor</source>
-        <translation type="obsolete">Dateieditor</translation>
+        <location line="+5"/>
+        <source>Reset Windows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="307"/>
-        <source>Documentation</source>
-        <translation>Dokumentation</translation>
+        <location line="+2"/>
+        <source>Report Bug</source>
+        <translation type="unfinished">Fehler melden</translation>
     </message>
     <message>
-        <source>Service</source>
-        <translation type="obsolete">Service</translation>
+        <location line="+2"/>
+        <source>Visit Agora</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Established link to Octave.</source>
-        <translation type="obsolete">Verbindung zu Octave hergestellt.</translation>
+        <location line="+2"/>
+        <source>Visit Octave Forge</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+20"/>
+        <source>Current Directory:</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>NumberBar</name>
+    <name>settings_dialog</name>
     <message>
-        <source>Stop Here</source>
-        <translation type="obsolete">Stoppe hier</translation>
+        <location filename="../src/settings-dialog.ui" line="+29"/>
+        <location filename="../src/ui-settings-dialog.h" line="+461"/>
+        <source>Settings</source>
+        <translation type="unfinished">Einstellungen</translation>
     </message>
     <message>
-        <source>Current Line</source>
-        <translation type="obsolete">Aktuelle Zeile</translation>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+5"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Error Line</source>
-        <translation type="obsolete">Fehlerzeile</translation>
-    </message>
-</context>
-<context>
-    <name>NumberedCodeEdit</name>
-    <message>
-        <source>This file name is not valid.</source>
-        <translation type="obsolete">Dieser Dateiname ist nicht gültig.</translation>
+        <location line="+18"/>
+        <location filename="../src/ui-settings-dialog.h" line="-4"/>
+        <source>Icon set for dock widget</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Octave doesn&apos;t understand this file name:
-</source>
-        <translation type="obsolete">Octave versteht diesen Dateityp nicht:</translation>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Octave logo only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Letter icons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Graphic  icons</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>
-Please, change it.
- Do you want to save your changes?</source>
-        <translation type="obsolete">Bitte ändern Sie dies. Möchten Sie Ihre Änderungen sichern?</translation>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+11"/>
+        <source>Editor</source>
+        <translation type="unfinished">Editor</translation>
     </message>
-</context>
-<context>
-    <name>SettingsDialog</name>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="29"/>
-        <source>Settings</source>
-        <translation>Einstellungen</translation>
+        <location line="+10"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="39"/>
-        <source>Chat</source>
-        <translation>Char</translation>
+        <location line="-130"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font Size</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="47"/>
-        <source>Connect to #octave on startup</source>
-        <translation>Beim Start mit #octave verbinden</translation>
+        <location line="-109"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <source>Show line numbers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="57"/>
-        <source>Show message of the day</source>
-        <translation>Nachricht des Tages anzeigen (MOTD)</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Highlight current line</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="64"/>
-        <source>Show topic</source>
-        <translation>Thema des Chatkanals anzeigen</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Code completion</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="71"/>
-        <source>Automatically identify on NickServ</source>
-        <translation>Automatisch bei NickServ identifizieren</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show complete path in window title</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="78"/>
-        <source>Warning: Your password will be stored in ~/.octavegui in human-readable format. Do not enter your password if you worry about security issues.</source>
-        <translation>Warnung: Ihre Passwort wird unter ~/.octave-gui in einem menschenlesbaren Format gesichert. Hinterlegen Sie nicht Ihr Password, wenn Sie Bedenken über die Sicherheit haben.</translation>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Restore tabs from previous session on startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Use custom file editor:</source>
+        <translation type="unfinished">Benutzerdefinierten Editor verwenden:</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="103"/>
-        <location filename="../src/SettingsDialog.ui" line="311"/>
-        <source>Password:</source>
-        <translation>Passwort:</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>emacs</source>
+        <translation type="unfinished">emacs</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="125"/>
-        <source>Editor</source>
-        <translation>Editor</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+6"/>
+        <source>Terminal</source>
+        <translation type="unfinished">Terminal</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="133"/>
-        <source>Use custom file editor:</source>
-        <translation>Benutzerdefinierten Editor verwenden:</translation>
+        <location line="+62"/>
+        <location filename="../src/ui-settings-dialog.h" line="-2"/>
+        <source>Cursor type:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="143"/>
-        <source>emacs</source>
-        <translation>emacs</translation>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Cursor blinking</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="166"/>
+        <location line="+36"/>
+        <location filename="../src/ui-settings-dialog.h" line="+8"/>
         <source>File Browser</source>
-        <translation>Dateibrowser</translation>
+        <translation type="unfinished">Dateibrowser</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="172"/>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-6"/>
         <source>Show filenames</source>
-        <translation>Dateinamen anzeigen</translation>
+        <translation type="unfinished">Dateinamen anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="179"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show file size</source>
-        <translation>Dateigröße anzeigen</translation>
+        <translation type="unfinished">Dateigröße anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="186"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show file type</source>
-        <translation>Dateityp anzeigen</translation>
+        <translation type="unfinished">Dateityp anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="193"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show date of last modification</source>
-        <translation>Datum der letzten Änderung anzeigen</translation>
+        <translation type="unfinished">Datum der letzten Änderung anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="200"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show hidden files</source>
-        <translation>Versteckte Dateien anzeigen</translation>
+        <translation type="unfinished">Versteckte Dateien anzeigen</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="207"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Alternating row colors</source>
-        <translation>Alternierende Farben verwenden</translation>
+        <translation type="unfinished">Alternierende Farben verwenden</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="215"/>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+13"/>
         <source>Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="221"/>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-11"/>
         <source>Use proxy server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="233"/>
+        <location line="+12"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Proxy Type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="244"/>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+3"/>
         <source>HttpProxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="249"/>
+        <location line="+5"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Socks5Proxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="260"/>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+2"/>
         <source>Hostname:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="277"/>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="294"/>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Username:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="339"/>
-        <source>Reset to defaults</source>
-        <translation>Standardeinstellungen wiederherstellen</translation>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Password:</source>
+        <translation type="unfinished">Passwort:</translation>
+    </message>
+</context>
+<context>
+    <name>terminal_dock_widget</name>
+    <message>
+        <location filename="../src/terminal-dockwidget.cc" line="+34"/>
+        <source>Command Window</source>
+        <translation type="unfinished">Konsolenfenster</translation>
+    </message>
+</context>
+<context>
+    <name>webinfo</name>
+    <message>
+        <location filename="../src/qtinfo/webinfo.cc" line="+74"/>
+        <source>Type here and press &apos;Return&apos; to search</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="362"/>
-        <source>Export</source>
-        <translation>Exportieren</translation>
-    </message>
-    <message>
-        <location filename="../src/SettingsDialog.ui" line="372"/>
-        <source>Import</source>
-        <translation>Importieren</translation>
+        <location line="+4"/>
+        <source>Global search</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>VariablesDockWidget</name>
+    <name>welcome_wizard</name>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Name</source>
-        <translation>Bezeichner</translation>
+        <location filename="../src/welcome-wizard.ui" line="+26"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+286"/>
+        <source>Welcome to GNU Octave</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Type</source>
-        <translation>Typ</translation>
+        <location line="+13"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>It appears that you have launched Octave GUI for the first time on this computer, since no configuration file could be found at &apos;~/.octave-gui&apos;. This wizard will guide you through the essential settings you should make before you can start using Octave GUI. If you want to transfer your settings you have previously made just close this dialog and copy over the settings file to your home folder. The presence of that file will automatically be detected and will skip this wizard. IMPORTANT: This wizard is not fully functional yet. Just click your way to the end and it will create a standard settings file.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Value</source>
-        <translation>Wert</translation>
+        <location line="+41"/>
+        <location line="+50"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <source>Next</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="36"/>
-        <source>Workspace</source>
-        <translation>Arbeitsumgebung</translation>
+        <location line="-124"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location line="+87"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-5"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <source>Previous</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save</source>
-        <translation type="obsolete">Sichern</translation>
+        <location line="-45"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-3"/>
+        <source>Welcome to Octave!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Load</source>
-        <translation type="obsolete">Laden</translation>
+        <location line="+7"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>This is the development version of Octave with the first official GUI.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Clear</source>
-        <translation type="obsolete">Löschen</translation>
-    </message>
-    <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="52"/>
-        <source>Local</source>
-        <translation>Lokal</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>You seem to run Octave GUI for the first time on this computer. This assistant will help you to configure this software installation. Click &apos;Finish&apos; to write a configuration file and launch Octave GUI.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="56"/>
-        <source>Global</source>
-        <translation>Global</translation>
+        <location line="+48"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+2"/>
+        <source>Finish</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>workspace_model</name>
+    <message>
+        <location filename="../src/workspace-model.cc" line="+42"/>
+        <source>Name</source>
+        <translation type="unfinished">Bezeichner</translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="60"/>
-        <source>Persistent</source>
-        <translation>Persistent</translation>
+        <location line="+0"/>
+        <source>Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+0"/>
+        <source>Dimension</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="64"/>
-        <source>Hidden</source>
-        <translation>Versteckt</translation>
+        <location line="+0"/>
+        <source>Value</source>
+        <translation type="unfinished">Wert</translation>
+    </message>
+</context>
+<context>
+    <name>workspace_view</name>
+    <message>
+        <location filename="../src/workspace-view.cc" line="+39"/>
+        <source>Workspace</source>
+        <translation type="unfinished">Arbeitsumgebung</translation>
     </message>
 </context>
 </TS>
deleted file mode 100644
index 7fbf74ee61166c382a369dbfe80f7d2796451295..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f9805860aa6acb5f9432c6b05b899e4ad66f32d7
GIT binary patch
literal 5409
zc$}?QZHOJ!8Gi4&A9wHGd$ajyY@@`n)unFiR+gqsLkJ|<wGo?5*)=K1lJ(q~bMGB9
zcjh`D`w@S&{;?<`G(`oq+E4`pDyX21wNPBNh1x(1YUv04(NMuqt%#ET>2uzhJ99r~
zuAAB)H)m&Z-sgGVkMq7~_PuO;@wfka^e4Z&_Ud2V@#HW6a*!zZCJnsu8rJ7&@aaDi
z4b*7x_k%=Z57E%!-9%e{K$B0c5z#T4JcsvmZ@7+brOETx<M~{;j^0eW?t2b6chj!d
zu@2lsi}$<)`<KZ2))}mG^w_6!M1$vZUwQrK*nfBK`~~ohyq~+cUlJAX8~E9Orm$Wd
zJU3PWzYN#%k)a!=9v~{zh8Fkynkawc(AnJsusbvS<MlVN|N7xKAH;KBAO6#89}#W7
zZshEVt>AwoU--i_cwWyx_44E39m~J_$zSpQgVD)ve@s+59j;scIr?JmZQxB8c3gNC
zy51-ld*I*jiGs0j8`g&l&+fkj9e*pldcTk7cgCiF@e1&qa4oDChfmGI@7=}a75J6A
zP&}RcGkAYgJpB*&MIRK;<vgNIUoP!@?+ZlZi=}G{0iHiC-G25hto2g$tsesap3;lc
zh|kbZOBW|!z`j?@i~H9RhxM}i0{p*XwR|QIfAde2&-_M*{=b+1ZJhu<h3nW(lW6On
zEAV0m&5%Pn1=Ju(Hu)s*WYR}u=as=Qex(^l4;s?;g>O3c2;O|jXn(VWr;|%7rcslA
zPJxzbf(`+;2_Qjk3^X)x$Z4)AfU&A+$t7u+zT?Iwvt+=)?=qRirc{%0m>eJ%a_cZ#
zCa2BlX6#Khy1LVZG=SLfUUmSCPRz*_tq+J|t^mlyPg8<ZR1_wTHl>}7qV&&$xXvM$
z9Zt_n!$~#T!g0D2+f~jwV>LK2AK0l@%FFLyzY=QjzuBS}#Inp5t@vla?xo5;W@pGQ
zb3M2)?vi{cm`Km=WPiczl8&{}CcYGF*Cq~lsjxG27(g}rGypqDq6Hr`Kv@9R@mG_H
z1QS-$5=>Ju;m#Q+s8~|BO#P%LG)1QQj^?PmoBotiuvxwIdXC6E-NL8M1)c#%PXRyF
zq!?9pqf>}?%2}ITt?>V;U9yj=t7dIqx|&~?T2uIS&2d?oEgG_)q_5HfgtS}^m^zW;
zbN<W@qU}c<#5-tejx9CAbfu0kul3`YMEFe<PYX>T>@9b~YzpwI#CS2wrbAAnA#6iC
zY<db`!EddHfA<i$myuteR~vGws*WSaB}?iQqw#(#vQm2+*ln}?Bpkatt3i)sqab`&
z*j^PmF@1hSW{{zVX$xzruRC@|nJ5vf9L08rst{#GZY8eNHyZIaS8j+(NUpMAB(qgf
zEw3WQ{pE+pKBkD_N1~J}<8e!_N_WZ8eH`AUT41u}w#c$IleqLc?J<6`?WgECyXtWH
zdK@P8mvX!_gPp}TG9#-Zu=*hHfil53HV0is2}%O0lAvnE>!`tmV_R4!U%M-Cd}(N&
z@0xZkn{Wqez=&u}&aocJPWou!76aihtEO~6E2ef-ARZt;B$0T2t6W=g+&(!e(i~ml
zoVabd7@i9nm43A2bQHmtOxmeBj{)flR8F?>-ph)%ho=U}y5hZn_-;Jj8@P%zglVJB
zG3{11eii99(qO^^G;aOMsiWL$1wdpBQan&`0$)4II#aQ3M{3xHTc0}nYxq^rF+4_h
zqtJbxo-lFHbyhs7snhRC;p+9whR~z$MnrU#6XV3)$zyfhW2~KVOT@V51mOtt($W84
zQ>6#^f4d#`z!c+pYOns`S-zH}S`;vg1&^$@yVC4xM)^(iA#vl}tA^K%q&jgV!ed{-
z@6NUYEq~V$hW35OJ?S-to?c!1_@3J2==w2-%TvjX@jX0M@&7BlL(<pjAOcrQdeppZ
zI<BuB3~H$?-{`sVU6vnw_v`P+B8Gxw<mG6jh*op%Iv*Qg=E~K%CwE@Ib{#kI@t}^z
zvT#j-PVZ@^%`b%Rn^3vZQkh=P*P&cC?)YebpQpL$w+}+WcLWs&o6lPdKD<4MwllK*
zfExQY3frz}IEpyymgDlpdXp!8^%_?^Q&>)IV|AWt)!iG6j;iYF4oOesYkt@uvaz?P
zjXc_$1n+yo^VHPan+dTaf>7b9p+Mb~9*|#%3^P&Y=m-Zpxtvw`T3v5z{o(!c5~s)H
zrlqOR8xCn}>~}NoT&N>2hVZ54R5eR@zSeLITm<yE9i{4-?$M(Tw&MJ-t>V(Z5zEZU
zA3L6TN@j9QrEr+sMmCJ^uQjvrzuAM|{*~l?W(g%c>eDDYcQ^I$bdM}8ni3Y5e!{Ss
z8S18i+gUikGD*hiw$2ZWq_}R2J{9^D*D;7__00GLW(9yR!-~t}!Vc%msn%7v?Q~pu
z48vCsFdrLXI>Ha>?6Xn;Y=f&biNTO;2)$p=m`jqD%(^*bgl*zpxrDlwRzwqD?h~5h
Y!V0oYK2J|ACxFXn?YVpLZXlQYFZTnRt^fc4
rename from libgui/languages/es-es.ts
rename to libgui/languages/es_ES.ts
--- a/libgui/languages/es-es.ts
+++ b/libgui/languages/es_ES.ts
@@ -2,575 +2,1065 @@
 <!DOCTYPE TS>
 <TS version="2.0" language="es_MX">
 <context>
-    <name>FileEditorMdiSubWindow</name>
-    <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="114"/>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="207"/>
-        <source>File Editor</source>
-        <translation>Editor de archivos</translation>
-    </message>
+    <name>documentation_dock_widget</name>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="115"/>
-        <source>Cannot read file %1:
-%2.</source>
-        <translation>No se puede leer archivo %1:
-%2.</translation>
+        <location filename="../src/documentation-dockwidget.cc" line="+34"/>
+        <source>Documentation</source>
+        <translation type="unfinished">Documentación</translation>
     </message>
+</context>
+<context>
+    <name>file_editor</name>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="127"/>
-        <source>File loaded.</source>
-        <translation>Archivo cargado.</translation>
+        <location filename="../src/m-editor/file-editor.cc" line="+146"/>
+        <location line="+38"/>
+        <location line="+43"/>
+        <location line="+26"/>
+        <source>Octave Editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="153"/>
-        <source>Do you want to save the current file
-%1 ?</source>
-        <translation>¿Desea guardar archivo actual
-%1 ?</translation>
+        <location line="-106"/>
+        <source>File %1 is already open in the editor.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+38"/>
+        <source>Could not open file %1 for read:
+%2.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="208"/>
-        <source>Cannot write file %1:
-%2.</source>
-        <translation>No se puede escribir archivo %1:
-%2.</translation>
+        <location line="+43"/>
+        <source>File not saved! A file with the selected name
+%1
+is already open in the editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="220"/>
-        <source>File %1 saved</source>
-        <translation>Archivo %1 guardado</translation>
+        <location line="+26"/>
+        <source>The associated file editor tab has disappeared.  It was likely closed by some means.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="383"/>
-        <source>&amp;Close File</source>
-        <translation>&amp;Cerrar archivo</translation>
+        <location line="+141"/>
+        <source>&amp;%1 %2</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="386"/>
+        <location line="+130"/>
         <source>&amp;New File</source>
-        <translation>Archivo &amp;nuevo</translation>
-    </message>
-    <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="389"/>
-        <source>&amp;Open File</source>
-        <translation>&amp;Abrir archivo</translation>
+        <translation type="unfinished">Archivo &amp;nuevo</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="392"/>
-        <source>&amp;Save File</source>
-        <translation>&amp;Guardar archivo</translation>
+        <location line="+3"/>
+        <source>&amp;Open File</source>
+        <translation type="unfinished">&amp;Abrir archivo</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="395"/>
+        <location line="+3"/>
+        <source>&amp;Save File</source>
+        <translation type="unfinished">&amp;Guardar archivo</translation>
+    </message>
+    <message>
+        <location line="+4"/>
         <source>Save File &amp;As</source>
-        <translatorcomment>Search for proper shortcut for this command</translatorcomment>
-        <translation>Guardar archivo &amp;como</translation>
+        <translation type="unfinished">Guardar archivo &amp;como</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="398"/>
+        <location line="+3"/>
         <source>&amp;Undo</source>
-        <translation>&amp;Deshacer</translation>
+        <translation type="unfinished">&amp;Deshacer</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="401"/>
+        <location line="+3"/>
         <source>&amp;Redo</source>
-        <translation>&amp;Rehacer</translation>
+        <translation type="unfinished">&amp;Rehacer</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="402"/>
+        <location line="+3"/>
         <source>&amp;Copy</source>
-        <translation>&amp;Copiar</translation>
+        <translation type="unfinished">&amp;Copiar</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="403"/>
+        <location line="+3"/>
         <source>Cu&amp;t</source>
-        <translation>Cor&amp;tar</translation>
+        <translation type="unfinished">Cor&amp;tar</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="404"/>
-        <source>&amp;Paste</source>
-        <translation>&amp;Pegar</translation>
+        <location line="+4"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="405"/>
+        <location line="+1"/>
         <source>&amp;Next Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="406"/>
+        <location line="+1"/>
         <source>Pre&amp;vious Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="407"/>
+        <location line="+1"/>
         <source>Toggle &amp;Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="410"/>
-        <source>&amp;Run File</source>
-        <translation>&amp;Ejecutar archivo</translation>
+        <location line="+1"/>
+        <source>&amp;Remove All Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Next breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Pre&amp;vious breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Toggle &amp;breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Remove All breakpoints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;Comment Selected Text</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="449"/>
-        <source>&amp;File</source>
-        <translation>&amp;Archivo</translation>
+        <location line="+1"/>
+        <source>&amp;Uncomment Selected Text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Find and Replace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Save File And Run</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="457"/>
-        <source>&amp;Edit</source>
-        <translation>&amp;Editar</translation>
+        <location line="+51"/>
+        <source>&amp;File</source>
+        <translation type="unfinished">&amp;Archivo</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Open &amp;Recent</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="469"/>
+        <location line="+8"/>
+        <source>&amp;Edit</source>
+        <translation type="unfinished">&amp;Editar</translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>&amp;Debug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>&amp;Run</source>
-        <translation>&amp;Ejecutar</translation>
+        <translation type="unfinished">&amp;Ejecutar</translation>
     </message>
 </context>
 <context>
-    <name>FilesDockWidget</name>
+    <name>file_editor_tab</name>
     <message>
-        <source>Current Folder</source>
-        <translation type="obsolete">Carpeta actual</translation>
+        <location filename="../src/m-editor/file-editor-tab.cc" line="+687"/>
+        <location line="+102"/>
+        <location line="+98"/>
+        <location line="+63"/>
+        <location line="+14"/>
+        <source>Octave Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-276"/>
+        <source>The file &apos;%1&apos; has been modified. Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+102"/>
+        <source>Could not open file %1 for write:
+%2.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="32"/>
+        <location line="+98"/>
+        <source>File not saved!  You&apos;ve selected a file name
+
+     %1
+
+which is the same as the current file name.  Use Save to overwrite.  (Could allow overwriting, with message, if that is what folks want.)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+63"/>
+        <source>It seems that &apos;%1&apos; has been modified by another application. Do you want to reload it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>It seems that &apos;%1&apos; has been deleted or renamed. Do you want to save it now?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>files_dock_widget</name>
+    <message>
+        <location filename="../src/files-dockwidget.cc" line="+43"/>
         <source>Current Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="46"/>
+        <location line="+11"/>
         <source>Move up one directory.</source>
-        <translation>Subir un directorio.</translation>
-    </message>
-    <message>
-        <location filename="../src/FilesDockWidget.cpp" line="49"/>
-        <source>Enter the path or filename.</source>
-        <translation>Introduzca dirección o nombre de archivo.</translation>
+        <translation type="unfinished">Subir un directorio.</translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="78"/>
-        <source>Doubleclick a file to open it.</source>
-        <translation>Haga doble clic para abir archivo.</translation>
-    </message>
-</context>
-<context>
-    <name>HistoryDockWidget</name>
-    <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="36"/>
-        <source>Doubleclick a command to transfer it to the terminal.</source>
-        <translation>Haga doble clic para transferir el comando a la terminal.</translation>
+        <location line="+4"/>
+        <source>Enter the path or filename.</source>
+        <translation type="unfinished">Introduzca dirección o nombre de archivo.</translation>
     </message>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="38"/>
-        <source>Enter text to filter the command history.</source>
-        <translation>Introduzca texto para filtrar el historial de comandos.</translation>
-    </message>
-    <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="41"/>
-        <source>Command History</source>
-        <translation>Historial de comandos</translation>
+        <location line="+26"/>
+        <source>Doubleclick a file to open it.</source>
+        <translation type="unfinished">Haga doble clic para abir archivo.</translation>
     </message>
 </context>
 <context>
-    <name>LexerOctaveGui</name>
+    <name>find_dialog</name>
+    <message>
+        <location filename="../src/m-editor/find-dialog.cc" line="+58"/>
+        <source>Find &amp;what:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Re&amp;place with:</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="111"/>
-        <source>Default</source>
-        <translation>Valores predeterminados</translation>
+        <location line="+4"/>
+        <source>Match &amp;case</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search from &amp;start</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Wrap while searching</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="113"/>
-        <source>Comment</source>
-        <translation>Comentario</translation>
+        <location line="+2"/>
+        <source>&amp;Find Next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;Replace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Replace &amp;All</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="115"/>
-        <source>Command</source>
-        <translation>Comando</translation>
+        <location line="+2"/>
+        <source>&amp;More</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="117"/>
-        <source>Number</source>
-        <translation>Número</translation>
+        <location line="+11"/>
+        <source>&amp;Whole words</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Regular E&amp;xpressions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search &amp;backward</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="119"/>
-        <source>Keyword</source>
-        <translation>Contraseña</translation>
+        <location line="+1"/>
+        <source>Search se&amp;lection</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>history_dock_widget</name>
+    <message>
+        <location filename="../src/history-dockwidget.cc" line="+55"/>
+        <source>Doubleclick a command to transfer it to the terminal.</source>
+        <translation type="unfinished">Haga doble clic para transferir el comando a la terminal.</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="121"/>
-        <source>Single-quoted string</source>
-        <translation>Cadena entre comillas simples</translation>
+        <location line="+6"/>
+        <source>Enter text to filter the command history.</source>
+        <translation type="unfinished">Introduzca texto para filtrar el historial de comandos.</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Command History</source>
+        <translation type="unfinished">Historial de comandos</translation>
+    </message>
+    <message>
+        <location line="+42"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="123"/>
-        <source>Operator</source>
-        <translation>Operador</translation>
+        <location line="+1"/>
+        <source>Evaluate</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>lexer_octave_gui</name>
+    <message>
+        <location filename="../src/m-editor/lexer-octave-gui.cc" line="+145"/>
+        <source>Default</source>
+        <translation type="unfinished">Valores predeterminados</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Comment</source>
+        <translation type="unfinished">Comentario</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Command</source>
+        <translation type="unfinished">Comando</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="125"/>
-        <source>Identifier</source>
-        <translation>Identificador</translation>
+        <location line="+2"/>
+        <source>Number</source>
+        <translation type="unfinished">Número</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Keyword</source>
+        <translation type="unfinished">Contraseña</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="127"/>
+        <location line="+2"/>
+        <source>Single-quoted string</source>
+        <translation type="unfinished">Cadena entre comillas simples</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Operator</source>
+        <translation type="unfinished">Operador</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Identifier</source>
+        <translation type="unfinished">Identificador</translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Double-quoted string</source>
-        <translation>Cadena entre comillas dobles</translation>
+        <translation type="unfinished">Cadena entre comillas dobles</translation>
     </message>
 </context>
 <context>
-    <name>MainWindow</name>
+    <name>main_window</name>
+    <message>
+        <location filename="../src/main-window.cc" line="+135"/>
+        <source>Save Workspace</source>
+        <translation type="unfinished">Guardar espacio de trabajo</translation>
+    </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="47"/>
-        <source>Opening file.</source>
-        <translation>Abriendo archivo.</translation>
+        <location line="+11"/>
+        <source>Load Workspace</source>
+        <translation type="unfinished">Cargar espacio de trabajo</translation>
+    </message>
+    <message>
+        <location line="+155"/>
+        <source>Set working direcotry</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="124"/>
-        <source>Save Workspace</source>
-        <translation>Guardar espacio de trabajo</translation>
+        <location line="+186"/>
+        <location line="+381"/>
+        <source>About Octave</source>
+        <translation type="unfinished">Acerca de Octave</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="134"/>
-        <source>Load Workspace</source>
-        <translation>Cargar espacio de trabajo</translation>
+        <location line="-290"/>
+        <source>View the variables in the active workspace.</source>
+        <translation type="unfinished">Ver variables en el espacio de trabajo activo.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Browse and search the command history.</source>
+        <translation type="unfinished">Navegar y buscar en el historial de comandos.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Browse your files.</source>
+        <translation type="unfinished">Explorar sus archivos.</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="226"/>
-        <location filename="../src/MainWindow.cpp" line="362"/>
-        <source>About Octave</source>
-        <translation>Acerca de Octave</translation>
+        <location line="+2"/>
+        <source>See the documentation for help.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+39"/>
+        <source>&amp;File</source>
+        <translation type="unfinished">&amp;Archivo</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Script</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="238"/>
-        <source>Saving data and shutting down.</source>
-        <translation>Guardando datos y cerrando el sistema.</translation>
+        <location line="+3"/>
+        <source>Function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Class</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="276"/>
-        <source>View the variables in the active workspace.</source>
-        <translation>Ver variables en el espacio de trabajo activo.</translation>
+        <location line="+2"/>
+        <source>Enumeration</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="278"/>
-        <source>Browse and search the command history.</source>
-        <translation>Navegar y buscar en el historial de comandos.</translation>
+        <location line="+2"/>
+        <source>Figure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Variable</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="280"/>
-        <source>Browse your files.</source>
-        <translation>Explorar sus archivos.</translation>
+        <location line="+2"/>
+        <source>Model</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Open...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="294"/>
-        <source>Terminal</source>
-        <translation>Terminal</translation>
+        <location line="+4"/>
+        <source>Close Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Import Data...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="298"/>
-        <source>Enter your commands into the Octave terminal.</source>
-        <translation>Introducir su comando a la terminal de Octave.</translation>
+        <location line="+4"/>
+        <source>Save Workspace...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Preferences...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Page Setup...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="307"/>
-        <source>Documentation</source>
-        <translation>Documentación</translation>
+        <location line="+3"/>
+        <source>Print</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="311"/>
-        <source>Browse the Octave documentation for help.</source>
-        <translation>Consultar la documentación de Octave para obtener ayuda.</translation>
+        <location line="+4"/>
+        <source>Print Selection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Exit</source>
+        <translation type="unfinished">Salir</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Edit</source>
+        <translation type="unfinished">&amp;Editar</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="320"/>
-        <source>Chat</source>
-        <translation>Chat/conversación instantanea</translation>
+        <location line="+2"/>
+        <source>Undo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Redo</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="323"/>
-        <source>Instantly chat with other Octave users for help.</source>
-        <translation>Coversación instantanea con otros usuarios de octave para obtener ayuda.</translation>
+        <location line="+5"/>
+        <source>Cut</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="330"/>
-        <source>Octave</source>
-        <translation>Octave</translation>
+        <location line="+4"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="331"/>
-        <source>Settings</source>
-        <translation>Configuración</translation>
+        <location line="+4"/>
+        <source>Paste To Workspace...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="333"/>
-        <source>Exit</source>
-        <translation>Salir</translation>
+        <location line="+6"/>
+        <source>Find...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Find Files...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="335"/>
-        <source>Interface</source>
-        <translation>Interfase</translation>
+        <location line="+7"/>
+        <source>Clear Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Clear Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Clear Workspace</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="337"/>
-        <source>Align Windows</source>
-        <translation>Alinear ventanas</translation>
+        <location line="+2"/>
+        <source>De&amp;bug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Step</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step out</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="339"/>
-        <location filename="../src/MainWindow.cpp" line="351"/>
-        <source>Workspace</source>
-        <translation>Espacio de trabajo</translation>
+        <location line="+8"/>
+        <source>Continue</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Exit Debug Mode</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="342"/>
-        <source>History</source>
-        <translation>Historial</translation>
+        <location line="+10"/>
+        <source>&amp;Desktop</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="345"/>
-        <source>File Browser</source>
-        <translation>Explorador de archivos</translation>
+        <location line="+1"/>
+        <source>Load workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Window</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="349"/>
-        <source>Open New Editor Window</source>
-        <translation>Abrir nueva ventana de editor</translation>
+        <location line="+2"/>
+        <source>Show Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Show Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Current Directory</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="352"/>
-        <source>Load</source>
-        <translation>Cargar</translation>
+        <location line="+6"/>
+        <source>Show Workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="353"/>
-        <source>Save</source>
-        <translation>Guardar</translation>
+        <location line="+5"/>
+        <source>Show Documentation</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="355"/>
-        <source>Clear</source>
-        <translation>Limpiar</translation>
+        <location line="+7"/>
+        <source>Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Command History</source>
+        <translation type="unfinished">Historial de comandos</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="357"/>
-        <source>Community</source>
-        <translation>Comunidad</translation>
+        <location line="+4"/>
+        <source>Current Directory</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="358"/>
-        <source>Report Bug</source>
-        <translation>Reportar error de software/Bug</translation>
+        <location line="+4"/>
+        <source>Workspace</source>
+        <translation type="unfinished">Espacio de trabajo</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Editor</source>
+        <translation type="unfinished">Editor</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Documentation</source>
+        <translation type="unfinished">Documentación</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="359"/>
-        <source>Agora</source>
-        <translation>Ágora</translation>
+        <location line="+5"/>
+        <source>Reset Windows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="360"/>
-        <source>Octave Forge</source>
-        <translation>Octave Forge</translation>
+        <location line="+2"/>
+        <source>Report Bug</source>
+        <translation type="unfinished">Reportar error de software/Bug</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="363"/>
-        <source>About Qt</source>
-        <translation>Acerca de Qt</translation>
+        <location line="+2"/>
+        <source>Visit Agora</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Visit Octave Forge</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+20"/>
+        <source>Current Directory:</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>SettingsDialog</name>
+    <name>settings_dialog</name>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="29"/>
+        <location filename="../src/settings-dialog.ui" line="+29"/>
+        <location filename="../src/ui-settings-dialog.h" line="+461"/>
         <source>Settings</source>
-        <translation>Configuración</translation>
+        <translation type="unfinished">Configuración</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+5"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="39"/>
-        <source>Chat</source>
-        <translation>Chat/conversación instantanea</translation>
+        <location line="+18"/>
+        <location filename="../src/ui-settings-dialog.h" line="-4"/>
+        <source>Icon set for dock widget</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="47"/>
-        <source>Connect to #octave on startup</source>
-        <translation>Conectar a #octave en el arranque</translation>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Octave logo only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Letter icons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Graphic  icons</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="57"/>
-        <source>Show message of the day</source>
-        <translation>Mostrar mensaje del día</translation>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+11"/>
+        <source>Editor</source>
+        <translation type="unfinished">Editor</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="64"/>
-        <source>Show topic</source>
-        <translation>Mostrar tema</translation>
+        <location line="+10"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="71"/>
-        <source>Automatically identify on NickServ</source>
-        <translation>Identificar automáticamente el NickServ</translation>
+        <location line="-130"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font Size</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="78"/>
-        <source>Warning: Your password will be stored in ~/.octavegui in human-readable format. Do not enter your password if you worry about security issues.</source>
-        <translatorcomment>Advertencia: La contraseña se guarda en ~ / octavegui en formato legible. No introduzca su contraseña en caso de que le preocupen los aspectos de seguridad.</translatorcomment>
-        <translation></translation>
+        <location line="-109"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <source>Show line numbers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="103"/>
-        <location filename="../src/SettingsDialog.ui" line="311"/>
-        <source>Password:</source>
-        <translation>Contraseña:</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Highlight current line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Code completion</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="125"/>
-        <source>Editor</source>
-        <translation>Editor</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show complete path in window title</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="133"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Restore tabs from previous session on startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Use custom file editor:</source>
-        <translation>Usar editor de archivos personalizados:</translation>
+        <translation type="unfinished">Usar editor de archivos personalizados:</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="143"/>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>emacs</source>
-        <translation>emacs</translation>
+        <translation type="unfinished">emacs</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="166"/>
-        <source>File Browser</source>
-        <translation>Explorador de archivos</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+6"/>
+        <source>Terminal</source>
+        <translation type="unfinished">Terminal</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="172"/>
-        <source>Show filenames</source>
-        <translation>Mostrar nombres de archivos</translation>
+        <location line="+62"/>
+        <location filename="../src/ui-settings-dialog.h" line="-2"/>
+        <source>Cursor type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Cursor blinking</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="179"/>
-        <source>Show file size</source>
-        <translation>Mostrar tamaño de archivo</translation>
+        <location line="+36"/>
+        <location filename="../src/ui-settings-dialog.h" line="+8"/>
+        <source>File Browser</source>
+        <translation type="unfinished">Explorador de archivos</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="186"/>
-        <source>Show file type</source>
-        <translation>Mostrar tipo de archivo</translation>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-6"/>
+        <source>Show filenames</source>
+        <translation type="unfinished">Mostrar nombres de archivos</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show file size</source>
+        <translation type="unfinished">Mostrar tamaño de archivo</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="193"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show file type</source>
+        <translation type="unfinished">Mostrar tipo de archivo</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show date of last modification</source>
-        <translation>Mostrar fecha de la última modificación</translation>
+        <translation type="unfinished">Mostrar fecha de la última modificación</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="200"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show hidden files</source>
-        <translation>Mostrar archivos ocultos</translation>
+        <translation type="unfinished">Mostrar archivos ocultos</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="207"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Alternating row colors</source>
-        <translation>Colores alternos de filas</translation>
+        <translation type="unfinished">Colores alternos de filas</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="215"/>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+13"/>
         <source>Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="221"/>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-11"/>
         <source>Use proxy server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="233"/>
+        <location line="+12"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Proxy Type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="244"/>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+3"/>
         <source>HttpProxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="249"/>
+        <location line="+5"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Socks5Proxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="260"/>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+2"/>
         <source>Hostname:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="277"/>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="294"/>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Username:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="339"/>
-        <source>Reset to defaults</source>
-        <translation>Restaurar los valores predeterminados</translation>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Password:</source>
+        <translation type="unfinished">Contraseña:</translation>
+    </message>
+</context>
+<context>
+    <name>terminal_dock_widget</name>
+    <message>
+        <location filename="../src/terminal-dockwidget.cc" line="+34"/>
+        <source>Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>webinfo</name>
+    <message>
+        <location filename="../src/qtinfo/webinfo.cc" line="+74"/>
+        <source>Type here and press &apos;Return&apos; to search</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="362"/>
-        <source>Export</source>
-        <translation>Exportar</translation>
-    </message>
-    <message>
-        <location filename="../src/SettingsDialog.ui" line="372"/>
-        <source>Import</source>
-        <translation>Importar</translation>
+        <location line="+4"/>
+        <source>Global search</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>VariablesDockWidget</name>
+    <name>welcome_wizard</name>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="36"/>
-        <source>Workspace</source>
-        <translation>Espacio de trabajo</translation>
+        <location filename="../src/welcome-wizard.ui" line="+26"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+286"/>
+        <source>Welcome to GNU Octave</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>It appears that you have launched Octave GUI for the first time on this computer, since no configuration file could be found at &apos;~/.octave-gui&apos;. This wizard will guide you through the essential settings you should make before you can start using Octave GUI. If you want to transfer your settings you have previously made just close this dialog and copy over the settings file to your home folder. The presence of that file will automatically be detected and will skip this wizard. IMPORTANT: This wizard is not fully functional yet. Just click your way to the end and it will create a standard settings file.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Name</source>
-        <translation>Nombre</translation>
+        <location line="+41"/>
+        <location line="+50"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <source>Next</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Type</source>
-        <translation>Tipo</translation>
+        <location line="-124"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location line="+87"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-5"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <source>Previous</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-45"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-3"/>
+        <source>Welcome to Octave!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Value</source>
-        <translation>Valor</translation>
+        <location line="+7"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>This is the development version of Octave with the first official GUI.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="52"/>
-        <source>Local</source>
-        <translation>Local</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>You seem to run Octave GUI for the first time on this computer. This assistant will help you to configure this software installation. Click &apos;Finish&apos; to write a configuration file and launch Octave GUI.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="56"/>
-        <source>Global</source>
-        <translation>Global</translation>
+        <location line="+48"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+2"/>
+        <source>Finish</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>workspace_model</name>
+    <message>
+        <location filename="../src/workspace-model.cc" line="+42"/>
+        <source>Name</source>
+        <translation type="unfinished">Nombre</translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="60"/>
-        <source>Persistent</source>
-        <translation>Persistente</translation>
+        <location line="+0"/>
+        <source>Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+0"/>
+        <source>Dimension</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="64"/>
-        <source>Hidden</source>
-        <translation>Oculto</translation>
+        <location line="+0"/>
+        <source>Value</source>
+        <translation type="unfinished">Valor</translation>
+    </message>
+</context>
+<context>
+    <name>workspace_view</name>
+    <message>
+        <location filename="../src/workspace-view.cc" line="+39"/>
+        <source>Workspace</source>
+        <translation type="unfinished">Espacio de trabajo</translation>
     </message>
 </context>
 </TS>
--- a/libgui/languages/generic.ts
+++ b/libgui/languages/generic.ts
@@ -2,565 +2,1064 @@
 <!DOCTYPE TS>
 <TS version="2.0">
 <context>
-    <name>FileEditorMdiSubWindow</name>
+    <name>documentation_dock_widget</name>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="114"/>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="207"/>
-        <source>File Editor</source>
+        <location filename="../src/documentation-dockwidget.cc" line="+34"/>
+        <source>Documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>file_editor</name>
+    <message>
+        <location filename="../src/m-editor/file-editor.cc" line="+146"/>
+        <location line="+38"/>
+        <location line="+43"/>
+        <location line="+26"/>
+        <source>Octave Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="115"/>
-        <source>Cannot read file %1:
+        <location line="-106"/>
+        <source>File %1 is already open in the editor.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+38"/>
+        <source>Could not open file %1 for read:
 %2.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="127"/>
-        <source>File loaded.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="153"/>
-        <source>Do you want to save the current file
-%1 ?</source>
+        <location line="+43"/>
+        <source>File not saved! A file with the selected name
+%1
+is already open in the editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="208"/>
-        <source>Cannot write file %1:
-%2.</source>
+        <location line="+26"/>
+        <source>The associated file editor tab has disappeared.  It was likely closed by some means.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="220"/>
-        <source>File %1 saved</source>
+        <location line="+141"/>
+        <source>&amp;%1 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="383"/>
-        <source>&amp;Close File</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="386"/>
+        <location line="+130"/>
         <source>&amp;New File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="389"/>
+        <location line="+3"/>
         <source>&amp;Open File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="392"/>
+        <location line="+3"/>
         <source>&amp;Save File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="395"/>
+        <location line="+4"/>
         <source>Save File &amp;As</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="398"/>
+        <location line="+3"/>
         <source>&amp;Undo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="401"/>
+        <location line="+3"/>
         <source>&amp;Redo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="402"/>
+        <location line="+3"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="403"/>
+        <location line="+3"/>
         <source>Cu&amp;t</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="404"/>
-        <source>&amp;Paste</source>
+        <location line="+4"/>
+        <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="405"/>
+        <location line="+1"/>
         <source>&amp;Next Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="406"/>
+        <location line="+1"/>
         <source>Pre&amp;vious Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="407"/>
+        <location line="+1"/>
         <source>Toggle &amp;Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="410"/>
-        <source>&amp;Run File</source>
+        <location line="+1"/>
+        <source>&amp;Remove All Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Next breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Pre&amp;vious breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Toggle &amp;breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="449"/>
+        <location line="+3"/>
+        <source>&amp;Remove All breakpoints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;Comment Selected Text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Uncomment Selected Text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Find and Replace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Save File And Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+51"/>
         <source>&amp;File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="457"/>
+        <location line="+6"/>
+        <source>Open &amp;Recent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
         <source>&amp;Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="469"/>
+        <location line="+19"/>
+        <source>&amp;Debug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>&amp;Run</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>FilesDockWidget</name>
+    <name>file_editor_tab</name>
+    <message>
+        <location filename="../src/m-editor/file-editor-tab.cc" line="+687"/>
+        <location line="+102"/>
+        <location line="+98"/>
+        <location line="+63"/>
+        <location line="+14"/>
+        <source>Octave Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-276"/>
+        <source>The file &apos;%1&apos; has been modified. Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+102"/>
+        <source>Could not open file %1 for write:
+%2.</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="32"/>
+        <location line="+98"/>
+        <source>File not saved!  You&apos;ve selected a file name
+
+     %1
+
+which is the same as the current file name.  Use Save to overwrite.  (Could allow overwriting, with message, if that is what folks want.)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+63"/>
+        <source>It seems that &apos;%1&apos; has been modified by another application. Do you want to reload it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>It seems that &apos;%1&apos; has been deleted or renamed. Do you want to save it now?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>files_dock_widget</name>
+    <message>
+        <location filename="../src/files-dockwidget.cc" line="+43"/>
         <source>Current Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="46"/>
+        <location line="+11"/>
         <source>Move up one directory.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="49"/>
+        <location line="+4"/>
         <source>Enter the path or filename.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="78"/>
+        <location line="+26"/>
         <source>Doubleclick a file to open it.</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HistoryDockWidget</name>
+    <name>find_dialog</name>
+    <message>
+        <location filename="../src/m-editor/find-dialog.cc" line="+58"/>
+        <source>Find &amp;what:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Re&amp;place with:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Match &amp;case</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search from &amp;start</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Wrap while searching</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;Find Next</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="36"/>
+        <location line="+2"/>
+        <source>&amp;Replace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Replace &amp;All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;More</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>&amp;Whole words</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Regular E&amp;xpressions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search &amp;backward</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search se&amp;lection</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>history_dock_widget</name>
+    <message>
+        <location filename="../src/history-dockwidget.cc" line="+55"/>
         <source>Doubleclick a command to transfer it to the terminal.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="38"/>
+        <location line="+6"/>
         <source>Enter text to filter the command history.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="41"/>
+        <location line="+4"/>
         <source>Command History</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+42"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Evaluate</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
-    <name>LexerOctaveGui</name>
+    <name>lexer_octave_gui</name>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="111"/>
+        <location filename="../src/m-editor/lexer-octave-gui.cc" line="+145"/>
         <source>Default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="113"/>
+        <location line="+2"/>
         <source>Comment</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="115"/>
+        <location line="+2"/>
         <source>Command</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="117"/>
+        <location line="+2"/>
         <source>Number</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="119"/>
+        <location line="+2"/>
         <source>Keyword</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="121"/>
+        <location line="+2"/>
         <source>Single-quoted string</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="123"/>
+        <location line="+2"/>
         <source>Operator</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="125"/>
+        <location line="+2"/>
         <source>Identifier</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="127"/>
+        <location line="+2"/>
         <source>Double-quoted string</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>MainWindow</name>
+    <name>main_window</name>
     <message>
-        <location filename="../src/MainWindow.cpp" line="47"/>
-        <source>Opening file.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="124"/>
+        <location filename="../src/main-window.cc" line="+135"/>
         <source>Save Workspace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="134"/>
+        <location line="+11"/>
         <source>Load Workspace</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="226"/>
-        <location filename="../src/MainWindow.cpp" line="362"/>
+        <location line="+155"/>
+        <source>Set working direcotry</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+186"/>
+        <location line="+381"/>
         <source>About Octave</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="238"/>
-        <source>Saving data and shutting down.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="276"/>
+        <location line="-290"/>
         <source>View the variables in the active workspace.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="278"/>
+        <location line="+2"/>
         <source>Browse and search the command history.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="280"/>
+        <location line="+2"/>
         <source>Browse your files.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="294"/>
-        <source>Terminal</source>
+        <location line="+2"/>
+        <source>See the documentation for help.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+39"/>
+        <source>&amp;File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Script</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Enumeration</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Figure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Variable</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Model</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Open...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Close Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Import Data...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Save Workspace...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Preferences...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Page Setup...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Print</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Print Selection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Exit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Edit</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Undo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Redo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Cut</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Paste To Workspace...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="298"/>
-        <source>Enter your commands into the Octave terminal.</source>
+        <location line="+5"/>
+        <source>Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Find...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Find Files...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Clear Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Clear Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Clear Workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>De&amp;bug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Step</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step out</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Continue</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Exit Debug Mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="307"/>
+        <location line="+10"/>
+        <source>&amp;Desktop</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Load workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Show Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Show Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Current Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Show Workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Documentation</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Current Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
         <source>Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="311"/>
-        <source>Browse the Octave documentation for help.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="320"/>
-        <source>Chat</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="323"/>
-        <source>Instantly chat with other Octave users for help.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="330"/>
-        <source>Octave</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="331"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="333"/>
-        <source>Exit</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="335"/>
-        <source>Interface</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="337"/>
-        <source>Align Windows</source>
+        <location line="+5"/>
+        <source>Reset Windows</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="339"/>
-        <location filename="../src/MainWindow.cpp" line="351"/>
-        <source>Workspace</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="342"/>
-        <source>History</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="345"/>
-        <source>File Browser</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="349"/>
-        <source>Open New Editor Window</source>
+        <location line="+4"/>
+        <source>&amp;Help</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="352"/>
-        <source>Load</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="353"/>
-        <source>Save</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="355"/>
-        <source>Clear</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="357"/>
-        <source>Community</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/MainWindow.cpp" line="358"/>
+        <location line="+2"/>
         <source>Report Bug</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="359"/>
-        <source>Agora</source>
+        <location line="+2"/>
+        <source>Visit Agora</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="360"/>
-        <source>Octave Forge</source>
+        <location line="+2"/>
+        <source>Visit Octave Forge</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="363"/>
-        <source>About Qt</source>
+        <location line="+20"/>
+        <source>Current Directory:</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>SettingsDialog</name>
+    <name>settings_dialog</name>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="29"/>
+        <location filename="../src/settings-dialog.ui" line="+29"/>
+        <location filename="../src/ui-settings-dialog.h" line="+461"/>
         <source>Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="39"/>
-        <source>Chat</source>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+5"/>
+        <source>General</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="47"/>
-        <source>Connect to #octave on startup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/SettingsDialog.ui" line="57"/>
-        <source>Show message of the day</source>
+        <location line="+18"/>
+        <location filename="../src/ui-settings-dialog.h" line="-4"/>
+        <source>Icon set for dock widget</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="64"/>
-        <source>Show topic</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/SettingsDialog.ui" line="71"/>
-        <source>Automatically identify on NickServ</source>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Octave logo only</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="78"/>
-        <source>Warning: Your password will be stored in ~/.octavegui in human-readable format. Do not enter your password if you worry about security issues.</source>
+        <location line="+16"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Letter icons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="103"/>
-        <location filename="../src/SettingsDialog.ui" line="311"/>
-        <source>Password:</source>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Graphic  icons</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="125"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+11"/>
         <source>Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="133"/>
+        <location line="+10"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-130"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font Size</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-109"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <source>Show line numbers</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Highlight current line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Code completion</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show complete path in window title</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Restore tabs from previous session on startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Use custom file editor:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="143"/>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>emacs</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="166"/>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+6"/>
+        <source>Terminal</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <location filename="../src/ui-settings-dialog.h" line="-2"/>
+        <source>Cursor type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Cursor blinking</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+36"/>
+        <location filename="../src/ui-settings-dialog.h" line="+8"/>
         <source>File Browser</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="172"/>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-6"/>
         <source>Show filenames</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="179"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show file size</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="186"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show file type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="193"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show date of last modification</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="200"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show hidden files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="207"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Alternating row colors</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="215"/>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+13"/>
         <source>Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="221"/>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-11"/>
         <source>Use proxy server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="233"/>
+        <location line="+12"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Proxy Type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="244"/>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+3"/>
         <source>HttpProxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="249"/>
+        <location line="+5"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Socks5Proxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="260"/>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+2"/>
         <source>Hostname:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="277"/>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="294"/>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Username:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="339"/>
-        <source>Reset to defaults</source>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Password:</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>terminal_dock_widget</name>
+    <message>
+        <location filename="../src/terminal-dockwidget.cc" line="+34"/>
+        <source>Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>webinfo</name>
+    <message>
+        <location filename="../src/qtinfo/webinfo.cc" line="+74"/>
+        <source>Type here and press &apos;Return&apos; to search</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="362"/>
-        <source>Export</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/SettingsDialog.ui" line="372"/>
-        <source>Import</source>
+        <location line="+4"/>
+        <source>Global search</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>VariablesDockWidget</name>
+    <name>welcome_wizard</name>
+    <message>
+        <location filename="../src/welcome-wizard.ui" line="+26"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+286"/>
+        <source>Welcome to GNU Octave</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="36"/>
-        <source>Workspace</source>
+        <location line="+13"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>It appears that you have launched Octave GUI for the first time on this computer, since no configuration file could be found at &apos;~/.octave-gui&apos;. This wizard will guide you through the essential settings you should make before you can start using Octave GUI. If you want to transfer your settings you have previously made just close this dialog and copy over the settings file to your home folder. The presence of that file will automatically be detected and will skip this wizard. IMPORTANT: This wizard is not fully functional yet. Just click your way to the end and it will create a standard settings file.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+41"/>
+        <location line="+50"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <source>Next</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
+        <location line="-124"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location line="+87"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-5"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <source>Previous</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-45"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-3"/>
+        <source>Welcome to Octave!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>This is the development version of Octave with the first official GUI.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>You seem to run Octave GUI for the first time on this computer. This assistant will help you to configure this software installation. Click &apos;Finish&apos; to write a configuration file and launch Octave GUI.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+48"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+2"/>
+        <source>Finish</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>workspace_model</name>
+    <message>
+        <location filename="../src/workspace-model.cc" line="+42"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Type</source>
+        <location line="+0"/>
+        <source>Class</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Value</source>
+        <location line="+0"/>
+        <source>Dimension</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="52"/>
-        <source>Local</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="56"/>
-        <source>Global</source>
+        <location line="+0"/>
+        <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>workspace_view</name>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="60"/>
-        <source>Persistent</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="64"/>
-        <source>Hidden</source>
+        <location filename="../src/workspace-view.cc" line="+39"/>
+        <source>Workspace</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
deleted file mode 100644
index 83d512baa96d8ad07afa2ef66532922ed0ddcb01..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..204461ebb4eb0630b0bdc0139df5be07b9be8968
GIT binary patch
literal 4862
zc$}?RTWB0r82-1-CY$YMn_jH7mO3H?O>K~3wboKdO|)X0mc~|;YMjiR>>fHhXFHc%
z`k<gMf)@mDFDh!)2Ma1#q25uvgRP(-l`2?K@u3JxQR|D}`Dd~_+ud1H^<i`NoSpys
z{@eNgf3oqgz5LT(9)IMs3s=5#`_pfIvzaLKAaxw=AnHCr*)8jcdLO0L_r63#$7%KZ
zSTi@%p1WVg`G@3Oc>t?LPy8`LH2-MkqW7O8>N=76{KqeeI^W5h+$4zdhvz->*8tIi
zl^t&^7zggl(OS48d&$59M7cxRJ?r0tTsC`f-8{%mc0TmMN06KB{P;oayEb-y{q}D}
z3$N}vc-s=KUoQW}3)mmeJ%9K~@D_5%e*YHdKXmtBbqYN1Mr-e%-G?$?0dHY`#g8w7
zr$2A6hh5oQ^Y+H2SRc#3xal-ePci@IeF64gEm-^dYru1(wR>@)bN?{xezY(-1-mkf
z3J+(FgZHVz!#}_-8ZEq$@gaX*&#Ir#Au7)FT#yg3F6p`D;1QhP-!pOKF4%df=g?aC
zr{me4ll`yY_hZF9n?8Vj#iI8L?4NgM@jwptcFhzId}87G#l>Hp+kj8e+Pzm2E!s98
z2g_-Q6j>Bfg#@`2kV!w$_oQ<A@lJethLjangd3QFRBjhe&a;yzW7zE-o04`(1Q`vv
zg8FC#pp*C*G)Nxp1H9Dx8fbUlh?p|2m5$JW3nuVoOxQ9|9z(1I#2}4BRN|8clJDDI
z6>d68FHm;EstMS%AFEfB%=YaRwrVM~3PPh0a6o0YB_A~>MLPLn;0%G(Z%Mz)O`*TI
z9Xa-WbPd)@GCnmujJ`p?CFpJlIe^eW0w6Y46Pg(S6|9^7?s5_sOq`^w@`=g6=#ZSG
zH9%7|P*Y*mkP62gVL8&;YnX<nHv(lS9UU1AXq^`6L%%6kw!%k}O85k<ndY;=Q^AQ#
zW!@|368++`>5&DhNz=MM=MTGq@Qk1=jH(%w4dt;;u2~W7l+l3?VPceXkuz-G38?oQ
zXJe9P*)|2whgCzl!my<$EI53o9Ya5D0ft{gv)BxqO^V`b!bokLUt?K#jjB{k*EY6D
zU*l`|CFSUQ6T$RZMcQhhOh!83)#dCJiI{7jEB;-dMp4q~T6fC2#$2#s<&h47XS)6b
z;vxgyB07jtMY^Ul(AKE(8A%c;ufI>@Z=>Q9c*=>@_u{lEvt+Z!8_o9<MqCmnkeFsw
z5zN_qnzbj^wY}oS#-P^VyW)^);a*2f3vWzW0j}{_DU>X^G?t7?@^?|{HOiy@rpp&-
z2Uu;$B};kNkeDz-r;XeIu0X(SE*w7VB7<|N8fTKusVbaoCX#e%6!kUxLKO(x@B>e}
zrF5DVbUnvF8z(tt7OSfgMKXWA4HM;r6ka=^9h`qA@>_>|4g6N-ov2%VgP568UK?*0
z(63Ijx4ne7I!D6Fcsuf5+73quCT`R{hsNZY$cc2}%jV!|AHP=E*COfbQTTT5zFr9;
z#f5vez-|XwaE6l#gX1a;jO{GTO{8K<7s-r9HN`kXaJ4QUQNi^Y&8^+9)-^5thV^as
z)RZp_eV2S;dR960dNpZsDKzoosU@;XYZJ1|8e2k=adFHzqr#{i_^r|ZuNvJ1{BK6B
zCXfORb59By@~v~2n|(`(98VN7@pQ-Vv<zB4y8#wz4{EQL;tHypvF?eH%A)3rsK$=-
z^(!ZgC~j4zZQP{1y?)iSTIbSop3AD*26lty*$l^&>bHNVs46coHixB_2v?jjC!MvH
zJT<k~@)itEIuk;cmS~?5SHvk%mUUB=aZ6Qm*CLUXt9MHb!aDUQO;4Jrp}rwqJ}|97
zLdU6D9b2dC#TXIK&h+l~R<8x16E}D_w%FoGiMaen#mR|Bv}7AtHmDn=i}ZC%2Cf_K
zv!gs7N*DSf(8m~xr0J;A+_Jf)R6oi!S1-;{uDms)8|US^W(6LQqY{vgTtHTd*s2Y6
zhwU(ZUw4oVse&uGG`QT#N?exo-9FV&w{xShU@FQGZR4U<A78Yy10HN5^G<VUBo`q=
zzXq`TW*cZ@HCZ)UMg(j#5QdsC9Mcbsin7sAty+0$sm0|@S_GWfW^E#GF?}a4mS*Kw
z0AKDGsVoC6SR|K(IpYU2)pY#Jn($}e9{id&|A|4rFr-JTnc>XlW5o5|;RLT|!XjoU
zOB)kT)QVC`dg;c-QM;Z_H^#$rs_a(U1tlWYME#z%HlNjvrWv18xnA>hIO@0I++Ap*
zR){`ViNX-QXr|wdJV15!SP2hgMa8tzt<Ld35GslJq+<lJ;OA@ga17ZjoS0%a>zk}1
b+1;iSri=X7x>>A)PNIZo?!no-`I)}~T6{Uu
rename from libgui/languages/pt-br.ts
rename to libgui/languages/pt_BR.ts
--- a/libgui/languages/pt-br.ts
+++ b/libgui/languages/pt_BR.ts
@@ -2,570 +2,1065 @@
 <!DOCTYPE TS>
 <TS version="2.0" language="pt_BR" sourcelanguage="en">
 <context>
-    <name>FileEditorMdiSubWindow</name>
+    <name>documentation_dock_widget</name>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="114"/>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="207"/>
-        <source>File Editor</source>
-        <translation>Editor de Arquivos</translation>
+        <location filename="../src/documentation-dockwidget.cc" line="+34"/>
+        <source>Documentation</source>
+        <translation type="unfinished">Documentação</translation>
     </message>
+</context>
+<context>
+    <name>file_editor</name>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="115"/>
-        <source>Cannot read file %1:
-%2.</source>
-        <translation>Não foi possível ler o arquivo %1: %2.</translation>
+        <location filename="../src/m-editor/file-editor.cc" line="+146"/>
+        <location line="+38"/>
+        <location line="+43"/>
+        <location line="+26"/>
+        <source>Octave Editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="127"/>
-        <source>File loaded.</source>
-        <translation>Arquivo carregado.</translation>
+        <location line="-106"/>
+        <source>File %1 is already open in the editor.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="153"/>
-        <source>Do you want to save the current file
-%1 ?</source>
-        <translation>Você deseja salvar o arquivo atual %1 ?</translation>
+        <location line="+38"/>
+        <source>Could not open file %1 for read:
+%2.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="208"/>
-        <source>Cannot write file %1:
-%2.</source>
-        <translation>Não foi possível escrever no arquivo %1: %2.</translation>
-    </message>
-    <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="220"/>
-        <source>File %1 saved</source>
-        <translation>Arquivo %1 salvo</translation>
+        <location line="+43"/>
+        <source>File not saved! A file with the selected name
+%1
+is already open in the editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="383"/>
-        <source>&amp;Close File</source>
-        <translation>&amp;Fechar Arquivo</translation>
+        <location line="+26"/>
+        <source>The associated file editor tab has disappeared.  It was likely closed by some means.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="386"/>
-        <source>&amp;New File</source>
-        <translation>&amp;Novo Arquivo</translation>
+        <location line="+141"/>
+        <source>&amp;%1 %2</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="389"/>
+        <location line="+130"/>
+        <source>&amp;New File</source>
+        <translation type="unfinished">&amp;Novo Arquivo</translation>
+    </message>
+    <message>
+        <location line="+3"/>
         <source>&amp;Open File</source>
-        <translation>&amp;Abrir Arquivo</translation>
+        <translation type="unfinished">&amp;Abrir Arquivo</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="392"/>
+        <location line="+3"/>
         <source>&amp;Save File</source>
-        <translation>&amp;Salvar Arquivo</translation>
+        <translation type="unfinished">&amp;Salvar Arquivo</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="395"/>
+        <location line="+4"/>
         <source>Save File &amp;As</source>
-        <translation>Salvar Arquivo &amp;Como</translation>
+        <translation type="unfinished">Salvar Arquivo &amp;Como</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="398"/>
+        <location line="+3"/>
         <source>&amp;Undo</source>
-        <translation>&amp;Desfazer</translation>
+        <translation type="unfinished">&amp;Desfazer</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="401"/>
+        <location line="+3"/>
         <source>&amp;Redo</source>
-        <translation>&amp;Refazer</translation>
+        <translation type="unfinished">&amp;Refazer</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="402"/>
+        <location line="+3"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="403"/>
+        <location line="+3"/>
         <source>Cu&amp;t</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="404"/>
-        <source>&amp;Paste</source>
+        <location line="+4"/>
+        <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="405"/>
+        <location line="+1"/>
         <source>&amp;Next Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="406"/>
+        <location line="+1"/>
         <source>Pre&amp;vious Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="407"/>
+        <location line="+1"/>
         <source>Toggle &amp;Bookmark</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="410"/>
-        <source>&amp;Run File</source>
+        <location line="+1"/>
+        <source>&amp;Remove All Bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Next breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Pre&amp;vious breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Toggle &amp;breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="449"/>
+        <location line="+3"/>
+        <source>&amp;Remove All breakpoints</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;Comment Selected Text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Uncomment Selected Text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Find and Replace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Save File And Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+51"/>
         <source>&amp;File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="457"/>
+        <location line="+6"/>
+        <source>Open &amp;Recent</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
         <source>&amp;Edit</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="469"/>
+        <location line="+19"/>
+        <source>&amp;Debug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>&amp;Run</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>FilesDockWidget</name>
+    <name>file_editor_tab</name>
     <message>
-        <source>Current Folder</source>
-        <translation type="obsolete">Diretório Atual</translation>
+        <location filename="../src/m-editor/file-editor-tab.cc" line="+687"/>
+        <location line="+102"/>
+        <location line="+98"/>
+        <location line="+63"/>
+        <location line="+14"/>
+        <source>Octave Editor</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-276"/>
+        <source>The file &apos;%1&apos; has been modified. Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+102"/>
+        <source>Could not open file %1 for write:
+%2.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="32"/>
+        <location line="+98"/>
+        <source>File not saved!  You&apos;ve selected a file name
+
+     %1
+
+which is the same as the current file name.  Use Save to overwrite.  (Could allow overwriting, with message, if that is what folks want.)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+63"/>
+        <source>It seems that &apos;%1&apos; has been modified by another application. Do you want to reload it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>It seems that &apos;%1&apos; has been deleted or renamed. Do you want to save it now?</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>files_dock_widget</name>
+    <message>
+        <location filename="../src/files-dockwidget.cc" line="+43"/>
         <source>Current Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="46"/>
+        <location line="+11"/>
         <source>Move up one directory.</source>
-        <translation>Subir um diretório.</translation>
-    </message>
-    <message>
-        <location filename="../src/FilesDockWidget.cpp" line="49"/>
-        <source>Enter the path or filename.</source>
-        <translation>Digite o caminho ou o nome do arquivo.</translation>
+        <translation type="unfinished">Subir um diretório.</translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="78"/>
-        <source>Doubleclick a file to open it.</source>
-        <translation>Clique duas vezes num arquivo para abrí-lo.</translation>
-    </message>
-</context>
-<context>
-    <name>HistoryDockWidget</name>
-    <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="36"/>
-        <source>Doubleclick a command to transfer it to the terminal.</source>
-        <translation>Clique duas vezes num comando para transferí-lo ao terminal.</translation>
+        <location line="+4"/>
+        <source>Enter the path or filename.</source>
+        <translation type="unfinished">Digite o caminho ou o nome do arquivo.</translation>
     </message>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="38"/>
-        <source>Enter text to filter the command history.</source>
-        <translation>Digite um texto para filtrar o hitórico de comandos.</translation>
-    </message>
-    <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="41"/>
-        <source>Command History</source>
-        <translation>Histórico de Comandos</translation>
+        <location line="+26"/>
+        <source>Doubleclick a file to open it.</source>
+        <translation type="unfinished">Clique duas vezes num arquivo para abrí-lo.</translation>
     </message>
 </context>
 <context>
-    <name>LexerOctaveGui</name>
+    <name>find_dialog</name>
+    <message>
+        <location filename="../src/m-editor/find-dialog.cc" line="+58"/>
+        <source>Find &amp;what:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Re&amp;place with:</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="111"/>
-        <source>Default</source>
-        <translation>Padrão</translation>
+        <location line="+4"/>
+        <source>Match &amp;case</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search from &amp;start</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Wrap while searching</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="113"/>
-        <source>Comment</source>
-        <translation>Comentário</translation>
+        <location line="+2"/>
+        <source>&amp;Find Next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;Replace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Replace &amp;All</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="115"/>
-        <source>Command</source>
-        <translation>Comando</translation>
+        <location line="+2"/>
+        <source>&amp;More</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="117"/>
-        <source>Number</source>
-        <translation>Número</translation>
+        <location line="+11"/>
+        <source>&amp;Whole words</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Regular E&amp;xpressions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search &amp;backward</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="119"/>
-        <source>Keyword</source>
-        <translation>Palavra-Chave</translation>
+        <location line="+1"/>
+        <source>Search se&amp;lection</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>history_dock_widget</name>
+    <message>
+        <location filename="../src/history-dockwidget.cc" line="+55"/>
+        <source>Doubleclick a command to transfer it to the terminal.</source>
+        <translation type="unfinished">Clique duas vezes num comando para transferí-lo ao terminal.</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="121"/>
-        <source>Single-quoted string</source>
-        <translation>String com aspas simples</translation>
+        <location line="+6"/>
+        <source>Enter text to filter the command history.</source>
+        <translation type="unfinished">Digite um texto para filtrar o hitórico de comandos.</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Command History</source>
+        <translation type="unfinished">Histórico de Comandos</translation>
+    </message>
+    <message>
+        <location line="+42"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="123"/>
-        <source>Operator</source>
-        <translation>Operador</translation>
+        <location line="+1"/>
+        <source>Evaluate</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>lexer_octave_gui</name>
+    <message>
+        <location filename="../src/m-editor/lexer-octave-gui.cc" line="+145"/>
+        <source>Default</source>
+        <translation type="unfinished">Padrão</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Comment</source>
+        <translation type="unfinished">Comentário</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Command</source>
+        <translation type="unfinished">Comando</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="125"/>
-        <source>Identifier</source>
-        <translation>Identificador</translation>
+        <location line="+2"/>
+        <source>Number</source>
+        <translation type="unfinished">Número</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Keyword</source>
+        <translation type="unfinished">Palavra-Chave</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="127"/>
+        <location line="+2"/>
+        <source>Single-quoted string</source>
+        <translation type="unfinished">String com aspas simples</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Operator</source>
+        <translation type="unfinished">Operador</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Identifier</source>
+        <translation type="unfinished">Identificador</translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Double-quoted string</source>
-        <translation>String com aspas duplas</translation>
+        <translation type="unfinished">String com aspas duplas</translation>
     </message>
 </context>
 <context>
-    <name>MainWindow</name>
+    <name>main_window</name>
+    <message>
+        <location filename="../src/main-window.cc" line="+135"/>
+        <source>Save Workspace</source>
+        <translation type="unfinished">Salvar ambiente de trabalho</translation>
+    </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="47"/>
-        <source>Opening file.</source>
-        <translation>Abrindo arquivo.</translation>
+        <location line="+11"/>
+        <source>Load Workspace</source>
+        <translation type="unfinished">Carregar ambiente de trabalho</translation>
+    </message>
+    <message>
+        <location line="+155"/>
+        <source>Set working direcotry</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="124"/>
-        <source>Save Workspace</source>
-        <translation>Salvar ambiente de trabalho</translation>
+        <location line="+186"/>
+        <location line="+381"/>
+        <source>About Octave</source>
+        <translation type="unfinished">Sobre o Octave</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="134"/>
-        <source>Load Workspace</source>
-        <translation>Carregar ambiente de trabalho</translation>
+        <location line="-290"/>
+        <source>View the variables in the active workspace.</source>
+        <translation type="unfinished">Visualizar variáveis no ambiente de trabalho.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Browse and search the command history.</source>
+        <translation type="unfinished">Pesquise no histórico de comandos.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Browse your files.</source>
+        <translation type="unfinished">Procure seus arquivos.</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="226"/>
-        <location filename="../src/MainWindow.cpp" line="362"/>
-        <source>About Octave</source>
-        <translation>Sobre o Octave</translation>
+        <location line="+2"/>
+        <source>See the documentation for help.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+39"/>
+        <source>&amp;File</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Script</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="238"/>
-        <source>Saving data and shutting down.</source>
-        <translation>Salvando dados e encerrando a sessão.</translation>
+        <location line="+3"/>
+        <source>Function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Class</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="276"/>
-        <source>View the variables in the active workspace.</source>
-        <translation>Visualizar variáveis no ambiente de trabalho.</translation>
+        <location line="+2"/>
+        <source>Enumeration</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="278"/>
-        <source>Browse and search the command history.</source>
-        <translation>Pesquise no histórico de comandos.</translation>
+        <location line="+2"/>
+        <source>Figure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Variable</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="280"/>
-        <source>Browse your files.</source>
-        <translation>Procure seus arquivos.</translation>
+        <location line="+2"/>
+        <source>Model</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Open...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="294"/>
-        <source>Terminal</source>
-        <translation>Terminal</translation>
+        <location line="+4"/>
+        <source>Close Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Import Data...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="298"/>
-        <source>Enter your commands into the Octave terminal.</source>
-        <translation>Digite seus comandos no terminal do Octave.</translation>
+        <location line="+4"/>
+        <source>Save Workspace...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Preferences...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Page Setup...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="307"/>
-        <source>Documentation</source>
-        <translation>Documentação</translation>
+        <location line="+3"/>
+        <source>Print</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="311"/>
-        <source>Browse the Octave documentation for help.</source>
-        <translation>Procure na documentação do Octave.</translation>
+        <location line="+4"/>
+        <source>Print Selection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Exit</source>
+        <translation type="unfinished">Sair</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Edit</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="320"/>
-        <source>Chat</source>
-        <translation>Chat</translation>
+        <location line="+2"/>
+        <source>Undo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Redo</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="323"/>
-        <source>Instantly chat with other Octave users for help.</source>
-        <translation>Converse instantaneamente com outros usuários do Octave para pedir ajuda.</translation>
+        <location line="+5"/>
+        <source>Cut</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="330"/>
-        <source>Octave</source>
-        <translation>Octave</translation>
+        <location line="+4"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="331"/>
-        <source>Settings</source>
-        <translation>Configurações</translation>
+        <location line="+4"/>
+        <source>Paste To Workspace...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="333"/>
-        <source>Exit</source>
-        <translation>Sair</translation>
+        <location line="+6"/>
+        <source>Find...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Find Files...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="335"/>
-        <source>Interface</source>
-        <translation>Interface</translation>
+        <location line="+7"/>
+        <source>Clear Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Clear Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Clear Workspace</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="337"/>
-        <source>Align Windows</source>
-        <translation>Alinhar Janelas</translation>
+        <location line="+2"/>
+        <source>De&amp;bug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Step</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step out</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="339"/>
-        <location filename="../src/MainWindow.cpp" line="351"/>
-        <source>Workspace</source>
-        <translation>Ambiente de trabalho</translation>
+        <location line="+8"/>
+        <source>Continue</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Exit Debug Mode</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="342"/>
-        <source>History</source>
-        <translation>Histórico</translation>
+        <location line="+10"/>
+        <source>&amp;Desktop</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="345"/>
-        <source>File Browser</source>
-        <translation>Navegador de Arquivos</translation>
+        <location line="+1"/>
+        <source>Load workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Window</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="349"/>
-        <source>Open New Editor Window</source>
-        <translation>Abrir nova janela de edição</translation>
+        <location line="+2"/>
+        <source>Show Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Show Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Current Directory</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="352"/>
-        <source>Load</source>
-        <translation>Carregar</translation>
+        <location line="+6"/>
+        <source>Show Workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="353"/>
-        <source>Save</source>
-        <translation>Salvar</translation>
+        <location line="+5"/>
+        <source>Show Documentation</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="355"/>
-        <source>Clear</source>
-        <translation>Limpar</translation>
+        <location line="+7"/>
+        <source>Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Command History</source>
+        <translation type="unfinished">Histórico de Comandos</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="357"/>
-        <source>Community</source>
-        <translation>Comunidade</translation>
+        <location line="+4"/>
+        <source>Current Directory</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="358"/>
-        <source>Report Bug</source>
-        <translation>Reportar Bug</translation>
+        <location line="+4"/>
+        <source>Workspace</source>
+        <translation type="unfinished">Ambiente de trabalho</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Editor</source>
+        <translation type="unfinished">Editor</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Documentation</source>
+        <translation type="unfinished">Documentação</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="359"/>
-        <source>Agora</source>
-        <translation>Agora</translation>
+        <location line="+5"/>
+        <source>Reset Windows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="360"/>
-        <source>Octave Forge</source>
-        <translation>Octave Forge</translation>
+        <location line="+2"/>
+        <source>Report Bug</source>
+        <translation type="unfinished">Reportar Bug</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="363"/>
-        <source>About Qt</source>
-        <translation>Sobre o Qt</translation>
+        <location line="+2"/>
+        <source>Visit Agora</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Visit Octave Forge</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+20"/>
+        <source>Current Directory:</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>SettingsDialog</name>
+    <name>settings_dialog</name>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="29"/>
+        <location filename="../src/settings-dialog.ui" line="+29"/>
+        <location filename="../src/ui-settings-dialog.h" line="+461"/>
         <source>Settings</source>
-        <translation>Configurações</translation>
+        <translation type="unfinished">Configurações</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+5"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="39"/>
-        <source>Chat</source>
-        <translation>Chat</translation>
+        <location line="+18"/>
+        <location filename="../src/ui-settings-dialog.h" line="-4"/>
+        <source>Icon set for dock widget</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="47"/>
-        <source>Connect to #octave on startup</source>
-        <translation>Conectar ao #octave ao iniciar</translation>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Octave logo only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Letter icons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Graphic  icons</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="57"/>
-        <source>Show message of the day</source>
-        <translation>Mostrar mensagem do dia</translation>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+11"/>
+        <source>Editor</source>
+        <translation type="unfinished">Editor</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="64"/>
-        <source>Show topic</source>
-        <translation>Mostrar tópico</translation>
+        <location line="+10"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="71"/>
-        <source>Automatically identify on NickServ</source>
-        <translation>Identificar-se automaticamente com o NickServ</translation>
+        <location line="-130"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font Size</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="78"/>
-        <source>Warning: Your password will be stored in ~/.octavegui in human-readable format. Do not enter your password if you worry about security issues.</source>
-        <translation>Aviso: Sua senha será salva em ~/.octavegui em um formato legível. Não digite sua senha se você tem problemas com segurança.</translation>
+        <location line="-109"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <source>Show line numbers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="103"/>
-        <location filename="../src/SettingsDialog.ui" line="311"/>
-        <source>Password:</source>
-        <translation>Senha:</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Highlight current line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Code completion</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="125"/>
-        <source>Editor</source>
-        <translation>Editor</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show complete path in window title</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="133"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Restore tabs from previous session on startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Use custom file editor:</source>
-        <translation>Usar editor de arquivos personalizado:</translation>
+        <translation type="unfinished">Usar editor de arquivos personalizado:</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="143"/>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>emacs</source>
-        <translation>emacs</translation>
+        <translation type="unfinished">emacs</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="166"/>
-        <source>File Browser</source>
-        <translation>Navegador de Arquivos</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+6"/>
+        <source>Terminal</source>
+        <translation type="unfinished">Terminal</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="172"/>
-        <source>Show filenames</source>
-        <translation>Mostrar nomes de arquivo</translation>
+        <location line="+62"/>
+        <location filename="../src/ui-settings-dialog.h" line="-2"/>
+        <source>Cursor type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Cursor blinking</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="179"/>
-        <source>Show file size</source>
-        <translation>Mostrar tamanho do arquivo</translation>
+        <location line="+36"/>
+        <location filename="../src/ui-settings-dialog.h" line="+8"/>
+        <source>File Browser</source>
+        <translation type="unfinished">Navegador de Arquivos</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="186"/>
-        <source>Show file type</source>
-        <translation>Mostrar tipo do arquivo</translation>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-6"/>
+        <source>Show filenames</source>
+        <translation type="unfinished">Mostrar nomes de arquivo</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show file size</source>
+        <translation type="unfinished">Mostrar tamanho do arquivo</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="193"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show file type</source>
+        <translation type="unfinished">Mostrar tipo do arquivo</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show date of last modification</source>
-        <translation>Mostrar data de última modificação</translation>
+        <translation type="unfinished">Mostrar data de última modificação</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="200"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show hidden files</source>
-        <translation>Mostrar arquivos ocultos</translation>
+        <translation type="unfinished">Mostrar arquivos ocultos</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="207"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Alternating row colors</source>
-        <translation>Alternar cores das linhas</translation>
+        <translation type="unfinished">Alternar cores das linhas</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="215"/>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+13"/>
         <source>Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="221"/>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-11"/>
         <source>Use proxy server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="233"/>
+        <location line="+12"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Proxy Type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="244"/>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+3"/>
         <source>HttpProxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="249"/>
+        <location line="+5"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Socks5Proxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="260"/>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+2"/>
         <source>Hostname:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="277"/>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="294"/>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Username:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="339"/>
-        <source>Reset to defaults</source>
-        <translation>Resetar ao padrão</translation>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Password:</source>
+        <translation type="unfinished">Senha:</translation>
+    </message>
+</context>
+<context>
+    <name>terminal_dock_widget</name>
+    <message>
+        <location filename="../src/terminal-dockwidget.cc" line="+34"/>
+        <source>Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>webinfo</name>
+    <message>
+        <location filename="../src/qtinfo/webinfo.cc" line="+74"/>
+        <source>Type here and press &apos;Return&apos; to search</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="362"/>
-        <source>Export</source>
-        <translation>Exportar</translation>
-    </message>
-    <message>
-        <location filename="../src/SettingsDialog.ui" line="372"/>
-        <source>Import</source>
-        <translation>Importar</translation>
+        <location line="+4"/>
+        <source>Global search</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>VariablesDockWidget</name>
+    <name>welcome_wizard</name>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="36"/>
-        <source>Workspace</source>
-        <translation>Ambiente de trabalho</translation>
+        <location filename="../src/welcome-wizard.ui" line="+26"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+286"/>
+        <source>Welcome to GNU Octave</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>It appears that you have launched Octave GUI for the first time on this computer, since no configuration file could be found at &apos;~/.octave-gui&apos;. This wizard will guide you through the essential settings you should make before you can start using Octave GUI. If you want to transfer your settings you have previously made just close this dialog and copy over the settings file to your home folder. The presence of that file will automatically be detected and will skip this wizard. IMPORTANT: This wizard is not fully functional yet. Just click your way to the end and it will create a standard settings file.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Name</source>
-        <translation>Nome</translation>
+        <location line="+41"/>
+        <location line="+50"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <source>Next</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Type</source>
-        <translation>Tipo</translation>
+        <location line="-124"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location line="+87"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-5"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <source>Previous</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-45"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-3"/>
+        <source>Welcome to Octave!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Value</source>
-        <translation>Valor</translation>
+        <location line="+7"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>This is the development version of Octave with the first official GUI.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="52"/>
-        <source>Local</source>
-        <translation>Local</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>You seem to run Octave GUI for the first time on this computer. This assistant will help you to configure this software installation. Click &apos;Finish&apos; to write a configuration file and launch Octave GUI.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="56"/>
-        <source>Global</source>
-        <translation>Global</translation>
+        <location line="+48"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+2"/>
+        <source>Finish</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>workspace_model</name>
+    <message>
+        <location filename="../src/workspace-model.cc" line="+42"/>
+        <source>Name</source>
+        <translation type="unfinished">Nome</translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="60"/>
-        <source>Persistent</source>
-        <translation>Persistente</translation>
+        <location line="+0"/>
+        <source>Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+0"/>
+        <source>Dimension</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="64"/>
-        <source>Hidden</source>
-        <translation>Oculto</translation>
+        <location line="+0"/>
+        <source>Value</source>
+        <translation type="unfinished">Valor</translation>
+    </message>
+</context>
+<context>
+    <name>workspace_view</name>
+    <message>
+        <location filename="../src/workspace-view.cc" line="+39"/>
+        <source>Workspace</source>
+        <translation type="unfinished">Ambiente de trabalho</translation>
     </message>
 </context>
 </TS>
deleted file mode 100644
index de3a769e3f6ba4f834ed1e7a6066bb9c0e6beeee..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..e4c60b51c6231f4a48b5812f57dace6d635fc28a
GIT binary patch
literal 5746
zc$}?RZERcB89ojtZsIs@l4fn`P<mU6OVTcL+_-U^*p2O^O_wgA4U}oBn%>wq$yIFM
z?B467LE4|OO_M+fi6W3-)3$0wTBY^}AYdI#8?a9m5FbMO{Iwx%6B^qzF%2R1ocCV)
z+K#Uq#(u=d_vF6M`@A3Lec$8JXR|wh`M1X(zP{&{AD#Qo^S@6q=6R1bJ@*2w{E0Ui
zYkGw7S2<(;zq97a2xHssV||y_8Dq1o?;7^m1J>#bv%c4E!}E`=)u*rn_gw|fGwi@i
zSewqVGxt6X`Rgn<bP?+p*f;+@&6wBYx%H**;r$Dq*WQ7?miImHCKSfn-)Q>o2mOo%
zhMTUQ{S|O}`K9p9jNSC6wfgt-Yi;vbuUYHX$C`WlA7HG_Y(5kH31h7%n=eP2fOp0F
z(91sq-q*Z8e-O{DU-$mzg?}>E^|>vV&u#<W{ubXG-^cR@Etj7C7Guo^TYmli9~k4k
zt$oA)g8n~RYqz)cDbL%$OZ#@ca|L`~_hqB7d&|AP>}WUE=Y3Za|6#0Szwd|ln|S`H
zE&PM$fcL1iw*A!ay=MY;eA&Oc278<K`oH?bU!i}+f5G!R=)dZ}@F&>K-t%Ac7{Hlt
z@A>nm80);heYdZOwXgk)mtVpDx7!z9`3mfPtNp34@Zan0@Af^3|NkX$Ch;=t+#S%L
zgdh0Rfr~A$yY<Du#b0Fb{y^X#xwF7$*6Lr~db;zs;Bj4rai?#>KX&qNp5QT_=A%5q
z<2=Pf{3ws|nHC}D#b5ilmMP|yf+?G-R@j1_o3oWWb9h>wTT`=(is=!M+gXtB0_YLI
zjA0D}GR04n0h@zqZDm~mwJoSQWlqVerlyl<0HV7g6oOEUhblxS@KRk7A4K*+V3?0o
zynYmK)qTB#?*XMDJ_xaDTCKrpWleGw4Dvnr8-bGs;jC$X9O5%f0#pc8NANjVML7Vt
z^QM&2wB@|4FV`mn#2%1{!Q`nbGQQx<ic)ZA(@l;NzD?nC44$s`@F^v$xq5g9$R2?a
zNggYU@ZhOp!Bv&;*#yNUUZctvoRwD<ccNXq2l6R9yJ~6PRdAu%#k=?v1jisYR1+wk
zE(Yu8!tEk?ASGfnMRB@Ol)CQFmEfwX6^+J`x@Dsam;_BRf$JQVvM;1y(x?k0^6pl6
zK1DzxfEL(iu@~nv7H|#SbXh^io!a7}KyOI4hwp_8Vq|`l4+AeoE(`%N!4H+uI@3j6
z$1#@1Rb9zInhs^BfHO9n>PZxeFvN$6wg5d2B_sTpC?9w_!V~x$w@xBY<9ou+>;&FR
z;W@$&;hp}n`kryEIG<B8IW@B^$&yejnVO`D#8=J!23!s!JHixY;k*cGPus4GLVJ|f
zQHp$tQK&-mrzZ-gqD$tIBCW{glBDURy&&h6MruPyuLz~&Fq8=;allGYZIwBZ;etXK
z$u|jFj>7Gq*N_;+6-g^7QnuvnM!Ld$JK@Gf)ND++7>2}2PaMw^6xjp}6}dE6*0wdR
z<@0hOD^03KDXQC+tnV8XnVX7hg&N!6mLmk2BtL1#_oN_N^LAWROYDi1AG2Cbg<~Ss
zIgqi5BMnSlE*J}ll4{Z;VuhIH)q<SsZ)niD4at$B(~u;RgD}lX3y~-%h?LdwqMP$_
z1^He(jYORXMFg^xRV6!Yj*STis9To&<<zDvb{K_lM@~7f=yO`eM1`4KEUH$gwI!X_
zEjqz)H3AN}JHk%UMJR<w$?RixeVcYL#+3!Rm}`I$Mr|y`He_eOU^%Bs4h)fVkI}b@
zGJ3Za|Id7>sF_MuGE7}9EV`@O#dnGXBx9o#L#wi(1v(w+cortB3#y{K1NBoAw7QGP
z<Z#8T5~q_8p`0C|y@cb9DP?_4(;LLZ$M*w^B+F9X>0*Aq5uFZ<0oIYKwWbAgfG#6%
z+=UO<@qdESKTbB@Fb1>m`Q~G=i5V>~s|92@n)}*jX0+PZF*EQ1wAUGyVJ4H=DpSg0
z{^Yz?G^H8hR9E^8u}dHXqtt@NL^H4o83iV0yXde}Un$rh@9YOty0&I0k~rmtBI}tY
z*Mq--p;U)qsZAl>DztRjTGq9q)uN30i2v_yu|dHn8!0xx{V%tU4Imv{qB1W=rRqcD
zouFZ;elCj15|dn_!UcTdyi4XrsZJb%YtyI{_S^^A0UFMd_H(HljyleE?g1w>IV;_*
z>C487oT;C(`)IlpsK+aH(B~v}24G>tDR8Hh6-~$0qPXb7xz4Qm@i@~Q+nDpYI!T<Q
zx+8E8)BKg7iLcav(==HO*Kmo}=TdP94xCnTF%ze2Rn}D*?ZS}M0&U0{Qw7tt64Uyp
zW1pxen>N0+vE3omcT2c*4~)_bB!-HkG<c+_3YX^{X9!G+`JjM=E-Xqo*C-Y_O{Z(Z
zRzoqxHs(N8&S{IA&+odDdrQ@py4Mu>eAJ%S1`(S`1(u(#D^{IxM+_j^A+iTU6LV~8
zy+bw((GX*<qFuIVh$slBOgY_c))sJ;o}_E8C^kbd#QrIP1`P2nZP)dreKC*Qmkcrf
z50y=hS5=mt*(LZsE1Qa>El4@pFr~bf#k`OymzugvLM}|kXh-O(spA#LNob_|jiKJ7
zxN11)qCw0$M{pg!A-cJ~;*Q?$f*!T~6uKe4xF5Mk%FRE?^3NMn)MraNoGj=h4NGbk
zgPYamT$M;wvvS<N-8**+XB=s{)4nY<I3=PJ4A?`L70RmfR*~mB?m`#N6wx5_maDDn
zwtLq5n8NayT{6sYMjj<EXWVVu%y7%65d%Uf*StAouadJX#t!nyF+1s<p3!_-&K2DS
gKS_lQIDo4t)ShpM?%nD6u($1_?k4`>LEpCj0@Xc7C;$Ke
rename from libgui/languages/ru-ru.ts
rename to libgui/languages/ru_RU.ts
--- a/libgui/languages/ru-ru.ts
+++ b/libgui/languages/ru_RU.ts
@@ -2,573 +2,1065 @@
 <!DOCTYPE TS>
 <TS version="2.0" language="ru_RU">
 <context>
-    <name>FileEditorMdiSubWindow</name>
+    <name>documentation_dock_widget</name>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="114"/>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="207"/>
-        <source>File Editor</source>
-        <translation>Редактор файлов</translation>
+        <location filename="../src/documentation-dockwidget.cc" line="+34"/>
+        <source>Documentation</source>
+        <translation type="unfinished">Документация</translation>
+    </message>
+</context>
+<context>
+    <name>file_editor</name>
+    <message>
+        <location filename="../src/m-editor/file-editor.cc" line="+146"/>
+        <location line="+38"/>
+        <location line="+43"/>
+        <location line="+26"/>
+        <source>Octave Editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="115"/>
-        <source>Cannot read file %1:
+        <location line="-106"/>
+        <source>File %1 is already open in the editor.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+38"/>
+        <source>Could not open file %1 for read:
 %2.</source>
-        <translation>Не удалось прочитать файл %1:
-%2.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="127"/>
-        <source>File loaded.</source>
-        <translation>Файл загружен.</translation>
+        <location line="+43"/>
+        <source>File not saved! A file with the selected name
+%1
+is already open in the editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="153"/>
-        <source>Do you want to save the current file
-%1 ?</source>
-        <translation>Сохранить текущий файл
-%1?</translation>
+        <location line="+26"/>
+        <source>The associated file editor tab has disappeared.  It was likely closed by some means.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="208"/>
-        <source>Cannot write file %1:
-%2.</source>
-        <translation>Не удалось сохранить файл %1:
-%2.</translation>
+        <location line="+141"/>
+        <source>&amp;%1 %2</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="220"/>
-        <source>File %1 saved</source>
-        <translation>Файл %1 сохранён</translation>
+        <location line="+130"/>
+        <source>&amp;New File</source>
+        <translation type="unfinished">Созд&amp;ать</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Open File</source>
+        <translation type="unfinished">&amp;Открыть</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Save File</source>
+        <translation type="unfinished">&amp;Сохранить</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="383"/>
-        <source>&amp;Close File</source>
-        <translation>&amp;Закрыть</translation>
+        <location line="+4"/>
+        <source>Save File &amp;As</source>
+        <translation type="unfinished">Сохранить &amp;как</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Undo</source>
+        <translation type="unfinished">О&amp;тменить</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="386"/>
-        <source>&amp;New File</source>
-        <translation>Созд&amp;ать</translation>
+        <location line="+3"/>
+        <source>&amp;Redo</source>
+        <translation type="unfinished">&amp;Повторить</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="389"/>
-        <source>&amp;Open File</source>
-        <translation>&amp;Открыть</translation>
+        <location line="+3"/>
+        <source>&amp;Copy</source>
+        <translation type="unfinished">&amp;Копировать</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="392"/>
-        <source>&amp;Save File</source>
-        <translation>&amp;Сохранить</translation>
+        <location line="+3"/>
+        <source>Cu&amp;t</source>
+        <translation type="unfinished">Вы&amp;резать</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="395"/>
-        <source>Save File &amp;As</source>
-        <translation>Сохранить &amp;как</translation>
+        <location line="+4"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="398"/>
-        <source>&amp;Undo</source>
-        <translation>О&amp;тменить</translation>
+        <location line="+1"/>
+        <source>&amp;Next Bookmark</source>
+        <translation type="unfinished">С&amp;ледующая закладка</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Pre&amp;vious Bookmark</source>
+        <translation type="unfinished">Пр&amp;едыдущая закладка</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="401"/>
-        <source>&amp;Redo</source>
-        <translation>&amp;Повторить</translation>
+        <location line="+1"/>
+        <source>Toggle &amp;Bookmark</source>
+        <translation type="unfinished">&amp;Установить/снять закладку</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Remove All Bookmarks</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="402"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Копировать</translation>
+        <location line="+4"/>
+        <source>&amp;Next breakpoint</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="403"/>
-        <source>Cu&amp;t</source>
-        <translation>Вы&amp;резать</translation>
+        <location line="+3"/>
+        <source>Pre&amp;vious breakpoint</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="404"/>
-        <source>&amp;Paste</source>
-        <translation>&amp;Вставить</translation>
+        <location line="+3"/>
+        <source>Toggle &amp;breakpoint</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="405"/>
-        <source>&amp;Next Bookmark</source>
-        <translation>С&amp;ледующая закладка</translation>
+        <location line="+3"/>
+        <source>&amp;Remove All breakpoints</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="406"/>
-        <source>Pre&amp;vious Bookmark</source>
-        <translation>Пр&amp;едыдущая закладка</translation>
+        <location line="+2"/>
+        <source>&amp;Comment Selected Text</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="407"/>
-        <source>Toggle &amp;Bookmark</source>
-        <translation>&amp;Установить/снять закладку</translation>
+        <location line="+1"/>
+        <source>&amp;Uncomment Selected Text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Find and Replace</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="410"/>
-        <source>&amp;Run File</source>
-        <translation>&amp;Запустить файл</translation>
+        <location line="+3"/>
+        <source>Save File And Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+51"/>
+        <source>&amp;File</source>
+        <translation type="unfinished">&amp;Файл</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="449"/>
-        <source>&amp;File</source>
-        <translation>&amp;Файл</translation>
+        <location line="+6"/>
+        <source>Open &amp;Recent</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="457"/>
+        <location line="+8"/>
         <source>&amp;Edit</source>
-        <translation>&amp;Правка</translation>
+        <translation type="unfinished">&amp;Правка</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="469"/>
+        <location line="+19"/>
+        <source>&amp;Debug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>&amp;Run</source>
-        <translation>&amp;Запуск</translation>
+        <translation type="unfinished">&amp;Запуск</translation>
     </message>
 </context>
 <context>
-    <name>FilesDockWidget</name>
+    <name>file_editor_tab</name>
     <message>
-        <source>Current Folder</source>
-        <translation type="obsolete">Текущий каталог</translation>
+        <location filename="../src/m-editor/file-editor-tab.cc" line="+687"/>
+        <location line="+102"/>
+        <location line="+98"/>
+        <location line="+63"/>
+        <location line="+14"/>
+        <source>Octave Editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="32"/>
-        <source>Current Directory</source>
-        <translation>Текущий каталог</translation>
+        <location line="-276"/>
+        <source>The file &apos;%1&apos; has been modified. Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="46"/>
-        <source>Move up one directory.</source>
-        <translation>Перейти на уровень выше.</translation>
+        <location line="+102"/>
+        <source>Could not open file %1 for write:
+%2.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="49"/>
-        <source>Enter the path or filename.</source>
-        <translation>Введите путь или имя файла.</translation>
+        <location line="+98"/>
+        <source>File not saved!  You&apos;ve selected a file name
+
+     %1
+
+which is the same as the current file name.  Use Save to overwrite.  (Could allow overwriting, with message, if that is what folks want.)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="78"/>
-        <source>Doubleclick a file to open it.</source>
-        <translation>Двойной щелчок по файлу откроет его.</translation>
+        <location line="+63"/>
+        <source>It seems that &apos;%1&apos; has been modified by another application. Do you want to reload it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>It seems that &apos;%1&apos; has been deleted or renamed. Do you want to save it now?</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HistoryDockWidget</name>
+    <name>files_dock_widget</name>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="36"/>
-        <source>Doubleclick a command to transfer it to the terminal.</source>
-        <translation>Двойной щелчок по команде перенесёт её в командную строку.</translation>
+        <location filename="../src/files-dockwidget.cc" line="+43"/>
+        <source>Current Directory</source>
+        <translation type="unfinished">Текущий каталог</translation>
     </message>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="38"/>
-        <source>Enter text to filter the command history.</source>
-        <translation>Введите текст для фильтрации выполненных команд.</translation>
+        <location line="+11"/>
+        <source>Move up one directory.</source>
+        <translation type="unfinished">Перейти на уровень выше.</translation>
     </message>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="41"/>
-        <source>Command History</source>
-        <translation>Журнал выполненных команд</translation>
+        <location line="+4"/>
+        <source>Enter the path or filename.</source>
+        <translation type="unfinished">Введите путь или имя файла.</translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <source>Doubleclick a file to open it.</source>
+        <translation type="unfinished">Двойной щелчок по файлу откроет его.</translation>
     </message>
 </context>
 <context>
-    <name>LexerOctaveGui</name>
+    <name>find_dialog</name>
+    <message>
+        <location filename="../src/m-editor/find-dialog.cc" line="+58"/>
+        <source>Find &amp;what:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Re&amp;place with:</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="111"/>
-        <source>Default</source>
-        <translation>По умолчанию</translation>
+        <location line="+4"/>
+        <source>Match &amp;case</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search from &amp;start</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Wrap while searching</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="113"/>
-        <source>Comment</source>
-        <translation>Комментарий</translation>
+        <location line="+2"/>
+        <source>&amp;Find Next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;Replace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Replace &amp;All</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="115"/>
-        <source>Command</source>
-        <translation>Команда</translation>
+        <location line="+2"/>
+        <source>&amp;More</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="117"/>
-        <source>Number</source>
-        <translation>Число</translation>
+        <location line="+11"/>
+        <source>&amp;Whole words</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Regular E&amp;xpressions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search &amp;backward</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="119"/>
-        <source>Keyword</source>
-        <translation>Зарезервированное слово</translation>
+        <location line="+1"/>
+        <source>Search se&amp;lection</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>history_dock_widget</name>
+    <message>
+        <location filename="../src/history-dockwidget.cc" line="+55"/>
+        <source>Doubleclick a command to transfer it to the terminal.</source>
+        <translation type="unfinished">Двойной щелчок по команде перенесёт её в командную строку.</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="121"/>
-        <source>Single-quoted string</source>
-        <translation>Строка в одинарных кавычках</translation>
+        <location line="+6"/>
+        <source>Enter text to filter the command history.</source>
+        <translation type="unfinished">Введите текст для фильтрации выполненных команд.</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Command History</source>
+        <translation type="unfinished">Журнал выполненных команд</translation>
+    </message>
+    <message>
+        <location line="+42"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="123"/>
-        <source>Operator</source>
-        <translation>Оператор</translation>
+        <location line="+1"/>
+        <source>Evaluate</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>lexer_octave_gui</name>
+    <message>
+        <location filename="../src/m-editor/lexer-octave-gui.cc" line="+145"/>
+        <source>Default</source>
+        <translation type="unfinished">По умолчанию</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Comment</source>
+        <translation type="unfinished">Комментарий</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Command</source>
+        <translation type="unfinished">Команда</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="125"/>
-        <source>Identifier</source>
-        <translation>Идентификатор</translation>
+        <location line="+2"/>
+        <source>Number</source>
+        <translation type="unfinished">Число</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Keyword</source>
+        <translation type="unfinished">Зарезервированное слово</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="127"/>
+        <location line="+2"/>
+        <source>Single-quoted string</source>
+        <translation type="unfinished">Строка в одинарных кавычках</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Operator</source>
+        <translation type="unfinished">Оператор</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Identifier</source>
+        <translation type="unfinished">Идентификатор</translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Double-quoted string</source>
-        <translation>Строка в двойных кавычках</translation>
+        <translation type="unfinished">Строка в двойных кавычках</translation>
     </message>
 </context>
 <context>
-    <name>MainWindow</name>
+    <name>main_window</name>
+    <message>
+        <location filename="../src/main-window.cc" line="+135"/>
+        <source>Save Workspace</source>
+        <translation type="unfinished">Сохранить область переменных</translation>
+    </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="47"/>
-        <source>Opening file.</source>
-        <translation>Открывается файл.</translation>
+        <location line="+11"/>
+        <source>Load Workspace</source>
+        <translation type="unfinished">Загрузить область переменных</translation>
+    </message>
+    <message>
+        <location line="+155"/>
+        <source>Set working direcotry</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="124"/>
-        <source>Save Workspace</source>
-        <translation>Сохранить область переменных</translation>
+        <location line="+186"/>
+        <location line="+381"/>
+        <source>About Octave</source>
+        <translation type="unfinished">Об Octave</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="134"/>
-        <source>Load Workspace</source>
-        <translation>Загрузить область переменных</translation>
+        <location line="-290"/>
+        <source>View the variables in the active workspace.</source>
+        <translation type="unfinished">Просмотр содержимого текущей области переменных.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Browse and search the command history.</source>
+        <translation type="unfinished">Просмотр и поиск в журнале выполненных команд.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Browse your files.</source>
+        <translation type="unfinished">Просмотр файлов.</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="226"/>
-        <location filename="../src/MainWindow.cpp" line="362"/>
-        <source>About Octave</source>
-        <translation>Об Octave</translation>
+        <location line="+2"/>
+        <source>See the documentation for help.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+39"/>
+        <source>&amp;File</source>
+        <translation type="unfinished">&amp;Файл</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Script</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="238"/>
-        <source>Saving data and shutting down.</source>
-        <translation>Сохранить и завершить работу.</translation>
+        <location line="+3"/>
+        <source>Function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Class</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="276"/>
-        <source>View the variables in the active workspace.</source>
-        <translation>Просмотр содержимого текущей области переменных.</translation>
+        <location line="+2"/>
+        <source>Enumeration</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="278"/>
-        <source>Browse and search the command history.</source>
-        <translation>Просмотр и поиск в журнале выполненных команд.</translation>
+        <location line="+2"/>
+        <source>Figure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Variable</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="280"/>
-        <source>Browse your files.</source>
-        <translation>Просмотр файлов.</translation>
+        <location line="+2"/>
+        <source>Model</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Open...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="294"/>
-        <source>Terminal</source>
-        <translation>Командная строка</translation>
+        <location line="+4"/>
+        <source>Close Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Import Data...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="298"/>
-        <source>Enter your commands into the Octave terminal.</source>
-        <translation>Введите команды в командной строке Octave.</translation>
+        <location line="+4"/>
+        <source>Save Workspace...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Preferences...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Page Setup...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="307"/>
-        <source>Documentation</source>
-        <translation>Документация</translation>
+        <location line="+3"/>
+        <source>Print</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="311"/>
-        <source>Browse the Octave documentation for help.</source>
-        <translation>Открыть документацию по Octave.</translation>
+        <location line="+4"/>
+        <source>Print Selection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Exit</source>
+        <translation type="unfinished">Выход</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Edit</source>
+        <translation type="unfinished">&amp;Правка</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="320"/>
-        <source>Chat</source>
-        <translation>Чат</translation>
+        <location line="+2"/>
+        <source>Undo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Redo</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="323"/>
-        <source>Instantly chat with other Octave users for help.</source>
-        <translation>Чат с пользователями Octave.</translation>
+        <location line="+5"/>
+        <source>Cut</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="330"/>
-        <source>Octave</source>
-        <translation>Octave</translation>
+        <location line="+4"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="331"/>
-        <source>Settings</source>
-        <translation>Параметры</translation>
+        <location line="+4"/>
+        <source>Paste To Workspace...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="333"/>
-        <source>Exit</source>
-        <translation>Выход</translation>
+        <location line="+6"/>
+        <source>Find...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Find Files...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="335"/>
-        <source>Interface</source>
-        <translation>Интерфейс</translation>
+        <location line="+7"/>
+        <source>Clear Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Clear Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Clear Workspace</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="337"/>
-        <source>Align Windows</source>
-        <translation>Выровнять окна</translation>
+        <location line="+2"/>
+        <source>De&amp;bug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Step</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step out</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="339"/>
-        <location filename="../src/MainWindow.cpp" line="351"/>
-        <source>Workspace</source>
-        <translation>Область переменных</translation>
+        <location line="+8"/>
+        <source>Continue</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Exit Debug Mode</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="342"/>
-        <source>History</source>
-        <translation>Журнал выполненных команд</translation>
+        <location line="+10"/>
+        <source>&amp;Desktop</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="345"/>
-        <source>File Browser</source>
-        <translation>Файловый менеджер</translation>
+        <location line="+1"/>
+        <source>Load workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Window</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="349"/>
-        <source>Open New Editor Window</source>
-        <translation>Открыть новое окно редактора</translation>
+        <location line="+2"/>
+        <source>Show Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Show Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Current Directory</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="352"/>
-        <source>Load</source>
-        <translation>Загрузить</translation>
+        <location line="+6"/>
+        <source>Show Workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="353"/>
-        <source>Save</source>
-        <translation>Сохранить</translation>
+        <location line="+5"/>
+        <source>Show Documentation</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="355"/>
-        <source>Clear</source>
-        <translation>Очистить</translation>
+        <location line="+7"/>
+        <source>Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Command History</source>
+        <translation type="unfinished">Журнал выполненных команд</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="357"/>
-        <source>Community</source>
-        <translation>Сообщество</translation>
+        <location line="+4"/>
+        <source>Current Directory</source>
+        <translation type="unfinished">Текущий каталог</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="358"/>
-        <source>Report Bug</source>
-        <translation>Сообщить об ошибке</translation>
+        <location line="+4"/>
+        <source>Workspace</source>
+        <translation type="unfinished">Область переменных</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Editor</source>
+        <translation type="unfinished">Редактор</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Documentation</source>
+        <translation type="unfinished">Документация</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="359"/>
-        <source>Agora</source>
-        <translation>Agora</translation>
+        <location line="+5"/>
+        <source>Reset Windows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="360"/>
-        <source>Octave Forge</source>
-        <translation>Octave Forge</translation>
+        <location line="+2"/>
+        <source>Report Bug</source>
+        <translation type="unfinished">Сообщить об ошибке</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="363"/>
-        <source>About Qt</source>
-        <translation>О Qt</translation>
+        <location line="+2"/>
+        <source>Visit Agora</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Visit Octave Forge</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+20"/>
+        <source>Current Directory:</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>SettingsDialog</name>
+    <name>settings_dialog</name>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="29"/>
+        <location filename="../src/settings-dialog.ui" line="+29"/>
+        <location filename="../src/ui-settings-dialog.h" line="+461"/>
         <source>Settings</source>
-        <translation>Параметры</translation>
+        <translation type="unfinished">Параметры</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+5"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="39"/>
-        <source>Chat</source>
-        <translation>Чат</translation>
+        <location line="+18"/>
+        <location filename="../src/ui-settings-dialog.h" line="-4"/>
+        <source>Icon set for dock widget</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="47"/>
-        <source>Connect to #octave on startup</source>
-        <translation>Подключиться к #octave при запуске</translation>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Octave logo only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Letter icons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Graphic  icons</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="57"/>
-        <source>Show message of the day</source>
-        <translation>Показывать совет дня</translation>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+11"/>
+        <source>Editor</source>
+        <translation type="unfinished">Редактор</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="64"/>
-        <source>Show topic</source>
-        <translation>Показывать тему обсуждения при подключении</translation>
+        <location line="+10"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="71"/>
-        <source>Automatically identify on NickServ</source>
-        <translation>Автоматически идентифицироваться у NickServ</translation>
+        <location line="-130"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font Size</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="78"/>
-        <source>Warning: Your password will be stored in ~/.octavegui in human-readable format. Do not enter your password if you worry about security issues.</source>
-        <translation>Предупреждение: пароль будет сохранён в ~/.octavegui обычным текстом. Не вводите пароль, если переживаете о возможных уязвимостях в безопасности приложения.</translation>
+        <location line="-109"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <source>Show line numbers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="103"/>
-        <location filename="../src/SettingsDialog.ui" line="311"/>
-        <source>Password:</source>
-        <translation>Пароль:</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Highlight current line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Code completion</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="125"/>
-        <source>Editor</source>
-        <translation>Редактор</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show complete path in window title</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="133"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Restore tabs from previous session on startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Use custom file editor:</source>
-        <translation>Выбрать редактор:</translation>
+        <translation type="unfinished">Выбрать редактор:</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="143"/>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>emacs</source>
-        <translation>emacs</translation>
+        <translation type="unfinished">emacs</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="166"/>
-        <source>File Browser</source>
-        <translation>Файловый менеджер</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+6"/>
+        <source>Terminal</source>
+        <translation type="unfinished">Командная строка</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="172"/>
-        <source>Show filenames</source>
-        <translation>Показывать имена файлов</translation>
+        <location line="+62"/>
+        <location filename="../src/ui-settings-dialog.h" line="-2"/>
+        <source>Cursor type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Cursor blinking</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="179"/>
-        <source>Show file size</source>
-        <translation>Показывать размер файлов</translation>
+        <location line="+36"/>
+        <location filename="../src/ui-settings-dialog.h" line="+8"/>
+        <source>File Browser</source>
+        <translation type="unfinished">Файловый менеджер</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="186"/>
-        <source>Show file type</source>
-        <translation>Показывать типы файлов</translation>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-6"/>
+        <source>Show filenames</source>
+        <translation type="unfinished">Показывать имена файлов</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show file size</source>
+        <translation type="unfinished">Показывать размер файлов</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="193"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show file type</source>
+        <translation type="unfinished">Показывать типы файлов</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show date of last modification</source>
-        <translation>Показывать дату последнего изменения</translation>
+        <translation type="unfinished">Показывать дату последнего изменения</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="200"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show hidden files</source>
-        <translation>Показывать скрытые файлы</translation>
+        <translation type="unfinished">Показывать скрытые файлы</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="207"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Alternating row colors</source>
-        <translation>Чередующиеся цвета строк</translation>
+        <translation type="unfinished">Чередующиеся цвета строк</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="215"/>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+13"/>
         <source>Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="221"/>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-11"/>
         <source>Use proxy server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="233"/>
+        <location line="+12"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Proxy Type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="244"/>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+3"/>
         <source>HttpProxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="249"/>
+        <location line="+5"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Socks5Proxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="260"/>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+2"/>
         <source>Hostname:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="277"/>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="294"/>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Username:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="339"/>
-        <source>Reset to defaults</source>
-        <translation>Установить параметры по умолчанию</translation>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Password:</source>
+        <translation type="unfinished">Пароль:</translation>
+    </message>
+</context>
+<context>
+    <name>terminal_dock_widget</name>
+    <message>
+        <location filename="../src/terminal-dockwidget.cc" line="+34"/>
+        <source>Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>webinfo</name>
+    <message>
+        <location filename="../src/qtinfo/webinfo.cc" line="+74"/>
+        <source>Type here and press &apos;Return&apos; to search</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="362"/>
-        <source>Export</source>
-        <translation>Экспортировать</translation>
-    </message>
-    <message>
-        <location filename="../src/SettingsDialog.ui" line="372"/>
-        <source>Import</source>
-        <translation>Импортировать</translation>
+        <location line="+4"/>
+        <source>Global search</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>VariablesDockWidget</name>
+    <name>welcome_wizard</name>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="36"/>
-        <source>Workspace</source>
-        <translation>Область переменных</translation>
+        <location filename="../src/welcome-wizard.ui" line="+26"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+286"/>
+        <source>Welcome to GNU Octave</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>It appears that you have launched Octave GUI for the first time on this computer, since no configuration file could be found at &apos;~/.octave-gui&apos;. This wizard will guide you through the essential settings you should make before you can start using Octave GUI. If you want to transfer your settings you have previously made just close this dialog and copy over the settings file to your home folder. The presence of that file will automatically be detected and will skip this wizard. IMPORTANT: This wizard is not fully functional yet. Just click your way to the end and it will create a standard settings file.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Name</source>
-        <translation>Идентификатор</translation>
+        <location line="+41"/>
+        <location line="+50"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <source>Next</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Type</source>
-        <translation>Тип</translation>
+        <location line="-124"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location line="+87"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-5"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <source>Previous</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-45"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-3"/>
+        <source>Welcome to Octave!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Value</source>
-        <translation>Значение</translation>
+        <location line="+7"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>This is the development version of Octave with the first official GUI.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="52"/>
-        <source>Local</source>
-        <translation>Локальная</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>You seem to run Octave GUI for the first time on this computer. This assistant will help you to configure this software installation. Click &apos;Finish&apos; to write a configuration file and launch Octave GUI.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="56"/>
-        <source>Global</source>
-        <translation>Глобальная</translation>
+        <location line="+48"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+2"/>
+        <source>Finish</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>workspace_model</name>
+    <message>
+        <location filename="../src/workspace-model.cc" line="+42"/>
+        <source>Name</source>
+        <translation type="unfinished">Идентификатор</translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="60"/>
-        <source>Persistent</source>
-        <translation>Статическая</translation>
+        <location line="+0"/>
+        <source>Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+0"/>
+        <source>Dimension</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="64"/>
-        <source>Hidden</source>
-        <translation>Скрытая</translation>
+        <location line="+0"/>
+        <source>Value</source>
+        <translation type="unfinished">Значение</translation>
+    </message>
+</context>
+<context>
+    <name>workspace_view</name>
+    <message>
+        <location filename="../src/workspace-view.cc" line="+39"/>
+        <source>Workspace</source>
+        <translation type="unfinished">Область переменных</translation>
     </message>
 </context>
 </TS>
--- a/libgui/languages/translators
+++ b/libgui/languages/translators
@@ -1,8 +1,9 @@
 # Below Octave GUI translators are listed with their e-mails
 # to be able inform them about generic translation file changes
-en-en Jacob Dawid <jacob.dawid@googlemail.com>
-es-es Valentin Ortega-Clavero <arcanos3030@gmail.com>
-de-de Jacob Dawid <jacob.dawid@googlemail.com>
-pt-br Júlio Hoffimann Mendes <julio.hoffimann@gmail.com>
-ru-ru Andriy Shinkarchuck <adriano32.gnu@gmail.com>
-uk-ua Andriy Shinkarchuck <adriano32.gnu@gmail.com>
+be_BY Mihas Varantsou <meequz@gmail.com>
+de_DE Jacob Dawid <jacob.dawid@googlemail.com>
+en_US Jacob Dawid <jacob.dawid@googlemail.com>
+es_ES Valentin Ortega-Clavero <arcanos3030@gmail.com>
+pt_BE Júlio Hoffimann Mendes <julio.hoffimann@gmail.com>
+ru_RU Andriy Shinkarchuck <adriano32.gnu@gmail.com>
+uk_UA Andriy Shinkarchuck <adriano32.gnu@gmail.com>
deleted file mode 100644
index 106e473c4ee5a25399cf11bc5c2f5f0a50834565..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..b745f88cebb4bce7ef0709d50d9461a2cebfd0a1
GIT binary patch
literal 5822
zc$}?RU2G#)6~0cd^E0u%N!GCGQnFJht~R>_*Xwj0CvhA*X@f|UYP0pCYPIRCJxNBf
zJ?VIyZ1$lKlm`$MLZZCzSGB8drLJfnTBMeRE>x{3RFq0BDnD)CC?HfoAVdYK;JasL
z?6Ko<tQM`j*K<ARJKy=c=iE#^QyBjFU%&m0U)*@ZwR;}^(OVhDe1BtI&pwCsJ;on<
zow2Tm8UH0`ESP2fg>l9XzQsl_?=r?#*yvU4vj?nIy2wUf{S=<BS*!FtcI+!p0_Pe#
z_5#+fB0GEk_ZbTxVa1b|fb%%}&U;IYb<g-d`NE@k|4rYk??7MQ9lm!{Dr2EzU61@{
z4C|M>o;>$5aE|iJvFjPT?vK_Q*x^_E&x2RcS`WPDKRWhR#`>T4pG`auoQM2Z#=Efc
z?ytZ2Q@r=9?w7tMo?q|&?Q{QNZ0Nq8E9VXZZ=zRv?Q!tArT6kP-(}2yw)Z#xdYdsm
z(>FTtPvAzZHT?O$r+sfQ*845#@H<aH&ka%`0lRx%mI_m0?E9rBQvYUbU{(6z116ql
z`(r<N7I?q5*1&L}`{F$8xIeJH1ADuofiFJxXXw8#@SyKa@cBdF!QaDf_Lsm_Uj;bd
z437NiBa99HICw;=Vm%kU`^qcWe>=GL$``N(gHOlczaA<0?&wpH9|@gJy$Cz+4H-|t
z5Bw*gOTDmL8Vp_fSsr$jLVquw13t6Xz)J^mgTDihH#8Xc$aVN(n1^|aCwZ1n@o_%Q
zGd#*~<2k<EE5y3-3C`*HYDq1dimB=49_(CSaPO?*X>)Z)E3B)gPe6uQgdYaz3}BXc
z41gJ)sKNOoS$%6)!1S+aMRipzXr^wEU<iUocp3sRFp9cF=J8TX5eXtUL12PUx?aBx
zZ?$}V2(RA=Ix)~o^F#x&zQ~fgBYTP-7mi{w0H&dD7NS{LI1QjPOy(!Cm*kW9KaRBy
z8UpAAQ_kr6W=SzNJxLA0S3<IxloVOsQp?_~!u$xNQ!psg!X$s>lv>bR3zE_VRHn$F
zY5c3loJUSo%bsKp@mr89X?#vJkzG-?Rd2EbTu2MaX*jQu=v`$GqC-S84gbK$5O<65
zY&Ft4FQT<*%}^#<bmLIGxKG4}?ljcMwx(Ar?V~o_>;}@d%#-!Psd+<=%vM^0B*`PQ
zRCUu7MhYPN41J4ZchcTzCY-IQ891%4uL~V*>B^|A6eY>+(3Id4*hx}p3LPnaqJ}q^
ztr`Z3Tb|PlH4k|z)<FSS*;DH&f{lZ24mCK<#|d_l4iP)4uoH7-_h~%OSryC1YD!1u
z^y>MdnlEbkO<9qJGTGE+T_nF|j<sQMH}WG!vCYAlMWD}+BON0bz-F1x<6B&0grl2h
z@jZ$Niak*PCn1w<_`S~VWAkNGHDq%`mA4dgL)HyqSXN4EJ8Ee-$4Zb1JBBf&iYU`8
z(XoCLXVFx1G+<23Mc|`%=t!mNmaLamx!}a5o$e^_ro2i~=~zK<S9^k7BA%z{IbPFs
zAgh;3O1U5}XcZ^=2RE$md(@OWioa8T_#LFi8x`BmNHy(FlN-ct8u6o)cR6IdF<<gF
zWu%O0DCNo;qNSPih?pUEC9SL!$J&~*wI`7>cuEQ{62VC_We&ei;t<J*C{lBCjLf<G
zeP(}uyNo$%r<dpypp1Yz+2+_~b8c@yh`O%hzk2)Zu>&fE2a4(i)mYW@CeEhS^{Qqc
z%$B4x0HhmbaTs{Zj!{Fkb;9@zzUAzi5_zydowDYrI`W*lrc{e<kfU6t$YVSKUe>Pc
zdahY66*^|9c;;)^VJka6eQ#Aa)q-3x4XwQHt>`dnC2kv^pa@&Fm~uHn`fLGi(AG57
z@CFjCF-n<!k}^I<CsEX{i&-jd?A3knIdykOH`+u-;x~g5N!Fygm#U@n?Pv_}5xeA?
zt?0!xVJOI+PQ4z(NBBHJ@l3b(`U<?<xz{_G_DYIYMuuZF*y&{2YkoaU_+kuLW_e~Z
zg>5snCK#AKuUAcZnOL=yzo&M7pP(iZ7gcVj;R2F6NkO$oiw|`IL^6iHQ&DA6>lIZo
z@*AGzzlY^bO)Tx%%GJseE=@zWrd_>iHL*%-)c<e)*aQDz$B{jNALJgh2V?-bKThXZ
zvZ-*o=V_E`os~49PBc!Y^A|jF_*Ob2tW!adytOvqr7(?5+INdZ8u+GQz_jJ;`i){y
zR|@hO-Po*bDf!lkdz`#$O<f{Dj)obl94LXs?qtItDV<WcbOV=_>bgft?3s8w<xG=s
zd(Nj?6q|)ccP*Q>lQGr|@7A7c*6vFBV>u01J5f>FilHfJ4Ha1{(}t2aHE`Q;xV5f^
z5uB)<7}~dATy7>CPuLyN@}VfANr0tYvku0;`tUa^=7BQOw!AK*dT}fib%QPx2P&#5
zwlV){N>N|$Jd0aOe!@9j?W>5W$|-wpiz8FVU04CS*jT5DH)04;6@5ckxX9{vqrN+p
zN=3B3q^IaG|M)&5MDL0%=80ilPm(m=yImfqZ&^wq=l12k8d|Zfm-EQV2K-)7OjXv`
z<f2kB<&s{&G?1?yCN1?xJ@gBQSX$DqbJ`vB5NV`)P({0_dTKcCp+QVCGYwt91Kr%+
z@<t!?KzA-o`{Ro{l6QRK9{4kKRh+MlPdRrttG5QyvY{0)npwTfQ_)DnZ0vNLv@_|{
zQ|h#RS7?(`&Yw-vG?`_Hq?^1*orRi)hDvl*z@fX)h4WRk$dVNZ>$2`$4-!*Z2{TNd
zRqDf!T2k`fR(CSk@+Cxw5Nc=ODso#b+Goij3ij=U;x0aaPAOKs1wYt{8LC5V<H+`X
VN%ZYO-}^`V{~PY&?;n>A{tpDIP5S@<
rename from libgui/languages/uk-ua.ts
rename to libgui/languages/uk_UA.ts
--- a/libgui/languages/uk-ua.ts
+++ b/libgui/languages/uk_UA.ts
@@ -2,573 +2,1065 @@
 <!DOCTYPE TS>
 <TS version="2.0" language="uk_UA">
 <context>
-    <name>FileEditorMdiSubWindow</name>
+    <name>documentation_dock_widget</name>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="114"/>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="207"/>
-        <source>File Editor</source>
-        <translation>Редактор файлів</translation>
+        <location filename="../src/documentation-dockwidget.cc" line="+34"/>
+        <source>Documentation</source>
+        <translation type="unfinished">Документація</translation>
+    </message>
+</context>
+<context>
+    <name>file_editor</name>
+    <message>
+        <location filename="../src/m-editor/file-editor.cc" line="+146"/>
+        <location line="+38"/>
+        <location line="+43"/>
+        <location line="+26"/>
+        <source>Octave Editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="115"/>
-        <source>Cannot read file %1:
+        <location line="-106"/>
+        <source>File %1 is already open in the editor.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+38"/>
+        <source>Could not open file %1 for read:
 %2.</source>
-        <translation>Не вдалося прочитати файл %1:
-%2.</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="127"/>
-        <source>File loaded.</source>
-        <translation>Файл завантажено.</translation>
+        <location line="+43"/>
+        <source>File not saved! A file with the selected name
+%1
+is already open in the editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="153"/>
-        <source>Do you want to save the current file
-%1 ?</source>
-        <translation>Справді зберегти поточний файл
-%1?</translation>
+        <location line="+26"/>
+        <source>The associated file editor tab has disappeared.  It was likely closed by some means.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="208"/>
-        <source>Cannot write file %1:
-%2.</source>
-        <translation>Не вдалося зберегти файл %1:
-%2.</translation>
+        <location line="+141"/>
+        <source>&amp;%1 %2</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="220"/>
-        <source>File %1 saved</source>
-        <translation>Файл %1 збережено</translation>
+        <location line="+130"/>
+        <source>&amp;New File</source>
+        <translation type="unfinished">&amp;Створити</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Open File</source>
+        <translation type="unfinished">&amp;Відкрити</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Save File</source>
+        <translation type="unfinished">&amp;Зберегти</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="383"/>
-        <source>&amp;Close File</source>
-        <translation>За&amp;крити</translation>
+        <location line="+4"/>
+        <source>Save File &amp;As</source>
+        <translation type="unfinished">Зберегти &amp;як</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Undo</source>
+        <translation type="unfinished">В&amp;ернути</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="386"/>
-        <source>&amp;New File</source>
-        <translation>&amp;Створити</translation>
+        <location line="+3"/>
+        <source>&amp;Redo</source>
+        <translation type="unfinished">П&amp;овторити</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="389"/>
-        <source>&amp;Open File</source>
-        <translation>&amp;Відкрити</translation>
+        <location line="+3"/>
+        <source>&amp;Copy</source>
+        <translation type="unfinished">&amp;Копіювати</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="392"/>
-        <source>&amp;Save File</source>
-        <translation>&amp;Зберегти</translation>
+        <location line="+3"/>
+        <source>Cu&amp;t</source>
+        <translation type="unfinished">Виріза&amp;ти</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="395"/>
-        <source>Save File &amp;As</source>
-        <translation>Зберегти &amp;як</translation>
+        <location line="+4"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="398"/>
-        <source>&amp;Undo</source>
-        <translation>В&amp;ернути</translation>
+        <location line="+1"/>
+        <source>&amp;Next Bookmark</source>
+        <translation type="unfinished">До &amp;наступної закладки</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Pre&amp;vious Bookmark</source>
+        <translation type="unfinished">До &amp;попередньої закладки</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="401"/>
-        <source>&amp;Redo</source>
-        <translation>П&amp;овторити</translation>
+        <location line="+1"/>
+        <source>Toggle &amp;Bookmark</source>
+        <translation type="unfinished">В&amp;становити/видалити закладку</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Remove All Bookmarks</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="402"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Копіювати</translation>
+        <location line="+4"/>
+        <source>&amp;Next breakpoint</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="403"/>
-        <source>Cu&amp;t</source>
-        <translation>Виріза&amp;ти</translation>
+        <location line="+3"/>
+        <source>Pre&amp;vious breakpoint</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="404"/>
-        <source>&amp;Paste</source>
-        <translation>&amp;Вставити</translation>
+        <location line="+3"/>
+        <source>Toggle &amp;breakpoint</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="405"/>
-        <source>&amp;Next Bookmark</source>
-        <translation>До &amp;наступної закладки</translation>
+        <location line="+3"/>
+        <source>&amp;Remove All breakpoints</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="406"/>
-        <source>Pre&amp;vious Bookmark</source>
-        <translation>До &amp;попередньої закладки</translation>
+        <location line="+2"/>
+        <source>&amp;Comment Selected Text</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="407"/>
-        <source>Toggle &amp;Bookmark</source>
-        <translation>В&amp;становити/видалити закладку</translation>
+        <location line="+1"/>
+        <source>&amp;Uncomment Selected Text</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Find and Replace</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="410"/>
-        <source>&amp;Run File</source>
-        <translation>&amp;Виконати файл</translation>
+        <location line="+3"/>
+        <source>Save File And Run</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+51"/>
+        <source>&amp;File</source>
+        <translation type="unfinished">&amp;Файл</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="449"/>
-        <source>&amp;File</source>
-        <translation>&amp;Файл</translation>
+        <location line="+6"/>
+        <source>Open &amp;Recent</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="457"/>
+        <location line="+8"/>
         <source>&amp;Edit</source>
-        <translation>&amp;Правка</translation>
+        <translation type="unfinished">&amp;Правка</translation>
     </message>
     <message>
-        <location filename="../src/FileEditorMdiSubWindow.cpp" line="469"/>
+        <location line="+19"/>
+        <source>&amp;Debug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>&amp;Run</source>
-        <translation>&amp;Виконання</translation>
+        <translation type="unfinished">&amp;Виконання</translation>
     </message>
 </context>
 <context>
-    <name>FilesDockWidget</name>
+    <name>file_editor_tab</name>
     <message>
-        <source>Current Folder</source>
-        <translation type="obsolete">Поточний каталог</translation>
+        <location filename="../src/m-editor/file-editor-tab.cc" line="+687"/>
+        <location line="+102"/>
+        <location line="+98"/>
+        <location line="+63"/>
+        <location line="+14"/>
+        <source>Octave Editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="32"/>
-        <source>Current Directory</source>
-        <translation>Поточний каталог</translation>
+        <location line="-276"/>
+        <source>The file &apos;%1&apos; has been modified. Do you want to save the changes?</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="46"/>
-        <source>Move up one directory.</source>
-        <translation>Перейти вгору деревом каталогів.</translation>
+        <location line="+102"/>
+        <source>Could not open file %1 for write:
+%2.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="49"/>
-        <source>Enter the path or filename.</source>
-        <translation>Введіть повний шлях до файлу або назву файлу.</translation>
+        <location line="+98"/>
+        <source>File not saved!  You&apos;ve selected a file name
+
+     %1
+
+which is the same as the current file name.  Use Save to overwrite.  (Could allow overwriting, with message, if that is what folks want.)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/FilesDockWidget.cpp" line="78"/>
-        <source>Doubleclick a file to open it.</source>
-        <translation>Подвійне клацання відкриє файл.</translation>
+        <location line="+63"/>
+        <source>It seems that &apos;%1&apos; has been modified by another application. Do you want to reload it?</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>It seems that &apos;%1&apos; has been deleted or renamed. Do you want to save it now?</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>HistoryDockWidget</name>
+    <name>files_dock_widget</name>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="36"/>
-        <source>Doubleclick a command to transfer it to the terminal.</source>
-        <translation>Подвійне клацання перенесе команду до командного рядку.</translation>
+        <location filename="../src/files-dockwidget.cc" line="+43"/>
+        <source>Current Directory</source>
+        <translation type="unfinished">Поточний каталог</translation>
     </message>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="38"/>
-        <source>Enter text to filter the command history.</source>
-        <translation>Введіть текст для фільтрування історії виконаних команд.</translation>
+        <location line="+11"/>
+        <source>Move up one directory.</source>
+        <translation type="unfinished">Перейти вгору деревом каталогів.</translation>
     </message>
     <message>
-        <location filename="../src/HistoryDockWidget.cpp" line="41"/>
-        <source>Command History</source>
-        <translation>Історія виконаних команд</translation>
+        <location line="+4"/>
+        <source>Enter the path or filename.</source>
+        <translation type="unfinished">Введіть повний шлях до файлу або назву файлу.</translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <source>Doubleclick a file to open it.</source>
+        <translation type="unfinished">Подвійне клацання відкриє файл.</translation>
     </message>
 </context>
 <context>
-    <name>LexerOctaveGui</name>
+    <name>find_dialog</name>
+    <message>
+        <location filename="../src/m-editor/find-dialog.cc" line="+58"/>
+        <source>Find &amp;what:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Re&amp;place with:</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="111"/>
-        <source>Default</source>
-        <translation>Стандартні налаштування</translation>
+        <location line="+4"/>
+        <source>Match &amp;case</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search from &amp;start</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&amp;Wrap while searching</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="113"/>
-        <source>Comment</source>
-        <translation>Коментар</translation>
+        <location line="+2"/>
+        <source>&amp;Find Next</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>&amp;Replace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Replace &amp;All</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="115"/>
-        <source>Command</source>
-        <translation>Команда</translation>
+        <location line="+2"/>
+        <source>&amp;More</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="117"/>
-        <source>Number</source>
-        <translation>Число</translation>
+        <location line="+11"/>
+        <source>&amp;Whole words</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Regular E&amp;xpressions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Search &amp;backward</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="119"/>
-        <source>Keyword</source>
-        <translation>Зарезервоване слово</translation>
+        <location line="+1"/>
+        <source>Search se&amp;lection</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>history_dock_widget</name>
+    <message>
+        <location filename="../src/history-dockwidget.cc" line="+55"/>
+        <source>Doubleclick a command to transfer it to the terminal.</source>
+        <translation type="unfinished">Подвійне клацання перенесе команду до командного рядку.</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="121"/>
-        <source>Single-quoted string</source>
-        <translation>Рядок в одинарних лапках</translation>
+        <location line="+6"/>
+        <source>Enter text to filter the command history.</source>
+        <translation type="unfinished">Введіть текст для фільтрування історії виконаних команд.</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Command History</source>
+        <translation type="unfinished">Історія виконаних команд</translation>
+    </message>
+    <message>
+        <location line="+42"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="123"/>
-        <source>Operator</source>
-        <translation>Оператор</translation>
+        <location line="+1"/>
+        <source>Evaluate</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>lexer_octave_gui</name>
+    <message>
+        <location filename="../src/m-editor/lexer-octave-gui.cc" line="+145"/>
+        <source>Default</source>
+        <translation type="unfinished">Стандартні налаштування</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Comment</source>
+        <translation type="unfinished">Коментар</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Command</source>
+        <translation type="unfinished">Команда</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="125"/>
-        <source>Identifier</source>
-        <translation>Ідентифікатор</translation>
+        <location line="+2"/>
+        <source>Number</source>
+        <translation type="unfinished">Число</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Keyword</source>
+        <translation type="unfinished">Зарезервоване слово</translation>
     </message>
     <message>
-        <location filename="../src/lexer/lexeroctavegui.cpp" line="127"/>
+        <location line="+2"/>
+        <source>Single-quoted string</source>
+        <translation type="unfinished">Рядок в одинарних лапках</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Operator</source>
+        <translation type="unfinished">Оператор</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Identifier</source>
+        <translation type="unfinished">Ідентифікатор</translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Double-quoted string</source>
-        <translation>Рядок у подвійних лапках</translation>
+        <translation type="unfinished">Рядок у подвійних лапках</translation>
     </message>
 </context>
 <context>
-    <name>MainWindow</name>
+    <name>main_window</name>
+    <message>
+        <location filename="../src/main-window.cc" line="+135"/>
+        <source>Save Workspace</source>
+        <translation type="unfinished">Зберегти область змінних</translation>
+    </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="47"/>
-        <source>Opening file.</source>
-        <translation>Відкривається файл.</translation>
+        <location line="+11"/>
+        <source>Load Workspace</source>
+        <translation type="unfinished">Завантажити область змінних</translation>
+    </message>
+    <message>
+        <location line="+155"/>
+        <source>Set working direcotry</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="124"/>
-        <source>Save Workspace</source>
-        <translation>Зберегти область змінних</translation>
+        <location line="+186"/>
+        <location line="+381"/>
+        <source>About Octave</source>
+        <translation type="unfinished">Про Octave</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="134"/>
-        <source>Load Workspace</source>
-        <translation>Завантажити область змінних</translation>
+        <location line="-290"/>
+        <source>View the variables in the active workspace.</source>
+        <translation type="unfinished">Перегляд змісту поточної області змінних.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Browse and search the command history.</source>
+        <translation type="unfinished">Перегляд і пошук серед історії виконаних команд.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Browse your files.</source>
+        <translation type="unfinished">Переглянути файли.</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="226"/>
-        <location filename="../src/MainWindow.cpp" line="362"/>
-        <source>About Octave</source>
-        <translation>Про Octave</translation>
+        <location line="+2"/>
+        <source>See the documentation for help.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+39"/>
+        <source>&amp;File</source>
+        <translation type="unfinished">&amp;Файл</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>New</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Script</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="238"/>
-        <source>Saving data and shutting down.</source>
-        <translation>Зберегти дані і завершити роботу.</translation>
+        <location line="+3"/>
+        <source>Function</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Class</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="276"/>
-        <source>View the variables in the active workspace.</source>
-        <translation>Перегляд змісту поточної області змінних.</translation>
+        <location line="+2"/>
+        <source>Enumeration</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="278"/>
-        <source>Browse and search the command history.</source>
-        <translation>Перегляд і пошук серед історії виконаних команд.</translation>
+        <location line="+2"/>
+        <source>Figure</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Variable</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="280"/>
-        <source>Browse your files.</source>
-        <translation>Переглянути файли.</translation>
+        <location line="+2"/>
+        <source>Model</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>GUI</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Open...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="294"/>
-        <source>Terminal</source>
-        <translation>Командний рядок</translation>
+        <location line="+4"/>
+        <source>Close Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Import Data...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="298"/>
-        <source>Enter your commands into the Octave terminal.</source>
-        <translation>Введіть команди до командного рядка Octave.</translation>
+        <location line="+4"/>
+        <source>Save Workspace...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Preferences...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Page Setup...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="307"/>
-        <source>Documentation</source>
-        <translation>Документація</translation>
+        <location line="+3"/>
+        <source>Print</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="311"/>
-        <source>Browse the Octave documentation for help.</source>
-        <translation>Переглянути документацію до Octave.</translation>
+        <location line="+4"/>
+        <source>Print Selection...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Exit</source>
+        <translation type="unfinished">Вийти</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Edit</source>
+        <translation type="unfinished">&amp;Правка</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="320"/>
-        <source>Chat</source>
-        <translation>Чат</translation>
+        <location line="+2"/>
+        <source>Undo</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Redo</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="323"/>
-        <source>Instantly chat with other Octave users for help.</source>
-        <translation>Чат з користувачами Octave.</translation>
+        <location line="+5"/>
+        <source>Cut</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="330"/>
-        <source>Octave</source>
-        <translation>Octave</translation>
+        <location line="+4"/>
+        <source>Copy</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Paste</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="331"/>
-        <source>Settings</source>
-        <translation>Налаштування</translation>
+        <location line="+4"/>
+        <source>Paste To Workspace...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Select All</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Delete</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="333"/>
-        <source>Exit</source>
-        <translation>Вийти</translation>
+        <location line="+6"/>
+        <source>Find...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Find Files...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="335"/>
-        <source>Interface</source>
-        <translation>Інтерфейс</translation>
+        <location line="+7"/>
+        <source>Clear Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Clear Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Clear Workspace</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="337"/>
-        <source>Align Windows</source>
-        <translation>Вирівняти вікна</translation>
+        <location line="+2"/>
+        <source>De&amp;bug</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Step</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step in</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Step out</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="339"/>
-        <location filename="../src/MainWindow.cpp" line="351"/>
-        <source>Workspace</source>
-        <translation>Область змінних</translation>
+        <location line="+8"/>
+        <source>Continue</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Exit Debug Mode</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="342"/>
-        <source>History</source>
-        <translation>Історія виконаних команд</translation>
+        <location line="+10"/>
+        <source>&amp;Desktop</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="345"/>
-        <source>File Browser</source>
-        <translation>Файловий менеджер</translation>
+        <location line="+1"/>
+        <source>Load workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Window</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="349"/>
-        <source>Open New Editor Window</source>
-        <translation>Відкрити нове вікно редактора</translation>
+        <location line="+2"/>
+        <source>Show Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Show Command History</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Current Directory</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="352"/>
-        <source>Load</source>
-        <translation>Завантажити</translation>
+        <location line="+6"/>
+        <source>Show Workspace</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Show Editor</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="353"/>
-        <source>Save</source>
-        <translation>Зберегти</translation>
+        <location line="+5"/>
+        <source>Show Documentation</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="355"/>
-        <source>Clear</source>
-        <translation>Очистити</translation>
+        <location line="+7"/>
+        <source>Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Command History</source>
+        <translation type="unfinished">Історія виконаних команд</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="357"/>
-        <source>Community</source>
-        <translation>Спільнота</translation>
+        <location line="+4"/>
+        <source>Current Directory</source>
+        <translation type="unfinished">Поточний каталог</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="358"/>
-        <source>Report Bug</source>
-        <translation>Повідомити про помилку</translation>
+        <location line="+4"/>
+        <source>Workspace</source>
+        <translation type="unfinished">Область змінних</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Editor</source>
+        <translation type="unfinished">Редактор</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Documentation</source>
+        <translation type="unfinished">Документація</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="359"/>
-        <source>Agora</source>
-        <translation>Agora</translation>
+        <location line="+5"/>
+        <source>Reset Windows</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>&amp;Help</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="360"/>
-        <source>Octave Forge</source>
-        <translation>Octave Forge</translation>
+        <location line="+2"/>
+        <source>Report Bug</source>
+        <translation type="unfinished">Повідомити про помилку</translation>
     </message>
     <message>
-        <location filename="../src/MainWindow.cpp" line="363"/>
-        <source>About Qt</source>
-        <translation>Про Qt</translation>
+        <location line="+2"/>
+        <source>Visit Agora</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Visit Octave Forge</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+20"/>
+        <source>Current Directory:</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>SettingsDialog</name>
+    <name>settings_dialog</name>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="29"/>
+        <location filename="../src/settings-dialog.ui" line="+29"/>
+        <location filename="../src/ui-settings-dialog.h" line="+461"/>
         <source>Settings</source>
-        <translation>Налаштування</translation>
+        <translation type="unfinished">Налаштування</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+5"/>
+        <source>General</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="39"/>
-        <source>Chat</source>
-        <translation>Чат</translation>
+        <location line="+18"/>
+        <location filename="../src/ui-settings-dialog.h" line="-4"/>
+        <source>Icon set for dock widget</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="47"/>
-        <source>Connect to #octave on startup</source>
-        <translation>З&apos;єднатися з #octave при запуску</translation>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Octave logo only</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Letter icons</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Graphic  icons</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="57"/>
-        <source>Show message of the day</source>
-        <translation>Показувати пораду дня</translation>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+11"/>
+        <source>Editor</source>
+        <translation type="unfinished">Редактор</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="64"/>
-        <source>Show topic</source>
-        <translation>Показувати тему чату при з&apos;єднанні</translation>
+        <location line="+10"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="71"/>
-        <source>Automatically identify on NickServ</source>
-        <translation>Автоматично ідентифікуватися в NickServ</translation>
+        <location line="-130"/>
+        <location line="+147"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <location line="+10"/>
+        <source>Font Size</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="78"/>
-        <source>Warning: Your password will be stored in ~/.octavegui in human-readable format. Do not enter your password if you worry about security issues.</source>
-        <translation>Попередження: пароль буде збережено в ~/.octavegui звичайним текстом. Не вводьте пароль, якщо переймаєтесь потенційними проблемами із захистом даних в програмі.</translation>
+        <location line="-109"/>
+        <location filename="../src/ui-settings-dialog.h" line="-9"/>
+        <source>Show line numbers</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="103"/>
-        <location filename="../src/SettingsDialog.ui" line="311"/>
-        <source>Password:</source>
-        <translation>Пароль:</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Highlight current line</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Code completion</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="125"/>
-        <source>Editor</source>
-        <translation>Редактор</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show complete path in window title</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="133"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Restore tabs from previous session on startup</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Use custom file editor:</source>
-        <translation>Використовувати інший редактор:</translation>
+        <translation type="unfinished">Використовувати інший редактор:</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="143"/>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>emacs</source>
-        <translation>emacs</translation>
+        <translation type="unfinished">emacs</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="166"/>
-        <source>File Browser</source>
-        <translation>Файловий менеджер</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-settings-dialog.h" line="+6"/>
+        <source>Terminal</source>
+        <translation type="unfinished">Командний рядок</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="172"/>
-        <source>Show filenames</source>
-        <translation>Показувати назви файлів</translation>
+        <location line="+62"/>
+        <location filename="../src/ui-settings-dialog.h" line="-2"/>
+        <source>Cursor type:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Cursor blinking</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="179"/>
-        <source>Show file size</source>
-        <translation>Показувати розмір файлів</translation>
+        <location line="+36"/>
+        <location filename="../src/ui-settings-dialog.h" line="+8"/>
+        <source>File Browser</source>
+        <translation type="unfinished">Файловий менеджер</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="186"/>
-        <source>Show file type</source>
-        <translation>Показувати типи файлів</translation>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-6"/>
+        <source>Show filenames</source>
+        <translation type="unfinished">Показувати назви файлів</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show file size</source>
+        <translation type="unfinished">Показувати розмір файлів</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="193"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Show file type</source>
+        <translation type="unfinished">Показувати типи файлів</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show date of last modification</source>
-        <translation>Показувати дату останньої зміни</translation>
+        <translation type="unfinished">Показувати дату останньої зміни</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="200"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Show hidden files</source>
-        <translation>Показувати приховані файли</translation>
+        <translation type="unfinished">Показувати приховані файли</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="207"/>
+        <location line="+7"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Alternating row colors</source>
-        <translation>Чергувати колір рядків</translation>
+        <translation type="unfinished">Чергувати колір рядків</translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="215"/>
+        <location line="+21"/>
+        <location filename="../src/ui-settings-dialog.h" line="+13"/>
         <source>Network</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="221"/>
+        <location line="+6"/>
+        <location filename="../src/ui-settings-dialog.h" line="-11"/>
         <source>Use proxy server</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="233"/>
+        <location line="+12"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Proxy Type:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="244"/>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+3"/>
         <source>HttpProxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="249"/>
+        <location line="+5"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Socks5Proxy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="260"/>
+        <location line="+11"/>
+        <location filename="../src/ui-settings-dialog.h" line="+2"/>
         <source>Hostname:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="277"/>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Port:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="294"/>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
         <source>Username:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="339"/>
-        <source>Reset to defaults</source>
-        <translation>Встановити стандартні налаштування</translation>
+        <location line="+17"/>
+        <location filename="../src/ui-settings-dialog.h" line="+1"/>
+        <source>Password:</source>
+        <translation type="unfinished">Пароль:</translation>
+    </message>
+</context>
+<context>
+    <name>terminal_dock_widget</name>
+    <message>
+        <location filename="../src/terminal-dockwidget.cc" line="+34"/>
+        <source>Command Window</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>webinfo</name>
+    <message>
+        <location filename="../src/qtinfo/webinfo.cc" line="+74"/>
+        <source>Type here and press &apos;Return&apos; to search</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/SettingsDialog.ui" line="362"/>
-        <source>Export</source>
-        <translation>Експортувати</translation>
-    </message>
-    <message>
-        <location filename="../src/SettingsDialog.ui" line="372"/>
-        <source>Import</source>
-        <translation>Імпортувати</translation>
+        <location line="+4"/>
+        <source>Global search</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>VariablesDockWidget</name>
+    <name>welcome_wizard</name>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="36"/>
-        <source>Workspace</source>
-        <translation>Область змінних</translation>
+        <location filename="../src/welcome-wizard.ui" line="+26"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+286"/>
+        <source>Welcome to GNU Octave</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>It appears that you have launched Octave GUI for the first time on this computer, since no configuration file could be found at &apos;~/.octave-gui&apos;. This wizard will guide you through the essential settings you should make before you can start using Octave GUI. If you want to transfer your settings you have previously made just close this dialog and copy over the settings file to your home folder. The presence of that file will automatically be detected and will skip this wizard. IMPORTANT: This wizard is not fully functional yet. Just click your way to the end and it will create a standard settings file.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Name</source>
-        <translation>Ідентифікатор</translation>
+        <location line="+41"/>
+        <location line="+50"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <source>Next</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Type</source>
-        <translation>Тип</translation>
+        <location line="-124"/>
+        <location line="+52"/>
+        <location line="+52"/>
+        <location line="+87"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-5"/>
+        <location line="+2"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <source>Previous</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-45"/>
+        <location filename="../src/ui-welcome-wizard.h" line="-3"/>
+        <source>Welcome to Octave!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="40"/>
-        <source>Value</source>
-        <translation>Значення</translation>
+        <location line="+7"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>This is the development version of Octave with the first official GUI.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="52"/>
-        <source>Local</source>
-        <translation>Локальна</translation>
+        <location line="+10"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+1"/>
+        <source>You seem to run Octave GUI for the first time on this computer. This assistant will help you to configure this software installation. Click &apos;Finish&apos; to write a configuration file and launch Octave GUI.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="56"/>
-        <source>Global</source>
-        <translation>Глобальна</translation>
+        <location line="+48"/>
+        <location filename="../src/ui-welcome-wizard.h" line="+2"/>
+        <source>Finish</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>workspace_model</name>
+    <message>
+        <location filename="../src/workspace-model.cc" line="+42"/>
+        <source>Name</source>
+        <translation type="unfinished">Ідентифікатор</translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="60"/>
-        <source>Persistent</source>
-        <translation>Статична</translation>
+        <location line="+0"/>
+        <source>Class</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+0"/>
+        <source>Dimension</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/VariablesDockWidget.cpp" line="64"/>
-        <source>Hidden</source>
-        <translation>Прихована</translation>
+        <location line="+0"/>
+        <source>Value</source>
+        <translation type="unfinished">Значення</translation>
+    </message>
+</context>
+<context>
+    <name>workspace_view</name>
+    <message>
+        <location filename="../src/workspace-view.cc" line="+39"/>
+        <source>Workspace</source>
+        <translation type="unfinished">Область змінних</translation>
     </message>
 </context>
 </TS>
--- a/libgui/qterminal/libqterminal/QTerminal.h
+++ b/libgui/qterminal/libqterminal/QTerminal.h
@@ -31,8 +31,8 @@
     {
         Q_OBJECT
     public:
-        QTerminal(QWidget *parent = 0)
-            : QWinTerminalImpl(parent) { }
+        QTerminal(QWidget *xparent = 0)
+            : QWinTerminalImpl(xparent) { }
         ~QTerminal() { }
     };
 #else
@@ -41,8 +41,8 @@
     {
         Q_OBJECT
     public:
-        QTerminal(QWidget *parent = 0)
-            : QUnixTerminalImpl(parent) { }
+        QTerminal(QWidget *xparent = 0)
+            : QUnixTerminalImpl(xparent) { }
         ~QTerminal() { }
     };
 #endif
--- a/libgui/qterminal/libqterminal/QTerminalInterface.h
+++ b/libgui/qterminal/libqterminal/QTerminalInterface.h
@@ -30,7 +30,7 @@
 {
     Q_OBJECT
 public:
-    QTerminalInterface(QWidget *parent = 0) : QWidget(parent) {
+    QTerminalInterface(QWidget *xparent = 0) : QWidget(xparent) {
       connect (this, SIGNAL(customContextMenuRequested(QPoint)),
                this, SLOT(handleCustomContextMenuRequested(QPoint)));
 
--- a/libgui/src/history-dockwidget.cc
+++ b/libgui/src/history-dockwidget.cc
@@ -102,14 +102,14 @@
   setFocusProxy (_filter_line_edit);
 }
 
-void history_dock_widget::ctxMenu(const QPoint &pos) {
+void history_dock_widget::ctxMenu(const QPoint &xpos) {
     QMenu *menu = new QMenu;
     menu->addAction(tr("Copy"), this, SLOT(handle_contextmenu_copy(bool)));
     menu->addAction(tr("Evaluate"), this, SLOT(handle_contextmenu_evaluate(bool)));
-    menu->exec(_history_list_view->mapToGlobal(pos));
+    menu->exec(_history_list_view->mapToGlobal(xpos));
 }
 
-void history_dock_widget::handle_contextmenu_copy(bool flag)
+void history_dock_widget::handle_contextmenu_copy(bool)
 {
   QString text;
   QItemSelectionModel *selectionModel = _history_list_view->selectionModel();
@@ -123,7 +123,7 @@
   QApplication::clipboard()->setText(text);
 }
 
-void history_dock_widget::handle_contextmenu_evaluate(bool flag)
+void history_dock_widget::handle_contextmenu_evaluate(bool)
 {
   QItemSelectionModel *selectionModel = _history_list_view->selectionModel();
   QModelIndexList rows = selectionModel->selectedRows();
@@ -200,7 +200,7 @@
           std::string entry = command_history::get_entry (i);
 
           _history_model->setData (_history_model->index (i),
-                      QString::fromLocal8Bit (entry.data (), entry.size ()));
+                      QString::fromUtf8 (entry.data (), entry.size ()));
         }
 
       // FIXME -- does this behavior make sense?  Calling
--- a/libgui/src/m-editor/file-editor-tab.cc
+++ b/libgui/src/m-editor/file-editor-tab.cc
@@ -675,7 +675,7 @@
 }
 
 int
-file_editor_tab::check_file_modified (const QString& msg, int cancelButton)
+file_editor_tab::check_file_modified (const QString&, int)
 {
   int decision = QMessageBox::Yes;
   if (_edit_area->isModified ())
@@ -987,13 +987,14 @@
   else
     _edit_area->setAutoCompletionThreshold (-1);
 
-  QFont font( settings->value ("editor/fontName","Courier").toString () ,
-              settings->value ("editor/fontSize",10).toInt () );
+  QFont xfont (settings->value ("editor/fontName","Courier").toString (),
+               settings->value ("editor/fontSize",10).toInt ());
+
   if (settings->value ("editor/showLineNumbers",true).toBool ())
     {
       _edit_area->setMarginLineNumbers (2, true);
-      _edit_area->setMarginsFont( font );
-      QFontMetrics metrics( font );
+      _edit_area->setMarginsFont (xfont);
+      QFontMetrics metrics (xfont);
       _edit_area->setMarginWidth(2, metrics.width("9999"));
     }
   else
--- a/libgui/src/m-editor/file-editor.cc
+++ b/libgui/src/m-editor/file-editor.cc
@@ -225,7 +225,8 @@
       // Create a NonModal message about error.
       QMessageBox* msgBox = new QMessageBox (
               QMessageBox::Critical, tr ("Octave Editor"),
-              tr ("File not saved!  You've selected a file name\n\n     %1\n\nwhich is the same as an already open file in the editor.  (Could allow overwriting, with message, if that is what folks want.)").
+              tr ("File not saved! A file with the selected name\n%1\n"
+                   "is already open in the editor").
               arg (saveFileName),
               QMessageBox::Ok, 0);
       msgBox->setWindowModality (Qt::NonModal);
@@ -511,7 +512,9 @@
 file_editor::construct ()
 {
   QWidget *editor_widget = new QWidget (this);
-  QStyle *editor_style = QApplication::style ();
+
+  // FIXME -- what was the intended purpose of this unused variable?
+  // QStyle *editor_style = QApplication::style ();
 
   _menu_bar = new QMenuBar (editor_widget);
   _tool_bar = new QToolBar (editor_widget);
--- a/libgui/src/main-window.cc
+++ b/libgui/src/main-window.cc
@@ -200,14 +200,15 @@
   delete settingsDialog;
 }
 
+
 void
 main_window::notice_settings ()
 {
-  // Set terminal font:
   QSettings *settings = resource_manager::get_settings ();
 
   // FIXME -- what should happen if settings is 0?
 
+  // Set terminal font:
   QFont term_font = QFont();
   term_font.setFamily(settings->value("terminal/fontName").toString());
   term_font.setPointSize(settings->value("terminal/fontSize").toInt ());
@@ -224,8 +225,32 @@
                              cursorBlinking);
 
   // the widget's icons (when floating)
-  int icon_set = settings->value ("DockWidgets/widget_icon_set",0).toInt ();
-  QString icon_prefix = QString (WIDGET_ICON_SET_PREFIX[icon_set]);
+  QString icon_set = settings->value ("DockWidgets/widget_icon_set","NONE").
+                                      toString ();
+  static struct
+    {
+      QString name;
+      QString path;
+    }
+  widget_icon_data[] =
+    { // array of possible icon sets (name, path (complete for NONE))
+      // the first entry here is the default!
+      {"NONE",    ":/actions/icons/logo.png"},
+      {"GRAPHIC", ":/actions/icons/graphic_logo_"},
+      {"LETTER",  ":/actions/icons/letter_logo_"},
+      {"", ""} // end marker has empty name
+    };
+  int count = 0;
+  int icon_set_found = 0; // default
+  while (!widget_icon_data[count].name.isEmpty ())
+    { // while not end of data
+      if (widget_icon_data[count].name == icon_set)
+        { // data of desired icon set found
+          icon_set_found = count;
+          break;
+        }
+      count++;
+    }
   QString icon;
   foreach (QObject *obj, children ())
     {
@@ -233,9 +258,9 @@
       if (obj->inherits("QDockWidget") && ! name.isEmpty ())
         { // if children is a dockwidget with a name
           QDockWidget *widget = qobject_cast<QDockWidget *> (obj);
-          icon = icon_prefix;  // prefix or octave-logo
-          if (icon_set)        // > 0 : each widget has individual icon
-            icon = icon + name + QString(".png");
+          icon = widget_icon_data[icon_set_found].path; // prefix or octave-logo
+          if (widget_icon_data[icon_set_found].name != "NONE")
+            icon = icon + name + ".png"; // add widget name and ext.
           widget->setWindowIcon (QIcon (icon));
         }
     }
@@ -243,6 +268,7 @@
   resource_manager::update_network_settings ();
 }
 
+
 void
 main_window::prepare_for_quit ()
 {
@@ -276,7 +302,7 @@
 
   if (!directory.isEmpty ())
     {
-      std::string dir = directory.toLocal8Bit ().data ();
+      std::string dir = directory.toUtf8 ().data ();
       octave_link::post_event (this, &main_window::change_directory_callback,dir);
     }
 }
@@ -287,7 +313,7 @@
   QFileInfo fileInfo (directory);  // check whether this is an existing dir
   if (fileInfo.exists () && fileInfo.isDir ())   // is dir and exists
     {
-      std::string dir = directory.toLocal8Bit ().data ();
+      std::string dir = directory.toUtf8 ().data ();
       octave_link::post_event (this, &main_window::change_directory_callback,dir);
     }
 }
--- a/libgui/src/octave-qt-event-listener.cc
+++ b/libgui/src/octave-qt-event-listener.cc
@@ -36,7 +36,7 @@
 octave_qt_event_listener::current_directory_has_changed (const std::string& directory)
 {
   emit current_directory_has_changed_signal
-    (QString::fromLocal8Bit (directory.data (), directory.size ()));
+    (QString::fromUtf8 (directory.data (), directory.size ()));
 }
 
 void
--- a/libgui/src/resource-manager.cc
+++ b/libgui/src/resource-manager.cc
@@ -56,7 +56,7 @@
 resource_manager::find_translator_file (const QString& language)
 {
   // TODO: Quick hack to be able to test language files.
-  return QString ("../languages/%1.qm").arg (language);
+  return QString ("libgui/languages/%1.qm").arg (language);
 }
 
 bool
--- a/libgui/src/resource-manager.h
+++ b/libgui/src/resource-manager.h
@@ -28,18 +28,6 @@
 #include <QMap>
 #include <QSettings>
 
-// constants for the widget's icons
-enum widget_icon_set
-  {
-    NO_ICON_SET = 0,
-    GRAPHIC_ICON_SET,
-    LETTER_ICON_SET
-  };
-static const char* WIDGET_ICON_SET_PREFIX[] =
-    {":/actions/icons/logo.png",
-     ":/actions/icons/graphic_logo_",
-     ":/actions/icons/letter_logo_"};
-
 
 class resource_manager
 {
@@ -119,6 +107,7 @@
   void do_update_network_settings (void);
 
   bool do_is_first_run (void);
+
 };
 
 #endif // RESOURCEMANAGER_H
--- a/libgui/src/settings-dialog.cc
+++ b/libgui/src/settings-dialog.cc
@@ -38,10 +38,12 @@
 
   // FIXME -- what should happen if settings is 0?
 
-  int widget_icon_set = settings->value ("DockWidgets/widget_icon_set",0).toInt ();
-  ui->general_icon_octave-> setChecked (NO_ICON_SET == widget_icon_set);
-  ui->general_icon_graphic-> setChecked (GRAPHIC_ICON_SET == widget_icon_set);
-  ui->general_icon_letter-> setChecked (LETTER_ICON_SET == widget_icon_set);
+  QString widget_icon_set =
+      settings->value ("DockWidgets/widget_icon_set","NONE").toString ();
+  ui->general_icon_octave-> setChecked (true);  // the default (if invalid set)
+  ui->general_icon_octave-> setChecked (widget_icon_set == "NONE");
+  ui->general_icon_graphic-> setChecked (widget_icon_set == "GRAPHIC");
+  ui->general_icon_letter-> setChecked (widget_icon_set == "LETTER");
 
   ui->useCustomFileEditor->setChecked (settings->value ("useCustomFileEditor").toBool ());
   ui->customFileEditor->setText (settings->value ("customFileEditor").toString ());
@@ -105,11 +107,11 @@
 
   // FIXME -- what should happen if settings is 0?
 
-  int widget_icon_set = NO_ICON_SET;
+  QString widget_icon_set = "NONE";
   if (ui->general_icon_letter->isChecked ())
-    widget_icon_set = LETTER_ICON_SET;
+    widget_icon_set = "LETTER";
   else if (ui->general_icon_graphic->isChecked ())
-    widget_icon_set = GRAPHIC_ICON_SET;
+    widget_icon_set = "GRAPHIC";
   settings->setValue ("DockWidgets/widget_icon_set",widget_icon_set);
   settings->setValue ("useCustomFileEditor", ui->useCustomFileEditor->isChecked ());
   settings->setValue ("customFileEditor", ui->customFileEditor->text ());
--- a/libgui/src/symbol-information.h
+++ b/libgui/src/symbol-information.h
@@ -81,7 +81,11 @@
 
   QString symbol (void) const { return _symbol; }
   QString class_name (void) const { return _class_name; }
-  QString value (void) const { return _value; }
+  QString value (void) const
+    {
+      return QString::fromUtf8 (_value.toStdString ().data (),
+                                _value.toStdString ().size ());
+    }
   QString dimension (void) const { return _dimension; }
   Scope scope (void) const { return _scope; }
 
--- a/libinterp/interp-core/jit-typeinfo.cc
+++ b/libinterp/interp-core/jit-typeinfo.cc
@@ -381,6 +381,15 @@
 }
 
 extern "C" Complex
+octave_jit_complex_mul (Complex lhs, Complex rhs)
+{
+  if (lhs.imag () == 0 && rhs.imag() == 0)
+    return Complex (lhs.real () * rhs.real (), 0);
+
+  return lhs * rhs;
+}
+
+extern "C" Complex
 octave_jit_complex_div (Complex lhs, Complex rhs)
 {
   // see src/OPERATORS/op-cs-cs.cc
@@ -1018,6 +1027,9 @@
   new jit_typeinfo (m, e);
 }
 
+// wrap function names to simplify jit_typeinfo::create_external
+#define JIT_FN(fn) engine, &fn, #fn
+
 jit_typeinfo::jit_typeinfo (llvm::Module *m, llvm::ExecutionEngine *e)
   : module (m), engine (e), next_id (0),
     builder (*new llvm::IRBuilderD (context))
@@ -1051,7 +1063,7 @@
   matrix_contents[4] = string_t;
   matrix_t->setBody (llvm::makeArrayRef (matrix_contents, 5));
 
-  llvm::Type *complex_t = llvm::VectorType::get (scalar_t, 2);
+  llvm::Type *complex_t = llvm::ArrayType::get (scalar_t, 2);
 
   // complex_ret is what is passed to C functions in order to get calling
   // convention right
@@ -1122,19 +1134,16 @@
   // generic call function
   {
     jit_type *int_t = intN (sizeof (octave_builtin::fcn) * 8);
-    any_call = create_function (jit_convention::external, "octave_jit_call",
-                                any, int_t, int_t, any_ptr, int_t);
-    any_call.add_mapping (engine, &octave_jit_call);
+    any_call = create_external (JIT_FN (octave_jit_call), any, int_t, int_t,
+                                any_ptr, int_t);
   }
 
   // any with anything is an any op
   jit_function fn;
   jit_type *binary_op_type = intN (sizeof (octave_value::binary_op) * 8);
   llvm::Type *llvm_bo_type = binary_op_type->to_llvm ();
-  jit_function any_binary = create_function (jit_convention::external,
-                                             "octave_jit_binary_any_any",
+  jit_function any_binary = create_external (JIT_FN (octave_jit_binary_any_any),
                                              any, binary_op_type, any, any);
-  any_binary.add_mapping (engine, &octave_jit_binary_any_any);
   any_binary.mark_can_error ();
   binary_ops.resize (octave_value::num_binary_ops);
   for (size_t i = 0; i < octave_value::num_binary_ops; ++i)
@@ -1157,7 +1166,7 @@
       llvm::Twine fn_name ("octave_jit_binary_any_any_");
       fn_name = fn_name + llvm::Twine (op);
 
-      fn = create_function (jit_convention::internal, fn_name, any, any, any);
+      fn = create_internal (fn_name, any, any, any);
       fn.mark_can_error ();
       llvm::BasicBlock *block = fn.new_block ();
       builder.SetInsertPoint (block);
@@ -1172,9 +1181,7 @@
     }
 
   // grab matrix
-  fn = create_function (jit_convention::external, "octave_jit_grab_matrix",
-                        matrix, matrix);
-  fn.add_mapping (engine, &octave_jit_grab_matrix);
+  fn = create_external (JIT_FN (octave_jit_grab_matrix), matrix, matrix);
   grab_fn.add_overload (fn);
 
   grab_fn.add_overload (create_identity (scalar));
@@ -1185,16 +1192,12 @@
   grab_fn.add_overload (create_identity (index));
 
   // release any
-  fn = create_function (jit_convention::external, "octave_jit_release_any", 0,
-                        any);
-  fn.add_mapping (engine, &octave_jit_release_any);
+  fn = create_external (JIT_FN (octave_jit_release_any), 0, any);
   release_fn.add_overload (fn);
   release_fn.stash_name ("release");
 
   // release matrix
-  fn = create_function (jit_convention::external, "octave_jit_release_matrix",
-                        0, matrix);
-  fn.add_mapping (engine, &octave_jit_release_matrix);
+  fn = create_external (JIT_FN (octave_jit_release_matrix), 0, matrix);
   release_fn.add_overload (fn);
 
   // destroy
@@ -1218,14 +1221,11 @@
   add_binary_fcmp (scalar, octave_value::op_gt, llvm::CmpInst::FCMP_UGT);
   add_binary_fcmp (scalar, octave_value::op_ne, llvm::CmpInst::FCMP_UNE);
 
-  jit_function gripe_div0 = create_function (jit_convention::external,
-                                             "gripe_divide_by_zero", 0);
-  gripe_div0.add_mapping (engine, &gripe_divide_by_zero);
+  jit_function gripe_div0 = create_external (JIT_FN (gripe_divide_by_zero), 0);
   gripe_div0.mark_can_error ();
 
   // divide is annoying because it might error
-  fn = create_function (jit_convention::internal,
-                        "octave_jit_div_scalar_scalar", scalar, scalar, scalar);
+  fn = create_internal ("octave_jit_div_scalar_scalar", scalar, scalar, scalar);
   fn.mark_can_error ();
 
   llvm::BasicBlock *body = fn.new_block ();
@@ -1258,17 +1258,14 @@
   // In general, the result of scalar ^ scalar is a complex number. We might be
   // able to improve on this if we keep track of the range of values varaibles
   // can take on.
-  fn = create_function (jit_convention::external,
-                        "octave_jit_pow_scalar_scalar", complex, scalar,
+  fn = create_external (JIT_FN (octave_jit_pow_scalar_scalar), complex, scalar,
                         scalar);
-  fn.add_mapping (engine, &octave_jit_pow_scalar_scalar);
   binary_ops[octave_value::op_pow].add_overload (fn);
   binary_ops[octave_value::op_el_pow].add_overload (fn);
 
   // now for unary scalar operations
   // FIXME: Impelment not
-  fn = create_function (jit_convention::internal, "octave_jit_++", scalar,
-                        scalar);
+  fn = create_internal ("octave_jit_++", scalar, scalar);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   {
@@ -1279,8 +1276,7 @@
   }
   unary_ops[octave_value::op_incr].add_overload (fn);
 
-  fn = create_function (jit_convention::internal, "octave_jit_--", scalar,
-                        scalar);
+  fn = create_internal ("octave_jit_--", scalar, scalar);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   {
@@ -1291,8 +1287,7 @@
   }
   unary_ops[octave_value::op_decr].add_overload (fn);
 
-  fn = create_function (jit_convention::internal, "octave_jit_uminus", scalar,
-                        scalar);
+  fn = create_internal ("octave_jit_uminus", scalar, scalar);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   {
@@ -1308,106 +1303,53 @@
   unary_ops[octave_value::op_hermitian].add_overload (fn);
 
   // now for binary complex operations
-  add_binary_op (complex, octave_value::op_add, llvm::Instruction::FAdd);
-  add_binary_op (complex, octave_value::op_sub, llvm::Instruction::FSub);
+  fn = create_internal ("octave_jit_+_complex_complex", complex, complex,
+                        complex);
+  body = fn.new_block ();
+  builder.SetInsertPoint (body);
+  {
+    llvm::Value *lhs = fn.argument (builder, 0);
+    llvm::Value *rhs = fn.argument (builder, 1);
+    llvm::Value *real = builder.CreateFAdd (complex_real (lhs),
+                                            complex_real (rhs));
+    llvm::Value *imag = builder.CreateFAdd (complex_imag (lhs),
+                                            complex_imag (rhs));
+    fn.do_return (builder, complex_new (real, imag));
+  }
+  binary_ops[octave_value::op_add].add_overload (fn);
 
-  fn = create_function (jit_convention::internal,
-                        "octave_jit_*_complex_complex", complex, complex,
+  fn = create_internal ("octave_jit_-_complex_complex", complex, complex,
                         complex);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   {
-    // (x0*x1 - y0*y1, x0*y1 + y0*x1) = (x0,y0) * (x1,y1)
-    // We compute this in one vectorized multiplication, a subtraction, and an
-    // addition.
     llvm::Value *lhs = fn.argument (builder, 0);
     llvm::Value *rhs = fn.argument (builder, 1);
-
-    // FIXME: We need a better way of doing this, working with llvm's IR
-    // directly is sort of a pain.
-    llvm::Value *zero = builder.getInt32 (0);
-    llvm::Value *one = builder.getInt32 (1);
-    llvm::Value *two = builder.getInt32 (2);
-    llvm::Value *three = builder.getInt32 (3);
-    llvm::Value *fzero = llvm::ConstantFP::get (scalar_t, 0);
-
-    // we are really dealing with a complex number OR a scalar. That is, if the
-    // complex component is 0, we really have a scalar. This matters in
-    // 0+0i * NaN
-    llvm::BasicBlock *complex_mul = fn.new_block ("complex_mul");
-    llvm::BasicBlock *real_mul = fn.new_block ("real_mul");
-    llvm::BasicBlock *ret_block = fn.new_block ("ret");
-    llvm::Value *temp = builder.CreateFCmpUEQ (complex_imag (lhs), fzero);
-    llvm::Value *temp2 = builder.CreateFCmpUEQ (complex_imag (rhs), fzero);
-    temp = builder.CreateAnd (temp, temp2);
-    builder.CreateCondBr (temp, real_mul, complex_mul);
-
-    builder.SetInsertPoint(real_mul);
-    temp = builder.CreateFMul (complex_real (lhs), complex_real (rhs));
-    llvm::Value *real_branch_ret = complex_new (temp, fzero);
-    builder.CreateBr (ret_block);
+    llvm::Value *real = builder.CreateFSub (complex_real (lhs),
+                                            complex_real (rhs));
+    llvm::Value *imag = builder.CreateFSub (complex_imag (lhs),
+                                            complex_imag (rhs));
+    fn.do_return (builder, complex_new (real, imag));
+  }
+  binary_ops[octave_value::op_sub].add_overload (fn);
 
-    llvm::Type *vec4 = llvm::VectorType::get (scalar_t, 4);
-    llvm::Value *mlhs = llvm::UndefValue::get (vec4);
-    llvm::Value *mrhs = mlhs;
-    builder.SetInsertPoint (complex_mul);
-    temp = complex_real (lhs);
-    mlhs = builder.CreateInsertElement (mlhs, temp, zero);
-    mlhs = builder.CreateInsertElement (mlhs, temp, two);
-    temp = complex_imag (lhs);
-    mlhs = builder.CreateInsertElement (mlhs, temp, one);
-    mlhs = builder.CreateInsertElement (mlhs, temp, three);
-
-    temp = complex_real (rhs);
-    mrhs = builder.CreateInsertElement (mrhs, temp, zero);
-    mrhs = builder.CreateInsertElement (mrhs, temp, three);
-    temp = complex_imag (rhs);
-    mrhs = builder.CreateInsertElement (mrhs, temp, one);
-    mrhs = builder.CreateInsertElement (mrhs, temp, two);
-
-    llvm::Value *mres = builder.CreateFMul (mlhs, mrhs);
-    llvm::Value *tlhs = builder.CreateExtractElement (mres, zero);
-    llvm::Value *trhs = builder.CreateExtractElement (mres, one);
-    llvm::Value *ret_real = builder.CreateFSub (tlhs, trhs);
-
-    tlhs = builder.CreateExtractElement (mres, two);
-    trhs = builder.CreateExtractElement (mres, three);
-    llvm::Value *ret_imag = builder.CreateFAdd (tlhs, trhs);
-    llvm::Value *complex_branch_ret = complex_new (ret_real, ret_imag);
-    builder.CreateBr (ret_block);
-
-    builder.SetInsertPoint (ret_block);
-    llvm::PHINode *merge = llvm::PHINode::Create(complex_t, 2);
-    builder.Insert (merge);
-    merge->addIncoming (real_branch_ret, real_mul);
-    merge->addIncoming (complex_branch_ret, complex_mul);
-    fn.do_return (builder, merge);
-  }
-
+  fn = create_external (JIT_FN (octave_jit_complex_mul),
+                        complex, complex, complex);
   binary_ops[octave_value::op_mul].add_overload (fn);
   binary_ops[octave_value::op_el_mul].add_overload (fn);
 
-  jit_function complex_div = create_function (jit_convention::external,
-                                              "octave_jit_complex_div",
+  jit_function complex_div = create_external (JIT_FN (octave_jit_complex_div),
                                               complex, complex, complex);
-  complex_div.add_mapping (engine, &octave_jit_complex_div);
   complex_div.mark_can_error ();
   binary_ops[octave_value::op_div].add_overload (fn);
   binary_ops[octave_value::op_ldiv].add_overload (fn);
 
-  // fn = mirror_binary (complex_div);
-  // binary_ops[octave_value::op_ldiv].add_overload (fn);
-  // binary_ops[octave_value::op_el_ldiv].add_overload (fn);
-
-  fn = create_function (jit_convention::external,
-                        "octave_jit_pow_complex_complex", complex, complex,
-                        complex);
-  fn.add_mapping (engine, &octave_jit_pow_complex_complex);
+  fn = create_external (JIT_FN (octave_jit_pow_complex_complex), complex,
+                        complex, complex);
   binary_ops[octave_value::op_pow].add_overload (fn);
   binary_ops[octave_value::op_el_pow].add_overload (fn);
 
-  fn = create_function (jit_convention::internal,
-                        "octave_jit_*_scalar_complex", complex, scalar,
+  fn = create_internal ("octave_jit_*_scalar_complex", complex, scalar,
                         complex);
   jit_function mul_scalar_complex = fn;
   body = fn.new_block ();
@@ -1430,8 +1372,9 @@
 
 
     builder.SetInsertPoint (complex_mul);
-    temp = complex_new (lhs, lhs);
-    fn.do_return (builder, builder.CreateFMul (temp, rhs));
+    temp = complex_new (builder.CreateFMul (lhs, complex_real (rhs)),
+                        builder.CreateFMul (lhs, complex_imag (rhs)));
+    fn.do_return (builder, temp);
   }
   binary_ops[octave_value::op_mul].add_overload (fn);
   binary_ops[octave_value::op_el_mul].add_overload (fn);
@@ -1441,8 +1384,8 @@
   binary_ops[octave_value::op_mul].add_overload (fn);
   binary_ops[octave_value::op_el_mul].add_overload (fn);
 
-  fn = create_function (jit_convention::internal, "octave_jit_+_scalar_complex",
-                        complex, scalar, complex);
+  fn = create_internal ("octave_jit_+_scalar_complex", complex, scalar,
+                        complex);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   {
@@ -1456,8 +1399,8 @@
   fn = mirror_binary (fn);
   binary_ops[octave_value::op_add].add_overload (fn);
 
-  fn = create_function (jit_convention::internal, "octave_jit_-_complex_scalar",
-                        complex, complex, scalar);
+  fn = create_internal ("octave_jit_-_complex_scalar", complex, complex,
+                        scalar);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   {
@@ -1468,8 +1411,8 @@
   }
   binary_ops[octave_value::op_sub].add_overload (fn);
 
-  fn = create_function (jit_convention::internal, "octave_jit_-_scalar_complex",
-                        complex, scalar, complex);
+  fn = create_internal ("octave_jit_-_scalar_complex", complex, scalar,
+                        complex);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   {
@@ -1480,17 +1423,13 @@
   }
   binary_ops[octave_value::op_sub].add_overload (fn);
 
-  fn = create_function (jit_convention::external,
-                        "octave_jit_pow_scalar_complex", complex, scalar,
+  fn = create_external (JIT_FN (octave_jit_pow_scalar_complex), complex, scalar,
                         complex);
-  fn.add_mapping (engine, &octave_jit_pow_scalar_complex);
   binary_ops[octave_value::op_pow].add_overload (fn);
   binary_ops[octave_value::op_el_pow].add_overload (fn);
 
-  fn = create_function (jit_convention::external,
-                        "octave_jit_pow_complex_scalar", complex, complex,
-                        scalar);
-  fn.add_mapping (engine, &octave_jit_pow_complex_scalar);
+  fn = create_external (JIT_FN (octave_jit_pow_complex_scalar), complex,
+                        complex, scalar);
   binary_ops[octave_value::op_pow].add_overload (fn);
   binary_ops[octave_value::op_el_pow].add_overload (fn);
 
@@ -1509,8 +1448,7 @@
   // initialize for loop
   for_init_fn.stash_name ("for_init");
 
-  fn = create_function (jit_convention::internal, "octave_jit_for_range_init",
-                        index, range);
+  fn = create_internal ("octave_jit_for_range_init", index, range);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   {
@@ -1522,8 +1460,7 @@
   // bounds check for for loop
   for_check_fn.stash_name ("for_check");
 
-  fn = create_function (jit_convention::internal, "octave_jit_for_range_check",
-                        boolean, range, index);
+  fn = create_internal ("octave_jit_for_range_check", boolean, range, index);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   {
@@ -1538,8 +1475,7 @@
   // index variabe for for loop
   for_index_fn.stash_name ("for_index");
 
-  fn = create_function (jit_convention::internal, "octave_jit_for_range_idx",
-                        scalar, range, index);
+  fn = create_internal ("octave_jit_for_range_idx", scalar, range, index);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   {
@@ -1559,13 +1495,10 @@
   logically_true_fn.stash_name ("logically_true");
 
   jit_function gripe_nantl
-    = create_function (jit_convention::external,
-                       "octave_jit_gripe_nan_to_logical_conversion", 0);
-  gripe_nantl.add_mapping (engine, &octave_jit_gripe_nan_to_logical_conversion);
+    = create_external (JIT_FN (octave_jit_gripe_nan_to_logical_conversion), 0);
   gripe_nantl.mark_can_error ();
 
-  fn = create_function (jit_convention::internal,
-                        "octave_jit_logically_true_scalar", boolean, scalar);
+  fn = create_internal ("octave_jit_logically_true_scalar", boolean, scalar);
   fn.mark_can_error ();
 
   body = fn.new_block ();
@@ -1597,12 +1530,11 @@
   // FIXME: May be benificial to implement all in LLVM
   make_range_fn.stash_name ("make_range");
   jit_function compute_nelem
-    = create_function (jit_convention::external, "octave_jit_compute_nelem",
+    = create_external (JIT_FN (octave_jit_compute_nelem),
                        index, scalar, scalar, scalar);
-  compute_nelem.add_mapping (engine, &octave_jit_compute_nelem);
+
 
-  fn = create_function (jit_convention::internal, "octave_jit_make_range",
-                        range, scalar, scalar, scalar);
+  fn = create_internal ("octave_jit_make_range", range, scalar, scalar, scalar);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   {
@@ -1627,17 +1559,12 @@
   jit_type *jit_int = intN (sizeof (int) * 8);
   llvm::Type *int_t = jit_int->to_llvm ();
   jit_function ginvalid_index
-    = create_function (jit_convention::external, "octave_jit_ginvalid_index",
-                       0);
-  ginvalid_index.add_mapping (engine, &octave_jit_ginvalid_index);
-  jit_function gindex_range = create_function (jit_convention::external,
-                                               "octave_jit_gindex_range",
+    = create_external (JIT_FN (octave_jit_ginvalid_index), 0);
+  jit_function gindex_range = create_external (JIT_FN (octave_jit_gindex_range),
                                                0, jit_int, jit_int, index,
                                                index);
-  gindex_range.add_mapping (engine, &octave_jit_gindex_range);
 
-  fn = create_function (jit_convention::internal, "()subsref", scalar, matrix,
-                        scalar);
+  fn = create_internal ("()subsref", scalar, matrix, scalar);
   fn.mark_can_error ();
 
   body = fn.new_block ();
@@ -1706,12 +1633,11 @@
   paren_subsasgn_fn.stash_name ("()subsasgn");
 
   jit_function resize_paren_subsasgn
-    = create_function (jit_convention::external,
-                       "octave_jit_paren_subsasgn_impl", matrix, matrix, index,
-                       scalar);
-  resize_paren_subsasgn.add_mapping (engine, &octave_jit_paren_subsasgn_impl);
-  fn = create_function (jit_convention::internal, "octave_jit_paren_subsasgn",
-                        matrix, matrix, scalar, scalar);
+    = create_external (JIT_FN (octave_jit_paren_subsasgn_impl), matrix, matrix,
+                       index, scalar);
+
+  fn = create_internal ("octave_jit_paren_subsasgn", matrix, matrix, scalar,
+                        scalar);
   fn.mark_can_error ();
   body = fn.new_block ();
   builder.SetInsertPoint (body);
@@ -1774,16 +1700,13 @@
   }
   paren_subsasgn_fn.add_overload (fn);
 
-  fn = create_function (jit_convention::external,
-                        "octave_jit_paren_subsasgn_matrix_range", matrix,
+  fn = create_external (JIT_FN (octave_jit_paren_subsasgn_matrix_range), matrix,
                         matrix, range, scalar);
-  fn.add_mapping (engine, &octave_jit_paren_subsasgn_matrix_range);
   fn.mark_can_error ();
   paren_subsasgn_fn.add_overload (fn);
 
   end1_fn.stash_name ("end1");
-  fn = create_function (jit_convention::internal, "octave_jit_end1_matrix",
-                        scalar, matrix, index, index);
+  fn = create_internal ("octave_jit_end1_matrix", scalar, matrix, index, index);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   {
@@ -1794,14 +1717,13 @@
   end1_fn.add_overload (fn);
 
   end_fn.stash_name ("end");
-  fn = create_function (jit_convention::external, "octave_jit_end_matrix",
-                        scalar, matrix, index, index);
+  fn = create_external (JIT_FN (octave_jit_end_matrix),scalar, matrix, index,
+                        index);
   end_fn.add_overload (fn);
 
   // -------------------- create_undef --------------------
   create_undef_fn.stash_name ("create_undef");
-  fn = create_function (jit_convention::external, "octave_jit_create_undef",
-                        any);
+  fn = create_external (JIT_FN (octave_jit_create_undef), any);
   create_undef_fn.add_overload (fn);
 
   casts[any->type_id ()].stash_name ("(any)");
@@ -1811,56 +1733,39 @@
   casts[range->type_id ()].stash_name ("(range)");
 
   // cast any <- matrix
-  fn = create_function (jit_convention::external, "octave_jit_cast_any_matrix",
-                        any, matrix);
-  fn.add_mapping (engine, &octave_jit_cast_any_matrix);
+  fn = create_external (JIT_FN (octave_jit_cast_any_matrix), any, matrix);
   casts[any->type_id ()].add_overload (fn);
 
   // cast matrix <- any
-  fn = create_function (jit_convention::external, "octave_jit_cast_matrix_any",
-                        matrix, any);
-  fn.add_mapping (engine, &octave_jit_cast_matrix_any);
+  fn = create_external (JIT_FN (octave_jit_cast_matrix_any), matrix, any);
   casts[matrix->type_id ()].add_overload (fn);
 
   // cast any <- range
-  fn = create_function (jit_convention::external, "octave_jit_cast_any_range",
-                        any, range);
-  fn.add_mapping (engine, &octave_jit_cast_any_range);
+  fn = create_external (JIT_FN (octave_jit_cast_any_range), any, range);
   casts[any->type_id ()].add_overload (fn);
 
   // cast range <- any
-  fn = create_function (jit_convention::external, "octave_jit_cast_range_any",
-                        range, any);
-  fn.add_mapping (engine, &octave_jit_cast_range_any);
+  fn = create_external (JIT_FN (octave_jit_cast_range_any), range, any);
   casts[range->type_id ()].add_overload (fn);
 
   // cast any <- scalar
-  fn = create_function (jit_convention::external, "octave_jit_cast_any_scalar",
-                        any, scalar);
-  fn.add_mapping (engine, &octave_jit_cast_any_scalar);
+  fn = create_external (JIT_FN (octave_jit_cast_any_scalar), any, scalar);
   casts[any->type_id ()].add_overload (fn);
 
   // cast scalar <- any
-  fn = create_function (jit_convention::external, "octave_jit_cast_scalar_any",
-                        scalar, any);
-  fn.add_mapping (engine, &octave_jit_cast_scalar_any);
+  fn = create_external (JIT_FN (octave_jit_cast_scalar_any), scalar, any);
   casts[scalar->type_id ()].add_overload (fn);
 
   // cast any <- complex
-  fn = create_function (jit_convention::external, "octave_jit_cast_any_complex",
-                        any, complex);
-  fn.add_mapping (engine, &octave_jit_cast_any_complex);
+  fn = create_external (JIT_FN (octave_jit_cast_any_complex), any, complex);
   casts[any->type_id ()].add_overload (fn);
 
   // cast complex <- any
-  fn = create_function (jit_convention::external, "octave_jit_cast_complex_any",
-                        complex, any);
-  fn.add_mapping (engine, &octave_jit_cast_complex_any);
+  fn = create_external (JIT_FN (octave_jit_cast_complex_any), complex, any);
   casts[complex->type_id ()].add_overload (fn);
 
   // cast complex <- scalar
-  fn = create_function (jit_convention::internal,
-                        "octave_jit_cast_complex_scalar", complex, scalar);
+  fn = create_internal ("octave_jit_cast_complex_scalar", complex, scalar);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   {
@@ -1870,8 +1775,7 @@
   casts[complex->type_id ()].add_overload (fn);
 
   // cast scalar <- complex
-  fn = create_function (jit_convention::internal,
-                        "octave_jit_cast_scalar_complex", scalar, complex);
+  fn = create_internal ("octave_jit_cast_scalar_complex", scalar, complex);
   body = fn.new_block ();
   builder.SetInsertPoint (body);
   fn.do_return (builder, complex_real (fn.argument (builder, 0)));
@@ -1934,9 +1838,8 @@
 
   casts.resize (next_id + 1);
   jit_function any_id = create_identity (any);
-  jit_function grab_any = create_function (jit_convention::external,
-                                           "octave_jit_grab_any", any, any);
-  grab_any.add_mapping (engine, &octave_jit_grab_any);
+  jit_function grab_any = create_external (JIT_FN (octave_jit_grab_any),
+                                           any, any);
   jit_function release_any = get_release (any);
   std::vector<jit_type *> args;
   args.resize (1);
@@ -1981,9 +1884,7 @@
 {
   std::stringstream name;
   name << "octave_jit_print_" << ty->name ();
-  jit_function fn = create_function (jit_convention::external, name.str (), 0,
-                                     intN (8), ty);
-  fn.add_mapping (engine, fptr);
+  jit_function fn = create_external (engine, fptr, name.str (), 0, intN (8), ty);
   print_fn.add_overload (fn);
 }
 
@@ -1996,8 +1897,7 @@
   fname << "octave_jit_" << octave_value::binary_op_as_string (ov_op)
         << "_" << ty->name ();
 
-  jit_function fn = create_function (jit_convention::internal, fname.str (),
-                                        ty, ty, ty);
+  jit_function fn = create_internal (fname.str (), ty, ty, ty);
   llvm::BasicBlock *block = fn.new_block ();
   builder.SetInsertPoint (block);
   llvm::Instruction::BinaryOps temp
@@ -2017,8 +1917,7 @@
   fname << "octave_jit" << octave_value::binary_op_as_string (ov_op)
         << "_" << ty->name ();
 
-  jit_function fn = create_function (jit_convention::internal, fname.str (),
-                                     boolean, ty, ty);
+  jit_function fn = create_internal (fname.str (), boolean, ty, ty);
   llvm::BasicBlock *block = fn.new_block ();
   builder.SetInsertPoint (block);
   llvm::CmpInst::Predicate temp
@@ -2037,8 +1936,7 @@
   fname << "octave_jit" << octave_value::binary_op_as_string (ov_op)
         << "_" << ty->name ();
 
-  jit_function fn = create_function (jit_convention::internal, fname.str (),
-                                     boolean, ty, ty);
+  jit_function fn = create_internal (fname.str (), boolean, ty, ty);
   llvm::BasicBlock *block = fn.new_block ();
   builder.SetInsertPoint (block);
   llvm::CmpInst::Predicate temp
@@ -2069,9 +1967,8 @@
     {
       std::stringstream name;
       name << "id_" << type->name ();
-      jit_function fn = create_function (jit_convention::internal, name.str (),
-                                         type, type);
 
+      jit_function fn = create_internal (name.str (), type, type);
       llvm::BasicBlock *body = fn.new_block ();
       builder.SetInsertPoint (body);
       fn.do_return (builder, fn.argument (builder, 0));
@@ -2130,8 +2027,7 @@
   // The first argument will be the Octave function, but we already know that
   // the function call is the equivalent of the intrinsic, so we ignore it and
   // call the intrinsic with the remaining arguments.
-  jit_function fn = create_function (jit_convention::internal, fn_name.str (),
-                                     result, args1);
+  jit_function fn = create_internal (fn_name.str (), result, args1);
   llvm::BasicBlock *body = fn.new_block ();
   builder.SetInsertPoint (body);
 
@@ -2164,8 +2060,7 @@
   std::vector<jit_type *> fn_args (args.size () + 1);
   fn_args[0] = builtins[name];
   std::copy (args.begin (), args.end (), fn_args.begin () + 1);
-  jit_function fn = create_function (jit_convention::internal, name, result,
-                                     fn_args);
+  jit_function fn = create_internal (name, result, fn_args);
   fn.mark_can_error ();
   llvm::BasicBlock *block = fn.new_block ();
   builder.SetInsertPoint (block);
@@ -2203,8 +2098,7 @@
 jit_function
 jit_typeinfo::mirror_binary (const jit_function& fn)
 {
-  jit_function ret = create_function (jit_convention::internal,
-                                      fn.name () + "_reverse",
+  jit_function ret = create_internal (fn.name () + "_reverse",
                                       fn.result (), fn.argument_type (1),
                                       fn.argument_type (0));
   if (fn.can_error ())
@@ -2226,8 +2120,8 @@
 jit_typeinfo::pack_complex (llvm::IRBuilderD& bld, llvm::Value *cplx)
 {
   llvm::Type *complex_ret = instance->complex_ret;
-  llvm::Value *real = bld.CreateExtractElement (cplx, bld.getInt32 (0));
-  llvm::Value *imag = bld.CreateExtractElement (cplx, bld.getInt32 (1));
+  llvm::Value *real = bld.CreateExtractValue (cplx, 0);
+  llvm::Value *imag = bld.CreateExtractValue (cplx, 1);
   llvm::Value *ret = llvm::UndefValue::get (complex_ret);
 
   unsigned int re_idx[] = {0, 0};
@@ -2247,32 +2141,32 @@
   llvm::Value *imag = bld.CreateExtractValue (result, im_idx);
   llvm::Value *ret = llvm::UndefValue::get (complex_t);
 
-  ret = bld.CreateInsertElement (ret, real, bld.getInt32 (0));
-  return bld.CreateInsertElement (ret, imag, bld.getInt32 (1));
+  ret = bld.CreateInsertValue (ret, real, 0);
+  return bld.CreateInsertValue (ret, imag, 1);
 }
 
 llvm::Value *
 jit_typeinfo::complex_real (llvm::Value *cx)
 {
-  return builder.CreateExtractElement (cx, builder.getInt32 (0));
+  return builder.CreateExtractValue (cx, 0);
 }
 
 llvm::Value *
 jit_typeinfo::complex_real (llvm::Value *cx, llvm::Value *real)
 {
-  return builder.CreateInsertElement (cx, real, builder.getInt32 (0));
+  return builder.CreateInsertValue (cx, real, 0);
 }
 
 llvm::Value *
 jit_typeinfo::complex_imag (llvm::Value *cx)
 {
-  return builder.CreateExtractElement (cx, builder.getInt32 (1));
+  return builder.CreateExtractValue (cx, 1);
 }
 
 llvm::Value *
 jit_typeinfo::complex_imag (llvm::Value *cx, llvm::Value *imag)
 {
-  return builder.CreateInsertElement (cx, imag, builder.getInt32 (1));
+  return builder.CreateInsertValue (cx, imag, 1);
 }
 
 llvm::Value *
@@ -2333,7 +2227,7 @@
 
       // We don't really represent complex values, instead we represent
       // complex_or_scalar. If the imag value is zero, we assume a scalar.
-      if (cv.imag () == 0)
+      if (cv.imag () != 0)
         return get_complex ();
     }
 
--- a/libinterp/interp-core/jit-typeinfo.h
+++ b/libinterp/interp-core/jit-typeinfo.h
@@ -586,6 +586,11 @@
   {
     return instance->create_undef_fn;
   }
+
+  static llvm::Value *create_complex (llvm::Value *real, llvm::Value *imag)
+  {
+    return instance->complex_new (real, imag);
+  }
 private:
   jit_typeinfo (llvm::Module *m, llvm::ExecutionEngine *e);
 
@@ -673,15 +678,53 @@
 
   void add_binary_fcmp (jit_type *ty, int op, int llvm_op);
 
+  // create a function with an external calling convention
+  // forces the function pointer to be specified
+  template <typename T>
+  jit_function create_external (llvm::ExecutionEngine *ee, T fn,
+                                const llvm::Twine& name, jit_type *ret,
+                                const std::vector<jit_type *>& args
+                                = std::vector<jit_type *> ())
+  {
+    jit_function retval = create_function (jit_convention::external, name, ret,
+                                           args);
+    retval.add_mapping (ee, fn);
+    return retval;
+  }
+
+#define JIT_PARAM_ARGS llvm::ExecutionEngine *ee, T fn,     \
+    const llvm::Twine& name, jit_type *ret,
+#define JIT_PARAMS ee, fn, name, ret,
+#define CREATE_FUNCTION(N) JIT_EXPAND(template <typename T> jit_function, \
+                                      create_external,                  \
+                                      jit_type *, /* empty */, N)
+
+  CREATE_FUNCTION(1);
+  CREATE_FUNCTION(2);
+  CREATE_FUNCTION(3);
+  CREATE_FUNCTION(4);
+
+#undef JIT_PARAM_ARGS
+#undef JIT_PARAMS
+#undef CREATE_FUNCTION
+
+  // use create_external or create_internal directly
   jit_function create_function (jit_convention::type cc,
                                 const llvm::Twine& name, jit_type *ret,
                                 const std::vector<jit_type *>& args
                                 = std::vector<jit_type *> ());
 
-#define JIT_PARAM_ARGS jit_convention::type cc, const llvm::Twine& name, \
-    jit_type *ret,
-#define JIT_PARAMS cc, name, ret,
-#define CREATE_FUNCTION(N) JIT_EXPAND(jit_function, create_function,    \
+  // create an internal calling convention (a function defined in llvm)
+  jit_function create_internal (const llvm::Twine& name, jit_type *ret,
+                                const std::vector<jit_type *>& args
+                                = std::vector<jit_type *> ())
+  {
+    return create_function (jit_convention::internal, name, ret, args);
+  }
+
+#define JIT_PARAM_ARGS const llvm::Twine& name, jit_type *ret,
+#define JIT_PARAMS name, ret,
+#define CREATE_FUNCTION(N) JIT_EXPAND(jit_function, create_internal,    \
                                       jit_type *, /* empty */, N)
 
   CREATE_FUNCTION(1);
--- a/libinterp/interp-core/pt-jit.cc
+++ b/libinterp/interp-core/pt-jit.cc
@@ -1262,11 +1262,10 @@
 jit_convert_llvm::visit (jit_const_complex& cc)
 {
   llvm::Type *scalar_t = jit_typeinfo::get_scalar_llvm ();
-  llvm::Constant *values[2];
   Complex value = cc.value ();
-  values[0] = llvm::ConstantFP::get (scalar_t, value.real ());
-  values[1] = llvm::ConstantFP::get (scalar_t, value.imag ());
-  cc.stash_llvm (llvm::ConstantVector::get (values));
+  llvm::Value *real = llvm::ConstantFP::get (scalar_t, value.real ());
+  llvm::Value *imag = llvm::ConstantFP::get (scalar_t, value.imag ());
+  cc.stash_llvm (jit_typeinfo::create_complex (real, imag));
 }
 
 void jit_convert_llvm::visit (jit_const_index& ci)
--- a/libinterp/interpfcn/debug.cc
+++ b/libinterp/interpfcn/debug.cc
@@ -701,7 +701,7 @@
 
 DEFUN (dbwhere, , ,
   "-*- texinfo -*-\n\
-@deftypefn {Built-in Function} {} dbwhere ()\n\
+@deftypefn {Command} {} dbwhere\n\
 In debugging mode, report the current file and line number where\n\
 execution is stopped.\n\
 @seealso{dbstatus, dbcont, dbstep, dbup}\n\
@@ -1027,8 +1027,8 @@
 
 DEFUN (dbstack, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Built-in Function} {} dbstack ()\n\
-@deftypefnx {Built-in Function} {} dbstack (@var{n})\n\
+@deftypefn  {Command} {} dbstack\n\
+@deftypefnx {Command} {} dbstack @var{n}\n\
 @deftypefnx {Built-in Function} {[@var{stack}, @var{idx}] =} dbstack (@dots{})\n\
 Display or return current debugging function stack information.\n\
 With optional argument @var{n}, omit the @var{n} innermost stack frames.\n\
--- a/libinterp/interpfcn/help.cc
+++ b/libinterp/interpfcn/help.cc
@@ -478,7 +478,16 @@
 @deftypefn {Keyword} {} do\n\
 Begin a do-until loop.  This differs from a do-while loop in that the\n\
 body of the loop is executed at least once.\n\
-@seealso{while}\n\
+\n\
+@example\n\
+@group\n\
+i = 0;\n\
+do\n\
+  i++\n\
+until (i == 10)\n\
+@end group\n\
+@end example\n\
+@seealso{for, until, while}\n\
 @end deftypefn"),
 
   pair_type ("else",
@@ -708,7 +717,7 @@
   pair_type ("until",
     "-*- texinfo -*-\n\
 @deftypefn {Keyword} {} until\n\
-End a do-until loop.\n\
+End a do-until loop.  See @code{do} for an example.\n\
 @seealso{do}\n\
 @end deftypefn"),
 
@@ -751,7 +760,16 @@
     "-*- texinfo -*-\n\
 @deftypefn {Keyword} {} while\n\
 Begin a while loop.\n\
-@seealso{do}\n\
+\n\
+@example\n\
+@group\n\
+i = 0;\n\
+while (i < 10)\n\
+  i++\n\
+endwhile\n\
+@end group\n\
+@end example\n\
+@seealso{do, endwhile, for, until}\n\
 @end deftypefn"),
 };
 
--- a/liboctave/util/lo-cutils.h
+++ b/liboctave/util/lo-cutils.h
@@ -23,6 +23,8 @@
 #if !defined (octave_liboctave_cutils_h)
 #define octave_liboctave_cutils_h 1
 
+#include <sys/types.h>
+
 #ifdef HAVE_LOADLIBRARY_API
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
--- a/scripts/specfun/perms.m
+++ b/scripts/specfun/perms.m
@@ -38,17 +38,17 @@
 ## @end example
 ## @end deftypefn
 
-function A = perms (w)
+function A = perms (v)
   if (nargin != 1)
     print_usage ();
   endif
-  v = [1:length(w)]';
-  n = length (v);
+  vidx = [1:length(v)]';
+  n = length (vidx);
 
   if (n == 0)
     p = [];
   else
-    p = v(1);
+    p = vidx(1);
     for j = 2:n
       B = p;
       p = zeros (prod (2:j), n);
@@ -56,13 +56,13 @@
       idx = 1:k;
       for i = j:-1:1
         p(idx,1:i-1) = B(:,1:i-1);
-        p(idx,i) = v(j);
+        p(idx,i) = vidx(j);
         p(idx,i+1:j) = B(:,i:j-1);
         idx += k;
       endfor
     endfor
   endif
-  A = w(p);
+  A = v(p);
 endfunction
 
 
--- a/src/mkoctfile.in.cc
+++ b/src/mkoctfile.in.cc
@@ -202,13 +202,13 @@
 
   vars["CPPFLAGS"] = get_variable ("CPPFLAGS", %OCTAVE_CONF_CPPFLAGS%);
   vars["INCFLAGS"] = get_variable ("INCFLAGS", DEFAULT_INCFLAGS);
-  vars["F77"] = get_variable ("F77", %OCTAVE_CONF_F77%);
+  vars["F77"] = get_variable ("F77", %OCTAVE_CONF_MKOCTFILE_F77%);
   vars["FFLAGS"] = get_variable ("FFLAGS", %OCTAVE_CONF_FFLAGS%);
   vars["FPICFLAG"] = get_variable ("FPICFLAG", %OCTAVE_CONF_FPICFLAG%);
-  vars["CC"] = get_variable ("CC", %OCTAVE_CONF_CC%);
+  vars["CC"] = get_variable ("CC", %OCTAVE_CONF_MKOCTFILE_CC%);
   vars["CFLAGS"] = get_variable ("CFLAGS", %OCTAVE_CONF_CFLAGS%);
   vars["CPICFLAG"] = get_variable ("CPICFLAG", %OCTAVE_CONF_CPICFLAG%);
-  vars["CXX"] = get_variable ("CXX", %OCTAVE_CONF_CXX%);
+  vars["CXX"] = get_variable ("CXX", %OCTAVE_CONF_MKOCTFILE_CXX%);
   vars["CXXFLAGS"] = get_variable ("CXXFLAGS", %OCTAVE_CONF_CXXFLAGS%);
   vars["CXXPICFLAG"] = get_variable ("CXXPICFLAG", %OCTAVE_CONF_CXXPICFLAG%);
   vars["XTRA_CFLAGS"] = get_variable ("XTRA_CFLAGS", %OCTAVE_CONF_XTRA_CFLAGS%);
@@ -217,7 +217,7 @@
   vars["DEPEND_FLAGS"] = get_variable ("DEPEND_FLAGS", %OCTAVE_CONF_DEPEND_FLAGS%);
   vars["DEPEND_EXTRA_SED_PATTERN"] = get_variable ("DEPEND_EXTRA_SED_PATTERN", %OCTAVE_CONF_DEPEND_EXTRA_SED_PATTERN%);
 
-  vars["DL_LD"] = get_variable ("DL_LD", %OCTAVE_CONF_DL_LD%);
+  vars["DL_LD"] = get_variable ("DL_LD", %OCTAVE_CONF_MKOCTFILE_DL_LD%);
   vars["DL_LDFLAGS"] = get_variable ("DL_LDFLAGS", %OCTAVE_CONF_MKOCTFILE_DL_LDFLAGS%);
 
   vars["RDYNAMIC_FLAG"] = get_variable ("RDYNAMIC_FLAG", %OCTAVE_CONF_RDYNAMIC_FLAG%);
@@ -236,7 +236,7 @@
   vars["OCT_LINK_DEPS"] = get_variable ("FLIBS", %OCTAVE_CONF_OCT_LINK_DEPS%);
   vars["FLIBS"] = get_variable ("FLIBS", %OCTAVE_CONF_FLIBS%);
 
-  vars["LD_CXX"] = get_variable ("LD_CXX", %OCTAVE_CONF_LD_CXX%);
+  vars["LD_CXX"] = get_variable ("LD_CXX", %OCTAVE_CONF_MKOCTFILE_LD_CXX%);
   vars["LDFLAGS"] = get_variable ("LDFLAGS", %OCTAVE_CONF_LDFLAGS%);
   vars["LD_STATIC_FLAG"] = get_variable ("LD_STATIC_FLAG", %OCTAVE_CONF_LD_STATIC_FLAG%);
   vars["LFLAGS"] = get_variable ("LFLAGS", DEFAULT_LFLAGS);
--- a/src/mkoctfile.in.sh
+++ b/src/mkoctfile.in.sh
@@ -67,13 +67,13 @@
 
 : ${CPPFLAGS=%OCTAVE_CONF_CPPFLAGS%}
 : ${INCFLAGS=$DEFAULT_INCFLAGS}
-: ${F77=%OCTAVE_CONF_F77%}
+: ${F77=%OCTAVE_CONF_MKOCTFILE_F77%}
 : ${FFLAGS=%OCTAVE_CONF_FFLAGS%}
 : ${FPICFLAG=%OCTAVE_CONF_FPICFLAG%}
-: ${CC=%OCTAVE_CONF_CC%}
+: ${CC=%OCTAVE_CONF_MKOCTFILE_CC%}
 : ${CFLAGS=%OCTAVE_CONF_CFLAGS%}
 : ${CPICFLAG=%OCTAVE_CONF_CPICFLAG%}
-: ${CXX=%OCTAVE_CONF_CXX%}
+: ${CXX=%OCTAVE_CONF_MKOCTFILE_CXX%}
 : ${CXXFLAGS=%OCTAVE_CONF_CXXFLAGS%}
 : ${CXXPICFLAG=%OCTAVE_CONF_CXXPICFLAG%}
 : ${XTRA_CFLAGS=%OCTAVE_CONF_XTRA_CFLAGS%}
@@ -82,7 +82,7 @@
 : ${DEPEND_FLAGS=%OCTAVE_CONF_DEPEND_FLAGS%}
 : ${DEPEND_EXTRA_SED_PATTERN=%OCTAVE_CONF_DEPEND_EXTRA_SED_PATTERN%}
 
-: ${DL_LD=%OCTAVE_CONF_DL_LD%}
+: ${DL_LD=%OCTAVE_CONF_MKOCTFILE_DL_LD%}
 : ${DL_LDFLAGS=%OCTAVE_CONF_MKOCTFILE_DL_LDFLAGS%}
 
 : ${RDYNAMIC_FLAG=%OCTAVE_CONF_RDYNAMIC_FLAG%}
@@ -101,7 +101,7 @@
 : ${OCTAVE_LINK_OPTS=%OCTAVE_CONF_OCTAVE_LINK_OPTS%}
 : ${OCT_LINK_DEPS=%OCTAVE_CONF_OCT_LINK_DEPS%}
 : ${OCT_LINK_OPTS=%OCTAVE_CONF_OCT_LINK_OPTS%}
-: ${LD_CXX=%OCTAVE_CONF_LD_CXX%}
+: ${LD_CXX=%OCTAVE_CONF_MKOCTFILE_LD_CXX%}
 : ${LDFLAGS=%OCTAVE_CONF_LDFLAGS%}
 : ${LD_STATIC_FLAG=%OCTAVE_CONF_LD_STATIC_FLAG%}
 : ${LFLAGS=$DEFAULT_LFLAGS}