{"id":13456022,"url":"https://github.com/3ru/gpt-translate","last_synced_at":"2025-05-16T11:07:03.906Z","repository":{"id":149436233,"uuid":"620839806","full_name":"3ru/gpt-translate","owner":"3ru","description":"💬Translate Files into Any Languages with AI","archived":false,"fork":false,"pushed_at":"2025-04-10T07:38:37.000Z","size":4267,"stargazers_count":223,"open_issues_count":3,"forks_count":37,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-05-12T10:10:40.387Z","etag":null,"topics":["actions","gitbook","github-actions","i18n","language","openai","translation"],"latest_commit_sha":null,"homepage":"https://g-t.vercel.app","language":"MDX","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/3ru.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null},"funding":{"github":"3ru"}},"created_at":"2023-03-29T13:27:06.000Z","updated_at":"2025-05-09T08:21:51.000Z","dependencies_parsed_at":"2023-07-05T20:02:20.799Z","dependency_job_id":"ab3b4cfa-e992-4495-8500-63cbdffbac33","html_url":"https://github.com/3ru/gpt-translate","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3ru%2Fgpt-translate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3ru%2Fgpt-translate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3ru%2Fgpt-translate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3ru%2Fgpt-translate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3ru","download_url":"https://codeload.github.com/3ru/gpt-translate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254518381,"owners_count":22084374,"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":["actions","gitbook","github-actions","i18n","language","openai","translation"],"created_at":"2024-07-31T08:01:15.022Z","updated_at":"2025-05-16T11:06:58.896Z","avatar_url":"https://github.com/3ru.png","language":"MDX","funding_links":["https://github.com/sponsors/3ru"],"categories":["MDX"],"sub_categories":[],"readme":"# 🌎 Markdown Translation BOT\n[![Maintainability](https://api.codeclimate.com/v1/badges/a13ea4f37913ba6ba570/maintainability)](https://codeclimate.com/github/3ru/gpt-translate/maintainability)\n[![GPT Translate](https://github.com/3ru/gpt-translate/actions/workflows/gpt-translate.yml/badge.svg)](https://github.com/3ru/gpt-translate/actions/workflows/gpt-translate.yml)\n\n[![OpenAI](https://img.shields.io/badge/-OpenAI-white?style=flat-square\u0026logo=openai\u0026logoColor=black)](https://openai.com/)\n[![Azure](https://img.shields.io/badge/-Microsoft%20Azure-white?style=flat-square\u0026logo=microsoftazure\u0026color=0078D4)](https://azure.microsoft.com/en-us/products/ai-services/openai-service)\n[![Anthropic](https://img.shields.io/badge/-Anthropic-black?style=flat-square\u0026logo=anthropic\u0026logoColor=black\u0026color=d4a27f)](https://www.anthropic.com/)\n[![Perplexity](https://img.shields.io/badge/-Perplexity-black?style=flat-square\u0026logo=perplexity\u0026color=black)](https://docs.perplexity.ai/)\n[![Google](https://img.shields.io/badge/-Google%20gemini-white?style=flat-square\u0026logo=googlegemini\u0026color=white)](https://ai.google/discover/generativeai/)\n[![Groq](https://img.shields.io/badge/-Groq-black?style=flat-square\u0026logoColor=black\u0026color=F55036)](https://groq.com/)\n[![Fireworks](https://img.shields.io/badge/-Fireworks%20AI-black?style=flat-square\u0026color=631fee)](https://fireworks.ai/)\n[![Mistral](https://img.shields.io/badge/-Mistral%20AI-black?style=flat-square\u0026color=ff7000)](https://mistral.ai/)\n[![Cohere](https://img.shields.io/badge/-Cohere-black?style=flat-square\u0026color=39594c)](https://cohere.com/)\n\n\n[English](/README.md) |\n[简体中文](/README/README.zh-CN.md) |\n[繁體中文](/README/README.zh-TW.md) |\n[Español](/README/README.es.md) |\n[हिंदी, हिन्दी](/README/README.hi.md) |\n[한국어](/README/README.ko.md) |\n[日本語](/README/README.ja.md)\n\nThis GitHub action translates your markdown files into multiple languages using multiple AI models.\n\n\u003e [!TIP]\n\u003e Now Available: **AI Models from Multiple Providers✨**  \\\n\u003e We've expanded beyond OpenAI to support various AI model providers.  \\\n\u003e For a comprehensive [list of supported providers](https://g-t.vercel.app/docs/references/supported-model-provider) and detailed information, please refer to our [release notes](https://github.com/3ru/gpt-translate/releases/tag/v1.2.0-beta).\n\n\u003cbr/\u003e\n\n\u003cdetails\u003e\u003csummary\u003e🧐 Current Status\u003c/summary\u003e\n\u003cp\u003e\n\n- The action supports translating **markdown(`.md`), markdown-jsx(`.mdx`), json(`.json`) files only**.\n\n- The command can be executed exclusively by individuals with **write permissions to the repository**.\n\nThese limitations prevent API abuse by non-trusted parties.\n\n\u003c/p\u003e\n\u003c/details\u003e \n\n## 🔧 Setup\n\n### Repository Settings\n\n#### 1. Settings \u003e Actions \u003e General\n\n- Enable `Read and write permissions`\n- Enable `Allow GitHub Actions to create and approve pull requests`\n  ![permissions](https://user-images.githubusercontent.com/69892552/228692074-d8d009a8-9272-4023-97b1-3cbc637d5d84.jpg)\n\n#### 2. Settings \u003e Secrets and variables \u003e Actions\n\n- Set [your API key](https://platform.openai.com/account/api-keys)(`OPENAI_API_KEY`) to secrets\n  ![secrets](https://user-images.githubusercontent.com/69892552/228692421-22d7db33-4e32-4f28-b166-45b4d3ce2b11.jpg)\n\n\n### GitHub Actions Workflow Settings\n\n#### Required\n- Provide the OPENAI_API_KEY as apiKey.\n- Set `on` to trigger when a comment is created (`types: [ created ]`).\n- Checkout in advance(`actions/checkout@v3`).\n\n#### Recommended (To minimize unnecessary run time)\n- Configure if to run only when `/gpt-translate` or `/gt` is present in the comment.\n\n\n👇 Here is a minimal workflow example:\n```yaml\n# .github/workflows/gpt-translate.yml\nname: GPT Translate\n\non:\n  issue_comment:\n    types: [ created ]\n\njobs:\n  gpt_translate:\n    runs-on: ubuntu-latest\n\n    steps:\n      - uses: actions/checkout@v4\n\n      - name: Run GPT Translate\n        if: |\n          contains(github.event.comment.body, '/gpt-translate') || \n          contains(github.event.comment.body, '/gt')\n        uses: 3ru/gpt-translate@master\n        with:\n          apikey: ${{ secrets.OPENAI_API_KEY }}\n```\n\n\n## 💡 Usage\n\n```\n/gpt-translate [input filepath] [output filepath] [target language] \n```\nYou can use /gt as a shorthand for /gpt-translate.\n\n1.Create a comment with `/gpt-translate` or `/gt` in an issue or pull request.\n\n2.【On issue】Translated files will be created as a **pull request**.\n\n2.【On pull request】Translated files will be **added to the pull request with new commit**.\n\nIn other words, if you keep commenting on an issue, new PRs will continuously be created.\nIf you keep commenting on a PR, new commits will continuously be added to that PR.\n\n## 📝 Example\n```\n/gpt-translate README.md zh-TW/README.md traditional-chinese\n```\nTranslate `README.md` into traditional Chinese and place it under the `zh-TW` directory.\n\n### Multiple file support\n\nYou can translate multiple files at once by specifying a wildcard in the input file path.\n\nHere is a sample\n```\n/gpt-translate *.md *.ja.md Japanese\n```\nIf `A.md` and `B.md` are in the root directory, the output will be `A.ja.md` and `B.ja.md`. The file names are inherited from the input files.\nI am considering outputting the file with an arbitrary file name, but if you have a smart idea, please suggest it through the issue!\n\nFor more information, please refer to the [website](https://g-t.vercel.app/docs/references/path-builder)\n\n## 🌐 Supported Languages\n**Any language** interpreted by GPT-4 or GPT-3.5\n\n## 🏘️ Community\n- [Discussions](https://github.com/3ru/gpt-translate/discussions)\n  - If you have any questions, please feel free to ask in the GitHub Discussions :)\n- [Issues](https://github.com/3ru/gpt-translate/issues)\n  - Please submit bugs and new feature suggestions to GitHub Issues\n\n## 📃 License\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3ru%2Fgpt-translate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3ru%2Fgpt-translate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3ru%2Fgpt-translate/lists"}