poe manual


POE(1)                      General Commands Manual                     POE(1)




NAME

       poe - .po file editor


SYNOPSIS

       poe [-h | --help]

       poe [-V | --full-version]

       poe [-v | --version]

       poe [filename.po]


COPYRIGHT

       poe Copyright © 2021-2023 Strahinya Radich.
       This  program  is licensed under GNU GPL v3 or later.  See the file LI-
       CENSE in the poe repository for details.  File termbox.h  is  based  on
       termbox2  TUI  library,  (c) 2021 termbox developers, which is released
       under the terms of Expat license, see the file LICENSE.termbox.


DESCRIPTION

       poe is a .po (GNU gettext) file editor with a terminal UI.


KEY BINDINGS

       Main window key bindings are as follows:

       +--------------------------------------------------------+
       |Key           Action                                    |
       +--------------------------------------------------------+
       |Esc           Close dialog or clear error               |
       |Enter         Edit entry                                |
       |H or F1       Show help dialog                          |
       |/ or F7       Incremental search (end input with Enter) |
       |n or F3       Find next                                 |
       |N or F4       Find previous                             |
       |u or F8       Go to next untranslated entry             |
       |f or F9       Go to next fuzzy entry                    |
       |w or C-S      Save file (with backup)                   |
       |g or Home     Go to first entry                         |
       |C-B or PgUp   Go to previous page                       |
       |k or          Go to previous entry                      |
       |j or          Go to next entry                          |
       |C-F or PgDn   Go to next page                           |
       |G or End      Go to last entry                          |
       |z or C-Z      Toggle fuzzy flag                         |
       |q or C-Q      Quit                                      |
       +--------------------------------------------------------+

       Edit dialog key bindings are as follows:

       +---------------------------------------------------------------------+
       |Key           Action                                                 |
       +---------------------------------------------------------------------+
       |C-S           Update entry and close dialog                          |
       |C-B or PgUp   Update entry and edit previous entry                   |
       |C-F or PgDn   Update entry and edit next entry                       |
       |C-P           Show previous plural form of msgstr                    |
       |C-N           Show next plural form of msgstr                        |
       |Escape        Cancel changes and close dialog                        |
       |C-C           Yank (copy) current msgstr to paste buffer             |
       |C-V           Paste the contents of paste buffer into current msgstr |
       |F8            Go to next untranslated entry                          |
       |F9            Go to next fuzzy entry                                 |
       |F5            Copy msgid to edit box as current msgstr               |
       |F6            Toggle focus between info box and edit box             |
       |C-Z           Toggle fuzzy flag                                      |
       |C-A or Home   Go to start of line                                    |
       |C-E or End    Go to end of line                                      |
       |C-U           Erase to start of line                                 |
       |C-K           Erase to end of line                                   |
       |C-R           Go to previous word                                    |
       |C-T           Go to next word                                        |
       |C-W           Erase previous word                                    |
       |              Go to previous line                                    |
       |<-            Go to previous character                               |
       |->            Go to next character                                   |
       |              Go to next line                                        |
       +---------------------------------------------------------------------+

       In the table above, "current msgstr" refers to the situation when there
       are  multiple  msgstrs,  representing  different plural forms. Only the
       currently shown plural form is affected.

       When the info box is focused, arrow keys, C-B/C-F  (PgUp/PgDn)  and  C-
       A/C-E (Home/End) keys scroll the info box.

       When  the  search  box is open, relevant text editing and movement com-
       mands from the edit box also apply. For example,  C-R  moves  one  word
       backwards, and C-W deletes one word backwards.


STATUS LINE

       Status line is comprised of a number of segments, by default three. The
       central segment displays the current message number, the total messages
       count,  then in parentheses: number of untranslated messages, number of
       fuzzy messages and the number of obsolete messages.  Obsolete  messages
       are messages whose msgid doesn't match any msgid in the message catalog
       anymore, and are commented out in the .po file using #~ comments.


MESSAGE FLAGS

       Message flags are shown to the left of the msgid in the main window and
       the statusbar of the edit box. They mean the following:

       +-------------------------------------+
       |Character   Meaning                  |
       +-------------------------------------+
       |C           c-format flag            |
       |F           fuzzy flag               |
       |P           Message has plural forms |
       |N           no-c-format flag         |
       +-------------------------------------+


ERROR CHECKING

       poe  has  some  rudimentary checks of the translated messages built in.
       First, when saving changes in the edit box, if the msgid has a  newline
       character  (\n),  a  dot  (.) or a space ( ) at the end, and the corre-
       sponding msgstr doesn't, msgstr being saved will have its ending  char-
       acter  made  to  match the one from the msgid. This feature can be dis-
       abled by commenting out the MATCH_MSGSTR_ENDING feature flag.

       Second, if the numbers of newline characters  (\n),  or,  additionally,
       dots  when WARN_COUNT_DOTS is set, in msgid and msgstr don't match, ms-
       gstr will be shown in a different color on the main screen. If the num-
       ber of newlines was intended, you can simply ignore this warning.  Oth-
       erwise, it can be useful to detect unwanted discrepancies in formatting
       between the original message and the translation.


AUTHOR

       Strahinya Radich, <https://strahinja.org>


KNOWN LIMITATIONS

       •   UTF-8 character set is assumed.

       •   CJK characters are unsupported/problematic. This is a limitation of
           termbox library. See

           <https://github.com/nsf/termbox>

           for more details.

       •   Only one file can be edited at a time, and no additional files  can
           be loaded at runtime. This is a design decision.

       •   Unless  the  define CREATE_BACKUPS is commented out before compila-
           tion, the directory of the edited file must be writable by the user
           in  order to write the changes to the file. This is due to creating
           backups in order to avoid the potential data  loss  under  specific
           circumstances (loss of power during write).

       •   Only  the  flags  fuzzy,  c-format  and  no-c-format are supported.
           Other flags will be stripped on save. This is a design decision.


BUGS

       Bugs can be reported using the ticket tracker at:  <https://todo.sr.ht/
       ~strahinja/poe>



poe 1.7.1                      November 10, 2023                        POE(1)