PDFTranslate / docs /pt /community /Contribution-Guide.md
Ryuichi
Initial deployment
179eccc
|
Raw History Blame Contribute Delete
24.5 kB
# 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/<feature-name>`.
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 "<semantic commit message>"
```
5. Envie para o seu repositório: `git push origin feature/<feature-name>`.
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
<h4 id="sop">1. Fluxo de trabalho</h4>
- 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.
<h4 id="dev&test">2. Desenvolvimento e Teste</h4>
- Use o comando `pip install -e .` para desenvolvimento e teste.
<h4 id="format">3. Formatação de Código</h4>
- Configure a ferramenta `pre-commit` e ative `black` e `flake8` para formatação de código.
<h4 id="requpdate">4. Atualizações de Dependências</h4>
- Se você introduzir novas dependências, atualize a lista de dependências no arquivo `pyproject.toml` em tempo hábil.
<h4 id="docupdate">5. Atualizações da Documentação</h4>
- 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.
<h4 id="commitmsg">6. Mensagens de Commit</h4>
- Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), por exemplo: `feat(translator): add openai`.
<h4 id="codestyle">7. Estilo de Codificação</h4>
- 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.
<h4 id="doctypo">8. Formatação de Documentação</h4>
- 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/)
<div align="right">
<h6><small>Parte do conteúdo desta página foi traduzida pelo GPT e pode conter erros.</small></h6>