summaryrefslogtreecommitdiff
path: root/po/README
blob: 08959d405ad03631ddf6b11cd95f82c591fa4f15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
NOTES FOR TRANSLATORS
=====================

Introduction
------------

The dgit source package contains dgit and git-debrebase.
These are useful for a variety of different users and in different
situations.  So there are various documents aimed at various users.

* dgit and git-debrebase both support message translation.

* Documentation translation is handled via po4a, in the po4a
  directory.  The documeents are all manpages.

* git-debrebase is currently mostly useful within the Debian project,
  but this will change and its document translations will then be more
  important.

The en_US message translation is slightly special.  It is used for
testing the translation machinery, and since the source native
language is en_GB, there is not much other need for the en_US
translation.


Translatation priorities
------------------------

  HIGH

    po4a/dgit-user_1.pot    How to use dgit to as a downstream or user

  MEDIUM

    po/messages.pot         All the messages for both programs

    po4a/dgit_1
    po4a/dgit-downstream-dsc_7
    po4a/dgit-sponshorship_7
    po4a/dgit_7

  LOW

    po4a/dgit-maint-*       } For work within the Debian project
    po4a/dgit-nmu-simple_7  }  (where one needs good English anyway)

    po4a/git-debrebase_*    Currently low priority but this will change


Translation organisation
------------------------

  po/messages.pot      all messages from both dgit and git-debrebase
  po/LANG.po           translations of those
  po/mo                output directory, do not look here

  po4a/MAN_S.pot       paragraphs from manpage MAN in section S
  po4a/MAN_S.LANG.po   translation of manpage MAN(S) into LANG
  po4a/po4a.cfg        config file for po4a
  po4a/LANG.preview    preview for you, see below
  po4a/translated/     output directory, do not look here


Note on git-debrebase
---------------------

git-debrebase has a fairly complex underlying model, which is defined
in git-debrebase(5).

It is importnt when translating both documents and messages for
git-derebase, that consistent translations are used for the words
defined in `TERMINOLOGY' and `BRANCH CONTENTS'.

You may want to start by reading git-debrebase(5).

When translating git-debrebaase(5) itself, please add the English term
after the definining use of each word.  For example
   Your-word-for-pseudomerge (Pseudomerge)
       translation of the definition
This will be useful because some of these words appear in
necessarily-untranslated but user-visible protocol elements
(eg sometimes in annotations in autogenerated git commit messages)


To start translating
--------------------

In po/

  1. run
      make LANGUAGE.po
  2. edit LANGUAGE.po to add translations.

In po4a/

  1. edit po4a.cfg to add your language to [po4a_langs]
  2. then run
     po4a po4a.cfg
  3. edit each MANPAGE_SECTION.LANG.po to add translations.


Important commands for translators
----------------------------------

In po/

  make LANGUAGE.po     Creates or updates messages.pot and LANGUAGE.po.

  make pofiles         Updates messages.pot from all the sources,
                       with new messages, and merges them into
                       all the language-specific .po files

  make check           Updates everything and then checks everything,
                       printing translation statistics.

In po4a/

  po4a po4a.cfg        Updates all pot and po files

  make preview.LANG    Makes a directory preview.LANG containing
                       translated and compiled manpages which can
                       be previewed with `man -l', and prints a
                       list of appropriate `man -l' commands.