Skip to content

Adicionar tags de tradução em templates do journalpage#1332

Merged
robertatakenaka merged 5 commits intomainfrom
copilot/identify-texts-for-translation
Mar 9, 2026
Merged

Adicionar tags de tradução em templates do journalpage#1332
robertatakenaka merged 5 commits intomainfrom
copilot/identify-texts-for-translation

Conversation

Copy link
Contributor

Copilot AI commented Feb 16, 2026

O que esse PR faz?

Marca todos os textos visíveis ao usuário nos templates do journalpage com tags de tradução Django ({% trans %} e {% blocktrans %}), habilitando suporte multilíngue para a interface.

Escopo:

  • 234 instâncias de tradução adicionadas em 9 arquivos
  • Cabeçalhos de seção (Sobre o periódico, Política editorial, Corpo Editorial, etc.)
  • Labels de formulário (Título, Publicação, Periodicidade, ISSN, etc.)
  • Elementos de navegação (Home, Buscar, Métricas, etc.)
  • UI (Imprimir, Compartilhar, Contato, Mensagem, etc.)

Padrão usado:

{% load i18n %}
...
{% trans 'Texto simples' %}
{% blocktrans %}<a href="#">Texto</a> com HTML{% endblocktrans %}

Onde a revisão poderia começar?

  1. journalpage/templates/journalpage/journal_page.html - maior volume de mudanças (90+ tags)
  2. journalpage/templates/journalpage/includes/*.html - templates parciais
  3. Verificar uso correto de blocktrans vs trans em includes/footer.html

Como este poderia ser testado manualmente?

Pré-requisitos: Docker ambiente configurado

# Extrair strings de tradução
make django_makemessages

# Compilar arquivos .po → .mo
docker-compose -f local.yml run --rm django python manage.py compilemessages

# Verificar interface com idioma alternativo
# Mudar LANGUAGE_CODE no settings ou via seletor de idioma

Validar que todos os textos estáticos aparecem nos arquivos locale/*/LC_MESSAGES/django.po.

Algum cenário de contexto que queira dar?

Antes: Textos hardcoded em português nos templates
Depois: Textos envolvidos em tags Django i18n, prontos para tradução

Todos os includes que usam {% trans %} têm {% load i18n %} no topo - padrão correto para templates parciais reutilizáveis.

Strings com HTML interno usam {% blocktrans %} para preservar contexto de tradução (ex: "Leia a Declaração de Acesso Aberto" com link interno).

Screenshots

N/A - mudanças não afetam renderização visual atual

Quais são tickets relevantes?

Relacionado à issue de internacionalização do journalpage

Referências

Original prompt

This section details on the original issue you should resolve

<issue_title>Identifique os textos a serem traduzidos nos templates de journalpage</issue_title>
<issue_description>### Descrição da tarefa
Identifique os textos a serem traduzidos nos templates de journalpage, ou seja, envolva-os em {%trans %}. Os templates estão localizados nas subpastas: journalpage/templates/journalpage.

Subtarefas

  • Consulte as subpastas core/journalpage/templates/journalpage
  • Observe que alguns dos arquivos possuem as marcas {%trans %}, mas nem todos os textos estão marcados.
  • Identifique os textos que não tem as marcas {%trans %} e adicione
  • Crie as entradas nos respectivos arquivos nas subpastas de locale

Considerações e notas

Faça commits para cada pequena mudança</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 4 commits February 16, 2026 23:19
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Copilot AI changed the title [WIP] Identify texts for translation in journalpage templates Adicionar tags de tradução em templates do journalpage Feb 16, 2026
{% if journal.journal_email.all %}
{% for email in journal.journal_email.all %}
<strong>E-mail:</strong> {{ email.email }}
<strong>{% trans 'E-mail' %}:</strong> {{ email.email }}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Não precisa de tag trans para E-mail

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@samuelveigarangel precisamos estar preparados para outros idiomas que não en, es, pt.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

E-mail não é universal ?

@robertatakenaka robertatakenaka marked this pull request as ready for review March 6, 2026 14:55
Copilot AI review requested due to automatic review settings March 6, 2026 14:55
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Este PR adiciona marcações de internacionalização (Django i18n) nos templates do journalpage para que textos estáticos da interface possam ser extraídos via makemessages e traduzidos.

Changes:

  • Inclusão de {% load i18n %} e marcação de strings com {% trans %} em templates principais e parciais.
  • Uso pontual de {% blocktrans %} para texto com HTML embutido (ex.: link no rodapé).
  • Ajustes de rótulos de navegação/UI (ex.: “Atualizado”, itens de menu, “Reportar erro”, etc.).

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
journalpage/templates/journalpage/journal_page.html Adiciona {% load i18n %} e marcações {% trans %} em cabeçalhos/labels e itens do menu lateral.
journalpage/templates/journalpage/includes/share.html Marca “Imprimir” com {% trans %} no dropdown de compartilhamento.
journalpage/templates/journalpage/includes/levelMenu.html Marca itens do menu de navegação/ações (“Home do periódico”, “Buscar”, “Métricas”, etc.).
journalpage/templates/journalpage/includes/journal_info.html Marca labels como “Novo título”, “Título anterior”, “Submissão de manuscritos”, “Contato”, “Siga-nos”.
journalpage/templates/journalpage/includes/header.html Marca itens do menu/dropdown do cabeçalho com {% trans %}.
journalpage/templates/journalpage/includes/footer.html Adiciona {% load i18n %} e usa {% blocktrans %} para frase com link no rodapé.
journalpage/templates/journalpage/includes/contact_footer.html Adiciona {% load i18n %} e marca textos do bloco de contatos/redes sociais.
journalpage/templates/journalpage/base.html Marca strings de UI em modais/botões (“Close”, “Mensagem”, “Reportar erro”).
journalpage/templates/journalpage/about.html Marca “Atualizado” no rodapé do conteúdo.
Comments suppressed due to low confidence (1)

journalpage/templates/journalpage/includes/journal_info.html:105

  • Há um fechamento </ul> sem abertura correspondente (o container foi iniciado com <div class="list-group">). Isso gera HTML inválido e pode quebrar a renderização/estilos. Troque pelo fechamento correto do container (ou abra a lista se a intenção era usar <ul>).
            {% endif %}
          </ul>
        </div>

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +7 to 9
<li><a href="javascript:window.print();" class="dropdown-item">{% trans 'Imprimir' %}</a></li>
<li><a href="#" type="button" class="dropdown-item" target="_blank">RSS</a></li>
<li><a href="javascript:;" class="dropdown-item share_modal_id">E-mail</a></li>
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O item do menu ainda contém textos visíveis ao usuário sem tradução (por exemplo, "RSS" e "E-mail"). Para manter o objetivo do PR (i18n completo), envolva esses rótulos com {% trans %} (ou deixe explícito no PR por que devem permanecer hardcoded).

Copilot uses AI. Check for mistakes.
@@ -42,7 +43,7 @@
>
</span>
{% if loop.last %}
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Em templates Django, a flag de último item do loop é forloop.last, não loop.last. Do jeito atual a condição nunca é verdadeira e o texto final não é renderizado. Substitua por forloop.last.

Suggested change
{% if loop.last %}
{% if forloop.last %}

Copilot uses AI. Check for mistakes.
Comment on lines 68 to 70
<p>This is some placeholder content for the scrollspy page. Note that as you scroll down the page, the appropriate navigation link is highlighted. It's repeated throughout the component example. We keep adding some more example copy here to emphasize the scrolling and highlighting.</p>
<p>This is some placeholder content for the scrollspy page. Note that as you scroll down the page, the appropriate navigation link is highlighted. It's repeated throughout the component example. We keep adding some more example copy here to emphasize the scrolling and highlighting.</p>
<p>This is some placeholder content for the scrollspy page. Note that as you scroll down the page, the appropriate navigation link is highlighted. It's repeated throughout the component example. We keep adding some more example copy here to emphasize the scrolling and highlighting.</p>
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ainda há texto visível ao usuário em inglês ("This is some placeholder content...") sem marcação i18n. Se esse conteúdo permanecer no template, envolva-o com {% trans %}/{% blocktrans %} ou substitua por conteúdo dinâmico real para evitar strings não traduzíveis na UI.

Copilot uses AI. Check for mistakes.
Comment on lines +249 to +252
<h4 id="item-3">{% trans 'CORPO EDITORIAL' %}</h4>
<!-- Usar: instituição (mais sigla se houver), cidade, estado e país, orcid, Lattes (opcional para estrangeiros) e e-mail (divulgação opcional).
Considerar os papéis descritos abaixo:-->
<h5 id="item-3-1">Editor-Chefe</h5>
<h5 id="item-3-1">{% trans 'Editor-Chefe' %}</h5>
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O mesmo rótulo aparece com variação apenas de caixa (ex.: "CORPO EDITORIAL" aqui vs "Corpo editorial" no menu). Isso cria msgids duplicados e aumenta o trabalho de tradução. Padronize o texto (ex.: uma única forma) e aplique uppercase via CSS/filtro quando necessário.

Copilot uses AI. Check for mistakes.
Comment on lines +58 to 59
{% blocktrans %}<a href="#">Leia</a> a Declaração de Acesso Aberto{% endblocktrans %}
</p>
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Usar <a ...> diretamente dentro de {% blocktrans %} faz o msgid conter HTML, o que é mais difícil/arriscado para tradutores e dificulta reordenação do texto em outros idiomas. Prefira blocktrans com placeholders (ex.: passando o link como variável ou usando marcadores para início/fim do link) para manter o HTML fora da string traduzível.

Copilot uses AI. Check for mistakes.
@@ -25,7 +26,7 @@
<div class="col-12 col-sm-4 text-center text-sm-start pt-4 pt-sm-0">
<a href="#" data-toggle="tooltip" title="RSS do número mais recente do periódico" target="_blank"><span class="material-icons-outlined">rss_feed</span></a>
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O atributo title do tooltip contém texto visível ao usuário não marcado para tradução ("RSS do número mais recente do periódico"). Envolva o valor do title com {% trans %} (ou use {% blocktrans %} se precisar interpolar variáveis) para garantir que seja extraído pelo makemessages.

Copilot uses AI. Check for mistakes.
Comment on lines 94 to 96
<a class="list-group-item" href="javascript:;" class="contact_modal_id" data-url="#">
<span class="glyphBtn contact"></span> Contato
<span class="glyphBtn contact"></span> {% trans 'Contato' %}
</a>
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O link possui dois atributos class (duplicado), o que torna o HTML inválido e pode sobrescrever a classe list-group-item no navegador. Una as classes em um único atributo class (ex.: class="list-group-item contact_modal_id").

Copilot uses AI. Check for mistakes.
Comment on lines 120 to 123
<h2>&nbsp;</h2>

<a target="_blank" href="http://analytics.scielo.org/?journal=0102-6720&amp;collection=scl" class="btn single"><span class="material-icons-outlined">show_chart</span> métricas</a>
<a target="_blank" href="http://analytics.scielo.org/?journal=0102-6720&amp;collection=scl" class="btn single"><span class="material-icons-outlined">show_chart</span> {% trans 'métricas' %}</a>

Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Neste arquivo há duas chaves de tradução para o mesmo rótulo por diferença de caixa ("Métricas" vs "métricas"). Isso duplica entradas no .po. Padronize para uma única string e ajuste a apresentação (CSS/filtro) caso precise de minúsculas.

Copilot uses AI. Check for mistakes.
@robertatakenaka robertatakenaka merged commit c8106da into main Mar 9, 2026
7 checks passed
robertatakenaka added a commit to robertatakenaka/core that referenced this pull request Mar 11, 2026
* Initial plan

* Add translation tags to base.html and include templates

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>

* Add translation tags to journal_page.html

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>

* Add missing translation tag to about.html

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>

* Fix footer translation to use blocktrans for better context

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Identifique os textos a serem traduzidos nos templates de journalpage

4 participants