summaryrefslogtreecommitdiff
path: root/mnv/src/po/README_mvc.txt
diff options
context:
space:
mode:
Diffstat (limited to 'mnv/src/po/README_mvc.txt')
-rw-r--r--mnv/src/po/README_mvc.txt158
1 files changed, 158 insertions, 0 deletions
diff --git a/mnv/src/po/README_mvc.txt b/mnv/src/po/README_mvc.txt
new file mode 100644
index 0000000000..bcbd14bf76
--- /dev/null
+++ b/mnv/src/po/README_mvc.txt
@@ -0,0 +1,158 @@
+TRANSLATING MNV MESSAGES
+
+This file explains how to create and maintain po files using a number of
+GnuWin packages. You will need gettext, libiconv and libexpat. As of
+January 2024 the versions known to work are gettext 0.14.4, libiconv 1.10.0-1
+and expat 2.5.0. Gettext and libiconv can be found at:
+
+ http://gnuwin32.sourceforge.net/
+
+expat can be found at:
+
+ http://sourceforge.net/projects/expat/
+or
+ https://github.com/libexpat/libexpat
+
+expat will install into its own directory. You should copy libexpat.dll into
+the bin directory created from the gettext/libiconv packages.
+Or Michele Locati kindly provides precompiled binaries gettext 0.21 and
+iconv 1.16 for Windows on his site:
+
+ https://mlocati.github.io/articles/gettext-iconv-windows.html
+
+First read the README.txt file in this directory for general remarks on
+translating MNV messages.
+
+
+SETUP
+
+Set the environment variable LANGUAGE to the language code for the language
+you are translating MNV messages to. Language codes are typically two
+characters and you can find a list of them at:
+
+ https://www.loc.gov/standards/iso639-2/php/code_list.php
+ https://www.science.co.il/language/Codes.php
+ https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
+
+Another possibility is to use the GnuWin32 port of gettext. This is
+recommended especially if you use already GnuWin32 tools to gunzip, bunzip,
+patch etc. these files. You find the GnuWin32 version of gettext here:
+
+ http://gnuwin32.sourceforge.net/packages/gettext.htm
+
+Yet another very strait forward way is to get the sources of gettext from
+
+ http://www.gnu.org/software/gettext/gettext.html
+
+and build your own version of these tools. The documentation states that this
+should be possible with MSVC4.0, MSVC5.0, MSVC6.0 or MSVC7.0, but you can
+build it even successfully with MSVC8.0.
+
+The LANGUAGE environment variable can be set from the command line, by adding
+a line to your autoexec.bat file, or by defining a user variable from the
+Advanced tab in the System control panel. If the LANGUAGE environment
+variable has not been set in any of the above ways, the value of this variable
+will be set automatically according to the language used in the OS. This
+value will be valid until the "nmake.exe" program terminates.
+
+Next, edit Make_mvc.mak so that GETTEXT_PATH points the binary directory of
+the installation.
+
+
+CREATING A NEW TRANSLATION
+
+When creating a new translation you must add your language code to the
+Make_all.mak file in the lines defining LANGUAGES and MOFILES, POFILES and
+CHECKFILES. If the encoding of the translation text differs from the default
+UTF-8, add a corresponding entry in MOCONVERTED, specifying the required
+encoding.
+To create the initial .po file for your language you must use the command:
+
+ nmake.exe -f Make_mvc.mak first_time
+
+Note: You need to be in the po directory when using this makefile.
+
+Once you have your new .po file load it into MNV and source cleanup.mnv, this
+will convert untranslated messages to comments. If you have syntax
+highlighting turned on then untranslated messages will stand out more easily.
+
+You will also need to edit the file names in the comments in the .po file.
+You need to remove the absolute directory specification (which has the form
+c:\mnv91\src\). You can do this in MNV with the following command with the
+appropriate directory specification for where you have installed the MNV
+source:
+
+ %s/c:\\mnv91\\src\\//g
+
+
+UPDATING A TRANSLATION
+
+If there are new or changed messages in MNV that need translating, then the
+first thing to do is merge them into the existing translations. This is done
+with the following command:
+
+ nmake.exe -f Make_mvc.mak xx
+
+where xx is the language code for the language needing translations. The
+original .po file is copied to xx.po.orig.
+
+
+DOING THE TRANSLATION
+
+Now that you have a .po file you can do the translations for all messages that
+need it. See README.txt for specific instructions.
+
+Once you have finished translating the messages you should make sure all
+non-translated strings are commented out. This can be done by sourcing
+cleanup.mnv once again.
+
+
+CHECKING THE TRANSLATION
+
+Check the translation with the following command:
+
+ nmake.exe -f Make_mvc.mak xx.ck
+
+Correct any errors reported. When there are no more errors, the translation
+is ready to be installed.
+
+
+INSTALLING THE TRANSLATION
+
+Install your translation with the following command:
+
+ nmake.exe -f Make_mvc.mak install
+
+This will create the xx\LC_MESSAGES directory in runtime\lang if it does not
+already exist.
+You can also use the following command to install all languages:
+
+ nmake.exe -f Make_mvc.mak install-all
+
+
+AFTER ALL OF THESE STEPS
+
+Clean the "po" directory of all temporary and unnecessary files. Execute the
+command:
+
+ nmake.exe -f Make_mvc.mak clean
+
+
+TRANSLATION OF MNV THE EDITOR PLUG-INS
+
+MNV supports displaying plugin messages for various native languages.
+Translation is available both for plugins that are supplied as part of the MNV
+editor (e.g. "optwin.mnv") and for third-party plugin packages.
+
+To translate the plugins supplied with the MNV editor, you must specify a
+gettext() function call for the strings you want to translate.
+The translation of these strings will be retrieved by gettext() from the MO
+file "mnv.mo".
+
+For third-party plugins, it is necessary to specify a one-time call to the
+bindtextdomain() function in scripts containing translation strings and for
+all message strings to add a {package} argument to the gettext() function. For
+more information, see ":help package-translation".
+
+
+mnv:tw=78: