Tradução 2.0: Difference between revisions

From MoodleDocs
Line 9: Line 9:
* Todos os plugins agora definem suas strings em Inglês no diretório do plugin, como os plugins contrib já faziam
* Todos os plugins agora definem suas strings em Inglês no diretório do plugin, como os plugins contrib já faziam
* Os códigos de idioma não tem mais o sufixo _utf8
* Os códigos de idioma não tem mais o sufixo _utf8
* Arquivos HTML de ajuda foram substituídos por [https://docs.moodle.org/en/Development:Help_strings strings com sufixo _help]
* Arquivos HTML de ajuda foram substituídos por [[:en:Development:Help_strings|strings com sufixo _help]] (em inglês)
* Variáveis agora devem estar entre chaves "{$a}"
* Variáveis agora devem estar entre chaves "{$a}"
* Aspas duplas não devem mais ser "escaped" nas strings
* Aspas duplas não devem mais ser "escaped" nas strings

Revision as of 23:01, 10 October 2010

Moodle 1.x

O texto abaixo descreve o processo de tradução do Moodle para versão 2.0 em diante. Para a versão 1.x, por favor veja Translation (em inglês).

Resumo das mudanças desde a versão 1.x

  • As traduções não são mais mantidas no CVS, mas em uma base de dados em http://lang.moodle.org/
  • Uma interface web é utilizada para fazer as traduções
  • Todos os plugins agora definem suas strings em Inglês no diretório do plugin, como os plugins contrib já faziam
  • Os códigos de idioma não tem mais o sufixo _utf8
  • Arquivos HTML de ajuda foram substituídos por strings com sufixo _help (em inglês)
  • Variáveis agora devem estar entre chaves "{$a}"
  • Aspas duplas não devem mais ser "escaped" nas strings

Estrutura de um pacote de idioma do Moodle 2.0

A distribuição padrão do Moodle vem apenas com o pacote do idioma Inglês. Todos os outros idiomas devem ser adicionados na sua instalação. As strings em inglês para o núcleo do Moodle (que é formado pelos principais subsistemas como administração, livro de notas, papéis etc) podem ser encontradas no diretório lang/en/ da sua instalação do Moodle. Por exemplo, strings relacionadas a notas são definidas em lang/en/grades.php. Todos os outros componentes do Moodle (como módulos de atividades, blocos, plugins de inscrições etc) definem suas próprias strings em um diretório lang/en/ dentro do diretório do plugin. Por exemplo, o módulo Workshop define suas strings em mod/workshop/lang/en/workshop.php.

Traduções estão localizadas no seu diretório moodledata, no diretório lang/xx/. Traduções de todos os componentes - tanto do núcleo quanto plugins - são guardadas lá. Por exemplo, a tradução em Tcheco para o módulo Workshop é guardada em moodledata/lang/cs/workshop.php e strings relacionadas a notas em moodledata/lang/cs/grades.php (perceba a diferença das strings em Inglês).

Todos os arquivos de idioma tem uma extensão .php (por exemplo, moodle.php ou workshop.php). Estes arquivos contém frases curtas, geralmente chamadas "strings". Strings podem conter um placeholder para substituição de variáveis. O placeholder é substituído com um certo valor quando a string é mostrada. Strings são guardadas em um array PHP chamado $string. A chave desde array é chamada identificador da string ou nome da string. Exemplos:

 $string['addnewcourse'] = 'Add a new course';
 $string['hidesection'] = 'Hide section {$a}';
 $string['uploadedfileto'] = 'Uploaded {$a->file} to {$a->directory}';

Estas definições de string podem ser utilizadas pela função get_string() (veja lib/moodlelib.php). Se uma string não existir em um idioma em particular, o Moodle tenta encontrá-la no chamado idioma pai. Se não existir nenhum idioma pai definido ou se ele não define a string requisitada então o equivalente em inglês será utilizado no seu lugar.

Pacotes de idioma de instalação podem ser encontrados no diretório install/lang. Estes pacotes de idioma contêm apenas algumas strings necessárias para o processo de instalação. Os arquivos serão gerados automaticamente e não devem ser alteradas manualmente. Para tradutores esta é uma experiência incomum, uma vez que as alterações que você adiciona às strings utilizadas nos scripts de instalação não serão visíveis até que nosso script seja executado e faça o commit delas nos fontes do Moodle.

Utilizando a ferramenta AMOS para tradução

Apenas algumas breves notas, a serem mais elaboradas - por favor, ajude a melhorar esta documentação.

Mantenedores de pacotes de idioma podem criar uma conta em http://lang.moodle.org/ em enviar um email para translation@moodle.org (Koen) para ter suas contas ativadas para trabalhar em seus pacotes.

O AMOS permite contribuições da comunidade nas traduções. Se você quer participar, crie uma conta em http://lang.moodle.org/ . Nesta caso não há necessidades de contactar o Koen mas você deve, definitivamente, contactar o mantenedor do seu idioma e coordenar seu trabalho.

Conceitos básicos

O AMOS consiste de várias ferramentas disponíveis no bloco de navegação principal - Translator, Stage, Stashes e Log.

  • Translator - é uma ferramenta que permite filtrar com quais strings você quer trabalhar e traduzí-las
  • Stage - é uma área temporária que guarda as strings que você traduziu na sessão atual
  • Stashes - são fotografias (snapshots) do stage. Pense neles como arquivos comuns no seu computador onde você pode salvar seu trabalho. Você pode compartilhar seu stash com o mantenedor do pacote de idioma através do chamado "pull request".
  • Repository - uma base de dados de todas as strings do Moodle e sua história, rodando no servidor do lang.moodle.org
  • Log - mostra o log de todas as modificações das strings do Moodle

Usando o Translator

Use o filtro do Translator para mostrar as strings nas quais você quer trabalhar. Você tem muitas opções de filtros. Você pode trabalhar em um único componente ou em todas as strings faltantes de uma vez só. Você pode buscar por strings que contém um dado texto (tanto em inglês como na string traduzida) etc. Você pode também verificar strings em versões antigas, porém estas serão apenas para leitura. Elas são inseridas no AMOS automaticamente do repositório CVS.

Para traduzir uma string, clique na sua versão traduzida (ou no espaço em branco reservado para ela) para torná-la um campo editável e faça a tradução lá. Clique fora do campo para colocar sua tradução no stage.

Usando o Stage

As strings traduzidas são colocadas em uma aárea temporária chamada stage imediatamente após o cursor deixar o campo do editor. O stage guarda seu trabalho antes de ele ser enviado para o repositório (se você for um mantenedor de pacote de idioma) ou ser salvo no stash e oferecido aos mantenedores para inclusão.

O stage é destruído quando você faz o logout. Você deve explicitamente fazer o commit ou stash do stage para que ele seja salvo permanentemente. Se você esquecer de fazer isso, ou tiver um problema de conectividade, seu navegador quebrar ou o que quer que aconteça, você pode encontrar o snapshot mais recente do seu stage no stash AUTOSAVE.

Se você for um mantenedor de pacote de idioma, você pode fazer o commit do stage no repositório de forma que seu trabalho fica registrado e as strings traduzidas tornam-se parte oficial do pacote de idioma. Pacotes de idioma no formato ZIP são gerador a cada hora (aos 45 minutos) e publicados em http://download.moodle.org/langpack/2.0/ . Ao mesmo tempo, eles ficam disponíveis para os sites do Moodle para atualização automática.

Usando Stashes

A qualquer momento você pode salvar um snapshot do stage atual. Nós chamamos tal snapshot de stash. As strings no stash são mantidas para sempre até que você as descarte manualmente (por favor, não abuse disto e mantenha seus stashes razoavelmente grandes). O stash pode ser aplicado de forma que as strings são copiadas de volta para o stage.

Seu stash pode também ser oferecido aos mantenedores oficiais do pacote de idioma para inclusão no repositório. Uma vez que você tem um lote de tradução terminado no seu stage, apenas coloque-o no stash e crie um pull request. Isto marcará o stash como disponível para os mantenedores e eles poderão aplicá-lo aos seus stages, revisar seu trabalho e eventualmente fazer o commit (enviá-lo para o repositório). Por favor, note que nenhuma notificação é enviada aos mantenedores sobre novos pull requests (isto é intencional para previnir spam). Use o subsistema de mensagens do Moodle, os fóruns da comunidade, ou envie um email diretamente para informar o mantenedor sobre novos pull requests. Nós acreditamos que todos os contribuidores devem estar em contato com os mantenedores oficiais de qualquer forma e o AMOS não deve tentar substituir esse tipo de comunicação.

Seu pull request fica disponível aos mantenedores de todos os idiomas que seu stash modifica. Uma vez que você recebeu a confirmação dos mantenedores que seu trabalho foi aceito, você deve descartar o stash que você ofereceu.

Existe um registro especial de stash para cada usuário chamado AUTOSAVE. Este stash mantém o estado mais atual do stage. Você vai achá-lo útil se perder o stage atual por qualquer razão - seu navegador quebrar, sua conexão de internet morrer ou você acidentalmente remover todas as strings do stage. Se isso acontecer, apenas aplique o stash AUTOSAVE para ter seu trabalho de volta. O stash AUTOSAVE é atualizado toda vez que você inclui uma string no stage. Então, se o seu stage está vazio e seu AUTOSAVE estiver chetio de strings e você for até o Translator sem antes aplicar o stash, o AUTOSAVE será substituído com a nova string traduzida. Nós recomendamos experimentar um pouco com esta funcionalidade antes.

Usando o Log

Esta ferramenta ainda não está totalmente implementada. Haverá um filtro que permitirá buscar por modificações em strings, de forma similar a que é feita no Translator.