2012-07-05, 00:57:30
yojoe Wrote:Mvlcek: do you have an idea how could I prepare a translation file/files and use them in templates to label frontend items ? Because using conditionals likein N languages for static links/images/etc. becomes difficult in long term.Code:<?php if ($language == 'en') { ?>English text<?php } ?>
I remember that somebody asked for such thing on forums, but I can't find this post.
If you have only a few places in the template, like header/title, sidebar, footer, you can use components (with language suffix _xx for non-default languages) and get_i18n_component for the language specific parts.
If you need it for special pages (i.e. I18N Special Pages plugin), the plugin allows you to use different content/searchresult templates for each language.
Another simple solution would be to set a map with all strings in the top of your template and then access the map for the strings, e.g.
Code:
<?php if ($language == 'en') {
$text = array('title' => 'My title', 'size' => 'Size');
} else if ($language == 'de') {
$text = array('title' => 'Mein Titel', 'size' => 'Größe');
} else {
# default language polish...
} ?>
...
<?php echo $text['title']; ?>
Another way would be to create a dummy plugin which uses the GS API for internationalization and just sets the language on a hook. You would use
Code:
<?php i18n('mytextplugin/title'); ?>