-------------------------------------------------------------------------------
Japanese translation for Mercurial
-------------------------------------------------------------------------------
This is the project to translate message file('i18n/ja.po') of
Mercurial distributed SCM(http://www.selenic.com/mercurial/wiki/).
* Terminology:
- SRC : source repo for Mercurial
- L10N-repo: translation working repo
* How to coordinate translation work in branches:
- for translator:
- [TRANSLATE] in 'default' branch of L10N-repo
1. notify favorite translation part to maintainers and wait for
acceptance of it
2. translate corresponding part of 'ja.po'
keywords included in '#' line preceding msgid means:
- python-format:
msgid is using "%xx"
=> useful to validate %xx usage by "msgfmt --check"
- fuzzy:
msgmerge detected modification of msgid
=> re-translation may be needed
So, editing '#' line preceding msgid in ja.po file should be
limited to eliminating fuzzy keyword at re-translation for
msgid change
Embed "XXXX" in translation to indicate that translation is anxious.
* refer source file at the revision described in
BASE_REVISION file, if you work with it
3. check translation file format, and resolve problems, if you
find out:
% msgfmt --check L10N-repo/ja.po
This invocation would show invalid usage of substitution
format(such as '%x'), or invalid amount of
new-line-char('\n')
* do not apply msgmerge other than maintainer
4. check translated messages in steps shown below, and resolve
problem if you find out
% cd SRC
% cp L10N-repo/ja.po ./i18n/ja.po
% make install
% export LANGUAGE=ja
% # re-produce situation when translated messages are shown
* do not forget to configure PYTHONPATH env, if you install
HG by "make install-home-bin" and so on
5. create patch to update 'ja.po' and send it to
maintainers, if not having public repository
6. commit update of 'ja.po' and notify it to maintainers,
if having public repository
7. go back to step 3 for translation adjustment, if needed
(e.g.: update of source documentation, style unification, and so on)
8. (completed)
- for maintainer:
- apply MERGE process on demand
- apply CATCHUP process at short intervals(weekly ?)
- apply IMPORT process at 'i18n/ja.po' update in SRC
- apply EXPORT process at long intervals(bimonthly ?)
- check '#, fuzzy' parts in 'i18n/ja.po' found in UPDATE process
and coordinate re-translation of them
* [MERGE] changeset from translators:
1. apply received patch on head in 'default' branch of
L10N-repo, if translation is received by patch form
2. 'hg pull' from repository of translator(and resolve multiple
heads), if translation is published via public repository
3. check translation, and request translator to re-translate, if
needed
4. Update translation dictionary(placed in head of ja.po file)
or "Style of translation"(placed in tail of 'README.ja.txt'),
if needed
5. (completed)
* [UPDATE] 'ja.po' of L10N-repo by 'hg.pot' of SRC:
1. check 'ja.po' content of L10N-repo by:
% msgfmt --check L10N-repo/ja.po
2. resolve problems found and commit result, if needed
3. update SRC by downloading tarball or pull-n-update
4. update 'hg.pot' in SRC by:
% make update-pot
5. update 'ja.po' of L10N-repo with updated 'hg.pot' in SRC by:
% msgmerge --update --no-location L10N-repo/ja.po SRC/i18n/hg.pot
6. Write revision of SRC into L10N-repp/BASE_REVISION
7. commit updated 'ja.po' and BASE_REVISION in L10N-repo
8. resolve 'fuzzy' problems in updated 'ja.po', if needed
DO ONLY adjustment relation between msgid/msgstr in this
step.
DO NOT adjust translation part in non-'default' branch, even
if it is very simple adjustment.
Keep '#, fuzzy' mark in 'ja.po' file to find target out
easily for re-translation.
9. commit updated 'ja.po' in L10N-repo
10. check translation statistics, and request assigned
translator to re-translate, if needed
% msgmerge -o - L10N-repo/ja.po SRC/i18n/hg.pot |
python L10N-repo/filestat.py |
grep -f L10N-repo/assigned.txt
* output format of above is: 'filename msgid done fuzzy'
11. (completed)
* [CATCHUP] update in SRC:
1. merge from 'default' into 'downstream-line' branch of L10N-repo
2. apply UPDATE process on head in 'downstream-line' branch of
L10N-repo
3. merge UPDATE-ed revision into 'default' branch of L10N-repo
4. (completed)
* [IMPORT] from SRC into L10N-repo:
1. update SRC
2. over-write 'ja.po' in 'sync-line' branch head of L10N-repo by
new one in SRC
3. do below steps, only if there is any incoming update of 'ja.po'
4. commit 'ja.po' update in 'sync-line' branch of L10N-repo
5. merge above new revision into 'downstream-line' branch of
L10N-repo
6. merge from 'default' into 'downstream-line' branch of L10N-repo
7. apply UPDATE process on merged revision in
'downstream-line' branch of L10N-repo
8. merge UPDATE-ed revision into 'default' branch of L10N-repo
9. (completed)
* [EXPORT] from L10N-repo:
0. finish CATCHUP process, and resolve all problems
(also update PO-Revision-Date information in 'ja.po')
1. decide exported revision in 'default' branch of L10N-repo
2. merge above revision into 'upstream-line' branch of L10N-repo
3. get difference of 'ja.po' from head of 'sync-line' branch to
head of 'upstream-line' branch
4. send above difference as updating patch for 'i18n/ja.po' to
mercurial-devel ML
5. resolve minor problems in 'upstream-line' branch of L10N-repo
and re-send patch, if needed(e.g.: typo and so on)
6. merge above two heads into 'sync-line', when sent patch is
imported into official repo
7. (completed)
* Style of translation:
Please see 'README.ja.txt' for detail, because I can not explain it
well in English :-<
-------------------------------------------------------------------------------