{"id":25644217,"url":"https://github.com/solvro/backend-translator","last_synced_at":"2025-10-09T09:41:14.029Z","repository":{"id":278912831,"uuid":"937139999","full_name":"Solvro/backend-translator","owner":"Solvro","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-07T20:46:42.000Z","size":520,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-07T21:33:57.481Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Solvro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-02-22T12:38:11.000Z","updated_at":"2025-05-07T20:25:29.000Z","dependencies_parsed_at":"2025-02-22T14:28:36.674Z","dependency_job_id":"bacaf2e4-bf68-4cd2-a85d-684173cbc33c","html_url":"https://github.com/Solvro/backend-translator","commit_stats":null,"previous_names":["solvro/backend-translator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Solvro/backend-translator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solvro%2Fbackend-translator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solvro%2Fbackend-translator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solvro%2Fbackend-translator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solvro%2Fbackend-translator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Solvro","download_url":"https://codeload.github.com/Solvro/backend-translator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Solvro%2Fbackend-translator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268431637,"owners_count":24249413,"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","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-02-23T07:32:41.237Z","updated_at":"2025-10-09T09:41:08.993Z","avatar_url":"https://github.com/Solvro.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# backend-translator\n\n![Solvro banner](https://github.com/Solvro/backend-topwr-sks/blob/main/assets/solvro_dark.png#gh-dark-mode-only)\n![Solvro banner](https://github.com/Solvro/backend-topwr-sks/blob/main/assets/solvro_dark.png#gh-light-mode-only)\n\n# Translation API Documentation\n\n## Base URL\n\n```\n/api/v1\n```\n\n## Endpoints\n\n### Languages\n\n#### Get All Languages\n\n```\nGET /languages\n```\n\n**Response:** List of all available languages.\n\n#### Create a Language\n\n```\nPOST /languages\n```\n\n**Body:**\n\n```json\n{\n  \"isoCode\": \"en\"\n}\n```\n\n**Response:** Created language object.\n\n#### Get Language by ISO Code\n\n```\nGET /languages/:isoCode\n```\n\n**Response:** Language object.\n\n#### Update Language\n\n```\nPUT /languages/:isoCode\n```\n\n**Body:**\n\n```json\n{\n  \"name\": \"Updated Name\"\n}\n```\n\n**Response:** Updated language object.\n\n#### Delete Language\n\n```\nDELETE /languages/:isoCode\n```\n\n**Response:** No content.\n\n---\n\n### Translations\n\n#### Get All Translations\n\n```\nGET /translations\n```\n\n**Response:** List of all translations.\n\n#### Create a Translation\n\n```\nPOST /translations\n```\n\n**Body:**\n\n```json\n{\n  \"originalText\": \"Hello\",\n  \"originalLanguageCode\": \"en\",\n  \"translatedLanguageCode\": \"fr\",\n  \"translatedText\": \"Bonjour\"\n}\n```\n\n**Response:** Created translation object.\n\n#### Get Translations for a Specific Text\n\n```\nGET /translations/:hash\n```\n\n**Response:** List of translations for the given text hash.\n\n#### Get Translations for a Specific Language\n\n```\nGET /translations/:isoCode\n```\n\n**Response:** List of translations in the given language.\n\n#### Get Specific Translation\n\n```\nGET /translations/:hash/:isoCode\n```\n\n**Response:** Translation object.\n\n#### Update Translation\n\n```\nPUT /translations/:hash/:isoCode\n```\n\n**Body:**\n\n```json\n{\n  \"originalText\": \"Hello\",\n  \"translatedText\": \"Salut\"\n}\n```\n\n**Response:** Updated translation object.\n\n#### Delete Translation\n\n```\nDELETE /translations/:hash/:isoCode\n```\n\n**Response:** No content.\n\n#### Approve Translation\n\n```\nPOST /translations/:hash/:isoCode/approve\n```\n\n**Response:** Approved translation object.\n\n#### Request Translation via OpenAI\n\n```\nPOST /translations/openAI\n```\n\n**Body:**\n\n```json\n{\n  \"originalText\": \"Hello\",\n  \"originalLanguageCode\": \"en\",\n  \"translatedLanguageCode\": \"es\"\n}\n```\n\n**Response:** Translation object created using OpenAI.\n\n---\n\n## Notes\n\n- The `hash` parameter is generated using SHA-256 from `originalText`.\n- The OpenAI translation request utilizes `gpt-4o-mini`.\n- All responses follow JSON format.\n- Errors return appropriate HTTP status codes with messages.\n- **The API is generated by ChatGPT - watch out for inconsistencies**\n\n## Links\n\n[![docs.solvro.pl](https://i.imgur.com/fuV0gra.png)](https://docs.solvro.pl)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolvro%2Fbackend-translator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolvro%2Fbackend-translator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolvro%2Fbackend-translator/lists"}