{"id":21019344,"url":"https://github.com/rmraya/javapm","last_synced_at":"2025-07-15T19:47:56.605Z","repository":{"id":133853712,"uuid":"444370533","full_name":"rmraya/JavaPM","owner":"rmraya","description":"Project management for localizing Java .properties files","archived":false,"fork":false,"pushed_at":"2023-09-03T09:56:12.000Z","size":20132,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T05:23:25.410Z","etag":null,"topics":["java","localization","properties","xliff"],"latest_commit_sha":null,"homepage":"https://maxprograms.com/products/javapm.html","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rmraya.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-01-04T10:06:17.000Z","updated_at":"2023-07-13T12:56:01.000Z","dependencies_parsed_at":"2024-11-19T10:49:30.319Z","dependency_job_id":null,"html_url":"https://github.com/rmraya/JavaPM","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmraya%2FJavaPM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmraya%2FJavaPM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmraya%2FJavaPM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rmraya%2FJavaPM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rmraya","download_url":"https://codeload.github.com/rmraya/JavaPM/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254296424,"owners_count":22047260,"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":["java","localization","properties","xliff"],"created_at":"2024-11-19T10:31:21.452Z","updated_at":"2025-07-15T19:47:56.587Z","avatar_url":"https://github.com/rmraya.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JavaPM\n\n![JavaPM icon](images/Orange_squares.png)\n\n## Java Properties Manager\n\nJavaPM is a set of scripts for localizing Java projects using XLIFF as an intermediate format.\n\nJavaPM scans a source folder for all Java resource bundles and converts all source .properties files into a single XLIFF file.\n\nAfter translating an XLIFF file created by JavaPM, import it to generate the .properties files corresponding to the target language.\n\n## Binary downloads\n\nYou can download compressed binary packages for Windows, macOS and Linux from [https://maxprograms.com/products/javapm.html](https://maxprograms.com/products/javapm.html).\n\n## Convert .properties to XLIFF\n\nRunning `.\\createxliff.bat` or `./createxliff.sh` without parameters displays help for XLIFF generation.\n\n```text\nUsage:\n\n    createxliff.bat [-help] -src sourceFolder -xliff xliffFile -srcLang sourceLanguage [-tgtLang targetLanguage] [-reuse] [-2.0]\n\nWhere:\n\n   -help:      (optional) display this help information and exit\n   -src:       source code folder\n   -xliff:     XLIFF file to generate\n   -srcLang:   source language code\n   -enc:       (optional) character set code for .properties files; default: ISO-8859-1\n   -tgtLang:   (optional) target language code\n   -reuse:     (optional) reuse existing translations\n   -2.0:       (optional) generate XLIFF 2.0\n```\n\n## Import translated XLIFF\n\nRunning `.\\mergexliff.bat` or `./mergexliff.sh` without parameters displays help for importing translated XLIFF files.\n\n```text\nUsage:\n\n    mergexliff.sh [-help] -src sourceFolder -xliff xliffFile\n\nWhere:\n\n    -help:       (optional) display this help information and exit\n    -src:        source code folder\n    -xliff:      XLIFF file to merge\n    -unapproved: (optional) accept translations from unapproved segments\n    -export:     (optional) generate TMX file from approved segments\n```\n\n## Build Requirements\n\n- JDK 17 or newer is required for compiling and building.\n- Apache Ant 1.10.12 or newer.\n\nPre-built binaries already include everything you need to run all options.\n\n## Building\n\n- Checkout this repository.\n- Point your JAVA_HOME variable to JDK 17\n- Run `ant` to generate a binary distribution in `./dist`\n\n### Steps for building\n\n``` bash\n  git clone https://github.com/rmraya/JavaPM.git\n  cd JavaPM\n  ant\n```\n\nA binary distribution will be created in `/dist` folder.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmraya%2Fjavapm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frmraya%2Fjavapm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmraya%2Fjavapm/lists"}