Programa para processamento de legendas de anime e textos japonês, extraindo os vocabulários do texto com sua tradução.
[![Build Status][travis-image]][travis-url]
Programa para processamento de frases em japonês ou de legendas de anime previamente inserida no banco de dados, utiliza-se a api Sudachi para a extração do vocabulário e consulta no banco de dados para obtenção das traduções das palavras encontrada.
Sobre • Instruções de uso • Ambiente de Desenvolvimento • Histórico de Release • Features • Meta • Contribuindo • Licença
Projetado para trabalhar gerando o vocabulário de palavras em japonês e a consulta em um dicionário próprio do significado no banco de dados, também irá gerar novos registro no dicionário quando não encontrado, utiliza método de exclusão para palavras já conhecida e familiar do usuário, podendo ser adicionado a qualquer momento.
Posteriormente foi adaptado para estar trabalhando com SELECT em alguma tabela ou base no banco de dados para que gere o vocabulário de várias frases, base esta que foi projetado para ser gerado através de legendas extraida com o programa subs2srs que gera deck para o anki.
Tela Vocabulário
A tela foi criada para auxliar na criação de cartões para o anki, onde extrai dos textos informados o vocabulário e então realiza uma consulta tanto no dicionário interno do programa, como também de 3 principais sites de dicionário Japonês. Sendo os sites o Jisho, Tanoshii japonese e Japan dict. Também utiliza o Google Translate para a tradução dos significados do inglês para o português.
- Texto
O formato foi implementado para auxiliar na criação de cartões de vocabulário no anki como pode ser observado na imagem acima. A primeira linha irá ser considerado a palavra do vocabulário e ela será excluida da analise das linhas subsequente. No exemplo acima existe 3 frases que irão ser processada, no qual gerou o vocabulário de duas delas. Na primeira frase não foi identificada vocabulário, pois o kanji 上 está incluso como exclusão por ser de fácil memorização. A maior parte do vocabulário encontra já existia no dicionário interno, então apenas adicionaram ela a lista e seu significado. Um dos vocabulário não foi encontrado e então foi adicionado na grid para revisão, com seu significado obtido dos sites de dicionário e traduzido do inglês para o português pelo google tradutor. A palavra nova ficou marcado no texto de destido, assim que realizar a correção e salvar no dicionário interno será então substituida pelo significado corrigido.
- Música
Para o formato de música, o programa analisa linha a linha gerando o vocabulário, ele leva em consideração que cada linha é uma frase diferente, onde no campo de destino irá ter a linha correspondente com seu vocabulário logo abaixo. Para palavras novas ocorre o mesmo processo anterior, sendo adicionado na grid para revisão. O campo exclusão apresenta abaixo uma breve lista do vocabulário que deve ser ignorado ao analisar as sentenças.
Tela Legenda
A tela possui várias abas para o processamento das legendas que estejam em alguma tabela ou base do banco de dados MySQL, ela foi projetada para funcionar informando os comandos do banco de dados para facilitar o processamento de diversos registros de uma vez, tendo em vista que o banco de dados é semelhante a um excel e seus comandos facilitam a utilização.
- Importar legenda
A aba foi criada com a finalidade de importar novos vocabulário de um SELECT, sendo substituida posteriormente por todo o processo da aba Gerar vocabulário. Ela apenas realizava a importação para a tabela temporária os vocabulário que não existiam internamente no dicionário, para que pudesse ser revisada na aba Traduzir vocabulário.
- Traduzir vocabulário
A aba possui a finalidade de procurar um significado para os novos vocabulários nos sites de dicionário e realizar a tradução do seu significado com o recurso de tradução automática utilizando o Google Translate. Nela também é possível fazer a revisão dos registros, antes de ser inserido no dicionário interno.
- Gerar vocabulário
A aba possui a finalidade de realizar o processamento das legendas que estejam no banco de dados, utiliza-se de comandos do MySQL para encontrar os registros a ser processado. Logo abaixo possui uma grid para a prévia de todos os registros que estão sendo processado.
É necessário informar um SELECT, um UPDATE e um DELETE para realizar o processamento. O SELECT deve possuir dois campos, sendo um o primeiro o id do campo no banco de dados e o segundo o texto a ser processado. O UPDATE deve informar para qual campo no banco o vocabulário extraido vai e em seu WHERE deve se encontrar o campo id da tabela. O DELETE é utilizado para realizar uma limpeza na coluna de vocabulario, onde em uma nova execução pode ser necessário limpar os vocabulários antigos para que os registos que não possuem mais vocabulário devido a novas inserções de exclusões do vocabulário, possam ser limpas.
Após processado os registros, pode ser feito uma conferência antes de realizar o UPDATE no banco, sendo exibido o vocabulário gerado ao lado de cada frase.
Como os comandos são executados indvidualmente, também foi implementado dois novos botões "Salvar fila" e "Executar fila", onde o processo executado acima pode ser salva no banco para posteriormente ser executado. Porém diferente da execução manual, a fila executa todos os 3 comandos em ordem para cada registro na fila.
A execução ocorre na seguinte sequência:
- Realiza o SELECT.
- Faz o processamento dos registros.
- Faz a limpeza da base com o DELETE.
- Realiza o UPDATE.
- Segue para o próximo item da fila.
- Revisar vocabulário
Esta aba realiza a correção do vocabulário obtido dos sites de dicionário e que foram traduzido automáticamente na aba de tradução. A ordenação dos registros será dos de maior para o menor na frequência de aparecimento nas extrações de vocabulário. Ela irá mostrar o significado do vocabulário encontrada no idioma inglês e a tradução realizada pelo google tradutor. Também servirá para correções de revisões realizadas anteriormente.
Necessário realizar préviamente a instalação do java na versão 15. Necessário a utilização do banco de dados MySQL. Pode-se utilizar qualquer IDE de desenvolvimento de sua escolha, recomenda-se a versão 2020-12 do eclipse. Utilizado no projeto o mavem para controle e gerenciamento das dependências. O projeto utiliza da api de inteligência artificial Sudachi para o reconhecimento e a extração do vocabulário em Japonês. Também está preparado para funcionar nos 3 modos disponíveis. Incluso o recurso de visualização do progresso no ícone da bandeja do sistema, graças ao componente FXTaskbarProgressBar, que realiza a conexão com o windows para visualização do progresso em segundo plano.
- 0.0.1
- Implementado a comunicação com o banco de dados MySQL.
- Adicionado o Sudachi ao projeto para extração do vocabulário.
- Extração de vocabulário de frases.
- Exclusão de palavras conhecidas.
- Geração e restauração de backup da base.
- Correção do vocabulário salvo.
- Criado nova função para extração de vocabulario de música e textos longos.
- 0.0.2
- Nova tela para extração de vocabulário atraves de SELECT.
- Atualização para o java 14.
- Criado tela para gerar estatísticas de leitura do Kanji.
- Adicionado consulta ao site Jisho e JapanDict para vocabulário novo.
- Adicionado tradução do significado do vocabulário novo para o português com o Google Translate.
- Criado tela para processamento de legendas de anime em um banco de dados extraido com o programa subs2srs.
- Processamento de SELECT em lote, onde utiliza uma fila no banco de dados para os processamentos.
- 0.0.3
- Correções de erros no projeto.
- Implementado a consulta do vocabulário ao site Tanoshii.
- Nova funcionalidade para salvar vocabulário não corrigido extraido dos site de consulta em uma tabela temporária.
- 0.0.4
- Correção de erros no projeto.
- Atualização do banco de dados.
- 0.0.5
- Criação de tela para correção do vocabulário temporário.
- Ajuste para melhor funcionalidade das telas.
- 0.0.6
- Criado nova tela para realizar o processamento de vocabulário de texto extraido de imagens do projeto MangaExtractor.
- Implementado o processamento onde irá percorrer as tabelas criadas na extração e gerar os vocabulários, também estará gerando as frases de revisão e a tradução automática.
- Ajuste de erros no projeto.
- 0.0.7
- Modificação na estrutura do vocabulário, onde irá criar uma nova tabela que terá campo de vinculo com as páginas, capítulos e volume.
- Criado a exportação de Json de legendas com a estrutura das classes correspondentes ao projeto MangaExtractor.
- Extração de vocabulários de frases em japonês
- Extração de vocabulários de textos em japonês
- Exclusões de palavras conhecida ou familiares
- Salvar novos vocabulários
- Correções de vocabulário
- Criação de tabela de estatísticas de kanji para o anki
- Gerar e restaurar backup do banco de dados
- Processamento de registros no banco de dados
- Processamento de registros no banco de dados em lote
- Processamento de textos extraidos das imagens com o projeto MangaExtractor.
- Exportação do Json de legendas processadas.
- [] Refatorar as classes para melhor organização do projeto.
Distribuido sobre a licença GPL. Veja o arquivo COPYING
para maiores informações.
https://github.com/JhonnySalles/github-link
- Fork (https://github.com/JhonnySalles/ProcessaTextoJapones/fork)
- Crie sua branch de recurso (
git checkout -b feature/fooBar
) - Faça o commit com suas alterações (
git commit -am 'Add some fooBar'
) - Realize o push de sua branch (
git push origin feature/fooBar
) - Crie um novo Pull Request