Improved Internationalization and Localization
authorSergey Sharybin <sergey.vfx@gmail.com>
Tue, 20 Sep 2011 13:41:43 +0000 (13:41 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Tue, 20 Sep 2011 13:41:43 +0000 (13:41 +0000)
==============================================

Commiting GSoC project by Xiangquan Xiao trunk.

Applied as separated patch, because svn merge produces to much false
conflicts and worked really slow.

Details for usage would be published on code.blender.org soon.

Thanks to Xiao for implementation of project, Campbell to code review,
Dalai and Gez for pointing to nice font and everybody else who took
part in improving i18n support.

114 files changed:
SConstruct
po/POTFILES.in [new file with mode: 0644]
po/messages.txt [new file with mode: 0644]
po/update_mo.py [new file with mode: 0755]
po/update_po.py [new file with mode: 0755]
po/update_pot.py [new file with mode: 0755]
release/bin/.blender/.Blanguages
release/bin/.blender/fonts/droidsans.ttf.gz [new file with mode: 0644]
release/scripts/startup/bl_operators/wm.py
release/scripts/startup/bl_ui/properties_animviz.py
release/scripts/startup/bl_ui/properties_data_armature.py
release/scripts/startup/bl_ui/properties_data_bone.py
release/scripts/startup/bl_ui/properties_data_camera.py
release/scripts/startup/bl_ui/properties_data_curve.py
release/scripts/startup/bl_ui/properties_data_empty.py
release/scripts/startup/bl_ui/properties_data_lamp.py
release/scripts/startup/bl_ui/properties_data_mesh.py
release/scripts/startup/bl_ui/properties_data_metaball.py
release/scripts/startup/bl_ui/properties_data_modifier.py
release/scripts/startup/bl_ui/properties_game.py
release/scripts/startup/bl_ui/properties_material.py
release/scripts/startup/bl_ui/properties_object.py
release/scripts/startup/bl_ui/properties_object_constraint.py
release/scripts/startup/bl_ui/properties_particle.py
release/scripts/startup/bl_ui/properties_physics_cloth.py
release/scripts/startup/bl_ui/properties_physics_common.py
release/scripts/startup/bl_ui/properties_physics_field.py
release/scripts/startup/bl_ui/properties_physics_fluid.py
release/scripts/startup/bl_ui/properties_physics_smoke.py
release/scripts/startup/bl_ui/properties_physics_softbody.py
release/scripts/startup/bl_ui/properties_render.py
release/scripts/startup/bl_ui/properties_scene.py
release/scripts/startup/bl_ui/properties_texture.py
release/scripts/startup/bl_ui/properties_world.py
release/scripts/startup/bl_ui/space_console.py
release/scripts/startup/bl_ui/space_dopesheet.py
release/scripts/startup/bl_ui/space_graph.py
release/scripts/startup/bl_ui/space_image.py
release/scripts/startup/bl_ui/space_info.py
release/scripts/startup/bl_ui/space_logic.py
release/scripts/startup/bl_ui/space_nla.py
release/scripts/startup/bl_ui/space_node.py
release/scripts/startup/bl_ui/space_sequencer.py
release/scripts/startup/bl_ui/space_text.py
release/scripts/startup/bl_ui/space_time.py
release/scripts/startup/bl_ui/space_userpref.py
release/scripts/startup/bl_ui/space_userpref_keymap.py
release/scripts/startup/bl_ui/space_view3d.py
release/scripts/startup/bl_ui/space_view3d_toolbar.py
source/blender/blenfont/BLF_api.h
source/blender/blenfont/BLF_translation.h [new file with mode: 0644]
source/blender/blenfont/CMakeLists.txt
source/blender/blenfont/SConscript
source/blender/blenfont/intern/blf_lang.c
source/blender/blenfont/intern/blf_translation.c [new file with mode: 0644]
source/blender/blenlib/BLI_fileops.h
source/blender/blenlib/intern/fileops.c
source/blender/editors/armature/CMakeLists.txt
source/blender/editors/armature/SConscript
source/blender/editors/armature/poselib.c
source/blender/editors/include/UI_interface.h
source/blender/editors/interface/interface.c
source/blender/editors/interface/interface_handlers.c
source/blender/editors/interface/interface_intern.h
source/blender/editors/interface/interface_layout.c
source/blender/editors/interface/interface_panel.c
source/blender/editors/interface/interface_regions.c
source/blender/editors/interface/interface_style.c
source/blender/editors/interface/interface_templates.c
source/blender/editors/interface/interface_utils.c
source/blender/editors/interface/view2d.c
source/blender/editors/interface/view2d_ops.c
source/blender/editors/screen/area.c
source/blender/editors/space_buttons/CMakeLists.txt
source/blender/editors/space_buttons/SConscript
source/blender/editors/space_buttons/buttons_header.c
source/blender/editors/space_file/file_draw.c
source/blender/editors/space_file/file_panels.c
source/blender/editors/space_file/filesel.c
source/blender/editors/space_graph/CMakeLists.txt
source/blender/editors/space_graph/SConscript
source/blender/editors/space_graph/graph_buttons.c
source/blender/editors/space_info/space_info.c
source/blender/editors/space_logic/CMakeLists.txt
source/blender/editors/space_logic/logic_window.c
source/blender/editors/space_nla/CMakeLists.txt
source/blender/editors/space_nla/SConscript
source/blender/editors/space_nla/nla_buttons.c
source/blender/editors/space_node/node_draw.c
source/blender/editors/space_node/node_header.c
source/blender/editors/space_view3d/view3d_header.c
source/blender/editors/space_view3d/view3d_toolbar.c
source/blender/editors/transform/CMakeLists.txt
source/blender/editors/transform/SConscript
source/blender/editors/transform/transform_orientations.c
source/blender/makesdna/DNA_userdef_types.h
source/blender/makesrna/RNA_access.h
source/blender/makesrna/SConscript
source/blender/makesrna/intern/CMakeLists.txt
source/blender/makesrna/intern/SConscript
source/blender/makesrna/intern/rna_access.c
source/blender/makesrna/intern/rna_userdef.c
source/blender/python/SConscript
source/blender/python/generic/CMakeLists.txt
source/blender/python/generic/blf_py_api.c
source/blender/windowmanager/SConscript
source/blender/windowmanager/intern/wm_files.c
source/blender/windowmanager/intern/wm_init_exit.c
source/blender/windowmanager/intern/wm_operators.c
source/blender/windowmanager/intern/wm_window.c
source/creator/CMakeLists.txt
source/gameengine/GamePlayer/ghost/CMakeLists.txt
source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
source/gameengine/GamePlayer/ghost/SConscript

index 3432a7b71ba962f2524e5d7fd6d916e159130266..01522b3ae292d242c5d501c6b87fa36a76885bd1 100644 (file)
@@ -512,8 +512,10 @@ datafilestargetlist = []
 dottargetlist = []
 scriptinstall = []
 
-if  env['OURPLATFORM']!='darwin':
-        for dp, dn, df in os.walk('bin/.blender'):
+if env['OURPLATFORM']!='darwin':
+        for dp, dn, df in os.walk('release/bin/.blender'):
+            dp = os.path.normpath(dp)
+
             if '.svn' in dn:
                 dn.remove('.svn')
             if '_svn' in dn:
@@ -529,14 +531,14 @@ if  env['OURPLATFORM']!='darwin':
                     if f.endswith('.ttf'):
                         continue
                 
-                if 'locale' in dp:
+                if 'locale' in dp or 'fonts' in dp:
                     datafileslist.append(os.path.join(dp,f))
-                    dir= os.path.join(*([env['BF_INSTALLDIR']] + [VERSION] + ['datafiles'] + dp.split(os.sep)[1:]))    # skip bin
+                    dir= os.path.join(*([env['BF_INSTALLDIR']] + [VERSION] + ['datafiles'] + dp.split(os.sep)[3:]))    # skip bin
                     datafilestargetlist.append(dir + os.sep + f)
 
                 else:
                     dotblendlist.append(os.path.join(dp, f))
-                    dir= os.path.join(*([env['BF_INSTALLDIR']] + [VERSION] + ['config'] + dp.split(os.sep)[1:]))    # skip bin
+                    dir= os.path.join(*([env['BF_INSTALLDIR']] + [VERSION] + ['config'] + dp.split(os.sep)[3:]))    # skip bin
                     dottargetlist.append(dir + os.sep + f)
                     
         dotblenderinstall = []
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644 (file)
index 0000000..4c791dd
--- /dev/null
@@ -0,0 +1,222 @@
+release/scripts/modules/rna_prop_ui.py
+
+release/scripts/startup/bl_operators/animsys_update.py
+release/scripts/startup/bl_operators/object.py
+release/scripts/startup/bl_operators/object_align.py
+release/scripts/startup/bl_operators/object_quick_effects.py
+release/scripts/startup/bl_operators/object_randomize_transform.py
+release/scripts/startup/bl_operators/presets.py
+release/scripts/startup/bl_operators/screen_play_rendered_anim.py
+release/scripts/startup/bl_operators/sequencer.py
+release/scripts/startup/bl_operators/wm.py
+
+release/scripts/startup/bl_ui/properties_animviz.py
+release/scripts/startup/bl_ui/properties_data_armature.py
+release/scripts/startup/bl_ui/properties_data_bone.py
+release/scripts/startup/bl_ui/properties_data_camera.py
+release/scripts/startup/bl_ui/properties_data_curve.py
+release/scripts/startup/bl_ui/properties_data_empty.py
+release/scripts/startup/bl_ui/properties_data_lamp.py
+release/scripts/startup/bl_ui/properties_data_lattice.py
+release/scripts/startup/bl_ui/properties_data_mesh.py
+release/scripts/startup/bl_ui/properties_data_metaball.py
+release/scripts/startup/bl_ui/properties_data_modifier.py
+release/scripts/startup/bl_ui/properties_game.py
+release/scripts/startup/bl_ui/properties_material.py
+release/scripts/startup/bl_ui/properties_object_constraint.py
+release/scripts/startup/bl_ui/properties_object.py
+release/scripts/startup/bl_ui/properties_particle.py
+release/scripts/startup/bl_ui/properties_physics_cloth.py
+release/scripts/startup/bl_ui/properties_physics_common.py
+release/scripts/startup/bl_ui/properties_physics_field.py
+release/scripts/startup/bl_ui/properties_physics_fluid.py
+release/scripts/startup/bl_ui/properties_physics_smoke.py
+release/scripts/startup/bl_ui/properties_physics_softbody.py
+release/scripts/startup/bl_ui/properties_render.py
+release/scripts/startup/bl_ui/properties_scene.py
+release/scripts/startup/bl_ui/properties_texture.py
+release/scripts/startup/bl_ui/properties_world.py
+
+release/scripts/startup/bl_ui/space_console.py
+release/scripts/startup/bl_ui/space_dopesheet.py
+release/scripts/startup/bl_ui/space_graph.py
+release/scripts/startup/bl_ui/space_image.py
+release/scripts/startup/bl_ui/space_info.py
+release/scripts/startup/bl_ui/space_logic.py
+release/scripts/startup/bl_ui/space_nla.py
+release/scripts/startup/bl_ui/space_node.py
+release/scripts/startup/bl_ui/space_outliner.py
+release/scripts/startup/bl_ui/space_sequencer.py 
+release/scripts/startup/bl_ui/space_text.py
+release/scripts/startup/bl_ui/space_time.py
+release/scripts/startup/bl_ui/space_userpref.py
+release/scripts/startup/bl_ui/space_userpref_keymap.py
+release/scripts/startup/bl_ui/space_view3d.py
+release/scripts/startup/bl_ui/space_view3d_toolbar.py
+
+source/blender/editors/animation/anim_channels_edit.c
+source/blender/editors/animation/anim_markers.c
+source/blender/editors/animation/anim_ops.c
+source/blender/editors/animation/drivers.c
+source/blender/editors/animation/keyframing.c
+source/blender/editors/animation/keyingsets.c
+
+source/blender/editors/armature/armature_ops.c
+source/blender/editors/armature/editarmature.c
+source/blender/editors/armature/editarmature_sketch.c
+source/blender/editors/armature/poselib.c
+source/blender/editors/armature/poseobject.c
+source/blender/editors/armature/poseSlide.c
+
+source/blender/editors/curve/editcurve.c
+source/blender/editors/curve/editfont.c
+
+source/blender/editors/gpencil/gpencil_paint.c
+
+source/blender/editors/interface/interface_layout.c
+source/blender/editors/interface/interface_ops.c
+source/blender/editors/interface/interface_regions.c
+source/blender/editors/interface/interface_templates.c
+source/blender/editors/interface/interface_utils.c
+source/blender/editors/interface/view2d_ops.c
+
+source/blender/editors/mesh/editmesh.c
+source/blender/editors/mesh/editmesh_add.c
+source/blender/editors/mesh/editmesh_loop.c
+source/blender/editors/mesh/editmesh_mods.c
+source/blender/editors/mesh/editmesh_tools.c
+source/blender/editors/mesh/loopcut.c
+source/blender/editors/mesh/mesh_data.c
+source/blender/editors/mesh/mesh_ops.c
+
+source/blender/editors/metaball/mball_edit.c
+
+source/blender/editors/object/object_add.c
+source/blender/editors/object/object_constraint.c
+source/blender/editors/object/object_edit.c
+source/blender/editors/object/object_group.c
+source/blender/editors/object/object_lattice.c
+source/blender/editors/object/object_modifier.c
+source/blender/editors/object/object_ops.c
+source/blender/editors/object/object_relations.c
+source/blender/editors/object/object_select.c
+source/blender/editors/object/object_shapekey.c
+source/blender/editors/object/object_transform.c
+source/blender/editors/object/object_vgroup.c
+
+source/blender/editors/physics/particle_edit.c
+source/blender/editors/physics/particle_object.c
+source/blender/editors/physics/physics_pointcache.c
+
+source/blender/editors/render/render_internal.c
+source/blender/editors/render/render_opengl.c
+source/blender/editors/render/render_shading.c
+source/blender/editors/render/render_view.c
+
+source/blender/editors/screen/area.c
+source/blender/editors/screen/screendump.c
+source/blender/editors/screen/screen_ops.c
+
+source/blender/editors/sculpt_paint/paint_ops.c
+source/blender/editors/sculpt_paint/paint_image.c
+source/blender/editors/sculpt_paint/paint_utils.c
+source/blender/editors/sculpt_paint/paint_vertex.c
+source/blender/editors/sculpt_paint/sculpt.c
+
+source/blender/editors/sound/sound_ops.c
+
+source/blender/editors/space_action/action_edit.c
+source/blender/editors/space_action/action_ops.c
+source/blender/editors/space_action/action_select.c
+
+source/blender/editors/space_buttons/buttons_header.c
+source/blender/editors/space_buttons/buttons_ops.c
+
+source/blender/editors/space_console/console_ops.c
+
+source/blender/editors/space_file/file_draw.c
+source/blender/editors/space_file/file_ops.c
+source/blender/editors/space_file/file_panels.c
+
+source/blender/editors/space_graph/graph_buttons.c
+source/blender/editors/space_graph/graph_edit.c
+source/blender/editors/space_graph/graph_ops.c
+source/blender/editors/space_graph/graph_select.c
+
+source/blender/editors/space_image/image_buttons.c
+source/blender/editors/space_image/image_ops.c
+
+source/blender/editors/space_info/info_ops.c
+source/blender/editors/space_info/info_report.c
+source/blender/editors/space_info/space_info.c
+
+source/blender/editors/space_logic/logic_buttons.c
+
+source/blender/editors/space_nla/nla_buttons.c
+source/blender/editors/space_nla/nla_channels.c
+source/blender/editors/space_nla/nla_edit.c
+source/blender/editors/space_nla/nla_select.c
+
+source/blender/editors/space_node/node_buttons.c
+source/blender/editors/space_node/node_edit.c
+source/blender/editors/space_node/node_header.c
+source/blender/editors/space_node/node_ops.c
+source/blender/editors/space_node/node_select.c
+source/blender/editors/space_node/node_state.c
+
+source/blender/editors/space_script/script_edit.c
+
+source/blender/editors/space_sequencer/sequencer_add.c
+source/blender/editors/space_sequencer/sequencer_buttons.c
+source/blender/editors/space_sequencer/sequencer_edit.c
+source/blender/editors/space_sequencer/sequencer_select.c
+
+source/blender/editors/space_text/text_header.c
+source/blender/editors/space_text/text_ops.c
+source/blender/editors/space_time/time_ops.c
+
+source/blender/editors/space_view3d/view3d_buttons.c
+source/blender/editors/space_view3d/view3d_draw.c
+source/blender/editors/space_view3d/view3d_edit.c
+source/blender/editors/space_view3d/view3d_fly.c
+source/blender/editors/space_view3d/view3d_header.c
+source/blender/editors/space_view3d/view3d_select.c
+source/blender/editors/space_view3d/view3d_view.c
+source/blender/editors/space_view3d/view3d_toolbar.c
+
+source/blender/editors/transform/transform.c
+source/blender/editors/transform/transform_ops.c
+source/blender/editors/transform/transform_orientations.c
+
+source/blender/editors/util/undo.c
+
+source/blender/editors/uvedit/uvedit_ops.c
+source/blender/editors/uvedit/uvedit_unwrap_ops.c
+
+source/blender/makesrna/intern/rna_ID.c
+source/blender/makesrna/intern/rna_action.c
+source/blender/makesrna/intern/rna_color.c
+source/blender/makesrna/intern/rna_constraint.c
+source/blender/makesrna/intern/rna_curve.c
+source/blender/makesrna/intern/rna_fcurve.c
+source/blender/makesrna/intern/rna_material.c
+source/blender/makesrna/intern/rna_mesh.c
+source/blender/makesrna/intern/rna_modifier.c
+source/blender/makesrna/intern/rna_object.c
+source/blender/makesrna/intern/rna_object_force.c
+source/blender/makesrna/intern/rna_particle.c
+source/blender/makesrna/intern/rna_render.c
+source/blender/makesrna/intern/rna_scene.c
+source/blender/makesrna/intern/rna_space.c
+source/blender/makesrna/intern/rna_texture.c
+source/blender/makesrna/intern/rna_ui_api.c
+source/blender/makesrna/intern/rna_userdef.c
+source/blender/makesrna/intern/rna_wm.c
+source/blender/makesrna/intern/rna_wm_api.c
+source/blender/makesrna/intern/rna_world.c
+
+source/blender/windowmanager/intern/wm_files.c
+source/blender/windowmanager/intern/wm_operators.c
+source/blender/windowmanager/intern/wm_window.c
+
+
diff --git a/po/messages.txt b/po/messages.txt
new file mode 100644 (file)
index 0000000..b491061
--- /dev/null
@@ -0,0 +1,5433 @@
+The edited object
+Bezier curve point with two handles defining a Keyframe on an F-Curve
+Max Climb
+Media Stop
+System & OpenGL
+Strips Selected
+Active Keying Set
+Action Blending
+Bone is able to be selected
+Defines where the color of the environment light comes from
+Display files as short list
+Build 75% proxy resolution
+Right Mouse
+Cubic Catmull-Rom
+Particle system can be edited in particle mode
+UV editor data for the image editor space
+Editing hair
+Zoom using opposite direction
+Graph Editor space data
+Create obstacle
+Tiles
+Align newly added objects to the world coordinates
+Index of custom color set
+Sample point for F-Curve
+AVI Raw
+Linear Drag
+Color to display the marker with
+Channels Region
+Lower bound of envelope at this control-point
+Fluid
+Regions this area is subdivided in
+Double Click
+Disable simulation of linear motion along the X axis
+Sequencer OpenGL
+Child particles generated by the particle system
+Point in a shape key for curves
+Lock to Bone
+Sun Size
+Set modifier expanded in the user interface
+Multiple Scattering
+ID Name
+Steering
+Animation Visualisation
+Keyed States
+Fixed size vertex indices array
+Normal Size
+Track To
+Time since last access of a GL texture in seconds after which it is freed. (Set to 0 to keep textures allocated.)
+Collection of keymaps
+Texture datablocks
+Number of vertical pixels in the screen
+Fluid Simulation
+Zooms in and out like scaling the view, mouse movements relative to center
+Lattice Edit
+Snap onto its self (editmode)
+Only render what's in front of the solid z values
+True when multiple enums 
+Backdrop Zoom
+Causes mesh data to be duplicated with the object
+Automatic
+Small Caps
+UV Project
+UV Sync Selection
+Cloth dynamics for hair
+File Browser Main
+Sensitivity
+Amount of rotation around side vector
+Specify how many frames the Map Old will last
+Start Still
+Unique datablock ID name
+Active pose marker for this Action
+Draw Channels
+Smoothens emitted smoke to avoid blockiness
+Tool Settings
+Text Line
+Bone Constraints
+Toggle whether the material is linked to object data or the object block
+Falloff power for transmissivity filter effect (1.0 is linear)
+Only use case sensitive matches of search string
+Screw
+Region Text
+Representation of alpha information in the RGBA pixels
+Edges receive a drag force from surrounding media
+Sequence Transform
+Over Drop
+Domain Settings
+New F-Curve Colors - XYZ to RGB
+Space that owner is evaluated in
+Frame Step
+Enumeration
+Value of the item
+Parent of this pose bone
+B-Bone Z size
+Up Arrow
+For reactor systems, the object that has the target particle system (empty if same object)
+Shift key pressed
+Auto Refresh
+Bone Color Sets
+Positive values make strands rounder, negative makes strands spiky
+Collection of images
+Show actuators of active object
+interpolate a global timestamp using the record date and time written by recording device
+Main Lattices
+Variable from some source/target for driver relationship
+Z Location
+Auto-Clamped handle selected color
+Fixed Alternate
+Game engine sensor to detect events
+Include the frame number in image metadata
+Bone does not deform any geometry
+UV Textures
+Game
+Minimal Spring length * Ball Size
+16384
+Line in which the marker is located
+Offset X
+Rasterized cell height
+Edge Threshold
+-Z
+Set audio channels to mono
+Jump Speed
+HuffYUV
+Active Bone
+View3D Fly Modal
+Sets the audio channel count
+Rotation Damping
+Max Air Acceleration
+Snap center onto target
+Spring Damping
+Compact with Milliseconds
+Maintain speed, flight level or wander
+Interpolation type
+Type Info
+SIMD QBVH
+active
+Armature
+Match case
+16 Bit
+XZY Rotation Order. Prone to Gimbal Lock
+Auto handle selected color
+Theme File Browser
+Bake the normals in object space
+Enable color range used for weight visualization in weight painting mode
+Vorticity
+Open window
+Shows sensors for this object in the user interface
+Radius of head of bone (for Envelope deform only)
+Plain diffuse energy (white.)
+Elasticity
+Cache Step
+View Sliders
+Hair
+Filter Movies
+Material datablock used by this material slot
+Smooth Emitter
+Catalan (Català)
+RVO (cells)
+Home
+Action Mouse
+Show Debug Info
+Loads a saved environment map image from disk
+is_baking
+Scene datablocks
+Wire
+Group
+On Land
+Group Objects
+Time Step
+Keep UI
+Bone inherits rotation or scale from parent bone
+Show Selected Object
+Theme settings for the Outliner
+Time of key over the simulation
+Header Text
+Health
+Similar to SMPTE (Compact), except that instead of frames, milliseconds are shown instead
+Blender Original
+Deliver texture UV pass
+Index number of the vertex
+Stepped Interpolation
+Adds diagonal springs on 4-gons
+Shear
+Tent
+Strength of force field
+Space that target is evaluated in
+F11
+Star
+Library datablocks
+Line Input
+Lighten
+In Range
+Use Blender units for widths instead of pixels
+F17
+Node Socket
+Quad-Buffer
+Sets scaling for the texture's X, Y and Z sizes
+F14
+Motion Path settings for animation visualisation
+Make hairs longer
+Set audio sample format to 32 bit float
+Amount of anti-aliasing samples per pixel
+type
+Use optimized Bullet DBVT tree for view frustum and occlusion culling
+Make this surface a closed loop in the V direction
+Alpha Over
+Media player for video & png/jpeg/sgi image sequences
+Second input for the effect strip
+Space Logic Editor
+Snap during transform
+Edit Methods
+Left Handle
+B-Bone Ease Out
+Cyclic Offset
+Subtype
+Object Base
+Vertex Group Clump
+Letterbox
+Set audio channels to 7.1 surround sound
+V
+Quaternion (WXYZ)
+Image File
+Preset configs for external animation players
+Maximum Value
+Make this nurbs curve or surface act like a Bezier spline in the U direction (Order U must be 3 or 4, Cyclic U must be disabled)
+uk_UA
+3x3 bone matrix
+Vertex Weight
+Display Material
+Use a custom transform orientation
+GLSL Shaders
+Text
+Deliver shadow pass
+From node
+Keyframes
+Main Brushes
+Deliver diffuse pass
+Header
+Level detector, trigger controllers of new states(only applicable upon logic state transition)
+Collision Compound
+Increment
+Trackball
+Active Strip
+Initial Rest Length
+User defined layer of string text values
+Edge Tag Mode
+Invert tilt Axis
+Deliver emission pass
+Face Selected
+Xor
+Voronoi Crackle
+Align the transformation axes to the window
+Line sample
+Default Goal (vertex target position) value, when no Vertex Group used
+Type of raytrace accelerator structure
+Area Spaces
+Project individual elements on the surface of other objects
+Use the angle between two bones
+Aero
+Zmask
+Set audio sample format to 32 bit signed integer
+Scene render size
+Multiplier to convert blender units to physical distance
+Free Image Textures
+Metaball datablocks
+DPI
+Fill in Z values for solid faces in invisible layers, for masking
+Active Action for this datablock
+Use turntable style rotation in the viewport
+Format
+Use a Catmull-Rom filter for anti-aliasing
+Link material to object or the object's data
+Type of participation in the fluid simulation
+face normal
+Enable
+Final 4x4 matrix after constraints and drivers are applied (object space)
+Diameter of widget, in 10 pixel units
+ID Property
+Radius of tail of bone (for Envelope deform only)
+Custom Shape Transform
+Action FCurves
+Envelope Deform Weight
+A
+Renders star shaped lines over halo
+Fade-out Color
+Syntax Built-in
+Samples below this threshold will be considered fully shadowed/unshadowed and skipped (for Raytrace Adaptive QMC)
+Camera datablocks
+Bounding Box Center
+Middle Mouse
+Framerate base
+Touch
+Vortex
+Manipulator Size
+F-Curve Colors - XYZ to RGB
+Invert Output
+Calculate heights against unsubdivided low resolution mesh
+Shrinkwrap
+Window Deactivate
+Y position of the sequence strip
+The frame on which this sketch appears
+Snap to increments of grid
+Rest Length
+All
+Serbian (СÑ\80пÑ\81ком Ñ\98езикÑ\83)
+Sample Method
+Text Anti-aliasing
+Only allows given density value in emitter area
+Sequencer Preview Shading
+Lower field first
+File Name
+Show timing in seconds not frames
+Display the object as wire edges
+Billboard with Z-axis constraint
+Curves
+Displays clock frequency of fullscreen display
+X Rotation
+Sphere
+Select UVs that share mesh vertex, irrespective if they are in the same location
+8 bit RAW
+0.5 means no distance at all, 1.0 is maximum distance
+Sequencer
+Max Ghost Range
+An object instance in a scene
+User Interface
+Alt
+Vertex group name
+PNG
+Animated Selected
+Blue
+Damping of the spring force, when inside the physics distance area
+Plugin Strip
+Hide
+Pose Matrix
+Guide-free time from particle life's end
+Frame is being edited (painted on)
+Large Cursors
+Limit Rotation
+Draw only faces with the currently displayed image assigned
+Record Run
+Pixel width over which the reconstruction filter combines samples
+Global Scene
+Defines the structure of the header in the UI
+Source List Text Highlight
+User-editable keyframes
+Scaling factor for action
+Inner
+Active Constraint
+Side-by-side
+Right Arrow
+Causes the 1 to 0 keys to act as the numpad (useful for laptops)
+A collection of pose channels, including settings for animating bones
+Lennard-Jones
+Use a maximum radial distance for the field to work
+Location of tail end of the bone relative to armature
+Edit All
+estimate matrix .. split to COM , ROT ,SCALE 
+Use Coordinates
+Theme User Preferences
+Show line numbers next to the text
+Minimum speed in air (relative to maximum speed)
+Display keymap datablocks
+,
+Display Summary
+Channel Driver (only set for Driver F-Curves)
+Item
+In/Out Node
+Frame that modifier's influence ends (if Restrict Frame Range is in use)
+Premultiplied
+Number of frames cached
+Description of the Struct's purpose
+Tilt in 3D View
+Show Debug
+Offsets image horizontally from the world origin
+region_data
+Protect layer from further editing and/or frame changes
+File Format
+Retarget roll mode
+IK rot control
+Upper bound of envelope at this control-point
+Interaction Radius
+Syntax String
+Vertex group to control density
+Show Overexposed
+Vertices
+Kerning Style
+IK X Minimum
+Sets the factor by which the flare is larger than the halo
+Absolute ball size or factor if not manual adjusted
+Blend Opacity
+Steps
+Texture
+Settings for the visualisation of motion
+Group of vertices, used for armature deform and other purposes
+Limit Distance
+Minus
+No interpolation, fast but blocky and low quality
+Control
+Full SMPTE timecode. Format is HH:MM:SS:FF
+Open On Mouse Over
+Show sensors of active object
+Frame Server Port
+Noise patterns will remain unchanged, faster and suitable for stills
+Start
+RLE (lossless)
+True when the property is not saved in presets
+Images are rendered in new Window
+Theme Timeline
+If this is set, the header gets a custom ID, otherwise it takes the name of the class used to define the panel. For example, if the class name is "OBJECT_HT_hello", and bl_idname is not set by the script, then bl_idname = "OBJECT_HT_hello"
+The color that rays with no intersection within the Max Distance take (material color can be best for indoor scenes, sky color for outdoor)
+Show Cursor
+Goal Default
+Shape Key Point
+Object Origin Size
+Orthographic
+Invert y axis
+Unit Scale
+Collection of points for Bezier curves only
+Mouse
+Pivot Point
+UV Layer to control billboard splitting
+Only insert keyframes where they're needed in the relevant F-Curves
+IK Z Minimum
+Distance
+Key rotation quaternion
+Backscattered light
+Texture effector weight
+Volume rendering settings for a Material datablock
+Which output node to use, for node-based textures
+Handle 1 selection status
+Always render a still frame from the voxel data sequence
+Factor
++Z
+Numpad 4
+Type
+Action Groups
+Styles
+rv
+Recast data for a Game datablock
+Number of frames to show before the current frame (only for 'Around Current Frame' Onion-skinning method)
+Description of the property for tooltips
+Area in a subdivided screen, containing an editor
+IK Z Maximum
+Effect fader position
+Particle System to render as points
+Vertex Group Size Negate
+Simplify Subdivision
+Warp
+3D View center is locked to this bone's position
+Enable cluster collision between soft and rigid body
+04 - Theme Color Set
+Lamps
+Color Picker Type
+Location of the hair key in its internal coordinate system, relative to the emitting face
+Properties Space
+The view mode to use for displaying sequencer output
+Hold
+Prefetch Frames
+Pose Tail Position
+Amount of pixels to extend the baked result with, as post process filter
+Dummy
+Deliver full combined RGBA buffer
+Long Key Selected
+Extension
+Complete Matches Only
+Lines
+The external source data file to use
+The time (in minutes) to wait between automatic temporary saves
+Undo Memory Size
+Type of event mapping
+Animation Data
+Unique node identifier
+Draw white edges
+Show Menus
+W
+Inverse Kinematics
+Number of times a map will be rendered recursively (mirror effects.)
+Face Mask
+Density is calculated as a factor of default density (depends on particle size)
+Soft
+Use a maximum distance for the field to work
+Has IK
+Power of Fresnel for transparency (Ray or ZTransp)
+Name of PoseBone to use as target
+Display files as thumbnails
+Transparency blending mode
+Multiple Engines
+Bits
+Active Boid Rule Index
+Child Of
+Metric
+Proxy size 100%
+Module name
+Visible
+NLA Strip references some Action
+Average screen dimension of stars
+Converter Node
+Mirror
+Method of calculating aerodynamic interaction
+Curl
+Main Objects
+Only include channels relating to selected objects and data
+Set audio mixing buffer size to 256 samples
+Bake normals
+Uses direction of strands as normal for tangent-shading
+Textbox Width
+Pose
+Plasticity
+Object scale factor
+Boid effector weight
+Mass Vertex Group
+Fight
+Adjust the offset to the beginning/end
+Bone Solid
+NLA Strip representing a sound event for speakers
+Maximum contour edge length
+Build free run time code index using Record Date/Time
+End frame displayed in the sequence editor after offsets are applied
+NLA Strip acts as a container for adjacent strips
+Offsets image vertically from the world origin
+Block anything else from using the cursor
+Inverse Lift
+Maximum for slider
+Mode of automatic keyframe insertion for Objects and Bones (default setting used for new Scenes)
+Render Solid faces in this Layer
+Vertex Weight Edit
+Rotation style in the viewport
+Active Vertex Color Index
+Show the active object's smoke cache
+Action Extrapolation
+Resolution X
+Mesh
+Progress Bar Widget Colors
+Lock editing of rotation in the interface
+Draw faces over the image
+Press
+Weight Color Range
+Collection of vertex colors
+Thickness of strokes (in pixels)
+Resolution V
+Particle Target
+Object duplicate transformation matrix
+Luma
+Blend Out
+B
+B-Bone X size
+Anti-Aliasing Level
+Handle Vertex Size
+IK Lin Weight
+Negative
+End Still
+Y Offset
+Edge
+Amount of stickness to surface collision
+Bone Matrix
+Randomizes ring dimension and line location
+Velocity
+Respect the frame rate rather than rendering as many frames as possible
+Distance to the view location
+High res
+Object to take point data from
+Falloff type for proportional editing mode
+Region width
+Border Minimum Y
+Flash Video
+Active Section
+Channel defining pose data for a bone in a Pose
+Smoothed high quality interpolation, but slower
+Sets the audio sample rate
+Deliver raytraced refraction pass
+Land Personal Space
+Curve Splines
+Operating system key pressed
+14 - Theme Color Set
+Grease pencil data for this space
+Child particle interpolated from simulated or edited particles
+Editor header containing UI elements
+Select Head
+Catmull-Rom
+GLSL Nodes
+Make edges 'sail'
+Scattering
+Wire Select
+Unit
+Bezier Points
+Frame on which the simulation starts
+Animation Player
+Sequence Crop
+Autoname
+Dying
+Floor
+True when the property is hidden
+Cache Compression
+Keep Root
+Render Output Directory
+Multiple Caches
+External Shadows
+Points V
+Show Debug Properties
+White Level
+Framing Color
+Line Feed
+Logarithmic dissolve
+Circle
+Show movie files
+Maximum distance for the field to work
+Vertex Group Kink
+Enable anisotropic friction
+Use color management for GLSL rendering
+Exec Screen
+Render Layer
+Validity
+Show sensors of all selected objects
+Tessellation
+-
+F-Curve Modifier's effects will be tempered by a default factor
+Paths Type
+Cine-Scope 24fps 2048x858
+Use Mist
+Object Duplicate Matrix
+Repulsion force to apply on cloth when close to colliding
+Marker is temporary
+Collection of screens
+Lock X Axis
+Octree Resolution
+Control how much mist density decreases with height
+Custom Color Set
+Texture Context
+Active Vertex Group
+Disallow movement around the Y axis
+Edge Color
+Datablocks
+Channels of the image to draw
+2D Cursor
+Constant QMC
+Shape Key Curve Point
+Command output
+turbulence_strength
+Color used for active bones
+3D View center is locked to this object's position
+Vertex groups of the object
+Weights for the vertex groups this vertex is member of
+Invert Axes
+Euler Rotation
+Material to override all other materials in this render layer
+Tag Sharp
+Is part of an IK chain
+Output image in JPEG format
+Main Groups
+Slider Min
+Side
+Bone
+Square (HV + S)
+Transforms include effects of parenting/restpose and constraints
+Name of operator to call on input event
+Particle Speed
+Motion Blur
+Nurb V-lines
+Font size to use for displaying the text
+Tools
+Float
+Dynamic
+Scene
+Color curve mapping to use for displaying the image
+Set audio channels to 4 channels
+Free handle color
+16-bit Signed
+Active object for this scene
+Previous Angular Velocity
+Material Link To
+Solid Light
+Property Value
+Worldspace distance over which to blend in the surface normal
+NLA Strip is active
+Mini Axis Size
+Multiply direct lighting with ambient occlusion, darkening the result
+Moving things with a mouse drag confirms when releasing the button
+Show Render
+Camera this timeline sets to active
+Update Automatically
+Inwards component of the vortex force
+Edit texture nodes from Brush
+Current perspective matrix of the 3D region
+Opaque
+Goal (vertex target position) friction
+All rules are averaged
+Grease Pencil Stroke
+Display Object Info
+The maximum distance from which a boid can attack
+Curve interpolation at this point: Bezier or vector
+Both Z
+Textbox Y Offset
+Node group datablocks
+Ogg Theora
+Logic And
+Identifier of operator to call on input event
+Spaces contained in this area, the first being the active space. NOTE: Useful for example to restore a previously used 3d view space in a certain area to get the old view orientation
+Set audio channels to stereo
+Order V
+View & Controls
+Rec Run
+Upward spring force, when inside the physics distance area
+Mesh Texture Face Layer
+Transformation orientation
+Gives a radial field toward the center of object
+layout
+Extend
+Collision margin for soft body. Small value makes the algorithm unstable
+box radius
+Cache Index
+Free
+Inbetween Move
+Packed File
+Capsule
+UV projector used by the UV project modifier
+F-Curve Modifier has invalid settings and will not be evaluated
+Dopesheet
+Only Selected
+Replace Text
+Freq
+Sets maximum Y value for the render border
+Compositing nodes
+Waveform Opacity
+Layers that contain something
+Skip Save
+Same Types
+Include Missing NLA
+Level
+Free Unused Nodes
+Maximum distance to apply repulsion force, must be greater then minimum distance
+Display tooltips
+Hold RMB Open Toolbox Delay
+Random variation of friction
+Proportional Editing Falloff
+Object Modifiers
+Logic Xnor
+Move to center of neighbors and match their velocity
+Stretch or squeeze the viewport to fill the display window
+X
+Show frame numbers of Keyframes on Motion Paths
+Shaded
+Enhance the resolution of smoke by this factor using noise
+Backdrop
+Selected
+Refraction Exclude
+Enable bitmap text on face
+Button4 Mouse
+The direction that the OpenGL light is shining
+Images are rendered without forcing UI changes, optionally showing result
+A circular Hue/Saturation color wheel, with Value slider
+Input 3
+Input 2
+Input 1
+Engine to use for rendering
+Active UV Texture Index
+Include the render time in the stamp image
+Disabled
+Sets the amount mirror reflection for raytrace
+Game Object Settings
+Clear
+Max Physics Steps
+Find All
+3D View far clipping distance
+Activate or deactivate item
+Blobby element in a MetaBall datablock
+Only Render
+Radius of the agent
+Show Navigation Guide
+Default Colors
+Sets the dimension of the sub-flares, dots and circles
+Dynamic Friction
+fi_FI
+Viewpoint Object
+Display the object solid, lit with default OpenGL lights
+Use Global Coordinates
+Use the initial length as spring rest length instead of 2 * particle size
+Priority
+Render polygon transparent, depending on alpha channel of the texture
+Active File
+Manually determine the number of threads
+User Defined
+Vertex group to control clump
+Enable/Disable Constraint
+Object is detected by the Near and Radar sensor
+VBOs
+When false, this (sub)layout is greyed out
+Select Mouse
+The Drivers/Expressions for this datablock
+Individual Centers
+Enables automatic saving of preview images in the .blend file (Windows only)
+Shape key in a shape keys datablock
+Use left Mouse Button for selection
+Pivot around the 3D cursor
+Auto
+Registered
+Flares Sub
+Short List
+Sounds Directory
+Interpolate
+Game engine properties
+Allow drawing multiple strokes at a time with Grease Pencil
+Output image in (old!) SGI IRIS format
+Left Alt
+Sub Level Menu Open Delay
+Number of frames at start of strip to fade in influence
+Keyframe Points
+Noise algorithm - Voronoi F3: Returns distance to the 3rd closest feature point
+Display error text
+Vertex group for fine control over structural stiffness
+RNA Path (from ID-block) to property used
+Info
+User preferences space data
+C
+Emit Exclude
+Thumbnails
+Collision Sensor, detects static and dynamic objects but not the other collision sensor objects
+Lamp Sky Settings
+3D View center is locked to the cursor's position
+Manoeuvre to avoid collisions with other boids and deflector objects in near future
+Global gravity weight
+Curve or Surface subdivisions per segment
+The nominal number of game frames per second. Physics fixed timestep = 1/fps, independently of actual frame rate
+Back scattering (-1.0) to Forward scattering (1.0) and the range in between
+Library Path
+Calculate shadows while rendering
+Defines the strength of environment light
+Mux packet size (byte)
+Croatian (Hrvatski)
+Separate Colors
+Collider Friction
+Goal minimum, vertex group weights are scaled to match this range
+Gamma Cross
+Driver for the value of a setting based on an external value
+Unit System
+Highlight Line
+Constraint is the one being edited 
+Draw F-Curves using Anti-Aliasing and other fancy effects. Disable for better performance
+Keying Set
+UV Local View
+Changing edges seam re-calculates UV unwrap
+View3D Move Modal
+Any Type
+Image Paint
+Set audio mixing buffer size to 16384 samples
+Creates turbulence with a noise field
+Active EditBone
+Brush
+Show only sensors connected to active states
+Disable simulation of angular  motion along the Z axis
+3D View Generic
+Shape used as a relative key
+World Stars
+Use Environment Lighting
+X Location
+Auto Save Temporary Files
+Surface subdivisions per segment
+Output image in OpenEXR format
+Center
+Air has normally some thickness which slows falling things down
+Defines if the panel has to be open or collapsed at the time of its creation
+Parameters for the function
+Keep root keys unmodified
+Interpolate new particles from the existing ones
+Include visualization of Node related Animation data
+25%
+Sets the number of simulation substep per physic timestep, higher value give better physics precision
+Space in which transforms are used
+16x
+Sets the number of images of a movie to use
+Callback function defines for built-in Keying Sets
+20 - Theme Color Set
+How much heat effects smoke motion, higher value results in faster rising smoke
+Display when not linked to a visible states controller
+Collection of scenes
+256
+Smooth View
+Choose shading information to bake into the image
+Sets the number of star shaped lines rendered over the halo
+Textures
+Active spline
+Maximum bending stiffness value
+Eye Separation
+Window event timer
+Armature EditBones
+Game engine actuators to act on events
+End frame of range of paths to display/calculate (not for 'Around Current Frame' Onion-skinning method)
+Quad Split
+Auto handles clamped to not overshoot
+How much the spring has to be stretched/compressed in order to change it's rest length
+Show Brush On Surface
+.
+Defines the structure of the panel in the UI
+Handle 2 selected
+Use lights for GLSL rendering
+Groups
+Textured
+Camera rotation in horizontal axis
+Blender RNA
+Type of ID-block that can be used
+Column number to show right margin at
+Game Soft Body Settings
+Activity Culling
+Local Space
+Sets the layer as active for rendering
+Rotate From Normal
+IK Y Lock
+Amount of influence constraint will have on the final solution
+The window relative horizontal location of the mouse
+Set audio mixing buffer size to 2048 samples
+Lighting Mode
+Object to use as projector transform
+Numpad -
+Location to store the proxy files
+Add directed noise to the density at render-time
+Physics Sub Steps
+Mesh Faces
+Apply on spline
+Armature Sketch
+Render Halos in this Layer (on top of Solid)
+Nla Strips
+Weight used by the Bevel modifier
+Color range used for weight visualization in weight painting mode
+Boid Rules
+Delay between repeated pulses(in logic tics, 0=no delay)
+Billboard Time Index UV
+Game Data
+IK X Limit
+Theora
+Hook
+Collection of materials
+Lifetime mapped as 0.0 - 1.0 intensity
+Property Editor
+Vorbis
+Allow Land
+Tip select mode
+Navigation Mesh
+Limit the texture size to save graphics memory
+Game engine user defined object property
+Sticky vertex selection disabled
+Display an isolated sub-set of objects, apart from the scene visibility
+Straight Alpha
+Wheel Out
+Sequence Proxy
+Text displayed and edited in this space
+Custom Object
+Numpad +
+Menu
+Active Point Cache Index
+Starting frame of the stored range
+Panel Style
+Emphasize position of keyframes on Motion Paths
+Libraries
+Restrict Frame Range
+Quadratic Drag
+Display X Axis
+Copy of the colors associated with the group's color set
+Use a Mitchell-Netravali filter for anti-aliasing
+ID of the item
+Marker selection state
+Good smoothness and speed
+Use Onion Skinning
+Draw type for drawing UV edges
+id
+Result strip replaces the accumulated results by amount specified by influence
+Transform Space
+Speed factor
+Collection of group sockets
+Highlight Keyframes
+Hide files/datablocks that start with a dot(.*)
+Use 3D transform manipulator
+Value of shape key at the current frame
+Python
+Save tiles for all RenderLayers and SceneNodes to files in the temp directory (saves memory, required for Full Sample)
+Perspective Matrix
+Meta strip stack, last is currently edited meta strip
+Noise algorithm - Voronoi F2: Returns distance to the 2nd closest feature point
+Auto Keyframe Insert Keying Set
+2D Cursor Location
+Vertex Weight Mix
+Group Index
+Add hairs
+Bake textures
+Crop to Border
+Initial boid health when born
+When rendering animations, save JPG preview images in same directory
+The number of grid lines to display in perspective view
+Worlds
+The distance between 3D View grid lines
+Vector font datablocks
+Tag Bevel
+Negate the effect of the kink vertex group
+Use viscoelastic springs instead of Hooke's springs
+Frameserver Port for Frameserver Rendering
+Shows actuators for this object in the user interface
+Show Info
+Grease Pencil Euclidean Distance
+Pixels moved by mouse per axis when drawing stroke
+Color balance parameters for a sequence strip
+Collision Quality
+Triple Buffer
+Face is used for shadow
+Include visualization of World related Animation data
+Resolution of the voxel grid, low resolutions are faster, high resolutions use more memory
+Regular Widget Colors
+Y
+Bezier Curve Point
+To node
+Puff Mode
+Root
+Deliver Z values pass
+Coordinates of the control point
+Transforms don't include parenting/restpose or constraints
+Keying Set Path
+Friction force if a collision happened. (higher = less movement)
+Theme settings defining draw style and colors in the user interface
+MPEG-4(divx)
+Display reference images behind objects in the 3D View
+Collection of Node Links
+Follow Leader
+Hide objects on these layers when generating the Environment Map
+Line Number
+Fields per Frame
+Harmonic Damping
+Weight hair particles
+Use the Blender internal rendering engine for rendering
+Rotation/Scaling Pivot
+Minimum radial distance for the field's fall-off
+Duration
+Causes curve data to be duplicated with the object
+Absolute
+pt_BR
+Active Layer
+YCbCr (ITU 601)
+Average distance between any two stars
+Multitexture materials
+GLSL
+Current Scene
+How many keys to make new particles with
+Hide element
+Main Meshes
+Text character formatting settings
+Main Material
+Collection of object modifiers
+Maximal resolution used in the fluid domain
+Amount of light that gets emitted by the volume
+Grid
+Use For Growing Hair
+Parent edit bone (in same Armature)
+Use a column layout for toolbox
+Sort by time
+When transforming strips, changes to the animation data are flushed to other views
+Theme settings for widget color sets
+Inner Thickness
+Keying Set defines specific paths/settings to be keyframed (i.e. is not reliant on context info)
+Constant Jittered
+Weight to assign in vertex groups
+Bone Armature-Relative Matrix
+Rest length of the harmonic force
+user_preferences
+Gimbal
+Alpha Under
+RNA property definition
+YXZ Euler
+Use shadows for GLSL rendering
+IOR
+Gives the flare extra strength
+Editor menu containing buttons
+Right handle selection status
+Minimum Value
+Action referenced by this strip
+Display and edit the grease pencil freehand annotations overlay
+Path edit mode
+Smooth falloff
+Preferences related to viewing data
+Max Edge Error
+A square showing Hue/Value, with Saturation slider
+D
+Material slot in an object
+Set audio sample format to 8 bit unsigned integer
+User defined integer number value in an integer properties layer
+Output image to a frameserver
+Single Layer
+Radius of boids personal space in air (% of particle size)
+YCbCr (Jpeg)
+Length
+Specular
+Proportional Editing using connected geometry only
+Convex Hull
+Mid-range quality and speed
+Scale of the added turbulent noise
+Only use complete matches of search string
+Show Splash
+Wind
+Repulsion Force
+Method used to convert stroke to bones
+Show Pose Markers
+Frame on which the simulation stops
+Warp Data
+Key angular velocity
+select_start
+Show Linked to Controller
+Struct in which this struct is always nested, and to which it logically belongs
+Include a custom note in image metadata
+Log conversion gamma
+Transform Orientation
+Number of CPU threads to use simultaneously while rendering (for multi-core/CPU systems)
+Which style to use for font kerning
+Fall-Off
+Render voxels from a Blender smoke simulation
+Draw the points which make up the strokes (for debugging purposes)
+Frames
+Original image height
+Use face for collision and ray-sensor detection
+Around Frame
+Image Strip
+Bounding Box
+Device up/down directly controls your Z position
+The Runge-Kutta ODE solver error limit, low value gives more precision, high values speed
+Original image width
+Show Margin
+Transform Modal Map
+Stiff Quads
+System
+Spherical Panoramic
+Onion Skinning settings for animation visualisation
+KeyMap Items
+Valid
+MP2
+Handle 2 Type
+Italic
+Material Raytrace Mirror
+Object Grouped Active
+Use Frame Rate
+sv_SE
+Samples
+Name
+Material mode to use for rendering
+Cube
+Result color of the volume, after other light has been scattered/absorbed
+Use Min
+Display the center and axis during rotation
+Multiplier for intensity values
+Render Edge-enhance in this Layer (only works for Solid faces)
+Material datablocks
+/
+Arabic (اÙ\84عربÙ\8aØ©)
+Most compact representation. Uses '+' as separator for sub-second frame numbers, with left and right truncation of the timecode as necessary
+Filter 2D
+Lift
+Lighting for a World datablock
+External
+Collection of metaballs
+Sets the hardness of the halo
+General rotation damping
+Constraint name
+Hardness
+Syntax highlight for scripting
+Parameters and Settings for the Filebrowser
+Edit Path
+Rot Matrix
+Global Time
+Grease Pencil Manhattan Distance
+Grouping Method
+Lock view rotation in side views
+Effector Group
+Collection of armature edit bones
+Flare
+Control Point selected
+Freehand curves defining the sketch on this frame
+Make this nurbs surface act like a Bezier spline in the V direction (Order V must be 3 or 4, Cyclic V must be disabled)
+Operator
+Near
+Use the pinned context
+Display files as a detailed list
+On Selected Bones Only
+Has Reports
+Property
+Collection of related sketches
+Control point mass values
+Chance that the particle will pass through the mesh
+Sticky Selection Mode
+Font
+Key Modifier
+Clip
+Edit texture nodes from Object
+resolution_y
+Storage of an operator being executed, or registered after execution
+Image
+Density Scale
+Active Render Layer
+Space DopeSheet Editor
+Maximal
+Indirect Factor
+Pixel Filter
+Upper field first
+Static
+AVI
+Internal Friction
+Global Hair
+Level height
+Bake Specular colors
+DopeSheet space data
+Registered Optionally
+Causes actions to be duplicated with the object
+Enable collisions with other objects
+Theme settings for the Properties
+Region ID
+Strength
+Use nodes for GLSL rendering
+General Mass value
+Damping Factor
+Show Paint
+Weight of a particle dupliobject in a group
+Shows controllers for this object in the user interface
+Allow the use of colors indicating constraints/keyed status
+Target Object
+Texture Paint
+Defines how AO mixes with material shading
+Driver Variable
+Wrap words if there is not enough horizontal space
+Point in a shape key for Bezier curves
+Directory/name to save animations, # characters defines the position and length of frame numbers
+Follow Path
+Use a cubic filter for anti-aliasing
+Media First
+Use so the operator grabs the mouse focus, enables wrapping when continuous grab is enabled
+Draw Frames
+Length of rays, defines how far away other faces give occlusion effect
+Lock Scale
+Method of attenuating density by distance from the point
+8-bit Unsigned
+File Paths
+Point Source
+cs_CZ
+Pose Space
+Sort the file list alphabetically
+Provides an alternative access to loc/scale/rotation relative to the parent and own rest bone
+Collision Type
+Collection of node trees
+Occlusion Resolution
+Apply sun effect on sky
+Stamp Note Text
+Traditional Chinese (ç¹\81é«\94中æ\96\87)
+Scene layers included in this render layer
+Weight used by the Bevel modifier 'Only Vertices' option
+IK Y Stiffness
+The default directory to search for texture plugins
+Vertex Group Velocity Negate
+Modifiers
+Invoke Region Window
+Auto Perspective
+Module
+The clarity of the refraction. Values < 1.0 give diffuse, blurry refractions
+Display Camera
+Subdivisions
+Blendfile Data
+Location of custom proxy file
+Solidify
+Do a full redraw each time, slow, only use for reference or when all else fails
+Horizon Spread
+06 - Theme Color Set
+Show a visualization of physics bounds and interactions
+Z
+Quick Cache
+Show Error
+Left
+Property that stores arbitrary, user defined properties
+UV 4
+Resolution %
+Scattering color
+UV 1
+UV 3
+UV 2
+Handle 2
+Display datablocks in visible layers
+Handle 1
+Left handle selection status
+Active Keying Set Index
+SMPTE (Full)
+Use textures to affect material properties
+Draw Modified Edges
+Maximum caused damage on attack per second
+Shape Key
+Enable file compression when saving .blend files
+Script datablocks (DEPRECATED)
+Frame rate for the screencast to be played back
+MPEG-1
+Use Sketching Sessions
+MP3
+Use ObColor instead of vertex colors
+Lock X Rotation Axis
+Envelope Tail Radius
+Causes armature data to be duplicated with the object
+The menu label
+Allow Flight
+Keyed timing
+Free Run (rec date)
+Use a 3D manipulator widget for controlling transforms
+Insert Keyframes - Only Needed
+Show handles of Bezier control points
+Bone is not visible when it is not in Edit Mode (i.e. in Object or Pose Modes)
+Inverse Quadratic
+ru_RU
+Use the value from some RNA property (Default)
+Calculate point velocities automatically
+Actions
+Modifiers affecting all the F-Curves in the referenced Action
+Enables automatic saving of preview images in the .blend file
+Animation Player Preset
+16 - Theme Color Set
+Vector handle color
+Proxy render size
+Clip Max X
+Clip Max Y
+Open in thumbnail view for images and movies
+Physics Engine
+Description
+Sort files by size
+Particle Cache
+Action Influence
+Envelope
+View Perspective
+IK X Maximum
+Boid States
+Display datablocks of selected objects
+Full Sample
+Animation data for datablock
+Channel
+Interpolation mode used for first keyframe on newly added F-Curves. Subsequent keyframes take interpolation from preceeding keyframe
+Order U
+Timecode
+Distance moved by mouse when drawing stroke (in pixels) to include
+Calculate radiosity in a pre-process before rendering
+Selected to Active
+For RGB curves, the color that black is mapped to
+Mesh Texture Face
+E
+For Pose-Mode drawing, only draw ghosts for selected bones
+Landing Smoothness
+Grease Pencil Frame
+Shift
+Mouse Move
+Button 3
+Auto-detect
+Space Timeline Editor
+Only Selected Keyframes Handles
+Use smoke density as texture data
+Operator has a set of reports (warnings and errors) from last execution
+Layered
+Object Vertices
+Set audio mixing buffer size to 512 samples
+Duplicate Metaball
+Saves this datablock even if it has no users
+Cine-Scope 48fps 2048x858
+Ad-hoc correction for over-occlusion due to the approximation
+Line Info
+Filtering Group
+Choose the method used to split a quad into 2 triangles for baking
+Menu Item Colors
+Blending factor for Fresnel
+Constant
+Mitchell-Netravali
+Color
+Button 8
+IK solver for which these parameters are defined, 0 for Legacy, 1 for iTaSC
+Include visualization of Camera related Animation data
+Free Run
+Opacity of the points
+Button 9
+Collection of speakers
+Adaptive QMC
+Layers the object base is on
+NLA Generic
+Sort by size
+Friend
+Velocity Min
+The brightness of the icon
+Show the active object's cloth point cache
+Invoke Default
+Amplification
+Display warnings
+Realtime
+Size of the font used when rendering stamp text
+Refraction
+Third input for the effect strip
+Snap to vertices
+Global child particles percentage
+Faces collide too, can be very slow
+Disable collision for this object
+Disable the time difference between fields
+The default directory to search for loading fonts
+Automatic keyframe insertion in available curves
+Bake the normals in camera space
+Show Header
+layers
+Color for all strokes in this layer
+Top Level Menu Open Delay
+Exec Area
+Auto Render
+Type of periodic offset on the curve
+Key location
+Use scaled and grid-fitted kerning distances
+Stars setting for a World data-block
+Burn
+Set audio sample format to 24 bit signed integer
+Standard
+0
+Tag Crease
+Image Sequence
+Function is registered as callback as part of type registration
+UV Layer to control billboard normals
+Auto-Keying Mode
+Bitrate
+Back scattering weight
+Select where rendered images will be displayed
+The shape of the reflection, from 0.0 (circular) to 1.0 (fully stretched along the tangent
+Gamma Corrected Color
+AutoMerge Keyframes
+Hold the first frame if no previous strips in track, and always hold last frame
+Active PoseChannel constraint
+Scene Bases
+Vertex Colors
+Collection of mesh faces
+string
+Live search filtering string
+Sequencers active strip
+Number of scene samples to take with motion blur
+Vertex Group for pinning of vertices
+Display libraries
+The number of fields per rendered frame (2 fields is 1 image)
+Allow any .blend file to run scripts automatically (unsafe with blend files from an untrusted source)
+Frame of referenced Action to evaluate
+Line Error
+Plus
+Coordinates
+Roll CW
+Envelope Control Point
+Invert roll Axis
+Source List Text
+The file extension used for saving renders
+Last selected element
+Radial falloff power (real gravitational falloff = 2)
+Face Normal
+Fluid Simulation Settings
+Disable or enable the render layer
+Tap
+Active Bone Group
+Show render related properties
+Number of vertical pixels in the rendered image
+Child of this pose bone
+Location of Center of mass
+Show background image in back view
+Max Land Acceleration
+3D View
+Snap to actual frames/seconds (nla-action time)
+Two-side
+Tag
+Enables Anti-aliasing
+Smoke domain settings
+Tab
+Default Closed
+SPH Fluid Settings
+Dome physical configurations
+Theme settings for the User Preferences
+Front-Truncated
+Has the current session been saved to disk as a .blend file
+12 - Theme Color Set
+Box
+Constraint modifying the transformation of objects and bones
+Curve datablocks
+Adjustment Layer
+Velocity Scale
+Field of View of the Dome - it only works in mode Fisheye and Truncated
+Jitter
+Audio Window
+Use Grease Pencil
+Filter Blender
+Start frame displayed in the sequence editor after offsets are applied, setting this is equivalent to moving the handle, not the actual start frame
+Create springs for this number of frames since particles birth (0 is always)
+Label
+Object this base links to
+Apply channel rotation as IK constraint
+PCM
+Percentage
+Render Sky in this Layer
+Red
+pl_PL
+Datablock whose nodes are being edited
+Draw user interface text anti-aliased
+Head
+Subdivide stroke in bones of specific length
+Use the depth under the mouse to improve view pan/rotate/zoom functionality
+Texture to use as force
+RNA type definition
+PIZ (lossless)
+Bit depth per channel
+Billboard Split UV
+Pxr24 (lossy)
+Region height
+Heat
+Particle select and display mode
+Normalized
+Mux Packet Size
+Diameter in Pixels for Object/Lamp origin display
+Distance between subsequent volume depth samples
+Swap the Mouse Wheel zoom direction
+Sequence editor space data
+The context in which the panel belongs to. (TODO: explain the possible combinations bl_context/bl_region_type/bl_space_type)
+Bake from Multires
+Start size of strands in pixels or Blender units
+Shape Key datablocks
+Targa
+Particle Instance
+Bezier V
+Multiplier to bring particle speed within an acceptable range
+Collision Group
+Limit effectors to this Group
+Display datablocks of all objects of same type as selected object
+The constraint is applied relative to the local coordinate system of the object, with the parent transformation added
+Deliver normal pass
+Location of tail end of the bone
+The transformation of the target is evaluated relative to the world coordinate system
+File Path
+O
+FLAC
+UV Layer to control billboard time index (X-Y)
+Blender Units
+Vertex Group Tangent Negate
+Set color of selected color stop
+Pivot center for rotation/scaling
+Set audio sample format to 16 bit signed integer
+Zooms in and out based on horizontal mouse movement
+Invert Zoom
+Alpha Mode
+bl_use_postprocess
+Land Stick Force
+Create empty placeholder files while rendering frames (similar to Unix 'touch')
+Face Collision
+Automatic keyframe insertion for Objects and Bones
+Damp
+Disable simulation of angular  motion along the X axis
+RNA Array Index
+Unsigned Number
+Output video in MPEG format
+Dead
+Text Widget Colors
+Auto Save Time
+Freehand curve defining part of a sketch
+Header Text Highlight
+Seed
+True when the Ctrl key is held
+Raytrace Acceleration Structure
+Which direction is used to calculate the effector force
+Addon Key Configuration
+Data point for freehand stroke curve
+Number of cone samples averaged for blurry reflections
+F8
+Filter Sound
+Mass of cloth material
+Matrix
+Action Group that this F-Curve belongs to
+Subdivide stroke adaptively, with more subdivision in curvier parts
+How many steps to draw the path with
+Space Text Editor
+Handle Vertex
+Render face two-sided
+Mist uses inverse quadratic progression
+DV
+Has Maximum
+Skip Quad to Triangles
+Number of times to repeat the action range
+Maximum Distance
+is_baked
+Amount of damping during collision
+F9
+8192
+X Offset
+Image Pin
+Accuracy of attack
+Continuously unwrap the selected UV island while transforming pinned vertices
+Collection of grease pencils
+Gesture Border
+Exclude raytraced reflection pass from combined
+Choose normal space for baking
+Boid state for boid physics
+Occluder for optimizing scene rendering
+Axis Angle
+Field settings for an object in physics simulation
+Rotation Mode
+Active Spline
+Buoyancy
+Element of a curve, either Nurbs, Bezier or Polyline or a character with text objects
+Start player with a visible mouse cursor
+Bars
+Armatures active edit bone
+Breakdown
+Color Mode
+Diffuse
+01 - Theme Color Set
+Start position of the marker in the line
+Consider objects as whole when finding volume center
+Iris
+Save Buffers
+Time Scale
+Split quads predictably (1,2,3) (1,3,0)
+Constraint
+Display Hidden
+Receive shadows from sources outside the volume (temporary)
+Required
+Domain
+Display Speaker
+GLSL Ramps
+Point data to use as renderable point density
+Keyframe insertion only when keyframe needed
+Audio Sample Rate
+Area width
+Time
+Texture datablock used by this texture slot
+Draw Waveform
+DPX
+Expression
+Voxel data settings
+Constraints
+State Colors
+Influence setting is controlled by an F-Curve rather than automatically determined
+Number of frames between paths shown (not for 'On Keyframes' Onion-skinning method)
+Set audio sampling rate to 48000 samples per second
+Order of video fields. Select which lines get rendered first, to create smooth motion for TV output
+Surface Diffuse
+Magnetic
+Stamp Background
+Radius of the activity bubble, in Manhattan length. Objects outside the box are activity-culled
+Show Warn
+When bone has a parent, bone's head is struck to the parent's tail
+Timer 0
+Timer 1
+Timer 2
+Display Y Axis
+Frame player from IRIDAS
+Children
+Zoom To Mouse Position
+Shadows
+Use High Quality Drawing
+Exclude emission pass from combined
+Invert rotation axis
+Plane
+Drivers
+Particle system in an object
+Shader Nodes
+Z-Buffer
+Soft to Soft Body
+Expanded in the user interface
+After Current
+Mix
+Object Color
+Fresnel
+Main Cameras
+Atmosphere Extinction
+Use Indirect Lighting
+Elastic Limit
+Material Slot
+Resolution of raytrace accelerator. Use higher resolutions for larger scenes
+Falloff Power
+Mesh Deform
+Show influence curves on strips
+Tweak timing for physics to control frequency and speed
+IK X Stiffness
+Theme settings for the File Browser
+Images are saved with RGB (color) data
+1
+Textured Fonts
+Data type of the property
+Gain
+Scale X
+Is Perspective
+Metaball
+IK Z Stiffness
+B-Bone Display X Width
+Space Console
+Handle type for handles of new keyframes
+Left Mouse
+Macro
+Average
+Curve
+Sketches for this layer on different frames
+User interface layout in a panel or header
+Error Tolerance
+Axis of mouse movement to zoom in or out on
+Disable auto (de)activation in physics simulation
+Softness
+Inherit Scale
+Graph Editor
+Method of shading, attenuating, and scattering light through the volume
+View
+Position Iterations
+H.264
+Romanian (Român)
+Still Frame Number
+Extension Filter
+Vertex Group Roughness End Negate
+Specular Colors
+Minimal Info
+Face selection mode
+Reflection Color
+Node Editor
+Proportional distance over which the light is diffused
+Use Local Coords
+Zmask Negate
+Property that gives the name of the struct
+Rotation in quaternions (keep normalized)
+On Keyframes
+Pulse False Level
+Animated
+Main Grease Pencils
+Alpha Sort
+Factor for ambient occlusion blending
+Active vertex color index
+Generator
+Author
+Restrict Animation Updates
+Lock editing of four component rotations by components (instead of as Eulers)
+NLA Track is evaluated itself (i.e. active Action and all other NLA Tracks in the same AnimData block are disabled)
+The diffuse color of the OpenGL light
+Do not calculate lighting and shadows
+Max Sample Error
+Cut
+Starting distance of the mist, measured from the camera
+Damping
+Push an undo event (needed for operator redo)
+White
+Sets the strength of the add effect
+Collection of lamps
+Animation
+Parent bone (in same Armature)
+Environment Maps
+Inputs
+Direction
+Max difference in heights of obstacles to enable their interaction
+group
+75%
+Hide this curve in editmode
+Deformed Location
+Include visualization of Lattice related Animation data
+Weighted result of strip is multiplied with the accumulated results
+Cloth Settings
+Sharp edge for the EdgeSplit modifier
+Collection of groups
+window
+Preset
+Theme Outliner
+Fast Navigate
+Draw Smooth Edges
+Collection of curves
+Star Tips
+NLA Evaluation Enabled
+3D Cursor Location
+Spline Bezier Points
+Stereo
+Page Up
+Negate the effect of the field vertex group
+Collide All
+Items Expanded
+Marker for noting points in the timeline
+Z Direction
+Causes lamp data to be duplicated with the object
+Scene Strip
+Boid state name
+Simulation value to be used as a texture
+64-bit Float
+Domain Object
+Right
+Shape of clumping
+XZY Euler
+Group Sockets
+Individual pose bones for the armature
+Min Step
+Manipulator Scale
+Main Armatures
+Die Time
+Number of frames to show after the current frame (only for 'Around Current Frame' Onion-skinning method)
+Placeholders
+name
+Unfitted
+Minimum regions size. Smaller regions will be merged
+Mesh Selection Mode
+Method to draw in the sequencer view
+Mute
+Down Arrow
+Render Strands in this Layer
+Child Particles
+Duplicate Action
+IK Param
+Main Images
+Weight for cloth simulation
+Index number of the vertex group
+Collection of NLA Tracks
+Sequence strip data for a single frame
+Sculpt/Paint Use Unified Strength
+Audio Mixing Buffer
+ID-block that the specific property used can be found from (id_type property must be set first)
+Linear physics
+Use Collision Bounds
+Passes
+Noise algorithm - Original Perlin: Smooth interpolated noise
+Additive
+Handle 2 selection status
+Trigger controllers only for an instant, even while the sensor remains true
+Loose edge
+Edit animation/keyframes displayed as 2D curves
+Sculpt/Paint Use Unified Radius
+Index to the specific property affected by F-Curve if applicable
+Main Window Managers
+Unit to use for displaying/editing rotation values
+Editmode bone in an Armature datablock
+Bending Stiffness Maximum
+Selection state of the curve point
+Enable pinning of cloth vertices to other objects/positions
+Shared
+Zoom = Up/Down
+NLA Strips
+Text to search for with the find tool
+Use a DCI Standard preset for saving jpeg2000
+Blend Mode
+Space Sequence Editor
+Textures Directory
+Bone is always drawn as Wireframe regardless of viewport draw mode. Useful for non-obstructive custom bone shapes
+Include the name of the active scene in image metadata
+F-Curve Name Filter
+Time in 1/10 seconds to hold the Right Mouse Button before opening the toolbox
+pin_id
+Fluid interaction radius
+NLA Strip 'transitions' between adjacent strips
+Editable
+Emission
+Template armature that will be retargeted to the stroke
+Selection status
+Texture slot defining the mapping and influence of a texture
+Connected
+Key
+Align the transformation axes to world space
+Transform parameters for a sequence strip
+Layer Opacity
+Use the Bullet physics engine
+Method for generating shadow samples (for Raytrace)
+Effect particles' dynamic rotation
+Show options for whether channels related to certain types of data are included
+G
+Collection of group objects
+Make hairs shorter
+Show properties marked for debugging while the game runs
+Invert x axis
+Greek (Î\95λληνικά)
+Smooth
+Sync view position between side views
+Used Layers
+Active File Text
+F18
+F19
+Force effector weight
+The distance over which the mist effect fades in
+Edge Select
+F12
+F13
+F10
+Display Meshes
+F16
+Options
+Grease Pencil datablocks
+F15
+Output video in AVI JPEG format
+Sky Color
+blend_data
+Temporary Directory
+Current rendering engine is a game engine
+100%
+Vertex Group Roughness 2
+IK Rot Weight
+Handle Type
+Bevel Weight
+F-Curve Modifier Type
+int
+No Sleeping
+Save TIFF with 16 bits per channel
+ID Property Group
+Island selection mode
+Collection of texts
+Edges collide too
+512
+Sets minimum Y value for the render border
+Mouse X Position
+Active screen showing in the window
+Stamp Note
+Number of horizontal tiles to use while rendering
+Tilt
+Child Particle
+Action Start Frame
+Media Last
+Pass in multilayer image
+Back Space
+Outflow
+Active Boid State Index
+Enable cluster collision between soft and soft body
+Instance support leads to effective memory reduction when using duplicates
+Xvid
+Realtime display of a modifier
+Sets the layer as active for display and editing
+Wireframe
+Grease Pencil Eraser Radius
+Accurate, but slow when noise-free results are required
+Syntax Special
+Repeat
+Global undo works by keeping a full copy of the file itself in memory, so takes extra memory
+Strength of noise
+Vertical
+Separate
+Self Friction
+Snap median onto target
+Area
+Falloff
+REC709
+Smooth the normals of the surface or beveled curve
+2D View Minimum Grid Spacing
+Font Style
+Image datablocks
+3D region in this space, in case of quad view the camera region
+Sound datablocks
+Auto Velocity
+Data
+Bake the normals in world space
+Lock Camera and Layers
+Vertex group to control rotation
+Global
+Sun Brightness
+Optional custom node label
+Align to Normal
+Directory displayed in the file browser
+Deliver speed vector pass
+Enabled
+Frame player from Tweak Software
+Weighted result of strip is removed from the accumulated results
+A animation layer containing Actions referenced as NLA strips
+Key configuration that can be extended by addons, and is added to the active configuration when handling events
+Dominant
+Line Output
+Seam edge for UV unwrapping
+Options for this panel type
+Menu Widget Colors
+Main Worlds
+Shadowed
+11
+Atmosphere
+Create representation for obstacle simulation
+Estimated rotation matrix
+16
+Pose 
+Sun size
+NodeTree
+RGB
+2048
+Anaglyph
+Active Object
+Collection of curve splines
+Marker highlighting a portion of text in a Text datablock
+DopeSheet
+Magnetic effector weight
+Render face transparent and add color of face
+Previous Rotation
+Display Shapekeys
+Aggression
+en_US
+Color space to use for internal XYZ->RGB color conversion
+Numpad 7
+Sets the maximum number of physics step per game frame if graphics slows down the game, higher value allows physics to keep up with realtime
+Keying Sets All
+Boid
+Numpad 6
+Snap Element
+it_IT
+Include the name of the foreground sequence strip in image metadata
+Metaballs
+Active particle system being displayed
+Toggle between moving the viewpoint or moving the scene being viewed
+Use a Gaussian filter for anti-aliasing
+ChannelDriver Variables
+MetaBall
+Combined
+FFmpeg video codec #1
+Use Default Fade
+Numpad 3
+ZXY Rotation Order. Prone to Gimbal Lock
+Index to the specific setting if applicable
+Bake Mirror values
+Use vBVH
+Apply channel size as IK constraint if stretching is enabled
+Invert Zoom Direction
+Numpad 1
+Edge Sharp
+Unit Settings
+Stamp Frame
+Brush datablocks
+use global timestamp written by recording device
+Mapping
+Snap active onto target
+Rigid Body Joint
+Rate control: buffer size (kb)
+Scale factor along the Y for items in this (sub)layout
+RGBA
+Half
+Sets the number of rings rendered over the halo
+Turbulence
+Graph Editor instance has some ghost curves stored
+Halo
+No display
+Stiffness Scaling
+Use a custom falloff curve
+Contents Follow Opening Direction
+Off
+Seam
+Sculpt
+Sequences
+Stiff viscosity is a factor of normal viscosity
+Curve Guide
+Proportional Editing disabled
+Rotate Around Selection
+Key Maps
+Minimum
+Align newly added objects facing the active 3D View direction
+Tool Properties
+Amount of noise for the force strength
+Amount of ray samples. Higher values give smoother results and longer rendering times
+Numpad 8
+]
+Exclude specular pass from combined
+Stamp Scene
+Collection of grease pencil layers
+Choose Collision Type
+Amount to blend in the material's diffuse color in raytraced transparency (simulating absorption)
+Particle system has been edited in particle mode
+Stroke conversion method
+Properties acting as inputs for this driver
+Point Cache
+Window Manager Event
+Collection of brushes
+Don't use a physics engine
+Material Override
+Temperature difference to ambient temperature
+State determining which controllers are displayed
+All Object Origins
+Uses extreme alpha
+Node Tree
+Before Current
+Array
+Collision settings for object in physics simulation
+Stretch To
+F-Curves for controlling the strip's influence and timing
+Field Order
+Hide Dot Files/Datablocks
+Loose
+Use Game Engine
+Onion Skinning (ghosting) settings for visualisation
+Draw dashed black-white edges
+Align handle selected color
+Minimum number of pixels between each gridline in 2D Viewports
+Sky
+Spring Frames
+Location of head end of the bone
+Active key configuration (preset)
+Width
+Action Group is selected
+Collection of Texture Nodes
+Collection of add-ons
+States which are being used by controllers
+Gravity or external force vector
+NLA Track is active
+Ogg
+Roll
+Grless
+Wheel Down
+Amount of friction during particle collision
+Search in all text datablocks, instead of only the active one
+View pivot location
+Draw image with RGB colors and alpha transparency
+Resolution
+Use the scene's active camera and layers in this view, rather than local layers
+Every point is effected by multiple springs
+Vertex
+Include the filename of the .blend file in image metadata
+Maximum distance error from contour to cells
+Output video in H.264 format
+Action displayed and edited in this space
+History
+Local View
+Stamp Text Color
+Translation
+IK Y Maximum
+File Select Parameters
+Shared Vertex
+Safe Margin
+Tip Size
+Edge color
+Negate the effect of the size vertex group
+Game engine controllers to process events, connecting sensor to actuators
+Triangle Mesh
+NLA Strip is played back in reverse order (only when timing is automatically determined)
+Scale Y
+H
+Main Lamps
+Approximate
+Controllers
+Deliver specular pass
+The number of old versions to maintain in the current directory, when manually saving
+Theme settings for the NLA Editor
+Nearest Marker
+Randomize star colors
+Theme settings for the Sequence Editor
+Index of refraction (higher values are denser)
+Local Location
+Default Key Configuration
+Show background image while looking to the right
+The space where the header is going to be used in
+Max number of vertices per polygon
+Quality of JPEG images, AVI Jpeg and SGI movies, Compression for PNG's
+Averaged Value
+Use a box filter for anti-aliasing
+Spin CCW
+Color to use for stamp text
+Wheel Invert Zoom
+Lock Camera to View
+New Interpolation Type
+Main data structure representing a .blend file and all its datablocks
+Calculate bone paths from heads
+Layer of vertex colors in a Mesh datablock
+Is this keymap item user defined (doesn't just replace a builtin item)
+Main Textures
+Enable soft body shape matching goal
+How many self collision iterations should be done. (higher is better quality but slower)
+Collection of scene bases
+Show right margin
+Ambient Occlusion
+Frame this control-point occurs on
+Snap to edges
+Turbulence effector weight
+Build record run time code index
+float
+Use Edges as springs
+Rings
+Color Ramp Elements
+Charge
+Thickness
+Zmask Layers
+The panel label, shows up in the panel header at the right of the triangle used to collapse the panel
+Spread
+Cluster Iterations
+Location
+Weight Paint
+15 - Theme Color Set
+space_data
+Vertex group to control kink
+If this is set, the menu gets a custom ID, otherwise it takes the name of the class used to define the panel. For example, if the class name is "OBJECT_MT_hello", and bl_idname is not set by the script, then bl_idname = "OBJECT_MT_hello"
+Path is being edited
+ShapeKey Editor
+AC3
+Set audio channels to 5.1 surround sound
+Minimum Size
+Path to a custom animation/frame sequence player
+Smoke inherits it's velocity from the emitter particle
+Display Lists
+Maximum number of frames on either side of the active frame to show (0 = show the 'first' available sketch on either side)
+Compress File
+Bezier U
+Displace
+Velocity Max
+Use Right Mouse Button for selection
+Box Backdrop Colors
+Exec Default
+3
+Path point is selected for editing
+Bone Group
+When calculating Bone Paths, use Head or Tips
+Project Individual Elements
+Parameters for IK solver
+Show the object origin center dot for all (selected and unselected) objects
+BLI BVH
+Realtime Updates
+Shutter
+How strongly the fluid tries to keep from clustering (factor of stiffness)
+Target
+Scrollbar
+Show controllers of all selected objects
+Instead of per brush radius, the radius is shared across brushes
+screen
+Use large mouse cursors when available
+Keymap is defined by the user
+Grease Pencil Stroke Point
+48 kHz
+Use the manipulator for rotation transformations
+Bullet
+Armature Bones
+Directory
+TimeCode Style
+Identifier
+Does full Sky texture render for diffuse energy
+Items in the keymap, linking an operator to an input event
+AvMinMax
+Multiply the current speed of the sequence with this number or remap current frame to this frame
+Apply force only in 2d
+MPEG
+Is this keymap item modified by the user
+Zoom in towards the mouse pointer's position in the 3D view, rather than the 2D window center
+How smoothly the boids land
+region
+Swedish (Svenska)
+Region in a subdivided screen area
+Add indirect light bouncing of surrounding objects
+Factor Radius
+Obstacle
+Color used for selected bones
+Line Numbers
+Draw edges after modifiers are applied
+Space Info
+Multicam Selector
+Reflection Exclude
+Weight of scale constraint for IK
+Node editor space data
+Link between nodes in a node tree
+Show the entire viewport in the display window, viewing more horizontally or vertically
+Pixel distance around the handles to accept mouse clicks
+Initial State
+Sum Values
+Channel Group
+Tools can use this to tag data, (initial state is undefined)
+The default directory to search for textures
+Lin error
+F-Curve is selected for editing
+Keying Sets
+Release confirms
+64
+Title for the file browser
+Sets the audio sample format
+Invert y Axis
+Include the name of the last marker in image metadata
+Collection of keyframe points
+3D View space data
+Vortex effector weight
+Object adds fluid to the simulation
+Use smoke velocity as texture data
+Maximum Radial Distance
+The axis to display the image on
+Keying set options
+Horizon Brightness
+Render Engine
+Display Particle
+Exclude AO pass from combined
+Lights user to display objects in solid draw mode
+Textbox Height
+Point coordinates
+Axis Angle (W+XYZ). Defines a rotation around some axis defined by 3D-Vector
+Text Editor
+Use display lists to speed up rendering by keeping geometry on the GPU
+Actuators
+Make this nurbs curve or surface meet the endpoints in the U direction (Cyclic U must be disabled)
+es_ES
+Auto Run Python Scripts
+Subtract
+Screen Editing
+Properties in the struct
+Set audio sampling rate to 96000 samples per second
+Scale to use when converting between blender units and dimensions
+Mouse/Trackpad Zoom
+X Ray
+Maximum distance of reflected rays (reflections further than this range fade to sky color or material color)
+True when this property is an output value from an RNA function
+False when F-Curve could not be evaluated in past, so should be skipped when evaluating
+Fresnel Factor
+Minimum for slider
+Use Goal
+Sets how the texture is extrapolated past its original bounds
+Minimum size of strands in pixels
+Points
+Motion Path
+Emission Color
+Global maximum shadow samples
+Path
+Action
+Sets the number of sub-flares
+Used State
+Update other affected window spaces automatically to reflect changes during interactive operations such as transform
+Filter Script
+Method to interpolate/smooth values between voxel cells
+Gives halo a texture
+Show markers belonging to the active action instead of Scene markers (Action and Shape Key Editors only)
+Divide
+Proportional Editing mode, allows transforms with distance fall-off
+Angular distortion between UV and 3D angles
+Random variation of damping
+Channels Selected
+plugin
+Spline IK
+The frame on which the timeline marker appears
+Snap to 1.0 frame/second intervals
+Handle 1 selected
+Free all image texture from memory after render, to save memory before compositing
+Method used for combining Active Action's result with result of NLA stack
+If enabled, stiffness can be scaled along a weight painted vertex group
+Invert z Axis
+Minimum regions size. Smaller regions will be deleted
+Display Mode
+Text bounding box for layout
+Onion Skinning
+Open
+User Add-Ons
+Output file format
+Size
+Backdrop X offset
+Active Pose Marker Index
+Text Marker
+Number of preprocessing passes to reduce overocclusion
+Modifiers affecting the shape of the F-Curve
+Wheel In
+Mesh Face
+Rotation Angle
+Path to a setting for use in a Keying Set
+Sync Markers with keyframe edits
+Whether to use minimum clipping value
+Main Actions
+Editing context being displayed
+Raytraced refraction settings for a Material datablock
+Enable image painting mode
+Hidden
+When adding objects from a 3D View menu, either align them to that view's direction or the world coordinates
+Only show and edit handles of selected keyframes
+Cinema 48fps 2048x1080
+Max Rate
+Envelope Head Radius
+Use old Octree structure
+Global maximum subdivision level
+Use this object's coordinate system instead of global coordinate system
+Viscosity
+Theme Properties
+Boolean Property
+UV Selection Mode
+Force the curve view to fit a defined boundary
+Objects
+Default (Default)
+Shade Down
+Grease Pencil Layers
+Current Keying Set index
+Shadow Exclude
+Root Size
+Rest Shade Key
+Framerate, expressed in frames per second
+Scrollback
+Overlay Lock
+Duplicate Text
+Russian (РÑ\83Ñ\81Ñ\81кий)
+10 - Theme Color Set
+Collection of texture slots
+ID Materials
+I
+The distance from which particles are affected fully
+Action Pose Markers
+Clamp velocity to this maximum speed
+English (English)
+JPEG
+L
+Display only files with extensions in the image select window
+Theme Sequence Editor
+ID From
+All Scenes
+Make hairs longer or shorter
+Handle Vertex Select
+With displacement normalize to the distance, with ambient occlusion normalize without using material settings
+Physics
+ID
+Mesh Vertex Color Layer
+Use curve weights to influence the particle influence along the curve
+Cached location on path
+Motion
+Node tree being displayed and edited
+Tangent Shading
+Mesh Vertex Color
+B-Spline
+Based on distance/falloff it adds a portion of the entire path
+Theme settings for the Audio Window
+Displacement
+Coordinates of the second handle
+Rendering settings for a Scene datablock
+Radius of boids personal space on land (% of particle size)
+Live Edit
+The length of the contents of this strip before the handles are applied
+Display Armature
+Length Mode
+Display datablocks of active object
+SDL
+Collection of Nla Strips
+Amount the Active Action contributes to the result of the NLA stack
+Show only actuators connected to active states
+Vertex group for fine control over bending stiffness
+4 Channels
+Bake displacement
+Acceleration
+Angular Velocity
+Boid Rule
+Action Group
+Split quads predictably (0,1,2) (0,2,3)
+Struct definition this is derived from
+Include the current date in image metadata
+Action Group is expanded
+Draw title safe margins in preview
+Output image in DPX format
+Include visualization of Object-level Animation data (mostly Transforms)
+Proxy size 25%
+16 bit color channels
+The default directory to search for sounds
+Log
+Redraw all overlapping regions, minimal memory usage but more redraws
+International Fonts
+5.1 Surround
+Linear
+Settings that should be keyframed together
+Factor Repulsion
+Overlap Flip
+The active face for this mesh
+Turn on SB diagnose console prints
+Dome
+Brazilian Portuguese (Português do Brasil)
+Make hairs stand up
+Uses the vertex normal to specify the dimension of the halo
+Key maps configured as part of this configuration
+Active Space
+4
+Theme Text Editor
+Method to display/shade objects in the 3D View
+Make this nurbs surface meet the endpoints in the V direction (Cyclic V must be disabled)
+Normalized Coordinates
+Glow
+Diffusion
+Enemy
+Co-ordinate system to cache vertices in
+Show state panel
+Show ghosts on keyframes
+Anti-Aliasing
+Zoom Axis
+Reactor Target Particle System
+First input for the effect strip
+Radians
+Free Nodes that are not used while compositing, to save memory
+Transform
+Free handle selected color
+Maximum depth for light to travel through the transparent material before becoming fully filtered (0.0 is disabled)
+Button 10
+Amplitude
+Show Active States
+Space Nla Editor
+Vertex group to control length
+In text window, paste with middle mouse button instead of panning
+Collection of object constraints
+Transparent RGB pixels are multiplied by the alpha channel
+Calculates environment map at each rendering
+Deform
+Choose BW for saving greyscale images, RGB for saving red, green and blue channels, AND RGBA for saving red, green, blue + alpha channels
+Tweak Right
+44.1 kHz
+Include visualization of Texture related Animation data
+Set layer Visibility
+Deliver mist factor pass (0.0-1.0)
+Sort files by modification time
+Minimal # solver steps/frame
+Have recent edits been saved to disk
+Keying Set Paths to define settings that get keyframed together
+Pressure of tablet at point when drawing it
+Show background image while looking to the left
+Sharp
+Only include F-Curves with names containing search text
+Number of spaces to display tabs with
+Puff Volume
+Video bitrate(kb/s)
+Linear Stiffness
+Vertex Group Tangent
+Amount of dithering noise added to the rendered image to break up banding
+Absorption
+Find Wrap
+Enable hair dynamics using cloth simulation
+The type of the Sequencer view (sequencer, preview or both)
+Number Widget Colors
+File Extensions
+Theme Node Editor
+Object Duplicate
+Goal Maximum
+Size of element, use of components depends on element type
+Word Wrap
+Any
+More than one rendering engine is available
+Cached positions per frame
+Control key pressed
+Collection of armatures
+Gloss Anisotropy
+Tracking by taking the shortest path
+Spherical falloff
+Objects further than this are not visible to map
+Driver could not be evaluated in past, so should be skipped
+Insert Keyframes - Visual
+Rule Evaluation
+Negate the effect of the velocity vertex group
+The frame number to always use
+ca_AD
+Visibility
+Bone associated with this PoseBone
+Envelope Deform Distance
+Invoke Area
+Theme Info
+Current Keying Set index (negative for 'builtin' and positive for 'absolute')
+Black
+Lock editing of location in the interface
+Interface
+Auto Keying Enable
+Save luminance-chrominance-chrominance channels instead of RGB colors
+Left Ctrl
+Multiplier to adjust velocity passed to smoke
+Font size and resolution for display
+Extreme
+Show Controllers
+Render engine
+Render image to two fields per frame, for interlaced TV output
+To socket
+Activate TRUE level triggering (pulse mode)
+Temp. Diff.
+Expanded
+Target particle system
+Which part to snap onto the target
+local space unit length normal vector for this face
+Keying Set Name
+Python Console
+Show Hidden
+The region relative horizontal location of the mouse
+Nurb active V-lines
+Set position of selected color stop
+Fixed size UV coordinates array
+Reactor Target Object
+Node tree type to display and edit
+Display datablocks in current scene
+Color and Alpha
+Causes texture data to be duplicated with the object
+Item in a Key Map
+3D View region data
+Display face-assigned textures in solid view
+Disable simulation of linear motion along the Z axis
+Point of a curve used for a curve mapping
+Include visualization of Metaball related Animation data
+Structural Stiffness Maximum
+Factor Density
+Simple Deform
+The default color for textures that don't return RGB or when RGB to intensity is enabled
+Name of UV unwrapping layer
+Outputs
+Images
+Message
+Ray
+Theme Bone Color Set
+Redraw all overlapping regions, minimal memory usage but more redraws (for graphics drivers that do flipping)
+IK stiffness around the Y axis
+Edge spring stiffness when shorter than rest length
+Menu Backdrop Colors
+50%
+Heads
+Stereo Mode
+Soft body simulation settings for an object in the game engine
+Show Framerate and Profile
+Right Shift
+Direct conversion of frame numbers to seconds
+Log conversion reference whitepoint
+Radius
+Linear stiffness of the soft body links
+View3D Rotate Modal
+SMPTE
+Add
+Show framerate and profiling information while the game runs
+Degrees
+Gather Method
+Output
+Set audio sampling rate to 192000 samples per second
+End
+Include visualization of Material related Animation data
+Sets the layer as active for cloning
+Save for every anti-aliasing sample the entire RenderLayer results. This solves anti-aliasing issues with compositing
+When bone doesn't have a parent, it receives cyclic offset effects
+Enable self collisions
+Property is registered as part of type registration
+Syntax Comment
+Draw Particles
+area
+Basis Matrix
+Active vertex color layer
+Image and UV editor space data
+Set metaball as negative one
+Collection
+JPEG Quality of proxies to build
+Zbuf
+Show the Z axis line in perspective view
+Tails
+Show Active Object
+Defines size of derivative offset used for calculating gradient and curl
+Color Set
+Integer
+Output image in bitmap format
+OpenAL
+Particle Systems
+Display the user preference datablocks
+Size of packed file in bytes
+Ukrainian (УкÑ\80аÑ\97нÑ\81Ñ\8cкий)
+Mono
+No proxy, full render
+Fullscreen
+Allow scaling of the bone for IK
+Creates viscosity for expanding fluid)
+J
+Blend mode for combining sun sky with world sky
+Global Undo
+Quicktime
+Draw frames rather than seconds
+Bake shading on the surface of selected objects to the active object
+Frame currently being displayed for this layer
+Never None
+alignment
+Bulgarian (Ð\91Ñ\8aлгаÑ\80Ñ\81ки)
+Light
+Maximal Spring length * Ball Size
+Emulates Middle Mouse with Alt+Left Mouse (doesn't work with Left Mouse Select option)
+Text datablocks
+Welding
+Heavy
+Quick Sketching
+Method used to determine color of F-Curve in Graph Editor
+Show UV Editor
+Cut hairs
+Expand
+Effect particles' location
+View Matrix
+Allow boids to climb goal objects
+Sequence
+Bone Name
+Seed of the noise
+Motion Path Cache Point
+Use modifier while in the edit mode
+Meshes
+For reactor systems, index of particle system on the target object
+Billboard
+Automatically set based on graphics card and driver
+Macro Operator
+DopeSheet Channel
+Render and combine multiple samples per pixel to prevent jagged edges
+Render Z-Transparent faces in this Layer (On top of Solid and Halos)
+Output image in uncompressed Targa format
+Paths
+Left Arrow
+Collection of spline bezirt points
+Layout
+Show Physics Visualization
+Number of bones in the subdivided stroke
+Vertex Group Clump Negate
+Negate the effect of the tangent vertex group
+Base type for IK solver parameters
+Active camera used in this view (when unlocked from the scene's active camera)
+Re-render and composite changed layer on 3D edits
+ISO 2
+Active Layer Index
+Esc
+Show Frame Number Indicator
+End Offset
+Use active Viewer Node output as backdrop for compositing nodes
+Blender command line animation playback - path to Blender 2.4
+Frequency
+Pivot around the median point of selected objects
+Blend vertex colors across face when vertices are shared
+Game engine logic brick to detect events
+Causes the image to repeat horizontally and vertically
+Bone location is set in local space
+User Preferences
+Show Operator
+Max Logic Steps
+Damping of the harmonic force
+Vertex of a simulated fluid mesh
+Graph Editor Generic
+18 - Theme Color Set
+Average Speed
+Console
+Total number points for the surface on the V direction
+Use the manipulator for scale transformations
+Disable
+5
+13 - Theme Color Set
+Vertex group to control field
+12
+Shared Location
+Transparent pixels are filled with sky color
+Atmosphere Turbidity
+Widget Style
+RNA function definition
+NLA Strip is not evaluated
+Recast Data
+4096
+Right Handle Selected
+Cyclic
+Color Ramp
+Self Collision Quality
+Index of active pose marker
+Vertex Group Density Negate
+Dome Mode
+Image and settings for display in the 3d View background
+Process the render (and composited) result through the video sequence editor pipeline, if sequencer strips exist
+FPS
+Normals
+SIMD SVBVH
+Minimum distance between collision objects before collision response takes in
+Color balance gamma (midtones)
+Minimum distance for the field's fall-off
+Limit fluid objects to this group
+Load UI
+Factor Stiff Viscosity
+Draw preview using full resolution or different proxy resolutions
+Paint Lock
+Sets the number of samples used by the audio mixing buffer
+Source List
+Around Current Frame
+Scroll Handle
+Add light coming from the environment
+Color of the F-Curve in the Graph Editor
+Exclude indirect pass from combined
+Selection of IK solver for IK chain, current choice is 0 for Legacy, 1 for iTaSC
+Bias
+Text Input
+Pitch
+2D
+Braid
+Modifier name
+Use extra textures like normal or specular maps for GLSL rendering
+Stamp Marker
+ZXY Euler
+Function does not pass its self as an argument (becomes a class method in python)
+Sun Intensity
+Fit
+AO Exclude
+Integer Property
+Tube
+ZYX Rotation Order. Prone to Gimbal Lock
+Default paths for external files
+Solid
+Lock the same rotation/scaling pivot in all 3D Views
+Groups of F-Curves
+Display the object solid, with face-assigned textures
+Quadratic
+ID-Block that keyframes for Keying Set should be added to (for Absolute Keying Sets only)
+Inaccurate, but faster and without noise
+Unique ID for this region
+Lock Y Axis
+Logic Nor
+Gaussian
+Euler
+Settings for filtering the channels shown in Animation Editors
+Invoke Region Channels
+Crop the rendered frame to the defined border size
+Limit Location
+Radius of the brush in pixels
+Automatically select also UVs sharing the same vertex as the ones being selected
+Title
+Histogram
+Display raw datablocks
+Bone deformation distance (for Envelope deform only)
+Forcefield based on the Lennard-Jones potential
+Action Group is locked
+XYZ Euler
+Outline Width
+Upper First
+Subdivide stroke in fixed number of bones
+Action Clip
+Use 16 bit floats instead of 32 bit floats per channel
+Stamp Camera
+Texture Nodes
+Falloff power (real gravitational falloff = 2)
+3D View near clipping distance
+Color Randomization
+Snap Peel Object
+Determine the amount of render threads used
+Amount
+F-Curve
+Zmask scene layers for solid faces
+Bone Group this pose channel belongs to (0=no group)
+Constraint's panel is expanded in UI
+Collection of Color Ramp Elements
+Grease Pencil
+Show controllers of active object
+Instead of per brush strength, the strength is shared across brushes
+Allow boids to move on land
+Negate the effect of the clump vertex group
+`
+Color for newly added transformation F-Curves (Location, Rotation, Scale) and also Color is based on the transform axis
+Highlight the current line
+Simplify Child Particles
+Lattice
+Timeline Markers
+Draw actual particles
+XYZ
+Collection of spaces
+Bake Mode
+Sub
+Enable Stereo environment
+F-Curve defining values of a period of time
+Rules are gone through top to bottom. Only the first rule that effect above fuzziness threshold is evaluated
+Constraint to stay within the image bounds while editing
+Only Selected Curve Keyframes
+Scroll Bar
+Theme settings for Font
+Allow Climbing
+Syntax Highlight
+ASCII
+Properties space data
+Lamp datablocks
+Pivot around bounding box center of selected object(s)
+Max Res
+Mouse Previous X Position
+Simplify the final stroke
+Frame is selected for editing in the DopeSheet
+OS Key
+Function is optionally registered as callback part of type registration
+Ease
+Renders halo as a star
+NLA Channels
+Use the speed vector pass to reduce AO samples in fast moving pixels. Higher values result in more aggressive sample reduction. Requires Vec pass enabled (for Raytrace Adaptive QMC)
+nl_NL
+Alt key pressed
+Limit movement around the Y axis
+Z Scale
+Actuator
+Motion Path for this element
+Slider Widget Colors
+Name of Vertex color layer
+Xnor
+Bone Group this pose channel belongs to
+Quad View Region
+Edge Split
+Noise algorithm - Voronoi Crackle: Voronoi tessellation with sharp edges
+Max Air Angular Velocity
+Use Bone Sketching
+Automatic keyframe insertion using active Keying Set only
+Colors
+Starting frame of range of paths to display/calculate (not for 'Around Current Frame' Onion-skinning method)
+Show script files
+Cloth simulation settings for self collision and collision with other objects
+Object to use as the environment map's viewpoint location
+The interpolation type for this curve element
+Vertically Open
+Show the expanded in the user interface
+Emit Object Location
+Toggle Widget Colors
+Rotation
+Current Transformation orientation
+Total number points for the curve or surface in the U direction
+Active Particle System Index
+Material Physics
+Pull
+List Item Colors
+Show a small rotating 3D axis in the bottom left corner of the 3D View
+Add-Ons
+Render face with texture
+Tilt Interpolation
+K
+Collection of particle systems
+Text editor space data
+Zoom
+Goal minimum, vertex weights are scaled to match this range
+When deforming bone, multiply effects of Vertex Group weights with Envelope influence
+F-Curve Sample
+Radius of eraser 'brush'
+Finnish (Suomi)
+Turbulent noise driven by the global current frame
+Raytraced reflection settings for a Material datablock
+Convert effector force into air flow velocity
+True when the Shift key is held
+Audio Sample Format
+Bold
+Vertex colors for a face in a Mesh
+Cursor
+Mouse/Trackpad Pan
+Display Paths of poses within specified range
+Info space data
+Duplicate Armature
+Settings for Bullet soft body simulation
+Name of the theme
+Collection of scene objects
+B-Bone Display Z Width
+Zoom using up/down on the device (otherwise forward/backward)
+Enter Edit Mode automatically after adding a new object
+Apply gravitation to point movement
+Info on current cache status
+Cone
+Lock Z Rotation Axis
+GLSL Extra Textures
+Starts player in a new fullscreen display
+Named Group
+Samplerate
+Children expanded in the user interface
+Border
+Armatures active bone
+Active Path Index
+Texture Type
+Amount of clumping
+Style
+Collection of render layers
+Show Restriction Columns
+Soft Body
+Drag effector weight
+Layers visible in this 3D View
+Top
+Quality of the simulation in steps per frame. (higher is better quality but slower)
+The constraint is applied in Pose Space, the object transformation is ignored
+View Rotation
+Gravitation
+Cardinal
+Dolly
+8 bit greyscale binary data
+Chroma Vectorscope
+Active bone group for this pose
+Repulsion Factor
+Object Constraints
+Filter Text
+Vertex group to control tangent
+Default builtin key configuration
+Show folders
+Page Down
+Elements
+View3D Zoom Modal
+Show Actuators
+Deletes smoke from simulation
+Filter File Extensions
+Control point selection status
+Left Handle Selected
+Draw Stretch
+Align rotation with the snapping target
+Cloth
+Show the name of the view's direction in each 3D View
+Display Filter
+Object does not restitute collisions, like a ghost
+Particle Velocity
+Relative time of key over hair length
+6
+Threshold for drawing outlines on geometry edges
+Lighting
+MPEG-4
+Delete
+MPEG-2
+Curve Edit
+Distance of the physics area
+Boid Settings
+Pixel resolution of the rendered environment map
+Goal maximum, vertex group weights are scaled to match this range
+Vertex Group Roughness 2 Negate
+Manipulator Rotate
+Limits
+Current Frame
+Project to Self
+Sticky texture coordinate location
+Transition
+Duplicate Texture
+Mask
+Description of the Function's purpose
+Generate voxels from a sequence of image slices
+Theme settings for the Node Editor
+Automatic time snapping settings for transformations
+Banking
+Texture Plugin Directory
+Mass
+Mist settings for a World data-block
+Show column
+Tool Widget Colors
+Clip Alpha
+Retarget
+Drag component proportional to velocity
+Blocking
+Mirror Colors
+Number of frames between ghosts shown (not for 'On Keyframes' Onion-skinning method)
+Bars Selected
+Use a minimum radial distance for the field's fall-off
+Edit Object
+Cineon
+Height
+Texture Factor
+Draw Wire
+Manipulate object centers only
+Custom color set to use
+Negate the effect of the density vertex group
+SL
+Enable Self Collision
+Correction
+Self Minimum Distance
+Keying set paths
+Invoke Region Preview
+Causes material data to be duplicated with the object
+Sample Distance
+Vertex Group Field
+Multiplier to make out-scattered light brighter or darker (non-physically correct)
+Object Selected
+Keyframe Selected
+Pose Bone
+Set sensor expanded in the user interface
+Theme Audio Window
+Strip Time
+Number of frames from start frame for influence to fade out
+Codec
+Speaker
+Image Generic
+3D Region
+Copy Scale
+Duplicate Surface
+Particle key for hair particle system
+Particle Edit
+Number of cone samples averaged for blurry refractions
+Keep from going through other boids
+Output image in DDS format
+Orig Height
+In Air
+Constraint was added in this proxy instance (i.e. did not belong to source Armature)
+OpenGL shading language shaders
+Render the stamp info text in the rendered image
+read only area of the face
+Exec Region Channels
+Smoke collides with every side
+Enable Collision
+The mouse button used for selection
+How strong a force must be to start effecting a boid on land
+Imperial
+Vertex Group Length
+SDL device - simple direct media layer, recommended for sequencer usage
+Pixel Aspect Y
+Shadow
+Show the active object's softbody point cache
+ZIP (lossless)
+Collection of Compositor Nodes
+Viewport Shading
+Mean red/green/blue scattering path length
+Ball inflating pressure
+Snap to nearest marker
+Vertical aspect ratio - for anamorphic or non-square pixel output
+Window Sliders
+Color ramp mapping a scalar value to a color
+Make hairs less puffy
+Active UV texture index
+Location of head end of the bone relative to its parent
+Display Texture
+Group Node
+Collection of meshes
+Continue
+Grease Pencil Smooth Stroke
+Set audio mixing buffer size to 4096 samples
+Transparent RGB and alpha pixels are unmodified
+Nearest Neighbor
+Gives a constant force along the force objects local Z axis
+Emit
+Bake the normals in tangent space
+Active Base
+Active UV texture
+Falloff Curve
+Sun intensity
+Collection of related sketches on a particular frame
+Vector Fonts
+Mesh Edit
+String Property
+Variables
+3D View Space
+Show the active object's particle point cache
+Cinema 24fps 2048x1080
+The default directory for rendering output, for new scenes
+Audio bitrate(kb/s)
+Font Size
+File
+Automatically converts all new tabs into spaces for new and loaded text files
+Search again from the start of the file when reaching the end
+Driver variable type
+Search term for filtering in the UI
+Show UV editing related properties
+Subdivision Surface
+Mipmaps
+Simplified Chinese (ç®\80ä½\93中æ\96\87)
+Edge Length Text
+View2D
+Step Size
+All effector's weight
+GOP Size
+Bottom
+Color balance lift (shadows)
+True when this value can't be set to None
+The color of the lights specular highlight
+Free Run (Rec Date)
+How much the spring rest length can change after the elastic limit is crossed
+Nand
+Background Images
+Vertex Group Roughness 1 Negate
+Follow a boid or assigned object
+Collection of Shader Nodes
+Show Brush
+Save Preview Images
+Use Influence
+Add/Replace
+Enable direct editing of modifier control cage
+Overwrite characters when typing rather than inserting them
+Multitexture
+Full
+Modifier affecting the geometry data of an object
+Text to replace selected text with using the replace tool
+Particle Age
+Unique name used in the code and scripting
+Movie Strip
+Python Scripts Directory
+Global user preferences
+Proportional Size
+Location of the hair key in object space
+Window Manager
+Selectable
+Diffuse subsurface scattering settings for a Material datablock
+Air Personal Space
+Which axis to use for offset
+Sound
+Include Animation Data blocks with no NLA data. (NLA Editor only)
+Tree Type
+The index of particle system on the target object
+Noise algorithm - Voronoi F1-F2
+Autosplit Output
+Type of transition used to fade mist
+Logic Nand
+Enable this OpenGL light in solid draw mode
+Explode
+Tilt CW
+ID-Block
+Diffusion factor, the strength of the blurring effect
+Rate control: min rate(kb/s)
+Alter spring length to shrink/blow up (unit %) 0 to disable
+Object is made a particle system to display particles generated by a fluidsim domain object
+Alternate script path, matching the default layout with subdirs: startup, addons & modules (requires restart)
+channels
+Head Select
+Nearest Frame
+WPaint Auto-Normalize
+View3D Gesture Circle
+Active index in render layer array
+True when the Cmd key is held
+When an 'array/vector' type is chosen (Location, Rotation, Color, etc.), entire array is to be used
+Poly
+Name of the key map
+Roll bones to face the view
+Cycle the animated time within the action start & end
+Metaball Edit
+Use anti-aliasing for the 3D view (may impact redraw performance)
+Key Configuration
+NLA editor space data
+Sounds
+Noise formula used for turbulence
+Show Thumbnails
+Output video in AVI Raw format
+Shape Keys
+Cloth simulation settings for an object
+Transparency along the width of the strand
+Name of UV layer to override
+Custom animation player executable path
+Spring Vertex Group
+Luma Waveform
+Goal Damping
+French (Française)
+tool_settings
+3D Cursor
+Collection of lattices
+Display
+Center of mass
+The type of radius interpolation for Bezier curves
+Global approximate AA and SSS quality factor
+Type of data to take texture from
+Build
+Logic Xor
+Backdrop zoom factor
+Collection of worlds
+Python addons to be loaded automatically
+Proxy size 50%
+Intensity of the mist effect
+UV Editor
+Opacity
+JPEG 2000
+ID Type
+Wires
+Texture Face
+The default directory to search for sequence plugins
+Physics settings for a Material datablock
+Size of the turbulence
+Plastic
+Viscoelastic Springs
+Keyframe Insert Needed
+Threads Mode
+Exclude environment pass from combined
+Display an additional 'summary' line. (DopeSheet Editors only)
+Blend factor with sky
+BMP
+Obstacle simulation
+Relative friction coefficient in the in the X, Y and Z directions, when anisotropic friction is enabled
+7
+Enable naive vertex ball self collision
+Text Character Format
+Particle System
+Active section of the user preferences shown in the user interface
+Outliner
+Don't use any brush
+Pulldown Widget Colors
+Duplicate Lamp
+Spring rest length (factor of particle radius)
+Softens the edges of halos at intersections with other geometry
+None
+ko_KR
+Only Matching F-Curves
+Active Particle Target
+TIFF
+Keyboard
+Strand settings for a Material datablock
+"
+Material Index
+Targa Raw
+Name that will be used in exported files when format supports such feature
+F-Curve is not evaluated
+Texture Collection Rate
+Blend
+Stop ray marching early if transmission drops below this luminance - higher values give speedups in dense volumes at the expense of accuracy
+rect
+08 - Theme Color Set
+Sharp falloff
+Proxy Local
+Repulsion Distance
+Method used for combining strip's result with accumulated result
+Particle speed (absolute magnitude of velocity) mapped as 0.0-1.0 intensity
+Syntax Numbers
+Images get saved in 8 bits grayscale (only PNG, JPEG, TGA, TIF)
+Global Space
+Save the z-depth per pixel (32 bit unsigned int z-buffer)
+Curving of the noodle
+View Type
+Children Expanded
+Shape
+Background Image
+Dash
+Pass
+Snap to Pixels
+Engine
+Vertex Select
+Specular Exclude
+Color 2
+Brush strength
+Control point weight values
+Maximum memory usage in megabytes (0 means unlimited)
+Pivot around each object's own origin
+Island
+Softbody goal weight
+Exclude shadow pass from combined
+Method for driving added turbulent noise
+Sampled colors along line
+Offsets the number of the frame to use in the animation
+Maximum angular velocity on land (relative to 180 degrees)
+Start Frame
+Middle Mouse Paste
+Edge Seam
+Display UV coordinates from 0.0 to 1.0 rather than in pixels
+Find Text
+Inverse Gamma
+Smooth hairs
+Graphics driver and operating system settings
+How much density effects smoke motion, higher value results in faster rising smoke
+passes
+Boid rule name
+Maximum number of recently opened files to remember
+Path to property setting
+Level of detail in the added turbulent noise
+Screen
+Billboard Normal UV
+Selects the type of physical representation
+Clip End
+Creates a force along a curve object
+Time delay in 1/10 seconds before automatically opening top level menus
+Autosplit output at 2GB boundary
+Resolution Y
+Artificial buoyancy force in negative gravity direction based on pressure differences inside the fluid
+Gamma
+Light Cache
+Offset
+Voronoi F2-F1
+Hair keys are in global coordinate space
+Structs
+Particle system name
+Don't adjust roll
+Bevel
+UI Layout
+Movie Format
+Fast but not so effective compression
+Use linear workflow - gamma corrected imaging pipeline
+Delta
+Gravity
+Mist uses linear progression
+BSpline
+Type of element to snap to
+Set audio mixing buffer size to 32768 samples
+Show the Y axis line in perspective view
+Action End Frame
+Settings for input devices
+Joystick
+Window manager datablocks
+Left Handle Type
+Points U
+bl_description
+Collection of mesh edges
+Clip objects based on what's visible in other side views
+Object Grouped
+Backscattered Light
+Active grease pencil layer
+Animated Influence
+Atmosphere Inscatter
+Color of emitted light
+Lock Location
+Active Vertex Color Layer
+Spaces
+Properties of particle editing mode
+Area height
+Material nodes
+Collection of armature bones
+Resolution U
+Click
+Filter Files
+Display general information
+Bone Groups
+Overlay
+Muted
+Movie
+Auto Clamped
+Individual Origins
+Overlap
+Custom
+Particles
+Use Max
+Window
+File browser space data
+AVI JPEG
+Friction Coefficients
+Object base selection state
+Bone Pose
+Sequence strip in the sequence editor
+Display Background Images
+Name to use in scripted expressions/functions. (No spaces or dots are allowed. Also, must not start with a symbol or digit)
+User defined layer of floating pointer number values
+96 kHz
+Occlude
+Images are rendered in Image Editor
+States
+Saturation
+Location of this character in the text data (only for text curves)
+Users
+Scene Objects
+Goal Stiffness
+Audio Codec
+Collection of objects
+Type of NLA Strip
+Minimum distance to the camera for stars
+Main Scenes
+Clips to image size and sets exterior pixels as transparent
+Interpolation method to use for segment of the curve from this Keyframe until the next Keyframe
+Radius from the shaded sample to look for points within
+Layer of texture faces in a Mesh datablock
+Tangent
+Stamp Time
+Comb hairs
+24-bit Signed
+Show Handles
+Alpha
+Difference
+The frequency of the offset (1/total length)
+Layer Membership
+Render layer
+ro_RO
+Vector Coordinates
+Spring force
+Flare Boost
+Scopes
+Description of the item's purpose
+Camera Parent Lock
+Invert the axis of mouse movement for zooming
+Socket name
+M
+Enable diffuse subsurface scatting effects in a material
+Color Factor
+Noise algorithm - Cell Noise: Square cell tessallation
+For PoseBone paths, use the bone head location when calculating this path
+Max Land Speed
+Show linked objects to sensor/actuator
+Edit drivers
+F-Curve Modifier is the one being edited 
+Channel Matrix
+Has Ghost Curves
+Threshold for adaptive sampling (if a sample contributes less than this amount [as a percentage], sampling is stopped)
+Selects which domain border will be treated as collision object
+Object that defines custom draw type for this bone
+Still Frame Only
+Invert tilt axis
+The name of the active key configuration
+Apply sun effect on atmosphere
+Spacebar
+Limit effectors to this group
+Keep paths from intersecting the emitter
+Input or output socket of a node
+Transform Channel
+Storage of a macro operator being executed, or registered after execution
+Sets the number of points on the star shaped halo
+Display the object's local bounding boxes only
+Goal (vertex target position) spring stiffness
+Boolean
+Cyclic U
+Cinema 24fps 4096x2160
+Images are saved with RGB and Alpha data (if supported)
+Cyclic V
+Indirect
+Show Points
+Speed
+Copy Location
+GLSL Lights
+resolution_x
+All available keying sets
+Specular Color
+Convert to logarithmic color space
+Show keyframes for active Object and/or its selected bones only
+Use Visual keying automatically for constrained objects
+Game Property
+Merged Region Size
+Material Halo
+Flare Seed
+No Gimbal Lock (default)
+Bending Const
+Null device - there will be no audio output
+Main Fonts
+Sensor
+Output image in Cineon format
+Set audio sample format to 64 bit float
+Whether to use maximum clipping value
+Display units in pairs
+Form factor scales the inertia tensor
+Filter Images
+Value to use for Ref, Spec, Amb, Emit, Alpha, RayMir, TransLu and Hard
+Draw UV edges anti-aliased
+Search string is sensitive to uppercase and lowercase letters
+Region Text Titles
+Flow Settings
+Texture Slot
+Enable debug visualization for obstacle simulation
+Wrinkle coefficient. (higher = less smaller but more big wrinkles)
+Action to take for gaps past the Active Action's range (when evaluating with NLA)
+Spring rest length is a factor of 2 * particle size
+Mist uses quadratic progression
+Base
+Enter Edit Mode
+Widget Label Style
+For Zmask, only render what is behind solid z values instead of in front
+Face Angle Text
+8
+Face Dot Size
+Grow
+Strips
+Vertex group to control roughness end
+Texture Slots
+Snap UVs to pixel locations while editing
+Border Minimum X
+Value
+Button5 Mouse
+Roll CCW
+Deprecation Warnings
+Source List Title
+Collection of fonts
+Effector weights for physics simulation
+2
+Input line for the interactive console
+;
+Soft body
+Display Lamp
+Tail Select
+Rotation in Quaternions
+Main MetaBall
+Right Alt
+Waveform Mode
+Audio samplerate(samples/s)
+Random
+Harmonic
+hr_HR
+Themes
+Texture scatting blend factor
+Selected File
+Cache AO results in pixels and interpolate over neighbouring pixels for speedup
+double
+Negate
+Mute this shape key
+Fgon
+RVO (rays)
+External file packed into the .blend file
+Causes text data to be duplicated with the object
+Include visualization of Speaker related Animation data
+Zoom factor
+Tweak Select
+Shape Match
+Spherical forcefield based on the charge of particles, only influences other charge force fields
+Active Boid Rule
+Active index in bone groups array
+IK stiffness around the X axis
+Go to assigned object or loudest assigned signal source
+Wait Timer (ms)
+The region relative vertical location of the mouse
+Mouse/Trackpad Rotate
+02 - Theme Color Set
+Show Control Curves
+Time taken in frames between shutter open and close
+Textured Solid
+Tail
+Lift Force
+The type of event, only applies to some
+Targets
+Main Texts
+Draw Axes
+Space data type
+Subsurface Scattering
+Mesh Vertex
+Max Slope
+Specular Intensity
+Smoke collision settings
+Cubic
+Set all state bits
+Action to take for gaps past the strip extents
+Neutral
+UV mapping, texturing and game engine data for a face
+Minimum value for clipping
+zh_CN
+Wheel Scroll Lines
+Shadow color in grey value
+The constraint is applied relative to the world coordinate system
+Icon File
+Theme Console
+Step Calculation
+Amount the strip contributes to the current result
+Shape Key Bezier Point
+Smoke doesn't collide with top and bottom sides
+Fastest and gives the most noise
+Source of input values for driver variables
+Show Keyframe Numbers
+Image opacity to blend the image against the background color
+Outline
+window_manager
+DDS
+Show key map event and property details in the user interface
+Bake ambient occlusion
+Long List
+Manual
+Kink
+Display Metaball
+View Location
+Radio Widget Colors
+Weights
+Cache of the worldspace positions of an element over a frame range
+Theme settings for the Text Editor
+Number of frames for Blending In/Out is automatically determined from overlapping strips
+Collection of Driver F-Curves
+Use SIMD QBVH
+UV/Image Editor
+Use degrees for measuring rotation
+Resolution of the voxel grid
+Physics Gravity
+bl_idname
+Name of the key configuration
+Agent Radius
+Keyed particles target is valid
+Use force fields when growing hair
+Point in the lattice grid
+The amplitude of the offset
+End Frame
+Lets halo receive light and shadows from external objects
+Pivot
+Maximum walkable slope angle in degrees
+Permeability
+User defined floating point number value in a float properties layer
+Render Result
+Objects nearer than this are not visible to map
+Pivot around active object
+Operator Node
+Local With Parent
+Blender RNA structure definitions
+Radius of bounding sphere and material physics
+Bezier
+Blend Type
+Original Perlin
+Active UV Texture
+Active Object constraint
+Armature-Relative Head
+F-Curve's settings cannot be edited
+7.1 Surround
+Fluid Mesh Vertex
+Long Key
+Do not show any ghosts
+Frame for absolute keys
+Wav
+Preview
+[
+ObData
+Emulate Numpad
+Theme settings for the Timeline
+Cell Size
+Clamp velocity to this minimum speed (except when totally still)
+Specify old mapping value in frames
+Type of texture data to display and edit
+Show ghosts for the specified frame range
+Radius for bevelling
+Maximal # solver steps/frame
+Copy Rotation
+07 - Theme Color Set
+Use object/global coordinates for texture
+If set to True, the panel shows a header, which contains a clickable arrow to collapse the panel and the label (see bl_label)
+Sequence Element
+Use rule when boid is flying
+Simplify Shadow Samples
+Deliver indirect lighting pass
+Particle Key
+Time since last step in seconds
+Properties
+Y Scale
+Minimum Radial Distance
+Sampled Points
+Theme Logic Editor
+Use Stars
+Manipulator Translate
+Brush steps
+Active Pose Marker
+F-Modifier
+N
+True when the Alt/Option key is held
+Decimate
+Use multi-sampled 3D scene motion blur
+Type of active data to display and edit
+Permanent deform
+Onion Skinning Settings
+Mode of automatic keyframe insertion for Objects and Bones
+Theme settings for bone color sets
+Scopes for statistical view of an image
+Push
+Show Seconds
+Logic Or
+Buffer Resolution
+Create a toon outline around the edges of geometry
+Regions
+Damped Track
+Active Bone Group Index
+Automatically select acceleration structure
+Specify a collision bounds type other than the default
+Auto-Clamped handle color
+Vertex Group Roughness End
+Sets the maximum number of logic frame per game frame if graphics slows down the game, higher value allows better synchronization with physics
+Control Point
+Particle count
+Turntable
+Use Weight Color Range
+Octree
+Environment Exclude
+Fuzziness while on collision, high values make collision handling faster but less stable
+Tweak
+Marker
+Shadeless
+Align handle color
+Mist
+Scene Render Layer
+Sequence editing data for a Scene datablock
+Structural Stiffness Vertex Group
+Meta Stack
+Duplicate F-Curve
+Show sound files
+Render layer name
+Index of active particle system slot
+Roll bone to original joint plane offset
+Filter Fonts
+Material Subsurface Scattering
+Tip
+Invalid
+Show Cache
+Delay
+Blend factor for SSS colors
+Fluid Group
+Causes F-curve data to be duplicated with the object
+Stationary object
+el_GR
+Compression method to be used
+Speaker datablocks
+B-Bone Ease In
+Relative Paths
+Mesh Int Property Layer
+Enable smoke to disappear over time
+Double Click Timeout
+Cell Noise
+Particle system has multiple point caches
+Human readable name
+The object that has the target particle system (empty if same object)
+Maximum acceleration on land (relative to maximum speed)
+Legacy
+Clip alpha below this threshold in the 3D textured view
+Display a preset button with the operators settings
+Force gets absorbed by collision objects
+9
+Noise method which is used for creating the high resolution
+Manipulator
+Select UVs that are at the same location and share a mesh vertex
+Shadow offset in pixels
+Bake directly from multires object
+Insert
+Wind effector weight
+DopeSheet Editor
+Entire Array
+Use smoke heat as texture data. Values from -2.0 to 2.0 are used
+Sequence Color Balance
+Disallow movement around the X axis
+Scenes
+Active KeyConfig
+Distance between two bones or objects
+Rate control: max rate(kb/s)
+Active file in the file browser
+Limit collisions to this group
+Nurbs weight
+Outline Selected
+Extrapolate the curve or extend it horizontally
+Right Handle
+Collection of mesh vertices
+Smooth the final stroke
+Current Transform Orientation
+F-Curve live filtering string
+Softness of the 'soft' falloff option
+Selection Mode
+Proportional Editing
+Collection of keying set paths
+Build 25% proxy resolution
+DBVT culling
+Armature Edit
+Show Datablock Filters
+A valid edit mode exists
+World Mist
+Default Value
+Full Screen
+Text in the line
+Quality
+A container referencing an existing Action
+Layer name
+Auto Start
+Visualization
+Show text files
+Draw faces colored according to the difference in shape between UVs and their 3D coordinates (blue for low distortion, red for high distortion)
+Snap Align Rotation
+Angle of Rotation for Axis-Angle rotation representation
+192 kHz
+From socket
+Nurb active U-lines
+Constraints that act on this PoseChannel
+Cyclic Strip Time
+Space Outliner
+Constraint has valid settings and can be evaluated
+Debug
+Pose Bones
+Show image files
+Goal maximum, vertex weights are scaled to match this range
+Puff
+Right Handle Type
+Include the name of the active cameras lens in image metadata
+Sky Color Space
+Include visualization of Armature related Animation data
+Character Index
+Pin (vertex target position) spring stiffness
+Open source frame player: http://djv.sourceforge.net
+Grab Pointer
+Bone is not able to be transformed when in Edit Mode
+Show linked objects to the controller
+Blend Distance
+Edited
+The mode used to apply the texture
+Locked Track
+File Browser
+Vertex weight group, to blend with basis shape
+The type of keyframe (for visual purposes only
+Obstacle Radius
+Drawing method used by the window manager
+Active Particle Target Index
+Front
+Enable starfield generation
+Particle datablocks
+Show an outline highlight around selected objects in non-wireframe views
+Zooms in and out based on vertical mouse movement
+Calculate sub-surface scattering in materials rendering
+Parent this node is attached to
+ar_EG
+Include the render frame as HH:MM:SS.FF in image metadata
+Line of text in a Text datablock
+Detail mesh sample spacing
+Active Theme Area
+Theme Widget Color Set
+Boid height relative to particle size
+Using 1/x 
+Scene keying sets
+Show Sliders
+All Z
+Environment Color
+Position
+Buffersize
+Adapt To Speed
+Or
+World datablocks
+Effect Strip
+Group of ID properties
+Proxy size 75%
+Vertex Paint
+Hair Dynamics
+Stroke Points
+NLA Track is locked
+Which mesh elements selection works on
+Weight of rotation constraint for IK
+Always refresh image on frame changes
+Use horizon and zenith color for diffuse energy
+Extra margin around object for collision detection, small amount required for stability
+Collection of vertex groups
+Coordinates of the first handle
+Sky Blend Mode
+Mesh Edge
+Adjust simulation speed
+Bounding box of this object represents the computational domain of the fluid simulation
+Color balance gain (highlights)
+Normal Space
+Layers
+Spin CW
+Mesh Float Property Layer
+Buffer Resolution - decrease it to increase speed
+12 bit color channels
+Space Graph Editor
+Directory Path
+False when this property is an optional argument in an RNA function
+Framing Types
+Display Paths of poses within a fixed number of frames around the current frame
+Last selected point
+Cropping parameters for a sequence strip
+Min Air Speed
+Wavelet
+Color used for the surface of bones
+Window Managers
+Occlude objects with the environment color as they are further away
+Attenuation falloff strength, the higher, the less influence distant objects have
+Driven Selected
+Surface Edit
+Causes metaball data to be duplicated with the object
+Main Curves
+Japanese (æ\97¥æ\9c¬èª\9e)
+Vertex Group Field Negate
+Collection of uv textures
+Enable simplification of scene for quicker preview renders
+String
+Randomized
+Retarget template bone chain to stroke
+Use the manipulator for movement transformations
+Command line prompt language
+How the rules in the list are evaluated
+Color of texture overlay
+Text Box
+Modifier for values of F-Curve
+Specify the number of cluster iterations
+Mass of the object
+React to force field physics settings in materials
+The window relative vertical location of the mouse
+YCbCr (ITU 709)
+Linear viscosity
+8x
+Nothing
+IK Z Limit
+Sensors
+Child Seed
+Tweak Middle
+Object represents a volume of fluid in the simulation
+Property is editable through RNA
+Theme settings for the Console
+Datablock from which the edited datablock is linked
+Particle
+Solo
+Mark controller for execution before all non-marked controllers (good for startup scripts)
+FFMpeg audio codec to use
+ZTransp
+Location (Object Space)
+IK Z Lock
+Display size for normals in the 3D view
+Use a tent filter for anti-aliasing
+Original IK solver
+Use velocities for automagic step sizes
+Multiplier
+Constraint Target
+Draw Repeated
+For RGB curves, the color that white is mapped to
+Noise algorithm - Voronoi F1: Returns distance to the closest feature point
+IK Y Minimum
+Pin Stiffness
+Cache Info
+No Ghosts
+Duplicate Material
+Nurbs order in the V direction (For surfaces only), Higher values let points influence a greater area
+Spanish (Español)
+Sets the dimension of the halo
+Vertex in a Mesh datablock
+Line Numbers Background
+Shadow Size
+Depth
+Rest Density
+Frame Server
+alert
+Meta Element
+Show actuators of all selected objects
+Calculate environment maps while rendering
+Motion Path Settings
+Interlaced
+Space type
+Display the operator log
+Show background image in front view
+Simple
+Storage of a sub operator in a macro after it has been added
+Collision Bounds
+Maximum value for clipping
+Transparency
+Armature-Relative Tail
+Display in the info window and support the redo toolbar panel
+FFMpeg codec to use
+Show frame numbers on Motion Paths
+Maximum allowed number of light inter-refractions
+Use a third buffer for minimal redraws at the cost of more memory
+Game engine logic brick to process events, connecting sensors to actuators
+Layer in multilayer image
+Depth Cutoff
+Mesh Edges
+Max Edge Length
+The number of lines scrolled at a time with the mouse wheel
+Root Texture Coordinates
+Tag Seam
+Visibility status
+Birth Time
+Mini Axis Brightness
+Environment
+Accuracy
+Driven
+Air Damping
+Use Vertex Buffer Objects (or Vertex Arrays, if unsupported) for viewport rendering
+Normal
+Keys
+The axis icon's size
+Spring Force
+Brushes
+Drag
+Emulate 3 Button Mouse
+Sculpt/Paint Overlay Color
+Collection of keymap items
+Shadow Y Offset
+Fuzzy
+Comb
+Theme settings for the 3D View
+End frame of the stored range
+Grid Subdivisions
+Layers bone exists in
+Base type for datablocks, defining a unique name, linking from other libraries and garbage collection
+Numpad 5
+face area
+Clip Start
+Numpad 2
+Tweak Action
+Numpad 0
+Use this files path when library linked into another file
+GL Texture Limit
+Only keyframes of selected F-Curves are visible and editable
+Numpad 9
+Crease
+Filter
+Minimum angles for IK Limit
+Scatter contribution factor
+Bones which are children of this bone
+Main Particle Settings
+Collection of particle settings
+Use modifier during rendering
+Numpad /
+Numpad .
+05 - Theme Color Set
+Read Only
+Include visualization of Particle related Animation data
+Numpad *
+Bone is not visible when in Edit Mode
+Width Fade
+Amount of rotation around velocity vector on turns
+Czech (Ä\8ceský)
+Display datablocks in all scenes
+Turbulent noise driven by the particle's age between birth and death
+Aerodynamics Type
+Best quality
+Use effector/global coordinates for turbulence
+Target particle systems
+Min Rate
+Distance to keep particles away from the emitter
+Type of information to display
+Limit movement around the Z axis
+NLA stack is evaluated when evaluating this block
+Apply puff to unselected end-points, (helps maintain hair volume when puffing root)
+Fgon edge
+Perspective
+Bone rotation around head-tail axis
+Pan/Zoom
+Add a new NLA Track + Strip for every loop/pass made over the animation to allow non-destructive tweaking
+No Auto-Snap
+Active Texture Face
+Node Backdrop
+Count
+Amount of influence F-Curve Modifier will have when not fading in/out
+Collection of points that make up this poly or nurbs spline
+Enable All Codecs
+Auto Blend In/Out
+Show Python Tooltips
+Show menus in the header
+Action datablocks
+Edit texture nodes from World
+Cross
+Particle target name
+Frame Map Old
+Collection of channel driver Variables
+Lower First
+Stamp Render Time
+Groups of the bones
+Vertex Group Velocity
+Cine-Flat 48fps 1998x1080
+Snap
+Extreme Alpha
+2x
+Group datablocks
+Overall sensitivity of the 3D Mouse
+Images are rendered in full Screen
+Activity culling is enabled
+2D cursor location for this view
+Metaball types
+F
+Show Linked to Actuator
+Square (HS + V)
+Node Groups
+Name Property
+Dither Intensity
+Reconstruction filter used for combining anti-aliasing samples
+Minimal
+Active Face
+Scripts
+Scale factor along the X for items in this (sub)layout
+Image Axis
+Orig Width
+Pose Head Position
+Cursor Y-Value
+Property is optionally registered as part of type registration
+IK stiffness around the Z axis
+NLA Tracks
+Constrain to Image Bounds
+Arrangement of the panels
+Length of second Bezier Handle (for B-Bones only)
+Median
+Indirect Exclude
+AO
+Node in a node tree
+Cast
+Save cache files to disk (.blend file must be saved first)
+Simplify AO and SSS
+Use key times
+de_DE
+Property has been dynamically created at runtime
+Ball Size
+Display sequence datablocks
+Read-only matrix calculated from the roll (armature space)
+Noise algorithm - Improved Perlin: Smooth interpolated noise
+Automatically start game at load time
+Generate point density from a particle system
+How much of effector force gets lost during collision with this object (in percent)
+Deliver AO pass
+Group that included Object should be a member of
+Cell Height
+Shear Stiffness
+Material Volume
+Maximum number of lines to store for the console buffer
+Include visualization of Mesh related Animation data
+Object Non-modal
+Maximum acceleration in air (relative to maximum speed)
+Pin ID
+Radar
+Render color of textured face as color
+Parts Y
+Parts X
+Collection of F-Curve Modifiers
+Verts Per Poly
+Lock to Cursor
+Theme Image Editor
+Graph Editor 2D-Value cursor - Y-Value component
+Automatically merge vertices moved to the same location
+Stencil
+Lock strip so that it can't be transformed
+Vertex Group Rotation
+Djv
+Use a quadratic filter for anti-aliasing
+Calculates environment map only once
+Node Links
+The number of subdivisions between grid lines
+Filter Folder
+use images in the order as they are recorded
+Collection of libraries
+Use selection as the pivot point
+Auto Snap
+The original matrix of this object before it was duplicated
+The unit system to use for button display
+Limit selection to visible (clipped with depth buffer)
+Type of field
+float_array
+Root falloff
+The quality of the anisotropic filtering (values greater than 1.0 enable anisotropic filtering)
+Dodge
+Active Vertex Group Index
+Method used for determining what ghosts get drawn
+Proportional Editing Objects
+Parent
+Particle dupliobject name
+Theme Widget State Color
+Tilt CCW
+Mirror Intensity
+Object
+Include visualization of Lamp related Animation data
+Object Location
+select_end
+FrameCycler
+Joint
+Backdrop X
+Backdrop Y
+Use Instances
+Y Rotation
+Nor
+Addon
+Anti-Aliasing Samples
+frames_skipped
+Stamp Lens
+Make hairs more puffy
+Offsets image horizontally from the view center
+Negate the effect of the roughness 2 vertex group
+Invoke Screen
+A square showing Hue/Saturation, with Value slider
+NLA Track
+Outer Thickness
+Format of Time Codes displayed when not displaying timing in terms of frames
+Display Node
+Boid will fight this times stronger enemy
+Custom Color
+P
+Negate the effect of the rotation vertex group
+Select Tail
+Settings for boid physics
+Options for this operator type
+Mouse Y Position
+Input properties of an Operator
+Fixed
+Current windowmanager and data context
+Collection of actions
+Tab Width
+Theme 3D View
+Render
+Auto Keyframe Insert Available
+Grid Scale
+Number of undo steps available (smaller values conserve memory)
+Show background image in bottom view
+Theme Graph Editor
+Surface
+Flash
+Collision
+Grid Lines
+Pre Roll
+Strand
+The transformation of the target bone is evaluated relative its local coordinate system, with the parent transformation added
+Disables non-planer quads being triangulated
+Particle Brush
+Smoke doesn't collide with any border
+Ghost frames on either side of frame
+Frame
+Select
+ID-Block representing source data, currently ID_SCE (for Dopesheet), and ID_SC (for Grease Pencil)
+Index
+Functions
+03 - Theme Color Set
+Built-In Function
+Display objects name and frame number in 3D view
+Custom text to appear in the stamp note
+Cameras
+Noise algorithm - Voronoi F4: Returns distance to the 4th closest feature point
+Estimated scale matrix
+Overall stiffness of structure
+State
+Camera
+Distance between key frames
+Image Painting
+Object is made a fluid control mesh, which influences the fluid
+Draw image with RGB colors
+Build 100% proxy resolution
+Space Type
+Transformation
+Method of calculating the steps through the volume
+Material slot name
+Number of frames between cached frames
+Repulsion is a factor of stiffness
+Edge spring friction
+Face Area Text
+Frame Map New
+Media Play/Pause
+Mux Rate
+Show background image in all views
+Slider Max
+Every Point
+Stub RNA type used for pointers to unknown or internal data
+Number of indirect diffuse light bounces
+Clip Min X
+Clip Min Y
+Link
+Record animation to fcurves
+Object removes fluid from the simulation
+The number of times this object is repeated with respect to other objects
+Line
+Method used to define which Group-name to use
+Use Material Force Field
+Multi constraint, stateful IK solver
+Texture nodes
+Locked
+Filebrowser Parameter
+Path to an image editor
+Weights for the vertex groups this point is member of
+Insert keyframes based on 'visual transforms'
+Armatures
+Nabla
+Mesh String Property
+Collection of action groups
+Keep path lengths constant
+The type of tilt interpolation for 3D, Bezier curves
+Creates a force that dampens motion
+Disable simulation of linear motion along the Y axis
+Green
+Layer is selected for editing in the DopeSheet
+Voronoi F2
+Voronoi F3
+Active F-Curve Modifier
+Cycles
+Margin
+Voronoi F4
+Theme settings for the Image Editor
+Face Dot Selected
+Damping of cloth velocity. (higher = more smooth, less jiggling)
+GLSL Color Management
+Prompt
+Length of first Bezier Handle (for B-Bones only)
+Theme settings for style sets
+Ctrl
+Show intermediate values for the driver calculations to allow debugging of drivers
+Apply this and all preceding deformation modifiers on splines' points rather than on filled curve/surface
+Vertex indices
+Lens angle (mm) in perspective view
+Back
+German (Deutsch)
+Color of light scattered out of the volume (does not affect transmission)
+Build free run time code index
+Extrapolation
+Theme settings for Info
+Collection of metaball elements
+Use face normal to rotate object, so that it points away from the surface
+Lens
+Otherwise menus, etc will always be top to bottom, left to right, no matter opening direction
+Particle Dupliobject Weight
+Use textures for drawing international fonts
+Use light for face
+The edge flag to tag when selecting the shortest path
+Vinterlace
+Cycle the images in the movie
+Display Z Axis
+Reflectivity
+Window Draw Method
+Set audio sampling rate to 44100 samples per second
+Causes particle systems to be duplicated with the object
+Scripts Window
+The space where the panel is going to be used in
+SMPTE (Compact)
+Automatically merge nearby keyframes
+Fast in high-contrast areas
+YCC
+Deliver object index pass
+Bake shadows
+Continuous Grab
+Alive State
+Input
+Adaptive
+Single texture face materials
+Color Ramp Element
+Hue
+Error tolerance (low values are slower and higher quality)
+Transforms include effects of constraints but not parenting/restpose
+Collision Settings
+Collection of cameras
+Command line prompt
+Cache file path
+Object Space
+Driver
+End size of strands in pixels or Blender units
+Weighted result of strip is added to the accumulated results
+NLA Track is selected
+Quaternion
+DOC BROKEN
+19 - Theme Color Set
+Debug State
+Active Keying Set used to insert/delete keyframes
+Lock Rotations (4D)
+Sets the audio output device
+Channels to display when drawing the histogram
+Displays bit depth of full screen display
+Sky Blend
+Reflection
+Vertex group to control roughness 1
+Bake Emit values (glow)
+Language use for translation
+Atmosphere Distance Factor
+Emit Object Space
+Motion Path Points
+IK Solver
+F-Curves
+Semantic interpretation of the property
+Partial overlay on top of the sequencer
+Unborn
+Effect in full or only positive/negative Z direction
+Format of the source data set to render        
+Space UV Editor
+Solid Lights
+F1
+F2
+F3
+F4
+F5
+F6
+F7
+Fonts Directory
+Single ASCII character for this event
+Invert x Axis
+Allow boids to move in air
+Zoom Style
+Library
+Sky related settings for a sun lamp
+Inherit Rotation
+Disable Stereo and Dome environments
+KeyConfigs
+IK Stretch
+Voronoi F1
+Rigid Body
+operator_context
+Rotation Units
+Defines the structure of the menu in the UI
+idp_array
+XYZ velocity mapped to RGB colors
+Editmode
+Particle Location
+Tabs as Spaces
+Region Background
+Render Layers
+Stiff viscosity
+Scale Matrix
+Pinned
+Sequence Editor
+Vertex Normal
+Display current image regardless of object selection
+Display Lattices
+Density
+Exclude raytraced refraction pass from combined
+Charge effector weight
+Limit colliders to this Group
+Square (SV + H)
+Space currently being displayed in this area
+Show frame number beside the current frame indicator line
+Face
+Normalized quaternion rotation
+Proportional Editing enabled
+Vector handle selected color
+Scope region background color
+Show font files
+Wave
+Stickness
+Vertex Groups
+The time to animate the view in milliseconds, zero to disable
+Number of times this datablock is referenced
+Source Path
+Forcefield based on a texture
+Lattices
+Object used as the smoke simulation domain
+Parameters defining which layer, pass and frame of the image is displayed
+Vertex Size
+Italian (Italiano)
+Physics Type
+Ghost
+Audio Device
+Display Scene
+Limit Scale
+Enable Dome environment
+Vertex Group Kink Negate
+Radial Falloff Power
+Value Sliders
+collection
+Meta Elements
+Q
+Display Transforms
+Texture Time Out
+Output image in TIFF format
+Key Map
+Navigation mesh
+Fade effect using the built-in default (usually make transition as long as effect strip)
+Include visualization of ShapeKey related Animation data
+Manual adjust
+Space User Preferences
+NLA Track is not evaluated
+Use rule when boid is on land
+Anisotropic Filter
+Red Green Blue
+Radiance HDR
+Active object base in the scene
+User defined layer of integer number values
+Object Mode
+Maximum height between grid cells the agent can climb
+Texts
+Sort the file list by extension
+Settings for filtering animation data
+Number of horizontal pixels in the screen
+Path to the .blend file
+Converts texture RGB values to intensity (gray) values
+Different styles of displaying the color picker widget
+Initial state when the game starts
+Nurbs order in the U direction (For splines and surfaces), Higher values let points influence a greater area
+Show sliders beside F-Curve channels
+Fisheye
+Show View Name
+Sequencer and Image Preview
+Fake User
+Video Sequence Editor
+Struct Definition
+The directory for storing temporary save files
+Record Animation
+F-Curve Modifier will not be evaluated
+Full Render
+Only one side is rendered, with Z axis pointing in direction of image
+Show ghosts from around the current frame
+Display Channel
+Automatically switch between orthographic and perspective when changing from top/front/side views
+Print debug information for this property
+Update simulation with cache steps
+Relationship Lines
+RNA Path to property affected by F-Curve
+Median Point
+Mesh datablocks
+Sets angular index of refraction for raytraced refraction
+Node Socket type
+Outliner space data
+Shadow X Offset
+Amount of residual error in Blender space unit for constraints that work on position
+Make diffuse shading more similar to shading the surface
+Scale textures for the 3D View (looks nicer but uses more memory and slows image reloading)
+Draw white edges with black outline
+UV selection and display mode
+No
+Show linked objects to the actuator
+Key Config
+Pressure
+Render Data
+Quaternion Rotation
+Multiply
+Control point for envelope F-Modifier
+Proportion of original image source pixel lines to sample
+Avoid Collision
+Snap to volume
+Starting frame of range of Ghosts to display (not for 'Around Current Frame' Onion-skinning method)
+Automatically determine the number of threads, based on CPUs
+Curve mapping to map color, vector and scalar values to other values using a user defined curve
+Run python while editing
+Selects the collision type
+Active Vert/Edge/Face
+Tessellation level - check the generated mesh in wireframe mode
+Register
+Transform Markers
+Include visualization of Scene related Animation data
+Index number of cache files
+Text Highlight
+Halo particle effect settings for a Material datablock
+MPlayer
+Previous Particle Location
+Recent Files
+Legacy tracking constraint prone to twisting artifacts
+Edges receive a lift force when passing through surrounding media
+Optional region type keymap is associated with
+Output image in JPEG 2000 format
+Self Collision
+Enable bending constraints
+Theme DopeSheet
+Layer
+Drag Threshold
+Factor Rest Length
+Which style to use for viewport scaling
+Data to derive color results from
+3D cursor location for this view (dependent on local view setting)
+Nested
+MultiLayer
+Display Curve
+Disk Cache
+Transform markers as well as strips
+mode
+Target object for multi-target constraints
+Multiplier for the material's density
+FPS Base
+Grease Pencil Simplify Stroke
+Edit all markers of the same group as one
+Harmonic effector weight
+Location of head end of the bone relative to armature
+Texture coordinates from root particle locations
+Stereo Options
+Disallow movement around the Z axis
+Number of vertical tiles to use while rendering
+Random Friction
+Specifies an offset in the flare seed table
+Horizon brightness
+Language
+Sound Clip
+Light used for OpenGL lighting in solid draw mode
+Screen datablocks
+NLA Editor
+Vertex group to control velocity
+input_count
+Only hold last frame
+Elasticity of collisions
+Sky Texture
+Use SIMD SVBVH
+Sort alphabetically
+New Handles Type
+Display only objects which will be rendered
+Noise
+The time (in ms) for a double click
+matrix
+channel_id
+Only render the active layer
+Material
+Standard Modal Map
+No TC in use
+Output image in multilayer OpenEXR format
+Empty
+Always
+Enable filtering of files
+Template
+When the camera is locked to the view and in fly mode, transform the parent rather than the camera
+Show Sensors
+Auto handle color
+Custom Warp Mesh data file
+Audio Channels
+Available as GameObject attributes in the game engine's python API
+Offset Y
+Min Region Size
+Pre-calculate the raytrace accelerator and render raytracing effects
+For multires, show low resolution while navigating the view
+Active curve spline
+Strength of sky shading exponential exposure correction
+Print Performance to Console
+Power of Fresnel for mirror reflection
+Default binary voxel file format
+Copy Transforms
+Draw alpha transparency channel
+4x4 bone matrix relative to armature
+Edge spring stiffness when longer than rest length
+When true the format is a movie
+Read cache from an external location
+Object Index
+Print warnings when using deprecated features in the python API
+Option Widget Colors
+Auto Depth
+Goal Minimum
+Display size for proportional editing circle
+Point
+NLA Strip
+Strokes
+Lock editing of scale in the interface
+Sensor name
+Point in a shape key
+Dutch (Nederlandse taal)
+Only Objects in Group
+The shininess of the reflection (values < 1.0 give diffuse, blurry reflections)
+Default relative path option for the file selector
+Proportional editing object mode
+Sampled animation data
+Output image in PNG format
+Owner Space
+Align the transformation axes to the selected objects' local space
+If this is set, the panel gets a custom ID, otherwise it takes the name of the class used to define the panel. For example, if the class name is "OBJECT_PT_hello", and bl_idname is not set by the script, then bl_idname = "OBJECT_PT_hello"
+Lock Rotation (4D Angle)
+Overdraw Sketching
+Pause
+Maximum speed in air
+Backdrop Y offset
+Ellipsoid
+Separate Units
+Object is a fixed obstacle
+scene
+Load user interface setup when loading .blend files
+'Viscosity' inside collision target
+Bake everything
+Lamp
+Negate the effect of the length vertex group
+Invert z axis
+Armature datablocks
+Shadow size in pixels (0, 3 and 5 supported)
+Rasterized cell size
+Collection of timeline markers
+Local
+Old style zoom, continues while moving mouse up or down
+Tooltips
+Edge Collision
+Fluid rest density
+Blender Voxel
+Bezier curve point with two handles
+Runtime
+Regular key pressed as a modifier
+UV Layer
+Initial Velocity
+Sources of input data for evaluating this variable
+Timeline
+Game engine related settings for the object
+Hide Recent Locations
+Include the name of the active camera in image metadata
+Colored Constraints
+Particle Hair Key
+Y Location
+Exec Region Window
+Stereographic techniques
+UV editor settings
+General movement damping
+Estimate matrix
+Global Pivot
+IK X Lock
+Keep UV and edit mode mesh selection in sync
+Vector Handle
+Number of frames from start frame for influence to take effect
+int_array
+Key velocity
+Negate the effect of the roughness 1 vertex group
+Output Path
+Image User
+AutoMerge Editing
+Flare Subsize
+Handle 2 Location
+Edge UV Face Select
+Clamp To
+NDOF
+The transformation of the target is only evaluated in the Pose Space, the target armature object transformation is ignored
+Particle systems emitted from the object
+Wheel Up
+Linear falloff
+Show the status of cached frames in the timeline
+R
+Keyframe
+Blender Render
+Noise Basis
+How the texture effect is calculated (RGB & Curl need a RGB texture else Gradient will be used instead)
+Display Grid Floor
+Transmission Color
+Parameters defining how an Image datablock is used by another datablock
+Spline point without handles
+8 bit color channels
+Collapse summary when shown, so all other channels get hidden. (DopeSheet Editors Only)
+Draw Z-buffer associated with image (mapped from camera clip start to end)
+Filter Size
+Density is constant within lookup radius
+Clear Images before baking
+Animation Channels
+Snap closest point onto target
+Cloth Collision Settings
+Sequence Plugin Directory
+Size of widget handles as percentage of widget radius
+Friction
+Main Speakers
+Offset in the random number table, to get a different randomized result
+Keep Lengths
+Vertex Group Element
+Snap to faces
+Case Sensitive Matches Only
+Time delay in 1/10 seconds before automatically opening sub level menus
+RNA structure definition
+F-Curve Modifier is only applied for the specified frame range to help mask off effects in order to chain them
+Collection of pose bone constraints
+Angle
+Gives a spiraling force that twists the force objects local Z axis
+AAC
+The constraint is applied relative to the local coordinate sytem of the object
+Separate color channels in preview
+Absolute Density
+Target Particle System
+When transforming keyframes, changes to the animation data are flushed to other views
+Markers
+Amount of pixels you have to drag before dragging UI items happens
+Manipulator Hotspot
+Nurb U-lines
+Output video in Ogg format
+double_array
+Shape matching threshold
+Drag component proportional to the square of velocity
+Inner Selected
+Show Playback FPS
+Interpolation
+Space File Browser
+Hold LMB Open Toolbox Delay
+Vertex Group Weight
+Timeline editor space data
+Main Screens
+Improved Perlin
+The value this event translates to in a modal keymap
+Theme settings for widget state colors
+Reversed
+Mesh Float Property
+Sky Exposure
+Align each axis to the Euler rotation axis as used for input
+Show Frame Numbers
+Action Editor
+17 - Theme Color Set
+Soft body simulation settings for an object
+Mesh Vertices
+32-bit Float
+Invisible
+Number of horizontal pixels in the rendered image
+=
+Handle types
+Stricky texture coordinate
+Max Land Angular Velocity
+Struct definition used for properties assigned to this item
+RGB to Intensity
+Mapping settings
+Name of Shape Key
+Shadow Alpha
+Radius Interpolation
+Pulse True Level
+Bounces
+Exec Region Preview
+Edge Draw Type
+Color Management
+Raytrace
+Forcefield depends on the speed of the particles
+Mode
+Stiffness
+Radial
+Noise Method
+Number of seconds between each run of the GL texture garbage collector
+Gravitational constant used for physics simulation in the game engine
+Logic Editor
+Text Selected
+Point Caches
+No compression
+Vertex coordinates are stored localy on each primitive. Increases memory usage, but may have impact on speed
+Edge Crease
+Invert rotation Axis
+Use Ambient Occlusion to add shadowing based on distance between objects
+Frame that modifier's influence starts (if Restrict Frame Range is in use)
+active_strip
+Lock
+Collection of window managers
+Cine-Flat 24fps 1998x1080
+Sort by extension
+All Views
+Enum Item Definition
+Button 4
+Button 5
+Button 6
+Button 7
+Button 1
+Button 2
+Maximum angles for IK Limit
+Render Pass
+Selected Text
+Whether to draw the sound's waveform
+Data Path
+Enum Flag
+Soft Light
+Define forces for vertices to stick to animated position
+Sample every pixel of the image
+Invert roll axis
+Goal
+Dissolve Speed
+Textbox X Offset
+Sky turbidity
+A random rule is selected for each boid
+OpenAL device - supports 3D audio, recommended for game engine usage
+Console Input
+Invert the level(output) of this sensor
+Memory Cache Limit
+Point Cache List
+Motion Path settings for visualisation
+Endpoint V
+The rotation step for numerical pad keys (2 4 6 8)
+Linear and angular physics
+NLA Strip is selected
+The channel number shown in the image preview. 0 is the result of all strips combined
+Shrink
+Limit movement around the X axis
+Draw Action
+Display debug reporting info
+Collection of action fcurves
+Bone inherits scaling from parent bone
+Lock current frame displayed by layer
+Type of stretch to draw
+Friction/damping with self contact
+Undo
+ZYX Euler
+Scaling factor for the background image
+vBVH
+Axis-Angle Rotation
+Bone deformation weight (for Envelope deform only)
+Interaction radius is a factor of 4 * particle size
+Shape key to use the rest spring lengths from
+Use this texture as a blending value on the next texture
+Deliver environment lighting pass
+Show Python references in tooltips
+Theme NLA Editor
+Above-Below
+Transition Strip
+NLA Strips on this NLA-track
+Draw black edges
+Removes the operator from search results
+Light Override
+Only include channels from Objects in the specified Group
+Compositing
+128
+Random Damping
+Effector Weights
+Location of tail of the channel's bone
+Frame Number
+Image displayed and edited in this space
+Vertex group to control roughness 2
+Show background image in camera view
+How incompressible the fluid is
+Point select mode
+Panel containing UI elements
+Stamp Date
+Inverts the values of the texture to reverse its effect
+Smoke flow settings
+Active Particle System
+Channels
+Type of this region
+Intensity
+Audio Strip
+Blending
+Enable this objects as a collider for physics systems
+Tracking along a single axis
+Weight used by the Subsurf modifier for creasing
+Duplicate Mesh
+Keying Set Info
+Map Type
+Use BLI K-Dop BVH.c
+Amount of turbulence/rotation in fluid
+Add light and shadow
+Random falloff
+Script
+Edge selection mode
+Auto Handle
+Collection of bone groups
+Vertex Group Roughness 1
+Sets minimum X value to for the render border
+Coordinates of the left handle (before the control point)
+Source
+Output Node
+Groups of Pose Channels (Bones)
+Hide recent locations in the file selector
+Particle editing brush
+Show the ground plane grid in perspective view
+Snap Target
+Scripted Expression
+Shadow Brightness
+Noise algorithm - Blender original: Smooth interpolated noise
+Rot error
+Amount of damping during particle collision
+Save Versions
+Anti-aliasing
+Endpoint U
+Sub-Target
+Settings
+Use international fonts
+Show Mini Axis
+Previous Particle Velocity
+Edge in a Mesh datablock
+Function Definition
+Physics engine used for physics simulation in the game engine
+Softbody
+Theme settings for the DopeSheet
+Vertex Group Size
+Add the file format extensions to the rendered file name (eg: filename + .jpg)
+Collection of KeyConfigs
+Active Element
+Wipe
+Deliver raytraced reflection pass
+Fade paths and keys further away from current frame
+Threshold for adaptive sampling. If a sample contributes less than this amount (as a percentage), sampling is stopped
+Control point spring strength values
+Extends by repeating edge pixels of the image
+File is Saved
+Region Type
+OpenEXR
+Auto Keying
+S
+Vector
+Texture Mapping
+Cache name
+Smoke
+Boid State
+Space Node Editor
+Multiresolution
+No Preset
+Maximum allowed number of light inter-reflections
+Final key configuration that combines keymaps from the active and addon configurations, and can be edited by the user
+Allow Negative Frames
+Bending
+Group to override all other lights in this render layer
+Position solver iterations
+Exists
+Lock editing of 'angle' component of four-component rotations in the interface
+Deliver shade-less color pass
+Rear-Truncated
+RNA
+Has Minimum
+Strip has no influence past its extents
+Lennard-Jones effector weight
+Screens
+Window Background
+current_character
+Meta
+Theme settings for the Logic Editor
+Floating-Point Property
+Structural Stiffness
+Particle system settings
+Codec settings for OpenEXR
+Axis
+Forces the current Scene to be displayed in all Screens
+Indicates that a keymap is used for translate modal events for an operator
+Environment map created by the renderer and cached for subsequent renders
+Rotational Difference
+Goal Vertex Group
+Use shaders for GLSL rendering
+Multiple Springs
+Emitter Distance
+Edit Bone
+Indicates that a keyconfig was defined by the user
+Include channels from objects/bone that aren't visible
+Align dynamic game objects along the surface normal, when inside the physics distance area
+Frames Per Second
+Set the distance between the eyes - the camera focal length/30 should be fine
+Draw Other Objects
+Mouse Previous Y Position
+Flare Size
+Align the transformation axes to average normal of selected elements (bone Y axis for pose mode)
+Maintain Volume
+Display mode for the file list
+Max Step
+Activate FALSE level triggering (pulse mode)
+Active Render
+Size Y
+Size X
+Display splash screen on startup
+Size Z
+Grease Pencil Layer
+X/Y coordinates of the curve point
+Use a minimum distance for the field's fall-off
+Show 2D cursor
+Frame Locked
+Active
+Horizontal
+Editing
+Factor for how much surrounding objects contribute to light
+Blend In
+Sets the global starting frame of the movie/sequence, assuming first picture has a #1
+bg_BG
+The size of the occlusion buffer in pixel, use higher value for better precision (slower)
+Horizontal aspect ratio - for anamorphic or non-square pixel output
+4x4 matrix, before constraints
+Minimum Distance
+End frame of range of Ghosts to display (not for 'Around Current Frame' Onion-skinning method)
+Particles generated by the particle system
+Region Text Highlight
+Align
+zh_TW
+Overwrite existing files while rendering
+Cylinder
+How many frames to fade
+Driver type
+World
+Theme settings for user interface elements
+Bending Stiffness
+Draw other selected objects that share the same image
+Show dashed lines indicating parent or constraint relationships
+And
+Bevel Radius
+Extrapolated
+Force
+Active Brush
+Distance will be used to attenuate shadows
+Method used to adjust the roll of bones when retargeting
+Form Factor
+Scopes to visualize image statistics
+Number
+Shade Top
+Number of frames to render ahead during playback
+High quality interpolation, but slower
+Current view matrix of the 3D region
+Handle 1 Location
+Vertex Group Density
+Active Frame
+IK Y Limit
+Blending to inelastic collision
+Enable high resolution (using amplification)
+Simulation starts on this frame
+Properties to set when the operator is called
+Result of rendering, including all layers and passes
+iTaSC
+Mesh String Property Layer
+Tweak Left
+True if this map is ready for use, False if it needs rendering
+X Scale
+Bone in an Armature datablock
+Output image in Targa format
+Stamp Sequence Strip
+F-Curve Modifier's panel is expanded in UI
+Build 50% proxy resolution
+An object duplicate
+Start Offset
+Items
+Fluid simulation settings for an object taking part in the simulation
+Set audio mixing buffer size to 8192 samples
+Material Strand
+Inflow
+Sort
+Relative Key
+Motion Paths
+Return
+Stiffness defines how much of the element to fill
+Detail mesh simplification max sample error
+Meta Strip
+Bake Alpha values (transparency)
+Memory cache limit in sequencer (megabytes)
+Input configuration, including keymaps
+Select the type of Framing you want
+Animation data for this datablock
+Raytracing
+Key Map Item
+Split quads to give the least distortion while baking
+Show overexposed areas with zebra stripes
+1024
+Bias towards faces further away from the object (in blender units)
+Strip time is controlled by an F-Curve rather than automatically determined
+Bake Location
+sr_RS
+Panel
+Main Libraries
+Edit Edit
+Get away from assigned object or loudest assigned signal source
+Darken
+Active index in vertex group array
+Average Separation
+F-Curve Modifiers
+RNA type used for pointers to any possible data
+Space Image Editor
+UV Selected
+Handle 1 Type
+Choke
+Use Simplify
+Maximum
+YZX Euler
+No Self
+Helicopter Mode
+Rotation in Eulers
+On Cage
+Bone that defines the display transform of this custom shape
+Main Node Trees
+Undo Steps
+Cube Map
+Point cache for physics simulations
+Interactive python console
+Use environment map with six cube sides
+Show .blend files
+Kill Particles
+Sets maximum X value for the render border
+Only Seconds
+NLA Tracks (i.e. Animation Layers)
+Timer Property
+Z Rotation
+Ensure all bone-deforming vertex groups add up to 1.0 while weight painting
+Rigid to Soft Body
+Lock to Object
+Threshold
+Enable sorting of faces for correct alpha drawing (slow, use Clip Alpha instead when possible)
+Occlude Geometry
+Causes surface data to be duplicated with the object
+Use the images alpha values clipped with no blending (binary alpha)
+Hold Forward
+Set Controller state index (1 to 30)
+Amount of light that gets scattered out by the volume - the more out-scattering, the shallower the light will penetrate 
+Lock Horizon
+Ignore Layers
+Object Matrix
+Pixel Aspect X
+Filename
+Use Ambient Occlusion
+The transformation of the target is evaluated relative to its local coordinate system
+The region where the panel is going to be used in
+BW
+Bake Specular values
+Tool
+Margin Column
+Maximum distance from active object to other object (in blender units
+Final transformation value of object or bone
+Group Name
+Proxy parameters for a sequence strip
+fr_FR
+Kill collided particles
+Disable simulation of angular  motion along the Y axis
+Collision Margin
+SMPTE timecode showing minutes, seconds, and frames only. Hours are also shown if necessary, but not by default
+bl_use_preview
+Draw Faces
+Vertex Group Rotation Negate
+\
+New Window
+Turbulent noise driven by particle velocity
+Lock Rotation
+Color Source
+Print state debug info in the game engine
+Location of head of the channel's bone
+Timer
+Output video in Xvid format
+Enable raytraced reflections
+Image Preview
+Optional space type keymap is associated with
+Use ramps for GLSL rendering
+Motion Samples
+Vectorscope Opacity
+Element defining a color at a position in the color ramp
+All Action Keyframes
+Automatic keyframe insertion for Objects and Bones (default setting used for new Scenes)
+Align Object To
+Welding threshold: distance between nearby vertices to be considered equal => set to 0.0 to disable welding test and speed up scene loading (ok if the mesh has no duplicates)
+Limit
+T
+Diffuse Color
+Release
+User defined string text value in a string properties layer
+Histogram for viewing image statistics
+Scroll Widget Colors
+General media friction for point movements
+Lock Y Rotation Axis
+Set audio mixing buffer size to 1024 samples
+Draw the image repeated outside of the main view
+Mesh Int Property
+Noodle curving
+Unknown Type
+Add & Replace
+Border Collisions
+Add children to form a compound collision object
+Influence
+Show high resolution (using amplification)
+Collection of sounds
+Use Bone Heads
+Actuator to apply actions in the game engine
+Mp3
+Go to closest enemy and attack when in range
+Type of range to show for Motion Paths
+Use trackball style rotation in the viewport
+32768
+Overwrite
+Duplicate Particle
+32-bit Signed
+Scale
+Expression to use for Scripted Expression
+Pre-calculate the shading information into a voxel grid, speeds up shading at slightly less accuracy
+Parameters
+Material Mode
+Avoid
+Cache is outdated
+File Browser Buttons
+Actor
+Bone Group Index
+Toolbox Column Layout
+Show the frames per second screen refresh rate, while animation is played back
+Image Editor
+Mesh Vertex Sticky Texture Coordinate
+Vertex Weight Proximity
+Average Spring length * Ball Size
+Renders rings over halo
+Offset in the random number table for child particles, to get a different randomized result
+Auto Keying Mode
+B-Bone Segments
+Time in 1/10 seconds to hold the Left Mouse Button before opening the toolbox
+Visible Layers
+File format to save the rendered images as
+Enable view navigation within the camera view
+Show background image in top view
+Sun brightness
+Closest
+Make this curve or surface a closed loop in the U direction
+Command history
+XYZ Rotation Order. Prone to Gimbal Lock
+Draw Stretch Type
+Percentage scale for render resolution
+F-Curve and its keyframes are hidden in the Graph Editor graphs
+F-Curve Editor
+Area distortion between UV and 3D faces
+YXZ Rotation Order. Prone to Gimbal Lock
+Effective but slow compression
+Fields
+For bone motion paths, search whole Action for keyframes instead of in group with matching name only (is slower)
+Process the render result through the compositing pipeline, if compositing nodes are enabled
+Co-ordinate system to cache particles in
+Error Limit
+Curve guide effector weight
+Default
+Black Level
+ISO 1
+Fine tunes texture mapping X, Y and Z locations
+Single Property
+Korean (í\95\9cêµ­ ì\96¸ì\96´)
+DopeSheet Sub-Channel
+Max Air Speed
+Vertex Group Length Negate
+Key location for a particle over time
+Render a user-defined border region, within the frame size. Note, this disables save_buffers and full_sample
+Range
+Materials
+Show hidden dot files
+Numpad Enter
+Polish (Polski)
+Automatic saving of temporary files in temp directory, uses process ID
+Cubic B-Spline
+Logic editor space data
+Open menu buttons and pulldowns automatically when the mouse is hovering
+Use to check if an operator is a macro
+Display zoom level
+Stamp Filename
+Weight
+Bias (in radians) to prevent smoothed faces from showing banding (for Raytrace Constant Jittered)
+Auto XYZ to RGB
+UV
+Audio volume
+Restrict the number of animation updates to the animation FPS. This is better for performance, but can cause issues with smooth playback
+Replace
+Show paint related properties
+Target Space
+Gloss Samples
+UI
+Keep horizon level while flying with 3D Mouse
+Texture Mode
+Shaded + Multiple Scattering
+Lifetime
+Settings for particle fluids physics
+Type of units for this property
+Pointer
+Field Settings
+PoseBone Constraints
+Right Ctrl
+User Key Configuration
+Color 3
+Speakers
+Color 1
+Spline Points
+Color 4
+Gradient
+Rule Fuzziness
+YZX Rotation Order. Prone to Gimbal Lock
+Amount of residual error in radiant for constraints that work on orientation
+GLSL Shadows
+Radius of object representation in obstacle simulation
+Show the entire viewport in the display window, using bar horizontally or vertically
+Dissolve Smoke
+Internal
+Library file the datablock is linked from
+Outer face thickness
+Any modifier keys pressed
+Screen aligned billboard
+Allow moving the mouse outside the view on some manipulations (transform, ui control drag)
+NLA Strips that this strip acts as a container for (if it is of type Meta)
+Pixel Cache
+Texture slot name
+Render Stamp
+bl_label
+Settings for interacting with Blender data
+Ball
+Active Clone
+Editbone Matrix
+ja_JP
+Curve in a curve mapping
+Auto Rainbow
+Maximum angular velocity in air (relative to 180 degrees)
+Operator Properties
+Material Raytrace Transparency
+Child
+Modal Keymap
+Color to use behind stamp text
+Theme settings for the graph editor
+Aligned
+Border Maximum X
+Border Maximum Y
+Type of event
+Set color of the bars
+Collapse Summary
+How many collision iterations should be done. (higher is better quality but slower)
+Consant falloff
+Fields Still
+Main Sounds
+Definition of a choice in an RNA enum property
+Translate Tooltips
+Sync Markers
+Object being duplicated
+Face in a Mesh datablock
+Calculate bone paths from tails
+Display World
+UV Pinned
+No Collision
+Active Channel Group
+Make face invisible
+Number of subdivisions of bone (for B-Bones only)
+Renders halo as a lens flare
+Only Selected Channels
+Minimum height where the agent can still walk
+Stroke data points
+Multiply Vertex Group with Envelope
+Inner face thickness
+Set actuator expanded in the user interface
+Low values are slower and higher quality
+Vertices Cache
+Lattice datablocks
+Current frame number can be manually set to a negative value
+Set controller expanded in the user interface
+Simulation used for obstacle avoidance in the game engine
+Duplicate Curve
+List of background images
+Manipulator Handle Size
+Alive
+Lock Z Axis
+Tex
+A square showing Saturation/Value, with Hue slider
+Deliver material index pass
+XXX todo
+Collection of spline points
+Flock
+Linear Light
+Live Unwrap
+Radiosity
+Turbulence Influence
+Object datablocks
+Left Shift
+The source of this force field is the zero point of a harmonic oscillator
+Driver Target
+CIE
+Show High Resolution
+Pin Cloth
+Soft Body Settings
+Threads
+Negate the effect of the roughness end vertex group
+Gloss Threshold
+World Space
+Game data for a Scene datablock
+Blender 2.4
+Coordinates of the right handle (after the control point)
+View2D Buttons List
+F-Curves in this group
+Point cache list
+3D View Region
+Show the X axis line in perspective view
+Matroska
+Node Generic
+Extinction scattering contribution factor
+Callback function defines for builtin Keying Sets
+Generate point density from an object's vertices
+Coulomb friction coefficient, when inside the physics distance area
+Temporary
+Vertex group to control size
+Time in milliseconds between each frame recorded for screencast
+Low Resolution Mesh
+Maximum structural stiffness value
+Maximum radial distance for the field to work
+Collection of point caches
+Volume
+Asymmetry
+Mux rate (bits/s(!))
+Weight value of a vertex in a vertex group
+Log conversion reference blackpoint
+Point density settings
+Show Mouse
+Name of Action Group to assign setting(s) for this path to
+Rotate
+Multiplier for multiple scattered light energy
+09 - Theme Color Set
+(Min+Max)/2 * Ball Size
+Flow
+Output image in Radiance HDR format
+Show Expanded
+11 - Theme Color Set
+Front scattering weight
+Maximum speed for jumping
+Compositor Nodes
+Particle in a particle system
+Vertex Group
+U
+Bending Stiffness Vertex Group
+Context
+Vertex selection mode
+Use scaled but un-grid-fitted kerning distances
+Gloss Amount
+3D region that defines the quad view settings
+Display groups and their datablocks
+Include visualization of Curve related Animation data
+User Modified
+Statistical view of the levels of color in an image
+Anisotropic Friction
+4x
+Inverse Gain
+Fade Time
+Visual Keying
+Agent Height
+Underline
+Translate Interface
+Property Definition
+Bake Mirror colors
+Animated Strip Time
+Friction Factor
+Space data for a screen area
+Maximum speed on land
+Theme User Interface
+Deflect Emitter
+Use Edges
+The base density of the volume
diff --git a/po/update_mo.py b/po/update_mo.py
new file mode 100755 (executable)
index 0000000..4effdc6
--- /dev/null
@@ -0,0 +1,17 @@
+#!/usr/bin/python
+
+# update all mo files in the LANGS
+
+import os
+
+LOCALE_DIR="../release/bin/.blender/locale"
+PO_DIR = "."
+DOMAIN = "blender"
+
+for po in os.listdir( PO_DIR ):
+  if po.endswith(".po"):
+    lang = po[:-3]
+    # show stats
+    cmd = "msgfmt --statistics %s.po -o %s/%s/LC_MESSAGES/%s.mo" % ( lang, LOCALE_DIR, lang, DOMAIN )
+    print cmd
+    os.system( cmd )
diff --git a/po/update_po.py b/po/update_po.py
new file mode 100755 (executable)
index 0000000..50459c2
--- /dev/null
@@ -0,0 +1,17 @@
+#!/usr/bin/python
+
+# update all po files in the LANGS
+
+import os
+
+PO_DIR = "."
+DOMAIN = "blender"
+
+for po in os.listdir( PO_DIR ):
+  if po.endswith(".po"):
+    lang = po[:-3]
+    # update po file
+    cmd = "msgmerge --update --lang=%s %s.po %s.pot" % (lang, lang, DOMAIN)
+    print(cmd)
+    os.system( cmd )
+    
diff --git a/po/update_pot.py b/po/update_pot.py
new file mode 100755 (executable)
index 0000000..616443e
--- /dev/null
@@ -0,0 +1,61 @@
+#!/usr/bin/python
+
+# update the pot file according the POTFILES.in
+
+import os
+
+GETTEXT_XGETTEXT_EXECUTABLE="xgettext"
+SOURCE_DIR=".."
+DOMAIN="blender"
+
+cmd = "%s --files-from=%s/po/POTFILES.in --keyword=_ --keyword=N_ --directory=%s --output=%s/po/%s.pot --from-code=utf-8" % (
+    GETTEXT_XGETTEXT_EXECUTABLE, SOURCE_DIR, SOURCE_DIR, SOURCE_DIR, DOMAIN)
+
+os.system( cmd )
+
+def stripeol(s):
+    if line.endswith("\n"):
+        s = s[:-1]
+
+    if line.endswith("\r"):
+        s = s[:-1]
+
+    return s
+
+pot_messages = {}
+reading_message = False
+message = ""
+with open("blender.pot", 'r') as handle:
+    while True:
+        line = handle.readline()
+
+        if not line:
+            break
+
+        line = stripeol(line)
+        if line.startswith("msgid"):
+            reading_message = True
+            message = line[7:-1]
+        elif line.startswith("msgstr"):
+            reading_message = False
+            pot_messages[message] = True
+        elif reading_message:
+            message += line[1:-1]
+
+# add messages collected automatically from RNA
+with open("blender.pot", "a") as pot_handle:
+    with open("messages.txt", 'r') as handle:
+        while True:
+            line = handle.readline()
+
+            if not line:
+                break
+
+            line = stripeol(line)
+            line = line.replace("\\", "\\\\")
+            line = line.replace("\"", "\\\"")
+
+            if not pot_messages.get(line):
+                pot_handle.write("\n#: Automatically collected from RNA\n")
+                pot_handle.write("msgid \"%s\"\n" % (line))
+                pot_handle.write("msgstr \"\"\n")
index 9f3b3ef80dc6f90f3923c1aec330700f787f077f..1a83c46039a2bdf9fa74c0bc3b16d8e5a81a824a 100644 (file)
@@ -11,13 +11,14 @@ Catalan:ca_ES
 Czech:cs_CZ
 Brazilian Portuguese:pt_BR
 Simplified Chinese:zh_CN
+Traditional Chinese:zh_TW
 Russian:ru_RU
 Croatian:hr_HR
-Serbian:sr
+Serbian:sr_RS
 Ukrainian:uk_UA
 Polish:pl_PL
-Romanian:ro
-Arabic:ar
-Bulgarian:bg
-Greek:el
-Korean:ko
+Romanian:ro_RO
+Arabic:ar_SA
+Bulgarian:bg_BG
+Greek:el_GR
+Korean:ko_KR
diff --git a/release/bin/.blender/fonts/droidsans.ttf.gz b/release/bin/.blender/fonts/droidsans.ttf.gz
new file mode 100644 (file)
index 0000000..e83aff4
Binary files /dev/null and b/release/bin/.blender/fonts/droidsans.ttf.gz differ
index 861255f167f466f7b41d81c1d3729f9e75d532c0..fae38eb1cef1d5c2e471fdb15aafdc009fdedc0c 100644 (file)
@@ -1144,6 +1144,67 @@ class WM_OT_sysinfo(Operator):
         return {'FINISHED'}
 
 
+class WM_OT_get_messages(Operator):
+    bl_idname = "wm.get_messages"
+    bl_label = "Get Messages"
+
+    def _putMessage(self, messages, msg):
+        if len(msg):
+            messages[msg] = True
+
+    def _walkProperties(self, properties, messages):
+        for prop in properties:
+            self._putMessage(messages, prop.name)
+            self._putMessage(messages, prop.description)
+
+            if isinstance(prop, bpy.types.EnumProperty):
+                for item in prop.enum_items:
+                    self._putMessage(messages, item.name)
+                    self._putMessage(messages, item.description)
+
+    def _walkRNA(self, bl_rna, messages):
+        if bl_rna.name and bl_rna.name != bl_rna.identifier:
+            self._putMessage(messages, bl_rna.name)
+
+        if bl_rna.description:
+            self._putMessage(messages, bl_rna.description)
+
+        self._walkProperties(bl_rna.properties, messages)
+
+    def _walkClass(self, cls, messages):
+        self._walkRNA(cls.bl_rna, messages)
+
+    def _walk_keymap_hierarchy(self, hier, messages):
+        for lvl in hier:
+            self._putMessage(messages, lvl[0])
+
+            if lvl[3]:
+                self._walk_keymap_hierarchy(lvl[3], messages)
+
+    def execute(self, context):
+        messages = {}
+
+        for cls in type(bpy.context).__base__.__subclasses__():
+            self._walkClass(cls, messages)
+
+        for cls in bpy.types.Space.__subclasses__():
+            self._walkClass(cls, messages)
+
+        for cls in bpy.types.Operator.__subclasses__():
+            self._walkClass(cls, messages)
+
+        from bl_ui.space_userpref_keymap import KM_HIERARCHY
+
+        self._walk_keymap_hierarchy(KM_HIERARCHY, messages)
+
+        text = bpy.data.texts.new(name="messages.txt")
+        for message in messages:
+            text.write(message + "\n")
+        self._walkClass(bpy.types.SpaceDopeSheetEditor, messages)
+
+        return {'FINISHED'}
+
+
 class WM_OT_copy_prev_settings(Operator):
     '''Copy settings from previous version'''
     bl_idname = "wm.copy_prev_settings"
index 3b33a7ccc6100444603a03b401f7b7c80dc5297f..499ea4c95d41a46140d662e606c2ce15fcffb3bd 100644 (file)
@@ -23,7 +23,7 @@
 # NOTE:
 # The specialised panel types are derived in their respective UI modules
 # dont register these classes since they are only helpers.
-
+from blf import gettext as _
 
 class MotionPathButtonsPanel():
     bl_space_type = 'PROPERTIES'
@@ -43,23 +43,23 @@ class MotionPathButtonsPanel():
         col = split.column()
         sub = col.column(align=True)
         if (mps.type == 'CURRENT_FRAME'):
-            sub.prop(mps, "frame_before", text="Before")
-            sub.prop(mps, "frame_after", text="After")
+            sub.prop(mps, "frame_before", text=_("Before"))
+            sub.prop(mps, "frame_after", text=_("After"))
         elif (mps.type == 'RANGE'):
-            sub.prop(mps, "frame_start", text="Start")
-            sub.prop(mps, "frame_end", text="End")
+            sub.prop(mps, "frame_start", text=_("Start"))
+            sub.prop(mps, "frame_end", text=_("End"))
 
-        sub.prop(mps, "frame_step", text="Step")
+        sub.prop(mps, "frame_step", text=_("Step"))
         if bones:
             col.row().prop(mps, "bake_location", expand=True)
 
         col = split.column()
-        col.label(text="Display:")
-        col.prop(mps, "show_frame_numbers", text="Frame Numbers")
-        col.prop(mps, "show_keyframe_highlight", text="Keyframes")
+        col.label(text=_("Display:"))
+        col.prop(mps, "show_frame_numbers", text=_("Frame Numbers"))
+        col.prop(mps, "show_keyframe_highlight", text=_("Keyframes"))
         if bones:
-            col.prop(mps, "show_keyframe_action_all", text="+ Non-Grouped Keyframes")
-        col.prop(mps, "show_keyframe_numbers", text="Keyframe Numbers")
+            col.prop(mps, "show_keyframe_action_all", text=_("+ Non-Grouped Keyframes"))
+        col.prop(mps, "show_keyframe_numbers", text=_("Keyframe Numbers"))
 
 
 # FIXME: this panel still needs to be ported so that it will work correctly with animviz
@@ -82,16 +82,16 @@ class OnionSkinButtonsPanel():
 
         sub = col.column(align=True)
         if arm.ghost_type == 'RANGE':
-            sub.prop(arm, "ghost_frame_start", text="Start")
-            sub.prop(arm, "ghost_frame_end", text="End")
-            sub.prop(arm, "ghost_size", text="Step")
+            sub.prop(arm, "ghost_frame_start", text=_("Start"))
+            sub.prop(arm, "ghost_frame_end", text=_("End"))
+            sub.prop(arm, "ghost_size", text=_("Step"))
         elif arm.ghost_type == 'CURRENT_FRAME':
-            sub.prop(arm, "ghost_step", text="Range")
-            sub.prop(arm, "ghost_size", text="Step")
+            sub.prop(arm, "ghost_step", text=_("Range"))
+            sub.prop(arm, "ghost_size", text=_("Step"))
 
         col = split.column()
-        col.label(text="Display:")
-        col.prop(arm, "show_only_ghost_selected", text="Selected Only")
+        col.label(text=_("Display:"))
+        col.prop(arm, "show_only_ghost_selected", text=_("Selected Only"))
 
 if __name__ == "__main__":  # only for live edit.
     import bpy
index 61093abe81400d4985907652124b40ad4495eac5..e5729a24b91600af29ee8be3d370968183ba782d 100644 (file)
@@ -20,7 +20,7 @@
 import bpy
 from bpy.types import Panel, Menu
 from rna_prop_ui import PropertyPanel
-
+from blf import gettext as _
 
 class ArmatureButtonsPanel():
     bl_space_type = 'PROPERTIES'
@@ -60,16 +60,16 @@ class DATA_PT_skeleton(ArmatureButtonsPanel, Panel):
         layout.prop(arm, "pose_position", expand=True)
 
         col = layout.column()
-        col.label(text="Layers:")
+        col.label(text=_("Layers:"))
         col.prop(arm, "layers", text="")
-        col.label(text="Protected Layers:")
+        col.label(text=_("Protected Layers:"))
         col.prop(arm, "layers_protected", text="")
 
         layout.label(text="Deform:")
         flow = layout.column_flow()
-        flow.prop(arm, "use_deform_vertex_groups", text="Vertex Groups")
-        flow.prop(arm, "use_deform_envelopes", text="Envelopes")
-        flow.prop(arm, "use_deform_preserve_volume", text="Quaternion")
+        flow.prop(arm, "use_deform_vertex_groups", text=_("Vertex Groups"))
+        flow.prop(arm, "use_deform_envelopes", text=_("Envelopes"))
+        flow.prop(arm, "use_deform_preserve_volume", text=_("Quaternion"))
 
         if context.scene.render.engine == "BLENDER_GAME":
             layout.row().prop(arm, "vert_deformer", expand=True)
@@ -89,15 +89,15 @@ class DATA_PT_display(ArmatureButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.prop(arm, "show_names", text="Names")
-        col.prop(arm, "show_axes", text="Axes")
-        col.prop(arm, "show_bone_custom_shapes", text="Shapes")
+        col.prop(arm, "show_names", text=_("Names"))
+        col.prop(arm, "show_axes", text=_("Axes"))
+        col.prop(arm, "show_bone_custom_shapes", text=_("Shapes"))
 
         col = split.column()
-        col.prop(arm, "show_group_colors", text="Colors")
+        col.prop(arm, "show_group_colors", text=_("Colors"))
         if ob:
-            col.prop(ob, "show_x_ray", text="X-Ray")
-        col.prop(arm, "use_deform_delay", text="Delay Refresh")
+            col.prop(ob, "show_x_ray", text=_("X-Ray"))
+        col.prop(arm, "use_deform_delay", text=_("Delay Refresh"))
 
 
 class DATA_PT_bone_group_specials(Menu):
@@ -161,12 +161,12 @@ class DATA_PT_bone_groups(ArmatureButtonsPanel, Panel):
         row.active = (ob.proxy is None)
 
         sub = row.row(align=True)
-        sub.operator("pose.group_assign", text="Assign")
-        sub.operator("pose.group_unassign", text="Remove")  # row.operator("pose.bone_group_remove_from", text="Remove")
+        sub.operator("pose.group_assign", text=_("Assign"))
+        sub.operator("pose.group_unassign", text=_("Remove"))  # row.operator("pose.bone_group_remove_from", text=_("Remove"))
 
         sub = row.row(align=True)
-        sub.operator("pose.group_select", text="Select")
-        sub.operator("pose.group_deselect", text="Deselect")
+        sub.operator("pose.group_select", text=_("Select"))
+        sub.operator("pose.group_deselect", text=_("Deselect"))
 
 
 class DATA_PT_pose_library(ArmatureButtonsPanel, Panel):
@@ -230,16 +230,16 @@ class DATA_PT_ghost(ArmatureButtonsPanel, Panel):
         col = split.column(align=True)
 
         if arm.ghost_type == 'RANGE':
-            col.prop(arm, "ghost_frame_start", text="Start")
-            col.prop(arm, "ghost_frame_end", text="End")
-            col.prop(arm, "ghost_size", text="Step")
+            col.prop(arm, "ghost_frame_start", text=_("Start"))
+            col.prop(arm, "ghost_frame_end", text=_("End"))
+            col.prop(arm, "ghost_size", text=_("Step"))
         elif arm.ghost_type == 'CURRENT_FRAME':
-            col.prop(arm, "ghost_step", text="Range")
-            col.prop(arm, "ghost_size", text="Step")
+            col.prop(arm, "ghost_step", text=_("Range"))
+            col.prop(arm, "ghost_size", text=_("Step"))
 
         col = split.column()
-        col.label(text="Display:")
-        col.prop(arm, "show_only_ghost_selected", text="Selected Only")
+        col.label(text=_("Display:"))
+        col.prop(arm, "show_only_ghost_selected", text=_("Selected Only"))
 
 
 class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, Panel):
@@ -263,7 +263,7 @@ class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, Panel):
             layout.prop(itasc, "mode", expand=True)
             simulation = (itasc.mode == 'SIMULATION')
             if simulation:
-                layout.label(text="Reiteration:")
+                layout.label(text=_("Reiteration:"))
                 layout.prop(itasc, "reiteration_method", expand=True)
 
             row = layout.row()
@@ -275,8 +275,8 @@ class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, Panel):
                 layout.prop(itasc, "use_auto_step")
                 row = layout.row()
                 if itasc.use_auto_step:
-                    row.prop(itasc, "step_min", text="Min")
-                    row.prop(itasc, "step_max", text="Max")
+                    row.prop(itasc, "step_min", text=_("Min"))
+                    row.prop(itasc, "step_max", text=_("Max"))
                 else:
                     row.prop(itasc, "step_count")
 
@@ -286,7 +286,7 @@ class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, Panel):
                 layout.prop(itasc, "velocity_max")
             if itasc.solver == 'DLS':
                 row = layout.row()
-                row.prop(itasc, "damping_max", text="Damp", slider=True)
+                row.prop(itasc, "damping_max", text=_("Damp"), slider=True)
                 row.prop(itasc, "damping_epsilon", text="Eps", slider=True)
 
 from bl_ui.properties_animviz import (
@@ -314,8 +314,8 @@ class DATA_PT_motion_paths(MotionPathButtonsPanel, Panel):
         layout.separator()
 
         split = layout.split()
-        split.operator("pose.paths_calculate", text="Calculate Paths")
-        split.operator("pose.paths_clear", text="Clear Paths")
+        split.operator("pose.paths_calculate", text=_("Calculate Paths"))
+        split.operator("pose.paths_clear", text=_("Clear Paths"))
 
 
 class DATA_PT_onion_skinning(OnionSkinButtonsPanel):  # , Panel): # inherit from panel when ready
index b3eaf88d5bfd066d70e900716c0628d3d2fb95b7..2c9b31fd88d5630742a339a1edfc8339d43ac35c 100644 (file)
@@ -21,7 +21,7 @@
 import bpy
 from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
-
+from blf import gettext as _
 
 class BoneButtonsPanel():
     bl_space_type = 'PROPERTIES'
@@ -76,14 +76,14 @@ class BONE_PT_transform(BoneButtonsPanel, Panel):
 
             col = row.column()
             if pchan.rotation_mode == 'QUATERNION':
-                col.prop(pchan, "rotation_quaternion", text="Rotation")
+                col.prop(pchan, "rotation_quaternion", text=_("Rotation"))
             elif pchan.rotation_mode == 'AXIS_ANGLE':
-                #col.label(text="Rotation")
-                #col.prop(pchan, "rotation_angle", text="Angle")
-                #col.prop(pchan, "rotation_axis", text="Axis")
-                col.prop(pchan, "rotation_axis_angle", text="Rotation")
+                #col.label(text=_("Rotation"))
+                #col.prop(pchan, "rotation_angle", text=_("Angle"))
+                #col.prop(pchan, "rotation_axis", text=_("Axis"))
+                col.prop(pchan, "rotation_axis_angle", text=_("Rotation"))
             else:
-                col.prop(pchan, "rotation_euler", text="Rotation")
+                col.prop(pchan, "rotation_euler", text=_("Rotation"))
 
             row.column().prop(pchan, "scale")
 
@@ -97,7 +97,7 @@ class BONE_PT_transform(BoneButtonsPanel, Panel):
 
             col = row.column()
             sub = col.column(align=True)
-            sub.label(text="Roll:")
+            sub.label(text=_("Roll:"))
             sub.prop(bone, "roll", text="")
             sub.label()
             sub.prop(bone, "lock")
@@ -126,12 +126,12 @@ class BONE_PT_transform_locks(BoneButtonsPanel, Panel):
 
         col = row.column()
         if pchan.rotation_mode in {'QUATERNION', 'AXIS_ANGLE'}:
-            col.prop(pchan, "lock_rotations_4d", text="Lock Rotation")
+            col.prop(pchan, "lock_rotations_4d", text=_("Lock Rotation"))
             if pchan.lock_rotations_4d:
                 col.prop(pchan, "lock_rotation_w", text="W")
             col.prop(pchan, "lock_rotation", text="")
         else:
-            col.prop(pchan, "lock_rotation", text="Rotation")
+            col.prop(pchan, "lock_rotation", text=_("Rotation"))
 
         row.column().prop(pchan, "lock_scale")
 
@@ -155,17 +155,17 @@ class BONE_PT_relations(BoneButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Layers:")
+        col.label(text=_("Layers:"))
         col.prop(bone, "layers", text="")
 
         col.separator()
 
         if ob and pchan:
-            col.label(text="Bone Group:")
+            col.label(text=_("Bone Group:"))
             col.prop_search(pchan, "bone_group", ob.pose, "bone_groups", text="")
 
         col = split.column()
-        col.label(text="Parent:")
+        col.label(text=_("Parent:"))
         if context.bone:
             col.prop(bone, "parent", text="")
         else:
@@ -174,11 +174,11 @@ class BONE_PT_relations(BoneButtonsPanel, Panel):
         sub = col.column()
         sub.active = (bone.parent is not None)
         sub.prop(bone, "use_connect")
-        sub.prop(bone, "use_inherit_rotation", text="Inherit Rotation")
-        sub.prop(bone, "use_inherit_scale", text="Inherit Scale")
+        sub.prop(bone, "use_inherit_rotation", text=_("Inherit Rotation"))
+        sub.prop(bone, "use_inherit_scale", text=_("Inherit Scale"))
         sub = col.column()
         sub.active = (not bone.parent or not bone.use_connect)
-        sub.prop(bone, "use_local_location", text="Local Location")
+        sub.prop(bone, "use_local_location", text=_("Local Location"))
 
 
 class BONE_PT_display(BoneButtonsPanel, Panel):
@@ -206,16 +206,16 @@ class BONE_PT_display(BoneButtonsPanel, Panel):
             split = layout.split()
 
             col = split.column()
-            col.prop(bone, "show_wire", text="Wireframe")
-            col.prop(bone, "hide", text="Hide")
+            col.prop(bone, "show_wire", text=_("Wireframe"))
+            col.prop(bone, "hide", text=_("Hide"))
 
             if pchan:
                 col = split.column()
 
-                col.label(text="Custom Shape:")
+                col.label(text=_("Custom Shape:"))
                 col.prop(pchan, "custom_shape", text="")
                 if pchan.custom_shape:
-                    col.prop_search(pchan, "custom_shape_transform", ob.pose, "bones", text="At")
+                    col.prop_search(pchan, "custom_shape_transform", ob.pose, "bones", text=_("At"))
 
 
 class BONE_PT_inverse_kinematics(BoneButtonsPanel, Panel):
@@ -241,13 +241,13 @@ class BONE_PT_inverse_kinematics(BoneButtonsPanel, Panel):
         split.prop(pchan, "lock_ik_x", icon='LOCKED' if pchan.lock_ik_x else 'UNLOCKED', text="X")
         split.active = pchan.is_in_ik_chain
         row = split.row()
-        row.prop(pchan, "ik_stiffness_x", text="Stiffness", slider=True)
+        row.prop(pchan, "ik_stiffness_x", text=_("Stiffness"), slider=True)
         row.active = pchan.lock_ik_x == False and pchan.is_in_ik_chain
 
         split = layout.split(percentage=0.25)
         sub = split.row()
 
-        sub.prop(pchan, "use_ik_limit_x", text="Limit")
+        sub.prop(pchan, "use_ik_limit_x", text=_("Limit"))
         sub.active = pchan.lock_ik_x == False and pchan.is_in_ik_chain
         sub = split.row(align=True)
         sub.prop(pchan, "ik_min_x", text="")
@@ -258,13 +258,13 @@ class BONE_PT_inverse_kinematics(BoneButtonsPanel, Panel):
         split.prop(pchan, "lock_ik_y", icon='LOCKED' if pchan.lock_ik_y else 'UNLOCKED', text="Y")
         split.active = pchan.is_in_ik_chain
         row = split.row()
-        row.prop(pchan, "ik_stiffness_y", text="Stiffness", slider=True)
+        row.prop(pchan, "ik_stiffness_y", text=_("Stiffness"), slider=True)
         row.active = pchan.lock_ik_y == False and pchan.is_in_ik_chain
 
         split = layout.split(percentage=0.25)
         sub = split.row()
 
-        sub.prop(pchan, "use_ik_limit_y", text="Limit")
+        sub.prop(pchan, "use_ik_limit_y", text=_("Limit"))
         sub.active = pchan.lock_ik_y == False and pchan.is_in_ik_chain
 
         sub = split.row(align=True)
@@ -276,13 +276,13 @@ class BONE_PT_inverse_kinematics(BoneButtonsPanel, Panel):
         split.prop(pchan, "lock_ik_z", icon='LOCKED' if pchan.lock_ik_z else 'UNLOCKED', text="Z")
         split.active = pchan.is_in_ik_chain
         sub = split.row()
-        sub.prop(pchan, "ik_stiffness_z", text="Stiffness", slider=True)
+        sub.prop(pchan, "ik_stiffness_z", text=_("Stiffness"), slider=True)
         sub.active = pchan.lock_ik_z == False and pchan.is_in_ik_chain
 
         split = layout.split(percentage=0.25)
         sub = split.row()
 
-        sub.prop(pchan, "use_ik_limit_z", text="Limit")
+        sub.prop(pchan, "use_ik_limit_z", text=_("Limit"))
         sub.active = pchan.lock_ik_z == False and pchan.is_in_ik_chain
         sub = split.row(align=True)
         sub.prop(pchan, "ik_min_z", text="")
@@ -290,7 +290,7 @@ class BONE_PT_inverse_kinematics(BoneButtonsPanel, Panel):
         sub.active = pchan.lock_ik_z == False and pchan.use_ik_limit_z and pchan.is_in_ik_chain
 
         split = layout.split(percentage=0.25)
-        split.label(text="Stretch:")
+        split.label(text=_("Stretch:"))
         sub = split.row()
         sub.prop(pchan, "ik_stretch", text="", slider=True)
         sub.active = pchan.is_in_ik_chain
@@ -298,15 +298,15 @@ class BONE_PT_inverse_kinematics(BoneButtonsPanel, Panel):
         if ob.pose.ik_solver == 'ITASC':
             split = layout.split()
             col = split.column()
-            col.prop(pchan, "use_ik_rotation_control", text="Control Rotation")
+            col.prop(pchan, "use_ik_rotation_control", text=_("Control Rotation"))
             col.active = pchan.is_in_ik_chain
             col = split.column()
-            col.prop(pchan, "ik_rotation_weight", text="Weight", slider=True)
+            col.prop(pchan, "ik_rotation_weight", text=_("Weight"), slider=True)
             col.active = pchan.is_in_ik_chain
             # not supported yet
             #row = layout.row()
-            #row.prop(pchan, "use_ik_linear_control", text="Joint Size")
-            #row.prop(pchan, "ik_linear_weight", text="Weight", slider=True)
+            #row.prop(pchan, "use_ik_linear_control", text=_("Joint Size"))
+            #row.prop(pchan, "ik_linear_weight", text=_("Weight"), slider=True)
 
 
 class BONE_PT_deform(BoneButtonsPanel, Panel):
@@ -334,27 +334,27 @@ class BONE_PT_deform(BoneButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Envelope:")
+        col.label(text=_("Envelope:"))
 
         sub = col.column(align=True)
-        sub.prop(bone, "envelope_distance", text="Distance")
-        sub.prop(bone, "envelope_weight", text="Weight")
-        col.prop(bone, "use_envelope_multiply", text="Multiply")
+        sub.prop(bone, "envelope_distance", text=_("Distance"))
+        sub.prop(bone, "envelope_weight", text=_("Weight"))
+        col.prop(bone, "use_envelope_multiply", text=_("Multiply"))
 
         sub = col.column(align=True)
-        sub.label(text="Radius:")
-        sub.prop(bone, "head_radius", text="Head")
-        sub.prop(bone, "tail_radius", text="Tail")
+        sub.label(text=_("Radius:"))
+        sub.prop(bone, "head_radius", text=_("Head"))
+        sub.prop(bone, "tail_radius", text=_("Tail"))
 
         col = split.column()
-        col.label(text="Curved Bones:")
+        col.label(text=_("Curved Bones:"))
 
         sub = col.column(align=True)
-        sub.prop(bone, "bbone_segments", text="Segments")
-        sub.prop(bone, "bbone_in", text="Ease In")
-        sub.prop(bone, "bbone_out", text="Ease Out")
+        sub.prop(bone, "bbone_segments", text=_("Segments"))
+        sub.prop(bone, "bbone_in", text=_("Ease In"))
+        sub.prop(bone, "bbone_out", text=_("Ease Out"))
 
-        col.label(text="Offset:")
+        col.label(text=_("Offset:"))
         col.prop(bone, "use_cyclic_offset")
 
 
index 5255af40951d6604fba37cf071695f224eec16b0..0d79ec99789234a096611a064bf663e18684efc3 100644 (file)
@@ -20,7 +20,7 @@
 import bpy
 from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
-
+from blf import gettext as _
 
 class CameraButtonsPanel():
     bl_space_type = 'PROPERTIES'
@@ -91,16 +91,16 @@ class DATA_PT_camera(CameraButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column(align=True)
-        col.label(text="Shift:")
+        col.label(text=_("Shift:"))
         col.prop(cam, "shift_x", text="X")
         col.prop(cam, "shift_y", text="Y")
 
         col = split.column(align=True)
-        col.label(text="Clipping:")
-        col.prop(cam, "clip_start", text="Start")
-        col.prop(cam, "clip_end", text="End")
+        col.label(text=_("Clipping:"))
+        col.prop(cam, "clip_start", text=_("Start"))
+        col.prop(cam, "clip_end", text=_("End"))
 
-        layout.label(text="Depth of Field:")
+        layout.label(text=_("Depth of Field:"))
 
         split = layout.split()
         split.prop(cam, "dof_object", text="")
@@ -109,7 +109,7 @@ class DATA_PT_camera(CameraButtonsPanel, Panel):
 
         if cam.dof_object is not None:
             col.enabled = False
-        col.prop(cam, "dof_distance", text="Distance")
+        col.prop(cam, "dof_distance", text=_("Distance"))
 
 
 class DATA_PT_camera_display(CameraButtonsPanel, Panel):
@@ -124,19 +124,19 @@ class DATA_PT_camera_display(CameraButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.prop(cam, "show_limits", text="Limits")
-        col.prop(cam, "show_mist", text="Mist")
-        col.prop(cam, "show_title_safe", text="Title Safe")
-        col.prop(cam, "show_name", text="Name")
+        col.prop(cam, "show_limits", text=_("Limits"))
+        col.prop(cam, "show_mist", text=_("Mist"))
+        col.prop(cam, "show_title_safe", text=_("Title Safe"))
+        col.prop(cam, "show_name", text=_("Name"))
         col.prop_menu_enum(cam, "show_guide")
 
         col = split.column()
-        col.prop(cam, "draw_size", text="Size")
+        col.prop(cam, "draw_size", text=_("Size"))
         col.separator()
-        col.prop(cam, "show_passepartout", text="Passepartout")
+        col.prop(cam, "show_passepartout", text=_("Passepartout"))
         sub = col.column()
         sub.active = cam.show_passepartout
-        sub.prop(cam, "passepartout_alpha", text="Alpha", slider=True)
+        sub.prop(cam, "passepartout_alpha", text=_("Alpha"), slider=True)
 
 
 class DATA_PT_custom_props_camera(CameraButtonsPanel, PropertyPanel, Panel):
index 2e0b36a7a7560bd6cc854675dfb022617c2b238f..861359fbed4b7fb4895da363afacbda2f51652c1 100644 (file)
@@ -20,7 +20,7 @@
 import bpy
 from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
-
+from blf import gettext as _
 
 class CurveButtonsPanel():
     bl_space_type = 'PROPERTIES'
@@ -67,7 +67,7 @@ class DATA_PT_context_curve(CurveButtonsPanel, Panel):
 
 
 class DATA_PT_shape_curve(CurveButtonsPanel, Panel):
-    bl_label = "Shape"
+    bl_label = _("Shape")
 
     def draw(self, context):
         layout = self.layout
@@ -85,17 +85,17 @@ class DATA_PT_shape_curve(CurveButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Resolution:")
+        col.label(text=_("Resolution:"))
         sub = col.column(align=True)
-        sub.prop(curve, "resolution_u", text="Preview U")
-        sub.prop(curve, "render_resolution_u", text="Render U")
+        sub.prop(curve, "resolution_u", text=_("Preview U"))
+        sub.prop(curve, "render_resolution_u", text=_("Render U"))
         if is_curve:
-            col.label(text="Twisting:")
+            col.label(text=_("Twisting:"))
             col.prop(curve, "twist_mode", text="")
-            col.prop(curve, "twist_smooth", text="Smooth")
+            col.prop(curve, "twist_smooth", text=_("Smooth"))
         if is_text:
-            col.label(text="Display:")
-            col.prop(curve, "use_fast_edit", text="Fast Editing")
+            col.label(text=_("Display:"))
+            col.prop(curve, "use_fast_edit", text=_("Fast Editing"))
 
         col = split.column()
 
@@ -103,15 +103,15 @@ class DATA_PT_shape_curve(CurveButtonsPanel, Panel):
             sub = col.column()
             sub.label(text="")
             sub = col.column(align=True)
-            sub.prop(curve, "resolution_v", text="Preview V")
-            sub.prop(curve, "render_resolution_v", text="Render V")
+            sub.prop(curve, "resolution_v", text=_("Preview V"))
+            sub.prop(curve, "render_resolution_v", text=_("Render V"))
 
         if (is_curve or is_text):
-            col.label(text="Fill:")
+            col.label(text=_("Fill:"))
             sub = col.column()
             sub.active = (curve.dimensions == '2D' or (curve.bevel_object is None and curve.dimensions == '3D'))
             sub.prop(curve, "fill_mode", text="")
-            col.prop(curve, "use_fill_deform", text="Fill Deformed")
+            col.prop(curve, "use_fill_deform", text=_("Fill Deformed"))
 
 
 class DATA_PT_curve_texture_space(CurveButtonsPanel, Panel):
@@ -129,8 +129,8 @@ class DATA_PT_curve_texture_space(CurveButtonsPanel, Panel):
         row.prop(curve, "use_uv_as_generated")
 
         row = layout.row()
-        row.column().prop(curve, "texspace_location", text="Location")
-        row.column().prop(curve, "texspace_size", text="Size")
+        row.column().prop(curve, "texspace_location", text=_("Location"))
+        row.column().prop(curve, "texspace_size", text=_("Size"))
 
 
 class DATA_PT_geometry_curve(CurveButtonsPanel, Panel):
@@ -152,17 +152,17 @@ class DATA_PT_geometry_curve(CurveButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Modification:")
+        col.label(text=_("Modification:"))
         col.prop(curve, "offset")
         col.prop(curve, "extrude")
-        col.label(text="Taper Object:")
+        col.label(text=_("Taper Object:"))
         col.prop(curve, "taper_object", text="")
 
         col = split.column()
-        col.label(text="Bevel:")
-        col.prop(curve, "bevel_depth", text="Depth")
-        col.prop(curve, "bevel_resolution", text="Resolution")
-        col.label(text="Bevel Object:")
+        col.label(text=_("Bevel:"))
+        col.prop(curve, "bevel_depth", text=_("Depth"))
+        col.prop(curve, "bevel_resolution", text=_("Resolution"))
+        col.label(text=_("Bevel Object:"))
         col.prop(curve, "bevel_object", text="")
 
 
@@ -182,7 +182,7 @@ class DATA_PT_pathanim(CurveButtonsPanelCurve, Panel):
         layout.active = curve.use_path
 
         col = layout.column()
-        layout.prop(curve, "path_duration", text="Frames")
+        layout.prop(curve, "path_duration", text=_("Frames"))
         layout.prop(curve, "eval_time")
 
         split = layout.split()
@@ -194,7 +194,7 @@ class DATA_PT_pathanim(CurveButtonsPanelCurve, Panel):
 
         col = split.column()
         col.prop(curve, "use_radius")
-        col.prop(curve, "use_time_offset", text="Offset Children")
+        col.prop(curve, "use_time_offset", text=_("Offset Children"))
 
 
 class DATA_PT_active_spline(CurveButtonsPanelActive, Panel):
@@ -215,20 +215,20 @@ class DATA_PT_active_spline(CurveButtonsPanelActive, Panel):
             # These settings are below but its easier to have
             # poly's set aside since they use so few settings
             col = split.column()
-            col.label(text="Cyclic:")
+            col.label(text=_("Cyclic:"))
             col.prop(act_spline, "use_smooth")
             col = split.column()
             col.prop(act_spline, "use_cyclic_u", text="U")
 
         else:
             col = split.column()
-            col.label(text="Cyclic:")
+            col.label(text=_("Cyclic:"))
             if act_spline.type == 'NURBS':
-                col.label(text="Bezier:")
-                col.label(text="Endpoint:")
-                col.label(text="Order:")
+                col.label(text=_("Bezier:"))
+                col.label(text=_("Endpoint:"))
+                col.label(text=_("Order:"))
 
-            col.label(text="Resolution:")
+            col.label(text=_("Resolution:"))
 
             col = split.column()
             col.prop(act_spline, "use_cyclic_u", text="U")
@@ -261,9 +261,9 @@ class DATA_PT_active_spline(CurveButtonsPanelActive, Panel):
                 col = split.column()
                 col.active = (curve.dimensions == '3D')
 
-                col.label(text="Interpolation:")
-                col.prop(act_spline, "tilt_interpolation", text="Tilt")
-                col.prop(act_spline, "radius_interpolation", text="Radius")
+                col.label(text=_("Interpolation:"))
+                col.prop(act_spline, "tilt_interpolation", text=_("Tilt"))
+                col.prop(act_spline, "radius_interpolation", text=_("Radius"))
 
             layout.prop(act_spline, "use_smooth")
 
@@ -282,16 +282,16 @@ class DATA_PT_font(CurveButtonsPanel, Panel):
         char = context.curve.edit_format
 
         row = layout.split(percentage=0.25)
-        row.label(text="Regular")
+        row.label(text=_("Regular"))
         row.template_ID(text, "font", open="font.open", unlink="font.unlink")
         row = layout.split(percentage=0.25)
-        row.label(text="Bold")
+        row.label(text=_("Bold"))
         row.template_ID(text, "font_bold", open="font.open", unlink="font.unlink")
         row = layout.split(percentage=0.25)
-        row.label(text="Italic")
+        row.label(text=_("Italic"))
         row.template_ID(text, "font_italic", open="font.open", unlink="font.unlink")
         row = layout.split(percentage=0.25)
-        row.label(text="Bold & Italic")
+        row.label(text=_("Bold & Italic"))
         row.template_ID(text, "font_bold_italic", open="font.open", unlink="font.unlink")
 
         #layout.prop(text, "font")
@@ -299,36 +299,36 @@ class DATA_PT_font(CurveButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.prop(text, "size", text="Size")
+        col.prop(text, "size", text=_("Size"))
         col = split.column()
         col.prop(text, "shear")
 
         split = layout.split()
 
         col = split.column()
-        col.label(text="Object Font:")
+        col.label(text=_("Object Font:"))
         col.prop(text, "family", text="")
 
         col = split.column()
-        col.label(text="Text on Curve:")
+        col.label(text=_("Text on Curve:"))
         col.prop(text, "follow_curve", text="")
 
         split = layout.split()
 
         col = split.column()
         colsub = col.column(align=True)
-        colsub.label(text="Underline:")
-        colsub.prop(text, "underline_position", text="Position")
-        colsub.prop(text, "underline_height", text="Thickness")
+        colsub.label(text=_("Underline:"))
+        colsub.prop(text, "underline_position", text=_("Position"))
+        colsub.prop(text, "underline_height", text=_("Thickness"))
 
         col = split.column()
-        col.label(text="Character:")
+        col.label(text=_("Character:"))
         col.prop(char, "use_bold")
         col.prop(char, "use_italic")
         col.prop(char, "use_underline")
 
         row = layout.row()
-        row.prop(text, "small_caps_scale", text="Small Caps")
+        row.prop(text, "small_caps_scale", text=_("Small Caps"))
         row.prop(char, "use_small_caps")
 
 
@@ -344,19 +344,19 @@ class DATA_PT_paragraph(CurveButtonsPanel, Panel):
 
         text = context.curve
 
-        layout.label(text="Align:")
+        layout.label(text=_("Align:"))
         layout.prop(text, "align", expand=True)
 
         split = layout.split()
 
         col = split.column(align=True)
-        col.label(text="Spacing:")
-        col.prop(text, "space_character", text="Character")
-        col.prop(text, "space_word", text="Word")
-        col.prop(text, "space_line", text="Line")
+        col.label(text=_("Spacing:"))
+        col.prop(text, "space_character", text=_("Character"))
+        col.prop(text, "space_word", text=_("Word"))
+        col.prop(text, "space_line", text=_("Line"))
 
         col = split.column(align=True)
-        col.label(text="Offset:")
+        col.label(text=_("Offset:"))
         col.prop(text, "offset_x", text="X")
         col.prop(text, "offset_y", text="Y")
 
@@ -388,13 +388,13 @@ class DATA_PT_text_boxes(CurveButtonsPanel, Panel):
 
             col = split.column(align=True)
 
-            col.label(text="Dimensions:")
-            col.prop(box, "width", text="Width")
-            col.prop(box, "height", text="Height")
+            col.label(text=_("Dimensions:"))
+            col.prop(box, "width", text=_("Width"))
+            col.prop(box, "height", text=_("Height"))
 
             col = split.column(align=True)
 
-            col.label(text="Offset:")
+            col.label(text=_("Offset:"))
             col.prop(box, "x", text="X")
             col.prop(box, "y", text="Y")
 
index c781873e16c22c70b5afa1e739165303ccc87eb6..b6fa6d8e8396ba1dff3a4504140f411cf742ecdf 100644 (file)
@@ -19,7 +19,7 @@
 # <pep8 compliant>
 import bpy
 from bpy.types import Panel
-
+from blf import gettext as _
 
 class DataButtonsPanel():
     bl_space_type = 'PROPERTIES'
@@ -39,17 +39,17 @@ class DATA_PT_empty(DataButtonsPanel, Panel):
 
         ob = context.object
 
-        layout.prop(ob, "empty_draw_type", text="Display")
+        layout.prop(ob, "empty_draw_type", text=_("Display"))
 
         if ob.empty_draw_type == 'IMAGE':
             layout.template_ID(ob, "data", open="image.open", unlink="image.unlink")
 
-            layout.prop(ob, "color", text="Transparency", index=3, slider=True)
+            layout.prop(ob, "color", text=_("Transparency"), index=3, slider=True)
             row = layout.row(align=True)
-            row.prop(ob, "empty_image_offset", text="Offset X", index=0)
-            row.prop(ob, "empty_image_offset", text="Offset Y", index=1)
+            row.prop(ob, "empty_image_offset", text=_("Offset X"), index=0)
+            row.prop(ob, "empty_image_offset", text=_("Offset Y"), index=1)
 
-        layout.prop(ob, "empty_draw_size", text="Size")
+        layout.prop(ob, "empty_draw_size", text=_("Size"))
 
 if __name__ == "__main__":  # only for live edit.
     bpy.utils.register_module(__name__)
index 4ff180f74fbe76f2acfd969264daa53bcf62b6d9..93ed8ca369bbbffe14afbaf93bf61d46d992ebf2 100644 (file)
 import bpy
 from bpy.types import Menu, Panel
 from rna_prop_ui import PropertyPanel
-
+from blf import gettext as _
 
 class LAMP_MT_sunsky_presets(Menu):
-    bl_label = "Sun & Sky Presets"
+    bl_label = _("Sun & Sky Presets")
     preset_subdir = "sunsky"
     preset_operator = "script.execute_preset"
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -93,15 +93,15 @@ class DATA_PT_lamp(DataButtonsPanel, Panel):
         sub.prop(lamp, "energy")
 
         if lamp.type in {'POINT', 'SPOT'}:
-            sub.label(text="Falloff:")
+            sub.label(text=_("Falloff:"))
             sub.prop(lamp, "falloff_type", text="")
             sub.prop(lamp, "distance")
 
             if lamp.falloff_type == 'LINEAR_QUADRATIC_WEIGHTED':
-                col.label(text="Attenuation Factors:")
+                col.label(text=_("Attenuation Factors:"))
                 sub = col.column(align=True)
-                sub.prop(lamp, "linear_attenuation", slider=True, text="Linear")
-                sub.prop(lamp, "quadratic_attenuation", slider=True, text="Quadratic")
+                sub.prop(lamp, "linear_attenuation", slider=True, text=_("Linear"))
+                sub.prop(lamp, "quadratic_attenuation", slider=True, text=_("Quadratic"))
 
             col.prop(lamp, "use_sphere")
 
@@ -111,7 +111,7 @@ class DATA_PT_lamp(DataButtonsPanel, Panel):
 
         col = split.column()
         col.prop(lamp, "use_negative")
-        col.prop(lamp, "use_own_layer", text="This Layer Only")
+        col.prop(lamp, "use_own_layer", text=_("This Layer Only"))
         col.prop(lamp, "use_specular")
         col.prop(lamp, "use_diffuse")
 
@@ -139,34 +139,34 @@ class DATA_PT_sunsky(DataButtonsPanel, Panel):
 
         row = layout.row()
         row.active = lamp.use_sky or lamp.use_atmosphere
-        row.prop(lamp, "atmosphere_turbidity", text="Turbidity")
+        row.prop(lamp, "atmosphere_turbidity", text=_("Turbidity"))
 
         split = layout.split()
 
         col = split.column()
         col.active = lamp.use_sky
-        col.label(text="Blending:")
+        col.label(text=_("Blending:"))
         sub = col.column()
         sub.prop(lamp, "sky_blend_type", text="")
-        sub.prop(lamp, "sky_blend", text="Factor")
+        sub.prop(lamp, "sky_blend", text=_("Factor"))
 
-        col.label(text="Color Space:")
+        col.label(text=_("Color Space:"))
         sub = col.column()
         sub.row().prop(lamp, "sky_color_space", expand=True)
-        sub.prop(lamp, "sky_exposure", text="Exposure")
+        sub.prop(lamp, "sky_exposure", text=_("Exposure"))
 
         col = split.column()
         col.active = lamp.use_sky
-        col.label(text="Horizon:")
+        col.label(text=_("Horizon:"))
         sub = col.column()
-        sub.prop(lamp, "horizon_brightness", text="Brightness")
-        sub.prop(lamp, "spread", text="Spread")
+        sub.prop(lamp, "horizon_brightness", text=_("Brightness"))
+        sub.prop(lamp, "spread", text=_("Spread"))
 
-        col.label(text="Sun:")
+        col.label(text=_("Sun:"))
         sub = col.column()
-        sub.prop(lamp, "sun_brightness", text="Brightness")
-        sub.prop(lamp, "sun_size", text="Size")
-        sub.prop(lamp, "backscattered_light", slider=True, text="Back Light")
+        sub.prop(lamp, "sun_brightness", text=_("Brightness"))
+        sub.prop(lamp, "sun_size", text=_("Size"))
+        sub.prop(lamp, "backscattered_light", slider=True, text=_("Back Light"))
 
         layout.separator()
 
@@ -176,16 +176,16 @@ class DATA_PT_sunsky(DataButtonsPanel, Panel):
 
         col = split.column()
         col.active = lamp.use_atmosphere
-        col.label(text="Intensity:")
-        col.prop(lamp, "sun_intensity", text="Sun")
-        col.prop(lamp, "atmosphere_distance_factor", text="Distance")
+        col.label(text=_("Intensity:"))
+        col.prop(lamp, "sun_intensity", text=_("Sun"))
+        col.prop(lamp, "atmosphere_distance_factor", text=_("Distance"))
 
         col = split.column()
         col.active = lamp.use_atmosphere
-        col.label(text="Scattering:")
+        col.label(text=_("Scattering:"))
         sub = col.column(align=True)
-        sub.prop(lamp, "atmosphere_inscattering", slider=True, text="Inscattering")
-        sub.prop(lamp, "atmosphere_extinction", slider=True, text="Extinction")
+        sub.prop(lamp, "atmosphere_inscattering", slider=True, text=_("Inscattering"))
+        sub.prop(lamp, "atmosphere_extinction", slider=True, text=_("Extinction"))
 
 
 class DATA_PT_shadow(DataButtonsPanel, Panel):
@@ -209,15 +209,15 @@ class DATA_PT_shadow(DataButtonsPanel, Panel):
             split = layout.split()
 
             col = split.column()
-            col.label(text="Form factor sampling:")
+            col.label(text=_("Form factor sampling:"))
 
             sub = col.row(align=True)
 
             if lamp.shape == 'SQUARE':
-                sub.prop(lamp, "shadow_ray_samples_x", text="Samples")
+                sub.prop(lamp, "shadow_ray_samples_x", text=_("Samples"))
             elif lamp.shape == 'RECTANGLE':
-                sub.prop(lamp, "shadow_ray_samples_x", text="Samples X")
-                sub.prop(lamp, "shadow_ray_samples_y", text="Samples Y")
+                sub.prop(lamp, "shadow_ray_samples_x", text=_("Samples X"))
+                sub.prop(lamp, "shadow_ray_samples_y", text=_("Samples Y"))
 
         if lamp.shadow_method != 'NOSHADOW':
             split = layout.split()
@@ -226,34 +226,34 @@ class DATA_PT_shadow(DataButtonsPanel, Panel):
             col.prop(lamp, "shadow_color", text="")
 
             col = split.column()
-            col.prop(lamp, "use_shadow_layer", text="This Layer Only")
+            col.prop(lamp, "use_shadow_layer", text=_("This Layer Only"))
             col.prop(lamp, "use_only_shadow")
 
         if lamp.shadow_method == 'RAY_SHADOW':
             split = layout.split()
 
             col = split.column()
-            col.label(text="Sampling:")
+            col.label(text=_("Sampling:"))
 
             if lamp.type in {'POINT', 'SUN', 'SPOT'}:
                 sub = col.row()
 
-                sub.prop(lamp, "shadow_ray_samples", text="Samples")
-                sub.prop(lamp, "shadow_soft_size", text="Soft Size")
+                sub.prop(lamp, "shadow_ray_samples", text=_("Samples"))
+                sub.prop(lamp, "shadow_soft_size", text=_("Soft Size"))
 
             elif lamp.type == 'AREA':
                 sub = col.row(align=True)
 
                 if lamp.shape == 'SQUARE':
-                    sub.prop(lamp, "shadow_ray_samples_x", text="Samples")
+                    sub.prop(lamp, "shadow_ray_samples_x", text=_("Samples"))
                 elif lamp.shape == 'RECTANGLE':
-                    sub.prop(lamp, "shadow_ray_samples_x", text="Samples X")
-                    sub.prop(lamp, "shadow_ray_samples_y", text="Samples Y")
+                    sub.prop(lamp, "shadow_ray_samples_x", text=_("Samples X"))
+                    sub.prop(lamp, "shadow_ray_samples_y", text=_("Samples Y"))
 
             col.row().prop(lamp, "shadow_ray_sample_method", expand=True)
 
             if lamp.shadow_ray_sample_method == 'ADAPTIVE_QMC':
-                layout.prop(lamp, "shadow_adaptive_threshold", text="Threshold")
+                layout.prop(lamp, "shadow_adaptive_threshold", text=_("Threshold"))
 
             if lamp.type == 'AREA' and lamp.shadow_ray_sample_method == 'CONSTANT_JITTERED':
                 row = layout.row()
@@ -263,44 +263,44 @@ class DATA_PT_shadow(DataButtonsPanel, Panel):
 
         elif lamp.shadow_method == 'BUFFER_SHADOW':
             col = layout.column()
-            col.label(text="Buffer Type:")
+            col.label(text=_("Buffer Type:"))
             col.row().prop(lamp, "shadow_buffer_type", expand=True)
 
             if lamp.shadow_buffer_type in {'REGULAR', 'HALFWAY', 'DEEP'}:
                 split = layout.split()
 
                 col = split.column()
-                col.label(text="Filter Type:")
+                col.label(text=_("Filter Type:"))
                 col.prop(lamp, "shadow_filter_type", text="")
                 sub = col.column(align=True)
-                sub.prop(lamp, "shadow_buffer_soft", text="Soft")
-                sub.prop(lamp, "shadow_buffer_bias", text="Bias")
+                sub.prop(lamp, "shadow_buffer_soft", text=_("Soft"))
+                sub.prop(lamp, "shadow_buffer_bias", text=_("Bias"))
 
                 col = split.column()
-                col.label(text="Sample Buffers:")
+                col.label(text=_("Sample Buffers:"))
                 col.prop(lamp, "shadow_sample_buffers", text="")
                 sub = col.column(align=True)
-                sub.prop(lamp, "shadow_buffer_size", text="Size")
-                sub.prop(lamp, "shadow_buffer_samples", text="Samples")
+                sub.prop(lamp, "shadow_buffer_size", text=_("Size"))
+                sub.prop(lamp, "shadow_buffer_samples", text=_("Samples"))
                 if lamp.shadow_buffer_type == 'DEEP':
                     col.prop(lamp, "compression_threshold")
 
             elif lamp.shadow_buffer_type == 'IRREGULAR':
-                layout.prop(lamp, "shadow_buffer_bias", text="Bias")
+                layout.prop(lamp, "shadow_buffer_bias", text=_("Bias"))
 
             split = layout.split()
 
             col = split.column()
-            col.prop(lamp, "use_auto_clip_start", text="Autoclip Start")
+            col.prop(lamp, "use_auto_clip_start", text=_("Autoclip Start"))
             sub = col.column()
             sub.active = not lamp.use_auto_clip_start
-            sub.prop(lamp, "shadow_buffer_clip_start", text="Clip Start")
+            sub.prop(lamp, "shadow_buffer_clip_start", text=_("Clip Start"))
 
             col = split.column()
-            col.prop(lamp, "use_auto_clip_end", text="Autoclip End")
+            col.prop(lamp, "use_auto_clip_end", text=_("Autoclip End"))
             sub = col.column()
             sub.active = not lamp.use_auto_clip_end
-            sub.prop(lamp, "shadow_buffer_clip_end", text=" Clip End")
+            sub.prop(lamp, "shadow_buffer_clip_end", text=_(" Clip End"))
 
 
 class DATA_PT_area(DataButtonsPanel, Panel):
@@ -325,8 +325,8 @@ class DATA_PT_area(DataButtonsPanel, Panel):
         if (lamp.shape == 'SQUARE'):
             sub.prop(lamp, "size")
         elif (lamp.shape == 'RECTANGLE'):
-            sub.prop(lamp, "size", text="Size X")
-            sub.prop(lamp, "size_y", text="Size Y")
+            sub.prop(lamp, "size", text=_("Size X"))
+            sub.prop(lamp, "size_y", text=_("Size Y"))
 
 
 class DATA_PT_spot(DataButtonsPanel, Panel):
@@ -348,8 +348,8 @@ class DATA_PT_spot(DataButtonsPanel, Panel):
 
         col = split.column()
         sub = col.column()
-        sub.prop(lamp, "spot_size", text="Size")
-        sub.prop(lamp, "spot_blend", text="Blend", slider=True)
+        sub.prop(lamp, "spot_size", text=_("Size"))
+        sub.prop(lamp, "spot_blend", text=_("Blend"), slider=True)
         col.prop(lamp, "use_square")
         col.prop(lamp, "show_cone")
 
@@ -358,9 +358,9 @@ class DATA_PT_spot(DataButtonsPanel, Panel):
         col.prop(lamp, "use_halo")
         sub = col.column(align=True)
         sub.active = lamp.use_halo
-        sub.prop(lamp, "halo_intensity", text="Intensity")
+        sub.prop(lamp, "halo_intensity", text=_("Intensity"))
         if lamp.shadow_method == 'BUFFER_SHADOW':
-            sub.prop(lamp, "halo_step", text="Step")
+            sub.prop(lamp, "halo_step", text=_("Step"))
 
 
 class DATA_PT_falloff_curve(DataButtonsPanel, Panel):
index ff19ece8f94a773a9047c931e0c889e09d0bf2e9..37c913709794617014414a5e85bad4a5996a7384 100644 (file)
 import bpy
 from bpy.types import Menu, Panel
 from rna_prop_ui import PropertyPanel
-
+from blf import gettext as _
 
 class MESH_MT_vertex_group_specials(Menu):
-    bl_label = "Vertex Group Specials"
+    bl_label = _("Vertex Group Specials")
     COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
 
     def draw(self, context):
@@ -34,7 +34,7 @@ class MESH_MT_vertex_group_specials(Menu):
         layout.operator("object.vertex_group_copy_to_linked", icon='LINK_AREA')
         layout.operator("object.vertex_group_copy_to_selected", icon='LINK_AREA')
         layout.operator("object.vertex_group_mirror", icon='ARROW_LEFTRIGHT')
-        layout.operator("object.vertex_group_remove", icon='X', text="Delete All").all = True
+        layout.operator("object.vertex_group_remove", icon='X', text=_("Delete All")).all = True
         layout.separator()
         layout.operator("object.vertex_group_lock", icon='LOCK', text="Lock All").action = 'SELECT'
         layout.operator("object.vertex_group_lock", icon='UNLOCK', text="UnLock All").action = 'DESELECT'
@@ -51,7 +51,7 @@ class MESH_MT_shape_key_specials(Menu):
         layout.operator("object.shape_key_transfer", icon='COPY_ID')  # icon is not ideal
         layout.operator("object.join_shapes", icon='COPY_ID')  # icon is not ideal
         layout.operator("object.shape_key_mirror", icon='ARROW_LEFTRIGHT')
-        op = layout.operator("object.shape_key_add", icon='ZOOMIN', text="New Shape From Mix")
+        op = layout.operator("object.shape_key_add", icon='ZOOMIN', text=_("New Shape From Mix"))
         op.from_mix = True
 
 
@@ -99,7 +99,7 @@ class DATA_PT_normals(MeshButtonsPanel, Panel):
         col.prop(mesh, "use_auto_smooth")
         sub = col.column()
         sub.active = mesh.use_auto_smooth
-        sub.prop(mesh, "auto_smooth_angle", text="Angle")
+        sub.prop(mesh, "auto_smooth_angle", text=_("Angle"))
 
         split.prop(mesh, "show_double_sided")
 
@@ -120,8 +120,8 @@ class DATA_PT_texture_space(MeshButtonsPanel, Panel):
 
         layout.prop(mesh, "use_auto_texspace")
         row = layout.row()
-        row.column().prop(mesh, "texspace_location", text="Location")
-        row.column().prop(mesh, "texspace_size", text="Size")
+        row.column().prop(mesh, "texspace_location", text=_("Location"))
+        row.column().prop(mesh, "texspace_size", text=_("Size"))
 
 
 class DATA_PT_vertex_groups(MeshButtonsPanel, Panel):
@@ -163,14 +163,14 @@ class DATA_PT_vertex_groups(MeshButtonsPanel, Panel):
             row = layout.row()
 
             sub = row.row(align=True)
-            sub.operator("object.vertex_group_assign", text="Assign")
-            sub.operator("object.vertex_group_remove_from", text="Remove")
+            sub.operator("object.vertex_group_assign", text=_("Assign"))
+            sub.operator("object.vertex_group_remove_from", text=_("Remove"))
 
             sub = row.row(align=True)
-            sub.operator("object.vertex_group_select", text="Select")
-            sub.operator("object.vertex_group_deselect", text="Deselect")
+            sub.operator("object.vertex_group_select", text=_("Select"))
+            sub.operator("object.vertex_group_deselect", text=_("Deselect"))
 
-            layout.prop(context.tool_settings, "vertex_group_weight", text="Weight")
+            layout.prop(context.tool_settings, "vertex_group_weight", text=_("Weight"))
 
 
 class DATA_PT_shape_keys(MeshButtonsPanel, Panel):
@@ -250,13 +250,13 @@ class DATA_PT_shape_keys(MeshButtonsPanel, Panel):
 
                     col = split.column(align=True)
                     col.active = enable_edit_value
-                    col.label(text="Range:")
-                    col.prop(kb, "slider_min", text="Min")
-                    col.prop(kb, "slider_max", text="Max")
+                    col.label(text=_("Range:"))
+                    col.prop(kb, "slider_min", text=_("Min"))
+                    col.prop(kb, "slider_max", text=_("Max"))
 
                     col = split.column(align=True)
                     col.active = enable_edit_value
-                    col.label(text="Blend:")
+                    col.label(text=_("Blend:"))
                     col.prop_search(kb, "vertex_group", ob, "vertex_groups", text="")
                     col.prop_search(kb, "relative_key", key, "key_blocks", text="")
 
index cd894e60dbba9a1135ba9062cd8f3751e75deae2..693cb69754488f6d8593d01490f4727ac589bfca 100644 (file)
@@ -20,7 +20,7 @@
 import bpy
 from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
-
+from blf import gettext as _
 
 class DataButtonsPanel():
     bl_space_type = 'PROPERTIES'
@@ -60,16 +60,16 @@ class DATA_PT_metaball(DataButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Resolution:")
+        col.label(text=_("Resolution:"))
         sub = col.column(align=True)
-        sub.prop(mball, "resolution", text="View")
-        sub.prop(mball, "render_resolution", text="Render")
+        sub.prop(mball, "resolution", text=_("View"))
+        sub.prop(mball, "render_resolution", text=_("Render"))
 
         col = split.column()
-        col.label(text="Settings:")
-        col.prop(mball, "threshold", text="Threshold")
+        col.label(text=_("Settings:"))
+        col.prop(mball, "threshold", text=_("Threshold"))
 
-        layout.label(text="Update:")
+        layout.label(text=_("Update:"))
         layout.prop(mball, "update_method", expand=True)
 
 
@@ -86,8 +86,8 @@ class DATA_PT_mball_texture_space(DataButtonsPanel, Panel):
         layout.prop(mball, "use_auto_texspace")
 
         row = layout.row()
-        row.column().prop(mball, "texspace_location", text="Location")
-        row.column().prop(mball, "texspace_size", text="Size")
+        row.column().prop(mball, "texspace_location", text=_("Location"))
+        row.column().prop(mball, "texspace_size", text=_("Size"))
 
 
 class DATA_PT_metaball_element(DataButtonsPanel, Panel):
@@ -107,25 +107,25 @@ class DATA_PT_metaball_element(DataButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column(align=True)
-        col.label(text="Settings:")
-        col.prop(metaelem, "stiffness", text="Stiffness")
-        col.prop(metaelem, "use_negative", text="Negative")
-        col.prop(metaelem, "hide", text="Hide")
+        col.label(text=_("Settings:"))
+        col.prop(metaelem, "stiffness", text=_("Stiffness"))
+        col.prop(metaelem, "use_negative", text=_("Negative"))
+        col.prop(metaelem, "hide", text=_("Hide"))
 
         col = split.column(align=True)
 
         if metaelem.type in {'CUBE', 'ELLIPSOID'}:
-            col.label(text="Size:")
+            col.label(text=_("Size:"))
             col.prop(metaelem, "size_x", text="X")
             col.prop(metaelem, "size_y", text="Y")
             col.prop(metaelem, "size_z", text="Z")
 
         elif metaelem.type == 'TUBE':
-            col.label(text="Size:")
+            col.label(text=_("Size:"))
             col.prop(metaelem, "size_x", text="X")
 
         elif metaelem.type == 'PLANE':
-            col.label(text="Size:")
+            col.label(text=_("Size:"))
             col.prop(metaelem, "size_x", text="X")
             col.prop(metaelem, "size_y", text="Y")
 
index f0904ca8976aaf30c521efd4fbf76d3a947ad49c..3232441166984d2488ed50478e99a84fe7a362da 100644 (file)
@@ -19,7 +19,7 @@
 # <pep8 compliant>
 import bpy
 from bpy.types import Panel
-
+from blf import gettext as _
 
 class ModifierButtonsPanel():
     bl_space_type = 'PROPERTIES'
@@ -51,14 +51,14 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Object:")
+        col.label(text=_("Object:"))
         col.prop(md, "object", text="")
         col.prop(md, "use_deform_preserve_volume")
 
         col = split.column()
-        col.label(text="Bind To:")
-        col.prop(md, "use_vertex_groups", text="Vertex Groups")
-        col.prop(md, "use_bone_envelopes", text="Bone Envelopes")
+        col.label(text=_("Bind To:"))
+        col.prop(md, "use_vertex_groups", text=_("Vertex Groups"))
+        col.prop(md, "use_bone_envelopes", text=_("Bone Envelopes"))
 
         layout.separator()
 
@@ -92,11 +92,11 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
 
         col.separator()
 
-        col.prop(md, "use_merge_vertices", text="Merge")
+        col.prop(md, "use_merge_vertices", text=_("Merge"))
         sub = col.column()
         sub.active = md.use_merge_vertices
-        sub.prop(md, "use_merge_vertices_cap", text="First Last")
-        sub.prop(md, "merge_threshold", text="Distance")
+        sub.prop(md, "use_merge_vertices_cap", text=_("First Last"))
+        sub.prop(md, "merge_threshold", text=_("Distance"))
 
         col = split.column()
         col.prop(md, "use_relative_offset")
@@ -122,7 +122,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         split.prop(md, "width")
         split.prop(md, "use_only_vertices")
 
-        layout.label(text="Limit Method:")
+        layout.label(text=_("Limit Method:"))
         layout.row().prop(md, "limit_method", expand=True)
         if md.limit_method == 'ANGLE':
             layout.prop(md, "angle_limit")
@@ -133,11 +133,11 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Operation:")
+        col.label(text=_("Operation:"))
         col.prop(md, "operation", text="")
 
         col = split.column()
-        col.label(text="Object:")
+        col.label(text=_("Object:"))
         col.prop(md, "object", text="")
 
     def BUILD(self, layout, ob, md):
@@ -156,7 +156,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
     def CAST(self, layout, ob, md):
         split = layout.split(percentage=0.25)
 
-        split.label(text="Cast Type:")
+        split.label(text=_("Cast Type:"))
         split.prop(md, "cast_type", text="")
 
         split = layout.split(percentage=0.25)
@@ -175,52 +175,52 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Vertex Group:")
+        col.label(text=_("Vertex Group:"))
         col.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
         col = split.column()
-        col.label(text="Control Object:")
+        col.label(text=_("Control Object:"))
         col.prop(md, "object", text="")
         if md.object:
             col.prop(md, "use_transform")
 
     def CLOTH(self, layout, ob, md):
-        layout.label(text="Settings can be found inside the Physics context")
+        layout.label(text=_("Settings can be found inside the Physics context"))
 
     def COLLISION(self, layout, ob, md):
-        layout.label(text="Settings can be found inside the Physics context")
+        layout.label(text=_("Settings can be found inside the Physics context"))
 
     def CURVE(self, layout, ob, md):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Object:")
+        col.label(text=_("Object:"))
         col.prop(md, "object", text="")
         col = split.column()
-        col.label(text="Vertex Group:")
+        col.label(text=_("Vertex Group:"))
         col.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
-        layout.label(text="Deformation Axis:")
+        layout.label(text=_("Deformation Axis:"))
         layout.row().prop(md, "deform_axis", expand=True)
 
     def DECIMATE(self, layout, ob, md):
         layout.prop(md, "ratio")
-        layout.label(text="Face Count: %s" % str(md.face_count))
+        layout.label(text=_("Face Count")+": %s" % str(md.face_count))
 
     def DISPLACE(self, layout, ob, md):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Texture:")
+        col.label(text=_("Texture:"))
         col.template_ID(md, "texture", new="texture.new")
-        col.label(text="Vertex Group:")
+        col.label(text=_("Vertex Group:"))
         col.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
 
         col = split.column()
-        col.label(text="Direction:")
+        col.label(text=_("Direction:"))
         col.prop(md, "direction", text="")
-        col.label(text="Texture Coordinates:")
+        col.label(text=_("Texture Coordinates:"))
         col.prop(md, "texture_coords", text="")
         if md.texture_coords == 'OBJECT':
-            layout.prop(md, "texture_coords_object", text="Object")
+            layout.prop(md, "texture_coords_object", text=_("Object"))
         elif md.texture_coords == 'UV' and ob.type == 'MESH':
             layout.prop_search(md, "uv_layer", ob.data, "uv_textures")
 
@@ -234,23 +234,23 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.prop(md, "use_edge_angle", text="Edge Angle")
+        col.prop(md, "use_edge_angle", text=_("Edge Angle"))
         sub = col.column()
         sub.active = md.use_edge_angle
         sub.prop(md, "split_angle")
 
-        split.prop(md, "use_edge_sharp", text="Sharp Edges")
+        split.prop(md, "use_edge_sharp", text=_("Sharp Edges"))
 
     def EXPLODE(self, layout, ob, md):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Vertex group:")
+        col.label(text=_("Vertex group:"))
         col.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
         sub = col.column()
         sub.active = bool(md.vertex_group)
         sub.prop(md, "protect")
-        col.label(text="Particle UV")
+        col.label(text=_("Particle UV"))
         col.prop_search(md, "particle_uv", ob.data, "uv_textures", text="")
 
         col = split.column()
@@ -260,22 +260,22 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         col.prop(md, "show_dead")
         col.prop(md, "use_size")
 
-        layout.operator("object.explode_refresh", text="Refresh")
+        layout.operator("object.explode_refresh", text=_("Refresh"))
 
     def FLUID_SIMULATION(self, layout, ob, md):
-        layout.label(text="Settings can be found inside the Physics context")
+        layout.label(text=_("Settings can be found inside the Physics context"))
 
     def HOOK(self, layout, ob, md):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Object:")
+        col.label(text=_("Object:"))
         col.prop(md, "object", text="")
         if md.object and md.object.type == 'ARMATURE':
-            col.label(text="Bone:")
+            col.label(text=_("Bone:"))
             col.prop_search(md, "subtarget", md.object.data, "bones", text="")
         col = split.column()
-        col.label(text="Vertex Group:")
+        col.label(text=_("Vertex Group:"))
         col.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
 
         layout.separator()
@@ -287,38 +287,38 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         col.prop(md, "force", slider=True)
 
         col = split.column()
-        col.operator("object.hook_reset", text="Reset")
-        col.operator("object.hook_recenter", text="Recenter")
+        col.operator("object.hook_reset", text=_("Reset"))
+        col.operator("object.hook_recenter", text=_("Recenter"))
 
         if ob.mode == 'EDIT':
             layout.separator()
             row = layout.row()
-            row.operator("object.hook_select", text="Select")
-            row.operator("object.hook_assign", text="Assign")
+            row.operator("object.hook_select", text=_("Select"))
+            row.operator("object.hook_assign", text=_("Assign"))
 
     def LATTICE(self, layout, ob, md):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Object:")
+        col.label(text=_("Object:"))
         col.prop(md, "object", text="")
 
         col = split.column()
-        col.label(text="Vertex Group:")
+        col.label(text=_("Vertex Group:"))
         col.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
 
     def MASK(self, layout, ob, md):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Mode:")
+        col.label(text=_("Mode:"))
         col.prop(md, "mode", text="")
         col = split.column()
         if md.mode == 'ARMATURE':
-            col.label(text="Armature:")
+            col.label(text=_("Armature:"))
             col.prop(md, "armature", text="")
         elif md.mode == 'VERTEX_GROUP':
-            col.label(text="Vertex Group:")
+            col.label(text=_("Vertex Group:"))
             col.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
 
         sub = col.column()
@@ -330,11 +330,11 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
 
         col = split.column()
         sub = col.column()
-        sub.label(text="Object:")
+        sub.label(text=_("Object:"))
         sub.prop(md, "object", text="")
         sub.active = not md.is_bound
         col = split.column()
-        col.label(text="Vertex Group:")
+        col.label(text=_("Vertex Group:"))
         col.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
 
         sub = col.column()
@@ -344,9 +344,9 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         layout.separator()
 
         if md.is_bound:
-            layout.operator("object.meshdeform_bind", text="Unbind")
+            layout.operator("object.meshdeform_bind", text=_("Unbind"))
         else:
-            layout.operator("object.meshdeform_bind", text="Bind")
+            layout.operator("object.meshdeform_bind", text=_("Bind"))
 
             row = layout.row()
             row.prop(md, "precision")
@@ -356,19 +356,19 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         split = layout.split(percentage=0.25)
 
         col = split.column()
-        col.label(text="Axis:")
+        col.label(text=_("Axis:"))
         col.prop(md, "use_x")
         col.prop(md, "use_y")
         col.prop(md, "use_z")
 
         col = split.column()
-        col.label(text="Options:")
-        col.prop(md, "use_mirror_merge", text="Merge")
-        col.prop(md, "use_clip", text="Clipping")
-        col.prop(md, "use_mirror_vertex_groups", text="Vertex Groups")
+        col.label(text=_("Options:"))
+        col.prop(md, "use_mirror_merge", text=_("Merge"))
+        col.prop(md, "use_clip", text=_("Clipping"))
+        col.prop(md, "use_mirror_vertex_groups", text=_("Vertex Groups"))
 
         col = split.column()
-        col.label(text="Textures:")
+        col.label(text=_("Textures:"))
         col.prop(md, "use_mirror_u", text="U")
         col.prop(md, "use_mirror_v", text="V")
 
@@ -376,7 +376,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
 
         if md.use_mirror_merge == True:
             col.prop(md, "merge_threshold")
-        col.label(text="Mirror Object:")
+        col.label(text=_("Mirror Object:"))
         col.prop(md, "mirror_object", text="")
 
     def NAVMESH(self, layout, ob, md):
@@ -388,17 +388,17 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
 
         split = layout.split()
         col = split.column()
-        col.prop(md, "levels", text="Preview")
-        col.prop(md, "sculpt_levels", text="Sculpt")
-        col.prop(md, "render_levels", text="Render")
+        col.prop(md, "levels", text=_("Preview"))
+        col.prop(md, "sculpt_levels", text=_("Sculpt"))
+        col.prop(md, "render_levels", text=_("Render"))
 
         col = split.column()
 
         col.enabled = ob.mode != 'EDIT'
-        col.operator("object.multires_subdivide", text="Subdivide")
-        col.operator("object.multires_higher_levels_delete", text="Delete Higher")
-        col.operator("object.multires_reshape", text="Reshape")
-        col.operator("object.multires_base_apply", text="Apply Base")
+        col.operator("object.multires_subdivide", text=_("Subdivide"))
+        col.operator("object.multires_higher_levels_delete", text=_("Delete Higher"))
+        col.operator("object.multires_reshape", text=_("Reshape"))
+        col.operator("object.multires_base_apply", text=_("Apply Base"))
         col.prop(md, "use_subsurf_uv")
         col.prop(md, "show_only_control_edges")
 
@@ -407,34 +407,34 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         col = layout.column()
         row = col.row()
         if md.is_external:
-            row.operator("object.multires_external_pack", text="Pack External")
+            row.operator("object.multires_external_pack", text=_("Pack External"))
             row.label()
             row = col.row()
             row.prop(md, "filepath", text="")
         else:
-            row.operator("object.multires_external_save", text="Save External...")
+            row.operator("object.multires_external_save", text=_("Save External..."))
             row.label()
 
     def PARTICLE_INSTANCE(self, layout, ob, md):
         layout.prop(md, "object")
-        layout.prop(md, "particle_system_index", text="Particle System")
+        layout.prop(md, "particle_system_index", text=_("Particle System"))
 
         split = layout.split()
         col = split.column()
-        col.label(text="Create From:")
+        col.label(text=_("Create From:"))
         col.prop(md, "use_normal")
         col.prop(md, "use_children")
         col.prop(md, "use_size")
 
         col = split.column()
-        col.label(text="Show Particles When:")
+        col.label(text=_("Show Particles When:"))
         col.prop(md, "show_alive")
         col.prop(md, "show_unborn")
         col.prop(md, "show_dead")
 
         layout.separator()
 
-        layout.prop(md, "use_path", text="Create Along Paths")
+        layout.prop(md, "use_path", text=_("Create Along Paths"))
 
         split = layout.split()
         split.active = md.use_path
@@ -444,17 +444,17 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
 
         col = split.column()
         col.prop(md, "position", slider=True)
-        col.prop(md, "random_position", text="Random", slider=True)
+        col.prop(md, "random_position", text=_("Random"), slider=True)
 
     def PARTICLE_SYSTEM(self, layout, ob, md):
-        layout.label(text="Settings can be found inside the Particle context")
+        layout.label(text=_("Settings can be found inside the Particle context"))
 
     def SCREW(self, layout, ob, md):
         split = layout.split()
 
         col = split.column()
         col.prop(md, "axis")
-        col.prop(md, "object", text="AxisOb")
+        col.prop(md, "object", text=_("AxisOb"))
         col.prop(md, "angle")
         col.prop(md, "steps")
         col.prop(md, "render_steps")
@@ -473,10 +473,10 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
     def SHRINKWRAP(self, layout, ob, md):
         split = layout.split()
         col = split.column()
-        col.label(text="Target:")
+        col.label(text=_("Target:"))
         col.prop(md, "target", text="")
         col = split.column()
-        col.label(text="Vertex Group:")
+        col.label(text=_("Vertex Group:"))
         col.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
 
         split = layout.split()
@@ -486,28 +486,28 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         col.prop(md, "subsurf_levels")
 
         col = split.column()
-        col.label(text="Mode:")
+        col.label(text=_("Mode:"))
         col.prop(md, "wrap_method", text="")
 
         if md.wrap_method == 'PROJECT':
             split = layout.split(percentage=0.25)
 
             col = split.column()
-            col.label(text="Axis:")
+            col.label(text=_("Axis:"))
             col.prop(md, "use_project_x")
             col.prop(md, "use_project_y")
             col.prop(md, "use_project_z")
 
             col = split.column()
-            col.label(text="Direction:")
+            col.label(text=_("Direction:"))
             col.prop(md, "use_negative_direction")
             col.prop(md, "use_positive_direction")
 
             col = split.column()
-            col.label(text="Cull Faces:")
+            col.label(text=_("Cull Faces:"))
             col.prop(md, "cull_face", expand=True)
 
-            layout.label(text="Auxiliary Target:")
+            layout.label(text=_("Auxiliary Target:"))
             layout.prop(md, "auxiliary_target", text="")
 
         elif md.wrap_method == 'NEAREST_SURFACEPOINT':
@@ -517,24 +517,24 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Mode:")
+        col.label(text=_("Mode:"))
         col.prop(md, "deform_method", text="")
 
         col = split.column()
-        col.label(text="Vertex Group:")
+        col.label(text=_("Vertex Group:"))
         col.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
 
         split = layout.split()
 
         col = split.column()
-        col.label(text="Origin:")
+        col.label(text=_("Origin:"))
         col.prop(md, "origin", text="")
         sub = col.column()
         sub.active = (md.origin is not None)
         sub.prop(md, "use_relative")
 
         col = split.column()
-        col.label(text="Deform:")
+        col.label(text=_("Deform:"))
         col.prop(md, "factor")
         col.prop(md, "limits", slider=True)
         if md.deform_method in {'TAPER', 'STRETCH'}:
@@ -542,13 +542,13 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
             col.prop(md, "lock_y")
 
     def SMOKE(self, layout, ob, md):
-        layout.label(text="Settings can be found inside the Physics context")
+        layout.label(text=_("Settings can be found inside the Physics context"))
 
     def SMOOTH(self, layout, ob, md):
         split = layout.split(percentage=0.25)
 
         col = split.column()
-        col.label(text="Axis:")
+        col.label(text=_("Axis:"))
         col.prop(md, "use_x")
         col.prop(md, "use_y")
         col.prop(md, "use_z")
@@ -556,11 +556,11 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         col = split.column()
         col.prop(md, "factor")
         col.prop(md, "iterations")
-        col.label(text="Vertex Group:")
+        col.label(text=_("Vertex Group:"))
         col.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
 
     def SOFT_BODY(self, layout, ob, md):
-        layout.label(text="Settings can be found inside the Physics context")
+        layout.label(text=_("Settings can be found inside the Physics context"))
 
     def SOLIDIFY(self, layout, ob, md):
         split = layout.split()
@@ -569,19 +569,19 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         col.prop(md, "thickness")
         col.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
 
-        col.label(text="Crease:")
-        col.prop(md, "edge_crease_inner", text="Inner")
-        col.prop(md, "edge_crease_outer", text="Outer")
-        col.prop(md, "edge_crease_rim", text="Rim")
-        col.label(text="Material Index Offset:")
+        col.label(text=_("Crease:"))
+        col.prop(md, "edge_crease_inner", text=_("Inner"))
+        col.prop(md, "edge_crease_outer", text=_("Outer"))
+        col.prop(md, "edge_crease_rim", text=_("Rim"))
+        col.label(text=_("Material Index Offset:"))
 
         col = split.column()
 
         col.prop(md, "offset")
         sub = col.column()
         sub.active = bool(md.vertex_group)
-        sub.prop(md, "invert_vertex_group", text="Invert")
-        sub.prop(md, "thickness_vertex_group", text="Factor")
+        sub.prop(md, "invert_vertex_group", text=_("Invert"))
+        sub.prop(md, "thickness_vertex_group", text=_("Factor"))
 
         col.prop(md, "use_even_offset")
         col.prop(md, "use_quality_normals")
@@ -592,64 +592,64 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         row.prop(md, "material_offset", text="")
         row = row.row()
         row.active = md.use_rim
-        row.prop(md, "material_offset_rim", text="Rim")
+        row.prop(md, "material_offset_rim", text=_("Rim"))
 
     def SUBSURF(self, layout, ob, md):
         layout.row().prop(md, "subdivision_type", expand=True)
 
         split = layout.split()
         col = split.column()
-        col.label(text="Subdivisions:")
-        col.prop(md, "levels", text="View")
-        col.prop(md, "render_levels", text="Render")
+        col.label(text=_("Subdivisions:"))
+        col.prop(md, "levels", text=_("View"))
+        col.prop(md, "render_levels", text=_("Render"))
 
         col = split.column()
-        col.label(text="Options:")
+        col.label(text=_("Options:"))
         col.prop(md, "use_subsurf_uv")
         col.prop(md, "show_only_control_edges")
 
     def SURFACE(self, layout, ob, md):
-        layout.label(text="Settings can be found inside the Physics context")
+        layout.label(text=_("Settings can be found inside the Physics context"))
 
     def UV_PROJECT(self, layout, ob, md):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Image:")
+        col.label(text=_("Image:"))
         col.prop(md, "image", text="")
 
         col = split.column()
-        col.label(text="UV Layer:")
+        col.label(text=_("UV Layer:"))
         col.prop_search(md, "uv_layer", ob.data, "uv_textures", text="")
 
         split = layout.split()
         col = split.column()
         col.prop(md, "use_image_override")
-        col.prop(md, "projector_count", text="Projectors")
+        col.prop(md, "projector_count", text=_("Projectors"))
         for proj in md.projectors:
             col.prop(proj, "object", text="")
 
         col = split.column()
         sub = col.column(align=True)
-        sub.prop(md, "aspect_x", text="Aspect X")
-        sub.prop(md, "aspect_y", text="Aspect Y")
+        sub.prop(md, "aspect_x", text=_("Aspect X"))
+        sub.prop(md, "aspect_y", text=_("Aspect Y"))
 
         sub = col.column(align=True)
-        sub.prop(md, "scale_x", text="Scale X")
-        sub.prop(md, "scale_y", text="Scale Y")
+        sub.prop(md, "scale_x", text=_("Scale X"))
+        sub.prop(md, "scale_y", text=_("Scale Y"))
 
     def WARP(self, layout, ob, md):
         use_falloff = (md.falloff_type != 'NONE')
         split = layout.split()
 
         col = split.column()
-        col.label(text="From:")
+        col.label(text=_("From:"))
         col.prop(md, "object_from", text="")
 
         col.prop(md, "use_volume_preserve")
 
         col = split.column()
-        col.label(text="To:")
+        col.label(text=_("To:"))
         col.prop(md, "object_to", text="")
         col.prop_search(md, "vertex_group", ob, "vertex_groups", text="")
 
@@ -668,15 +668,15 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         # 2 new columns
         split = layout.split()
         col = split.column()
-        col.label(text="Texture:")
+        col.label(text=_("Texture:"))
         col.prop(md, "texture", text="")
 
         col = split.column()
-        col.label(text="Texture Coordinates:")
+        col.label(text=_("Texture Coordinates:"))
         col.prop(md, "texture_coords", text="")
 
         if md.texture_coords == 'OBJECT':
-            layout.prop(md, "texture_coords_object", text="Object")
+            layout.prop(md, "texture_coords_object", text=_("Object"))
         elif md.texture_coords == 'UV' and ob.type == 'MESH':
             layout.prop_search(md, "uv_layer", ob.data, "uv_textures")
 
@@ -684,7 +684,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Motion:")
+        col.label(text=_("Motion:"))
         col.prop(md, "use_x")
         col.prop(md, "use_y")
         col.prop(md, "use_cyclic")
@@ -700,18 +700,18 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Time:")
+        col.label(text=_("Time:"))
         sub = col.column(align=True)
-        sub.prop(md, "time_offset", text="Offset")
-        sub.prop(md, "lifetime", text="Life")
-        col.prop(md, "damping_time", text="Damping")
+        sub.prop(md, "time_offset", text=_("Offset"))
+        sub.prop(md, "lifetime", text=_("Life"))
+        col.prop(md, "damping_time", text=_("Damping"))
 
         col = split.column()
-        col.label(text="Position:")
+        col.label(text=_("Position:"))
         sub = col.column(align=True)
         sub.prop(md, "start_position_x", text="X")
         sub.prop(md, "start_position_y", text="Y")
-        col.prop(md, "falloff_radius", text="Falloff")
+        col.prop(md, "falloff_radius", text=_("Falloff"))
 
         layout.separator()
 
@@ -719,7 +719,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         layout.prop_search(md, "vertex_group", ob, "vertex_groups")
         split = layout.split(percentage=0.33)
         col = split.column()
-        col.label(text="Texture")
+        col.label(text=_("Texture"))
         col = split.column()
         col.template_ID(md, "texture", new="texture.new")
         layout.prop(md, "texture_coords")
index 26b95484b282f0f27d8a0d8882842fc8ed76a583..95ae54c4597c01e4408c28b31cf48bd618a8efc0 100644 (file)
@@ -19,7 +19,7 @@
 # <pep8 compliant>
 import bpy
 from bpy.types import Panel
-
+from blf import gettext as _
 
 class PhysicsButtonsPanel():
     bl_space_type = 'PROPERTIES'
@@ -54,7 +54,7 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, Panel):
             col = split.column()
             col.prop(game, "use_actor")
             col.prop(game, "use_ghost")
-            col.prop(ob, "hide_render", text="Invisible")  # out of place but useful
+            col.prop(ob, "hide_render", text=_("Invisible"))  # out of place but useful
 
             col = split.column()
             col.prop(game, "use_material_physics_fh")
@@ -66,7 +66,7 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, Panel):
             split = layout.split()
 
             col = split.column()
-            col.label(text="Attributes:")
+            col.label(text=_("Attributes:"))
             col.prop(game, "mass")
             col.prop(game, "radius")
             col.prop(game, "form_factor")
@@ -81,29 +81,29 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, Panel):
             split = layout.split()
 
             col = split.column()
-            col.label(text="Velocity:")
+            col.label(text=_("Velocity:"))
             sub = col.column(align=True)
-            sub.prop(game, "velocity_min", text="Minimum")
-            sub.prop(game, "velocity_max", text="Maximum")
+            sub.prop(game, "velocity_min", text=_("Minimum"))
+            sub.prop(game, "velocity_max", text=_("Maximum"))
 
             col = split.column()
-            col.label(text="Damping:")
+            col.label(text=_("Damping:"))
             sub = col.column(align=True)
-            sub.prop(game, "damping", text="Translation", slider=True)
-            sub.prop(game, "rotation_damping", text="Rotation", slider=True)
+            sub.prop(game, "damping", text=_("Translation"), slider=True)
+            sub.prop(game, "rotation_damping", text=_("Rotation"), slider=True)
 
             layout.separator()
 
             split = layout.split()
 
             col = split.column()
-            col.label(text="Lock Translation:")
+            col.label(text=_("Lock Translation:"))
             col.prop(game, "lock_location_x", text="X")
             col.prop(game, "lock_location_y", text="Y")
             col.prop(game, "lock_location_z", text="Z")
 
             col = split.column()
-            col.label(text="Lock Rotation:")
+            col.label(text=_("Lock Rotation:"))
             col.prop(game, "lock_rotation_x", text="X")
             col.prop(game, "lock_rotation_y", text="Y")
             col.prop(game, "lock_rotation_z", text="Z")
@@ -112,21 +112,21 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, Panel):
             col = layout.column()
             col.prop(game, "use_actor")
             col.prop(game, "use_ghost")
-            col.prop(ob, "hide_render", text="Invisible")
+            col.prop(ob, "hide_render", text=_("Invisible"))
 
             layout.separator()
 
             split = layout.split()
 
             col = split.column()
-            col.label(text="Attributes:")
+            col.label(text=_("Attributes:"))
             col.prop(game, "mass")
             col.prop(soft, "weld_threshold")
             col.prop(soft, "location_iterations")
             col.prop(soft, "linear_stiffness", slider=True)
             col.prop(soft, "dynamic_friction", slider=True)
             col.prop(soft, "collision_margin", slider=True)
-            col.prop(soft, "use_bending_constraints", text="Bending Constraints")
+            col.prop(soft, "use_bending_constraints", text=_("Bending Constraints"))
 
             col = split.column()
             col.prop(soft, "use_shape_match")
@@ -136,25 +136,25 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, Panel):
 
             col.separator()
 
-            col.label(text="Cluster Collision:")
+            col.label(text=_("Cluster Collision:"))
             col.prop(soft, "use_cluster_rigid_to_softbody")
             col.prop(soft, "use_cluster_soft_to_softbody")
             sub = col.column()
             sub.active = (soft.use_cluster_rigid_to_softbody or soft.use_cluster_soft_to_softbody)
-            sub.prop(soft, "cluster_iterations", text="Iterations")
+            sub.prop(soft, "cluster_iterations", text=_("Iterations"))
 
         elif game.physics_type == 'STATIC':
             col = layout.column()
             col.prop(game, "use_actor")
             col.prop(game, "use_ghost")
-            col.prop(ob, "hide_render", text="Invisible")
+            col.prop(ob, "hide_render", text=_("Invisible"))
 
             layout.separator()
 
             split = layout.split()
 
             col = split.column()
-            col.label(text="Attributes:")
+            col.label(text=_("Attributes:"))
             col.prop(game, "radius")
 
             col = split.column()
@@ -165,7 +165,7 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, Panel):
             subsub.prop(game, "friction_coefficients", text="", slider=True)
 
         elif game.physics_type in {'SENSOR', 'INVISIBLE', 'NO_COLLISION', 'OCCLUDE'}:
-            layout.prop(ob, "hide_render", text="Invisible")
+            layout.prop(ob, "hide_render", text=_("Invisible"))
 
 
 class PHYSICS_PT_game_collision_bounds(PhysicsButtonsPanel, Panel):
@@ -189,11 +189,11 @@ class PHYSICS_PT_game_collision_bounds(PhysicsButtonsPanel, Panel):
         game = context.active_object.game
 
         layout.active = game.use_collision_bounds
-        layout.prop(game, "collision_bounds_type", text="Bounds")
+        layout.prop(game, "collision_bounds_type", text=_("Bounds"))
 
         row = layout.row()
-        row.prop(game, "collision_margin", text="Margin", slider=True)
-        row.prop(game, "use_collision_compound", text="Compound")
+        row.prop(game, "collision_margin", text=_("Margin"), slider=True)
+        row.prop(game, "use_collision_compound", text=_("Compound"))
 
 
 class PHYSICS_PT_game_obstacles(PhysicsButtonsPanel, Panel):
@@ -242,7 +242,7 @@ class RENDER_PT_game(RenderButtonsPanel, Panel):
         layout = self.layout
 
         row = layout.row()
-        row.operator("view3d.game_start", text="Start")
+        row.operator("view3d.game_start", text=_("Start"))
         row.label()
 
 
@@ -260,20 +260,20 @@ class RENDER_PT_game_player(RenderButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Resolution:")
+        col.label(text=_("Resolution:"))
         sub = col.column(align=True)
         sub.prop(gs, "resolution_x", slider=False, text="X")
         sub.prop(gs, "resolution_y", slider=False, text="Y")
 
         col = split.column()
-        col.label(text="Quality:")
+        col.label(text=_("Quality:"))
         sub = col.column(align=True)
-        sub.prop(gs, "depth", text="Bit Depth", slider=False)
-        sub.prop(gs, "frequency", text="FPS", slider=False)
+        sub.prop(gs, "depth", text=_("Bit Depth"), slider=False)
+        sub.prop(gs, "frequency", text=_("FPS"), slider=False)
 
         # framing:
         col = layout.column()
-        col.label(text="Framing:")
+        col.label(text=_("Framing:"))
         col.row().prop(gs, "frame_type", expand=True)
         if gs.frame_type == 'LETTERBOX':
             col.prop(gs, "frame_color", text="")
@@ -299,7 +299,7 @@ class RENDER_PT_game_stereo(RenderButtonsPanel, Panel):
 
         # dome:
         elif stereo_mode == 'DOME':
-            layout.prop(gs, "dome_mode", text="Dome Type")
+            layout.prop(gs, "dome_mode", text=_("Dome Type"))
 
             dome_type = gs.dome_mode
 
@@ -310,23 +310,23 @@ class RENDER_PT_game_stereo(RenderButtonsPanel, Panel):
                dome_type == 'TRUNCATED_FRONT':
 
                 col = split.column()
-                col.prop(gs, "dome_buffer_resolution", text="Resolution", slider=True)
+                col.prop(gs, "dome_buffer_resolution", text=_("Resolution"), slider=True)
                 col.prop(gs, "dome_angle", slider=True)
 
                 col = split.column()
-                col.prop(gs, "dome_tesselation", text="Tesselation")
+                col.prop(gs, "dome_tesselation", text=_("Tesselation"))
                 col.prop(gs, "dome_tilt")
 
             elif dome_type == 'PANORAM_SPH':
                 col = split.column()
 
-                col.prop(gs, "dome_buffer_resolution", text="Resolution", slider=True)
+                col.prop(gs, "dome_buffer_resolution", text=_("Resolution"), slider=True)
                 col = split.column()
-                col.prop(gs, "dome_tesselation", text="Tesselation")
+                col.prop(gs, "dome_tesselation", text=_("Tesselation"))
 
             else:  # cube map
                 col = split.column()
-                col.prop(gs, "dome_buffer_resolution", text="Resolution", slider=True)
+                col.prop(gs, "dome_buffer_resolution", text=_("Resolution"), slider=True)
 
                 col = split.column()
 
@@ -348,15 +348,15 @@ class RENDER_PT_game_shading(RenderButtonsPanel, Panel):
             split = layout.split()
 
             col = split.column()
-            col.prop(gs, "use_glsl_lights", text="Lights")
-            col.prop(gs, "use_glsl_shaders", text="Shaders")
-            col.prop(gs, "use_glsl_shadows", text="Shadows")
-            col.prop(gs, "use_glsl_color_management", text="Color Management")
+            col.prop(gs, "use_glsl_lights", text=_("Lights"))
+            col.prop(gs, "use_glsl_shaders", text=_("Shaders"))
+            col.prop(gs, "use_glsl_shadows", text=_("Shadows"))
+            col.prop(gs, "use_glsl_color_management", text=_("Color Management"))
 
             col = split.column()
-            col.prop(gs, "use_glsl_ramps", text="Ramps")
-            col.prop(gs, "use_glsl_nodes", text="Nodes")
-            col.prop(gs, "use_glsl_extra_textures", text="Extra Textures")
+            col.prop(gs, "use_glsl_ramps", text=_("Ramps"))
+            col.prop(gs, "use_glsl_nodes", text=_("Nodes"))
+            col.prop(gs, "use_glsl_extra_textures", text=_("Extra Textures"))
 
 
 class RENDER_PT_game_performance(RenderButtonsPanel, Panel):
@@ -384,11 +384,11 @@ class RENDER_PT_game_display(RenderButtonsPanel, Panel):
 
         gs = context.scene.game_settings
         flow = layout.column_flow()
-        flow.prop(gs, "show_debug_properties", text="Debug Properties")
-        flow.prop(gs, "show_framerate_profile", text="Framerate and Profile")
-        flow.prop(gs, "show_physics_visualization", text="Physics Visualization")
+        flow.prop(gs, "show_debug_properties", text=_("Debug Properties"))
+        flow.prop(gs, "show_framerate_profile", text=_("Framerate and Profile"))
+        flow.prop(gs, "show_physics_visualization", text=_("Physics Visualization"))
         flow.prop(gs, "use_deprecation_warnings")
-        flow.prop(gs, "show_mouse", text="Mouse Cursor")
+        flow.prop(gs, "show_mouse", text=_("Mouse Cursor"))
 
 
 class SceneButtonsPanel():
@@ -546,37 +546,37 @@ class WORLD_PT_game_physics(WorldButtonsPanel, Panel):
 
         layout.prop(gs, "physics_engine")
         if gs.physics_engine != 'NONE':
-            layout.prop(gs, "physics_gravity", text="Gravity")
+            layout.prop(gs, "physics_gravity", text=_("Gravity"))
 
             split = layout.split()
 
             col = split.column()
-            col.label(text="Physics Steps:")
+            col.label(text=_("Physics Steps:"))
             sub = col.column(align=True)
-            sub.prop(gs, "physics_step_max", text="Max")
-            sub.prop(gs, "physics_step_sub", text="Substeps")
-            col.prop(gs, "fps", text="FPS")
+            sub.prop(gs, "physics_step_max", text=_("Max"))
+            sub.prop(gs, "physics_step_sub", text=_("Substeps"))
+            col.prop(gs, "fps", text=_("FPS"))
 
             col = split.column()
-            col.label(text="Logic Steps:")
-            col.prop(gs, "logic_step_max", text="Max")
+            col.label(text=_("Logic Steps:"))
+            col.prop(gs, "logic_step_max", text=_("Max"))
 
             col = layout.column()
-            col.prop(gs, "use_occlusion_culling", text="Occlusion Culling")
+            col.prop(gs, "use_occlusion_culling", text=_("Occlusion Culling"))
             sub = col.column()
             sub.active = gs.use_occlusion_culling
-            sub.prop(gs, "occlusion_culling_resolution", text="Resolution")
+            sub.prop(gs, "occlusion_culling_resolution", text=_("Resolution"))
 
         else:
             split = layout.split()
 
             col = split.column()
-            col.label(text="Physics Steps:")
-            col.prop(gs, "fps", text="FPS")
+            col.label(text=_("Physics Steps:"))
+            col.prop(gs, "fps", text=_("FPS"))
 
             col = split.column()
-            col.label(text="Logic Steps:")
-            col.prop(gs, "logic_step_max", text="Max")
+            col.label(text=_("Logic Steps:"))
+            col.prop(gs, "logic_step_max", text=_("Max"))
 
 
 class WORLD_PT_game_physics_obstacles(WorldButtonsPanel, Panel):
index 68d7d5d4615e23b7c97660f42f7b43a62fb8c367..7b04c990c6a94d6324e3ecc2e08a39b0182b62cf 100644 (file)
@@ -20,7 +20,7 @@
 import bpy
 from bpy.types import Menu, Panel
 from rna_prop_ui import PropertyPanel
-
+from blf import gettext as _
 
 def active_node_mat(mat):
     # TODO, 2.4x has a pipeline section, for 2.5 we need to communicate
@@ -114,9 +114,9 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel, Panel):
 
             if ob.mode == 'EDIT':
                 row = layout.row(align=True)
-                row.operator("object.material_slot_assign", text="Assign")
-                row.operator("object.material_slot_select", text="Select")
-                row.operator("object.material_slot_deselect", text="Deselect")
+                row.operator("object.material_slot_assign", text=_("Assign"))
+                row.operator("object.material_slot_select", text=_("Select"))
+                row.operator("object.material_slot_deselect", text=_("Deselect"))
 
         split = layout.split(percentage=0.65)
 
@@ -142,7 +142,7 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel, Panel):
                 if mat.active_node_material:
                     row.prop(mat.active_node_material, "name", text="")
                 else:
-                    row.label(text="No material node selected")
+                    row.label(text=_("No material node selected"))
 
 
 class MATERIAL_PT_preview(MaterialButtonsPanel, Panel):
@@ -197,8 +197,8 @@ class MATERIAL_PT_pipeline(MaterialButtonsPanel, Panel):
         col = split.column()
         col.active = mat_type
 
-        col.prop(mat, "use_cast_shadows_only", text="Cast Only")
-        col.prop(mat, "shadow_cast_alpha", text="Casting Alpha")
+        col.prop(mat, "use_cast_shadows_only", text=_("Cast Only"))
+        col.prop(mat, "shadow_cast_alpha", text=_("Casting Alpha"))
         col.prop(mat, "use_cast_buffer_shadows")
         col.prop(mat, "use_cast_approximate")
         col.prop(mat, "pass_index")
@@ -225,12 +225,12 @@ class MATERIAL_PT_diffuse(MaterialButtonsPanel, Panel):
         col.prop(mat, "diffuse_color", text="")
         sub = col.column()
         sub.active = (not mat.use_shadeless)
-        sub.prop(mat, "diffuse_intensity", text="Intensity")
+        sub.prop(mat, "diffuse_intensity", text=_("Intensity"))
 
         col = split.column()
         col.active = (not mat.use_shadeless)
         col.prop(mat, "diffuse_shader", text="")
-        col.prop(mat, "use_diffuse_ramp", text="Ramp")
+        col.prop(mat, "use_diffuse_ramp", text=_("Ramp"))
 
         col = layout.column()
         col.active = (not mat.use_shadeless)
@@ -240,12 +240,12 @@ class MATERIAL_PT_diffuse(MaterialButtonsPanel, Panel):
             col.prop(mat, "darkness")
         elif mat.diffuse_shader == 'TOON':
             row = col.row()
-            row.prop(mat, "diffuse_toon_size", text="Size")
-            row.prop(mat, "diffuse_toon_smooth", text="Smooth")
+            row.prop(mat, "diffuse_toon_size", text=_("Size"))
+            row.prop(mat, "diffuse_toon_smooth", text=_("Smooth"))
         elif mat.diffuse_shader == 'FRESNEL':
             row = col.row()
-            row.prop(mat, "diffuse_fresnel", text="Fresnel")
-            row.prop(mat, "diffuse_fresnel_factor", text="Factor")
+            row.prop(mat, "diffuse_fresnel", text=_("Fresnel"))
+            row.prop(mat, "diffuse_fresnel_factor", text=_("Factor"))
 
         if mat.use_diffuse_ramp:
             col = layout.column()
@@ -255,10 +255,10 @@ class MATERIAL_PT_diffuse(MaterialButtonsPanel, Panel):
             col.separator()
 
             row = col.row()
-            row.prop(mat, "diffuse_ramp_input", text="Input")
-            row.prop(mat, "diffuse_ramp_blend", text="Blend")
+            row.prop(mat, "diffuse_ramp_input", text=_("Input"))
+            row.prop(mat, "diffuse_ramp_blend", text=_("Blend"))
 
-            col.prop(mat, "diffuse_ramp_factor", text="Factor")
+            col.prop(mat, "diffuse_ramp_factor", text=_("Factor"))
 
 
 class MATERIAL_PT_specular(MaterialButtonsPanel, Panel):
@@ -282,25 +282,25 @@ class MATERIAL_PT_specular(MaterialButtonsPanel, Panel):
 
         col = split.column()
         col.prop(mat, "specular_color", text="")
-        col.prop(mat, "specular_intensity", text="Intensity")
+        col.prop(mat, "specular_intensity", text=_("Intensity"))
 
         col = split.column()
         col.prop(mat, "specular_shader", text="")
-        col.prop(mat, "use_specular_ramp", text="Ramp")
+        col.prop(mat, "use_specular_ramp", text=_("Ramp"))
 
         col = layout.column()
         if mat.specular_shader in {'COOKTORR', 'PHONG'}:
-            col.prop(mat, "specular_hardness", text="Hardness")
+            col.prop(mat, "specular_hardness", text=_("Hardness"))
         elif mat.specular_shader == 'BLINN':
             row = col.row()
-            row.prop(mat, "specular_hardness", text="Hardness")
-            row.prop(mat, "specular_ior", text="IOR")
+            row.prop(mat, "specular_hardness", text=_("Hardness"))
+            row.prop(mat, "specular_ior", text=_("IOR"))
         elif mat.specular_shader == 'WARDISO':
-            col.prop(mat, "specular_slope", text="Slope")
+            col.prop(mat, "specular_slope", text=_("Slope"))
         elif mat.specular_shader == 'TOON':
             row = col.row()
-            row.prop(mat, "specular_toon_size", text="Size")
-            row.prop(mat, "specular_toon_smooth", text="Smooth")
+            row.prop(mat, "specular_toon_size", text=_("Size"))
+            row.prop(mat, "specular_toon_smooth", text=_("Smooth"))
 
         if mat.use_specular_ramp:
             layout.separator()
@@ -308,10 +308,10 @@ class MATERIAL_PT_specular(MaterialButtonsPanel, Panel):
             layout.separator()
 
             row = layout.row()
-            row.prop(mat, "specular_ramp_input", text="Input")
-            row.prop(mat, "specular_ramp_blend", text="Blend")
+            row.prop(mat, "specular_ramp_input", text=_("Input"))
+            row.prop(mat, "specular_ramp_blend", text=_("Blend"))
 
-            layout.prop(mat, "specular_ramp_factor", text="Factor")
+            layout.prop(mat, "specular_ramp_factor", text=_("Factor"))
 
 
 class MATERIAL_PT_shading(MaterialButtonsPanel, Panel):
@@ -384,14 +384,14 @@ class MATERIAL_PT_transp(MaterialButtonsPanel, Panel):
         col.prop(mat, "alpha")
         row = col.row()
         row.active = (base_mat.transparency_method != 'MASK') and (not mat.use_shadeless)
-        row.prop(mat, "specular_alpha", text="Specular")
+        row.prop(mat, "specular_alpha", text=_("Specular"))
 
         col = split.column()
         col.active = (not mat.use_shadeless)
         col.prop(rayt, "fresnel")
         sub = col.column()
         sub.active = rayt.fresnel > 0
-        sub.prop(rayt, "fresnel_factor", text="Blend")
+        sub.prop(rayt, "fresnel_factor", text=_("Blend"))
 
         if base_mat.transparency_method == 'RAYTRACE':
             layout.separator()
@@ -406,12 +406,12 @@ class MATERIAL_PT_transp(MaterialButtonsPanel, Panel):
             col.prop(rayt, "depth")
 
             col = split.column()
-            col.label(text="Gloss:")
-            col.prop(rayt, "gloss_factor", text="Amount")
+            col.label(text=_("Gloss:"))
+            col.prop(rayt, "gloss_factor", text=_("Amount"))
             sub = col.column()
             sub.active = rayt.gloss_factor < 1.0
-            sub.prop(rayt, "gloss_threshold", text="Threshold")
-            sub.prop(rayt, "gloss_samples", text="Samples")
+            sub.prop(rayt, "gloss_threshold", text=_("Threshold"))
+            sub.prop(rayt, "gloss_samples", text=_("Samples"))
 
 
 class MATERIAL_PT_mirror(MaterialButtonsPanel, Panel):
@@ -448,28 +448,28 @@ class MATERIAL_PT_mirror(MaterialButtonsPanel, Panel):
         col.prop(raym, "fresnel")
         sub = col.column()
         sub.active = raym.fresnel > 0
-        sub.prop(raym, "fresnel_factor", text="Blend")
+        sub.prop(raym, "fresnel_factor", text=_("Blend"))
 
         split = layout.split()
 
         col = split.column()
         col.separator()
         col.prop(raym, "depth")
-        col.prop(raym, "distance", text="Max Dist")
+        col.prop(raym, "distance", text=_("Max Dist"))
         col.separator()
         sub = col.split(percentage=0.4)
         sub.active = raym.distance > 0.0
-        sub.label(text="Fade To:")
+        sub.label(text=_("Fade To:"))
         sub.prop(raym, "fade_to", text="")
 
         col = split.column()
-        col.label(text="Gloss:")
-        col.prop(raym, "gloss_factor", text="Amount")
+        col.label(text=_("Gloss:"))
+        col.prop(raym, "gloss_factor", text=_("Amount"))
         sub = col.column()
         sub.active = raym.gloss_factor < 1.0
-        sub.prop(raym, "gloss_threshold", text="Threshold")
-        sub.prop(raym, "gloss_samples", text="Samples")
-        sub.prop(raym, "gloss_anisotropic", text="Anisotropic")
+        sub.prop(raym, "gloss_threshold", text=_("Threshold"))
+        sub.prop(raym, "gloss_samples", text=_("Samples"))
+        sub.prop(raym, "gloss_anisotropic", text=_("Anisotropic"))
 
 
 class MATERIAL_PT_sss(MaterialButtonsPanel, Panel):
@@ -510,18 +510,18 @@ class MATERIAL_PT_sss(MaterialButtonsPanel, Panel):
         col.prop(sss, "ior")
         col.prop(sss, "scale")
         col.prop(sss, "color", text="")
-        col.prop(sss, "radius", text="RGB Radius", expand=True)
+        col.prop(sss, "radius", text=_("RGB Radius"), expand=True)
 
         col = split.column()
         sub = col.column(align=True)
-        sub.label(text="Blend:")
-        sub.prop(sss, "color_factor", text="Color")
-        sub.prop(sss, "texture_factor", text="Texture")
-        sub.label(text="Scattering Weight:")
+        sub.label(text=_("Blend:"))
+        sub.prop(sss, "color_factor", text=_("Color"))
+        sub.prop(sss, "texture_factor", text=_("Texture"))
+        sub.label(text=_("Scattering Weight:"))
         sub.prop(sss, "front")
         sub.prop(sss, "back")
         col.separator()
-        col.prop(sss, "error_threshold", text="Error")
+        col.prop(sss, "error_threshold", text=_("Error"))
 
 
 class MATERIAL_PT_halo(MaterialButtonsPanel, Panel):
@@ -561,7 +561,7 @@ class MATERIAL_PT_halo(MaterialButtonsPanel, Panel):
         col.prop(halo, "hardness")
         col.prop(halo, "add")
 
-        layout.label(text="Options:")
+        layout.label(text=_("Options:"))
 
         split = layout.split()
         col = split.column()
@@ -603,13 +603,13 @@ class MATERIAL_PT_flare(MaterialButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.prop(halo, "flare_size", text="Size")
-        col.prop(halo, "flare_boost", text="Boost")
-        col.prop(halo, "flare_seed", text="Seed")
+        col.prop(halo, "flare_size", text=_("Size"))
+        col.prop(halo, "flare_boost", text=_("Boost"))
+        col.prop(halo, "flare_seed", text=_("Seed"))
 
         col = split.column()
-        col.prop(halo, "flare_subflare_count", text="Subflares")
-        col.prop(halo, "flare_subflare_size", text="Subsize")
+        col.prop(halo, "flare_subflare_count", text=_("Subflares"))
+        col.prop(halo, "flare_subflare_size", text=_("Subsize"))
 
 
 class MATERIAL_PT_game_settings(MaterialButtonsPanel, bpy.types.Panel):
@@ -660,7 +660,7 @@ class MATERIAL_PT_physics(MaterialButtonsPanel, bpy.types.Panel):
         row.prop(phys, "elasticity", slider=True)
 
         row = layout.row()
-        row.label(text="Force Field:")
+        row.label(text=_("Force Field:"))
 
         row = layout.row()
         row.prop(phys, "fh_force")
@@ -692,10 +692,10 @@ class MATERIAL_PT_strand(MaterialButtonsPanel, Panel):
 
         col = split.column()
         sub = col.column(align=True)
-        sub.label(text="Size:")
-        sub.prop(tan, "root_size", text="Root")
-        sub.prop(tan, "tip_size", text="Tip")
-        sub.prop(tan, "size_min", text="Minimum")
+        sub.label(text=_("Size:"))
+        sub.prop(tan, "root_size", text=_("Root"))
+        sub.prop(tan, "tip_size", text=_("Tip"))
+        sub.prop(tan, "size_min", text=_("Minimum"))
         sub.prop(tan, "use_blender_units")
         sub = col.column()
         sub.active = (not mat.use_shadeless)
@@ -703,7 +703,7 @@ class MATERIAL_PT_strand(MaterialButtonsPanel, Panel):
         col.prop(tan, "shape")
 
         col = split.column()
-        col.label(text="Shading:")
+        col.label(text=_("Shading:"))
         col.prop(tan, "width_fade")
         ob = context.object
         if ob and ob.type == 'MESH':
@@ -713,9 +713,9 @@ class MATERIAL_PT_strand(MaterialButtonsPanel, Panel):
         col.separator()
         sub = col.column()
         sub.active = (not mat.use_shadeless)
-        sub.label("Surface diffuse:")
+        sub.label(_("Surface diffuse:"))
         sub = col.column()
-        sub.prop(tan, "blend_distance", text="Distance")
+        sub.prop(tan, "blend_distance", text=_("Distance"))
 
 
 class MATERIAL_PT_options(MaterialButtonsPanel, Panel):
@@ -748,11 +748,11 @@ class MATERIAL_PT_options(MaterialButtonsPanel, Panel):
             sub.prop(mat, "offset_z")
             sub.active = mat.use_transparency and mat.transparency_method == 'Z_TRANSPARENCY'
         sub = col.column(align=True)
-        sub.label(text="Light Group:")
+        sub.label(text=_("Light Group:"))
         sub.prop(mat, "light_group", text="")
         row = sub.row()
         row.active = bool(mat.light_group)
-        row.prop(mat, "use_light_group_exclusive", text="Exclusive")
+        row.prop(mat, "use_light_group_exclusive", text=_("Exclusive"))
 
         col = split.column()
         col.prop(mat, "use_face_texture")
@@ -787,12 +787,12 @@ class MATERIAL_PT_shadow(MaterialButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.prop(mat, "use_shadows", text="Receive")
-        col.prop(mat, "use_transparent_shadows", text="Receive Transparent")
+        col.prop(mat, "use_shadows", text=_("Receive"))
+        col.prop(mat, "use_transparent_shadows", text=_("Receive Transparent"))
         if simple_material(base_mat):
-            col.prop(mat, "use_cast_shadows_only", text="Cast Only")
-            col.prop(mat, "shadow_cast_alpha", text="Casting Alpha")
-        col.prop(mat, "use_only_shadow", text="Shadows Only")
+            col.prop(mat, "use_cast_shadows_only", text=_("Cast Only"))
+            col.prop(mat, "shadow_cast_alpha", text=_("Casting Alpha"))
+        col.prop(mat, "use_only_shadow", text=_("Shadows Only"))
         sub = col.column()
         sub.active = mat.use_only_shadow
         sub.prop(mat, "shadow_only_type", text="")
@@ -802,11 +802,11 @@ class MATERIAL_PT_shadow(MaterialButtonsPanel, Panel):
             col.prop(mat, "use_cast_buffer_shadows")
         sub = col.column()
         sub.active = mat.use_cast_buffer_shadows
-        sub.prop(mat, "shadow_buffer_bias", text="Buffer Bias")
-        col.prop(mat, "use_ray_shadow_bias", text="Auto Ray Bias")
+        sub.prop(mat, "shadow_buffer_bias", text=_("Buffer Bias"))
+        col.prop(mat, "use_ray_shadow_bias", text=_("Auto Ray Bias"))
         sub = col.column()
         sub.active = (not mat.use_ray_shadow_bias)
-        sub.prop(mat, "shadow_ray_bias", text="Ray Bias")
+        sub.prop(mat, "shadow_ray_bias", text=_("Ray Bias"))
         if simple_material(base_mat):
             col.prop(mat, "use_cast_approximate")
 
@@ -919,7 +919,7 @@ class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, Panel):
             sub = col.column()
             sub.enabled = True
             sub.active = False
-            sub.label("Light Cache Enabled")
+            sub.label(_("Light Cache Enabled"))
             col.prop(vol, "cache_resolution")
 
             sub = col.column(align=True)
@@ -958,7 +958,7 @@ class MATERIAL_PT_volume_integration(VolumeButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Step Calculation:")
+        col.label(text=_("Step Calculation:"))
         col.prop(vol, "step_method", text="")
         col = col.column(align=True)
         col.prop(vol, "step_size")
@@ -993,11 +993,11 @@ class MATERIAL_PT_volume_options(VolumeButtonsPanel, Panel):
         col.prop(mat, "use_mist")
 
         col = split.column()
-        col.label(text="Light Group:")
+        col.label(text=_("Light Group:"))
         col.prop(mat, "light_group", text="")
         row = col.row()
         row.active = bool(mat.light_group)
-        row.prop(mat, "use_light_group_exclusive", text="Exclusive")
+        row.prop(mat, "use_light_group_exclusive", text=_("Exclusive"))
 
 
 class MATERIAL_PT_custom_props(MaterialButtonsPanel, PropertyPanel, Panel):
index 0779debb1029821556cef84d0f92959519343a4e..a099189eed68f675132a6831a82a33929dde4ffb 100644 (file)
@@ -20,7 +20,7 @@
 import bpy
 from bpy.types import Panel
 from rna_prop_ui import PropertyPanel
-
+from blf import gettext as _
 
 class ObjectButtonsPanel():
     bl_space_type = 'PROPERTIES'
@@ -55,14 +55,14 @@ class OBJECT_PT_transform(ObjectButtonsPanel, Panel):
 
         row.column().prop(ob, "location")
         if ob.rotation_mode == 'QUATERNION':
-            row.column().prop(ob, "rotation_quaternion", text="Rotation")
+            row.column().prop(ob, "rotation_quaternion", text=_("Rotation"))
         elif ob.rotation_mode == 'AXIS_ANGLE':
-            #row.column().label(text="Rotation")
-            #row.column().prop(pchan, "rotation_angle", text="Angle")
-            #row.column().prop(pchan, "rotation_axis", text="Axis")
-            row.column().prop(ob, "rotation_axis_angle", text="Rotation")
+            #row.column().label(text=_("Rotation"))
+            #row.column().prop(pchan, "rotation_angle", text=_("Angle"))
+            #row.column().prop(pchan, "rotation_axis", text=_("Axis"))
+            row.column().prop(ob, "rotation_axis_angle", text=_("Rotation"))
         else:
-            row.column().prop(ob, "rotation_euler", text="Rotation")
+            row.column().prop(ob, "rotation_euler", text=_("Rotation"))
 
         row.column().prop(ob, "scale")
 
@@ -82,15 +82,15 @@ class OBJECT_PT_delta_transform(ObjectButtonsPanel, Panel):
 
         row.column().prop(ob, "delta_location")
         if ob.rotation_mode == 'QUATERNION':
-            row.column().prop(ob, "delta_rotation_quaternion", text="Rotation")
+            row.column().prop(ob, "delta_rotation_quaternion", text=_("Rotation"))
         elif ob.rotation_mode == 'AXIS_ANGLE':
-            #row.column().label(text="Rotation")
-            #row.column().prop(pchan, "delta_rotation_angle", text="Angle")
-            #row.column().prop(pchan, "delta_rotation_axis", text="Axis")
-            #row.column().prop(ob, "delta_rotation_axis_angle", text="Rotation")
-            row.column().label(text="Not for Axis-Angle")
+            #row.column().label(text=_("Rotation"))
+            #row.column().prop(pchan, "delta_rotation_angle", text=_("Angle"))
+            #row.column().prop(pchan, "delta_rotation_axis", text=_("Axis"))
+            #row.column().prop(ob, "delta_rotation_axis_angle", text=_("Rotation"))
+            row.column().label(text=_("Not for Axis-Angle"))
         else:
-            row.column().prop(ob, "delta_rotation_euler", text="Rotation")
+            row.column().prop(ob, "delta_rotation_euler", text=_("Rotation"))
 
         row.column().prop(ob, "delta_scale")
 
@@ -107,18 +107,18 @@ class OBJECT_PT_transform_locks(ObjectButtonsPanel, Panel):
         row = layout.row()
 
         col = row.column()
-        col.prop(ob, "lock_location", text="Location")
+        col.prop(ob, "lock_location", text=_("Location"))
 
         col = row.column()
         if ob.rotation_mode in {'QUATERNION', 'AXIS_ANGLE'}:
-            col.prop(ob, "lock_rotations_4d", text="Rotation")
+            col.prop(ob, "lock_rotations_4d", text=_("Rotation"))
             if ob.lock_rotations_4d:
                 col.prop(ob, "lock_rotation_w", text="W")
             col.prop(ob, "lock_rotation", text="")
         else:
-            col.prop(ob, "lock_rotation", text="Rotation")
+            col.prop(ob, "lock_rotation", text=_("Rotation"))
 
-        row.column().prop(ob, "lock_scale", text="Scale")
+        row.column().prop(ob, "lock_scale", text=_("Scale"))
 
 
 class OBJECT_PT_relations(ObjectButtonsPanel, Panel):
@@ -137,7 +137,7 @@ class OBJECT_PT_relations(ObjectButtonsPanel, Panel):
         col.prop(ob, "pass_index")
 
         col = split.column()
-        col.label(text="Parent:")
+        col.label(text=_("Parent:"))
         col.prop(ob, "parent", text="")
 
         sub = col.column()
@@ -157,7 +157,7 @@ class OBJECT_PT_groups(ObjectButtonsPanel, Panel):
         ob = context.object
 
         row = layout.row(align=True)
-        row.operator("object.group_link", text="Add to Group")
+        row.operator("object.group_link", text=_("Add to Group"))
         row.operator("object.group_add", text="", icon='ZOOMIN')
 
         # XXX, this is bad practice, yes, I wrote it :( - campbell
@@ -176,12 +176,12 @@ class OBJECT_PT_groups(ObjectButtonsPanel, Panel):
                 split = col.box().split()
 
                 col = split.column()
-                col.prop(group, "layers", text="Dupli")
+                col.prop(group, "layers", text=_("Dupli"))
 
                 col = split.column()
                 col.prop(group, "dupli_offset", text="")
 
-                prop = col.operator("wm.context_set_value", text="From Cursor")
+                prop = col.operator("wm.context_set_value", text=_("From Cursor"))
                 prop.data_path = "object.users_group[%d].dupli_offset" % index
                 prop.value = value
                 index += 1
@@ -197,11 +197,11 @@ class OBJECT_PT_display(ObjectButtonsPanel, Panel):
 
         split = layout.split()
         col = split.column()
-        col.prop(ob, "draw_type", text="Type")
+        col.prop(ob, "draw_type", text=_("Type"))
 
         col = split.column()
         row = col.row()
-        row.prop(ob, "show_bounds", text="Bounds")
+        row.prop(ob, "show_bounds", text=_("Bounds"))
         sub = row.row()
         sub.active = ob.show_bounds
         sub.prop(ob, "draw_bounds_type", text="")
@@ -209,16 +209,16 @@ class OBJECT_PT_display(ObjectButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.prop(ob, "show_name", text="Name")
-        col.prop(ob, "show_axis", text="Axis")
-        col.prop(ob, "show_wire", text="Wire")
-        col.prop(ob, "color", text="Object Color")
+        col.prop(ob, "show_name", text=_("Name"))
+        col.prop(ob, "show_axis", text=_("Axis"))
+        col.prop(ob, "show_wire", text=_("Wire"))
+        col.prop(ob, "color", text=_("Object Color"))
 
         col = split.column()
-        col.prop(ob, "show_texture_space", text="Texture Space")
-        col.prop(ob, "show_x_ray", text="X-Ray")
+        col.prop(ob, "show_texture_space", text=_("Texture Space"))
+        col.prop(ob, "show_x_ray", text=_("X-Ray"))
         if ob.type == 'MESH':
-            col.prop(ob, "show_transparent", text="Transparency")
+            col.prop(ob, "show_transparent", text=_("Transparency"))
 
 
 class OBJECT_PT_duplication(ObjectButtonsPanel, Panel):
@@ -235,26 +235,26 @@ class OBJECT_PT_duplication(ObjectButtonsPanel, Panel):
             split = layout.split()
 
             col = split.column(align=True)
-            col.prop(ob, "dupli_frames_start", text="Start")
-            col.prop(ob, "dupli_frames_end", text="End")
+            col.prop(ob, "dupli_frames_start", text=_("Start"))
+            col.prop(ob, "dupli_frames_end", text=_("End"))
 
             col = split.column(align=True)
-            col.prop(ob, "dupli_frames_on", text="On")
-            col.prop(ob, "dupli_frames_off", text="Off")
+            col.prop(ob, "dupli_frames_on", text=_("On"))
+            col.prop(ob, "dupli_frames_off", text=_("Off"))
 
-            layout.prop(ob, "use_dupli_frames_speed", text="Speed")
+            layout.prop(ob, "use_dupli_frames_speed", text=_("Speed"))
 
         elif ob.dupli_type == 'VERTS':
-            layout.prop(ob, "use_dupli_vertices_rotation", text="Rotation")
+            layout.prop(ob, "use_dupli_vertices_rotation", text=_("Rotation"))
 
         elif ob.dupli_type == 'FACES':
 
             row = layout.row()
-            row.prop(ob, "use_dupli_faces_scale", text="Scale")
-            row.prop(ob, "dupli_faces_scale", text="Inherit Scale")
+            row.prop(ob, "use_dupli_faces_scale", text=_("Scale"))
+            row.prop(ob, "dupli_faces_scale", text=_("Inherit Scale"))
 
         elif ob.dupli_type == 'GROUP':
-            layout.prop(ob, "dupli_group", text="Group")
+            layout.prop(ob, "dupli_group", text=_("Group"))
 
 
 # XXX: the following options are all quite buggy, ancient hacks that should be dropped
@@ -271,21 +271,21 @@ class OBJECT_PT_animation(ObjectButtonsPanel, Panel):
         split = layout.split()
 
         col = split.column()
-        col.label(text="Time Offset:")
-        col.prop(ob, "use_time_offset_edit", text="Edit")
+        col.label(text=_("Time Offset:"))
+        col.prop(ob, "use_time_offset_edit", text=_("Edit"))
         row = col.row()
-        row.prop(ob, "use_time_offset_parent", text="Parent")
+        row.prop(ob, "use_time_offset_parent", text=_("Parent"))
         row.active = (ob.parent is not None)
         row = col.row()
         row.prop(ob, "use_slow_parent")
         row.active = (ob.parent is not None)
-        col.prop(ob, "time_offset", text="Offset")
+        col.prop(ob, "time_offset", text=_("Offset"))
 
         # XXX: these are still used for a few curve-related tracking features
         col = split.column()
-        col.label(text="Tracking Axes:")
-        col.prop(ob, "track_axis", text="Axis")
-        col.prop(ob, "up_axis", text="Up Axis")
+        col.label(text=_("Tracking Axes:"))
+        col.prop(ob, "track_axis", text=_("Axis"))
+        col.prop(ob, "up_axis", text=_("Up Axis"))
 
 
 from bl_ui.properties_animviz import (
@@ -312,8 +312,8 @@ class OBJECT_PT_motion_paths(MotionPathButtonsPanel, Panel):
         layout.separator()
 
         row = layout.row()
-        row.operator("object.paths_calculate", text="Calculate Paths")
-        row.operator("object.paths_clear", text="Clear Paths")
+        row.operator("object.paths_calculate", text=_("Calculate Paths"))
+        row.operator("object.paths_clear", text=_("Clear Paths"))
 
 
 class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel):  # , Panel): # inherit from panel when ready
index 05fac2026a0da5de3e6b5db58d3324fb5aced20a..e7385d3926b853aeabfa70cc82421090c5d06097 100644 (file)
@@ -19,7 +19,7 @@
 # <pep8 compliant>
 import bpy
 from bpy.types import Panel
-
+from blf import gettext as _
 
 class ConstraintButtonsPanel():
     bl_space_type = 'PROPERTIES'
@@ -43,7 +43,7 @@ class ConstraintButtonsPanel():
 
             split = layout.split(percentage=0.2)
 
-            split.label(text="Space:")
+            split.label(text=_("Space:"))
             row = split.row()
 
             if target:
@@ -60,21 +60,21 @@ class ConstraintButtonsPanel():
 
         if con.target and subtargets:
             if con.target.type == 'ARMATURE':
-                layout.prop_search(con, "subtarget", con.target.data, "bones", text="Bone")
+                layout.prop_search(con, "subtarget", con.target.data, "bones", text=_("Bone"))
 
                 if hasattr(con, "head_tail"):
                     row = layout.row()
-                    row.label(text="Head/Tail:")
+                    row.label(text=_("Head/Tail:"))
                     row.prop(con, "head_tail", text="")
             elif con.target.type in {'MESH', 'LATTICE'}:
-                layout.prop_search(con, "subtarget", con.target, "vertex_groups", text="Vertex Group")
+                layout.prop_search(con, "subtarget", con.target, "vertex_groups", text=_("Vertex Group"))
 
     def ik_template(self, layout, con):
         # only used for iTaSC
         layout.prop(con, "pole_target")
 
         if con.pole_target and con.pole_target.type == 'ARMATURE':
-            layout.prop_search(con, "pole_subtarget", con.pole_target.data, "bones", text="Bone")
+            layout.prop_search(con, "pole_subtarget", con.pole_target.data, "bones", text=_("Bone"))
 
         if con.pole_target:
             row = layout.row()
@@ -96,19 +96,19 @@ class ConstraintButtonsPanel():
         split = layout.split()
 
         col = split.column()
-        col.label(text="Location:")
+        col.label(text=_("Location:"))
         col.prop(con, "use_location_x", text="X")
         col.prop(con, "use_location_y", text="Y")
         col.prop(con, "use_location_z", text="Z")
 
         col = split.column()
-        col.label(text="Rotation:")
+        col.label(text=_("Rotation:"))
         col.prop(con, "use_rotation_x", text="X")
         col.prop(con, "use_rotation_y", text="Y")
         col.prop(con, "use_rotation_z", text="Z")
 
         col = split.column()
-        col.label(text="Scale:")
+        col.label(text=_("Scale:"))
         col.prop(con, "use_scale_x", text="X")
         col.prop(con, "use_scale_y", text="Y")
         col.prop(con, "use_scale_z", text="Z")
@@ -121,11 +121,11 @@ class ConstraintButtonsPanel():
         self.target_template(layout, con)
 
         row = layout.row()
-        row.label(text="To:")
+        row.label(text=_("To:"))
         row.prop(con, "track_axis", expand=True)
 
         row = layout.row()
-        row.prop(con, "up_axis", text="Up")
+        row.prop(con, "up_axis", text=_("Up"))
         row.prop(con, "use_target_z")
 
         self.space_template(layout, con)
@@ -140,7 +140,7 @@ class ConstraintButtonsPanel():
             layout.prop(con, "pole_target")
 
             if con.pole_target and con.pole_target.type == 'ARMATURE':
-                layout.prop_search(con, "pole_subtarget", con.pole_target.data, "bones", text="Bone")
+                layout.prop_search(con, "pole_subtarget", con.pole_target.data, "bones", text=_("Bone"))
 
             if con.pole_target:
                 row = layout.row()
@@ -152,11 +152,11 @@ class ConstraintButtonsPanel():
             col.prop(con, "iterations")
             col.prop(con, "chain_count")
 
-            col.label(text="Weight:")
-            col.prop(con, "weight", text="Position", slider=True)
+            col.label(text=_("Weight:"))
+            col.prop(con, "weight", text=_("Position"), slider=True)
             sub = col.column()
             sub.active = con.use_rotation
-            sub.prop(con, "orient_weight", text="Rotation", slider=True)
+            sub.prop(con, "orient_weight", text=_("Rotation"), slider=True)
 
             col = split.column()
             col.prop(con, "use_tail")
@@ -170,16 +170,16 @@ class ConstraintButtonsPanel():
         self.ik_template(layout, con)
 
         row = layout.row()
-        row.label(text="Axis Ref:")
+        row.label(text=_("Axis Ref:"))
         row.prop(con, "reference_axis", expand=True)
         split = layout.split(percentage=0.33)
         split.row().prop(con, "use_location")
         row = split.row()
-        row.prop(con, "weight", text="Weight", slider=True)
+        row.prop(con, "weight", text=_("Weight"), slider=True)
         row.active = con.use_location
         split = layout.split(percentage=0.33)
         row = split.row()
-        row.label(text="Lock:")
+        row.label(text=_("Lock:"))
         row = split.row()
         row.prop(con, "lock_location_x", text="X")
         row.prop(con, "lock_location_y", text="Y")
@@ -189,11 +189,11 @@ class ConstraintButtonsPanel():
         split = layout.split(percentage=0.33)
         split.row().prop(con, "use_rotation")
         row = split.row()
-        row.prop(con, "orient_weight", text="Weight", slider=True)
+        row.prop(con, "orient_weight", text=_("Weight"), slider=True)
         row.active = con.use_rotation
         split = layout.split(percentage=0.33)
         row = split.row()
-        row.label(text="Lock:")
+        row.label(text=_("Lock:"))
         row = split.row()
         row.prop(con, "lock_rotation_x", text="X")
         row.prop(con, "lock_rotation_y", text="Y")
@@ -207,8 +207,8 @@ class ConstraintButtonsPanel():
         layout.prop(con, "limit_mode")
 
         row = layout.row()
-        row.prop(con, "weight", text="Weight", slider=True)
-        row.prop(con, "distance", text="Distance", slider=True)
+        row.prop(con, "weight", text=_("Weight"), slider=True)
+        row.prop(con, "distance", text=_("Distance"), slider=True)
 
     def FOLLOW_PATH(self, context, layout, con):
         self.target_template(layout, con)
@@ -222,16 +222,16 @@ class ConstraintButtonsPanel():
         col = split.column()
         col.prop(con, "use_fixed_location")
         if con.use_fixed_location:
-            col.prop(con, "offset_factor", text="Offset")
+            col.prop(con, "offset_factor", text=_("Offset"))
         else:
             col.prop(con, "offset")
 
         row = layout.row()
-        row.label(text="Forward:")
+        row.label(text=_("Forward:"))
         row.prop(con, "forward_axis", expand=True)
 
         row = layout.row()
-        row.prop(con, "up_axis", text="Up")
+        row.prop(con, "up_axis", text=_("Up"))
         row.label()
 
     def LIMIT_ROTATION(self, context, layout, con):
@@ -241,27 +241,27 @@ class ConstraintButtonsPanel():
         col.prop(con, "use_limit_x")
         sub = col.column()
         sub.active = con.use_limit_x
-        sub.prop(con, "min_x", text="Min")
-        sub.prop(con, "max_x", text="Max")
+        sub.prop(con, "min_x", text=_("Min"))
+        sub.prop(con, "max_x", text=_("Max"))
 
         col = split.column(align=True)
         col.prop(con, "use_limit_y")
         sub = col.column()
         sub.active = con.use_limit_y
-        sub.prop(con, "min_y", text="Min")
-        sub.prop(con, "max_y", text="Max")
+        sub.prop(con, "min_y", text=_("Min"))
+        sub.prop(con, "max_y", text=_("Max"))
 
         col = split.column(align=True)
         col.prop(con, "use_limit_z")
         sub = col.column()
         sub.active = con.use_limit_z
-        sub.prop(con, "min_z", text="Min")
-        sub.prop(con, "max_z", text="Max")
+        sub.prop(con, "min_z", text=_("Min"))
+        sub.prop(con, "max_z", text=_("Max"))
 
         layout.prop(con, "use_transform_limit")
 
         row = layout.row()
-        row.label(text="Convert:")
+        row.label(text=_("Convert:"))
         row.prop(con, "owner_space", text="")
 
     def LIMIT_LOCATION(self, context, layout, con):
@@ -302,7 +302,7 @@ class ConstraintButtonsPanel():
         row.label()
 
         row = layout.row()
-        row.label(text="Convert:")
+        row.label(text=_("Convert:"))
         row.prop(con, "owner_space", text="")
 
     def LIMIT_SCALE(self, context, layout, con):
@@ -343,7 +343,7 @@ class ConstraintButtonsPanel():
         row.label()
 
         row = layout.row()
-        row.label(text="Convert:")
+        row.label(text=_("Convert:"))
         row.prop(con, "owner_space", text="")
 
     def COPY_ROTATION(self, context, layout, con):
@@ -355,19 +355,19 @@ class ConstraintButtonsPanel():
         col.prop(con, "use_x", text="X")
         sub = col.column()
         sub.active = con.use_x
-        sub.prop(con, "invert_x", text="Invert")
+        sub.prop(con, "invert_x", text=_("Invert"))
 
         col = split.column()
         col.prop(con, "use_y", text="Y")
         sub = col.column()
         sub.active = con.use_y
-        sub.prop(con, "invert_y", text="Invert")
+        sub.prop(con, "invert_y", text=_("Invert"))
 
         col = split.column()
         col.prop(con, "use_z", text="Z")
         sub = col.column()
         sub.active = con.use_z
-        sub.prop(con, "invert_z", text="Invert")
+        sub.prop(con, "invert_z", text=_("Invert"))
 
         layout.prop(con, "use_offset")
 
@@ -382,19 +382,19 @@ class ConstraintButtonsPanel():
         col.prop(con, "use_x", text="X")
         sub = col.column()
         sub.active = con.use_x
-        sub.prop(con, "invert_x", text="Invert")
+        sub.prop(con, "invert_x", text=_("Invert"))
 
         col = split.column()
         col.prop(con, "use_y", text="Y")
         sub = col.column()
         sub.active = con.use_y
-        sub.prop(con, "invert_y", text="Invert")
+        sub.prop(con, "invert_y", text=_("Invert"))
 
         col = split.column()
         col.prop(con, "use_z", text="Z")
         sub = col.column()
         sub.active = con.use_z
-        sub.prop(con, "invert_z", text="Invert")
+        sub.prop(con, "invert_z", text=_("Invert"))
 
         layout.prop(con, "use_offset")
 
@@ -415,7 +415,7 @@ class ConstraintButtonsPanel():
     def MAINTAIN_VOLUME(self, context, layout, con):
 
         row = layout.row()
-        row.label(text="Free:")
+        row.label(text=_("Free:"))
         row.prop(con, "free_axis", expand=True)
 
         layout.prop(con, "volume")
@@ -439,28 +439,28 @@ class ConstraintButtonsPanel():
         split = layout.split()