[Geoprisma-users] i18n_* tooltip messages are showing - RESOLVED

Stephen Woodbridge woodbri at swoodbridge.com
Mon Jan 11 20:08:40 EST 2010


Alexandre,

Great idea! I forgot to check that but that does not seem to be the 
problem. gp-info.php reports everything is ok.

So after spending all afternoon on this problem and comparing lists of 
libraries and packages installed on the two system, and chasing through 
a lot of code, it turns out that when the base lenny system was 
installed on the problem server they did not configure any of the 
locales! I was able to fix the problem by using:

dpkg-reconfigure locales
# installed all locales
# set en_US as the system default

/etc/init.d/apache2 restart

And things are working. This host is on rackspace.com so you might find 
other users in the future that run into a similar issue.

Thank you for your input on this very strange problem.

-Steve

Alexandre Dube wrote:
> Hi Steve,
> 
>  I'm not sure that the following tip might help, but here's goes nothing :
> 
>  Be sure to have everything needed installed as mentioned in the 
> prerequisite [1] doc page.  You can visit your gp-info.php page to see 
> if everything is up and running, like the following [2].
> 
> Regards,
> 
> Alexandre
> 
> [1]  
> http://geoprisma.org/dist/build/html/configuration/index.html#prerequistes
> [2]  http://geoprisma.org/gp-info.php
> 
> 
> Stephen Woodbridge wrote:
>> Yves Moisan wrote:
>>> Le vendredi 08 janvier 2010 à 23:02 -0500, Stephen Woodbridge a écrit :
>>>> What cases the i18n_* text to be displayed instead of the actual 
>>>> language text. For example the text "i18n_fullzoom_tooltip" 
>>
>> This is from the standard GeoExtToolbar widget when you add the 
>> navigation controls to it.
>>
>> When you view source on the good server I see:
>>
>> <script xmlns="" 
>> src="./widgets/geoexttoolbar/GeoExtToolbar.js"></script><script 
>> xmlns="" 
>> src="./widgets/geoexttoolbar/GeoExtToolbar.GeoExtToolbar.js"></script><script 
>> xmlns="">
>>
>>
>> Ext.apply(org.geoprisma.widget.geoexttoolbar.GeoExtToolbar.prototype, {
>>             i18n_zoomfull_tooltip : "Zoom to maximum extent",
>>             i18n_zoomin_tooltip   : "Zoom in : left click on map or 
>> draw a zoom box",
>>             i18n_zoomout_tooltip  : "Zoom out : left click on map or 
>> draw a zoom box",
>>             i18n_pan_tooltip      : "Pan : click left and drag",
>>             i18n_back_tooltip     : "Previous view",
>>             i18n_next_tooltip     : "Next view"
>>         });
>>
>>     </script>
>>
>> But on the bad server which is basically a copy of the good server 
>> with some path changed, I see:
>>
>> <script xmlns="" 
>> src="./widgets/geoexttoolbar/GeoExtToolbar.js"></script><script 
>> xmlns="" 
>> src="./widgets/geoexttoolbar/GeoExtToolbar.GeoExtToolbar.js"></script><script 
>> xmlns="">
>>
>>
>> Ext.apply(org.geoprisma.widget.geoexttoolbar.GeoExtToolbar.prototype, {
>>             i18n_zoomfull_tooltip : "i18n_zoomfull_tooltip",
>>             i18n_zoomin_tooltip   : "i18n_zoomin_tooltip",
>>             i18n_zoomout_tooltip  : "i18n_zoomout_tooltip",
>>             i18n_pan_tooltip      : "i18n_pan_tooltip",
>>             i18n_back_tooltip     : "i18n_back_tooltip",
>>             i18n_next_tooltip     : "i18n_next_tooltip"
>>         });
>>
>>     </script>
>>
>> I expect that this is because I broke one of the paths in the 
>> config.php file. Everything else seems to be working OK, and checking 
>> the things that seemed obvious didn't show anything wrong. This looks 
>> like it is being generated from the widget xslt or via the php code 
>> the renders the widget.
>>
>> woodbri at mapping:~/work/geoprisma/trunk$ find . -type f -exec grep -l 
>> i18n_zoomfull_tooltip {} \;
>> ./src/client/widgets/geoexttoolbar/GeoExtToolbar.xslt
>> ./src/client/widgets/geoexttoolbar/.svn/text-base/GeoExtToolbar.GeoExtToolbar.js.svn-base 
>>
>> ./src/client/widgets/geoexttoolbar/.svn/text-base/GeoExtToolbar.xslt.svn-base 
>>
>> ./src/client/widgets/geoexttoolbar/GeoExtToolbar.GeoExtToolbar.js
>> ./languages/fr_CA/LC_MESSAGES/.svn/text-base/geoexttoolbar.po.svn-base
>> ./languages/fr_CA/LC_MESSAGES/.svn/text-base/geoexttoolbar.mo.svn-base
>> ./languages/fr_CA/LC_MESSAGES/geoexttoolbar.mo
>> ./languages/fr_CA/LC_MESSAGES/geoexttoolbar.po
>> ./languages/.svn/text-base/geoexttoolbar.pot.svn-base
>> ./languages/fa_AF/LC_MESSAGES/.svn/text-base/geoexttoolbar.po.svn-base
>> ./languages/fa_AF/LC_MESSAGES/.svn/text-base/geoexttoolbar.mo.svn-base
>> ./languages/fa_AF/LC_MESSAGES/geoexttoolbar.mo
>> ./languages/fa_AF/LC_MESSAGES/geoexttoolbar.po
>> ./languages/geoexttoolbar.pot
>> ./languages/en_US/LC_MESSAGES/.svn/text-base/geoexttoolbar.po.svn-base
>> ./languages/en_US/LC_MESSAGES/.svn/text-base/geoexttoolbar.mo.svn-base
>> ./languages/en_US/LC_MESSAGES/geoexttoolbar.mo
>> ./languages/en_US/LC_MESSAGES/geoexttoolbar.po
>> ./script/NaturalDocs/Data/.svn/text-base/SymbolTable.nd.svn-base
>> ./script/NaturalDocs/Data/SymbolTable.nd
>>
>> So looking at ./src/client/widgets/geoexttoolbar/GeoExtToolbar.xslt it 
>> generates the JS above with lines like:
>>
>>     <script>
>>
>>
>> Ext.apply(org.geoprisma.widget.geoexttoolbar.GeoExtToolbar.prototype, {
>>             i18n_zoomfull_tooltip : <xsl:value-of 
>> select="php:functionString('GeoExtToolbar::getText','i18n_zoomfull_tooltip','JS')" 
>> />,
>>             i18n_zoomin_tooltip   : <xsl:value-of 
>> select="php:functionString('GeoExtToolbar::getText','i18n_zoomin_tooltip','JS')" 
>> />,
>>             i18n_zoomout_tooltip  : <xsl:value-of 
>> select="php:functionString('GeoExtToolbar::getText','i18n_zoomout_tooltip','JS')" 
>> />,
>>             i18n_pan_tooltip      : <xsl:value-of 
>> select="php:functionString('GeoExtToolbar::getText','i18n_pan_tooltip','JS')" 
>> />,
>>             i18n_back_tooltip     : <xsl:value-of 
>> select="php:functionString('GeoExtToolbar::getText','i18n_back_tooltip','JS')" 
>> />,
>>             i18n_next_tooltip     : <xsl:value-of 
>> select="php:functionString('GeoExtToolbar::getText','i18n_next_tooltip','JS')" 
>> />
>>         });
>>
>>     </script>
>>
>> So it looks like functionString() is failing, for some reason, to find 
>> and return the appropriate string. I'll dig into this a little more, 
>> but if you have any ideas that would be great.
>>
>> Thanks,
>>   -Steve
>>
>>
>>
>>> I can't find that string in any of the po files.  Is that a string of
>>> yours ? If i18n strings work but not this one, then you have to 
>>> ensure you have
>>> valid .pot/.po/.mo files for the *domain* (defined in the php file of a
>>> particular widget).  Also, there are times when you need to restart
>>> Apache for GetText to pick up a new string. If you don't want to 
>>> bother with domains (you should if you develop a
>>> new widget though) you can use the language code syntax as mentioned in
>>> the docs. For example in this case :
>>>
>>> <shortcut>
>>>     <name>MyShortcutWidget</name>
>>>     <options>
>>>         <field>hap_nm_top</field>
>>>         <emptyText>
>>>             <domain>sampleFile</domain>
>>>             <key>i18n_shortcut_emptyText</key>
>>>         </emptyText>
>>>     </options>
>>> </shortcut>
>>>
>>> GetText will look for the "i18n_shortcut_emptyText" string in the
>>> sampleFile.mo (compiled po) file and will render it in whatever language
>>> as determined in the cookie by the last lang= URL parameter assignment.
>>> Beware : the value of the language parameter lives for as long as it is
>>> not changed, so if you set it to fr_CA once it will always be that
>>> unless you explicitly change it in the url.  That can be misleading
>>> because the default language is English, which is what you get if you
>>> don't pass a lang url parameter; however if you set it to another
>>> language then that language becomes the default and then you'll wonder
>>> why you see some French while there is no lang url parameter.
>>>
>>> If you want to bypass having to create a po file (which you then need to
>>> compile into an mo with an editor like poEdit), you can use the
>>> "language code" syntax as follows :
>>> <shortcut>
>>>     <name>MyShortcutWidget</name>
>>>     <options>
>>>         <field>hap_nm_top</field>
>>>         <emptyText>
>>>             <fr_CA>Racourcie sur le top</fr_CA>
>>>             <en_US>Shortcut to top</en_US>
>>>             <!-- Other lang -->
>>>         </emptyText>
>>>     </options>
>>> </shortcut>
>>>
>>> HTH,
>>>
>>> Yves
>>>
>>>> is being displayed regardless of ?lang=en_US or ?lang=fr_CA or no 
>>>> lang argument.
>>>>
>>>> $g_strLocaleDir = '/u/software/geoprisma/trunk/languages' which it 
>>>> correct.
>>>>
>>>> -Steve
>>>
>>>
>>
>> _______________________________________________
>> Geoprisma-users mailing list
>> Geoprisma-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/geoprisma-users
> 
> 



More information about the Geoprisma-users mailing list