Contribuindo para o projeto
Caution
Os mantenedores atuais do projeto estão pesquisando a internacionalização automatizada da documentação. Portanto, quaisquer PRs relacionados à internacionalização/tradução da documentação NÃO serão aceitos!
Por favor, NÃO envie PRs relacionados à internacionalização/tradução da documentação!
Obrigado pelo seu interesse neste projeto! Antes de começar a contribuir, por favor, 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
- Documentação de internacionalização/tradução
- Contribuições relacionadas à infraestrutura central, como API HTTP, etc.
- Problemas explicitamente marcados como "Sem necessidade de ajuda" (incluindo problemas no repositório Byaidu/PDFMathTranslate e no repositório PDFMathTranslate-next/PDFMathTranslate-next).
- Outras contribuições consideradas inadequadas pelos mantenedores.
- Contribuição com documentação, mas alterando a documentação em idiomas diferentes do inglês.
- PRs que exigem modificação de arquivos PDF.
- PRs que modificam o arquivo
pdf2zh_next/gui_translation.yaml.
Por favor, NÃO envie PRs relacionados aos tipos 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 idiomas são traduzidas pelos próprios contribuidores.
PRs que são recomendados discutir com os mantenedores via Issue antes da submissão
Para os seguintes tipos de PRs, é recomendado discutir com os mantenedores primeiro antes da submissão:
- PRs relacionados à funcionalidade de compartilhamento multi-usuário. (Este projeto é projetado principalmente para uso de usuário único e não pretende introduzir um sistema multi-usuário abrangente).
Processo de Contribuição
- Faça um fork deste repositório e clone-o localmente.
- Crie uma nova branch:
git checkout -b feature/<nome-do-recurso>. - Desenvolva e certifique-se de que seu código atende aos requisitos.
- Faça commit do seu código:
- Envie para o seu repositório:
git push origin feature/<nome-do-recurso>. - Crie um PR no GitHub, forneça uma descrição detalhada e solicite uma revisão de @awwaawwa.
- Certifique-se de que todas as verificações automatizadas passem.
Tip
Você não precisa esperar até que seu desenvolvimento esteja completamente concluído para criar um PR. Criar um cedo 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 [email protected].
Os arquivos de recursos para a versão 2.0 são compartilhados com o 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 [email protected].
Requisitos básicos
1. Fluxo de trabalho
- Por favor, faça um fork do branch
maine 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 failede um "x" vermelho), revise osdetailscorrespondentes e modifique sua submissão para garantir que o novo PR passe em todas as verificações.
2. Desenvolvimento e Testes
- Use o comando
pip install -e .para desenvolvimento e teste.
3. Formatação de Código
- Configure a ferramenta
pre-commite habiliteblackeflake8para formatação de código.
4. Atualizações de Dependências
- Se você introduzir novas dependências, por favor atualize a lista de dependências no arquivo
pyproject.tomlem 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.mdde acordo.
6. Mensagens de Commit
- Use Conventional Commits, por exemplo:
feat(translator): add openai.
7. Estilo de Codificação
- Certifique-se de que o código submetido 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 da Documentação
- Para a formatação de
README.md, siga as Diretrizes de Redação em Chinês. - Certifique-se de que a documentação em inglês e chinês esteja sempre atualizada; as atualizações da documentação em outros idiomas são opcionais.
Adicionando um mecanismo de tradução
- Adicione uma nova classe de configuração do tradutor no arquivo
pdf2zh/config/translate_engine_model.py. - Adicione uma instância da nova classe de configuração do tradutor ao alias de tipo
TRANSLATION_ENGINE_SETTING_TYPEno mesmo arquivo. - Adicione a nova classe de implementação do 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 do 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
- pasta config: Sistema de configuração.
- pasta translator: 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).
Peça à IA para entender o projeto: DeepWiki
Contate-nos
Se você tiver alguma dúvida, por favor, envie feedback via Issue ou entre no nosso Grupo do Telegram. Obrigado pela sua contribuição!
Tip
Immersive Translate patrocina códigos de assinatura Pro mensais para contribuidores ativos deste projeto. Para detalhes, consulte: BabelDOC/PDFMathTranslate Regras de Recompensa para Contribuidores