Escolher um LMS que funcione mesmo em árabe
Uma tradução para árabe e um produto construído para a direita para a esquerda são coisas diferentes. O que se parte quando a direção vem em último, e o teste de uma hora que o revela.
Um LMS com uma tradução para árabe e um LMS construído para a direita para a esquerda são produtos diferentes, e uma demonstração dada em inglês não lhe dirá qual deles está a comprar. A tradução é um ficheiro de cadeias de texto. A direção é uma propriedade da disposição, dos ícones, do formato das datas, da ordenação, das pegas de arrastamento e do gerador de PDF — e o ficheiro de traduções não toca em nenhuma delas. Peça a todos os fornecedores credenciais para a versão árabe, em árabe, e insista nas partes que ninguém demonstra.
As escolas e academias do Golfo e do Norte de África compram hoje bilingue por defeito: árabe para os alunos e os encarregados de educação, inglês ou francês para a equipa de sistemas, uma só plataforma a suportar os dois sem que nenhuma das metades pareça uma adaptação. O modo de falha raramente é uma funcionalidade em falta. É uma pauta de período que imprime o nome de um aluno ao contrário, e um diretor de escola que, em silêncio, deixa de confiar no sistema.
A tradução é um ficheiro. A direção é a disposição.
Um tradutor consegue terminar um ficheiro de cadeias de texto em duas semanas, e revê-lo é uma passagem por capturas de ecrã. Esse trabalho é real, e é a metade fácil.
A direção toca em todas as regras que dizem esquerda ou direita, em todos os ícones que apontam para algum lado e em todas as medidas tiradas a partir do bordo esquerdo de um contentor. Onde foi uma variável desde o início, o elemento raiz leva `dir="rtl"` e a folha de estilos usa propriedades lógicas — `margin-inline-start` em vez de `margin-left` —, pelo que a interface se espelha a si própria e continua espelhada à medida que se acrescentam ecrãs. Onde a esquerda e a direita estão escritas em mil regras, o árabe é uma refactorização de todos os ecrãs, e é por isso que fica agendado e reagendado.
A direção como variável: todos os ecrãs dispostos com início e fim lógicos, para que o árabe seja uma definição e a próxima funcionalidade saia espelhada no dia em que sai.
Um ficheiro de traduções para árabe despejado numa disposição medida a partir do bordo esquerdo, remendada depois ecrã a ecrã à medida que chegam as queixas.
Suporte de direita para a esquerda (RTL)
Não é uma tradução. É a interface refletida no eixo vertical — navegação, tabelas, etiquetas de formulário, barras de progresso, painéis laterais, ordem de foco —, mais frases que misturam árabe com palavras e algarismos latinos sem se partirem, algarismos e calendários que correspondem ao país, ordenação e pesquisa sensíveis ao árabe, e documentos que representam o árabe como escrita ligada. Um produto tem isto quando a direção foi uma variável desde o início; não tem quando o árabe foi acrescentado ao ficheiro de traduções.
Um LMS suporta árabe se tiver uma tradução para árabe?
Não por si só. Uma tradução dá-lhe palavras árabes numa disposição da esquerda para a direita, o que é cerca de metade do trabalho. A outra metade é a direção: a interface espelhada, os ícones a apontar no sentido certo, a pontuação a cair no extremo correto de uma frase que contém uma palavra latina ou um número, algarismos e calendários que correspondem ao país e não à língua, nomes que se ordenam e pesquisam como se ordenam os nomes árabes, e PDF que representam o árabe como escrita ligada. Pergunte quais destes pontos estão feitos hoje, ecrã a ecrã.
O que se parte quando a direita para a esquerda chega tarde
Nada disto é exótico. São classes de erros vulgares, e aparecem mais ou menos por esta ordem em todos os produtos que acrescentaram o árabe depois.
A disposição que só se inverte a meio
O corpo da página espelha-se e a moldura não. A barra lateral fica à esquerda, o painel desliza a partir do bordo errado, uma barra de progresso enche-se a partir da esquerda e um aluno com três quartos do percurso feito parece mal ter começado. A linha de cabeçalho de uma tabela espelha-se e as células não, o que põe todos os valores debaixo do título errado — o pior caso de todos, porque parece um problema de dados e não de disposição. Depois vêm os pequenos: reticências no extremo errado de um texto truncado, dicas de ajuda do lado errado, uma ordem de tabulação que já não acompanha o olhar.
Ícones que apontam ao contrário
Alguns ícones têm de ser espelhados e outros não, e a regra é de significado. Espelhe o que indica deslocação pelo conteúdo: setas de recuar e avançar, setas de seguinte e anterior, responder, indentar, o sinal que abre uma árvore. Não espelhe o que representa um objeto ou uma convenção: um relógio continua a andar no sentido dos ponteiros, um visto continua a ser um visto, e o botão de reproduzir não aponta para a esquerda em árabe. Fazê-lo a meio é pior do que não começar — uma seta de recuar a apontar para a direita ao lado de uma seta de avançar a apontar para a direita não se lê como um par.
Frases que correm em duas direções
Quase nenhuma frase árabe real num LMS é puramente árabe. Leva um código de curso, um número de versão, um nome de ficheiro, uma classificação ou o nome inglês de um produto. O algoritmo bidirecional do Unicode decide onde fica cada segmento; sai-se bem com texto devidamente marcado e mal com cadeias de texto que um programador colou umas às outras. Os sintomas são reconhecíveis: um ponto final na ponta esquerda, parênteses trocados de modo que o de fecho abre a expressão, um número de versão reordenado.
A correção é estrutural e não engenhosa — uma só cadeia de texto traduzida com um marcador de posição, e o valor isolado para que o algoritmo o trate como uma unidade.
an Arabic sentence with one Latin value inside it
concatenated part1 + fileName + "."
→ value and full stop land on the wrong side,
and only for some values
interpolated t("upload.done", { file }) one string, one placeholder
isolated <bdi>{{file}}</bdi> or unicode-bidi: isolate
where to look learner names, file names, course codes, scores —
anything dropped into a translated sentenceAlgarismos, datas e a semana
O árabe não é uma única localização. O Egito e boa parte do Golfo escrevem os algarismos árabes orientais (٠١٢٣٤); Marrocos, a Argélia e a Tunísia escrevem os algarismos que esta frase usa, pelo que uma plataforma com uma única localização `ar` está errada nalgum sítio — e isso nota-se numa classificação que um pai lê em voz alta ao telefone. As instituições sauditas precisam muitas vezes de datas hégiras ao lado das gregorianas no mesmo relatório. A semana de trabalho é uma definição por país: os Emirados Árabes Unidos passaram o setor público para um fim de semana de sábado e domingo em 2022, ao passo que a Arábia Saudita e o Egito mantêm sexta-feira e sábado. O Ramadão é o teste mais exigente, porque o dia escolar encurta durante um mês e todos os lembretes agendados têm de acompanhar.
Ordenação e pesquisa
Uma lista de turma ordenada por ponto de código não está ordenada alfabeticamente. As variantes do alef (ا أ إ آ) ordenam-se em separado, pelo que أحمد e احمد caem em metades diferentes da mesma pauta. O taa marbuta (ة) e o haa (ه) no fim de um nome são escritos de forma indistinta, tal como o yaa (ي) e o alef maqsura (ى), consoante o teclado. A pesquisa precisa da mesma normalização, para que um funcionário dos serviços académicos que escreva احمد encontre أحمد — caso contrário, o pessoal conclui que a caixa de pesquisa está avariada e volta para a folha de cálculo. E muitos nomes árabes são uma cadeia de nome próprio, pai, avô e nome de família, que um formulário com dois campos trunca em silêncio.
Tudo o que se pode arrastar
Arrastar um módulo para o seu lugar num curso, ou um cartão num painel, é aritmética sobre coordenadas x. Da direita para a esquerda o sinal inverte-se, e uma biblioteca que deduz o índice de largada a partir da distância ao bordo esquerdo do contentor larga o item na ponta oposta. Historicamente, os navegadores divergiam quanto ao sinal de `scrollLeft` em contentores da direita para a esquerda, pelo que uma grelha horizontal pode deslocar-se para o sítio errado apenas num deles. E a tecla de seta para a esquerda deve agora fazer avançar um item. Saber se um fornecedor acertou nisto diz-lhe se alguma vez um falante de árabe construiu um curso no produto — e isso não se vê em capturas de ecrã.
PDF e certificados
Esta é a falha que aparece por último e mais publicamente, porque o documento sai do edifício. O árabe é cursivo: cada letra assume uma forma diferente consoante as vizinhas, e o lam seguido de alef torna-se uma única ligadura. Desenhá-lo exige uma fonte com glifos árabes, um motor de conformação que escolha a forma certa para cada posição, e reordenação bidirecional antes de qualquer coisa ser colocada. Uma cadeia de geração que desenha caracteres um a um pela ordem de armazenamento dá o resultado clássico — um nome em letras desligadas e ao contrário —, imediatamente reconhecível por qualquer leitor de árabe e por ninguém na comissão de compras. Os certificados acrescentam uma camada: um campo de nome dimensionado para um nome latino, e uma página de verificação que se apresenta da esquerda para a direita embora o certificado não.
Por que razão o texto árabe sai ao contrário ou desligado num PDF?
Porque o gerador está a desenhar caracteres em vez de conformar texto. As letras árabes mudam de forma consoante as vizinhas e alguns pares combinam-se numa única ligadura, pelo que uma saída correta precisa de três coisas: uma fonte com glifos árabes, um motor de conformação que selecione a forma contextual certa para cada letra, e reordenação bidirecional aplicada antes de os glifos serem colocados. As cadeias de geração que colocam caracteres um a um pela ordem de armazenamento saltam as duas últimas. É uma propriedade da cadeia de geração de documentos e não da interface, e é por isso que uma plataforma pode parecer correta em árabe no ecrã e ainda assim produzir um certificado inutilizável.
As palavras que uma escola usa não cabe ao fornecedor escolhê-las
Professor, encarregado de educação e turma parecem termos fixos. São vocabulário local, e variam por país, currículo e setor tanto quanto por língua.
- Encarregado de educação. Em boa parte do Golfo, o adulto responsável por um aluno é ولي الأمر, a formulação legal, e uma escola vai insistir nela. Uma escola de currículo britânico na mesma cidade diz «pai».
- Turma. Um ano de escolaridade num sistema, uma secção de horário (شعبة) noutro, uma «homeroom» numa escola de currículo americano, uma coorte numa entidade formadora.
- Professor. معلم, مدرس e أستاذ transportam registos e antiguidades diferentes. Uma entidade formadora diz formador e formando. Uma escola de sistema francês em Marrocos diz enseignant do lado francês e outra coisa do lado árabe, para a mesma pessoa.
Estes termos variam ao longo de dois eixos ao mesmo tempo — por língua e por organização — e um ficheiro de traduções só trata do primeiro: uma palavra árabe por chave, escolhida pelo tradutor do fornecedor, igual para toda a gente naquela versão. Por isso, quando uma escola pede «encarregado de educação» em vez de «pai», um produto assente em ficheiros de traduções tem três respostas, e todas são más: mudar para toda a gente, criar uma cópia do ficheiro de localização para um cliente, ou dizer que não.
Peça antes terminologia como configuração — uma etiqueta por organização para cada papel e para cada nome de agrupamento, definida de forma independente em cada língua, aplicada em todo o lado onde o termo aparece. A etiqueta do menu é a parte fácil. O sinal de uma versão superficial é um menu que diz «encarregado de educação» enquanto o email de notificação, o cabeçalho do relatório e o PDF exportado continuam a dizer «pai».
Um LMS pode usar palavras diferentes para professor e encarregado de educação em países diferentes?
Só se os termos forem configuração e não tradução. Um ficheiro de traduções guarda uma palavra árabe por chave para todos os clientes daquela versão, pelo que duas escolas na mesma plataforma não podem ter vocabulário diferente a partir dele. A terminologia local exige uma definição por organização para cada papel e para cada nome de agrupamento, guardada em separado por língua e aplicada à interface, às notificações, aos relatórios e aos documentos. Para o testar, mude um termo e vá procurar o antigo num email e num PDF.
Um teste que pode fazer numa hora
Não pergunte se a plataforma suporta árabe. Toda a gente diz que sim e cada um quer dizer uma coisa diferente. Peça credenciais para um inquilino em árabe com conteúdos reais e nomes reais lá dentro, e depois faça isto.
- Mude para árabe e recarregue. Espelha-se toda a moldura, ou apenas o meio da página?
- Abra um formulário. Verifique as etiquetas, o marcador de campo obrigatório, a mensagem de validação, e um texto longo de mais para a sua caixa.
- Encontre uma frase que contenha uma palavra latina ou um número. A pontuação está no extremo correto?
- Ordene uma lista de nomes árabes. Os nomes começados por أ e ا ficam juntos? Agora procure um deles escrito sem a hamza.
- Inscreva um aluno cujo nome legal tenha quatro partes, e veja o que o formulário guarda.
- Arraste um módulo para uma nova posição num curso. Depois faça o mesmo com o teclado.
- Gere um certificado para um aluno com nome árabe, abra o PDF num telemóvel, e depois abra a respetiva página de verificação.
- Mude um termo — de «pai» para «encarregado de educação» — e depois descubra onde é que a palavra antiga sobrevive.
- Dê as credenciais a um colega falante de árabe que não esteve na reunião, e observe-o a trabalhar durante vinte minutos sem ajuda.
Um fornecedor pode acrescentar suporte de direita para a esquerda mais tarde?
Pode, e é um trabalho maior do que parece: rever as regras de disposição em todos os ecrãs, auditar todos os ícones direcionais, isolar todos os valores interpolados numa cadeia de texto traduzida, e alterar a cadeia de geração de documentos para que os PDF conformem o árabe corretamente. Há fornecedores que o concluem. O que importa é o calendário e a definição — pergunte que ecrãs estão espelhados hoje, se as funcionalidades novas saem espelhadas ou se são remendadas depois, e o que quer dizer «suportado» no caso dos PDF. Um compromisso sem uma versão datada é um compromisso de tentar.
Onde estamos
Nós construímos uma destas plataformas, por isso pese esta secção em conformidade. A Lurno está disponível em quatro línguas de produto — inglês, árabe, francês e italiano — com direita para a esquerda completa no árabe: a interface espelha-se, e não apenas as cadeias de texto. Isto é um facto e não um argumento. O argumento é que deve verificá-lo, tal como o de toda a gente, com a hora descrita acima e não com uma tabela de funcionalidades.
Os grupos bilingues chocam com dois problemas no mesmo dia: direção e identidade. Um grupo que gere uma escola em árabe e outra em inglês quer que cada uma pareça ela própria — o seu logótipo, as suas cores, a sua página de início de sessão e o seu domínio —, o que é marca branca e não uma definição de língua. A página de grupos de escolas explica como as duas coisas encaixam quando uma plataforma suporta várias escolas. Se saem certificados do seu edifício com os nomes dos alunos, pergunte pela cadeia de geração de documentos em árabe antes de assinar.
A razão para ser exigente não é estética. Uma plataforma que só funciona a meio em árabe empurra toda a gente de volta para a língua da equipa de sistemas, e os alunos e os encarregados de educação para quem foi comprada deixam de a abrir. Essa falha é silenciosa, demora um período a chegar a qualquer relatório, e nenhuma lista de funcionalidades a prevê.