1 <!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3 <!-- This manual is
for WINDOW MAKER window manager
, version git
#next.
5 Copyright (C
) 2015 The Window Maker Team
.
7 This program is free software
; you can redistribute it
and/or modify
8 it under the terms of the GNU General
Public License
as published by
9 the Free Software Foundation
; either version
2 of the License
, or
10 (at your option
) any later version
.
12 This program is distributed in the hope that it will be useful
,
13 but WITHOUT ANY WARRANTY
; without even the implied warranty of
14 MERCHANTABILITY
or FITNESS
FOR A PARTICULAR PURPOSE
. See the
15 GNU General
Public License
for more details
.
17 You should have received a copy of the GNU General
Public License along
18 with this program
, see file COPYING
for details
. -->
19 <!-- Created by GNU Texinfo
6.1, http
://www.gnu.org/software/texinfo/ -->
21 <title
>Window Maker Internationalisation
1.0</title
>
23 <meta name
="description" content
="Window Maker Internationalisation 1.0">
24 <meta name
="keywords" content
="Window Maker Internationalisation 1.0">
25 <meta name
="resource-type" content
="document">
26 <meta name
="distribution" content
="global">
27 <meta name
="Generator" content
="makeinfo">
28 <meta http
-equiv
="Content-Type" content
="text/html; charset=utf-8">
29 <link href
="#Top" rel
="start" title
="Top">
30 <link href
="#SEC_Contents" rel
="contents" title
="Table of Contents">
31 <link href
="dir.html#Top" rel
="up" title
="(dir)">
32 <link href
="title.css" rel
="stylesheet" type
="text/css" />
37 <?php
include("dock.php"); ?
>
38 <?php
include("header.php"); ?
>
41 <a name
="Window-Maker-Internationalisation"></a
>
42 <h1
class="top">Window Maker Internationalisation
</h1
>
44 <p
>A guide to enable support
for language translations
45 in
<small
>WINDOW MAKER
</small
> and to the contributors
46 who want to help translating
.
48 <a name
="SEC_Contents"></a
>
49 <h2
class="contents-heading">Table of Contents
</h2
>
51 <div
class="contents">
53 <ul
class="no-bullet">
54 <li
><a name
="toc-Enabling-Languages-support-1" href
="#Enabling-Languages-support">1 Enabling Languages support
</a
>
55 <ul
class="no-bullet">
56 <li
><a name
="toc-Getting-the-list-of-supported-languages" href
="#Getting-the-list-of-supported-languages">1.1 Getting the
list of supported languages
</a
></li
>
57 <li
><a name
="toc-Translations-for-Menus" href
="#Translations-for-Menus">1.2 Translations
for Menus
</a
></li
>
58 <li
><a name
="toc-Setting-LINGUAS-at-system-level" href
="#Setting-LINGUAS-at-system-level">1.3 Setting
<code
>LINGUAS
</code
> at system level
</a
></li
>
60 <li
><a name
="toc-Choosing-the-Language-1" href
="#Choosing-the-Language">2 Choosing the Language
</a
></li
>
61 <li
><a name
="toc-Troubleshooting-1" href
="#Troubleshooting">3 Troubleshooting
</a
></li
>
62 <li
><a name
="toc-Contribute-to-Translations-1" href
="#Contribute-to-Translations">4 Contribute to Translations
</a
>
63 <ul
class="no-bullet">
64 <li
><a name
="toc-Install-the-latest-sources" href
="#Install-the-latest-sources">4.1 Install the latest sources
</a
></li
>
65 <li
><a name
="toc-Updating-the-Translations" href
="#Updating-the-Translations">4.2 Updating the Translations
</a
></li
>
66 <li
><a name
="toc-Translate-the-Man-Pages" href
="#Translate-the-Man-Pages">4.3 Translate the Man Pages
</a
></li
>
67 <li
><a name
="toc-Checking-the-Result" href
="#Checking-the-Result">4.4 Checking the Result
</a
></li
>
68 <li
><a name
="toc-Submitting-your-Contribution" href
="#Submitting-your-Contribution">4.5 Submitting your Contribution
</a
></li
>
75 <p
>This manual is
for Window Maker
, version git
#next.
81 <a name
="Enabling-Languages-support"></a
>
82 <a name
="Enabling-Languages-support-1"></a
>
83 <h2
class="chapter">1 Enabling Languages support
</h2
>
85 <p
><small
>WINDOW MAKER
</small
> has the possibility to be translated in many languages
, but by
default none of
86 them will be installed
, and the support
for translation will not be compiled
.
88 <p
>To enable the translation capabilities
, you have to specify which
language(s
) you want to be
89 installed
: this is done with the variable
<code
>LINGUAS
</code
> when running the
<code
>configure
</code
> script
.
90 This variable should contain the space
-separated
list of languages you want to install
.
92 <p
>You could
for instance enable both
French (<code
>fr
</code
>) and Dutch (<code
>nl
</code
>) with this
:
95 <pre
class="example">./configure LINGUAS
="
;fr nl
"
;
98 <p
>You can of course add any other option that you want to the
<code
>configure
</code
> command
.
99 From the moment you specify the variable
, the
<code
>configure
</code
> script will check that you have
100 the appropriate dependencies
for this (basically the
<code
>gettext
</code
> function and the
<code
>libintl
</code
>
101 library
); when you run
<code
>make
</code
> to compile the project
, it will also compile the translation
102 (<code
>mo
</code
> files
) for the
language(s
) you
asked (if available
, of course
), and during
103 <code
>make install
</code
> it will install them in the usual directory
.
105 <p
>The installation directory can be changed with the standard option
<samp
>--localedir
</samp
> to the
106 <code
>configure
</code
> script
, the
default path being
107 <samp
><em
><
;prefix
>
;</em
>/share
/locale
/<em
><
;lang
>
;</em
>/LC_MESSAGES
</samp
>).
110 <a name
="Getting-the-list-of-supported-languages"></a
>
111 <h3
class="section">1.1 Getting the
list of supported languages
</h3
>
113 <p
>The naming convention
for the languages follows the
<cite
>ISO
639-1</cite
> standard
,
114 for which you can find a summary
list in the
115 <a href
="https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html">GNU gettext manual
</a
>.
117 <p
>But
as <small
>WINDOW MAKER
</small
> does not support all of them
, the
<code
>configure
</code
> script will
print a
118 warning
for each language you specify that it does not know
, and sum up at the end the
list of
119 enabled languages that will be installed
.
121 <p
>There is a non
-standard possibility to set
<code
>LINGUAS
</code
> to
<code
>list</code
>, in which
case the
122 <code
>configure
</code
> script will provide you the
list of languages it supports
, and stop
:
124 <div
class="example">
125 <pre
class="example">./configure LINGUAS
="
;list"
;
128 <p
>There is also another non
-standard possibility to enable all the languages that
<small
>WINDOW MAKER
</small
>
129 supports by setting
<code
>LINGUAS
</code
> to
<code
>*</code
>.
130 This is an internal trick implemented so the development team can have the command
131 <code
>make distcheck
</code
> include some checks on translations
:
133 <div
class="example">
134 <pre
class="example">./configure LINGUAS
='*'
138 <a name
="Translations-for-Menus"></a
>
139 <h3
class="section">1.2 Translations
for Menus
</h3
>
141 <p
>In order to propose an
<em
>Application Menu
</em
> (also called
<em
>Root Menu
</em
>) that is also
142 translated in the language of the
interface, <small
>WINDOW MAKER
</small
> implements two complementary
145 <p
>The first
, always enabled when i18n support is enabled
, is to look
for the menu file containing the
147 For example
, if the file is called
<samp
>menu
</samp
> and the language is set
as <code
>LANG
=fr_FR
.utf
-8</code
>,
148 then
<small
>WINDOW MAKER
</small
> will search
for, and use the first match found
:
151 <li
> <code
>menu
.fr_FR
.utf
-8</code
>
152 </li
><li
> <code
>menu
.fr_FR
</code
>
153 </li
><li
> <code
>menu
.fr
</code
>
154 </li
><li
> <code
>menu
</code
>
157 <p
>The second possibility
, which is not enabled by
default, is to be able to
use a custom
<samp
>po
</samp
>
158 file which contains the translations
for the text of the menu
.
159 This feature is enabled at compile time
, using the option
<samp
>--with
-menu
-textdomain
</samp
> to the
160 <code
>configure
</code
> script
. For example
, if you specify
:
162 <div
class="example">
163 <pre
class="example">./configure
--with
-menu
-textdomain
=WMMenu
166 <p
>then the translations
for the menu will be searched in the file
<samp
>WMMenu
.mo
</samp
> located
167 at the standard location
, the
default path being
168 <samp
><em
><
;prefix
>
;</em
>/share
/locale
/<em
><
;lang
>
;</em
>/LC_MESSAGES
/<em
>WMMenu
</em
>.mo
</samp
>.
170 <p
>If you
do not enable the
feature (the
default behaviour
, or with an explicit
171 <samp
>--without
-menu
-textdomain
</samp
>), then
<small
>WINDOW MAKER
</small
> will
<b
>not
</b
> try to translate the
172 strings
, even using its own domain
file (<samp
>WindowMaker
.mo
</samp
>).
175 <a name
="Setting-LINGUAS-at-system-level"></a
>
176 <h3
class="section">1.3 Setting
<code
>LINGUAS
</code
> at system level
</h3
>
178 <p
>As the variable
<code
>LINGUAS
</code
> is quite standard
, you also have the possibility to set its value in
179 the
<samp
>config
.site
</samp
> file
for <small
>AUTOCONF
</small
>.
180 This file can be placed in one of these paths
:
183 <li
> <samp
><em
><
;prefix
>
;</em
>/share
/config
.site
</samp
>
184 </li
><li
> <samp
><em
><
;prefix
>
;</em
>/etc
/config
.site
</samp
>
187 <p
>This way
, the same language
list will be used
for all the programs that
use <small
>AUTOCONF
</small
> that you
189 Please note that
if you also specify a value on the command line
, it will have precedence over the
194 <a name
="Choosing-the-Language"></a
>
195 <a name
="Choosing-the-Language-1"></a
>
196 <h2
class="chapter">2 Choosing the Language
</h2
>
198 <p
>If you have compiled
and installed
<small
>WINDOW MAKER
</small
> with support
for your language
,
199 the effective translation is done is the very same way
as any other application on an
<small
>UNIX
</small
>
200 system
, you just have to set the shell variable
<code
>LANG
</code
> to your language before
<code
>wmaker
</code
>
202 In
<code
>sh
</code
> type of
shell (<small
>SH
</small
>, <small
>KSH
</small
>, <small
>BASH
</small
>, ...), this is done
for example with
203 (<code
>fr
</code
> is
for French
):
205 <div
class="example">
206 <pre
class="example">export LANG
=fr
210 <p
>There is also a command line option
<samp
>--locale
</samp
> for <small
>WINDOW MAKER
</small
> which may be used to set
213 <div
class="example">
214 <pre
class="example">wmaker
--locale fr
217 <p
>When using this option
, <small
>WINDOW MAKER
</small
> will
use the locale you specified
, redefining the
218 <code
>LANG
</code
> environment variable to this value so all program started from
<small
>WINDOW MAKER
</small
> will
222 <p
>If your system is using
<small
>SYSTEMD
</small
>, you can also configure the locale at system level using the
225 <div
class="example">
226 <pre
class="example">localectl set
-locale LANG
=fr
230 <p
>You can check
if the current value is properly supported with the command
:
232 <div
class="example">
233 <pre
class="example">locale
236 <p
>If this does not work
, you may need first to activate the support
for your locale in the system
;
237 you can get the
list of currently enabled locales with the command
:
239 <div
class="example">
240 <pre
class="example">locale
-a
243 <p
>You should be able to enable a
new language support by editing the file
<samp
>/etc
/locale
.gen
</samp
> to
244 uncomment the
locale(s
) you
need (by removing the
<code
>#</code> character and space(s) in front of it,
245 and by running the command
<code
>locale
-gen
</code
> as root
.
247 <p
>For further information
, you may wish to read dedicated documentation
, for example from
248 <a href
="http://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html">the Linux Documentation Project
</a
>
249 or through pages like
250 <a href
="http://www.shellhacks.com/en/HowTo-Change-Locale-Language-and-Character-Set-in-Linux">Shell Hacks
&rsquo
; note on Changing Locale
</a
>.
254 <a name
="Troubleshooting"></a
>
255 <a name
="Troubleshooting-1"></a
>
256 <h2
class="chapter">3 Troubleshooting
</h2
>
258 <p
>If I18N support does not work
for you
, check these
:
260 <ul
class="no-bullet">
261 <li
>- the
<code
>LANG
</code
> environment variable is set to your locale
, and
262 the locale is supported by your OS
&rsquo
;s locale
or X
&rsquo
;s locale
263 emulation
. you can display all supported locales by
264 executing
"
;<code
>locale
-a
</code
>"
; command
if it is available
; you
265 can check
if your locale is supported by X
&rsquo
;s locale emulation
,
266 see
<samp
>/usr
/share
/X11
/locale
/locale
.alias
</samp
>
268 </li
><li
>- check
if you are using an appropriate fonts
for the locale you
269 chose
. If you
&rsquo
;re using a font set that has a different
270 encoding than the one used by
<small
>XLIB
</small
> or <small
>LIBC
</small
>, bad things can
271 happen
. Try specifically putting the encoding in the
<code
>LANG
</code
>
272 variable
, like
<code
>ru_RU
.KOI8
-R
</code
>. Again
, see
273 <samp
>/usr
/share
/X11
/locale
/locale
.alias
</samp
>
275 </li
><li
>- the fonts you
&rsquo
;re using support your locale
. if your font
276 setting on
<samp
>$HOME/GNUstep
/Defaults
/WindowMaker
</samp
> is like
...
278 <div
class="example">
279 <pre
class="example"> WindowTitleFont
= "
;Trebuchet MS
:bold
:pixelsize
=12"
;;
280 MenuTitleFont
= "
;Trebuchet MS
:bold
:pixelsize
=12"
;;
283 <p
>then you can
&rsquo
;t display Asian
languages (<code
>ja
</code
>, <code
>ko
</code
>, <code
>ch
</code
>, ...) characters using
284 <code
>Trebuchet MS
</code
>. A font that is guaranteed to work
for any language is
285 <code
>sans
</code
> (or <code
>sans
-serif
</code
>). <code
>sans
</code
> is not a font itself
, but an alias which
286 points to multiple fonts
and will load the first in that
list that
287 has the ability to show glyphs in your language
. If you don
&rsquo
;t know
288 a font that is suited
for your language you can always set all your
289 fonts to something like
:
291 <div
class="example">
292 <pre
class="example"> "
;sans
:pixelsize
=12"
;
295 <p
>However
, please note that
if your font is something like
:
297 <div
class="example">
298 <pre
class="example"> "
;Trebuchet MS
,sans serif
:pixelsize
=12"
;
301 <p
>this will not be able to display Asian languages
if any of the
302 previous fonts before sans are installed
. This is because unlike
303 the proper font pickup that
<code
>sans
</code
> guarantees
for your language
,
304 this construct only allows a font fallback mechanism
, which tries
305 all the fonts in the
list in order
, until it finds one that is
306 available
, even
if it doesn
&rsquo
;t support your language
.
308 <p
>Also you need to change font settings in style files in
309 the
<samp
>$HOME/Library
/WindowMaker
/Style
</samp
> directory
.
311 </li
><li
>- the
<code
>LC_CTYPE
</code
> environment variable is
unset or it has the correct
312 value
. If you don
&rsquo
;t know what is the correct value
, unset it
.
318 <a name
="Contribute-to-Translations"></a
>
319 <a name
="Contribute-to-Translations-1"></a
>
320 <h2
class="chapter">4 Contribute to Translations
</h2
>
322 <p
>You may have noticed that many translations are not up to date
, because the code has evolved but the
323 persons who initially contributed may not have had the time to
continue, so any help is welcome
.
325 <p
>Since
<small
>WINDOW MAKER
</small
> 0.95.7 there are some targets to
<code
>make
</code
> that can help you in that
329 <a name
="Install-the-latest-sources"></a
>
330 <h3
class="section">4.1 Install the latest sources
</h3
>
332 <p
>If you want to contribute
, the first step is get the development branch of the code
;
333 this is done using
<code
>git
</code
>.
334 If you
do not feel confident at all with using
<code
>git
</code
>, you may also
try to ask
for a
335 <em
>snapshot
</em
> on the developer
&rsquo
;s mailing
list <a href
="mailto:wmaker-dev@lists.windowmaker.org">wmaker
-dev@lists
.windowmaker
.org
</a
>.
336 With
<code
>git
</code
> the procedure is
:
338 <div
class="example">
339 <pre
class="example"># Get your working copy of the sources
340 git
clone git
://repo.or.cz/wmaker-crm.git
342 # Go into that newly created directory
345 # Switch to the branch where everything happens
348 # Generate the configuration script
352 <p
>Now you should have an up
-to
-date working copy ready to be compiled
;
353 you will not need to go the full way but you should run the
<code
>configure
</code
> script
, so it will
354 create the
<samp
>Makefile
</samp
>s
, and you may want to compile the code once so it will not
do it again
355 automatically later
while you are doing something
else:
357 <div
class="example">
358 <pre
class="example"># Setup the build, enabling at least the language you want to work on
359 ./configure LINGUAS
="
;<
;list of iso
639 country code
>
;"
;
361 # Compile the code once
366 <a name
="Updating-the-Translations"></a
>
367 <h3
class="section">4.2 Updating the Translations
</h3
>
369 <p
>The typical process
for translating one program is
:
372 <li
> generate a POT
file (PO Template
):
373 this is done with
<code
>xgettext
</code
> which searches
for all the strings from the sources that can be
376 </li
><li
> update the PO file
for your language
:
377 this is done with
<code
>msgmerge
</code
> which compares the PO file
and aligns it to the latest
380 </li
><li
> edit the
new PO file
:
381 this is done by you with your favourite editor
, to add the missing
<code
>msgstr
</code
>, review the
382 possible
<em
>fuzzy matches
</em
>, ...
384 </li
><li
> check the PO file
:
385 unfortunately there is no definitive method
for this
;
387 </li
><li
> submit your contribution to the project
:
388 this is done with
<code
>git
</code
>.
391 <p
>In
<small
>WINDOW MAKER
</small
>, you have actually
4 <code
>po
</code
> files to take care of
:
393 <ul
class="no-bullet">
394 <li
>- <samp
>po
/<em
><
;lang
>
;</em
>.po
</samp
>: for <small
>WINDOW MAKER
</small
> itself
395 </li
><li
>- <samp
>WPrefs
.app
/po
/<em
><
;lang
>
;</em
>.po
</samp
>: for the Preference Editor program
396 </li
><li
>- <samp
>WINGs
/po
/<em
><
;lang
>
;</em
>.po
</samp
>: for the graphic toolkit library
397 </li
><li
>- <samp
>util
/po
/<em
><
;lang
>
;</em
>.po
</samp
>: for the command
-line tools of
<small
>WINDOW MAKER
</small
>
400 <p
>As stated previously
, there is a
<code
>make
</code
> target that can help you to automatically generate
401 the POT
and update the PO
for these
4 cases
:
403 <div
class="example">
404 <pre
class="example">make update
-lang PO
=<
;lang
>
;
407 <p
>Once run
, it will have updated
as needed the
4 <code
>po
</code
> files against the latest source code
.
408 You may wish to
use the command
<code
>git gui
</code
> to view the changes
;
409 you can now edit the files to complete the translation
, correct them
, remove deprecated stuff
, ...
410 Please note that the encoding should be set to
<em
>UTF
-8</em
> as this is now the standard
.
412 <p
>If you think an error message is too obscure
, just ask on the developer mailing
list
413 <a href
="mailto:wmaker-dev@lists.windowmaker.org">wmaker
-dev@lists
.windowmaker
.org
</a
>: in addition to clarifications there
&rsquo
;s even a chance
for the original message
416 <p
>You may find some information on working with
<code
>po
</code
> file in the
417 <a href
="https://www.gnu.org/software/gettext/manual/html_node/Editing.html">GNU gettext documentation
</a
>.
420 <a name
="Translate-the-Man-Pages"></a
>
421 <h3
class="section">4.3 Translate the Man Pages
</h3
>
423 <p
>You may want to extend the translation to the documentation that is provided to users in the form
424 of Unix
<i
>man pages
</i
>.
425 The sources of the man pages are located in the
<samp
>doc
/</samp
> directory
;
426 the translation should be placed in the directory
<samp
>doc
/<i
>lang
</i
>/</samp
> with the same file name
.
428 <p
>The directory will also need a file
<samp
>Makefile
.am
</samp
> which provides the
list of man pages to be
429 included in the distribution package
and to be installed
.
430 You can probably get inspiration from an existing one from another language
;
431 if you
do not feel confident about it
do not hesitate to ask on the project
&rsquo
;s mailing
list
432 (<a href
="mailto:wmaker-dev@lists.windowmaker.org">wmaker
-dev@lists
.windowmaker
.org
</a
>), either
for help
or to ask someone to make it
for you
.
434 <p
>Please note that although most man pages sources are directly in man page format
435 (<em
>nroff
</em
>, the file extension being a number
), a few of them are processed by a script
436 (those with the
<samp
>.in
</samp
> extension
, like
<samp
>wmaker
.in
</samp
>).
437 This is done because in some
case we want the man page to reflect the actual compilation options
.
439 <p
>You may not want to bother with this hassle
, in which
case you can simply name your translation
440 file with the
<samp
>.1</samp
> and remove the special
<code
>@keyword
@</code
> marks
.
441 If you are sure you want to keep that processing but
do not feel confident about hacking the
442 <samp
>Makefile
.am
</samp
> do not hesitate to ask on the project
&rsquo
;s mailing
list (<a href
="mailto:wmaker-dev@lists.windowmaker.org">wmaker
-dev@lists
.windowmaker
.org
</a
>).
445 <a name
="Checking-the-Result"></a
>
446 <h3
class="section">4.4 Checking the Result
</h3
>
448 <p
>In the
<small
>WINDOW MAKER
</small
> build tree you also have another target that can help you
, it is
449 <code
>make check
</code
>.
451 <p
>At current time
, it does not check much
, but
if during the
<code
>make update
-lang
</code
> new <code
>po
</code
>
452 file have been created you may get some errors
, because you have to add these
new files to the
453 variable
<var>EXTRA_DIST
</var> in the corresponding
<samp
>Makefile
</samp
>.
455 <p
>If you
do not feel confident about doing it
, do not worry
, just tell about it when you submit your
456 work
, and some developer on the mailing
list will just be happy to
do it
for you when integrating
457 your valuable
contribution (we always like when someone helps making
<small
>WINDOW MAKER
</small
> better
).
460 <a name
="Submitting-your-Contribution"></a
>
461 <h3
class="section">4.5 Submitting your Contribution
</h3
>
463 <p
><em
>Preliminary Remark
</em
>: if the update process made changes in a
<code
>po
</code
> file but you did not
464 change any
<code
>msgstr
</code
> content
, it is probably a good idea to not submit the changes to that
465 <code
>po
</code
> file because it would just add noise
.
467 <p
>When you feel ready to send your changes
, the first step is to prepare them
.
468 This is done with
<code
>git
</code
>: if you have not run the
<code
>git gui
</code
> previously then it is a
469 good time to
do it now
.
470 This window offers you the possibility to show your changes
and to decide what you want to send
.
472 <p
>The window is divided in
4 panes
:
474 <li
> top
-right show the current changes you have selected
, for review
475 (and also
for cherry
-picking stuff
if you want to select precisely
)
477 </li
><li
> top
-left ("
;Unstaged Changes
"
;) the
list of files with changes to be send
,
478 you can click on the name of the file to see the changes
,
479 you can click on the icon of the file
if you want to send all the changes in this file
;
480 an icon in blue shows a file that have been changed
and an icon in black shows a file that is
new
482 </li
><li
> bottom
-left ("
;Staged Changes
"
;) the
list of files with changes that you have chosen to send so far
,
483 you can click on the file name to view these changes
,
484 you can click on the icon
if you want to remove the changes from this file from the
list to send
486 </li
><li
> bottom
-right ("
;Commit Message
"
;) the message you want to attach to your changes when you submit them
487 to the development team
490 <p
>The idea here is to pick your changes to the
<code
>po
</code
> files
;
491 for the
<em
>commit message
</em
> you may wish to stuck to a simple
, single line
:
494 <p
>"
;Updated translations
for <em
><
;lang
>
;</em
>"
;
497 <p
>The penultimate step is to click on the button
<tt
class="key">Sign Off
</tt
> (it will add a line in the commit
498 message
), and then click on the button
<tt
class="key">Commit
</tt
>.
499 From this time
, the commit message will clear itself
and the
"
;Staged Changes
"
; also
, showing that
500 your action was done
.
502 <p
>You may now quit the
<code
>git gui
</code
>, the
final step begins by running this command
:
504 <div
class="example">
505 <pre
class="example">git format
-patch HEAD^
508 <p
>This will generate a file named like
<samp
>0001-<em
>updated
-translations
-for-XX
</em
>.patch
</samp
>
509 which contains your changes
, ready
for sending
.
510 The goal will now be to email this file to
<a href
="mailto:wmaker-dev@lists.windowmaker.org">wmaker
-dev@lists
.windowmaker
.org
</a
>.
511 If you feel confident in having
<code
>git
</code
> send it
for you
, you may want to read the file
512 <samp
>The
-perfect
-Window
-Maker
-patch
.txt
</samp
> to see how to configure
<code
>git
</code
> for mailing
, so you
515 <div
class="example">
516 <pre
class="example">git send
-email
0001-<em
>updated
-translations
-for-XX
</em
>.patch