{"id":17049173,"url":"https://github.com/hedayat/helm-l10n","last_synced_at":"2026-05-03T13:35:36.420Z","repository":{"id":68602309,"uuid":"501410466","full_name":"hedayat/helm-l10n","owner":"hedayat","description":"A Helm plugin providing a framework for localizing Helm Charts \u0026 Kubernetes objects","archived":false,"fork":false,"pushed_at":"2022-06-08T21:24:46.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T04:27:06.006Z","etag":null,"topics":["helm-plugin","kubernetes","l10n","localization-management","localization-tool","translation"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hedayat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-08T21:04:36.000Z","updated_at":"2023-07-03T11:24:17.000Z","dependencies_parsed_at":"2023-02-21T12:16:04.570Z","dependency_job_id":null,"html_url":"https://github.com/hedayat/helm-l10n","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hedayat/helm-l10n","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hedayat%2Fhelm-l10n","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hedayat%2Fhelm-l10n/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hedayat%2Fhelm-l10n/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hedayat%2Fhelm-l10n/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hedayat","download_url":"https://codeload.github.com/hedayat/helm-l10n/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hedayat%2Fhelm-l10n/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32571455,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["helm-plugin","kubernetes","l10n","localization-management","localization-tool","translation"],"created_at":"2024-10-14T09:54:01.354Z","updated_at":"2026-05-03T13:35:36.392Z","avatar_url":"https://github.com/hedayat.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Helm L10n Plugin\n================\nThis plugin provides basic skeleton to localize a chart's informative messages,\nand utilities to make the localization work-flow easier. \n\n## Usage\n\n### Initialization: `helm l10n init \u003cchart_path\u003e`\nThis command creates the basic skeleton to add l10n support to the chart:\n  `/chart.l10n.in`: This file is in .desktop like format and includes the sources\n  strings for translation for this chart and any subcharts which needs\n  localization. This is the file where you put any strings which should be\n  translated.\n\n  `/po/`: This directory will contain main .pot file and translated .po files\n\n  `/templates/l10n.yaml`: This is a configmap that will contain all messages and\n  their translations. It'll read `/chart.l10n` file which is generated with\n  `helm l10n compile \u003cchart_path\u003e` command.\n\n  `/templates/l10n-extra.yaml`: This template will generate a configmap for\n  translation strings for each subchart and also for extra objects with\n  non-default labels. If this chart doesn't have sub-charts or such objects\n  or does not provide translations for them, it can be removed.\n\n`/chart.l10n.in` \u0026 `/po` are added to the `.helmignore` file.\nNote that it is usually safe to run this command on projects which are already\ninitialized: it only replaces template files and doesn't touch `/po` directory\nor `/chart.l10n.in` if they exist.\n\n### Extracting strings for translation: `helm l10n update_messages \u003cchart_path\u003e`\nTo extract source strings for translation from `chart.l10n.in` file,\nyou can use this command. Any time you update the source strings you should run\nthis command so that translation files are updated.\n\nThis command will generate a message catalogue file in `/po/\u003cchart_name\u003e.pot`,\nwhich is the template for creating new .po files for translation. Additionally,\nif there are any .po files in po/ directory, they'll be updated with new strings\ntoo using `msgmerge` command.\n\n### Generating the output file: `helm l10n compile \u003cchart_path\u003e`\nAny time translation files are modified, this command should be used to create\nthe final output file containing all strings and their translations in .desktop\nformat inside `/chart.l10n` file. This file should be included in the helm package\nand is used by l10n configmap template files inside `/templates` directory to\ngenerate l10n configmaps when deployed.\n\n## Example\n### Adding localization support to an existing chart\n```\n\u003e helm l10n init mychart\n\n# Add/modify source strings for this chart and any subcharts in chart.l10n.in\n\u003e vim mychart/chart.l10n.in\n\n# Create mychart/po/mychart.pot\n\u003e helm l10n update_messages mychart\nGenerating message catalogue file: mychart/po/mychart.pot\nWARNING: No .po files found in mychart/po directory to update.\n\nmsginit -i mychart/po/mychart.pot -o mychart/po/fa.po -l fa_IR.UTF-8\n\n# After translating strings in fa.po with an appropriate tool, we compile .po files\n# into chart.l10n file containing all strings and their translations:\n\u003e helm l10n compile mychart\n\n# Now, we can package the chart:\n\u003e helm package mychart\n```\n\n### Update existing translations\n```\n# Add/modify strings\n\u003e vim mychart/chart.l10n.in\n\n# Update source strings in mychart.pot and all .po files under po/ directory\n\u003e helm l10n update_messages\nGenerating message catalogue file: mychart/po/mychart.pot\nUpdating translation file: mychart/po/fa.po\n... done.\n\n# Update po/fa.po translations with an appropriate tool (recommended) or a text editor\n\u003e vim mychart/po/fa.po\n\n# Regenerate chart.l10n:\nhelm l10n compile mychart\n\n# Create a new package\n\u003e helm package mychart\n```\n\n## Installation\n```\nhelm plugin install https://github.com/hedayat/helm-l10n\n```\nOr you can manually extract the archive in your disk and run\n```\nhelm plugin install path/to/plugin/dir\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhedayat%2Fhelm-l10n","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhedayat%2Fhelm-l10n","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhedayat%2Fhelm-l10n/lists"}