[Po4a-devel] [po4a] Error with Text: \n symbol missing

Nicolas François nicolas.francois at centraliens.net
Sun Oct 25 18:32:56 UTC 2009


Hello,

The approach of Florian works for translating (i.e. even if the msgid is
not formatted correctly, the \n can be inserted in the msgstr), but it
will not work for the gettextization.

Unfortunately, the vim help format is not formally defined, and not
designed to be easily parsed. I could improve the text module to handle
the usr_01 and usr_02 files.

I had to use the "-o nobullets" option, I added an option to handle the
lines containing only ">" or "<", and lines containing a tabulation split
paragraphs.

Could you check the attached files. They are the resulting PO files and
English to English translation. I think this improve the handling of vim
help files.

Best Regards,
-- 
Nekral
-------------- next part --------------
A non-text attachment was scrubbed...
Name: usr_01.po
Type: application/x-gettext
Size: 11290 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/po4a-devel/attachments/20091025/bf998cdb/attachment-0002.bin>
-------------- next part --------------
*usr_01.txt*	For Vim version 6.2.  Last change: 2003 Jan 12

		     VIM USER MANUAL - by Bram Moolenaar

			      About the manuals


This chapter introduces the manuals available with Vim.  Read this to know
the conditions under which the commands are explained.

|01.1|	Two manuals
|01.2|	Vim installed
|01.3|	Using the Vim tutor
|01.4|	Copyright

     Next chapter: |usr_02.txt|  The first steps in Vim
Table of contents: |usr_toc.txt|

==============================================================================
*01.1*	Two manuals

The Vim documentation consists of two parts:

1. The User manual
   Task oriented explanations, from simple to complex.  Reads from start to
   end like a book.

2. The Reference manual
   Precise description of how everything in Vim works.

The notation used in these manuals is explained here: |notation|


JUMPING AROUND

The text contains hyperlinks between the two parts, allowing you to quickly
jump between the description of an editing task and a precise explanation of
the commands and options used for it.  Use these two commands:

	Press  CTRL-]  to jump to a subject under the cursor.
	Press  CTRL-O  to jump back (repeat to go further back).

Many links are in vertical bars, like this: |bars|.  An option name, like
'number', a command in double quotes like ":write" and any other word can
also be used as a link.  Try it out: Move the cursor to CTRL-] and press
CTRL-] on it.

Other subjects can be found with the ":help" command, see |help.txt|.

==============================================================================
*01.2*	Vim installed

Most of the manuals assume that Vim has been properly installed.  If you
didn't do that yet, or if Vim doesn't run properly (e.g., files can't be found
or in the GUI the menus do not show up) first read the chapter on
installation: |usr_90.txt|.
							*not-compatible*
The manuals often assume you are using Vim with Vi-compatibility switched
off.  For most commands this doesn't matter, but sometimes it is important,
e.g., for multi-level undo.  An easy way to make sure you are using the
right setup, copy the example vimrc file.  By doing this inside Vim you
don't have to check out where it is located.  How to do this depends on the
system you are using:

Unix: >
	:!cp -i $VIMRUNTIME/vimrc_example.vim ~/.vimrc
MS-DOS, MS-Windows, OS/2: >
	:!copy $VIMRUNTIME/vimrc_example.vim $VIM/_vimrc
Amiga: >
	:!copy $VIMRUNTIME/vimrc_example.vim $VIM/.vimrc

If the file already exists you probably want to keep it.

If you start Vim now, the 'compatible' option should be off.  You can check
it with this command: >

	:set compatible?

If it responds with "nocompatible" you are doing well.  If the response is
"compatible" you are in trouble.  You will have to find out why the option
is still set.  Perhaps the file you wrote above is not found.  Use this
command to find out: >

	:scriptnames

If your file is not in the list, check its location and name.  If it is in
the list, there must be some other place where the 'compatible' option is
switched back on.

For more info see |vimrc| and |compatible-default|.

	Note:
	This manual is about using Vim in the normal way.  There is an
	alternative called "evim" (easy Vim).  This is still Vim, but used in
	a way that resembles a click-and-type editor like Notepad.  It always
	stays in Insert mode, thus it feels very different.  It is not
	explained in the user manual, since it should be mostly self
	explanatory.  See |evim-keys| for details.

==============================================================================
*01.3*	Using the Vim tutor				*tutor* *vimtutor*

Instead of reading the text (boring!) you can use the vimtutor to learn your
first Vim commands.  This is a 30 minute tutorial that teaches the most
basic Vim functionality hands-on.

On Unix and MS-Windows, if Vim has been properly installed, you can start it
from the shell:
>
	vimtutor

This will make a copy of the tutor file, so that you can edit it without
the risk of damaging the original.
   There are a few translated versions of the tutor.  To find out if yours is
available, use the two-letter language code.  For French: >

	vimtutor fr

For OpenVMS, if Vim has been properly installed, you can start vimtutor from
a VMS prompt with: >

	@VIM:vimtutor

Optionally add the two-letter language code as above.


On other systems, you have to do a little work:

1. Copy the tutor file.  You can do this with Vim (it knows where to find it):
>
	vim -u NONE -c 'e $VIMRUNTIME/tutor/tutor' -c 'w! TUTORCOPY' -c 'q'
<
   This will write the file "TUTORCOPY" in the current directory.  To use a
translated version of the tutor, append the two-letter language code to the
filename.  For French:
>
	vim -u NONE -c 'e $VIMRUNTIME/tutor/tutor.fr' -c 'w! TUTORCOPY' -c 'q'
<
2. Edit the copied file with Vim:
>
	vim -u NONE -c "set nocp" TUTORCOPY
<
   The extra arguments make sure Vim is started in a good mood.

3. Delete the copied file when you are finished with it:
>
	del TUTORCOPY
<
==============================================================================
*01.4*	Copyright					*manual-copyright*

The Vim user manual and reference manual are Copyright (c) 1988-2003 by Bram
Moolenaar. This material may be distributed only subject to the terms and
conditions set forth in the Open Publication License, v1.0 or later.  The
latest version is presently available at:
	     http://www.opencontent.org/openpub/

People who contribute to the manuals must agree with the above copyright
notice.
							*frombook*
Parts of the user manual come from the book "Vi IMproved - Vim" by Steve
Oualline (published by New Riders Publishing, ISBN: 0735710015).  The Open
Publication License applies to this book.  Only selected parts are included
and these have been modified (e.g., by removing the pictures, updating the
text for Vim 6.0 and fixing mistakes).  The omission of the |frombook| tag
does not mean that the text does not come from the book.

Many thanks to Steve Oualline and New Riders for creating this book and
publishing it under the OPL! It has been a great help while writing the user
manual.  Not only by providing literal text, but also by setting the tone
and style.

If you make money through selling the manuals, you are strongly encouraged
to donate part of the profit to help AIDS victims in Uganda.  See |iccf|.

==============================================================================

Next chapter: |usr_02.txt| The first steps in Vim

Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: usr_02.po
Type: application/x-gettext
Size: 26970 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/po4a-devel/attachments/20091025/bf998cdb/attachment-0003.bin>
-------------- next part --------------
*usr_02.txt*	For Vim version 6.2.  Last change: 2003 May 04

		     VIM USER MANUAL - by Bram Moolenaar

			    The first steps in Vim


This chapter provides just enough information to edit a file with Vim.  Not
well or fast, but you can edit.  Take some time to practice with these
commands, they form the base for what follows.

|02.1|	Running Vim for the First Time
|02.2|	Inserting text
|02.3|	Moving around
|02.4|	Deleting characters
|02.5|	Undo and Redo
|02.6|	Other editing commands
|02.7|	Getting out
|02.8|	Finding help

     Next chapter: |usr_03.txt|  Moving around
 Previous chapter: |usr_01.txt|  About the manuals
Table of contents: |usr_toc.txt|

==============================================================================
*02.1*	Running Vim for the First Time

To start Vim, enter this command: >

	gvim file.txt

In UNIX you can type this at any command prompt.  If you are running Microsoft
Windows, open an MS-DOS prompt window and enter the command.
   In either case, Vim starts editing a file called file.txt.  Because this
is a new file, you get a blank window. This is what your screen will look
like:

	+---------------------------------------+
	|#					|
	|~					|
	|~					|
	|~					|
	|~					|
	|"file.txt" [New file]			|
	+---------------------------------------+
		('#" is the cursor position.)

The tilde (~) lines indicate lines not in the file.  In other words, when
Vim runs out of file to display, it displays tilde lines.  At the bottom of
the screen, a message line indicates the file is named file.txt and shows
that you are creating a new file.  The message information is temporary and
other information overwrites it.


THE VIM COMMAND

The gvim command causes the editor to create a new window for editing.  If
you use this command: >

	vim file.txt

the editing occurs inside your command window.  In other words, if you are
running inside an xterm, the editor uses your xterm window.  If you are
using an MS-DOS command prompt window under Microsoft Windows, the editing
occurs inside this window.  The text in the window will look the same for
both versions, but with gvim you have extra features, like a menu bar.  More
about that later.

==============================================================================
*02.2*	Inserting text

The Vim editor is a modal editor.  That means that the editor behaves
differently, depending on which mode you are in.  The two basic modes are
called Normal mode and Insert mode.  In Normal mode the characters you type
are commands.  In Insert mode the characters are inserted as text.
   Since you have just started Vim it will be in Normal mode.  To start Insert
mode you type the "i" command (i for Insert).  Then you can enter
the text.  It will be inserted into the file.  Do not worry if you make
mistakes; you can correct them later.  To enter the following programmer's
limerick, this is what you type: >

	iA very intelligent turtle
	Found programming UNIX a hurdle

After typing "turtle" you press the <Enter> key to start a new line.
Finally you press the <Esc> key to stop Insert mode and go back to Normal
mode.  You now have two lines of text in your Vim window:

	+---------------------------------------+
	|A very intelligent turtle		|
	|Found programming UNIX a hurdle	|
	|~					|
	|~					|
	|					|
	+---------------------------------------+


WHAT IS THE MODE?

To be able to see what mode you are in, type this command: >

	:set showmode

You will notice that when typing the colon Vim moves the cursor to the last
line of the window.  That's where you type colon commands (commands that start
with a colon).  Finish this command by pressing the <Enter> key (all commands
that start with a colon are finished this way).
   Now, if you type the "i" command Vim will display --INSERT-- at the bottom
of the window.  This indicates you are in Insert mode.

	+---------------------------------------+
	|A very intelligent turtle		|
	|Found programming UNIX a hurdle	|
	|~					|
	|~					|
	|-- INSERT --				|
	+---------------------------------------+

If you press <Esc> to go back to Normal mode the last line will be made
blank.


GETTING OUT OF TROUBLE

One of the problems for Vim novices is mode confusion, which is caused by
forgetting which mode you are in or by accidentally typing a command that
switches modes.  To get back to Normal mode, no matter what mode you are in,
press the <Esc> key.  Sometimes you have to press it twice.  If Vim beeps
back at you, you already are in Normal mode.

==============================================================================
*02.3*	Moving around

After you return to Normal mode, you can move around by using these keys:

	h   left						*hjkl*
	j   down
	k   up
	l   right

At first, it may appear that these commands were chosen at random.  After
all, who ever heard of using l for right? But actually, there is a very good
reason for these choices: Moving the cursor is the most common thing you do
in an editor, and these keys are on the home row of your right hand.  In
other words, these commands are placed where you can type them the fastest
(especially when you type with ten fingers).

	Note:
	You can also move the cursor by using the arrow keys.  If you do,
	however, you greatly slow down your editing because to press the arrow
	keys, you must move your hand from the text keys to the arrow keys.
	Considering that you might be doing it hundreds of times an hour, this
	can take a significant amount of time.
	   Also, there are keyboards which do not have arrow keys, or which
	locate them in unusual places; therefore, knowing the use of the hjkl
	keys helps in those situations.

One way to remember these commands is that h is on the left, l is on the
right and j points down.  In a picture: >

		       k
		   h     l
		     j

The best way to learn these commands is by using them.  Use the "i" command
to insert some more lines of text.  Then use the hjkl keys to move around
and insert a word somewhere.  Don't forget to press <Esc> to go back to
Normal mode.  The |vimtutor| is also a nice way to learn by doing.

For Japanse users, Hiroshi Iwatani suggested using this:

			Komsomolsk
			    ^
			    |
	   Huan Ho	<--- --->  Los Angeles
	(Yellow river)	    |
			    v
			  Java (the island, not the programming language)

==============================================================================
*02.4*	Deleting characters

To delete a character, move the cursor over it and type "x".  (This is a
throwback to the old days of the typewriter, when you deleted things by
typing xxxx over them.)  Move the cursor to the beginning of the first line,
for example, and type xxxxxxx (seven x's) to delete "A very ".  The result
should look like this:

	+---------------------------------------+
	|intelligent turtle			|
	|Found programming UNIX a hurdle	|
	|~					|
	|~					|
	|					|
	+---------------------------------------+

Now you can insert new text, for example by typing: >

	iA young <Esc>

This begins an insert (the i), inserts the words "A young", and then exits
insert mode (the final <Esc>).	The result:

	+---------------------------------------+
	|A young intelligent turtle		|
	|Found programming UNIX a hurdle	|
	|~					|
	|~					|
	|					|
	+---------------------------------------+


DELETING A LINE

To delete a whole line use the "dd" command.  The following line will then
move up to fill the gap:

	+---------------------------------------+
	|Found programming UNIX a hurdle	|
	|~					|
	|~					|
	|~					|
	|					|
	+---------------------------------------+


DELETING A LINE BREAK

In Vim you can join two lines together, which means that the line break
between them is deleted.  The "J" command does this.
   Take these two lines:

	A young intelligent ~
	turtle ~

Move the cursor to the first line and press "J":

	A young intelligent turtle ~

==============================================================================
*02.5*	Undo and Redo

Suppose you delete too much.  Well, you can type it in again, but an easier
way exists.  The "u" command undoes the last edit.  Take a look at this in
action: After using "dd" to delete the first line, "u" brings it back.
   Another one: Move the cursor to the A in the first line:

	A young intelligent turtle ~

Now type xxxxxxx to delete "A young".  The result is as follows:

	 intelligent turtle ~

Type "u" to undo the last delete.  That delete removed the g, so the undo
restores the character.

	g intelligent turtle ~

The next u command restores the next-to-last character deleted:

	ng intelligent turtle ~

The next u command gives you the u, and so on:

	ung intelligent turtle ~
	oung intelligent turtle ~
	young intelligent turtle ~
	 young intelligent turtle ~
	A young intelligent turtle ~

	Note:
	If you type "u" twice, and the result is that you get the same text
	back, you have Vim configured to work Vi compatible.  Look here to fix
	this: |not-compatible|.
	   This text assumes you work "The Vim Way".  You might prefer to use
	the good old Vi way, but you will have to watch out for small
	differences in the text then.


REDO

If you undo too many times, you can press CTRL-R (redo) to reverse the
preceding command.  In other words, it undoes the undo.  To see this in
action, press CTRL-R twice.  The character A and the space after it
disappear:

	young intelligent turtle ~

There's a special version of the undo command, the "U" (undo line) command.
The undo line command undoes all the changes made on the last line that was
edited.  Typing this command twice cancels the preceding "U".

	A very intelligent turtle ~
	  xxxx				Delete very

	A intelligent turtle ~
		      xxxxxx		Delete turtle

	A intelligent ~
					Restore line with "U"
	A very intelligent turtle ~
					Undo "U" with "u"
	A intelligent ~

The "U" command is a change by itself, which the "u" command undoes and
CTRL-R redoes.  This might be a bit confusing.  Don't worry, with "u" and
CTRL-R you can go to any of the situations you had.

==============================================================================
*02.6*	Other editing commands

Vim has a large number of commands to change the text.  See |Q_in| and
below.  Here are a few often used ones.


APPENDING

The "i" command inserts a character before the character under the cursor.
That works fine; but what happens if you want to add stuff to the end of the
line?  For that you need to insert text after the cursor.  This is done with
the "a" (append) command.
   For example, to change the line

	and that's not saying much for the turtle. ~
to
	and that's not saying much for the turtle!!! ~

move the cursor over to the dot at the end of the line. Then type "x" to
delete the period.  The cursor is now positioned at the end of the line on
the e in turtle.  Now type >

	a!!!<Esc>

to append three exclamation points after the e in turtle:

	and that's not saying much for the turtle!!! ~


OPENING UP A NEW LINE

The "o" command creates a new, empty line below the cursor and puts Vim in
Insert mode.  Then you can type the text for the new line.
   Suppose the cursor is somewhere in the first of these two lines:

	A very intelligent turtle ~
	Found programming UNIX a hurdle ~

If you now use the "o" command and type new text: >

	oThat liked using Vim<Esc>

The result is:

	A very intelligent turtle ~
	That liked using Vim ~
	Found programming UNIX a hurdle ~

The "O" command (uppercase) opens a line above the cursor.


USING A COUNT

Suppose you want to move up nine lines.  You can type "kkkkkkkkk" or you can
enter the command "9k".  In fact, you can precede many commands with a
number.  Earlier in this chapter, for instance, you added three exclamation
points to the end of a line by typing "a!!!<Esc>".  Another way to do this
is to use the command "3a!<Esc>".  The count of 3 tells the command that
follows to triple its effect.  Similarly, to delete three characters, use
the command "3x".  The count always comes before the command it applies to.

==============================================================================
*02.7*	Getting out

To exit, use the "ZZ" command.  This command writes the file and exits.

	Note:
	Unlike many other editors, Vim does not automatically make a backup
	file.  If you type "ZZ", your changes are committed and there's no
	turning back.  You can configure the Vim editor to produce backup
	files, see |07.4|.


DISCARDING CHANGES

Sometimes you will make a sequence of changes and suddenly realize you were
better off before you started.  Not to worry; Vim has a
quit-and-throw-things-away command.  It is: >

	:q!

Don't forget to press <Enter> to finish the command.

For those of you interested in the details, the three parts of this command
are the colon (:), which enters Command-line mode; the q command, which tells
the editor to quit; and the override command modifier (!).
   The override command modifier is needed because Vim is reluctant to throw
away changes.  If you were to just type ":q", Vim would display an error
message and refuse to exit:

	E37: No write since last change (use ! to override) ~

By specifying the override, you are in effect telling Vim, "I know that what
I'm doing looks stupid, but I'm a big boy and really want to do this."

If you want to continue editing with Vim: The ":e!" command reloads the
original version of the file.

==============================================================================
*02.8*	Finding help

Everything you always wanted to know can be found in the Vim help files.
Don't be afraid to ask!
   To get generic help use this command: >

	:help

You could also use the first function key <F1>.  If your keyboard has a <Help>
key it might work as well.
   If you don't supply a subject, ":help" displays the general help window.
The creators of Vim did something very clever (or very lazy) with the help
system: They made the help window a normal editing window.  You can use all
the normal Vim commands to move through the help information.  Therefore h, j,
k, and l move left, down, up and right.
   To get out of the help window, use the same command you use to get out of
the editor: "ZZ".  This will only close the help window, not exit Vim.

As you read the help text, you will notice some text enclosed in vertical bars
(for example, |help|).  This indicates a hyperlink.  If you position the
cursor anywhere between the bars and press CTRL-] (jump to tag), the help
system takes you to the indicated subject. (For reasons not discussed here,
the Vim terminology for a hyperlink is tag.  So CTRL-] jumps to the location
of the tag given by the word under the cursor.)
   After a few jumps, you might want to go back.  CTRL-T (pop tag) takes you
back to the preceding position.  CTRL-O (jump to older position) also works
nicely here.
   At the top of the help screen, there is the notation *help.txt*.  This name
between "*" characters is used by the help system to define a tag (hyperlink
destination).
   See |29.1| for details about using tags.

To get help on a given subject, use the following command: >

	:help {subject}

To get help on the "x" command, for example, enter the following: >

	:help x

To find out how to delete text, use this command: >

	:help deleting

To get a complete index of all Vim commands, use the following command: >

	:help index

When you need to get help for a control character command (for example,
CTRL-A), you need to spell it with the prefix "CTRL-". >

	:help CTRL-A

The Vim editor has many different modes.  By default, the help system
displays the normal-mode commands.  For example, the following command
displays help for the normal-mode CTRL-H command: >

	:help CTRL-H

To identify other modes, use a mode prefix.  If you want the help for the
insert-mode version of a command, use "i_".  For CTRL-H this gives you the
following command: >

	:help i_CTRL-H

When you start the Vim editor, you can use several command-line arguments.
These all begin with a dash (-).  To find what the -t argument does, for
example, use the command: >

	:help -t

The Vim editor has a number of options that enable you to configure and
customize the editor.  If you want help for an option, you need to enclose
it in single quotation marks.  To find out what the 'number' option does,
for example, use the following command: >

	:help 'number'

The table with all mode prefixes can be found here: |help-context|.

Special keys are enclosed in angle brackets. To find help on the up-arrow
key in Insert mode, for instance, use this command: >

	:help i_<Up>

If you see an error message that you don't understand, for example:

	E37: No write since last change (use ! to override) ~

You can use the error ID at the start to find help about it: >

	:help E37

==============================================================================

Next chapter: |usr_03.txt| Moving around

Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:


More information about the Po4a-devel mailing list