I really, really need a valid(!) guide how to setup a multilingual site

Author Message

Ulrich L.

Tuesday 09 November 2004 2:51:46 pm

Dear all,
I'm quite desperate now. While I feel eZpublish could be a good solution for me, I just don't manage to setup a site (e.g. default shop) multilingual.
I looked here:

http://www.ez.no/ez_publish/documentation/configuration/configuration/language_and_charset/how_to_setup_a_multilingual_site
http://www.ez.no/community/forum/install_configuration/i_really_need_a_step_by_step_guide_on_how_to_setup_a_multilingual_site
http://www.ez.no/community/forum/general/hot_can_i_check_multilingual_functionality_with_installer_version

I manage to add multilingual content on the admin interface, but trying to access this at the user side results in an error (I can't call mypath/index.php/second_language).

I read in the forum that several other people seem to have the same problems, the links above didn't help them, too.

Since this is really a major feature (e.g. I found eZ at cmsmatrix while being in search for multilingual capabilities and open source) I really don't understand why the documentation is so poor and why the default sites made by the wizard don't support ML.

Without a solution for this topic I probably will have to move towards typo3, but this was not my original intention...

Hope anybody reads this...

Thanks,
Uli

Ole Morten Halvorsen

Wednesday 10 November 2004 1:04:07 am

Hi Uli,

Sadly the documentation hasn't received much focus lately as the new admin has taken most of our time this release cycle (3.5), however documentation will be our main foucs for the next cycle (just like the admin was this cycle). Hopefully then we will be able to write better multilingual doc.

I found a couple of threads which might be of interest:
http://www.ez.no/community/forum/developer/multilingual_site_images
http://www.ez.no/community/forum/install_configuration/multilingual_site_possible_to_create_content_only_in_the_non_primary_language
http://www.ez.no/community/forum/install_configuration/i_really_need_a_step_by_step_guide_on_how_to_setup_a_multilingual_site
http://www.ez.no/community/forum/install_configuration/siteaccess_for_multilingual_site

Ole M.

Senior Software Engineer - Vision with Technology

http://www.visionwt.com
http://www.omh.cc
http://www.twitter.com/omh

eZ Certified Developer
http://ez.no/certification/verify/358441
http://ez.no/certification/verify/272578

Ulrich L.

Wednesday 10 November 2004 1:57:37 am

Thanks, Ole.
Concerning your links:
No.1 deals with integration of Japanese characters and design
No.2 is about having different content in different languages
No.3 is in my list above as well. However, it does not fit exactly with my installation, probably a version issue? Lazaro says: "Create a directory for overriding images used in the portuguese site, you should already have a design/en/images directory". The latter is not the case with my wizard-driven install.
No.4 deals with an older version as well.

Is it possible to make the standard-out-of-the-box-wizard-generated site multilingual? Is it really so difficult to describe the required steps in a clear, straigth and (important!) complete way?

Please keep tracking this thread, this is probably most important not only for me.

Thanks to all, Uli

Ulrich L.

Thursday 11 November 2004 1:16:55 am

BTW, this is what I get when calling my german siteaccess (index.php/de).
(My provider told me my account is not limited as far as RAM is concerned.)

Fatal error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 128 bytes) in /srv/www/...path.../ezp344cms2/lib/ezi18n/classes/ezcharsetinfo.php on line 65
Fatal error: eZ publish did not finish its request

The execution of eZ publish was abruptly ended, the debug output is present below.

eZ debug
Timing: Nov 11 2004 09:53:36
Script start

Timing: Nov 11 2004 09:53:36
Module start 'content'

Timing points:
Checkpoint Elapsed Rel. Elapsed Memory Rel. Memory
Script start 0.0000 sec 0.1800 sec 1,380.4766KB 1,215.5078KB
Module start 'content' 0.1800 sec 2,595.9844KB 0.0010KB
Total runtime: 12.3097 sec

Time accumulators:
Accumulator Elapsed Percent Count Average
ini_load
Load cache 0.1333 sec 1.0821% 8 0.0167 sec
Mysql Total
Mysql_queries 0.0142 sec 0.1156% 17 0.0008 sec
Looping result 0.0024 sec 0.0194% 13 0.0002 sec
Template Total
Template load 0.0000 sec 0.0000% 0 0.0000 sec
Template parser: create text elements 0.0127 sec 0.1032% 2 0.0064 sec
Template parser: remove whitespace 0.0029 sec 0.0238% 2 0.0015 sec
Template parser: construct tree 0.1310 sec 1.0630% 2 0.0655 sec
Template load and register function 0.0226 sec 0.1836% 4 0.0057 sec
override
Cache load 0.0318 sec 0.2583% 1 0.0318 sec
TS translator
TS init 0.0000 sec 0.0000% 0 0.0000 sec
TS load 0.0000 sec 0.0000% 0 0.0000 sec
General
String conversion 3.6346 sec 29.4973% 1 3.6346 sec
String conversion w/ codepage reverse 3.6341 sec 29.4929% 1 3.6341 sec
Total script time: 12.3219 sec

Ulrich L.

Thursday 11 November 2004 1:35:44 am

To provide more information:

My settings/site.ini has been modified like this:
[RegionalSettings]
#Locale=eng-GB
#HTTPLocale=
#ContentObjectLocale=eng-GB

My settings/siteaccess/en/site.ini.append.php (primary language) looks like this (extracts):
[SiteSettings]
SiteName=Shop
SiteURL=...path.../ezp344cms2/index.php
LoginPage=embedded

[SiteAccessSettings]
RequireUserLogin=false

[DesignSettings]
SiteDesign=shop
AdditionalSiteDesignList[]=base

[RegionalSettings]
Locale=eng-GB
ContentObjectLocale=eng-GB
TextTranslation=disabled

[FileSettings]
VarDir=var/shop

[ContentSettings]
TranslationList=fre-FR;ger-DE

My settings/siteaccess/de/site.ini.append.php (second language) looks like this (extracts):
[SiteSettings]
SiteName=Shop
SiteURL=...path.../ezp344cms2/index.php/de
LoginPage=embedded

[SiteAccessSettings]
RequireUserLogin=false

[DesignSettings]
SiteDesign=shop
AdditionalSiteDesignList[]=base

[RegionalSettings]
Locale=ger-DE
ContentObjectLocale=ger-DE
TextTranslation=enabled

[FileSettings]
VarDir=var/shop

[ContentSettings]
TranslationList=fre-FR;ger-DE

My settings/override/site.ini.append.php looks like this (extracts):
[Session]
SessionNameHandler=custom

[SiteSettings]
DefaultAccess=en
SiteList[]
SiteList[]=en
SiteList[]=de
SiteList[]=fr

[SiteAccessSettings]
CheckValidity=false
AvailableSiteAccessList[]
AvailableSiteAccessList[]=en
AvailableSiteAccessList[]=de
AvailableSiteAccessList[]=fr
AvailableSiteAccessList[]=en_admin

SiteAccessList[]
SiteAccessList[]=en
SiteAccessList[]=de
SiteAccessList[]=fr

MatchOrder=uri
HostMatchMapItems[]

When trying to access ...path.../ezp344cms2/index.php/de, I get the error message described in the posting above.
So... what is wrong?

Thanks for your help, Uli

Łukasz Serwatka

Thursday 11 November 2004 3:34:47 am

Hi Uli

I think that your settings are wrong

I setup mulitilngual site using this tutorial http://www.ez.no/ez_publish/documentation/configuration/configuration/language_and_charset/how_to_setup_a_multilingual_site

and everything works fine.

Do not modyfi your orginal site.ini file. Create settings/override/site.ini.append.php file and ther change your settings. Add this

[SiteAccessSettings]
#this part tells how the site access setting is chosen, in this case, by the uri
MatchOrder=uri
URIMatchType=element
URIMatchElement=1
URIMatchRegexp=^/([^/]+)/
URIMatchRegexpItem=1
#this part tells ezp which siteaccess folders are available
AvailableSiteAccessList[]=en
AvailableSiteAccessList[]=fr
AvailableSiteAccessList[]=de
AvailableSiteAccessList[]=en_admin
DebugAccess=enabled

[RegionalSettings]
#allow translations
TextTranslation=enabled
#cache the translations, can be disabled 
if desired (can take a long time the first time the language is accessed)
TranslationCache=enabled

[ContentSettings]
#translations available for the content
TranslationList=eng-GB;fre-FR;ger-DE
#you can enable this after you have everything setup, 
leave it disabled to see if you did it right!
ViewCaching=disabled

This setting use only in settings/override/site.ini.php. Then create folders in
settings/siteaccess/de
settings/siteaccess/fr
settings/siteaccess/en
settings/siteaccess/en_admin
and for each folder create site.ini.append.php file with

for EN

[RegionalSettings]
Locale=eng-US
HTTPLocale=en
ContentObjectLocale=eng-US

for FR

[RegionalSettings]
Locale=fre-FR
HTTPLocale=fr
ContentObjectLocale=fre-FR

when u accessing site like this example.com/index.php/en
ez usineg your site.iniappend.php file in settings/siteaccess/en/ folder

Personal website -> http://serwatka.net
Blog (about eZ Publish) -> http://serwatka.net/blog

Ulrich L.

Thursday 11 November 2004 11:34:43 am

Thanks Luke,
however, I already tried to follow the guide you mentioned, but without success. Did you build your site with the wizard and then made modifications for multilinguality? BTW: It is adviced on that page to comment out the three statements in the settings/site.ini - you told me not to do so, however it has no effect both ways.

Since it is quite clear how to modify the settings/siteaccess/de/site.ini.append.php file, I assume there is something wrong with my settings/override/site.ini.append.php file. But what's wrong exactly? I tried to follow the different guides, but without success so far.

Perhaps this is important: What does the error message mean that I get (posted above)? Is there perhaps a problem with my host? However, it works fine with the rest of ezpublish.

Łukasz Serwatka

Thursday 11 November 2004 1:17:27 pm

Did you build your site with the wizard and then made modifications for multilinguality?

Yes I did.

Is your site on-line? Maybe i could help u setup your mulitlingula site.

Personal website -> http://serwatka.net
Blog (about eZ Publish) -> http://serwatka.net/blog

Ulrich L.

Thursday 11 November 2004 2:21:46 pm

That's really a great offer!

My e-mail is: ...

Uli

Ulrich L.

Saturday 13 November 2004 2:08:28 am

Luke changed settings as desrcibed below:

He removed

[ContentSettings]
TranslationList=fre-FR;ger-DE

from the settings/siteaccess/site.ini-and-so-on-files. These settings were originally generated by the wizard.

In the settings/override/site.ini...-file is still the following entry:

[ContentSettings]
TranslationList=eng-GB;fre-FR;ger-DE
ViewCaching=disabled

So with these settings, it runs.
Thank you very much, Luke!

Łukasz Serwatka

Saturday 13 November 2004 2:12:55 pm

And one little thing. When you finish building your site you can set ViewCaching=enabled in site.ini.append.php file.

Good luck

Personal website -> http://serwatka.net
Blog (about eZ Publish) -> http://serwatka.net/blog

Bruce Morrison

Saturday 13 November 2004 5:39:16 pm

Hi Uli

> BTW, this is what I get when calling my german siteaccess (index.php/de).
> (My provider told me my account is not limited as far as RAM is concerned.)
>
> Fatal error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 128 bytes) in
> /srv/www/...path.../ezp344cms2/lib/ezi18n/classes/ezcharsetinfo.php on line 65
> Fatal error: eZ publish did not finish its request

This error indicates that php is setup with a 20Mb limit (memory_limit = 20M) and that this value has been exceeded. Now I'm not sure if the use of memory is due to the way your ezp is configured or that the translation process requires more memory than the regular site. Try getting you provider to increase this value and check the results.

Hope this helps
Cheers
Bruce

My Blog: http://www.stuffandcontent.com/
Follow me on twitter: http://twitter.com/brucemorrison
Consolidated eZ Publish Feed : http://friendfeed.com/rooms/ez-publish

Ulrich L.

Tuesday 16 November 2004 11:48:15 am

Dear Bruce,

as I understand it now - after Luke found the way to go - the demand for more memory was not the real problem, but this demand had been derived by the wrong settings. With the correct settings, there is no memory problem anymore (I hope so...).

Neil Kanth

Thursday 03 February 2005 7:11:30 am

In the Site Wizard setup portion of the site, do I have to choose the additional languages?

Thanks
-Neil

Neil Kanth

Friday 04 February 2005 5:40:35 am

I noticed that a default language isn't selected. Which site translation will display when you browse to the site and how do you provide visitors an opportunity select other translations?

thanks
-Neil

Ulrich L.

Friday 11 February 2005 4:20:44 am

Look here for template code which provides access to a certain language:

http://www.ez.no/community/forum/setup_design/how_can_i_manipulate_strings_in_ezpublish_template_language

I found out some statements here concerning multilanguage setup are just wrong. Perhaps I can decribe more details here later on.

Oree Eyo

Wednesday 27 July 2005 7:26:10 am

Guys. what about 2 content trees. A tree for each site.
How do I set it up ?
couldn't find any doc on this.

I can't have a 1 to 1 translation of objects since I don't want the same objects in both languages.

Giacomo Indiveri

Saturday 24 September 2005 2:21:13 pm

I'm trying to create my first multilingual site, starting from the "shop" template created by the site wizard on my windows test-machine (using version 3.6.2), without success. I studied all the relevant posts and guides for more than a week now. I bought the "Learning ..." book, I googled outside this forum, but I am really at a loss now....

This is the thread that got me furthest. But now when I try to access a different language (e.g. http://localhost/it) I get a "Access Denied" page (in Italian...)
I checked all permissions and all options in the *.ini files and can't figure out what the problem is. Can anybody help-out?

=================================================
This is the Debug output:
Module start 'content'
Error: error/view.php
Error ocurred using URI: /it
Timing:
Module end 'error'
Warning: PHP
Undefined variable: show2 inModule start 'content'

===========================================
These are the relevant settings in
siteaccess/en/site.ini.append.php:

[SiteSettings]
SiteName=SottOlio
SiteURL=localhost
LoginPage=embedded

[RegionalSettings]
Locale=eng-GB
HTTPLocale=en
ContentObjectLocale=eng-GB
============================================
This is the diff between the en/ and the it/ site.ini.append.php files:
< SiteURL=localhost
---
> SiteURL=localhost/it
32,34c32,34
< Locale=eng-GB
< HTTPLocale=en
< ContentObjectLocale=eng-GB
---
> Locale=ita-IT
> HTTPLocale=it
> ContentObjectLocale=ita-IT
==========================================

And finally, this is the relevant part of the override/site.ini.append.php file:

[SiteSettings]
DefaultAccess=en
SiteList[]
SiteList[]=en

[SiteAccessSettings]
CheckValidity=false
AvailableSiteAccessList[]
AvailableSiteAccessList[]=en
AvailableSiteAccessList[]=fr
AvailableSiteAccessList[]=it
AvailableSiteAccessList[]=de
AvailableSiteAccessList[]=so_admin
MatchOrder=uri
URIMatchType=element
URIMatchElement=1
URIMatchRegexp=^/([^/]+)/
URIMatchRegexpItem=1
HostMatchMapItems[]
DebugAccess=enabled

[RegionalSettings]
#allow translations
TextTranslation=enabled
TranslationCache=enabled

[ContentSettings]
TranslationList=eng-GB;fre-FR;ger-DE;ita-IT
ViewCaching=disabled
===============================================

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.