# Contribuindo para o projeto > [!CAUTION] > > Os mantenedores atuais do projeto estão pesquisando a internacionalização automatizada de documentação. Portanto, qualquer PR relacionado à internacionalização/tradução de documentação NÃO será aceito! > > Por favor, NÃO envie PRs relacionados à internacionalização/tradução de documentação! Obrigado pelo seu interesse neste projeto! Antes de começar a contribuir, reserve um tempo para ler as seguintes diretrizes para garantir que sua contribuição possa ser aceita sem problemas. ## Tipos de Contribuições Não Aceitas 1. Internacionalização/tradução da documentação 2. Contribuições relacionadas à infraestrutura principal, como API HTTP, etc. 3. Problemas explicitamente marcados como "No help needed" (incluindo problemas nos repositórios [Byaidu/PDFMathTranslate](Byaidu/PDFMathTranslate) e [PDFMathTranslate-next/PDFMathTranslate-next](PDFMathTranslate-next/PDFMathTranslate-next)). 4. Outras contribuições consideradas inadequadas pelos mantenedores. 5. Contribuição com documentação, mas alterando a documentação em idiomas diferentes do inglês. 6. PRs que exigem modificação de arquivos PDF. 7. PRs que modificam o arquivo `pdf2zh_next/gui_translation.yaml`. Por favor, NÃO envie PRs relacionados aos tipos mencionados acima. > [!NOTE] > > Se você deseja contribuir com a documentação, por favor **modifique apenas a versão em inglês da documentação**. As outras versões em outros idiomas são traduzidas pelos próprios contribuidores. - [ ] Add new features - [ ] Add new translation services - [ ] Add new languages - [ ] Add new dependencies - [ ] Add new CLI options - [ ] Add new configuration options - [ ] Add new environment variables - [ ] Add new tests - [ ] Add new documentation - [ ] Add new examples - [ ] Add new CI/CD pipelines - [ ] Add new scripts - [ ] Add new tools - [ ] Add new dependencies - [ ] Add new files - [ ] Add new directories - [ ] Add new licenses - [ ] Add new code of conduct - [ ] Add new contributing guidelines - [ ] Add new issue templates - [ ] Add new pull request templates - [ ] Add new security policies - [ ] Add new support files - [ ] Add new assets - [ ] Add new data - [ ] Add new resources - [ ] Add new fonts - [ ] Add new images - [ ] Add new videos - [ ] Add new audio - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] 极不推荐添加新的依赖,除非是必要的 --- ### OUTPUT ## PRs que são recomendados discutir com os mantenedores via Issue antes da submissão - [ ] Adicionar novos recursos - [ ] Adicionar novos serviços de tradução - [ ] Adicionar novos idiomas - [ ] Adicionar novas dependências - [ ] Adicionar novas opções de CLI - [ ] Adicionar novas opções de configuração - [ ] Adicionar novas variáveis de ambiente - [ ] Adicionar novos testes - [ ] Adicionar nova documentação - [ ] Adicionar novos exemplos - [ ] Adicionar novos pipelines de CI/CD - [ ] Adicionar novos scripts - [ ] Adicionar novas ferramentas - [ ] Adicionar novas dependências - [ ] Adicionar novos arquivos - [ ] Adicionar novos diretórios - [ ] Adicionar novas licenças - [ ] Adicionar novo código de conduta - [ ] Adicionar novas diretrizes de contribuição - [ ] Adicionar novos modelos de issue - [ ] Adicionar novos modelos de pull request - [ ] Adicionar novas políticas de segurança - [ ] Adicionar novos arquivos de suporte - [ ] Adicionar novos ativos - [ ] Adicionar novos dados - [ ] Adicionar novos recursos - [ ] Adicionar novas fontes - [ ] Adicionar novas imagens - [ ] Adicionar novos vídeos - [ ] Adicionar novos áudios - [ ] Adicionar outras mídias - [ ] Adicionar outros arquivos - [ ] Adicionar outros diretórios - [ ] Adicionar outros recursos - [ ] Adicionar outros ativos - [ ] Adicionar outros dados - [ ] Adicionar outras mídias - [ ] Adicionar outros arquivos - [ ] Adicionar outros diretórios - [ ] Adicionar outros recursos - [ ] Adicionar outros ativos - [ ] Adicionar outros dados - [ ] Adicionar outras mídias - [ ] Adicionar outros arquivos - [ ] Adicionar outros diretórios - [ ] Adicionar outros recursos - [ ] Adicionar outros ativos - [ ] Adicionar outros dados - [ ] Adicionar outras mídias - [ ] Adicionar outros arquivos - [ ] Adicionar outros diretórios - [ ] Adicionar outros recursos - [ ] Adicionar outros ativos - [ ] Adicionar outros dados - [ ] Adicionar outras mídias - [ ] Adicionar outros arquivos - [ ] Adicionar outros diretórios - [ ] Adicionar outros recursos - [ ] Adicionar outros ativos - [ ] Adicionar outros dados - [ ] Adicionar outras mídias - [ ] Adicionar outros arquivos - [ ] Adicionar outros diretórios - [ ] Adicionar outros recursos - [ ] Adicionar outros ativos - [ ] Adicionar outros dados - [ ] Adicionar outras mídias - [ ] Adicionar outros arquivos - [ ] Adicionar outros diretórios -极不推荐添加新的依赖,除非是必要的 - [ ] Add new features - [ ] Add new translation services - [ ] Add new languages - [ ] Add new dependencies - [ ] Add new CLI options - [ ] Add new configuration options - [ ] Add new environment variables - [ ] Add new tests - [ ] Add new documentation - [ ] Add new examples - [ ] Add new CI/CD pipelines - [ ] Add new scripts - [ ] Add new tools - [ ] Add new dependencies - [ ] Add new files - [ ] Add new directories - [ ] Add new licenses - [ ] Add new code of conduct - [ ] Add new contributing guidelines - [ ] Add new issue templates - [ ] Add new pull request templates - [ ] Add new security policies - [ ] Add new support files - [ ] Add new assets - [ ] Add new data - [ ] Add new resources - [ ] Add new fonts - [ ] Add new images - [ ] Add new videos - [ ] Add new audio - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [ ] Add new other data - [ ] Add new other media - [ ] Add new other files - [ ] Add new other directories - [ ] Add new other resources - [ ] Add new other assets - [极不推荐添加新的依赖,除非是必要的] 2. PRs related to implementing a plugin system. 3. PRs related to implementing a marketplace for plugins. 4. PRs related to implementing a user system. 5. PRs related to implementing a payment system. 6. PRs related to implementing a subscription system. 7. PRs related to implementing a user authentication system. 8. PRs related to implementing a user authorization system. 9. PRs related to implementing a user management system. 10. PRs related to implementing a user profile system. 11. PRs related to implementing a user settings system. 12. PRs related to implementing a user notification system. 13. PRs related to implementing a user activity tracking system. 14. PRs related to implementing a user analytics system. 15. PRs related to implementing a user feedback system. 16. PRs related to implementing a user support system. 17. PRs related to implementing a user help system. 18. PRs related to implementing a user documentation system. 19. PRs related to implementing a user tutorial system. 20. PRs related to implementing a user guide system. 21. PRs related to implementing a user FAQ system. 22. PRs related to implementing a user community system. 23. PRs related to implementing a user forum system. 24. PRs related to implementing a user chat system. 25. PRs related to implementing a user messaging system. 26. PRs related to implementing a user email system. 27. PRs related to implementing a user SMS system. 28. PRs related to implementing a user push notification system. 29. PRs related to implementing a user social media integration system. 30. PRs related to implementing a user third-party integration system. 31. PRs related to implementing a user API system. 32. PRs related to implementing a user webhook system. 33. PRs related to implementing a user event system. 34. PRs related to implementing a user logging system. 35. PRs related to implementing a user monitoring system. 36. PRs related to implementing a user alerting system. 37. PRs related to implementing a user reporting system. 38. PRs related to implementing a user dashboard system. 39. PRs related to implementing a user admin system. 40. PRs related to implementing a user super admin system. 41. PRs related to implementing a user role system. 42. PRs related to implementing a user permission system. 43. PRs related to implementing a user group system. 44. PRs related to implementing a user team system. 45. PRs related to implementing a user organization system. 46. PRs related to implementing a user project system. 47. PRs related to implementing a user task system. 48. PRs related to implementing a user workflow system. 49. PRs related to implementing a user automation system. 50. PRs related to implementing a user scheduling system. 51. PRs related to implementing a user calendar system. 52. PRs related to implementing a user time tracking system. 53. PRs related to implementing a user billing system. 54. PRs related to implementing a user invoicing system. 55. PRs related to implementing a user accounting system. 56. PRs related to implementing a user tax system. 57. PRs related to implementing a user legal system. 58. PRs related to implementing a user compliance system. 59. PRs related to implementing a user security system. 60. PRs related to implementing a user privacy system. 61. PRs related to implementing a user data protection system. 62. PRs related to implementing a user data retention system. 63. PRs related to implementing a user data deletion system. 64. PRs related to implementing a user data export system. 65. PRs related to implementing a user data import system. 66. PRs related to implementing a user data migration system. 67. PRs related to implementing a user data backup system. 68. PRs related to implementing a user data restore system. 69. PRs related to implementing a user data sync system. 70. PRs related to implementing a user data replication system. 71. PRs related to implementing a user data sharding system. 72. PRs related to implementing a user data partitioning system. 73.极不推荐添加新的依赖,除非是必要的 --- ### OUTPUT 1. PRs relacionados à funcionalidade de compartilhamento multiutilizador. (Este projeto é principalmente projetado para uso de utilizador único e não pretende introduzir um sistema multiutilizador abrangente). 2. PRs relacionados à implementação de um sistema de plugins. 3. PRs relacionados à implementação de um mercado para plugins. 4. PRs relacionados à implementação de um sistema de utilizador. 5. PRs relacionados à implementação de um sistema de pagamento. 6. PRs relacionados à implementação de um sistema de subscrição. 7. PRs relacionados à implementação de um sistema de autenticação de utilizador. 8. PRs relacionados à implementação de um sistema de autorização de utilizador. 9. PRs relacionados à implementação de um sistema de gestão de utilizadores. 10. PRs relacionados à implementação de um sistema de perfil de utilizador. 11. PRs relacionados à implementação de um sistema de definições de utilizador. 12. PRs relacionados à implementação de um sistema de notificação de utilizador. 13. PRs relacionados à implementação de um sistema de rastreamento de atividade do utilizador. 14. PRs relacionados à implementação de um sistema de análise de utilizador. 15. PRs relacionados à implementação de um sistema de feedback do utilizador. 16.极不推荐添加新的依赖,除非是必要的 ## Processo de Contribuição 1. Faça um fork deste repositório e clone-o localmente. 2. Crie uma nova branch: `git checkout -b feature/`. 3. Desenvolva e certifique-se de que seu código atenda aos requisitos. 4. Faça commit do seu código: ```bash git add . git commit -m "" ``` 5. Envie para o seu repositório: `git push origin feature/`. 6. Crie um PR no GitHub, forneça uma descrição detalhada e solicite uma revisão de [@awwaawwa](https://github.com/awwaawwa). 7. Certifique-se de que todas as verificações automatizadas sejam aprovadas. > [!TIP] > > Você não precisa esperar até que seu desenvolvimento esteja totalmente completo para criar um PR. Criar um PR antecipadamente nos permite revisar sua implementação e fornecer sugestões. > > Se você tiver alguma dúvida sobre o código-fonte ou assuntos relacionados, entre em contato com o mantenedor em aw@funstory.ai. > > Os arquivos de recursos para a versão 2.0 são compartilhados com [BabelDOC](https://github.com/funstory-ai/BabelDOC). O código para baixar os recursos relacionados está no BabelDOC. Se você deseja adicionar novos arquivos de recursos, entre em contato com o mantenedor do BabelDOC em aw@funstory.ai. ## Requisitos básicos

1. Fluxo de trabalho

- Por favor, faça um fork a partir do branch `main` e desenvolva no seu branch bifurcado. - Ao enviar um Pull Request (PR), forneça uma descrição detalhada das suas alterações. - Se o seu PR não passar nas verificações automatizadas (indicado por `checks failed` e um cruz vermelho), revise os `details` correspondentes e modifique sua submissão para garantir que o novo PR passe em todas as verificações.

2. Desenvolvimento e Teste

- Use o comando `pip install -e .` para desenvolvimento e teste.

3. Formatação de Código

- Configure a ferramenta `pre-commit` e ative `black` e `flake8` para formatação de código.

4. Atualizações de Dependências

- Se você introduzir novas dependências, atualize a lista de dependências no arquivo `pyproject.toml` em tempo hábil.

5. Atualizações da Documentação

- Se você adicionar novas opções de linha de comando, atualize a lista de opções de linha de comando em todas as versões de idioma do arquivo `README.md` de acordo.

6. Mensagens de Commit

- Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), por exemplo: `feat(translator): add openai`.

7. Estilo de Codificação

- Certifique-se de que o código enviado adere aos padrões básicos de estilo de codificação. - Use snake_case ou camelCase para nomeação de variáveis.

8. Formatação de Documentação

- Para a formatação de `README.md`, siga as [Diretrizes de Redação em Chinês](https://github.com/sparanoid/chinese-copywriting-guidelines). - Certifique-se de que a documentação em inglês e chinês esteja sempre atualizada; as atualizações de documentação em outros idiomas são opcionais. ## Adicionando um mecanismo de tradução 1. Adicione uma nova classe de configuração de tradutor no arquivo `pdf2zh/config/translate_engine_model.py`. 2. Adicione uma instância da nova classe de configuração de tradutor ao alias de tipo `TRANSLATION_ENGINE_SETTING_TYPE` no mesmo arquivo. 3. Adicione a nova classe de implementação de tradutor na pasta `pdf2zh/translator/translator_impl`. > [!NOTE] > > Este projeto não pretende suportar nenhum mecanismo de tradução com um RPS (solicitações por segundo) inferior a 4. Por favor, não envie suporte para tais mecanismos. > Os seguintes tipos de tradutores também não serão integrados: > - Tradutores que foram descontinuados pelos mantenedores upstream (como deeplx) > - Tradutores com grandes dependências (como aqueles que dependem de pytorch) > - Tradutores instáveis > - Tradutor Baseado em API de Engenharia Reversa > > Quando você não tem certeza se um tradutor atende aos requisitos, pode enviar um problema para discutir com os mantenedores. ## Estrutura do Projeto - **config folder**: Sistema de configuração. - **translator folder**: Implementações relacionadas ao tradutor. - **gui.py**: Fornece a interface GUI. - **const.py**: Algumas constantes. - **main.py**: Fornece a ferramenta de linha de comando. - **high_level.py**: Interfaces de alto nível baseadas no BabelDOC. - **http_api.py**: Fornece API HTTP (não iniciada). Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate-next/PDFMathTranslate-next) Ask AI to understand the project: [DeepWiki](https://deepwiki.com/PDFMathTranslate/極不推荐添加新的依赖,除非是必要的) ## Entre em contato conosco Se você tiver alguma dúvida, envie feedback via Issue ou entre em nosso Grupo no Telegram. Obrigado pela sua contribuição! > [!TIP] > > [Immersive Translate](https://immersivetranslate.com) patrocina códigos de assinatura Pro mensais para contribuidores ativos deste projeto. Para mais detalhes, consulte: [Regras de Recompensa para Contribuidores do BabelDOC/PDFMathTranslate](https://funstory-ai.github.io/BabelDOC/CONTRIBUTOR_REWARD/)
Parte do conteúdo desta página foi traduzida pelo GPT e pode conter erros.