{"id":17348451,"url":"https://github.com/daniel-sc/xliff-simple-merge","last_synced_at":"2025-04-19T20:10:32.529Z","repository":{"id":41385870,"uuid":"450046796","full_name":"daniel-sc/xliff-simple-merge","owner":"daniel-sc","description":"Merges XLIFF 1.2/2.0 files. Usable for Angular i18n automation.","archived":false,"fork":false,"pushed_at":"2024-07-09T09:37:19.000Z","size":1151,"stargazers_count":16,"open_issues_count":1,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-02T01:32:56.579Z","etag":null,"topics":["i18n","xliff","xliff2"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daniel-sc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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-01-20T10:14:53.000Z","updated_at":"2024-07-09T09:37:23.000Z","dependencies_parsed_at":"2025-01-01T20:06:48.955Z","dependency_job_id":"6cdab828-50f4-41ae-b0e4-caa1a89dde94","html_url":"https://github.com/daniel-sc/xliff-simple-merge","commit_stats":{"total_commits":91,"total_committers":7,"mean_commits":13.0,"dds":"0.17582417582417587","last_synced_commit":"711dd65497c7c57ade6b763d17117aab2ae09cc2"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daniel-sc%2Fxliff-simple-merge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daniel-sc%2Fxliff-simple-merge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daniel-sc%2Fxliff-simple-merge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daniel-sc%2Fxliff-simple-merge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daniel-sc","download_url":"https://codeload.github.com/daniel-sc/xliff-simple-merge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233107297,"owners_count":18626109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["i18n","xliff","xliff2"],"created_at":"2024-10-15T16:52:27.412Z","updated_at":"2025-01-08T22:23:29.063Z","avatar_url":"https://github.com/daniel-sc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![npm](https://img.shields.io/npm/v/xliff-simple-merge)](https://www.npmjs.com/package/xliff-simple-merge)\n[![Coverage Status](https://coveralls.io/repos/github/daniel-sc/xliff-simple-merge/badge.svg?branch=main)](https://coveralls.io/github/daniel-sc/xliff-simple-merge?branch=main)\n\n# XLIFF Simple Merge\n\nThis program automates the merging of XLIFF files (version 1.2 and 2.0). \nNew translations from the input file (e.g. \"messages.xlf\") are merged into the destination file (e.g \"messages.fr-FR.xlf\"), while keeping exising translations intact. \nRemoved translations will be removed in the input file.\n\nThis can be used as post-processing to angular i18n extraction, to update translations files.\n\n**Angular users**: It is recommended to _not_ use this program directly but the custom angular tooling: [ng-extract-i18n-merge](https://github.com/daniel-sc/ng-extract-i18n-merge)\n\n## Usage\n\nEither install via `npm i -g xliff-simple-merge` or run directly with `npx xliff-simple-merge`.\n\n```text\nOptions:\n  -i, --input-file \u003cinputFiles...\u003e          input file(s)/merge origin(s)\n  -d, --destination-file \u003cdestinationFile\u003e  merge destination\n  -o, --output-file \u003coutputFile\u003e            output file, if not provided \"merge destination\" is overwritten\n  -e, -exclude-file \u003cexcludeFiles...\u003e       exclude all unit IDs of the provided file(s) \n  -w, --overwrite-with-translated           overwrite target of destination with target of source, if it's translated and destination target not\n  --no-match-fuzzy                          prevent fuzzy matching of similar units with changed id\n  --no-collapse-whitespace                  prevent collapsing of multiple whitespaces when comparing translations sources\n  --no-reset-translation-state              prevent (re-)setting the translation state to new/initial for new/changed units\n  --no-replace-apostrophe                   prevent replacing of apostrophes (') with \"\u0026apos;\"\n  --debug                                   enable debug output\n  -h, --help                                display help for command\n```\n\n### Notes\n* If different input files contains the same unit IDs, only the latter ones will be used.\n* The input units may contain target nodes. They will be used in the destination units only if they don't contain any net.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaniel-sc%2Fxliff-simple-merge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaniel-sc%2Fxliff-simple-merge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaniel-sc%2Fxliff-simple-merge/lists"}