ZenphotoCMS Forum
Multilingual site - Printable Version

+- ZenphotoCMS Forum (https://forum.zenphoto.org)
+-- Forum: Support (https://forum.zenphoto.org/forum-1.html)
+--- Forum: Translating (https://forum.zenphoto.org/forum-8.html)
+--- Thread: Multilingual site (/thread-1412.html)

Pages: 1 2


Multilingual site - Soleil - 03-05-2007

Hello ! I just installed Zenphoto on my multilingual site (English/French). I wanted that the "introduction pages" for the different albums link directly (without thumbnails) to the first image of the corresponding article. I managed this. No problem !

The "Image pages" in English should have a navigation in French and the ones in English should have a navigation in English. The navigation is the only element that should change between the English and the French versions. The navigation comes via "php include" into the "image page".

How can I obtain this result without having to build albums for each of the languages?

I tried many tricks, but to no avail.

Any good idea to propose? Thanks a lot in advance.




Multilingual site - Soleil - 18-05-2007

Still no good idea to propose ?




Multilingual site - simonef - 19-05-2007

So if I got this right, you want to have a php code like
``

Since I'll soon get the same problem about English and German I tried copying a theme and adding a parameter in the URL. Seems to work fine, just that you'll have to edit every link in the theme. Since you only worry about the album (what about the images?) that should do.

In the default I replaced
with
So if I want the german version I have to use www.mydomain.de/album.php?L=D.
Still you'd have to change the links to the images like:
`




Multilingual site - mandyrc - 30-05-2007

Recently I use Zenphoto gallery in a site with 3 languages (Spanish-English-German). The problem was to get the images descriptions in this 3 languages. I search this site for a solution, but I can't find one. I analize de code and find how Zenphoto gets de image descriptions from the database.

Then I modify a couple of scripts and voilá, problem solved. The solution was:

  1. In the table IMAGES:
    a)Rename the field DESC for DESC_ES
    b)Duplicate this field twice to get the other 2 languages (DESC_EN and DESC_DE)

  2. In [b]/zenphoto/zen/functions-controller.php[/b], I do this:
    a) Begin the script with: session_start() to load a session variable $_SESSION['gal_desc_idm'] that contains which language is loaded.
    b) $gal_desc = $_SESSION['gal_desc_idm']; // Asign to $gal_desc the value of $_SESSION['gal_desc_idm']
    c) Finally in this script add the following function:
    `function get_lang() {

    global $gal_desc;

    return $gal_desc;

    }`

  3. In [b]/zenphoto/zen/class-image.php[/b], I use the function get_lang() as parameter of the function getDesc() which is the function thats gets de image description. The modified script (lines: 89 & 90) is like this:

`function getDesc() { return $this->get(get_lang()); }

function setDesc($desc) { $this->set(get_lang(), $desc); }`

With this changes I get the description for the actual language in my page. I hope somebody can use this tip and that Zenphoto developers include this feature in next releases. Sorry my bad english, I am cuban and my native language is Spanish.




Multilingual site - Soleil - 31-05-2007

Thanks a lot simonef and mandyrc. I had been a few days without computer (holidays!).

I will test your two solutions and let you know. They seem both very interesting.




Multilingual site - simonef - 07-06-2007

Hey mandyrc,

great thing
thanks =)

Did that and added a lang.php in the zen folder:
``

In the image.php of the them I added right after the first




Multilingual site - simonef - 07-06-2007

Another thing to fix: in the administration you can't properly edit the album anymore.
Fatal error: Call to undefined function: get_lang() in /var/www/vhosts/scrapsite.de/httpdocs/zenphoto/zen/class-image.php on line 86

Gonna try to fix that one soon.

Edit: done!
Do the same you did to /zenphoto/zen/functions-controller.php
also to admin-functions.php




Multilingual site - Soleil - 27-01-2008

Here I am again with another problem. Up to now I did not use the album.php page in the multilingual sites where I installed zenphoto. The method suggested by simonef worked perfecttly with the image.php page. I used for instance
"
(or variants of this code) to get pages in different language versions.

I thought it would be possible to use a similar method with the`navigation, but I could not find a way how to do this. I tried also to change the code in the template-functions.php underfunction getPageURL`, but did not manage, probably because my php knowledge is not good enough.

I would be grateful if somebody could help me to solve this problem of [i]printPageListWithNav[/i].




Multilingual site - Soleil - 29-01-2008

No brilliant idea to propose to solve my little problem ?




Multilingual site - Soleil - 04-09-2009

I have again a question regarding my multilingual site.

I am using, as suggested here, the code
if ( $L=="FR") { echo "&L=FR"; } elseif ($L=="EN"){ echo "&L=EN"; } elseif ($L=="DE"){ echo "&L=DE"; } elseif ($L=="ES"){ echo "&L=ES"; } else { echo "&L=FR";

to link to pages in the requested language with the corresponding navigation. I could not find out however where to add the code for "comments" and "search". Has anybody an idea?




Multilingual site - acrylian - 05-09-2009

You will have to write some code if you want to use something like that. Zenphoto does not support determining the language via url queries. We use cookies to set the language. Look at the dynamic-locale plugin.




Multilingual site - Soleil - 05-09-2009

Thank you, Acrylian.

The problem is that my website is built in such a way that dynamic-locale plugin does not fit (introduction pages, navigation for the whole site on the left....).

I will apply this plug-in in another website I am working on

My question is where to put my code so that the function "Submit" links to the right page layout.




Multilingual site - sbillard - 05-09-2009

You can always use the setupCurrentLocale() function directly. Use whatever code you need to do a setOption('locale', yourlanguage, false); then call setCurrentLocale(); to register it.




Multilingual site - Soleil - 07-09-2009

Thanks sbillard !

You will excuse my poor knowledge of dealing with functions and perhaps explain me where I can find the setupCurrentLocale() function ``.




Multilingual site - acrylian - 07-09-2009

You find all functions on our functions documentation.




Multilingual site - sbillard - 07-09-2009

Specifically, setupCurrentLocale() is in the lib-i18n.php script as are all the functions dealing specifically with localization.




Multilingual site - Soleil - 08-09-2009

Thanks again sbillard !

Unfortuantely I cannot find the [b]lib-i18n.php [/b]script. I guess it should be in zp-core (?!).

What I cannot understand/find out is how after submitting a comment the link to the just used page is established. Could you explain me shortly how it works, which functions are involved in this process?

Comments are very important for my website since I ask for identification help of some very rare plants and animals.




Multilingual site - acrylian - 08-09-2009

Well. that's because it is acutally named functions-i18n.php...;-)

I don't understand your comment question. What is wrong with the standard comment usage?




Multilingual site - Soleil - 08-09-2009

Yes, now I found it!

But before I try to understand the "locale" system, I would like to answer the second part of your message.

As I explained above I am using (for several reasons) the following coding on my website.
``if ( $L=="FR") {

echo "&L=FR";

}

elseif ($L=="EN"){

echo "&L=EN";

}

elseif ($L=="DE"){

echo "&L=DE";

}

elseif ($L=="ES"){

echo "&L=ES";

}

else {

echo "&L=FR"; `

It works perfectly for the different pages (album and not album) but not when a user writes a comment on a page like http://www.xxx.net/album/index.php?album=xxx&image=xxx.jpg&L=FR.

After the comment has been submitted, the user comes on a page http://www.xxx.net/album/index.php?album=xxx&image=xxx.jpg, that is to say without the L=FR extension and with a lot of errrors.

How to arrange it that the extension is created after the submission of the message? I simply don't find the place in the zenphoto code where I could add my php coding for languages.

I would be very thankful if you could help me on this issue.




Multilingual site - acrylian - 08-09-2009

Did you look at the comment form plugin? You can change the form itself and add something to the url query. Normally it adds a # (see the "action" part) to the url so you could add your language query to it.