{"id":23033939,"url":"https://github.com/freenowtech/phrase-java-client","last_synced_at":"2025-08-14T15:33:44.137Z","repository":{"id":39814317,"uuid":"54768605","full_name":"freenowtech/phrase-java-client","owner":"freenowtech","description":"This Project is a Java based api client for phraseapp.com to pull translations","archived":false,"fork":false,"pushed_at":"2023-03-22T15:14:33.000Z","size":161,"stargazers_count":7,"open_issues_count":10,"forks_count":8,"subscribers_count":5,"default_branch":"master","last_synced_at":"2023-12-06T20:21:15.619Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/freenowtech.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}},"created_at":"2016-03-26T07:42:10.000Z","updated_at":"2023-02-09T13:04:04.000Z","dependencies_parsed_at":"2022-09-15T01:02:46.970Z","dependency_job_id":null,"html_url":"https://github.com/freenowtech/phrase-java-client","commit_stats":null,"previous_names":["mytaxi/phrase-java-client"],"tags_count":9,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freenowtech%2Fphrase-java-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freenowtech%2Fphrase-java-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freenowtech%2Fphrase-java-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/freenowtech%2Fphrase-java-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/freenowtech","download_url":"https://codeload.github.com/freenowtech/phrase-java-client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229843384,"owners_count":18132901,"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":[],"created_at":"2024-12-15T16:28:08.533Z","updated_at":"2024-12-15T16:28:09.176Z","avatar_url":"https://github.com/freenowtech.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Phrase-Java-Client \n[![Build Status](https://github.com/freenowtech/phrase-java-client/actions/workflows/maven.yml/badge.svg?query=branch%3Amaster)](https://github.com/freenowtech/phrase-java-client/actions?query=branch%3Amaster)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.free-now.apis/phrase-java-client/badge.svg?x=1)](https://maven-badges.herokuapp.com/maven-central/com.free-now.apis/phrase-java-client)\n## What is this?\nThis projects contains of services to handle the translations from [PhraseApp API v2](http://docs.phraseapp.com/api/v2/).\nIt's supposed to expose Phrase translations as POJO or as File within the java world.\n\n## This project consists of 3 main phraseApp services:\n- `PhraseLocaleAPI:` Downloads the locales from phraseApp as POJOs.\n- `PhraseLocaleDownloadAPI:` Downloads the translations from phraseApp as file(byte[]).\n- `PhraseTranslationAPI:` Downloads the translations from phraseApp as POJOs.\n\n\n## How to use this project\nCurrently this project is not released in the maven central repository.\nPlease install this dependency to your local repository and include the following dependency:\n```\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.free-now.apis\u003c/groupId\u003e\n    \u003cartifactId\u003ephrase-java-client\u003c/artifactId\u003e\n    \u003cversion\u003e${phrase-java-client.version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n**Note:** Starting with version 2.0.0, the root package has been changed from `com.mytaxi.apis.phrase` to \n`com.freenow.apis.phrase` and all usages of the library must be updated to the new package.\n\n## What you have to do to start it in an spring application?\n\n### Create the bean PhraseAppSyncTask to run this job scheduled lately.\n\n    @Bean\n    public PhraseAppSyncTask phraseAppSyncTask(final PhraseConfig config)\n    {\n        return new PhraseAppSyncTask(config.getAuthToken(), config.getProjectId());\n    }\n\n### Create a scheduling to run this job frequently.\n\n    @Scheduled(fixedRate = 120000)\n    public void updatePhraseAppStringsTask()\n    {\n        try\n        {\n            final PhraseAppSyncTask phraseAppSyncTask = applicationContext.getBean(\"phraseAppSyncTask\",\n                PhraseAppSyncTask.class);\n            phraseAppSyncTask.run();\n            ResourceBundle.clearCache();\n        }\n        catch (final Exception e)\n        {\n            LOG.error(\"Error downloading PhraseApp messages due auto sync task!\", e);\n        }\n    }\n\n## Developers\nIn order to make the test work create a file `/src/test/resources/com/freenow/phraseapi/config/TestConfig.properties` with the content\n```properties\nauthToken=\u003cauthToken\u003e\nprojectId=\u003cprojectId\u003e\nlocaleIdDe=\u003clocaleIdDe\u003e\n```\n\n### Deploy to OSS Sonatype\n```\nexport authToken=\u003cauthToken\u003e\nexport projectId=\u003cprojectId\u003e\nexport localeIdDe=\u003clocaleIdDe\u003e\nmvn release:prepare -P release\nmvn release:perform -P release\n```\n\n## TODOs\n- add tests for main functionality of the services localedownload, translation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreenowtech%2Fphrase-java-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffreenowtech%2Fphrase-java-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffreenowtech%2Fphrase-java-client/lists"}