Skip to content

About

ActivityPub bot that translates Fediverse posts when mentioned — works with Mastodon. Built with apkit, FastAPI and LibreTranslate.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

11 stars

Watchers

0 watching

Forks

Repository files navigation

🌐 translate-bot

Bot para o Fediverso que traduz posts automaticamente quando mencionado.

Mencione @translatebot@seu-dominio.com em qualquer post e ele responde com o conteúdo traduzido para o idioma configurado.

@fulano@mastodon.social
Bonjour tout le monde, comment ça va ? @translatebot@seu-dominio.com

@translatebot@seu-dominio.com
🌐 [FR → PT] Olá a todos, como vão vocês?

Testado e funcionando com Mastodon e instâncias compatíveis com ActivityPub.


📚 Documentação completa

https://riverfount.github.io/translate-bot/


Tecnologias

apkit Toolkit ActivityPub para Python — cuida de HTTP Signatures, WebFinger e NodeInfo
FastAPI Servidor web assíncrono (vem como dependência do apkit)
LibreTranslate Detecção automática de idioma e tradução — open source, self-hostável
Dynaconf Configuração por ambiente com suporte a secrets
SQLAlchemy + SQLite Persistência leve de followers, notas de resposta, fila e deduplicação — sem dependências externas
uv Gerenciamento de dependências e ambiente virtual

Quickstart com Docker

mkdir -p keys
docker run --rm -v "$(pwd)/keys:/app/keys" ghcr.io/riverfount/translate-bot:latest uv run --no-sync gen-keys
touch bot.db
docker run -d \
  --name translate-bot \
  -p 8000:8000 \
  -v "$(pwd)/keys:/app/keys" \
  -v "$(pwd)/bot.db:/app/bot.db" \
  -e ENV_FOR_DYNACONF=production \
  -e TRANSLATEBOT_DOMAIN=bot.seu-dominio.com \
  -e TRANSLATEBOT_BOT_USERNAME=translatebot \
  -e TRANSLATEBOT_TARGET_LANGUAGE=pt \
  -e TRANSLATEBOT_LIBRETRANSLATE_URL=https://sua-instancia-libretranslate.com \
  ghcr.io/riverfount/translate-bot:latest

Passo a passo completo, pré-requisitos e configuração de HTTPS (obrigatório pro ActivityPub) em Deploy com Docker.


Notas

Releases são publicadas automaticamente. A cada tag vX.Y.Z empurrada pra main, o workflow release.yml roda a suíte completa, builda e publica a imagem em ghcr.io/riverfount/translate-bot e cria a release no GitHub com changelog gerado automaticamente a partir dos PRs mergeados.

apkit ainda não é estável. A versão está fixada no pyproject.toml. Antes de atualizar, leia o CHANGELOG do projeto.

LibreTranslate é open source e self-hostável. Para maior controle e sem custos por caractere, considere rodar sua própria instância. Instruções em libretranslate.com.


Contribuindo

Veja o guia de contribuição e o código de conduta.


Autor

Vicente Marçal — @riverfount@bolha.us


Licença

MIT

About

ActivityPub bot that translates Fediverse posts when mentioned — works with Mastodon. Built with apkit, FastAPI and LibreTranslate.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

11 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages