git-po-helper

command module
v0.7.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: GPL-2.0 Imports: 2 Imported by: 0

README

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.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package cmd provides CLI implementations.
Package cmd provides CLI implementations.
Package data provides ISO 639 and ISO 3166 data for locales.
Package data provides ISO 639 and ISO 3166 data for locales.
Package dict provides dictionary to fix typos.
Package dict provides dictionary to fix typos.
Package flag provides viper flags.
Package flag provides viper flags.
Package gettext provides utils for gettext.
Package gettext provides utils for gettext.
Package repository provides model for repository.
Package repository provides model for repository.
Package util provides libs for git-po-helper implementation.
Package util provides libs for git-po-helper implementation.
Package version implements versions related functions
Package version implements versions related functions

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL