JGMENU-I18N(1)
β¨ JGMENU-I18N β¨
okay so bestie, this is the jgmenu-i18n manual page (section 1 of the jgmenu family, iykyk) and it's literally all about making your jgmenu speak every language π
πΈ NAME πΈ
jgmenu-i18n β the lil helper that supports translation of jgmenu flavoured CSV menu data π¦
β SYNOPSIS β
jgmenu_run i18n <translation-file>
jgmenu_run i18n --init [<translation-file>]
π DESCRIPTION π
jgmenu_run i18n reads jgmenu flavoured CSV menu data from stdin and then either translates it, or creates a po style translation file. that's the whole vibe β¨
the <translation-file> argument can be a file or a directory. if it's a directory (the latter case, bestie, keep up π«Ά), translation files get searched for in that directory based on the environment variable $LANG. and here's the tea: $LANG is assumed to be in the format ll_CC.UTF8, where:
llis an ISO 639 two-letter language code πCCis an ISO 3166 two-letter country code π
files named ll_CC and ll will be used in said order (so ll_CC first, then ll β order matters, no cap) π
π OPTIONS π
--initβ creates a template po style translation file with blankmsgidentries. it's giving "blank canvas, your turn to fill it in" π¨
π EXAMPLES π
π§ Create translation file template for manual translation
modules jgmenu-apps(1) and jgmenu-ob(1) have built-in i18n support. to use this feature, you need a translation file. here are the examples of how a translation file can be created:
Example 1.
jgmenu_run ob | jgmenu_run i18n --init >sv
Example 2.
jgmenu_run i18n --init <prepend.csv >sv
the result of the above commands would be a skeleton translation file (sv in this case) containing entries like this:
msgid "Web Browser"
msgstr ""
then you manually translate the empty msgstr fields. that's it, that's the job β go be the main character of localization π
π Use translation file
if you're using modules jgmenu-apps(1) or jgmenu-ob(1), just set csv_i18n in jgmenurc to directly point to a translation-file or a directory containing translation files. easy slay π
in special circumstances (iykyk, sometimes the plumbing gets fancy), you may wish to include i18n in command plumbing. here's an example of how this could be constructed:
<csv-generating-command> \
| jgmenu_run i18n <translation-file> \
| jgmenu --vsimple
π«Ά AUTHORS π«Ά
Johan Malm.
and that's the whole page bestie, no notes π
this iconic piece of documentation is brought to you by the jgmenu-i18n manual, dated 15 February, 2020 β the JGMENU-I18N(1) era, fr fr β¨π
π¦ where this page comes from
- alpine 3.24: jgmenu-doc 4.5.0-r0 Β· GPL-2.0-or-later
- arch rolling: jgmenu 4.6.0-1 Β· GPL
- debian bookworm: jgmenu 4.4.1-1 Β· GPL-2.0-only
- debian trixie: jgmenu 4.5.0-1 Β· GPL-2.0-only
- fedora 43: jgmenu 4.5.0-3.fc43 Β· GPL-2.0-or-later
- fedora 44: jgmenu 4.5.0-4.fc44 Β· GPL-2.0-or-later
- nixos 26.05: jgmenu 4.5.0
- nixpkgs unstable: jgmenu 4.7.0
- opensuse-leap 16.0: jgmenu 4.4.1-bp160.1.14 Β· GPL-2.0-only
- opensuse-leap 16.0: jgmenu 4.4.1-bp160.1.14 Β· GPL-2.0-only
- opensuse-leap 16.0: jgmenu 4.4.1-bp160.1.14 Β· GPL-2.0-only
- opensuse-leap 16.0: jgmenu 4.4.1-bp160.1.14 Β· GPL-2.0-only
- ubuntu jammy: jgmenu 4.4.0-1 Β· GPL-2.0-only
- ubuntu noble: jgmenu 4.4.1-2build1 Β· GPL-2.0-only
- ubuntu questing: jgmenu 4.5.0-1build1
- ubuntu resolute: jgmenu 4.5.0-1build2 Β· GPL-2.0-only
- ubuntu stonking: jgmenu 4.5.0-1build2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms