VerisonApp beta release!

The guys from Pico and Sofa made a visual Subversion Client for Mac OS X (10.4.9 or higher).

“Whether you’re a designer, developer, editor or project manager, chances are you already have plenty on your mind. Versions saves you the hassle and makes working with Subversion easy for your entire team. Thanks to Versions’ clear-cut approach to Subversion, novices and power users alike will enjoy using it. And if you haven’t moved to Subversion yet, now is the time.”

www.versionapp.com

Did you like this? Share it:

CodeIgniter: Templates e Internacionalização

Encontrei uma maneira rápida e fácil de usar várias línguas com templates. Acho que não é um sistema de templates de verdade, mas por enquanto, está dando conta do recado. Depois da configuração inicial do meu CodeIgniter, decidi implementar um sistema de várias linguas. Seguindo esse tutorial, notei que cada página (view) traduzida é na verdade um arquivo independente, Não achei isso legal, pois se meu designer precisa mudar uma tag ou uma propriedade, ele teria que mudar em todas as views.

O truque é simples, e certamente deve haver outra forma mais elegante de fazer isso. O artigo acima diz que se eu tenho uma visão “myview”, eu não preciso adicionar um sufixo caso eu esteja na minha língua padrão, mas em outras línguas, eu preciso do sufixo do código da língua, por exemplo _pt, _en, etc. Mas no meu caso, todas as línguas deverão ter seu próprio sufixo, até mesmo a língua padrão, e a minha view sem sufixo é na verdade o template da página.

O código abaixo mostra o meu controlador chamando meu template:

[cc lang=”php”]
load_view(‘myview’); // Aqui eu carrego o meu template que será interceptado
}
}

/* End of file welcome.php */
/* Location: ./system/application/controllers/welcome.php */
[/cc]

Minha pequena modificação começa aqui. Eu não preciso chamar myview_pt pelo controlador (nesse caso eu teria que fazer uma checagem de qual lingua o usuario selecionou), porque o controlador modificado do artigo citado faz isso automaticamente. Então eu apenas crio myview_en.php e myview_pt.php (assumingo que tenho apenas essas duas línguas), e o conteudo desses arquivos seria algo mais ou menos assim:

[cc lang=”php”]
lang->load(‘myview’, ‘english’); ?>

[/cc]

Na primeira linha, “myview” é um arquivo localizado em system/language/english/myview_lang.php

Dessa forma eu coloco todo o meu html e css no myview.php e trabalho simulando um template. Espero que alguem venha comentar esse post dizendo “Olha, é assim que se faz corretamente”, mas até lá eu vou trabalando dessa forma pois assim pelo menos está resolvendo meu problema.

Até a próxima!

Did you like this? Share it:

CodeIgniter Internationalization with Templates

I found an easy way to use i18n with Templates. I think it’ not a REAL template system, but I got the job done. After the first config of my CodeIgniter setup I decided to implement a multilingual system. Following these steps I noticed that every translated page has it’s own view. This is not good, if my designer change one tag, one line, he would have to change every translated view.

The trick is simple, and I guess there is another elegant way to do this. The article I read said if I have a custom view called “myview”, I don’t need to rename this file to work with my default language, but my translated view must have a suffix, myview_pt.php for example. But in my case, even the default language must have the suffix, and the view without the suffix is my template.

The code bellow shows my custom controller, loading my view

[cc lang=”php”]
load_view(‘myview’); // Here I load my template that will be intercepted
}
}

/* End of file welcome.php */
/* Location: ./system/application/controllers/welcome.php */
[/cc]

My little modification begins here. I don’t need to call myview_pt from controller (checking what language first), because the modified controller from de article automaticaly does that. So, I simply create myview_en.php and myview_pt.php (assuming there is only those two languages), and the content of these files would be something like that:

[cc lang=”php”]
lang->load(‘myview’, ‘english’); ?>

[/cc]

On the first line, “myview” is a language file located on system/language/english/myview_lang.php.

This way I can put my whole html/css stuff on myview.php and work simulating a template. I hope someone could say in the comments “here’s the better way to do this” but until there I’ll use this tricky code to get things working.

That’s all!

Did you like this? Share it: