[ic] Urgent Locale questions
N.E.S.T. Solutions
nest_consulting at yahoo.ca
Sat Jan 23 15:29:16 UTC 2010
-----Original Message-----
From: interchange-users-bounces at icdevgroup.org
[mailto:interchange-users-bounces at icdevgroup.org] On Behalf Of Gert van der
Spoel
Sent: Saturday, January 23, 2010 2:42 AM
To: interchange-users at icdevgroup.org
Subject: Re: [ic] Urgent Locale questions
> -----Original Message-----
> From: interchange-users-bounces at icdevgroup.org [mailto:interchange-
> users-bounces at icdevgroup.org] On Behalf Of N.E.S.T. Solutions
> Sent: Saturday, January 23, 2010 8:43 AM
> To: interchange-users at icdevgroup.org
> Subject: Re: [ic] Urgent Locale questions
>
>
>
> -----Original Message-----
> From: interchange-users-bounces at icdevgroup.org
> [mailto:interchange-users-bounces at icdevgroup.org] On Behalf Of Gert van
> der
> Spoel
> Sent: Friday, January 22, 2010 9:14 AM
> To: interchange-users at icdevgroup.org
> Subject: Re: [ic] Urgent Locale questions
>
> > -----Original Message-----
> > From: interchange-users-bounces at icdevgroup.org [mailto:interchange-
> > users-bounces at icdevgroup.org] On Behalf Of N.E.S.T. Solutions
> > Sent: Friday, January 22, 2010 8:24 AM
> > To: interchange-users at icdevgroup.org
> > Subject: [ic] Urgent Locale questions
> >
> >
> > Hi all,
> >
> > I'm trying to setup a multiple language site, and I've got no hair
> > left!
> >
> > I'm running ic 5.6 with the default
> > <catroot>/dbconf/locales/default.cfg,
> > along
> > with the xx_YY.cfg file for each language, which includes :
> >
> > Variable CURLOCALE xx_YY
> > include dbconf/locales/default.cfg
> >
> > I have configured my locale table with this to test with xx_YY only
> for
> > now:
> > ProductFiles products products_xx_YY
> > products de_products products_xx_YY
> >
> > variable.txt has this:
> > DEFAULT_LOCALE en_US Internationalization
> > LOCALES xx_YY yy_ZZ aa_BB Internationalization
> >
> >
> > I've created the ./products/products_xx_YY.txt and the
> > ./dbconf/mysql/products_xx_YY.mysql
> > With the fields I see that are MAPped in default.cfg, on reconfig, my
> > table
> > loaded ok with one item to test.
> >
> > On the front-end, I view the product from the products_xx_YY language
> > (title, desc, comment) but all
> > Other fields that are present in products.txt and that are not in
> > products_xx_YY.txt don't show. I thought
> > that they would fallback to products.txt if absent or empty.
> >
> > I'll also have to do the categories, prod_group, AND (variants?!?).
> >
> > I'm now very puzzled with the following 4 questions:
> >
> > -- When using a non default locale, does IC fetch ALL fields from
> > products.txt and then
> > replace the ones that are mapped only, in the default.cfg? Or do I
> need
> > 100%
> > of the
> > columns in my locale products_xx_YY files?
>
> Have not tried this, but does the following line not provide the
> columns
> that you want to have MAPed with the non-translated content:
> Database products MAP_OPTIONS share __CURLOCALE__
> products___CURLOCALE__
> area area___CURLOCALE__ cat cat___CURLOCALE__
>
> So the area and cat would be used from products.txt and not part of
> products_xx_YY.txt
> (now area and cat do not exist in the standard products table so the
> above
> line probably does jack).
>
> > -- For cat and prod_group, do I have to create cat_xx_YY and
> > prod_group_xx_YY also the
> > same as I did for the products?
>
> If you have something to translate then yes you should follow the same
> scheme ... for all columns that do not need localization I thing you
> can go
> with MAP_OPTIONS share again ..
>
> > -- I see the options mapped in default.cfg, do I have to map the
> > variants
> > also to
> > be able to localize variants?
>
> Either that or you could attempt to use [msg] or [L] tags and the
> locale
> table to translate specific words/phrases ...
> You might actually want to go for the translation tag as in your order
> management system you would probably want to keep your options
> non-translated .. so when someone orders a Red t-shirt, it will not
> become
> Rot when the order is made with the german locale.
>
> >
> > -- All together, once everything will be working, does the MAP in the
> > default.cfg instruct
> > IC to populate all locale files (products_xx_YY.txt,
> options_xx_YY.txt,
> > variants_xx_YY.txt ? )
> > when creating a new product? Or do these files have to be done
> > manually/otherwise?
>
> When you create a new product and add only the standard stuff in the
> admin
> then I do not think it will populate any of the xx_YY tables and also
> think
> it should not as you might not want to have English text in locale
> tables ..
>
>
> What I for example have in my admin is additional tabs with the locale
> .. so
> my first tab has the content of products and I have a tab 'Greek' and a
> tab
> 'Dutch' and clicking those tabs I get the fields for the xx_YY.txt
> table and
> enter my data there aswell ...
>
> >
> > I propose to write the full manual on this once I get it straight,
> > seems to
> > be lacking a
> > good How-To on this subject.
> >
> > Thanks in advance for your help, I'm desperate to figure this out
> > Martin
>
>
> Hi Gert, Thank you for your help.
>
> I've done all products_xx_YY.txt the same as products.txt for each
> language
> now, and also I did the following in dbconf/locale/default.cfg for each
> fields. These are for images, so I want to have the field fallback to
> the
> products.txt table, seems that it doesn't fallback in any case
>
> Database products MAP image0 __CURLOCALE__
> products___CURLOCALE__::image0
> Database products MAP image0 fallback 1
>
> But it doesn't work. I tried this also, with and without the above
> lines:
>
> Database products MAP_OPTIONS share __CURLOCALE__
> products___CURLOCALE__
> area area___CURLOCALE__ cat cat___CURLOCALE__ image0
> image0___CURLOCALE__
>
> That didn't work either. I even tried to map directly to
> products::image0
> with this:
>
> Database products MAP image0 __CURLOCALE__ products::image0
> ...or this...
> Database products MAP image0 products::image0
> ...or this...
> Database products__CURLOCALE__ MAP image0 products::image0
> ...or this...
> Database products__CURLOCALE__ MAP __CURLOCALE__ image0
> products::image0
>
>
> All those combinations do absolutely nothing, not even a log entry in
> the
> error log.
>
> Throughout these attempts, I updated my DB field in the database in
> between
> the various tests, and the image popped up on the web page... so, it's
> definitely looking up in the products_xx_YY database table.
>
> I tend to think that the line "Database products MAP image0 fallback 1"
> means to make it fallback to products.txt, but it just doesn't and I
> can't
> find documentation for it.
Yes it should fallback to the original table and the technique works in
itself (I use it).
I wonder if you only tried to actually see/not see the image and did not
look at the particular output.
So [data table=products column=image0 key="..."] (where ... is a sku), will
this print any output?
It should print the output of the data in products_xx_YY.txt , field image0
with sku=...
If this field is empty it falls back to the data in products_xx_YY.txt
q
In case this does not work, does it still show the other translations?
If not then your config file is broken. You could use Debug and create a
xxx.structure file to see what it builds up.
CU,
Gert
Hi Gert,
I put [data table=products column=image0 key="1234"] and I was getting only
the data from the specific table, changing it to table=products_xx_YY would
give me the data from the products_XX_YY table directly.
Using [field products 1234] does give me the right data for the locale, but
still, doesn't fallback to products table when field is empty.
I also put [debug] [/debug] around my code and it outputs only the resulting
data in the log, same as I see on my test page, no errors.
Now I wonder if I specified the sql defs properly in the cfg files.
For each language I have:
./dbconf/mysql/products_xx_YY.mysql = FULL config, just like products.mysql
For each column in products.txt,
./dbconf/locale/default.cfg = I added the following for each field:
Database products MAP img_P_N00 __CURLOCALE__
products___CURLOCALE__::img_P_N00
Database products MAP img_P_N00 fallback 1
... further down in the dsn section...
Database products___CURLOCALE__ COLUMN_DEF "img_P_L00=varchar(32) DEFAULT
'noimage.gif' NOT NULL"
Should I only specify the "img_P_L00=varchar(32) DEFAULT 'noimage.gif' NOT
NULL" in one of the 2 files, or both are required?
For now, I'm reverting back to original config files, and will test with the
basic fields all over again to make sure the fallback works. I don't thing
it ever did work...
I appreciate your help Gert, this is a nightmare ;(
Many thanks again
Martin
More information about the interchange-users
mailing list