Multilingual Single Pages?

Permalink Browser Info Environment
Hey there,

I just tried Magic Data with the Sorcerers Map add-on, and I really think a lot of stuff could be done with this...

Right now I am facing another problem which I believe could be solved with Magic Data, but before fiddling around, I would want some opinions of people who have some more experience with that.

Problem is:

I am creating a multilingual site for a seminar provider, working in three languages.
Now I need to use the profile page as a central orientation system for the customer. We plan to provide blocks based on permissions, so only the customer who has permission to view an offer will be able to use it.

Right now, all custom added content will not be translated, if I put it all in t(), the hyperlinks will not work.

So I have 2 visions that might work with Magic Data:

1. Use Magic Data to get the users default language (havent seen that symbol yet) and display stacks based on this.

2. Create new profile pages, using Magic Data, with the need to link to the "untranslated profile" if the user wants to change password etc....

You Magic Data Gurus... what do you think makes more sense or is more possible to do?

I can also imagine that the whole single-pages-not-really-multilingual-issue could be solved with Magic Data...

Type: Discussion
Status: New
View Replies:
JohntheFish replied on at Permalink Reply
JohntheFish
I think many new users of Magic Data initially get it for a very specific requirement then realise how much more they can do with it and have a "Kid in a candy store" reaction.

Using block permissions followed by Magic Data within the blocks is a tried and tested approach. In most cases it keeps things much simpler than trying to do everything with Magic Data within a single block.

I am not an expert on internationalisation. However, t() only translates by swapping pre-translated strings according to the current locale. So it is of no use wrapping customer added content in t(). In addition to the free core Internationalisation addon, you could have a look at Multilingual Content Block.
http://www.concrete5.org/marketplace/addons/internationalization/...
http://www.concrete5.org/marketplace/addons/c5dk-multilingual-conte...
There is also an old addon (5.3 era) for adding google translate widgets:
http://www.concrete5.org/marketplace/addons/multitrans/... (I don't know whether this is maintained).

To use Magic Data within the Multilingual Content Block you will probably want to create a specific template. Creating Magic Data enabled block templates is fairly easy - http://www.c5magic.co.uk/add-ons/magic-data/integrating-tokens/...

Other options include using Universal Content Puller to pull content with either UCPs built in Magic Data text processor or a Magic Data enabled wrapper, or Magic Data enabling an entire theme http://www.c5magic.co.uk/add-ons/magic-data/magic-data-enabling-the...

Magic Data provides a LOCALE symbol to tie in with what concrete5 considers the current site locale to be.

For switching stacks (or anything pullable), Universal Content Puller http://www.concrete5.org/marketplace/addons/universal-content-pulle... can use Magic Data in a simple binary decision whther to pull content or not. So you could have a list of pulled stacks where complementary Magic Data conditions are such that only one stack is actually pulled at a time according to locale.

Something to bear in mind with all of the above is when in the page rendering process the Magic Data is evaluated. For a block in a stack, is it when the block is shown, when the stack is pulled, when the page is rendered (theme enabled)? And what effect will block or page caching have on that? This can be particularly important with page lists, where it changes the 'page' Magic Data sees when evaluating.

concrete5 Environment Information

Browser User-Agent String

Hide Post Content

This will replace the post content with the message: "Content has been removed by an Administrator"

Hide Content

Request Refund

You have not specified a license for this support ticket. You must have a valid license assigned to a support ticket to request a refund.