# Littles about the web site ....

**URL:** <https://forums.synfig.org/t/littles-about-the-web-site/2269>\
**Category:** Documentation\
**Created:** [December 28, 2012, 10:43pm UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269 "2012-12-28T22:43:46Z")\
**Posts on this page:** 16\
**Page:** 2

<div class="post-metadata">

**Author:** ![KonstantinDmitriev](https://forums.synfig.org/user_avatar/forums.synfig.org/konstantindmitriev/32/3_2.png) [@KonstantinDmitriev](https://forums.synfig.org/u/KonstantinDmitriev)\
**Post date:** [January 12, 2013, 6:10am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/21 "2013-01-12T06:10:15Z")

</div>

Good work pixelgeek!

I think it will be fine if user will choose desired language at installation time. Choosing language at install time will install one-language version, but it’s pretty common situation for Win apps…

---

<div class="post-metadata">

**Author:** ![d.j.a.y](https://forums.synfig.org/user_avatar/forums.synfig.org/d.j.a.y/32/113_2.png) [@d.j.a.y](https://forums.synfig.org/u/d.j.a.y)\
**Post date:** [January 12, 2013, 8:43am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/22 "2013-01-12T08:43:54Z")

</div>

> [@pixelgeek](#):
>
> Of course, now it won’t do anything _but_ French. Something’s got cached somewhere.

Mince (?) , je n’utilise plus windows… !  
It’s not me … cached somewhere in your registry…maybe some of yr ducks are preparing a new home ?  
But, why is synfig half translated ? look like it’s just windows commons strings ? but not synfig ones…  
[MsdnRegWinLocal](http://msdn.microsoft.com/en-us/library/windows/desktop/dd374120%28v=vs.85%29.aspx)

> [@Zelgadis](#):
>
> desired language at installation time.

+1

see;]ya!

---

<div class="post-metadata">

**Author:** ![jcome](https://forums.synfig.org/user_avatar/forums.synfig.org/jcome/32/3512_2.png) [@jcome](https://forums.synfig.org/u/jcome)\
**Post date:** [January 12, 2013, 11:26am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/23 "2013-01-12T11:26:01Z")

</div>

> [@Zelgadis](#):
>
> Good work pixelgeek!
> 
> I think it will be fine if user will choose desired language at installation time. Choosing language at install time will install one-language version, but it’s pretty common situation for Win apps…

Some users asked to have [an option](https://forums.synfig.org/t/ui-redesign-preferences/2006/1) in Preferences to overwrite the operation system language setting.

---

<div class="post-metadata">

**Author:** ![pixelgeek](https://forums.synfig.org/user_avatar/forums.synfig.org/pixelgeek/32/10_2.png) [@pixelgeek](https://forums.synfig.org/u/pixelgeek)\
**Post date:** [January 20, 2013, 10:45pm UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/24 "2013-01-20T22:45:35Z")

</div>

I think d.j.a.y called it - it’s using the GTK strings for translation.

I tried seeing how synfig did it on Ubuntu, but [code]chrisn@chrisn-Studio-XPS-435MT:~$ LANG=GB\_en synfigstudio

synfig studio – starting up application…

(process:2832): Gtk-WARNING \*\*: Locale not supported by C library.  
Using the fallback ‘C’ locale.  
[/code]  
I couldn’t get languages to work at all there…

---

<div class="post-metadata">

**Author:** ![KonstantinDmitriev](https://forums.synfig.org/user_avatar/forums.synfig.org/konstantindmitriev/32/3_2.png) [@KonstantinDmitriev](https://forums.synfig.org/u/KonstantinDmitriev)\
**Post date:** [January 21, 2013, 6:13am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/25 "2013-01-21T06:13:25Z")

</div>

> [@pixelgeek](#):
>
> I couldn’t get languages to work at all there…

Hi! A believe you should try

```auto
$ LANG=en_GB synfigstudio
```

instead of

```auto
$ LANG=GB_en synfigstudio
```

At least I have “$ LANG=ru\_RU synfigstudio” working as expected…

---

<div class="post-metadata">

**Author:** ![pixelgeek](https://forums.synfig.org/user_avatar/forums.synfig.org/pixelgeek/32/10_2.png) [@pixelgeek](https://forums.synfig.org/u/pixelgeek)\
**Post date:** [January 24, 2013, 3:53am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/26 "2013-01-24T03:53:49Z")

</div>

Nope. Not en\_GB or ru\_RU (or even just ru). Same error message. Ubuntu bug?

---

<div class="post-metadata">

**Author:** ![pixelgeek](https://forums.synfig.org/user_avatar/forums.synfig.org/pixelgeek/32/10_2.png) [@pixelgeek](https://forums.synfig.org/u/pixelgeek)\
**Post date:** [January 24, 2013, 5:10am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/27 "2013-01-24T05:10:01Z")

</div>

OK - Given that I can get translations of the GTK strings, I think I’ve got the .mo files in the right place. I’m now wondering if the binary I have is not locale aware. Looking at the Synfig code, it looks like there’s an ‘ENABLE\_NLS’ flag that needs to be set (which might also explain why the .mo files aren’t being automatically built). Where would be a good place to set that flag up?

---

<div class="post-metadata">

**Author:** ![Genete](https://forums.synfig.org/user_avatar/forums.synfig.org/genete/32/8_2.png) [@Genete](https://forums.synfig.org/u/Genete)\
**Post date:** [January 24, 2013, 7:38am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/28 "2013-01-24T07:38:26Z")

</div>

> [@pixelgeek](#):
>
> OK - Given that I can get translations of the GTK strings, I think I’ve got the .mo files in the right place. I’m now wondering if the binary I have is not locale aware. Looking at the Synfig code, it looks like there’s an ‘ENABLE\_NLS’ flag that needs to be set (which might also explain why the .mo files aren’t being automatically built). Where would be a good place to set that flag up?

Where exactly do you see at the Synfig code that there is an ‘ENABLE\_NLS’ flag that needs to be set?

I think that in any case it should go where gettext.h is included. See this: [lists.gnu.org/archive/html/grub- … 00340.html](http://lists.gnu.org/archive/html/grub-devel/2010-01/msg00340.html)

-G

---

<div class="post-metadata">

**Author:** ![pixelgeek](https://forums.synfig.org/user_avatar/forums.synfig.org/pixelgeek/32/10_2.png) [@pixelgeek](https://forums.synfig.org/u/pixelgeek)\
**Post date:** [January 25, 2013, 4:06am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/29 "2013-01-25T04:06:09Z")

</div>

config.h, generated by configure includes the lines

`/* Define to 1 if translation of program messages to the user's native
   language is requested. */
/* #undef ENABLE_NLS */
`  
general.h, includes

[code]/\* === H E A D E R S ======================================================= \*/

#include \<ETL/stringf\>  
#include “string.h”  
#include “version.h”  
#ifdef ENABLE\_NLS  
#include \<locale.h\>  
#include \<libintl.h\>  
#endif

/\* === M A C R O S ========================================================= \*/

#ifdef ENABLE\_NLS  
#define _(x) dgettext(“synfig”,x)  
 #define gettext\_noop(x) x  
 #define N_(x) gettext\_noop(x)  
#else  
#define dgettext(a,x) (x)  
#define _(x) (x)  
 #define N_(x) (x)  
#endif[/code]

main.cpp, includes

`
#ifdef ENABLE_NLS
	bindtextdomain("synfig", LOCALEDIR);
	bind_textdomain_codeset("synfig", "UTF-8");
#endif`

and definitions.h has

[code]/\* === M A C R O S ========================================================= \*/

#ifdef ENABLE\_NLS  
#undef \_  
#define \_(x) gettext(x)  
#else  
#undef \_  
#define \_(x) (x)  
#endif[/code]

---

<div class="post-metadata">

**Author:** ![d.j.a.y](https://forums.synfig.org/user_avatar/forums.synfig.org/d.j.a.y/32/113_2.png) [@d.j.a.y](https://forums.synfig.org/u/d.j.a.y)\
**Post date:** [January 25, 2013, 7:11am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/30 "2013-01-25T07:11:30Z")

</div>

hummm… smell good win’z cross-language software is baking…!

SO maybe, one day in this thread we could talk about the web site , and this absolutely important question : does multilanguage / cross platform (on even win’z) synfig feature … is or not a feature?

absolutely important question…

see-!ya\>

---

<div class="post-metadata">

**Author:** ![Genete](https://forums.synfig.org/user_avatar/forums.synfig.org/genete/32/8_2.png) [@Genete](https://forums.synfig.org/u/Genete)\
**Post date:** [January 25, 2013, 7:15am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/31 "2013-01-25T07:15:04Z")

</div>

> [@pixelgeek](#):
>
> config.h, generated by configure includes the lines …

Wow, that’s a mess!  
In general.h the macro \_(x) is defined as dgettext(“synfig”,x) but in definitions.h it is defined as gettext(x), so which is really used?  
Also, when ENABLE\_NLS is not defined, then the macro \_(x) is just replaced by x, so it maybe be one of the reasons why it doesn’t work in Windows.

We need to research how ENABLE\_NLS is defined in unix system and do the same in Windows.

-G

---

<div class="post-metadata">

**Author:** ![oho](https://forums.synfig.org/user_avatar/forums.synfig.org/oho/32/64_2.png) [@oho](https://forums.synfig.org/u/oho)\
**Post date:** [January 29, 2013, 11:06pm UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/32 "2013-01-29T23:06:10Z")

</div>

> [@Genete](#):
>
> Wow, that’s a mess!

Not really, you are making real progress here. Thank you & keep it going!

---

<div class="post-metadata">

**Author:** ![Genete](https://forums.synfig.org/user_avatar/forums.synfig.org/genete/32/8_2.png) [@Genete](https://forums.synfig.org/u/Genete)\
**Post date:** [January 31, 2013, 6:50am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/33 "2013-01-31T06:50:01Z")

</div>

A crazy idea about this:  
@pixelgeek: Why don’t replace one \_(“foo bar”) at the code with the corresponding gettext(“foo bar”) to trigger the warning or error messages that might complain about the missing translated string? That could help on debug what’s happening there.

-G

---

<div class="post-metadata">

**Author:** ![super\_animator](https://forums.synfig.org/letter_avatar_proxy/v4/letter/s/cab0a1/32.png) [@super\_animator](https://forums.synfig.org/u/super_animator)\
**Post date:** [February 1, 2013, 3:47am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/34 "2013-02-01T03:47:37Z")

</div>

@Genete: Please write down your findings concerning the current building process in the [building documentation](http://wiki.synfig.org/wiki/Developer_Documentationl) page. Willing to help, but the lack of doc prevents me doing so.

---

<div class="post-metadata">

**Author:** ![jcome](https://forums.synfig.org/user_avatar/forums.synfig.org/jcome/32/3512_2.png) [@jcome](https://forums.synfig.org/u/jcome)\
**Post date:** [February 1, 2013, 9:48am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/35 "2013-02-01T09:48:08Z")

</div>

> [@super animator](#):
>
> @Genete: Please write down your findings concerning the current building process in the [building documentation](http://wiki.synfig.org/wiki/Developer_Documentationl) page. Willing to help, but the lack of doc prevents me doing so.

[wiki.synfig.org/wiki/Developer\_Documentation](http://wiki.synfig.org/wiki/Developer_Documentation)l  
spell error ![:mrgreen:](https://forums.synfig.org/uploads/default/original/1X/15680453330e74f929b585a237613f0bdf61e069.gif "Mr. Green")

From my point of view, the code is the doc for a developer.

---

<div class="post-metadata">

**Author:** ![pixelgeek](https://forums.synfig.org/user_avatar/forums.synfig.org/pixelgeek/32/10_2.png) [@pixelgeek](https://forums.synfig.org/u/pixelgeek)\
**Post date:** [February 2, 2013, 3:22am UTC](https://forums.synfig.org/t/littles-about-the-web-site/2269/36 "2013-02-02T03:22:42Z")

</div>

I guess I could remove all the #ifdef ENABLE\_NLS lines 🙂  
It’ll have to wait until I get back from a business trip.

[Previous page](https://forums.synfig.org/t/littles-about-the-web-site/2269.md?page=1)
