{"id":16696914,"url":"https://github.com/seratch/deepl-document-translator-for-slack","last_synced_at":"2026-03-14T13:02:10.230Z","repository":{"id":64764653,"uuid":"477286722","full_name":"seratch/deepl-document-translator-for-slack","owner":"seratch","description":"Translate the document files in Slack","archived":false,"fork":false,"pushed_at":"2022-12-19T23:51:51.000Z","size":28,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-24T04:22:20.574Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/seratch.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}},"created_at":"2022-04-03T08:55:48.000Z","updated_at":"2024-08-29T04:58:56.000Z","dependencies_parsed_at":"2023-01-29T23:15:56.211Z","dependency_job_id":null,"html_url":"https://github.com/seratch/deepl-document-translator-for-slack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seratch%2Fdeepl-document-translator-for-slack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seratch%2Fdeepl-document-translator-for-slack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seratch%2Fdeepl-document-translator-for-slack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seratch%2Fdeepl-document-translator-for-slack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seratch","download_url":"https://codeload.github.com/seratch/deepl-document-translator-for-slack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248147047,"owners_count":21055466,"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-10-12T17:45:16.314Z","updated_at":"2026-03-14T13:02:05.174Z","avatar_url":"https://github.com/seratch.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DeepL Document Translator for Slack\n\nThis project demonstrates how to use [DeepL's document translation API](https://www.deepl.com/docs-api/translating-documents/) in [Slack](https://slack.com/). With this app, you can translate the documents uploaded in Slack just by adding a national flag reaction emoji. When the translation is done, the app uploads the generated files in the original message's thread.\n\nIf you are looking for a solution to translate chat message text in Slack, try https://github.com/seratch/deepl-for-slack out for the purpose. You can use both apps together.\n\n## Features\n\nThis app provides two features as below.\n\n### Document Translator in Slack Channels\n\nWhen a user adds a reaction to a message with files, this app calls [DeepL's document translation API](https://www.deepl.com/docs-api/translating-documents/).\nWhen the translation is done, this app uploads the result as a new file in the message's thread.\n\n\u003cimg width=\"500\" src=\"https://user-images.githubusercontent.com/19658/161482554-fe0828c1-4058-4cab-9b20-0c7af9bbdb6b.png\"\u003e\n\n### Usage Dashboard\n\nAnyone in the Slack workspace can check the remaining amount of the DeepL API calls by accessing the app's Home tab.\n\n\u003cimg width=\"500\" src=\"https://user-images.githubusercontent.com/19658/161419330-a459b6ee-e19e-4ab0-b06e-6f0b3be2fb77.png\"\u003e\n\n## Prerequisites\n\nIf you don't have any of the following accounts, create your accounts first.\n\n* [DeepL Pro (for Developers) account](https://www.deepl.com/pro/change-plan#developer)\n* [Slack workspace and user account](https://slack.com/)\n\n## Setup\n\nAll you need to do to run this app are DeepL API key and Slack app's tokens. Follow the below steps to get the credentials.\n\n### Create your DeepL Pro (for Developers) account\n\n* Select \"for Developers\" plan at https://www.deepl.com/pro/ (be careful not to choose any other)\n* Go to your [DeepL Pro Account](https://www.deepl.com/pro-account.html) page\n* Save the **Authentication Key for DeepL API** value\n\nYou will use this token as `DEEPL_AUTH_KEY` env variable later.\n\nAlso, if your app allows your end-users to translate **PDF files** too, go to [Translation Settings](https://www.deepl.com/pro-account/translationSettings) and enable the \"Allow PDF files to be sent to Adobe for all your future translations\" option.\n\nRefer to the following resources for more details:\n\n* https://www.deepl.com/docs-api/\n* https://www.deepl.com/pro/change-plan#developer\n\n### Create your Slack App\n\nCreate a new Slack app from https://api.slack.com/apps?new_app=1\n\n```yaml\ndisplay_information:\n  name: DeepL Document Translator\n  description: Generates translated documents from the ones uploaded in Slack\n  background_color: \"#0b1f5c\"\nfeatures:\n  app_home:\n    home_tab_enabled: true\n    messages_tab_enabled: true\n    messages_tab_read_only_enabled: false\n  bot_user:\n    display_name: DeepL Document Translator\n    always_online: true\noauth_config:\n  scopes:\n    bot:\n      - chat:write\n      - channels:history\n      - groups:history\n      - mpim:history\n      - im:history\n      - files:read\n      - files:write\n      - reactions:read\nsettings:\n  event_subscriptions:\n    bot_events:\n      - app_home_opened\n      - reaction_added\n  interactivity:\n    is_enabled: true\n  socket_mode_enabled: true\n```\n\n### Install the Slack app into your Slack workspace\n\nGo to **Settings** \u003e **Install App** and click the **Install to Workspace** button.\nYou will use this `xoxb-` prefix token as `SLACK_BOT_TOKEN` env variable later.\n\n### Enable Socket Mode for the app\n\nGo to **Settings** \u003e **Basic Information** \u003e **App-Level Tokens** and click the **Generate Tokens and Scopes** button.\nCreate a new App-Level token with `connections:write` scope.\nYou will use this `xapp-` prefix token as `SLACK_APP_TOKEN` env variable later.\n\n### Start your bolt-python app\n\nIf you haven't installed [Poetry](https://python-poetry.org/) in your local machine, install the build tool first. Once you install the tool, run the following commands.\n\n```bash\ngit clone git@github.com:seratch/deepl-document-translator-for-slack.git\ncd deepl-document-translator-for-slack/\n\n# Python 3.9+ required\npoetry shell\npoetry install\n\nexport DEEPL_AUTH_KEY=...\nexport SLACK_APP_TOKEN=xapp-1-...\nexport SLACK_BOT_TOKEN=xoxb-...\n\npython app.py\n```\n\n## Deployments\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/seratch/deepl-document-translator-for-slack/tree/main)\n\n\u003e If you encounter \"We couldn't deploy your app because the source code violates the Salesforce Acceptable Use and External-Facing Services Policy.\" error with the above button,\n\u003e please fork this repository and use your own URL like `https://heroku.com/deploy?template=https://github.com/{your account}/deepl-document-translator-for-slack/tree/main`.\n\n## Related Projects\n\nIf you are looking for more functionalities, take a look at the following projects:\n\n* https://github.com/seratch/deepl-for-slack\n* https://github.com/monstar-lab-oss/deepl-for-slack-elixir\n\n## License\n\nThe MIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseratch%2Fdeepl-document-translator-for-slack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseratch%2Fdeepl-document-translator-for-slack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseratch%2Fdeepl-document-translator-for-slack/lists"}