Faz uma porção de tempo que eu venho considerando a possibilidade de postar algumas coisas em inglês por aqui. Isso é uma coisa que ainda me deixa meio receoso, mas tem algumas situações em que eu acho que postar em inglês seria mais útil, seja para o mundo (e.g., posts sobre o Chicken, em que a comunidade de usuários é pequena (acho) e limitar a audiência a falantes de português seria muito... limitante), seja para mim (e.g., posts sobre design de linguagens de programação, em que eu hipoteticamente poderia ter feedback de mais gente se eu escrevesse em inglês), seja para ambos (e.g., posts sobre o lash, ou conlanging).
Pronto, falei.
Eu pensei em criar um blog separado para postar em inglês, mas aí pensei que isso seria inconveniente para os leitores usuais (todos os quais falam inglês anyway, dos que eu conheço), que teriam que olhar em dois lugares diferentes para ver se há posts novos. Por ora, o que eu provavelmente vou acabar fazendo é postar tudo aqui e usar uma tag english nos posts em inglês, até eu arranjar uma solução melhor.
Na verdade, desde antes dos primórdios deste blog, uma das motivações originais para eu escrever meu próprio blog system ao invés de usar um pronto era implementar suporte a multilingualismo "the right way". Eu estive pensando sobre isso e me dei conta de que é mais complicado do que parece. Por exemplo:
- Por padrão o blog mostra os posts em ambas as línguas, ou só na língua "atual"? O que eu provavelmente vou fazer é mostrar os posts que existem em ambas as línguas na língua atual, e os que só existem em uma língua na língua disponível. Porém, como imagino que possíveis leitores falantes de inglês não vão querer ver os posts em português, provavelmente vou inventar uma opção para mostrar os posts apenas na língua atual.
- Quando um post existe em múltiplas línguas, os comentários ficam associados à versão em que o comentário foi postado, ou o blog junta os comentários de todas as versões? Por conveninência dos leitores usuais, acho que o certo é juntar tudo.
- Um problema que eu não vou ter aqui, mas se um post está disponível em múltiplas línguas e a língua atual não é nenhuma delas (e.g., um post está disponível em português e esperanto, mas a língua atual é inglês), em que língua o post é apresentado? (O que eu provavelmente vou fazer é ignorar o problema e escolher qualquer uma das duas, já que a princípio isso não vai me afetar anyway. Se um dia o Blognir tiver algum usuário além de mim mesmo ele me diz o que ele acha.)
- Como o blog lembra a língua atual selecionada?
- Uma solução é adicionar um &lang=en da vida a todas as URLs, o que envolve alterar todas as partes do blog que emitem URLs. Além disso, isso gera o problema de que há múltiplas URLs para um mesmo post (e.g., se um post só está disponível em uma língua, ?entry=foo&lang=pt e ?entry=foo&lang=en se referem ao mesmo post), o que não é um problemão, mas seria mais bonito pelo menos adicionar um <meta name="robots" content="noindex"> nas páginas em que a língua do post e a língua da URL diferem, for great seach-engine friendliness. [Update: Outra situação em que a multiplicidade de links se manifesta é na coloração de links visitados pelo browser.]
- Outra solução é usar um cookie. O problema aí é o oposto: não há uma URL única para cada versão de um post, o que significa que você não tem como linkar o post em uma língua específica.
- By the way, a língua da interface e a língua do conteúdo são a mesma? Se a minha língua atual é português e eu abro um post em inglês para comentar, a língua da interface muda ou permanece em português? Se muda, quando eu volto para a página inicial o blog deveria voltar a ficar em português e preferir os posts em português sempre que disponíveis, não? Então a língua do conteúdo e a língua "atual" devem ser lembradas separadamente.
Uma solução mista é usar um cookie para guardar a língua "preferencial", e o &lang=en na URL para especificar a língua do conteúdo. O que acontece daí é que se a língua atual é inglês e um post está disponível em múltiplas línguas, o blog appenda &lang=en nos links para esse post. Assim é possível linkar o post em uma língua específica, sem gerar múltiplas URLs para a mesma versão do conteúdo. Todos comemora (exceto pelo fato de eu adicionar um cookie ao blog).
- Also, acho que mesmo que um post só esteja disponível em inglês, o blog tem que adicionar o &lang=en à URL, porque senão, se um dia eu resolver disponibilizar uma versão em português do mesmo conteúdo, os links originais para a versão em inglês vão começar a apontar para a versão errada. Isso assumindo que posts em português não incluem &lang=pt na URL, por ser a língua default do blog, e por compatibilidade com os links existentes. Soluções alternativas são sempre incluir a língua na URL, ou definir que uma dada versão do post é a versão "original", e na ausência de &lang=… na URL, a versão considerada original é usada. Essa última solução tem a propriedade de me parecer ótima e péssima ao mesmo tempo. (Ela também serve para resolver o problema de qual post mostrar caso haja múltiplas versões e nenhuma é na língua atual: mostra a versão original.)
- Eu tenho que repensar o formato do índice do blog (que atualmente é um txt com campos fixos separados por tabs), para conter o título (e a data) de cada versão de um post de maneira que seja fácil escolher a versão correta de posts disponíveis em múltiplas línguas. Possíveis soluções incluem criar um índice separado para cada escolha de língua, mudar o formato para alguma coisa que permita estrutura mais complexa do que uma tupla de campos fixos, ou agrupar os registros das diferentes versões de maneira que seja fácil pular as que não interessam (o que pode ser um problema porque o arquivo deveria ser ordenado por data e as versões podem ter datas diferentes; na verdade só ter um campo indicando que línguas estão disponíveis para um dado registro é informação suficiente para saber se um registro deve ou não ser pulado). Outra possibilidade é começar a usar um banco de dados de verdade. Naah.
- Tem ainda a questão de como oferecer na interface do blog a opção de língua. O plano a princípio é simplesmente adicionar uma seção "Língua/Language" acima do "Main menu" na barra lateral, mas não sei se isso é visível o suficiente. Por um instante me passou na cabeça a idéia de usar ícones de bandeirinha, mas that's a terrible idea. Além disso seriam as únicas imagens em toda a interface do blog. Uma questão relacionada é como indicar que um post está disponível em outras línguas. Uma solução simples é adicionar os links para as outras versões logo ao lado da lista de tags do post.
Enfim, nada muito difícil de implementar, na verdade, mas é um bocado de coisas que eu não tinha parado para pensar antes.
#UsuárioDeInstagram #UsuárioDeTwitter, 2015-05-31 04:58:42 -0300 #
#hashashtag #Falei #yey! #feliz #tudojunto #FuckTheSystem