Commit Graph

271 Commits

Author SHA1 Message Date
Campbell Barton
8fc11f79c5 quiet warning about the context not being used when internationalization is disabled. 2012-11-24 05:36:48 +00:00
Bastien Montagne
00b1d50532 Basic work to solve "New" translation mismatch (this is an adjective, which often takes several forms depending on its related noun's gender, in non-english languages). Note though this does not completly solve the problem (python "New" is still uncontextual).
Moved AUDIO context to ID_SOUND (let's try to keep this as simple as possible!).

Also done some cleanup. Relevant i18n tools edits will follow.
2012-11-23 15:33:44 +00:00
Bastien Montagne
0738284e32 Clen up of gettext stuff from scons scripts... Did not touch to buildbots ones, nor to iconv, as it’s still uncleare whether we can get rid of it :/ 2012-11-11 19:46:36 +00:00
Bastien Montagne
5ff3017900 Replacing gettext i18n backend by boost::locale one.
This commit adds a small and simplistic C wrapper around boost's locale library as intern/locale, and heavily simplifies/reduces Blender's own i18n code (under blenfont/ dir). And it adds back UI translation on windows' official builds (with msvc)!

Note to platform maintainers: iconv and gettext (libintl) can now be removed from precompiled libs (not gettext binaries, under windows, of course ;) ).

Note to MinGW32/64 users: boost_locale lib has not yet been uploaded for those build env, please disable WITH_INTERNATIONAL for now (hopefully will be fixed very soon, have contacted psy-fy).
2012-11-11 16:54:26 +00:00
Campbell Barton
c4f332084f code cleanup:
- blf doesnt have includes for TRUE/FALSE, use 1/0.
- rename ogl_multisamples -> multi_sample, also shorten enum strings.
2012-11-11 10:55:32 +00:00
Jason Wilkins
f5df1601d6 replace 0 and 1 with FALSE and TRUE in BLF_global_font_init in blf.c 2012-11-11 09:07:29 +00:00
Campbell Barton
d25b13d13f code cleanup: double promotion warnings, also allow cmake to build SDL without audaspace. 2012-11-09 16:15:00 +00:00
Bastien Montagne
c9307ec6a3 Fix for [#32992] Switching language does nothing under Windows.
Our current intl build for windows is quite old (don't know the exact version), and does not have the new setlocale overwrite. Problem is, new windows dll have no more the gettext_putenv helper, which is currently mandatory to make it work for this OS.

So back for now to the ugly long_locales for win. Best fix is probably to build our own static version of libl, but this is not trivial and will require some time. :/

PS: I had a look over i18n/translation in wxWidget, Qt and boost: all implement their own system, even though wxWidget and boost use po/mo files...
2012-11-02 20:03:15 +00:00
Bastien Montagne
9edec9f0f3 Fix #2 for [#32954] Crash when activating 'International Fonts' in User Preferences
I though allocating zero-sized mem would return a NULL pointer, but it looks like it does not... :/ Anyway, Blender should no more crash in case languages file is missing, will just use default (system) locale...
2012-10-23 19:39:32 +00:00
Sergey Sharybin
9756c85239 Fix #32954: Crash when activating 'International Fonts' in User Preferences 2012-10-23 17:58:46 +00:00
Bastien Montagne
40da6bb531 Update of the tools for the new "dynamic" i18n menu, to generate the languages file into locale dir... 2012-10-22 14:17:30 +00:00
Bastien Montagne
b5e85cae70 New "dynamic" i18n menu.
Now both UI translation menu (in userprefs) and isocodes are defined in a text file (release/datafiles/locale/languages), parsed at lunchtime. This way:
* No more need to edit Blender code each time we want to add an new language or reorganize the existing menu;
* Translators can easily add a new language for testing, by just editing the text file, so no more need to ask to change Blender code and wait for a new build to see your new translation work in Blender!

Remaining todo:
* Commit i18n py tools
* Update wiki doc!
2012-10-22 14:04:40 +00:00
Bastien Montagne
80d3423b00 Atempt to get rid of those ugly "long locales" under windows. Tested by me (win7 64, VC2008) and by Sergey. However, older OS (XP) may not work...
The idea behind this is that gettext lib has a func that mimics usual setlocale, but doing also the conversion to windows locale names. Let's hope it works everywhere!
2012-10-20 19:54:09 +00:00
Bastien Montagne
95a414955c Remove six languages from Blender UI (rational: very low level of translation, 1-2% at most, and no commit done in branch since more than one year): fi (Finnish), ca (Catalan), bg (Bulgarian), el (Greek), ne (Nepali) and pl (Polish).
Also fix compile in paranoid warning=errors mode for own last commit.
2012-10-20 08:52:54 +00:00
Bastien Montagne
494aa37f94 Fix unix language setting fallback (long_locale is windows only!). This was preventing setting language when you did not have the relevant locale installed under Linux... 2012-10-20 08:33:54 +00:00
Sergey Sharybin
0ee9f123b2 Fix #32819: Crash when starting CUDA kernel compilation if UI translation is not "Default"
Issue was caused by some boost filesystem routines accessing current locale
and such an access failed in cases code page isn't specified for the current
locale.

Made it so UTF-8 locale name would be tried to be used first.
2012-10-16 10:29:34 +00:00
Bastien Montagne
d485fdcf34 Adding new Esperanto language. 2012-10-15 17:48:33 +00:00
Bastien Montagne
36c53ec9c3 Adding Estonian new language. 2012-10-14 19:38:27 +00:00
Campbell Barton
4124e2e0c9 get the width and height of the font at once when drawing auto-key,
also move BLF'g global font init into its own static function.
2012-10-11 23:42:26 +00:00
Bastien Montagne
592f80625b Fix for commit r51049: no need to create two contexts when one if enough.
Also please define and use constants in BLF_translation.h rather than directly typing contexts' names, it's safer (typo would break at compile time, instead of generating more contexts!).
2012-10-04 18:53:17 +00:00
Bastien Montagne
e4ea07c709 Fix own error (wrong portuguese-brazilian Windows "long_locale" - yuck!), and some minor, non-code edits. 2012-09-25 06:11:32 +00:00
Campbell Barton
25c96bc9f3 code cleanup: remove unused macros, commet some which may be useful later - or good to keep for completeness. quieted some warnings and add flags -Wmissing-include-dirs and -Wno-div-by-zero to cmake/gcc 2012-09-20 01:02:39 +00:00
Campbell Barton
232571c61a code cleanup: replace macro for BLI_rect size/center with inline functions. 2012-09-15 11:48:20 +00:00
Sergey Sharybin
a73dd3476e Color Management, Stage 2: Switch color pipeline to use OpenColorIO
Replace old color pipeline which was supporting linear/sRGB color spaces
only with OpenColorIO-based pipeline.

This introduces two configurable color spaces:

- Input color space for images and movie clips. This space is used to convert
  images/movies from color space in which file is saved to Blender's linear
  space (for float images, byte images are not internally converted, only input
  space is stored for such images and used later).

  This setting could be found in image/clip data block settings.

- Display color space which defines space in which particular display is working.

  This settings could be found in scene's Color Management panel.

When render result is being displayed on the screen, apart from converting image
to display space, some additional conversions could happen.

This conversions are:

- View, which defines tone curve applying before display transformation.
  These are different ways to view the image on the same display device.
  For example it could be used to emulate film view on sRGB display.

- Exposure affects on image exposure before tone map is applied.

- Gamma is post-display gamma correction, could be used to match particular
  display gamma.

- RGB curves are user-defined curves which are applying before display
  transformation, could be used for different purposes.

All this settings by default are only applying on render result and does not
affect on other images. If some particular image needs to be affected by this
transformation, "View as Render" setting of image data block should be set to
truth. Movie clips are always affected by all display transformations.

This commit also introduces configurable color space in which sequencer is
working. This setting could be found in scene's Color Management panel and
it should be used if such stuff as grading needs to be done in color space
different from sRGB (i.e. when Film view on sRGB display is use, using VD16
space as sequencer's internal space would make grading working in space
which is close to the space using for display).

Some technical notes:

- Image buffer's float buffer is now always in linear space, even if it was
  created from 16bit byte images.

- Space of byte buffer is stored in image buffer's rect_colorspace property.

- Profile of image buffer was removed since it's not longer meaningful.

- OpenGL and GLSL is supposed to always work in sRGB space. It is possible
  to support other spaces, but it's quite large project which isn't so
  much important.

- Legacy Color Management option disabled is emulated by using None display.
  It could have some regressions, but there's no clear way to avoid them.

- If OpenColorIO is disabled on build time, it should make blender behaving
  in the same way as previous release with color management enabled.

More details could be found at this page (more details would be added soon):
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management

--
Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO
integration and to Brecht van Lommel for some further development and code/
usecase review!
2012-09-15 10:05:07 +00:00
Campbell Barton
fed6b2bcb7 code cleanup: remove paranoid/invalid NULL checks and also reduce some unneeded size_t -> int conversions. 2012-09-15 07:31:17 +00:00
Bastien Montagne
8367c79f69 Adding Hebrew language.
Note: looks like we do not have hebrew chars in current font... More FontForge fun ahead. :/
2012-09-07 16:06:58 +00:00
Bastien Montagne
b9e544e823 Adding brazilian portuguese language, as requested by portuguese team. 2012-09-05 18:35:22 +00:00
Campbell Barton
aaafa0c2fe code cleanup: move file string defines into BLI_path_utils.h, BKE_utildefines is now unused but keep incase we want to add defines there later. 2012-09-03 22:04:14 +00:00
Campbell Barton
56b28635e7 code cleanup: rename BLI_in_rctf() --> BLI_rctf_isect_pt(), to conform with our naming convention. 2012-08-23 18:25:45 +00:00
Campbell Barton
c92ab5c3ef code cleanup: use rect size macros 2012-08-21 20:34:05 +00:00
Campbell Barton
34ad9ec004 code cleanup: includes and correction for macro 2012-08-21 09:45:30 +00:00
Campbell Barton
869382403a mask: skip self intersection on drawing when fill is disabled, since it was only drawing on one side of an unfilled spline. 2012-08-21 09:20:35 +00:00
Campbell Barton
26f073b327 macros for rectangle center and size 2012-08-20 15:29:02 +00:00
Campbell Barton
10f631094c fix [#32126] STAMP: Setting a background color causes color flicker
when rendering the sequencer can output float or char buffers which stamp wasn't accounting for.
2012-08-12 22:50:21 +00:00
Campbell Barton
866f986898 fix for stamp text drawing into a color buffer not taking color management into account. 2012-08-12 22:18:20 +00:00
Bastien Montagne
d7c840aa0b Portuguese is now over 60% (also finisehd old portuguse_brazilian->portuguese move). 2012-07-23 12:10:21 +00:00
Bastien Montagne
0dafa97ea3 UI translation from inside Blender UI: first part.
This commit reshapes a bit runtime button info getter, by adding a new uiButGetStrInfo() which accepts a variable number of uiStringInfo parameters, and tries to fill them with the requested strings, for the given button (label, tip, context, RNA identifier, keymap, etc.). Currently used mostly by existing ui_tooltip_create(), and new UI_OT_edittranslation_init operator.

It also adds a few getters (to get RNA i18n context, and current language iso code).

Finally, it adds to C operators needed for the py ui_translation addon:
*UI_OT_edittranslation_init, which gathers requested data and launch the py operator.
*UI_OT_reloadtranslation, which forces a full reload of the whole UI translation (including rechecking the directory containing mo files).

For the first operator to work, it also adds a new user preferences path: i18n_branches_directory, to point to the /branch part of a bf-translation checkout.
2012-07-09 14:25:35 +00:00
Campbell Barton
75a5eab8d1 code cleanup 2012-07-08 21:37:59 +00:00
Campbell Barton
032d83ecc4 style cleanup: defines with braces 2012-05-27 20:13:59 +00:00
Campbell Barton
b33f0ef0e3 style cleanup 2012-05-27 19:40:36 +00:00
Campbell Barton
c8da0d01d4 style cleanup: whitespace 2012-05-11 16:11:52 +00:00
Jason Wilkins
a0ce240de9 Renamed "fake" OpenGL identifiers.
Any identifier that looks like an OpenGL identifier, but isn't, causes a false alarm by the glreport.py tool.  Most of these were in comments so I just rephrased the comments.  There were a couple of static functions/macros that were easy enough to rename.  Only the glTexco and glIndex fields of the DMVertexAttribs struct was public and had non-local uses.
2012-05-04 11:50:11 +00:00
Bastien Montagne
238af29b39 Adding Hungarian language. 2012-04-30 07:43:04 +00:00
Campbell Barton
343edf2722 style cleanup: function calls & whitespace. 2012-04-29 17:11:40 +00:00
Campbell Barton
e701f9b670 style cleanup: whitespace / commas 2012-04-29 15:47:02 +00:00
Campbell Barton
3486223607 code cleanup: remove/comment some unused code. 2012-04-17 05:09:37 +00:00
Bastien Montagne
310c0b9f10 Fixed another bunch of i18n bugs (thx to Leon Cheung for spotting them), among which:
* Drag'n'drop translation in Outliner
* "Execute" button in file window
* "Labels" of spacing elements, in multi-column enums
* A glitch with nodes "Value to RGB", they where called "ColorRamp" in node_type_base() call. This is not definitive, though, as it appears that UI node names are determined by this call, while it should be by "defines" in rna_nodetrre_types.h, I guess... Anyway, not good to have such things in two different places!

Also moved default context name under BLF_translation.h, much better to have those all in one place, accessible from whole Blender code!
2012-04-14 15:06:41 +00:00
Bastien Montagne
889dc208bf Grmph, BLF_(p)gettext were not protected against NULL message/context, was causing a sigsev with latest own commits (in File menu)! 2012-04-13 20:58:59 +00:00
Bastien Montagne
2f452250e5 Adding turkish (tr_TR) language. 2012-04-05 09:13:32 +00:00
Bastien Montagne
8f949dd58d Fixing kyrgyz language (code is ky_KG, just ky does not work...).
These keycodes are a mess, and impossible to test them all under linux, as you always have to install the corresponding locales... :(
2012-03-31 14:22:22 +00:00