跳轉到

Contribuindo para o Projeto

Caution

Os mantenedores atuais do projeto estão pesquisando a internacionalização automatizada da documentação. Portanto, qualquer PR relacionado à internacionalização/tradução da documentação NÃO será aceito!

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, 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 no repositório Byaidu/PDFMathTranslate).
  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.

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 outros idiomas são traduzidas pelos próprios contribuidores.

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:
    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.
  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 [email protected].

Os arquivos de recursos para a versão 2.0 são compartilhados com 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 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 uma cruz vermelha), revise os details correspondentes 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-commit e habilite 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

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 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

  1. Adicione uma nova classe de configuração do tradutor no arquivo pdf2zh/config/translate_engine_model.py.
  2. Adicione uma instância da nova classe de configuração do tradutor ao alias de tipo TRANSLATION_ENGINE_SETTING_TYPE no mesmo arquivo.
  3. 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 esses mecanismos.

Estrutura do Projeto

  • pasta config: Sistema de configuração.
  • pasta translator: Implementações relacionadas ao tradutor.
  • gui.py: Fornece a interface gráfica.
  • 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).

Contate-nos

Se você tiver alguma dúvida, envie um feedback via Issue ou entre no nosso Grupo do Telegram. Obrigado pela sua contribuição!

Tip

Immersive Translate patrocina mensalmente códigos de assinatura Pro para contribuidores ativos deste projeto. Para detalhes, consulte: BabelDOC/PDFMathTranslate Regras de Recompensa para Contribuidores

Parte do conteúdo desta página foi traduzida pelo GPT e pode conter erros.