Skip to content

git-l10n/git-po-helper

Repository files navigation

CI

A helper program to check conventions for git l10n contributions

Conventions

git-po-helper is a helper program for git l10n coordinator and git l10n contributors to check conventions for git l10n contributions. Pull request to git-l10n/git-po must comply with the following conventions.

  • Only change files in the po/ directory. Any l10n commit that violates this rule will be rejected.

    • Changes to the git-gui/po and gitk-git/po directories belong to the sub-projects "git-gui" and "gitk", which have their own workflows. Please DO NOT send pull requests for these projects here. See Documentation/SubmittingPatches.
  • Write a decent commit log for every l10n commit:

    • Add a prefix ("l10n:" followed by a space) in the subject of the commit log. Take history commits as an example: git log --no-merges -- po/.

    • Do not use non-ASCII chracters in the subject of a commit.

    • The subject (the first line) of the commit log should have characters no more than 50.

    • Other lines of the commit log should not exceed 72 characters.

    • Like other git commits, add a "Signed-off-by:" signature in the trailer of the commit log.

      Add a "Signed-off-by:" signature automatically by running git commit -s.

    • Do not skew your clock to ensure accurate commit datetime.

  • Squash trivial commits so that the pull request for each git l10n update window contains a clear and small number of commits.

  • Check the "XX.po" file using the msgfmt command to make sure it has correct syntax.

  • All translatable strings are present in your "po/XX.po". You can download the latest pot file from:

    https://github.com/git-l10n/pot-changes/raw/pot/main/po/git.pot

  • Remove file-locations from your "po/XX.po" before submitting it to your commit. See the [Updating a "XX.po" file] section for reference in "po/README.md" of the Git repository.

To contribute for a new l10n language, contributor should follow additional conventions:

  • Initialize proper filename of the "XX.po" file conforming to iso-639 and iso-3166.

  • Must complete a minimal translation based on the po/git-core.pot template. Using the following command to initialize the minimal po/XX.po file:

     make po-init PO_FILE="po/XX.po" 
  • Add a new entry in the po/TEAMS file with proper format.

Prerequsites

git-po-helper is written in golang, golang must be installed before compiling.

Additional prerequsites need by git-po-helper:

  • git
  • gettext
  • iconv, which is used to check commit log encoding.
  • gpg, which is used to verify commit with gpg signature.

Build and install git-po-helper

Compile git-po-helper using the following commands:

$ git clone https://github.com/git-l10n/git-po-helper.git $ cd git-po-helper $ make $ make test 

Install git-po-helper:

$ cp git-po-helper /usr/local/bin/ 

Workflows

See po/README.md of the Git project.

Usage of git-po-helper

$ git-po-helper -h Helper for git l10n Usage: git-po-helper [flags] git-po-helper [command] Available Commands: check Check all ".po" files and commits check-commits Check commits for l10n conventions check-po Check syntax of XX.po file diff Show changes between two l10n files help Help about any command init Create XX.po file team Show team leader/members update Update XX.po file version Display the version of git-po-helper Flags: -h, --help help for git-po-helper -q, --quiet count quiet mode -v, --verbose count verbose mode -V, --version Show version Use "git-po-helper [command] --help" for more information about a command. 

About

Helper program for checking l10n contributions

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •