From c71f66daa801e7990e4be6696236aef32c130b32 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Mon, 10 Apr 2023 13:47:36 -0400 Subject: [PATCH 01/47] Cleanup: Remove commented code --- source/blender/blenkernel/intern/editmesh.cc | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/source/blender/blenkernel/intern/editmesh.cc b/source/blender/blenkernel/intern/editmesh.cc index 98a4eac6698..25531786aab 100644 --- a/source/blender/blenkernel/intern/editmesh.cc +++ b/source/blender/blenkernel/intern/editmesh.cc @@ -111,17 +111,6 @@ static void editmesh_tessface_calc_intern(BMEditMesh *em, void BKE_editmesh_looptri_calc_ex(BMEditMesh *em, const BMeshCalcTessellation_Params *params) { editmesh_tessface_calc_intern(em, params); - - /* commented because editbmesh_build_data() ensures we get tessfaces */ -#if 0 - if (em->mesh_eval_final && em->mesh_eval_final == em->mesh_eval_cage) { - BKE_mesh_runtime_looptri_ensure(em->mesh_eval_final); - } - else if (em->mesh_eval_final) { - BKE_mesh_runtime_looptri_ensure(em->mesh_eval_final); - BKE_mesh_runtime_looptri_ensure(em->mesh_eval_cage); - } -#endif } void BKE_editmesh_looptri_calc(BMEditMesh *em) -- 2.30.2 From 47ab0403f080209d7a0489527fa20973bfd53f6b Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Mon, 10 Apr 2023 13:48:37 -0400 Subject: [PATCH 02/47] Cleanup: Slight improvements to Python BVH tree utility - Reduce indentation - Use Span instead of raw pointers in a few places - Decrease variables scope --- .../python/mathutils/mathutils_bvhtree.cc | 107 ++++++++---------- 1 file changed, 49 insertions(+), 58 deletions(-) diff --git a/source/blender/python/mathutils/mathutils_bvhtree.cc b/source/blender/python/mathutils/mathutils_bvhtree.cc index 06d49a9c776..7565f5a6aba 100644 --- a/source/blender/python/mathutils/mathutils_bvhtree.cc +++ b/source/blender/python/mathutils/mathutils_bvhtree.cc @@ -1110,12 +1110,6 @@ static PyObject *C_BVHTree_FromObject(PyObject * /*cls*/, PyObject *args, PyObje bool use_cage = false; bool free_mesh = false; - const MLoopTri *lt; - const int *corner_verts; - - float(*coords)[3] = nullptr; - uint(*tris)[3] = nullptr; - uint coords_len, tris_len; float epsilon = 0.0f; if (!PyArg_ParseTupleAndKeywords(args, @@ -1142,69 +1136,66 @@ static PyObject *C_BVHTree_FromObject(PyObject * /*cls*/, PyObject *args, PyObje return nullptr; } + const blender::Span corner_verts = mesh->corner_verts(); + const blender::Span looptris = mesh->looptris(); + /* Get data for tessellation */ - { - lt = BKE_mesh_runtime_looptri_ensure(mesh); - tris_len = uint(BKE_mesh_runtime_looptri_len(mesh)); - coords_len = uint(mesh->totvert); + const uint coords_len = uint(mesh->totvert); - coords = static_cast(MEM_mallocN(sizeof(*coords) * size_t(coords_len), __func__)); - tris = static_cast(MEM_mallocN(sizeof(*tris) * size_t(tris_len), __func__)); - memcpy(coords, BKE_mesh_vert_positions(mesh), sizeof(float[3]) * size_t(mesh->totvert)); + float(*coords)[3] = static_cast( + MEM_mallocN(sizeof(*coords) * size_t(coords_len), __func__)); + uint(*tris)[3] = tris = static_cast( + MEM_mallocN(sizeof(*tris) * size_t(looptris.size()), __func__)); + memcpy(coords, BKE_mesh_vert_positions(mesh), sizeof(float[3]) * size_t(mesh->totvert)); - corner_verts = BKE_mesh_corner_verts(mesh); - } + BVHTree *tree; - { - BVHTree *tree; - uint i; + int *orig_index = nullptr; + blender::float3 *orig_normal = nullptr; - int *orig_index = nullptr; - blender::float3 *orig_normal = nullptr; - - tree = BLI_bvhtree_new(int(tris_len), epsilon, PY_BVH_TREE_TYPE_DEFAULT, PY_BVH_AXIS_DEFAULT); - if (tree) { - orig_index = static_cast( - MEM_mallocN(sizeof(*orig_index) * size_t(tris_len), __func__)); - if (!BKE_mesh_poly_normals_are_dirty(mesh)) { - const blender::Span poly_normals = mesh->poly_normals(); - orig_normal = static_cast( - MEM_malloc_arrayN(size_t(mesh->totpoly), sizeof(blender::float3), __func__)); - blender::MutableSpan(orig_normal, poly_normals.size()).copy_from(poly_normals); - } - - for (i = 0; i < tris_len; i++, lt++) { - float co[3][3]; - - tris[i][0] = uint(corner_verts[lt->tri[0]]); - tris[i][1] = uint(corner_verts[lt->tri[1]]); - tris[i][2] = uint(corner_verts[lt->tri[2]]); - - copy_v3_v3(co[0], coords[tris[i][0]]); - copy_v3_v3(co[1], coords[tris[i][1]]); - copy_v3_v3(co[2], coords[tris[i][2]]); - - BLI_bvhtree_insert(tree, int(i), co[0], 3); - orig_index[i] = int(lt->poly); - } - - BLI_bvhtree_balance(tree); + tree = BLI_bvhtree_new( + int(looptris.size()), epsilon, PY_BVH_TREE_TYPE_DEFAULT, PY_BVH_AXIS_DEFAULT); + if (tree) { + orig_index = static_cast( + MEM_mallocN(sizeof(*orig_index) * size_t(looptris.size()), __func__)); + if (!BKE_mesh_poly_normals_are_dirty(mesh)) { + const blender::Span poly_normals = mesh->poly_normals(); + orig_normal = static_cast( + MEM_malloc_arrayN(size_t(mesh->totpoly), sizeof(blender::float3), __func__)); + blender::MutableSpan(orig_normal, poly_normals.size()).copy_from(poly_normals); } - if (free_mesh) { - BKE_id_free(nullptr, mesh); + for (const int64_t i : looptris.index_range()) { + float co[3][3]; + + tris[i][0] = uint(corner_verts[looptris[i].tri[0]]); + tris[i][1] = uint(corner_verts[looptris[i].tri[1]]); + tris[i][2] = uint(corner_verts[looptris[i].tri[2]]); + + copy_v3_v3(co[0], coords[tris[i][0]]); + copy_v3_v3(co[1], coords[tris[i][1]]); + copy_v3_v3(co[2], coords[tris[i][2]]); + + BLI_bvhtree_insert(tree, int(i), co[0], 3); + orig_index[i] = int(looptris[i].poly); } - return bvhtree_CreatePyObject(tree, - epsilon, - coords, - coords_len, - tris, - tris_len, - orig_index, - reinterpret_cast(orig_normal)); + BLI_bvhtree_balance(tree); } + + if (free_mesh) { + BKE_id_free(nullptr, mesh); + } + + return bvhtree_CreatePyObject(tree, + epsilon, + coords, + coords_len, + tris, + uint(looptris.size()), + orig_index, + reinterpret_cast(orig_normal)); } #endif /* MATH_STANDALONE */ -- 2.30.2 From f7029bc9606cc1cda8801eb56a7213ace013efce Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Mon, 10 Apr 2023 14:02:32 -0400 Subject: [PATCH 03/47] Cleanup: Incorrect assignment in previous cleanup commit --- source/blender/python/mathutils/mathutils_bvhtree.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/python/mathutils/mathutils_bvhtree.cc b/source/blender/python/mathutils/mathutils_bvhtree.cc index 7565f5a6aba..4caebb27cc1 100644 --- a/source/blender/python/mathutils/mathutils_bvhtree.cc +++ b/source/blender/python/mathutils/mathutils_bvhtree.cc @@ -1145,7 +1145,7 @@ static PyObject *C_BVHTree_FromObject(PyObject * /*cls*/, PyObject *args, PyObje float(*coords)[3] = static_cast( MEM_mallocN(sizeof(*coords) * size_t(coords_len), __func__)); - uint(*tris)[3] = tris = static_cast( + uint(*tris)[3] = static_cast( MEM_mallocN(sizeof(*tris) * size_t(looptris.size()), __func__)); memcpy(coords, BKE_mesh_vert_positions(mesh), sizeof(float[3]) * size_t(mesh->totvert)); -- 2.30.2 From 8dae0587686d1359ffd558fd64b1dfd783ded451 Mon Sep 17 00:00:00 2001 From: bvpav Date: Mon, 10 Apr 2023 21:12:56 +0200 Subject: [PATCH 04/47] Fix: Crash in `install_linux_packages.py` script There is a `KeyError` exception when the `install_linux_packages.py` build script is ran with `--distro-id`: ```console $ ./build_files/build_environment/install_linux_packages.py --distro-id arch INFO: Distribution identifier forced by user to arch. Traceback (most recent call last): File "file:///blender/./build_files/build_environment/install_linux_packages.py", line 1656, in main() File "file:///blender/./build_files/build_environment/install_linux_packages.py", line 1646, in main distro_package_installer = PackageInstaller(settings) if settings.show_deps else get_distro_package_installer(settings) File "file:///blender/./build_files/build_environment/install_linux_packages.py", line 1570, in get_distro_package_installer return DISTRO_IDS_INSTALLERS[get_distro(settings)](settings) KeyError: None ``` This happens because the `get_distro` function returns `None` if the distribution ID is forced with the `--distro-id` option, when it should return the provided value. Pull Request: https://projects.blender.org/blender/blender/pulls/106461 --- build_files/build_environment/install_linux_packages.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_files/build_environment/install_linux_packages.py b/build_files/build_environment/install_linux_packages.py index 825157244b6..98eb0b11d0c 100755 --- a/build_files/build_environment/install_linux_packages.py +++ b/build_files/build_environment/install_linux_packages.py @@ -1628,7 +1628,7 @@ DISTRO_IDS_INSTALLERS = { def get_distro(settings): if settings.distro_id is not ...: settings.logger.info(f"Distribution identifier forced by user to {settings.distro_id}.") - return + return settings.distro_id import platform info = platform.freedesktop_os_release() ids = [info["ID"]] -- 2.30.2 From 34f386c7308f7ec86805dec26d24f905adee5b0c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 11 Apr 2023 16:00:54 +1000 Subject: [PATCH 05/47] GHOST/Wayland: store API compatible fractional scaling values Use values compatible with Wayland's fractional-scale API. No funcitonal changes. --- intern/ghost/intern/GHOST_SystemWayland.cc | 5 +++-- intern/ghost/intern/GHOST_SystemWayland.hh | 8 +++++--- intern/ghost/intern/GHOST_WindowWayland.cc | 1 - 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/intern/ghost/intern/GHOST_SystemWayland.cc b/intern/ghost/intern/GHOST_SystemWayland.cc index 603b8802665..12583a5c960 100644 --- a/intern/ghost/intern/GHOST_SystemWayland.cc +++ b/intern/ghost/intern/GHOST_SystemWayland.cc @@ -4520,7 +4520,8 @@ static void xdg_output_handle_logical_size(void *data, * Until this is fixed, validate that _some_ kind of scaling is being * done (we can't match exactly because fractional scaling can't be * detected otherwise), then override if necessary. */ - if ((output->size_logical[0] == width) && (output->scale_fractional == wl_fixed_from_int(1))) { + if ((output->size_logical[0] == width) && + (output->scale_fractional == (1 * FRACTIONAL_DENOMINATOR))) { GHOST_PRINT("xdg_output scale did not match, overriding with wl_output scale\n"); #ifdef USE_GNOME_CONFINE_HACK @@ -4667,7 +4668,7 @@ static void output_handle_done(void *data, struct wl_output * /*wl_output*/) GHOST_ASSERT(size_native[0] && output->size_logical[0], "Screen size values were not set when they were expected to be."); - output->scale_fractional = wl_fixed_from_int(size_native[0]) / output->size_logical[0]; + output->scale_fractional = (size_native[0] * FRACTIONAL_DENOMINATOR) / output->size_logical[0]; output->has_scale_fractional = true; } } diff --git a/intern/ghost/intern/GHOST_SystemWayland.hh b/intern/ghost/intern/GHOST_SystemWayland.hh index 4b464e2d1e7..e8defb45617 100644 --- a/intern/ghost/intern/GHOST_SystemWayland.hh +++ b/intern/ghost/intern/GHOST_SystemWayland.hh @@ -31,6 +31,8 @@ # include #endif +#define FRACTIONAL_DENOMINATOR 120 + class GHOST_WindowWayland; bool ghost_wl_output_own(const struct wl_output *wl_output); @@ -100,10 +102,10 @@ struct GWL_Output { * as this is what is used for most API calls. * Only use fractional scaling to calculate the DPI. * - * \note Internally an #wl_fixed_t is used to store the scale of the display, - * so use the same value here (avoid floating point arithmetic in general). + * \note Use the same scale as #wp_fractional_scale_manager_v1 + * (avoid floating point arithmetic in general). */ - wl_fixed_t scale_fractional = wl_fixed_from_int(1); + int scale_fractional = (1 * FRACTIONAL_DENOMINATOR); bool has_scale_fractional = false; std::string make; diff --git a/intern/ghost/intern/GHOST_WindowWayland.cc b/intern/ghost/intern/GHOST_WindowWayland.cc index b51cfc68635..875ea1a7648 100644 --- a/intern/ghost/intern/GHOST_WindowWayland.cc +++ b/intern/ghost/intern/GHOST_WindowWayland.cc @@ -40,7 +40,6 @@ #include #include #include -#define FRACTIONAL_DENOMINATOR 120 #include -- 2.30.2 From f50c319a4b58c9ba4f5b3311184a135b194cc996 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 11 Apr 2023 16:00:56 +1000 Subject: [PATCH 06/47] GHOST/Wayland: refactor window scaling logic Share logic between fractional & non-fractional window scaling. This also enables fractional-scaling without scaling fixed sized buffers for compositors without support for fractional_scale_manager_v1. --- intern/ghost/intern/GHOST_SystemWayland.cc | 3 +- intern/ghost/intern/GHOST_SystemWayland.hh | 4 +- intern/ghost/intern/GHOST_WindowWayland.cc | 259 +++++++++++++++------ intern/ghost/intern/GHOST_WindowWayland.hh | 1 + 4 files changed, 188 insertions(+), 79 deletions(-) diff --git a/intern/ghost/intern/GHOST_SystemWayland.cc b/intern/ghost/intern/GHOST_SystemWayland.cc index 12583a5c960..17e35e6c2ac 100644 --- a/intern/ghost/intern/GHOST_SystemWayland.cc +++ b/intern/ghost/intern/GHOST_SystemWayland.cc @@ -7064,6 +7064,7 @@ bool GHOST_SystemWayland::output_unref(wl_output *wl_output) for (GHOST_IWindow *iwin : window_manager->getWindows()) { GHOST_WindowWayland *win = static_cast(iwin); if (win->outputs_leave(output)) { + win->outputs_changed_update_scale_tag(); changed = true; } } @@ -7088,7 +7089,7 @@ void GHOST_SystemWayland::output_scale_update(GWL_Output *output) GHOST_WindowWayland *win = static_cast(iwin); const std::vector &outputs = win->outputs(); if (!(std::find(outputs.begin(), outputs.end(), output) == outputs.cend())) { - win->outputs_changed_update_scale(); + win->outputs_changed_update_scale_tag(); } } } diff --git a/intern/ghost/intern/GHOST_SystemWayland.hh b/intern/ghost/intern/GHOST_SystemWayland.hh index e8defb45617..faaaa03f46f 100644 --- a/intern/ghost/intern/GHOST_SystemWayland.hh +++ b/intern/ghost/intern/GHOST_SystemWayland.hh @@ -31,8 +31,6 @@ # include #endif -#define FRACTIONAL_DENOMINATOR 120 - class GHOST_WindowWayland; bool ghost_wl_output_own(const struct wl_output *wl_output); @@ -69,6 +67,8 @@ wl_fixed_t gwl_window_scale_wl_fixed_from(const GWL_WindowScaleParams &scale_par int gwl_window_scale_int_to(const GWL_WindowScaleParams &scale_params, int value); int gwl_window_scale_int_from(const GWL_WindowScaleParams &scale_params, int value); +#define FRACTIONAL_DENOMINATOR 120 + #ifdef WITH_GHOST_WAYLAND_DYNLOAD /** * Return true when all required WAYLAND libraries are present, diff --git a/intern/ghost/intern/GHOST_WindowWayland.cc b/intern/ghost/intern/GHOST_WindowWayland.cc index 875ea1a7648..3ea668f8379 100644 --- a/intern/ghost/intern/GHOST_WindowWayland.cc +++ b/intern/ghost/intern/GHOST_WindowWayland.cc @@ -149,6 +149,8 @@ enum eGWL_PendingWindowActions { * this window is visible on may have changed. Recalculate the windows scale. */ PENDING_OUTPUT_SCALE_UPDATE, + + PENDING_WINDOW_SURFACE_SCALE, /** * The surface needs a commit to run. * Use this to avoid committing immediately which can cause flickering when other operations @@ -174,6 +176,11 @@ struct GWL_WindowFrame { bool is_active = false; /** Disable when the fractional scale is a whole number. */ int fractional_scale = 0; + /** + * Store the value of #wp_fractional_scale_v1_listener::preferred_scale + * before it's applied. + */ + int fractional_scale_preferred = 0; /** The scale passed to #wl_surface_set_buffer_scale. */ int buffer_scale = 0; }; @@ -416,7 +423,9 @@ static int gwl_window_fractional_from_viewport_round(const GWL_WindowFrame &fram return lroundf(double(value * FRACTIONAL_DENOMINATOR) / double(frame.fractional_scale)); } -static bool gwl_window_viewport_set(GWL_Window *win, bool *r_surface_needs_commit) +static bool gwl_window_viewport_set(GWL_Window *win, + bool *r_surface_needs_commit, + bool *r_surface_needs_buffer_scale) { if (win->viewport != nullptr) { return false; @@ -433,7 +442,14 @@ static bool gwl_window_viewport_set(GWL_Window *win, bool *r_surface_needs_commi /* Set the buffer scale to 1 since a viewport will be used. */ if (win->frame.buffer_scale != 1) { win->frame.buffer_scale = 1; - wl_surface_set_buffer_scale(win->wl_surface, win->frame.buffer_scale); + + if (r_surface_needs_buffer_scale) { + *r_surface_needs_buffer_scale = true; + } + else { + wl_surface_set_buffer_scale(win->wl_surface, win->frame.buffer_scale); + } + if (r_surface_needs_commit) { *r_surface_needs_commit = true; } @@ -445,7 +461,9 @@ static bool gwl_window_viewport_set(GWL_Window *win, bool *r_surface_needs_commi return true; } -static bool gwl_window_viewport_unset(GWL_Window *win, bool *r_surface_needs_commit) +static bool gwl_window_viewport_unset(GWL_Window *win, + bool *r_surface_needs_commit, + bool *r_surface_needs_buffer_scale) { if (win->viewport == nullptr) { return false; @@ -457,7 +475,14 @@ static bool gwl_window_viewport_unset(GWL_Window *win, bool *r_surface_needs_com GHOST_ASSERT(win->frame.buffer_scale == 1, "Unexpected scale!"); if (win->frame_pending.buffer_scale != win->frame.buffer_scale) { win->frame.buffer_scale = win->frame_pending.buffer_scale; - wl_surface_set_buffer_scale(win->wl_surface, win->frame.buffer_scale); + + if (r_surface_needs_buffer_scale) { + *r_surface_needs_buffer_scale = true; + } + else { + wl_surface_set_buffer_scale(win->wl_surface, win->frame.buffer_scale); + } + if (r_surface_needs_commit) { *r_surface_needs_commit = true; } @@ -547,7 +572,8 @@ static void gwl_window_activate(GWL_Window *win) * \{ */ static void gwl_window_frame_pending_fractional_scale_set(GWL_Window *win, - bool *r_surface_needs_commit) + bool *r_surface_needs_commit, + bool *r_surface_needs_buffer_scale) { if (win->frame_pending.fractional_scale == win->frame.fractional_scale && win->frame_pending.buffer_scale == win->frame.buffer_scale) { @@ -556,16 +582,21 @@ static void gwl_window_frame_pending_fractional_scale_set(GWL_Window *win, if (win->frame_pending.fractional_scale) { win->frame.fractional_scale = win->frame_pending.fractional_scale; - gwl_window_viewport_set(win, r_surface_needs_commit); + gwl_window_viewport_set(win, r_surface_needs_commit, r_surface_needs_buffer_scale); gwl_window_viewport_size_update(win); } else { if (win->viewport) { - gwl_window_viewport_unset(win, r_surface_needs_commit); + gwl_window_viewport_unset(win, r_surface_needs_commit, r_surface_needs_buffer_scale); } else { win->frame.buffer_scale = win->frame_pending.buffer_scale; - wl_surface_set_buffer_scale(win->wl_surface, win->frame.buffer_scale); + if (r_surface_needs_buffer_scale) { + *r_surface_needs_buffer_scale = true; + } + else { + wl_surface_set_buffer_scale(win->wl_surface, win->frame.buffer_scale); + } if (r_surface_needs_commit) { *r_surface_needs_commit = true; } @@ -576,7 +607,10 @@ static void gwl_window_frame_pending_fractional_scale_set(GWL_Window *win, } } -static void gwl_window_frame_pending_size_set(GWL_Window *win, bool *r_surface_needs_commit) +static void gwl_window_frame_pending_size_set(GWL_Window *win, + bool *r_surface_needs_commit, + bool *r_surface_needs_egl_resize, + bool *r_surface_needs_buffer_scale) { if (win->frame_pending.size[0] == 0 || win->frame_pending.size[1] == 0) { return; @@ -587,13 +621,19 @@ static void gwl_window_frame_pending_size_set(GWL_Window *win, bool *r_surface_n if (win->frame_pending.fractional_scale != win->frame.fractional_scale || win->frame_pending.buffer_scale != win->frame.buffer_scale) { - gwl_window_frame_pending_fractional_scale_set(win, r_surface_needs_commit); + gwl_window_frame_pending_fractional_scale_set( + win, r_surface_needs_commit, r_surface_needs_buffer_scale); } else { gwl_window_viewport_size_update(win); } - wl_egl_window_resize(win->egl_window, UNPACK2(win->frame.size), 0, 0); + if (r_surface_needs_egl_resize) { + *r_surface_needs_egl_resize = true; + } + else { + wl_egl_window_resize(win->egl_window, UNPACK2(win->frame.size), 0, 0); + } win->ghost_window->notify_size(); @@ -627,7 +667,6 @@ static void gwl_window_pending_actions_handle(GWL_Window *win) gwl_window_frame_update_from_pending(win); } if (actions[PENDING_EGL_WINDOW_RESIZE]) { - gwl_window_viewport_size_update(win); wl_egl_window_resize(win->egl_window, UNPACK2(win->frame.size), 0, 0); } # ifdef GHOST_OPENGL_ALPHA @@ -638,6 +677,9 @@ static void gwl_window_pending_actions_handle(GWL_Window *win) if (actions[PENDING_OUTPUT_SCALE_UPDATE]) { win->ghost_window->outputs_changed_update_scale(); } + if (actions[PENDING_WINDOW_SURFACE_SCALE]) { + wl_surface_set_buffer_scale(win->wl_surface, win->frame.buffer_scale); + } if (actions[PENDING_WINDOW_SURFACE_COMMIT]) { wl_surface_commit(win->wl_surface); } @@ -659,16 +701,42 @@ static void gwl_window_frame_update_from_pending_no_lock(GWL_Window *win) const bool dpi_changed = win->frame_pending.fractional_scale != win->frame.fractional_scale; bool surface_needs_commit = false; + bool surface_needs_egl_resize = false; + bool surface_needs_buffer_scale = false; if (win->frame_pending.size[0] != 0 && win->frame_pending.size[1] != 0) { if ((win->frame.size[0] != win->frame_pending.size[0]) || (win->frame.size[1] != win->frame_pending.size[1])) { - gwl_window_frame_pending_size_set(win, &surface_needs_commit); + gwl_window_frame_pending_size_set( + win, &surface_needs_commit, &surface_needs_egl_resize, &surface_needs_buffer_scale); } } - if (win->fractional_scale_handle) { - gwl_window_frame_pending_fractional_scale_set(win, &surface_needs_commit); + if (win->frame_pending.fractional_scale || win->frame.fractional_scale) { + gwl_window_frame_pending_fractional_scale_set( + win, &surface_needs_commit, &surface_needs_buffer_scale); + } + else { + if (win->frame_pending.buffer_scale != win->frame.buffer_scale) { + win->frame.buffer_scale = win->frame_pending.buffer_scale; + surface_needs_buffer_scale = true; + } + } + + if (surface_needs_egl_resize) { +#ifdef USE_EVENT_BACKGROUND_THREAD + gwl_window_pending_actions_tag(win, PENDING_EGL_WINDOW_RESIZE); +#else + wl_egl_window_resize(win->egl_window, UNPACK2(win->frame.size), 0, 0); +#endif + } + + if (surface_needs_buffer_scale) { +#ifdef USE_EVENT_BACKGROUND_THREAD + gwl_window_pending_actions_tag(win, PENDING_WINDOW_SURFACE_SCALE); +#else + wl_surface_set_buffer_scale(win->wl_surface, win->frame.buffer_scale); +#endif } if (surface_needs_commit) { @@ -728,11 +796,26 @@ static int output_scale_cmp(const GWL_Output *output_a, const GWL_Output *output if (output_a->scale > output_b->scale) { return 1; } + if (output_a->has_scale_fractional || output_b->has_scale_fractional) { + const int scale_fractional_a = output_a->has_scale_fractional ? + output_a->scale_fractional : + (output_a->scale * FRACTIONAL_DENOMINATOR); + const int scale_fractional_b = output_b->has_scale_fractional ? + output_b->scale_fractional : + (output_b->scale * FRACTIONAL_DENOMINATOR); + if (scale_fractional_a < scale_fractional_b) { + return -1; + } + if (scale_fractional_a > scale_fractional_b) { + return 1; + } + } return 0; } static int outputs_max_scale_or_default(const std::vector &outputs, - const int32_t scale_default) + const int32_t scale_default, + int *r_scale_fractional) { const GWL_Output *output_max = nullptr; for (const GWL_Output *reg_output : outputs) { @@ -742,9 +825,16 @@ static int outputs_max_scale_or_default(const std::vector &outputs } if (output_max) { + if (r_scale_fractional) { + *r_scale_fractional = output_max->has_scale_fractional ? + output_max->scale_fractional : + (output_max->scale * FRACTIONAL_DENOMINATOR); + } return output_max->scale; } - + if (r_scale_fractional) { + *r_scale_fractional = scale_default * FRACTIONAL_DENOMINATOR; + } return scale_default; } @@ -875,35 +965,10 @@ static void wp_fractional_scale_handle_preferred_scale( double(preferred_scale) / FRACTIONAL_DENOMINATOR); GWL_Window *win = static_cast(data); - const bool is_fractional = (preferred_scale % FRACTIONAL_DENOMINATOR) != 0; - /* When non-fractional, never use fractional scaling! */ - win->frame_pending.fractional_scale = is_fractional ? preferred_scale : 0; - win->frame_pending.buffer_scale = is_fractional ? 1 : preferred_scale / FRACTIONAL_DENOMINATOR; - - const int scale_prev = win->frame.fractional_scale ? - win->frame.fractional_scale : - win->frame.buffer_scale * FRACTIONAL_DENOMINATOR; - const int scale_next = preferred_scale; - - if (scale_prev != scale_next) { - /* Resize the window failing to do so results in severe flickering with a - * multi-monitor setup when multiple monitors have different scales. - * - * NOTE: some flickering is still possible even when resizing this - * happens when dragging the right hand side of the title-bar in KDE - * as expanding changed the size on the RHS, this may be up to the compositor to fix. */ - for (size_t i = 0; i < ARRAY_SIZE(win->frame_pending.size); i++) { - const int value = win->frame_pending.size[i] ? win->frame_pending.size[i] : - win->frame.size[i]; - win->frame_pending.size[i] = lroundf(value * (double(scale_next) / double(scale_prev))); - } - -#ifdef USE_EVENT_BACKGROUND_THREAD - gwl_window_pending_actions_tag(win, PENDING_WINDOW_FRAME_CONFIGURE); -#else - gwl_window_frame_update_from_pending(win); -#endif + if (win->frame_pending.fractional_scale_preferred != int(preferred_scale)) { + win->frame_pending.fractional_scale_preferred = preferred_scale; + win->ghost_window->outputs_changed_update_scale_tag(); } } @@ -1123,7 +1188,7 @@ static void surface_handle_enter(void *data, GWL_Output *reg_output = ghost_wl_output_user_data(wl_output); GHOST_WindowWayland *win = static_cast(data); if (win->outputs_enter(reg_output)) { - win->outputs_changed_update_scale(); + win->outputs_changed_update_scale_tag(); } } @@ -1140,7 +1205,7 @@ static void surface_handle_leave(void *data, GWL_Output *reg_output = ghost_wl_output_user_data(wl_output); GHOST_WindowWayland *win = static_cast(data); if (win->outputs_leave(reg_output)) { - win->outputs_changed_update_scale(); + win->outputs_changed_update_scale_tag(); } } @@ -1196,7 +1261,7 @@ GHOST_WindowWayland::GHOST_WindowWayland(GHOST_SystemWayland *system, * * Using the maximum scale is best as it results in the window first being smaller, * avoiding a large window flashing before it's made smaller. */ - window_->frame.buffer_scale = outputs_max_scale_or_default(system_->outputs(), 1); + window_->frame.buffer_scale = outputs_max_scale_or_default(system_->outputs(), 1, nullptr); window_->frame_pending.buffer_scale = window_->frame.buffer_scale; window_->frame.size[0] = int32_t(width); @@ -1442,7 +1507,7 @@ GHOST_TSuccess GHOST_WindowWayland::setClientSize(const uint32_t width, const ui window_->frame_pending.size[0] = width; window_->frame_pending.size[1] = height; - gwl_window_frame_pending_size_set(window_, nullptr); + gwl_window_frame_pending_size_set(window_, nullptr, nullptr, nullptr); return GHOST_kSuccess; } @@ -1829,6 +1894,15 @@ GHOST_TSuccess GHOST_WindowWayland::notify_decor_redraw() * Functionality only used for the WAYLAND implementation. * \{ */ +void GHOST_WindowWayland::outputs_changed_update_scale_tag() +{ +#ifdef USE_EVENT_BACKGROUND_THREAD + gwl_window_pending_actions_tag(window_, PENDING_OUTPUT_SCALE_UPDATE); +#else + outputs_changed_update_scale(); +#endif +} + bool GHOST_WindowWayland::outputs_changed_update_scale() { #ifdef USE_EVENT_BACKGROUND_THREAD @@ -1838,45 +1912,78 @@ bool GHOST_WindowWayland::outputs_changed_update_scale() } #endif - if (window_->fractional_scale_handle) { - /* Let the #wp_fractional_scale_v1_listener::preferred_scale callback handle - * changes to the windows scale. */ - return false; - } + int fractional_scale_next = -1; + int fractional_scale_from_output = 0; + + int scale_next = outputs_max_scale_or_default(outputs(), 0, &fractional_scale_from_output); - const int scale_next = outputs_max_scale_or_default(outputs(), 0); if (UNLIKELY(scale_next == 0)) { return false; } - const int scale_curr = window_->frame.buffer_scale; - bool changed = false; - - if (scale_next != scale_curr) { - window_->frame.buffer_scale = scale_next; - wl_surface_set_buffer_scale(window_->wl_surface, scale_next); + if (window_->fractional_scale_handle) { #ifdef USE_EVENT_BACKGROUND_THREAD std::lock_guard lock_frame_guard{window_->frame_pending_mutex}; #endif + /* Let the #wp_fractional_scale_v1_listener::preferred_scale callback handle + * changes to the windows scale. */ + if (window_->frame_pending.fractional_scale_preferred != 0) { + fractional_scale_next = window_->frame_pending.fractional_scale_preferred; + scale_next = fractional_scale_next / FRACTIONAL_DENOMINATOR; + } + } - /* It's important to resize the window immediately, to avoid the window changing size - * and flickering in a constant feedback loop (in some bases). */ + if (fractional_scale_next == -1) { + fractional_scale_next = fractional_scale_from_output; + scale_next = fractional_scale_next / FRACTIONAL_DENOMINATOR; + } - if ((window_->frame_pending.size[0] != 0) && (window_->frame_pending.size[1] != 0)) { - /* Unlikely but possible there is a pending size change is set. */ - window_->frame.size[0] = window_->frame_pending.size[0]; - window_->frame.size[1] = window_->frame_pending.size[1]; + bool changed = false; + + const bool is_fractional_prev = window_->frame.fractional_scale != 0; + const bool is_fractional_next = (fractional_scale_next % FRACTIONAL_DENOMINATOR) != 0; + +#ifdef USE_EVENT_BACKGROUND_THREAD + std::lock_guard lock_frame_guard{window_->frame_pending_mutex}; +#endif + + /* When non-fractional, never use fractional scaling! */ + window_->frame_pending.fractional_scale = is_fractional_next ? fractional_scale_next : 0; + window_->frame_pending.buffer_scale = is_fractional_next ? + 1 : + fractional_scale_next / FRACTIONAL_DENOMINATOR; + + const int fractional_scale_prev = window_->frame.fractional_scale ? + window_->frame.fractional_scale : + window_->frame.buffer_scale * FRACTIONAL_DENOMINATOR; + const int scale_prev = fractional_scale_prev / FRACTIONAL_DENOMINATOR; + + if ((fractional_scale_prev != fractional_scale_next) || + (window_->frame_pending.buffer_scale != window_->frame.buffer_scale)) { + /* Resize the window failing to do so results in severe flickering with a + * multi-monitor setup when multiple monitors have different scales. + * + * NOTE: some flickering is still possible even when resizing this + * happens when dragging the right hand side of the title-bar in KDE + * as expanding changed the size on the RHS, this may be up to the compositor to fix. */ + for (size_t i = 0; i < ARRAY_SIZE(window_->frame_pending.size); i++) { + const int value = window_->frame_pending.size[i] ? window_->frame_pending.size[i] : + window_->frame.size[i]; + if (is_fractional_prev || is_fractional_next) { + window_->frame_pending.size[i] = lroundf( + value * (double(fractional_scale_next) / double(fractional_scale_prev))); + } + else { + window_->frame_pending.size[i] = (value * scale_next) / scale_prev; + } + if (window_->frame_pending.buffer_scale > 1) { + window_->frame_pending.size[i] = (window_->frame_pending.size[i] / + window_->frame_pending.buffer_scale) * + window_->frame_pending.buffer_scale; + } } - /* Write to the pending values as these are what is applied. */ - window_->frame_pending.size[0] = (window_->frame.size[0] / scale_curr) * scale_next; - window_->frame_pending.size[1] = (window_->frame.size[1] / scale_curr) * scale_next; - - gwl_window_frame_pending_size_set(window_, nullptr); - - GHOST_SystemWayland *system = window_->ghost_system; - system->pushEvent( - new GHOST_Event(system->getMilliSeconds(), GHOST_kEventWindowDPIHintChanged, this)); + gwl_window_frame_update_from_pending_no_lock(window_); changed = true; } diff --git a/intern/ghost/intern/GHOST_WindowWayland.hh b/intern/ghost/intern/GHOST_WindowWayland.hh index 150905f4649..07b3f88cec2 100644 --- a/intern/ghost/intern/GHOST_WindowWayland.hh +++ b/intern/ghost/intern/GHOST_WindowWayland.hh @@ -165,6 +165,7 @@ class GHOST_WindowWayland : public GHOST_Window { * Return true when the windows scale or DPI changes. */ bool outputs_changed_update_scale(); + void outputs_changed_update_scale_tag(); #ifdef USE_EVENT_BACKGROUND_THREAD void pending_actions_handle(); -- 2.30.2 From 4fe26856152304350930dbeebc31521aa31f0f9f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 11 Apr 2023 16:00:59 +1000 Subject: [PATCH 07/47] GHOST/Wayland: avoid up-scaling window content When a window overlaps multiple outputs, always use the resolution on the output with the highest resolution. This means Blender never shows low resolution content up-scaled. --- intern/ghost/intern/GHOST_WindowWayland.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/intern/ghost/intern/GHOST_WindowWayland.cc b/intern/ghost/intern/GHOST_WindowWayland.cc index 3ea668f8379..9a63a9dae24 100644 --- a/intern/ghost/intern/GHOST_WindowWayland.cc +++ b/intern/ghost/intern/GHOST_WindowWayland.cc @@ -1937,6 +1937,16 @@ bool GHOST_WindowWayland::outputs_changed_update_scale() fractional_scale_next = fractional_scale_from_output; scale_next = fractional_scale_next / FRACTIONAL_DENOMINATOR; } + else { + /* NOTE(@ideasman42): This often overrides #wp_fractional_scale_v1_listener::preferred_scale + * in favor of using the greatest overlapping scale. + * This was requested by the studio to prevent a tablet's built-in display of 75% + * from causing the main-display being up-scaled (showing pixelated). */ + if (fractional_scale_next < fractional_scale_from_output) { + fractional_scale_next = fractional_scale_from_output; + scale_next = fractional_scale_next / FRACTIONAL_DENOMINATOR; + } + } bool changed = false; -- 2.30.2 From 17e28626035f494228363547eebb764c789f6e16 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 11 Apr 2023 16:01:01 +1000 Subject: [PATCH 08/47] Fix new windows on Hi-DPI monitors having incorrect size under Wayland Updating the buffer scale increased the window size based on the previous window scale. Since the previous scale (DPI) newly created windows restored from a `.blend` file isn't known, don't scale the window size when updating the window's scale for the first time. --- intern/ghost/intern/GHOST_WindowWayland.cc | 79 +++++++++++++++++++--- 1 file changed, 69 insertions(+), 10 deletions(-) diff --git a/intern/ghost/intern/GHOST_WindowWayland.cc b/intern/ghost/intern/GHOST_WindowWayland.cc index 9a63a9dae24..ab29926685a 100644 --- a/intern/ghost/intern/GHOST_WindowWayland.cc +++ b/intern/ghost/intern/GHOST_WindowWayland.cc @@ -183,6 +183,9 @@ struct GWL_WindowFrame { int fractional_scale_preferred = 0; /** The scale passed to #wl_surface_set_buffer_scale. */ int buffer_scale = 0; + + /** Scale has been set (for the first time). */ + bool is_scale_init = false; }; struct GWL_Window { @@ -838,6 +841,36 @@ static int outputs_max_scale_or_default(const std::vector &outputs return scale_default; } +static int outputs_uniform_scale_or_default(const std::vector &outputs, + const int32_t scale_default, + int *r_scale_fractional) +{ + const GWL_Output *output_uniform = nullptr; + for (const GWL_Output *reg_output : outputs) { + if (!output_uniform) { + output_uniform = reg_output; + } + else if (output_scale_cmp(output_uniform, reg_output) != 0) { + /* Non-uniform. */ + output_uniform = nullptr; + break; + } + } + + if (output_uniform) { + if (r_scale_fractional) { + *r_scale_fractional = output_uniform->has_scale_fractional ? + output_uniform->scale_fractional : + (output_uniform->scale * FRACTIONAL_DENOMINATOR); + } + return output_uniform->scale; + } + if (r_scale_fractional) { + *r_scale_fractional = scale_default * FRACTIONAL_DENOMINATOR; + } + return scale_default; +} + /** \} */ /* -------------------------------------------------------------------- */ @@ -1261,7 +1294,13 @@ GHOST_WindowWayland::GHOST_WindowWayland(GHOST_SystemWayland *system, * * Using the maximum scale is best as it results in the window first being smaller, * avoiding a large window flashing before it's made smaller. */ - window_->frame.buffer_scale = outputs_max_scale_or_default(system_->outputs(), 1, nullptr); + int fractional_scale = 0; + window_->frame.buffer_scale = outputs_uniform_scale_or_default( + system_->outputs(), 1, &fractional_scale); + + if (fractional_scale / FRACTIONAL_DENOMINATOR != window_->frame.buffer_scale) { + window_->frame.buffer_scale = 1; + } window_->frame_pending.buffer_scale = window_->frame.buffer_scale; window_->frame.size[0] = int32_t(width); @@ -1911,7 +1950,6 @@ bool GHOST_WindowWayland::outputs_changed_update_scale() return false; } #endif - int fractional_scale_next = -1; int fractional_scale_from_output = 0; @@ -1950,26 +1988,47 @@ bool GHOST_WindowWayland::outputs_changed_update_scale() bool changed = false; - const bool is_fractional_prev = window_->frame.fractional_scale != 0; - const bool is_fractional_next = (fractional_scale_next % FRACTIONAL_DENOMINATOR) != 0; - #ifdef USE_EVENT_BACKGROUND_THREAD std::lock_guard lock_frame_guard{window_->frame_pending_mutex}; #endif + bool force_frame_update = false; + + bool is_fractional_prev = window_->frame.fractional_scale != 0; + const bool is_fractional_next = (fractional_scale_next % FRACTIONAL_DENOMINATOR) != 0; + /* When non-fractional, never use fractional scaling! */ window_->frame_pending.fractional_scale = is_fractional_next ? fractional_scale_next : 0; window_->frame_pending.buffer_scale = is_fractional_next ? 1 : fractional_scale_next / FRACTIONAL_DENOMINATOR; - const int fractional_scale_prev = window_->frame.fractional_scale ? - window_->frame.fractional_scale : - window_->frame.buffer_scale * FRACTIONAL_DENOMINATOR; - const int scale_prev = fractional_scale_prev / FRACTIONAL_DENOMINATOR; + int fractional_scale_prev = window_->frame.fractional_scale ? + window_->frame.fractional_scale : + window_->frame.buffer_scale * FRACTIONAL_DENOMINATOR; + int scale_prev = fractional_scale_prev / FRACTIONAL_DENOMINATOR; + + if (window_->frame_pending.is_scale_init == false) { + window_->frame_pending.is_scale_init = true; + + /* NOTE(@ideasman42): Needed because new windows are created at their previous pixel-dimensions + * as the window doesn't save it's DPI. Restore the window size under the assumption it's + * opening on the same monitor so a window keeps it's previous size on a users system. + * + * To support anything more sophisticated, windows would need to be created with a scale + * argument (representing the scale used when the window was stored, for e.g.). */ + is_fractional_prev = is_fractional_next; + scale_prev = scale_next; + fractional_scale_prev = fractional_scale_next; + + /* Leave `window_->frame_pending` as-is, so changes are detected and updates are applied. */ + + force_frame_update = true; + } if ((fractional_scale_prev != fractional_scale_next) || - (window_->frame_pending.buffer_scale != window_->frame.buffer_scale)) { + (window_->frame_pending.buffer_scale != window_->frame.buffer_scale) || + (force_frame_update == true)) { /* Resize the window failing to do so results in severe flickering with a * multi-monitor setup when multiple monitors have different scales. * -- 2.30.2 From 43eb3fe21af3b3cd7198950b3a0c38b4fb2bda38 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Tue, 11 Apr 2023 10:27:51 +0200 Subject: [PATCH 09/47] UI: enable string properties for alt-click buttons for multiple objects This came up in #106591 which reported that changing a Light Group would not work when alt-clicking the property field (which is the usual method to edit a property for multiple objects at once). This is because string properties were not supported in `ui_selectcontext_apply` which is now done. Similar to 1318660b0449 [which added support for pointer properties]. Adding general support for string properties means this method can now be used for many more things: - changing all sorts of ID names (objects, meshes, ...) - many settings in modifiers (e.g. vertexgroups) - geometry nodes modifier properties (e.g. attribute names) - ... Fixes #106591 Pull Request: https://projects.blender.org/blender/blender/pulls/106599 --- .../blender/editors/interface/interface_handlers.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/blender/editors/interface/interface_handlers.cc b/source/blender/editors/interface/interface_handlers.cc index 63a7af1e90a..2f74e538229 100644 --- a/source/blender/editors/interface/interface_handlers.cc +++ b/source/blender/editors/interface/interface_handlers.cc @@ -1918,6 +1918,7 @@ static void ui_selectcontext_apply(bContext *C, bool b; int i; float f; + char *str; PointerRNA p; } delta, min, max; @@ -1950,6 +1951,10 @@ static void ui_selectcontext_apply(bContext *C, /* Not a delta in fact. */ delta.p = RNA_property_pointer_get(&but->rnapoin, prop); } + else if (rna_type == PROP_STRING) { + /* Not a delta in fact. */ + delta.str = RNA_property_string_get_alloc(&but->rnapoin, prop, nullptr, 0, nullptr); + } # ifdef USE_ALLSELECT_LAYER_HACK /* make up for not having 'handle_layer_buttons' */ @@ -2023,9 +2028,16 @@ static void ui_selectcontext_apply(bContext *C, const PointerRNA other_value = delta.p; RNA_property_pointer_set(&lptr, lprop, other_value, nullptr); } + else if (rna_type == PROP_STRING) { + const char *other_value = delta.str; + RNA_property_string_set(&lptr, lprop, other_value); + } RNA_property_update(C, &lptr, prop); } + if (rna_type == PROP_STRING) { + MEM_freeN(delta.str); + } } } -- 2.30.2 From 28a11c007eb9e1aba72909dfa789fc12d6e64dc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Tue, 11 Apr 2023 11:08:12 +0200 Subject: [PATCH 10/47] Fix #106440: EEVEE: World lighting does not affect volumetrics The shader was compiled without the right define, disabling the world volume lighting. This had nothing to do with the light path node as the lighting was totally disabled. Pull Request: https://projects.blender.org/blender/blender/pulls/106787 --- .../engines/eevee/shaders/infos/eevee_legacy_volume_info.hh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/blender/draw/engines/eevee/shaders/infos/eevee_legacy_volume_info.hh b/source/blender/draw/engines/eevee/shaders/infos/eevee_legacy_volume_info.hh index 411134a5184..8d4718352f0 100644 --- a/source/blender/draw/engines/eevee/shaders/infos/eevee_legacy_volume_info.hh +++ b/source/blender/draw/engines/eevee/shaders/infos/eevee_legacy_volume_info.hh @@ -102,7 +102,9 @@ GPU_SHADER_CREATE_INFO(eevee_legacy_volumes_scatter_no_geom) #endif /* EEVEE_shaders_volumes_scatter_with_lights_sh_get */ -GPU_SHADER_CREATE_INFO(eevee_legacy_volumes_scatter_with_lights_common).define("VOLUME_LIGHTING"); +GPU_SHADER_CREATE_INFO(eevee_legacy_volumes_scatter_with_lights_common) + .define("VOLUME_LIGHTING") + .define("IRRADIANCE_HL2"); GPU_SHADER_CREATE_INFO(eevee_legacy_volumes_scatter_with_lights) .additional_info("eevee_legacy_volumes_scatter_with_lights_common") -- 2.30.2 From 2884f92de160b603c11cb34a6dbc9bbab100ad28 Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Tue, 11 Apr 2023 11:24:17 +0200 Subject: [PATCH 11/47] GPU: Fix Crash Sampling in Texture Paint Mode. Added additional check if occlude pass is created. Fix: #106762 Pull Request: https://projects.blender.org/blender/blender/pulls/106791 --- source/blender/draw/engines/select/select_engine.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/blender/draw/engines/select/select_engine.c b/source/blender/draw/engines/select/select_engine.c index 6f17a619161..afe36903cfa 100644 --- a/source/blender/draw/engines/select/select_engine.c +++ b/source/blender/draw/engines/select/select_engine.c @@ -214,7 +214,9 @@ static void select_cache_populate(void *vedata, Object *ob) SELECTID_StorageList *stl = ((SELECTID_Data *)vedata)->stl; const DRWContextState *draw_ctx = DRW_context_state_get(); - if (!DRW_object_is_in_edit_mode(ob)) { + const bool retopology_occlusion = RETOPOLOGY_ENABLED(draw_ctx->v3d) && + !XRAY_ENABLED(draw_ctx->v3d); + if (retopology_occlusion && !DRW_object_is_in_edit_mode(ob)) { if (ob->dt >= OB_SOLID) { struct GPUBatch *geom_faces = DRW_mesh_batch_cache_get_surface(ob->data); DRW_shgroup_call_obmat(stl->g_data->shgrp_occlude, geom_faces, ob->object_to_world); -- 2.30.2 From bca2090724a36c46c5cd3d900f61e00034dc527b Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 11 Apr 2023 11:31:03 +0200 Subject: [PATCH 12/47] Gitea: update bug report template for security policy --- .gitea/issue_template/bug.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/issue_template/bug.yaml b/.gitea/issue_template/bug.yaml index 71cb6bebd55..e4564a1bb33 100644 --- a/.gitea/issue_template/bug.yaml +++ b/.gitea/issue_template/bug.yaml @@ -15,6 +15,7 @@ body: * Test [daily builds](https://builder.blender.org/) to verify if the issue is already fixed. * Test [previous versions](https://download.blender.org/release/) to find an older working version. * For feature requests, feedback, questions or build issues, see [communication channels](https://wiki.blender.org/wiki/Communication/Contact#User_Feedback_and_Requests). + * Security vulnerabilities should be [reported privately](https://wiki.blender.org/wiki/Process/Vulnerability_Reports). * If there are multiple bugs, make multiple bug reports. - type: textarea -- 2.30.2 From cd5ada3f7db02db9eadc471eefacdce540ec96b8 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Tue, 11 Apr 2023 12:49:36 +0200 Subject: [PATCH 13/47] I18n: Updated UI translations from SVN repo (r6454). --- locale/languages | 2 +- locale/po/ab.po | 2 +- locale/po/ar.po | 24 +- locale/po/ca.po | 31523 ++++++++++++++++++++++++++++++++++++++-- locale/po/cs.po | 28 +- locale/po/de.po | 32 +- locale/po/es.po | 1623 ++- locale/po/eu.po | 4 +- locale/po/fa.po | 4 +- locale/po/fi.po | 16 +- locale/po/fr.po | 1783 ++- locale/po/ha.po | 4 +- locale/po/he.po | 4 +- locale/po/hi.po | 4 +- locale/po/hu.po | 1460 +- locale/po/id.po | 12 +- locale/po/it.po | 36 +- locale/po/ja.po | 152 +- locale/po/ka.po | 28 +- locale/po/ko.po | 96 +- locale/po/ky.po | 4 +- locale/po/nl.po | 4 +- locale/po/pl.po | 4 +- locale/po/pt.po | 60 +- locale/po/pt_BR.po | 60 +- locale/po/ru.po | 2393 ++- locale/po/sk.po | 1525 +- locale/po/sr.po | 16 +- locale/po/sr@latin.po | 16 +- locale/po/sv.po | 8 +- locale/po/th.po | 4 +- locale/po/tr.po | 12 +- locale/po/uk.po | 98 +- locale/po/vi.po | 122 +- locale/po/zh_CN.po | 374 +- locale/po/zh_TW.po | 52 +- 36 files changed, 38070 insertions(+), 3519 deletions(-) diff --git a/locale/languages b/locale/languages index cf5753ab135..e6c5a8a30d3 100644 --- a/locale/languages +++ b/locale/languages @@ -11,6 +11,7 @@ # 0:Complete: 0:Automatic (Automatic):DEFAULT +10:Catalan (Català):ca_AD 1:English (English):en_US 9:Spanish (Español):es 8:French (Français):fr_FR @@ -19,7 +20,6 @@ 13:Simplified Chinese (简体中文):zh_CN # 0:In Progress: -10:Catalan (Català):ca_AD 11:Czech (Český):cs_CZ 5:German (Deutsch):de_DE 4:Italian (Italiano):it_IT diff --git a/locale/po/ab.po b/locale/po/ab.po index 9fd3dcf379b..00e26e0631b 100644 --- a/locale/po/ab.po +++ b/locale/po/ab.po @@ -1,7 +1,7 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" "\"POT-Creation-Date: 2019-02-25 20:41:30\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" diff --git a/locale/po/ar.po b/locale/po/ar.po index 9d783181b4a..78c1ea015b1 100644 --- a/locale/po/ar.po +++ b/locale/po/ar.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2016-04-23 22:41+0300\n" "Last-Translator: Yousef Harfoush \n" "Language-Team: Yousef Harfoush, Amine Moussaoui \n" @@ -29724,10 +29724,6 @@ msgid "Only Selected UV Map" msgstr "ﺓﺭﺎﺘﺨﻤﻟﺍ UV ـﻟﺍ ﺔﻄﻳﺮﺧ ﻂﻘﻓ" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "(ﺮﻴﻣﺪﺗ ﻥﻭﺪﺑ) ﺓﺭﺪّﺼﻤﻟﺍ ﺕﺎﻤﺴﺠﻤﻠﻟ ﺕﺍﺮﻴّﻐﻤﻟﺍ ﻖﺒﻃ" - - msgid "Only export deforming bones with armatures" msgstr "ﻞﻛﺎﻴﻬﻟﺍ ﻊﻣ ﻂﻘﻓ ﺔﻋﻮّﻄﻤﻟﺍ ﻡﺎﻈﻌﻟﺍ ﺭﺪّﺻ" @@ -32657,14 +32653,6 @@ msgid "Time to animate the view in milliseconds, zero to disable" msgstr "ﻞﻴﻄﻌﺘﻠﻟ 0 ،ﺔﻴﻧﺎﺛ ﻲﻠﻴﻤﻟﺎﺑ ﺮﻈﻨﻤﻟﺍ ﻚﻳﺮﺤﺘﻟ ﺖﻗﻮﻟﺍ" -msgid "TimeCode Style" -msgstr "ﺩﻮﻜﻟﺍ ﺖﻗﻭ ﺏﻮﻠﺳﺃ" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "ﺮﻃﻷﺍ ﺚﻴﺣ ﻦﻣ ﺖﻴﻗﻮﺘﻟﺍ ﺭﺎﻬﻇﺇ ﻡﺪﻋ ﺪﻨﻋ ﺔﺿﻭﺮﻌﻤﻟﺍ ﺖﻗﻮﻟﺍ ﺕﺍﺩﻮﻛ ﺔﺌﻴﻫ" - - msgid "Minimal Info" msgstr "ﺔﻳﻮﻴﻧﺪﻟﺍ ﺕﺎﻣﻮﻠﻌﻤﻟﺍ" @@ -33309,10 +33297,6 @@ msgid "Bias" msgstr "ﺯﺎﻴﺤﻧﻻﺍ" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "(ﺭﺪﻨﻠﺒﻟﺍ ﺕﺍﺪﺣﻮﺑ) ﻦﺋﺎﻜﻟﺍ ﻦﻣ ﺓﺪﻴﻌﺒﻟﺍ ﻩﻮﺟﻮﻟﺍ ﻰﻟﺇ ﺯﺎﻴﺤﻧﻹﺍ" - - msgid "Number of samples used for ambient occlusion baking from multires" msgstr "ﺕﻮﺼﻟﺍ ﺝﺰﻣ ﻥﺰﺨﻣ ﻑﺮﻃ ﻦﻣ ﺔﻣﺪﺨﺘﺴﻤﻟﺍ ﺕﺎﻨﻴﻌﻟﺍ ﺩﺪﻋ" @@ -34334,10 +34318,6 @@ msgid "Camera Override" msgstr "ﺍﺮﻴﻣﺎﻜﻟﺍ ﺯﻭﺎﺠﺗ" -msgid "Override the scenes active camera" -msgstr "ﺔﻟﺎﻌّﻔﻟﺍ ﺪﻬﺸﻤﻟﺍ ﺍﺮﻴﻤﻛ ﻯﺪﻌﺗ" - - msgid "Sound Sequence" msgstr "ﺕﻮﺼﻟﺍ ﻞﺴﻠﺴﺗ" diff --git a/locale/po/ca.po b/locale/po/ca.po index 06ce220456b..64b540b96ef 100644 --- a/locale/po/ca.po +++ b/locale/po/ca.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -366,6 +366,10 @@ msgid "Displays glTF UI to manage material variants" msgstr "Mostra la IU de glTF per gestionar variants de materials" +msgid "Display glTF UI to manage animations" +msgstr "Mostra la IU de glTF per gestionar animacions" + + msgid "Displays glTF Material Output node in Shader Editor (Menu Add > Output)" msgstr "Mostra el node de material glTF egressat a l'editor d'aspecte (Menú afegir > egressió)" @@ -423,7 +427,7 @@ msgstr "Avís de msgid en minúscula" msgid "Warn about messages not starting by a capitalized letter (with a few allowed exceptions!)" -msgstr "Avís de missatges que comencen amb lletra minúscula (amb algunes excepcions permeses)" +msgstr "Avís de missatges que comencen amb lletra minúscula (amb algunes sobreseïments permeses)" msgid "Persistent Data Path" @@ -635,7 +639,7 @@ msgstr "Després de l'actual" msgid "Number of frames to show after the current frame (only for 'Around Current Frame' Onion-skinning method)" -msgstr "[After Current]: Nombre de fotogrames a mostrar després del fotograma actual ( només per al mètode de pelar ceba ' entorn del fotograma ' )" +msgstr "[After Current]: Nombre de fotogrames a mostrar després del fotograma actual ( només per al mètode de pell de ceba ' entorn del fotograma ' )" msgid "Before Current" @@ -643,7 +647,7 @@ msgstr "Abans de l'actual" msgid "Number of frames to show before the current frame (only for 'Around Current Frame' Onion-skinning method)" -msgstr "[Before Current]: Nombre de fotogrames a mostrar abans del fotograma actual ( només per al mètode de pelar ceba ' entorn del fotograma ' )" +msgstr "[Before Current]: Nombre de fotogrames a mostrar abans del fotograma actual ( només per al mètode de pell de ceba ' entorn del fotograma ' )" msgid "End Frame" @@ -651,7 +655,7 @@ msgstr "Fotograma final" msgid "End frame of range of paths to display/calculate (not for 'Around Current Frame' Onion-skinning method)" -msgstr "[End Frame]: Fotograma final de l'interval de trajectes a mostrar / calcular ( no apte per al mètode de pelar ceba ' entorn del fotograma ' )" +msgstr "[End Frame]: Fotograma final de l'interval de trajectes a mostrar / calcular ( no apte per al mètode de pell de ceba ' entorn del fotograma ' )" msgid "Start Frame" @@ -659,7 +663,7 @@ msgstr "Fotograma inicial" msgid "Starting frame of range of paths to display/calculate (not for 'Around Current Frame' Onion-skinning method)" -msgstr "[Start Frame]: Fotograma inicial de l'interval de trajectes a mostrar / calcular ( no apte per al mètode de pelar ceba ' Entorn del fotograma ' )" +msgstr "[Start Frame]: Fotograma inicial de l'interval de trajectes a mostrar / calcular ( no apte per al mètode de pell de ceba ' Entorn del fotograma ' )" msgid "Frame Step" @@ -667,7 +671,7 @@ msgstr "Lapse de fotogrames" msgid "Number of frames between paths shown (not for 'On Keyframes' Onion-skinning method)" -msgstr "[Frame Step]: Nombre de fotogrames entre trajectes a visualitzar (no apte per al mètode de pelar ceba «en fotogrames» )" +msgstr "[Frame Step]: Nombre de fotogrames entre trajectes a visualitzar (no apte per al mètode de pell de ceba «en fotogrames» )" msgid "Has Motion Paths" @@ -1439,7 +1443,7 @@ msgstr "Atribut de color predeterminat" msgid "The name of the default color attribute used as a fallback for rendering" -msgstr "[Default Color Attribute]: El nom de l'atribut de color predeterminat utilitzat com a alternativa per al revelat" +msgstr "[Default Color Attribute]: El nom de l'atribut de color predeterminat utilitzat com a pla B per al revelat" msgid "Active Render Color Index" @@ -1447,7 +1451,7 @@ msgstr "Índex de color de revelat actiu" msgid "The index of the color attribute used as a fallback for rendering" -msgstr "[Active Render Color Index]: L'índex de l'atribut de color utilitzat com a segona opció per al revelat" +msgstr "[Active Render Color Index]: L'índex de l'atribut de color utilitzat com a pla B per al revelat" msgid "Bake Data" @@ -1707,7 +1711,7 @@ msgstr "Afegir contribució de llum directa" msgid "Add emission contribution" -msgstr "Afegeix contribució d'emissió" +msgstr "Afegir contribució d'emissió" msgid "Add glossy contribution" @@ -1767,11 +1771,11 @@ msgstr "Dimensió horitzontal del mapa de precuinat" msgid "Bezier Curve Point" -msgstr "Punt de corba Bézier" +msgstr "Punt de corba bezier" msgid "Bezier curve point with two handles" -msgstr "[Bezier Curve Point]: Punt de corba Bézier amb dues anses" +msgstr "[bezier Curve Point]: Punt de corba bezier amb dues anses" msgid "Control Point" @@ -1963,7 +1967,7 @@ msgstr "Llapis de greix" msgid "Grease Pencil data-blocks" -msgstr "[Grease Pencil]: Blocs de dades dels llapis de greix" +msgstr "[Grease Pencil]: Llapis de Greix - Blocs de dades" msgid "Hair Curves" @@ -2154,6 +2158,10 @@ msgid "Simulations" msgstr "Simulacions" +msgid "Simulation data-blocks" +msgstr "Blocs de dades de simulacions" + + msgid "Sounds" msgstr "Sons" @@ -2466,6 +2474,14 @@ msgid "Collection of screens" msgstr "Col·lecció de pantalles" +msgid "Main Simulations" +msgstr "Simulacions principals" + + +msgid "Collection of simulations" +msgstr "Col·lecció de simulacions" + + msgid "Main Sounds" msgstr "Sons principals" @@ -3068,7 +3084,7 @@ msgstr "Gradualitzat inicial" msgid "Length of first Bezier Handle (for B-Bones only)" -msgstr "[Ease in]: Longitud de la primera nansa de Bézier ( només per a ossos-D )" +msgstr "[Ease in]: Longitud de la primera nansa de bezier ( només per a ossos-D )" msgctxt "Armature" @@ -3077,7 +3093,7 @@ msgstr "Gradualitzat final" msgid "Length of second Bezier Handle (for B-Bones only)" -msgstr "[Ease out]: Longitud de la segona nansa de Bézier ( només per a ossos-D )" +msgstr "[Ease out]: Longitud de la segona nansa de bezier ( només per a ossos-D )" msgid "B-Bone End Handle Type" @@ -3581,7 +3597,7 @@ msgstr "Té trontoll" msgid "Has Crease/Pinch Factor" -msgstr "Té factor de retenció/pessic" +msgstr "Té factor de vinclat/pinçat" msgid "Has Persistence" @@ -3749,7 +3765,7 @@ msgstr "[Scale Uniform]: Engrandeix o encongeix corbes canviant-ne la mida unifo msgid "Grease Pencil Brush Settings" -msgstr "Configuració del pinzell de llapis de greix" +msgstr "Llapis de Greix - Configuració del pinzell" msgid "Settings for grease pencil brush" @@ -3997,7 +4013,7 @@ msgstr "Radi" msgid "Connect endpoints that are close together" -msgstr "Connectar els extrems que estan més pròxims" +msgstr "Connectar puntes finals que estan més pròximes" msgid "Precision" @@ -4077,7 +4093,7 @@ msgstr "[Threshdold]: Llindar per considerar la transparència de color per empl msgid "Grease Pencil Icon" -msgstr "Icona llapis de greix" +msgstr "Llapis de Greix - Icona" msgid "Pencil" @@ -6394,7 +6410,7 @@ msgstr "Cinemàtica inversa (CI)" msgid "Control a chain of bones by specifying the endpoint target (Bones only)" -msgstr "[Inverse Kinematics]: Controla una cadena d'ossos especificant el referent de punt final (només per a ossos)" +msgstr "[Inverse Kinematics]: Controla una cadena d'ossos especificant la punta final referent (només per a ossos)" msgid "Locked Track" @@ -6702,11 +6718,11 @@ msgstr "[Active Clip]: Usa el clip actiu definit a l'escena" msgid "Child Of Constraint" -msgstr "Fill de restricció" +msgstr "Restricció Fill-de" msgid "Create constraint-based parent-child relationship" -msgstr "[Child Of Contraint]: Crea una relació pare-fill basada en una/es restricció/ns" +msgstr "[Child Of Contraint]: Crea una relació pare-fill basada en una/es restricció/ons" msgid "Inverse Matrix" @@ -6718,7 +6734,7 @@ msgstr "[Inverse Matrix]: Matriu de transformació per aplicar prèviament" msgid "Set Inverse Pending" -msgstr "Recalcular matriu inversa" +msgstr "Establir invers pendent" msgid "Set to true to request recalculation of the inverse matrix" @@ -6922,11 +6938,11 @@ msgstr "Copia la rotació del referent" msgid "Euler Order" -msgstr "Ordre d'Euler" +msgstr "Ordre d'euler" msgid "Explicitly specify the euler rotation order" -msgstr "[Euler Order]: Especifica explícitament l'ordre de rotació d'Euler" +msgstr "[euler Order]: Especifica explícitament l'ordre de rotació d'euler" msgid "Default" @@ -6934,11 +6950,11 @@ msgstr "Per defecte" msgid "Euler using the default rotation order" -msgstr "[Default]: Euler usant l'ordre de rotació predeterminat" +msgstr "[Default]: euler usant l'ordre de rotació predeterminat" msgid "XYZ Euler" -msgstr "Euler XYZ" +msgstr "euler XYZ" msgid "Euler using the XYZ rotation order" @@ -6946,7 +6962,7 @@ msgstr "Euler amb l'ordre de rotació XYZ" msgid "XZY Euler" -msgstr "Euler XZY" +msgstr "euler XZY" msgid "Euler using the XZY rotation order" @@ -6954,7 +6970,7 @@ msgstr "Euler amb l'ordre de rotació XZY" msgid "YXZ Euler" -msgstr "Euler YXZ" +msgstr "euler YXZ" msgid "Euler using the YXZ rotation order" @@ -6962,7 +6978,7 @@ msgstr "Euler amb l'ordre de rotació YXZ" msgid "YZX Euler" -msgstr "Euler YZX" +msgstr "euler YZX" msgid "Euler using the YZX rotation order" @@ -6970,7 +6986,7 @@ msgstr "Euler amb l'ordre de rotació YZX" msgid "ZXY Euler" -msgstr "Euler ZXY" +msgstr "euler ZXY" msgid "Euler using the ZXY rotation order" @@ -6978,7 +6994,7 @@ msgstr "Euler amb l'ordre de rotació ZXY" msgid "ZYX Euler" -msgstr "Euler ZYX" +msgstr "euler ZYX" msgid "Euler using the ZYX rotation order" @@ -7006,7 +7022,7 @@ msgstr "Substituir la rotació original per la copiada" msgid "Add euler component values together" -msgstr "Suma tots els valors de component Euler" +msgstr "Suma tots els valors de component euler" msgid "Before Original" @@ -7190,7 +7206,7 @@ msgstr "[Use Rotation]: Utilitza la rotació del referent per determinar el basa msgid "Follow Path Constraint" -msgstr "Seguir restricció de trajecte" +msgstr "Restricció de Seguir trajecte" msgid "Lock motion to the target path" @@ -8054,7 +8070,7 @@ msgstr "Usar radi de corba" msgid "Average radius of the endpoints is used to tweak the X and Z Scaling of the bones, on top of XZ Scale mode" -msgstr "[Use Curve Radius]: S'utilitza el radi mitjà de les puntes per retocar els escalats X i Z dels ossos sobre el definit en el mode d'escalat XZ" +msgstr "[Use Curve Radius]: S'utilitza el radi mitjà de les puntes finals per retocar els escalats X i Z dels ossos sobre el definit en el mode d'escalat XZ" msgid "Even Divisions" @@ -8282,11 +8298,11 @@ msgstr "[From Mode]: Especifica el tipus de canals de rotació a utilitzar" msgid "Auto Euler" -msgstr "Auto Euler" +msgstr "Auto euler" msgid "Euler using the rotation order of the target" -msgstr "[Auto Euler]: Euler que usa l'ordre de rotació del referent" +msgstr "[Auto euler]: euler que usa l'ordre de rotació del referent" msgid "Quaternion" @@ -8414,7 +8430,7 @@ msgstr "Per ordre" msgid "Explicitly specify the output euler rotation order" -msgstr "[To Order]: Consigneu explícitament l'ordre de rotació Euler d'egressió" +msgstr "[To Order]: Consigneu explícitament l'ordre de rotació euler d'egressió" msgid "To Maximum X" @@ -8522,7 +8538,7 @@ msgstr "Tipus d'ansa" msgid "Curve interpolation at this point: Bezier or vector" -msgstr "[Handle Type]: Interpolació de corba en aquest punt: Bézier o vector" +msgstr "[Handle Type]: Interpolació de corba en aquest punt: bezier o vector" msgid "Auto Handle" @@ -8646,7 +8662,7 @@ msgstr "Polígon" msgid "Bezier" -msgstr "Bézier" +msgstr "Bezier" msgid "Depth" @@ -9332,7 +9348,7 @@ msgstr "[Collapse Summary]: Torna a plegar el resum quan es mostra, de manera qu msgid "Display Grease Pencil" -msgstr "Mostrar llapis de greix" +msgstr "Mostrar Llapis de Greix" msgid "Include visualization of Grease Pencil related animation data and frames" @@ -9651,10 +9667,30 @@ msgid "Name of PoseBone to use as target" msgstr "[Bone Name]: Nom de l'os de posa a usar com a referent" +msgid "Context Property" +msgstr "Propietat de context" + + +msgid "Type of a context-dependent data-block to access property from" +msgstr "Tipus de bloc de dades context-dependent des d'on s'accedeix a la propietat" + + msgid "Active Scene" msgstr "Escena activa" +msgid "Currently evaluating scene" +msgstr "Escena en avaluació" + + +msgid "Active View Layer" +msgstr "Capa de cista activa" + + +msgid "Currently evaluating view layer" +msgstr "Capa de visualització en avaluació" + + msgid "Data Path" msgstr "Camí de dades" @@ -9954,6 +9990,10 @@ msgid "Distance between two bones or objects" msgstr "Distància entre dos ossos o objectes" +msgid "Use the value from some RNA property within the current evaluation context" +msgstr "Usar el valor d'alguna propietat d'ARN dins el context d'avaluació en curs" + + msgid "Brush Settings" msgstr "Configuració de pinzell" @@ -10935,7 +10975,7 @@ msgstr "Retenir valors de les fotofites inicial i final" msgid "Use slope of curve leading in/out of endpoint keyframes" -msgstr "Usar pendent de la corba d'entrada/sortida de les fotofites" +msgstr "Usar pendent de la corba d'entrada/sortida de les fotofites d'inici i final" msgid "Group" @@ -11428,7 +11468,7 @@ msgstr "Modificador-F" msgid "Modifier for values of F-Curve" -msgstr "[F-Modifier]: Modificador per als valors de Corba-F" +msgstr "[modificador-F]: Modificador per als valors de Corba-F" msgid "F-Curve modifier will show settings in the editor" @@ -11535,7 +11575,7 @@ msgstr "Soroll" msgid "Add pseudo-random noise on top of F-Curves" -msgstr "[Noise]: Afegeix soroll pseudoaleatori a les corbes-F" +msgstr "[Noise]: Afegir soroll pseudoaleatori a les corbes-F" msgctxt "Action" @@ -11577,7 +11617,7 @@ msgstr "Modificador-F cíclic" msgid "Repeat the values of the modified F-Curve" -msgstr "[Cycles F-Modifier]: Repeteix els valors de la corba-F modificada" +msgstr "[Cycles modificador-F]: Repeteix els valors de la corba-F modificada" msgid "After Cycles" @@ -11649,7 +11689,7 @@ msgstr "Modificador-F de funda" msgid "Scale the values of the modified F-Curve" -msgstr "[Envelope F-Modifier]: Escala els valors de la corba-F modificada" +msgstr "[Envelope modificador-F]: Escala els valors de la corba-F modificada" msgid "Control Points" @@ -11689,7 +11729,7 @@ msgstr "Funció integrada de modificador-F" msgid "Generate values using a built-in function" -msgstr "[Built-In Function F-Modifier]: Genera valors usant una funció ja integrada" +msgstr "[Built-In Function modificador-F]: Genera valors usant una funció ja integrada" msgid "Amplitude" @@ -11761,7 +11801,7 @@ msgstr "Modificador-F generador" msgid "Deterministically generate values for the modified F-Curve" -msgstr "[Generator F-Modifier]: Genera valors determinísticament per a la corba-F modificada" +msgstr "[Generator modificador-F]: Genera valors determinísticament per a la corba-F modificada" msgid "Coefficients" @@ -11797,7 +11837,7 @@ msgstr "Limitar Modificador-F" msgid "Limit the time/value ranges of the modified F-Curve" -msgstr "[Limit F-Modifier]: Limita els intervals de temps/valor de la corba-F modificada" +msgstr "[Limit modificador-F]: Limita els intervals de temps/valor de la corba-F modificada" msgid "Noise F-Modifier" @@ -11805,7 +11845,7 @@ msgstr "Modificador-F de soroll" msgid "Give randomness to the modified F-Curve" -msgstr "[Noise F-Modifier]: Confereix aleatorietat a la corba-F modificada" +msgstr "[Noise modificador-F]: Confereix aleatorietat a la corba-F modificada" msgid "Method of modifying the existing F-Curve" @@ -11849,7 +11889,7 @@ msgstr "Modificador-F d'interpolació esglaonada" msgid "Hold each interpolated value from the F-Curve for several frames without changing the timing" -msgstr "[Stepped Interpolation F-Modifier]: Reté cada valor interpolat des de la corba-F durant diversos fotogrames sense canviar el temps" +msgstr "[Stepped Interpolation modificador-F]: Reté cada valor interpolat des de la corba-F durant diversos fotogrames sense canviar el temps" msgid "Frame that modifier's influence ends (if applicable)" @@ -12989,10 +13029,6 @@ msgid "Library Browser" msgstr "Navegador de biblioteques" -msgid "Whether we may browse blender files' content or not" -msgstr "Si podem navegar o no pels continguts dels documents de blender" - - msgid "Reverse Sorting" msgstr "Invertir ordre" @@ -13915,19 +13951,19 @@ msgstr "Crea un sistema de partícules que conté els tres tipus de partícules msgid "Maximum Lifetime" -msgstr "Màxima esperança de vida" +msgstr "Màxima longevitat" msgid "Highest possible particle lifetime" -msgstr "[Maximum Lifetime]: L'esperança de vida més llarga possible de les partícules" +msgstr "[Maximum Lifetime]: Màxima durada possible de la vida de les partícules" msgid "Minimum Lifetime" -msgstr "Mínima esperança de vida" +msgstr "Mínima longevitat" msgid "Lowest possible particle lifetime" -msgstr "[Minimum Lifetime]: L'esperança de vida més curta possible de les partícules" +msgstr "[Minimum Lifetime]: Mínima durada de vida possible de les partícules" msgid "Maximum Kinetic Energy Potential" @@ -14471,7 +14507,7 @@ msgstr "[Flow Behavior]: Canvia el comportament del flux dins la simulació" msgid "Add fluid to simulation" -msgstr "Afegeix un fluid a la simulació" +msgstr "Afegir un fluid a la simulació" msgid "Delete fluid from simulation" @@ -14495,7 +14531,7 @@ msgstr "[Flow Type]: Canvia el tipus de fluid a la simulació" msgid "Add smoke" -msgstr "Afegeix fum" +msgstr "Afegir fum" msgid "Fire + Smoke" @@ -14503,7 +14539,7 @@ msgstr "Foc + fum" msgid "Add fire and smoke" -msgstr "Afegeix foc i fum" +msgstr "Afegir foc i fum" msgid "Fire" @@ -14511,11 +14547,11 @@ msgstr "Foc" msgid "Add fire" -msgstr "Afegeix foc" +msgstr "Afegir foc" msgid "Add liquid" -msgstr "Afegeix líquid" +msgstr "Afegir líquid" msgid "Flame Rate" @@ -14763,7 +14799,7 @@ msgstr "Retenció" msgid "Exclude crease edges" -msgstr "[Crease]: Exclou les arestes retingudes" +msgstr "[Crease]: Exclou els doblecs d'arestes" msgid "Edge Mark" @@ -14923,11 +14959,11 @@ msgstr "[Selection by Visibility]: Selecciona els secs en base a la visibilitat msgid "Select contours (outer silhouettes of each object)" -msgstr "Seleccioneu contorns (les siluetes exteriors de cada objecte)" +msgstr "Seleccionar contorns (les siluetes exteriors de cada objecte)" msgid "Select crease edges (those between two faces making an angle smaller than the Crease Angle)" -msgstr "Selecciona arestes retingudes (les que estan entre dues dues cares que fan un angle menor que l'angle de retenció)" +msgstr "Seleccionar arestes de doblec (les que estan entre dues dues cares que fan un angle menor que l'angle de doblec)" msgid "Select edge marks (edges annotated by Freestyle edge marks)" @@ -14935,27 +14971,27 @@ msgstr "Seleccionar marques de vora (arestes anotades com a vores de traç manua msgid "Select external contours (outer silhouettes of occluding and occluded objects)" -msgstr "Selecciona contorns externs (les siluetes exteriors d'objectes que tapen o són tapats)" +msgstr "Seleccionar contorns externs (les siluetes exteriors d'objectes que tapen o són tapats)" msgid "Select edges at material boundaries" -msgstr "Selecciona vores als límits de materials" +msgstr "Seleccionar vores als límits de materials" msgid "Select ridges and valleys (boundary lines between convex and concave areas of surface)" -msgstr "Selecciona crestes i valls (línies frontereres entre àrees de superfície convexes i còncaves)" +msgstr "Seleccionar crestes i valls (línies frontereres entre àrees de superfície convexes i còncaves)" msgid "Select silhouettes (edges at the boundary of visible and hidden faces)" -msgstr "Selecciona siluetes (vores al límit de cares visibles i ocultes)" +msgstr "Seleccionar siluetes (vores al límit de cares visibles i ocultes)" msgid "Select suggestive contours (almost silhouette/contour edges)" -msgstr "Seleccioneu els contorns suggestius (aproximacions de vores de siluetes/contorn)" +msgstr "Seleccionar els contorns suggestius (aproximacions de vores de siluetes/contorn)" msgid "Enable or disable this line set during stroke rendering" -msgstr "Activa o desactiva aquest conjunt de línies durant el revelat del traç" +msgstr "Activar o desactivar aquest conjunt de línies durant el revelat del traç" msgid "Visibility" @@ -15035,11 +15071,11 @@ msgstr "[As Render Pass]: Revela l'egressió de traç manual en una passada per msgid "Crease Angle" -msgstr "Angle de retenció" +msgstr "Angle de caire" msgid "Angular threshold for detecting crease edges" -msgstr "[Crease Angle]: Llindar angular per a la detecció d'arestes de retenció" +msgstr "[Crease Angle]: Llindar angular per a la detecció de caires d'arestes" msgid "Kr Derivative Epsilon" @@ -15191,7 +15227,7 @@ msgstr "Color del vèrtex del punt de traç del llapis de greix" msgid "Grease Pencil Frame" -msgstr "Fotograma de llapis de greix" +msgstr "Llapis de Greix - Fotograma" msgid "Collection of related sketches on a particular frame" @@ -15271,7 +15307,7 @@ msgstr "Corbes a mà alçada que defineixen l'esbós en aquest fotograma" msgid "Grease Pencil Frames" -msgstr "Fotogrames de llapis de greix" +msgstr "Llapis de Greix - Fotogrames" msgid "Collection of grease pencil frames" @@ -15279,7 +15315,7 @@ msgstr "Col·lecció de fotogrames de llapis de greix" msgid "Grease Pencil Interpolate Settings" -msgstr "Paràmetres d'interpolació del llapis de greix" +msgstr "Llapis de Greix - Paràmetres d'interpolació" msgid "Settings for Grease Pencil interpolation tools" @@ -15295,7 +15331,7 @@ msgstr "[Interpolation Curve]: Corba maniobrera per controlar la «seqüència» msgid "Grease Pencil Layer" -msgstr "Capa de llapis de greix" +msgstr "Llapis de Greix - Capa" msgid "Collection of related sketches" @@ -15347,7 +15383,7 @@ msgstr "[Frames Before]: Nombre màxim de fotogrames a mostrar abans del fotogra msgid "Annotation Layer Opacity" -msgstr "Opacitat de capa d'anotació" +msgstr "Anotació - Opacitat de capa" msgid "Blend Mode" @@ -15451,7 +15487,7 @@ msgstr "Llista de capes màscara" msgid "Parent inverse transformation matrix" -msgstr "Matriu de transformació d'invers parentiu" +msgstr "Matriu de transformació de paternitat inversa" msgid "Matrix Layer Inverse" @@ -15483,7 +15519,7 @@ msgstr "Os pare" msgid "Name of parent bone in case of a bone parenting relation" -msgstr "[Parent Bone]: Nom de l'os pare en cas que hi hagi una relació de parentiu òssia" +msgstr "[Parent Bone]: Nom de l'os pare en cas que hi hagi una relació de paternitat òssia" msgid "Parent Type" @@ -15559,11 +15595,11 @@ msgstr "Factor del color de tint" msgid "Onion Skinning" -msgstr "Capes de ceba" +msgstr "Pells de ceba" msgid "Display annotation onion skins before and after the current frame" -msgstr "[Onion Skinning]: Mostra les capes de ceba d'anotacions abans i després del fotograma actual" +msgstr "[Onion Skinning]: Mostra les pells de ceba d'anotacions abans i després del fotograma actual" msgid "Use Lights" @@ -15583,7 +15619,7 @@ msgstr "[Use Mask]: La visibilitat dels dibuixos d'aquesta capa es veu afectada msgid "Display onion skins before and after the current frame" -msgstr "Mostra les capes de ceba abans i després del fotograma actual" +msgstr "Mostra en pells de ceba l'abans i després del fotograma actual" msgid "Solo Mode" @@ -15619,7 +15655,7 @@ msgstr "[ViewLayer]: Inclou només la capa dins d'aquesta capa de visualització msgid "Grease Pencil Masking Layers" -msgstr "Capes màscara de llapis de greix" +msgstr "Llapis de Greix - Capes màscara" msgid "List of Mask Layers" @@ -15851,7 +15887,7 @@ msgstr "[Use Curve]: Utilitza la corba per definir el gruix originari del traç" msgid "Grease Pencil Stroke" -msgstr "Traç de llapis de greix" +msgstr "Llapis de Greix - Traç" msgid "Freehand curve defining part of a sketch" @@ -16019,7 +16055,7 @@ msgstr "[Vertex Fill Color]: Color que s'usa per barrejar-lo amb el color d'empl msgid "Grease Pencil Stroke Point" -msgstr "Punt de traç del llapis de greix" +msgstr "Llapis de Greix - Punt de traç" msgid "Data point for freehand stroke curve" @@ -16059,7 +16095,7 @@ msgstr "Color utilitzat per a barrejar-lo amb el color del punt per a obtenir el msgid "Grease Pencil Stroke Points" -msgstr "Punts de traç del llapis de greix" +msgstr "Llapis de Greix - Punts de traç" msgid "Collection of grease pencil stroke points" @@ -16289,7 +16325,7 @@ msgstr "Usar teclari d'eines de reserva" msgid "Add fallback tools keymap to this gizmo type" -msgstr "[Use fallback tools keymap]: Afegeix teclaris de reserva a aquesta mena de flòstic" +msgstr "[Use fallback tools keymap]: Afegir teclaris de reserva a aquesta mena de flòstic" msgid "VR Redraws" @@ -16385,11 +16421,11 @@ msgstr "Indicador de poses control de RV" msgid "VR Landmark Indicators" -msgstr "Indicadors de punts de referència de RV" +msgstr "Indicadors de terme de RV" msgid "VR Viewer Pose Indicator" -msgstr "Indicador del visor de posa de VR" +msgstr "Indicador del visor de posa d'RV" msgid "Gizmo Group Properties" @@ -16404,10 +16440,6 @@ msgid "Gizmo Properties" msgstr "Propietats del flòstic" -msgid "Input properties of an Gizmo" -msgstr "[Gizmo Properties]: Ingressar les propietats d'un flòstic" - - msgid "Modifier affecting the Grease Pencil object" msgstr "Modificador que afecta l'objecte llapis de greix" @@ -16569,7 +16601,7 @@ msgstr "[Lattice]: Definició de traços a partir d'una retícula" msgid "Add noise to strokes" -msgstr "Afegeix soroll als traços" +msgstr "Afegir soroll als traços" msgid "Change stroke location, rotation or scale" @@ -16833,7 +16865,7 @@ msgstr "Fotograma inicial (quan està habilitat l'interval de restricció de fot msgid "Maximum number of frames that the build effect can run for (unless another GP keyframe occurs before this time has elapsed)" -msgstr "Nombre màxim de fotogrames durant els quals pot executar-se l'efecte compositar (a menys que es produeixi una altra fotofita de L-dG abans no hagi transcorregut aquest temps)" +msgstr "Nombre màxim de fotogrames durant els quals pot executar-se l'efecte compositar (a menys que es produeixi una altra fotofita de LdG abans no hagi transcorregut aquest temps)" msgid "How strokes are being built" @@ -16889,7 +16921,7 @@ msgstr "Retard" msgid "Number of frames after each GP keyframe before the modifier has any effect" -msgstr "[Delay]: Nombre de fotogrames després de cada fotofita de L-dG abans que el modificador no tingui cap efecte" +msgstr "[Delay]: Nombre de fotogrames després de cada fotofita de LdG abans que el modificador no tingui cap efecte" msgid "Output Vertex group" @@ -17371,11 +17403,11 @@ msgstr "[Image Threshold]: Encadena junts els segments amb una distància d'imat msgid "Crease Threshold" -msgstr "Llindar de retenció" +msgstr "Llindar del caire" msgid "Angles smaller than this will be treated as creases. Crease angle priority: object line art crease override > mesh auto smooth angle > line art default crease" -msgstr "[Crease Threshold]: Els angles més reduïts que el consignat es tractaran com a plecs retinguts. Prioritat de l'angle de retenció: sobreseïment de retenció d'objecte dibuixat amb línia > angle auto suavitzat de malla > retenció per defecte de dibuix lineal" +msgstr "[Crease Threshold]: Els angles més reduïts que el consignat es tractaran com a caires. Prioritat de l'angle de caire: sobreseïment de caire d'objecte dibuixat amb línia > angle d'autosuavitzat de malla > caire per defecte de dibuix lineal" msgid "Invert Vertex Group" @@ -17559,11 +17591,11 @@ msgstr "[Stroke Depth Offset]: Mou els traços lleugerament envers la càmera pe msgid "Grease Pencil layer assigned to the generated strokes" -msgstr "Capa del llapis de greix assignada als traços generats" +msgstr "Llapis de Greix - Capa assignada als traços generats" msgid "Grease Pencil material assigned to the generated strokes" -msgstr "Material de llapis de greix assignat als traços generats" +msgstr "Llapis de Greix - Material assignat als traços generats" msgid "The thickness for the generated strokes" @@ -17599,27 +17631,27 @@ msgstr "[Use Contour]: Genera traços a partir de línies dels contorns" msgid "Use Crease" -msgstr "Usar retenció" +msgstr "Usar caires" msgid "Generate strokes from creased edges" -msgstr "[Use Crease]: Genera traços a partir de vores retingudes" +msgstr "[Use Crease]: Genera traços a partir de vores cairades" msgid "Crease On Sharp Edges" -msgstr "Retenció de cantells aguts" +msgstr "Caires en cantells aguts" msgid "Allow crease to show on sharp edges" -msgstr "[Crease On Sharp Edges]: Permet que la retenció es mostri en els cantells aguts" +msgstr "[Crease On Sharp Edges]: Permet que es vegin caires en els cantells aguts" msgid "Crease On Smooth Surfaces" -msgstr "Retenció en superfícies suaus" +msgstr "Caires en superfícies suaus" msgid "Allow crease edges to show inside smooth surfaces" -msgstr "[Crease On Smooth Surfaces]: Permet que es mostrin vores en superfícies suaus" +msgstr "[Crease On Smooth Surfaces]: Permet que es vegin arestes cairades en superfícies suaus" msgid "Use Custom Camera" @@ -18087,11 +18119,11 @@ msgstr "[Weighted]: Utilitza pesos per modular l'efecte" msgid "Outline Modifier" -msgstr "Modificador perímetre" +msgstr "Modificador contorn" msgid "Outline of Strokes modifier from camera view" -msgstr "[Outline Modifier]: Modificador del perímetre dels traços des de la vista de la càmera" +msgstr "[Outline Modifier]: Modificador del contorn dels traços des de la vista de càmera" msgid "Target Object" @@ -18103,11 +18135,11 @@ msgstr "[Target Object]: Objecte referent per a definir l'inici del traç" msgid "Outline Material" -msgstr "Material de perímetre" +msgstr "Material de contorn" msgid "Material used for outline strokes" -msgstr "[Outline Material]: Material utilitzat per traços perimetrals" +msgstr "[Outline Material]: Material utilitzat per traços de contorn" msgid "Sample Length" @@ -18699,7 +18731,7 @@ msgstr "Escala de la graella" msgid "Grease Pencil Layers" -msgstr "Capes de llapis de greix" +msgstr "Llapis de Greix - Capes" msgid "Collection of grease pencil layers" @@ -18727,7 +18759,7 @@ msgstr "[Active Note]: Nota/Capa a la qual afegir traços d'anotació" msgid "Grease Pencil Mask Layers" -msgstr "Capes màscara de llapis de greix" +msgstr "Llapis de Greix - Capes màscara" msgid "Collection of grease pencil masking layers" @@ -18964,7 +18996,7 @@ msgstr "Agrupaments pràcitcs de les corbes-F" msgctxt "ID" msgid "ID Root Type" -msgstr "Tipus d'arrel ID" +msgstr "Tipus d'ID arrel" msgid "Type of ID block that action can be used on - DO NOT CHANGE UNLESS YOU KNOW WHAT YOU ARE DOING" @@ -19099,8 +19131,24 @@ msgid "Show Armature in binding pose state (no posing possible)" msgstr "[Posició neutra]: Mostra l'esquelet en estat de posa travada (no es pot crear cap posa)" +msgid "Relation Line Position" +msgstr "Posició de línia relacional" + + +msgid "The start position of the relation lines from parent to child bones" +msgstr "Posició inicial de les línies de relació des d'ossos pare a fill" + + +msgid "Draw the relationship line from the parent tail to the child head" +msgstr "Traçar la línia relacional des de la cua del pare al cap del fill" + + +msgid "Draw the relationship line from the parent head to the child head" +msgstr "Traçar la línia relacional des del cap el para al cap del fill" + + msgid "Display Axes" -msgstr "Mostra eixos" +msgstr "Mostrar eixos" msgid "Display bone axes" @@ -19316,11 +19364,11 @@ msgstr "[Erase Alpha]: Elimina l'alfa mentre es pinta" msgid "Add Alpha" -msgstr "Afegeix alfa" +msgstr "Afegir alfa" msgid "Add alpha while painting" -msgstr "[Add Alpha]: Afegeix l'alfa mentre es pinta" +msgstr "[Add Alpha]: Afegir l'alfa mentre es pinta" msgid "Kernel Radius" @@ -19412,23 +19460,23 @@ msgstr "Capacitats del pinzell" msgid "Clone Alpha" -msgstr "Clona alfa" +msgstr "Clonar - Alfa" msgid "Opacity of clone image display" -msgstr "[Clone Alpha]: Opacitat en la visualització de la imatge clonada" +msgstr "[Clone Alpha]: Opacitat de la imatge clonada" msgid "Clone Image" -msgstr "Clona imatge" +msgstr "Clonar - imatge" msgid "Image for clone tool" -msgstr "Imatge per al clonador" +msgstr "Imatge per a l'eina de clonació" msgid "Clone Offset" -msgstr "Separació de clonació" +msgstr "Clonar - Desplaçament" msgid "Soft Body Plasticity" @@ -19540,11 +19588,11 @@ msgstr "Pinta amb un degradat" msgid "Crease Brush Pinch Factor" -msgstr "Factor pinça de pinzell amb retenció" +msgstr "Factor de pinçament del pinzell vinclador" msgid "How much the crease brush pinches" -msgstr "[Crease Brush Pinch Factor]: Fins a quin punt fa pinça el pinzell amb retenció" +msgstr "[Crease Brush Pinch Factor]: Fins a quin punt fa pinça el pinzell vinclador" msgid "Add Color" @@ -19779,7 +19827,7 @@ msgstr "Quantitat de pintura que s'aplica per mostra de traç" msgid "Grease Pencil Sculpt Paint Tool" -msgstr "Eina llapis de greix per esculpir" +msgstr "Llapis de Greix - Eina d'esculpir pintant" msgid "Smooth stroke points" @@ -19823,7 +19871,7 @@ msgstr "Configuració del llapis-dG" msgid "Grease Pencil Draw Tool" -msgstr "Eina llapis de greix per a dibuixar" +msgstr "Llapis de Greix - Eina de dibuix" msgid "The brush is of type used for drawing strokes" @@ -19847,11 +19895,11 @@ msgstr "El pinzell és del tipus utilitzat per a fer traços de tint" msgid "Grease Pencil Vertex Paint Tool" -msgstr "Eina llapis de greix per pintar vèrtexs" +msgstr "Llapis de Greix - Eina de pintar vèrtexs" msgid "Grease Pencil Weight Paint Tool" -msgstr "Eina pintat de pesos amb llapis de greix" +msgstr "Llapis de Greix - Eina de pintar pesos" msgid "Weight Paint for Vertex Groups" @@ -20023,7 +20071,7 @@ msgstr "Angle del pla" msgid "Angle between the planes of the crease" -msgstr "[Plane Angle]: Angle entre els plans on hi ha la retenció" +msgstr "[Plane Angle]: Angle entre els plans del cantell" msgid "Normal Radius" @@ -20383,7 +20431,7 @@ msgstr "Dibuixa una línia amb pinzellades que se separen segons l'espaiat" msgid "Define the stroke curve with a bezier curve (dabs are separated according to spacing)" -msgstr "Defineix la corba del traç mitjançant una corba de Bézier (les pinzellades queden separades segons l'espaiat)" +msgstr "Defineix la corba del traç mitjançant una corba de bezier (les pinzellades queden separades segons l'espaiat)" msgid "Per Vertex Displacement" @@ -20603,7 +20651,7 @@ msgstr "[Override Overlay]: No mostra la bambolina durant un traç" msgid "Define the stroke curve with a bezier curve. Dabs are separated according to spacing" -msgstr "Defineix la corba del traç amb una corba de Bézier. Les pinzellades se separen segons l'espaiat" +msgstr "Defineix la corba del traç amb una corba de bezier. Les pinzellades se separen segons l'espaiat" msgid "Custom Icon" @@ -21035,7 +21083,7 @@ msgstr "Precapturar mida de cau" msgid "Memory usage limit in megabytes for the Cycles Procedural cache, if the data does not fit within the limit, rendering is aborted" -msgstr "[Prefetch Cache Size]: Límit d'ús de memòria en megabytes per a la memòria cau procedimental de Cycles; si les dades no s'ajusten al límit, el revelat s'interromp" +msgstr "[Prefetch Cache Size]: Límit d'ús de memòria en megabytes per a la memòria cau procedimental de Cycles; si les dades no s'ajusten al límit, el revelat avortant" msgid "Value by which to enlarge or shrink the object with respect to the world's origin (only applicable through a Transform Cache constraint)" @@ -22914,7 +22962,7 @@ msgstr "[Stroke Vertex Paint Mode]: Mode pintat de vèrtexs amb traç" msgid "Grease Pencil vertex paint" -msgstr "Pintura de vèrtex amb del llapis de greix" +msgstr "Llapis de Greix - Pintura de vèrtexs" msgid "Stroke Weight Paint Mode" @@ -24120,26 +24168,14 @@ msgid "Resolution X" msgstr "Resolució X" -msgid "Number of sample along the x axis of the volume" -msgstr "Nombre de mostres al llarg de l'eix x del volum" - - msgid "Resolution Y" msgstr "Resolució Y" -msgid "Number of sample along the y axis of the volume" -msgstr "Nombre de mostres al llarg de l'eix Y del volum" - - msgid "Resolution Z" msgstr "Resolució Z" -msgid "Number of sample along the z axis of the volume" -msgstr "Nombre de mostres al llarg de l'eix z del volum" - - msgid "Influence Distance" msgstr "Distància d'influència" @@ -24237,11 +24273,11 @@ msgstr "[Use Custom Parallax]: Activa la configuració personalitzada per al vol msgid "Visibility Bleed Bias" -msgstr "Biaix d'escatimar visibilitat" +msgstr "Visibilitat: Biaix de sobreeixit" msgid "Bias for reducing light-bleed on variance shadow maps" -msgstr "[Visibility Bleed Bias]: Biaix per a reduir l'escatimat de llum en els mapes d'ombres de variància" +msgstr "[Visibility Bleed Bias]: Biaix per a reduir el sobreiximent de llum en els mapes d'ombres de variància" msgid "Visibility Blur" @@ -24353,7 +24389,7 @@ msgstr "Color de difusió del material" msgid "Grease Pencil Settings" -msgstr "Configuració del llapis de greix" +msgstr "Llapis de Greix - Configuració" msgid "Grease pencil color settings for material" @@ -24413,11 +24449,11 @@ msgstr "[Active Paint Texture Index]: Epígraf de l'índex del pintat de textura msgid "Clone Paint Texture Index" -msgstr "Índex de pintat de textura clonada" +msgstr "Clonar - Índex de pintat de textura" msgid "Index of clone texture paint slot" -msgstr "[Clone Texture Paint Index]: Epígraf de l'índex del pintat de textura clonada" +msgstr "[Clone Texture Paint Index]: Epígraf d'índex del pintat amb textura per clonar" msgid "Index number for the \"Material Index\" render pass" @@ -24561,7 +24597,7 @@ msgstr "Translucidesa de sotssuperfície" msgid "Add translucency effect to subsurface" -msgstr "[Subsurface Translucency]: Afegeix un efecte de translucidesa a la sotssuperfície" +msgstr "[Subsurface Translucency]: Afegir un efecte de translucidesa a la sotssuperfície" msgid "Mesh data-block defining geometric surfaces" @@ -24577,11 +24613,11 @@ msgstr "[Auto Smooth Angle]: Angle màxim entre les normals de les cares que es msgid "Edge Creases" -msgstr "Arestes retingudes" +msgstr "Cantells d'aresta" msgid "Sharpness of the edges for subdivision" -msgstr "[Edge Creases]: Agudesa de les vores per a la subdivisió" +msgstr "[Edge Creases]: Agudesa de les arestes a subdividir" msgid "Edges" @@ -24609,19 +24645,19 @@ msgstr "Ver si la malla té una capa de pesos de xamfrans d'aresta" msgid "Has Edge Crease" -msgstr "Té aresta retinguda" +msgstr "Té arestes de doblec" msgid "True if the mesh has an edge crease layer" -msgstr "[Has Edge Crease]: Ver si la malla té una capa d'aresta retinguda" +msgstr "[Has Edge Crease]: Ver si la malla té una capa d'arestes de doblec" msgid "Has Vertex Crease" -msgstr "Té aresta marcada" +msgstr "Té vèrtexs de doblec" msgid "True if the mesh has an vertex crease layer" -msgstr "Ver si la malla té una capa d'aresta retinguda" +msgstr "[Has Vertex Crease]: Ver si la malla té una capa de vèrtexs de doblec" msgid "Has Custom Normals" @@ -24853,7 +24889,7 @@ msgstr "Projecta la malla per a preservar el volum i els detalls de la malla ori msgid "Clone UV Loop Layer" -msgstr "Capa cíclica UV a clonar" +msgstr "Clonar - Capa cíclica UV" msgid "UV loop layer to be used as cloning source" @@ -24861,11 +24897,11 @@ msgstr "[Clone UV Loop Layer]: Capa cíclica UV que s'utilitzarà com a font de msgid "Clone UV Loop Layer Index" -msgstr "Índex de capa UV cíclica a clonar" +msgstr "Clonar - Índex de capa UV cíclica" msgid "Clone UV loop layer index" -msgstr "L'índex de la capa cíclica UV que es vol clonar" +msgstr "L'índex de la capa cíclica UV on es vol clonar" msgid "Mask UV Loop Layer" @@ -24901,7 +24937,7 @@ msgstr "[Vertex Colors]: Capes antigues de colors de vèrtexs. Obsolet, utilitze msgid "Vertex Creases" -msgstr "Retenció de vèrtexs" +msgstr "Doblecs de vèrtexs" msgid "Sharpness of the vertices" @@ -25025,7 +25061,7 @@ msgstr "Número de fotograma d'escena global en què aquest vídeo comença a re msgid "Grease pencil data for this movie clip" -msgstr "Dades del llapis de greix per a aquest clip de vídeo" +msgstr "Llapis de Greix - Dades del clip de vídeo" msgid "Width and height in pixels, zero when image data can't be loaded" @@ -25089,7 +25125,7 @@ msgstr "[Label]: Etiqueta d'arbre de nodes" msgid "Grease Pencil Data" -msgstr "Dades de llapis de greix" +msgstr "Llapis de Greix - Dades" msgid "Grease Pencil data-block" @@ -25157,7 +25193,7 @@ msgstr "La ubicació actual (desplaçada) de la visualització per a aquest arbr msgid "Compositor Node Tree" -msgstr "Arbre de nodes del compositar" +msgstr "Arbre de nodes del compositador" msgid "Node tree consisting of linked nodes used for compositing" @@ -25305,11 +25341,11 @@ msgstr "[Execution Mode]: Utilitza l'execució en dues passades durant l'edició msgid "Viewer Region" -msgstr "Regió del visor" +msgstr "Regió visor" msgid "Use boundaries for viewer nodes and composite backdrop" -msgstr "[Viewer Region]: Usa delimitacions per als nodes del visor i per al compòsit de fons" +msgstr "[Viewer Region]: Usa delimitacions per als nodes de visor i per al compòsit de rerefons" msgid "Geometry Node Tree" @@ -25373,11 +25409,11 @@ msgstr "L'Índex de la fita mòrfica actual" msgid "Add Rest Position" -msgstr "Afegeix ubicació de repòs" +msgstr "Afegir ubicació de repòs" msgid "Add a \"rest_position\" attribute that is a copy of the position attribute before shape keys and modifiers are evaluated" -msgstr "Afegeix un atribut «rest_position» que és una còpia de l'atribut d'ubicació abans que s'avaluïn les morfofites i els modificadors" +msgstr "Afegir un atribut «rest_position» que és una còpia de l'atribut d'ubicació abans que s'avaluïn les morfofites i els modificadors" msgid "Bounding Box" @@ -25429,11 +25465,11 @@ msgstr "[Delta Location]: Transposició extra afegida a la ubicació de l'object msgid "Delta Rotation (Euler)" -msgstr "Rotació delta (Euler)" +msgstr "Rotació delta (euler)" msgid "Extra rotation added to the rotation of the object (when using Euler rotations)" -msgstr "[Delta Rotation]: Rotació extra afegida a la rotació de l'objecte (quan s'utilitzen rotacions d'Euler)" +msgstr "[Delta Rotation]: Rotació extra afegida a la rotació de l'objecte (quan s'utilitzen rotacions d'euler)" msgid "Delta Rotation (Quaternion)" @@ -25609,7 +25645,7 @@ msgstr "Paràmetres per a usar l'objecte com a camp en la simulació física" msgid "Grease Pencil Modifiers" -msgstr "Modificadors del llapis de greix" +msgstr "Llapis de Greix - Modificadors" msgid "Modifiers affecting the data of the grease pencil object" @@ -25837,11 +25873,11 @@ msgstr "Pinta traços de llapis de greix" msgid "Grease Pencil Weight Paint Strokes" -msgstr "Traços de pintura de pesos amb llapis de greix" +msgstr "Llapis de Greix - Traços de pintura de pesos" msgid "Grease Pencil Vertex Paint Strokes" -msgstr "Traços de pintura de vèrtexs amb llapis de greix" +msgstr "Llapis de Greix - Traços de pintura de vèrtexs" msgid "Modifiers affecting the geometric data of the object" @@ -25881,7 +25917,7 @@ msgstr "Vèrtexs pare" msgid "Indices of vertices in case of a vertex parenting relation" -msgstr "[Parent Vertices]: Índexs dels vèrtexs en cas que hi hagi una relació de parentiu de vèrtex" +msgstr "[Parent Vertices]: Índexs dels vèrtexs en cas que hi hagi una relació de paternitat de vèrtexs" msgid "Index number for the \"Object Index\" render pass" @@ -25917,7 +25953,7 @@ msgstr "[Axis-Angle Rotation]: Angle de rotació per a una representació de rot msgid "Euler Rotation" -msgstr "Rotació d'Euler" +msgstr "Rotació d'euler" msgid "Rotation in Eulers" @@ -26581,7 +26617,7 @@ msgstr "Aleatorietat de la graella" msgid "Add random offset to the grid locations" -msgstr "[Grid Randomness]: Afegeix un desplaçament aleatori a les ubicacions de la graella" +msgstr "[Grid Randomness]: Afegir un desplaçament aleatori a les ubicacions de la graella" msgid "The resolution of the particle grid" @@ -26629,7 +26665,7 @@ msgstr "Integració" msgid "Algorithm used to calculate physics, from the fastest to the most stable and accurate: Midpoint, Euler, Verlet, RK4" -msgstr "Algorisme utilitzat per calcular els comportaments físics, des del més ràpid fins al més estable i precís: Punt mig, Euler, Verlet, RK4" +msgstr "Algorisme utilitzat per calcular els comportaments físics, des del més ràpid fins al més estable i precís: Punt mig, euler, Verlet, RK4" msgid "Euler" @@ -26733,7 +26769,7 @@ msgstr "[Random Length]: Dona una variació aleatòria a la llargada del traject msgid "Lifetime" -msgstr "Temps vital" +msgstr "Longevitat" msgid "Life span of the particles" @@ -26741,7 +26777,7 @@ msgstr "[Lifetime]: Temps de vida de les partícules" msgid "Give the particle life a random variation" -msgstr "Dona a la vida de les partícules una variació aleatòria" +msgstr "Dona a la longevitat de les partícules una variació aleatòria" msgid "Length of the line's head" @@ -27005,7 +27041,7 @@ msgstr "Forma de la rugositat de punta final" msgid "Roughness Endpoint" -msgstr "Punta final de la rugositat" +msgstr "Rugositat de punta final" msgid "Amount of endpoint roughness" @@ -27389,8 +27425,20 @@ msgid "Active Movie Clip that can be used by motion tracking constraints or as a msgstr "[Active Movie Clip]: Clip de vídeo actiu que es pot usar per les restriccions de tràveling o com a imatge de rerefons d'una càmera" +msgid "Mirror Bone" +msgstr "Os a emmirallar" + + +msgid "Bone to use for the mirroring" +msgstr "Os utilitzat per al duplicat de mirall" + + msgid "Mirror Object" -msgstr "Objecte mirall" +msgstr "Objecte a emmirallar" + + +msgid "Object to mirror over. Leave empty and name a bone to always mirror over that bone of the active armature" +msgstr "Objecte usar per la duplicació-mirall. Deixar buit i anomenar un os per a què sempre emmiralli aquell os de l'esquelet actiu" msgid "Distance Model" @@ -27586,7 +27634,7 @@ msgstr "[Annotations]: Bloc de dades del llapis de greix esa per a les anotacion msgid "Grease Pencil settings for the scene" -msgstr "Configuració del llapis de greix per a l'escena" +msgstr "Llapis de Greix - Configuració de l'escena" msgid "NLA Tweak Mode" @@ -27802,11 +27850,11 @@ msgstr "Usa la ingressió del gamepad (controlador d'Xbox de Microsoft) en lloc msgid "Landmark" -msgstr "Senyaler" +msgstr "Terme" msgid "Selected Landmark" -msgstr "[Landmark]: Marca seleccionada" +msgstr "[Landmark]: Terme seleccionat" msgctxt "World" @@ -27894,6 +27942,14 @@ msgid "Top-Left 3D Editor" msgstr "Editor 3D de dalt a l'esquerra" +msgid "Simulation data-block" +msgstr "Bloc de dades de simulació" + + +msgid "Node tree defining the simulation" +msgstr "Arbre de nodes que defineix la simulació" + + msgid "Sound data-block referencing an external or packed sound file" msgstr "Bloc de dades de so que fa referència a un document de so extern o empaquetat" @@ -28597,7 +28653,7 @@ msgstr "Retallar cub" msgid "Clip to cubic-shaped area around the image and set exterior pixels as transparent" -msgstr "[Clip Cube]: Retalla a l'àrea en forma cúbica al voltant de la imatge i defineix els píxels exteriors com a transparents" +msgstr "[Clip Cub]: Retalla a l'àrea en forma cúbica al voltant de la imatge i defineix els píxels exteriors com a transparents" msgctxt "Image" @@ -29127,7 +29183,7 @@ msgstr "Soroll d'aigües" msgid "Add noise to standard wood" -msgstr "[Band Noise]: Afegeix soroll a la fusta estàndard" +msgstr "[Band Noise]: Afegir soroll a la fusta estàndard" msgid "Ring Noise" @@ -29135,7 +29191,7 @@ msgstr "Soroll d'anell" msgid "Add noise to rings" -msgstr "[Ring Noise]: Afegeix soroll als anells" +msgstr "[Ring Noise]: Afegir soroll als anells" msgid "Vector Font" @@ -29290,6 +29346,14 @@ msgid "Maintained by community developers" msgstr "Mantingut pels desenvolupadors de la comunitat" +msgid "Testing" +msgstr "Provant" + + +msgid "Newly contributed scripts (excluded from release builds)" +msgstr "Protocols aportats de nou (exclosos de les edicions publicades)" + + msgid "Asset Blend Path" msgstr "Camí de fusió de recursos" @@ -29375,23 +29439,23 @@ msgstr "Es muda a aquest mode objecte quan s'activa l'obrador" msgid "Grease Pencil Edit Mode" -msgstr "Mode edició llapis de greix" +msgstr "Llapis de Greix - Mode edició" msgid "Grease Pencil Sculpt Mode" -msgstr "Mode escultura amb llapis de greix" +msgstr "Llapis de Greix - Mode escultura" msgid "Grease Pencil Draw" -msgstr "Dibuix amb llapis de greix" +msgstr "Llapis de Greix - Dibuixar" msgid "Grease Pencil Vertex Paint" -msgstr "Pintura de vèrtexs amb llapis de greix" +msgstr "Llapis de Greix - Pintura de vèrtexs" msgid "Grease Pencil Weight Paint" -msgstr "Pintura de pesos amb llapis de greix" +msgstr "Llapis de Greix - Pintura de pesos" msgid "UI Tags" @@ -30498,7 +30562,7 @@ msgstr "Moviment de ratolí" msgid "MsMov" -msgstr "MovR" +msgstr "RaMov" msgctxt "UI_Events_KeyMaps" @@ -30507,43 +30571,43 @@ msgstr "Moviment entremig" msgid "MsSubMov" -msgstr "MovSubR" +msgstr "RaMovSub" msgctxt "UI_Events_KeyMaps" msgid "Mouse/Trackpad Pan" -msgstr "Ratolí/Tàctil escombratge" +msgstr "Escombratge amb ratolí/estora" msgid "MsPan" -msgstr "EnqR" +msgstr "RaEsc" msgctxt "UI_Events_KeyMaps" msgid "Mouse/Trackpad Zoom" -msgstr "Ratolí/Tàctil enquadrar" +msgstr "Zoom amb ratolí/estora" msgid "MsZoom" -msgstr "ZooR" +msgstr "RaZoom" msgctxt "UI_Events_KeyMaps" msgid "Mouse/Trackpad Rotate" -msgstr "Ratolí/Tàctil rotar" +msgstr "Rotació amb ratolí/estora" msgid "MsRot" -msgstr "RotR" +msgstr "RaRot" msgctxt "UI_Events_KeyMaps" msgid "Mouse/Trackpad Smart Zoom" -msgstr "Ratolí/Tàctil zoom intel·ligent" +msgstr "Zoom llest ratolí/estora" msgid "MsSmartZoom" -msgstr "ZooIntR" +msgstr "RaZoomLle" msgctxt "UI_Events_KeyMaps" @@ -31817,7 +31881,7 @@ msgstr "Col·lecció de teclaris" msgid "Bezier curve point with two handles defining a Keyframe on an F-Curve" -msgstr "Punt de corba Bézier amb dues nanses que defineixen una fotofita en una Corba F" +msgstr "Punt de corba bezier amb dues nanses que defineixen una fotofita en una Corba F" msgid "Amount to boost elastic bounces for 'elastic' easing" @@ -31950,7 +32014,7 @@ msgstr "[Linear]: Interpolació en línia recta entre A i B (és a dir, sense gr msgctxt "Action" msgid "Bezier" -msgstr "Bézier" +msgstr "Bezier" msgid "Smooth interpolation between A and B, with some control over curve shape" @@ -32079,7 +32143,7 @@ msgstr "Breu descripció del lot de fites" msgid "If this is set, the Keying Set gets a custom ID, otherwise it takes the name of the class used to define the Keying Set (for example, if the class name is \"BUILTIN_KSI_location\", and bl_idname is not set by the script, then bl_idname = \"BUILTIN_KSI_location\")" -msgstr "Si això està aparellat, el conjunt de fites obté un ID personalitzat, en cas contrari pren el nom de la classe usada per definir el conjunt de fites (per exemple, si el nom de la classe és «BUILTIN_KSI_location», i el bl_idname no està establert en el protocol, aleshores bl_idname = «BUILTIN_KSI_location»)" +msgstr "Si això està aparellat, el joc de fites obté un ID personalitzat, en cas contrari pren el nom de la classe usada per definir el joc de fites (per exemple, si el nom de la classe és «BUILTIN_KSI_location», i el bl_idname no està establert en el protocol, aleshores bl_idname = «BUILTIN_KSI_location»)" msgid "UI Name" @@ -32839,7 +32903,7 @@ msgstr "Separació 2D" msgid "Add two-dimensional offsets to stroke backbone geometry" -msgstr "[2D Offset]: Afegeix separacions bidimensionals a la geometria del nervi de traç" +msgstr "[2D Offset]: Afegir separacions bidimensionals a la geometria del nervi de traç" msgid "Displacement that is applied from the end of the stroke" @@ -32859,7 +32923,7 @@ msgstr "Estirador de nervi" msgid "Bezier Curve" -msgstr "Corba de Bézier" +msgstr "Corba de bezier" msgid "Blueprint" @@ -32987,11 +33051,11 @@ msgstr "[Backbone Length]: Quantitat d'estirament del nervi" msgid "Replace stroke backbone geometry by a Bezier curve approximation of the original backbone geometry" -msgstr "Substitueix la geometria del nervi del traç per una aproximació de la corba de Bézier de la geometria del nervi original" +msgstr "Substitueix la geometria del nervi del traç per una aproximació de la corba de bezier de la geometria del nervi original" msgid "Maximum distance allowed between the new Bezier curve and the original backbone geometry" -msgstr "Distància màxima permesa entre la nova corba de Bézier i la geometria original del nervi" +msgstr "Distància màxima permesa entre la nova corba de bezier i la geometria original del nervi" msgid "Produce a blueprint using circular, elliptic, and square contour strokes" @@ -33063,7 +33127,7 @@ msgstr "Desplaçament que s'aplica a la línia de direcció principal al llarg d msgid "Add one-dimensional Perlin noise to stroke backbone geometry" -msgstr "Afegeix soroll de Perlin unidimensional a la geometria del nervi del traç" +msgstr "Afegir soroll de Perlin unidimensional a la geometria del nervi del traç" msgid "Amplitude of the Perlin noise" @@ -33087,7 +33151,7 @@ msgstr "Llavor per a la generació aleatòria de nombres (si és negatiu, s'util msgid "Add two-dimensional Perlin noise to stroke backbone geometry" -msgstr "Afegeix soroll de Perlin bidimensional a la geometria del nervi del traç" +msgstr "Afegir soroll de Perlin bidimensional a la geometria del nervi del traç" msgid "Polygonalization" @@ -33119,7 +33183,7 @@ msgstr "[Simplify Stroke Set]: Distància sota la qual es fusionaran els segment msgid "Add sinus displacement to stroke backbone geometry" -msgstr "Afegeix el desplaçament sinus a la geometria del nervi del traç" +msgstr "Afegir el desplaçament sinus a la geometria del nervi del traç" msgid "Amplitude of the sinus displacement" @@ -33139,7 +33203,7 @@ msgstr "[Wavelength]: Longitud d'ona del desplaçament del sinus" msgid "Add spatial noise to stroke backbone geometry" -msgstr "Afegeix soroll espacial a la geometria del nervi del traç" +msgstr "Afegir soroll espacial a la geometria del nervi del traç" msgid "Amplitude of the spatial noise" @@ -33624,7 +33688,7 @@ msgstr "Punt actiu de capa màscara" msgid "Grease Pencil Color" -msgstr "Color del llapis de greix" +msgstr "Llapis de Greix - Color" msgid "Alignment" @@ -33692,7 +33756,7 @@ msgstr "Mostrar en espectres" msgid "Display strokes using this color when showing onion skins" -msgstr "[Show in Ghosts]: Els traços visualitzats que usen aquest color quan es mostren les peles de ceba" +msgstr "[Show in Ghosts]: Els traços visualitzats que usen aquest color quan es mostren les pells de ceba" msgid "Gradient Type" @@ -34007,7 +34071,7 @@ msgstr "Menú contextual dels documents" msgid "Grease Pencil Vertex Groups" -msgstr "Grups de Vèrtexs de llapis de greix" +msgstr "Llapis de Greix - Grups de Vèrtexs" msgid "Change Active Layer" @@ -34571,7 +34635,7 @@ msgstr "Pivot de conjunt escultòric" msgid "Clone Layer" -msgstr "Clonar capa" +msgstr "Capa de clonatge" msgid "UV Mapping" @@ -34599,7 +34663,7 @@ msgstr "Punt de vista" msgid "Landmark Controls" -msgstr "Controls de senyaler" +msgstr "Controls de terme" msgid "Lightgroup Sync" @@ -34683,11 +34747,11 @@ msgstr "Propietat flotant" msgid "Mesh Edge Crease Layer" -msgstr "Capa de retenció d'aresta de malla" +msgstr "Capa de doblec d'aresta a la malla" msgid "Per-edge crease" -msgstr "Retenció aresta per aresta" +msgstr "Doblecs per aresta" msgid "Mesh Edges" @@ -35147,7 +35211,7 @@ msgstr "Determina el mapa com a actiu per a mostrar i editar" msgid "Active Clone" -msgstr "Clonar actiu" +msgstr "Clonació activada" msgid "Set the map as active for cloning" @@ -35259,11 +35323,11 @@ msgstr "Per a les malles amb modificadors aplicats, la coordenada del vèrtex se msgid "Mesh Vertex Crease Layer" -msgstr "Capa de retenció de vèrtexs de malla" +msgstr "Capa de doblecs de vèrtexs a la malla" msgid "Per-vertex crease" -msgstr "[Mesh Vertex Crease Layer]: Retenció vèrtex per vèrtex" +msgstr "[Mesh Vertex Crease Layer]: Doblecs per vèrtex" msgid "Mesh Vertex Float Property" @@ -35695,7 +35759,7 @@ msgstr "[Warp]: Provoca aberracions en parts d'una malla cap a una nova ubicaci msgid "Adds a ripple-like motion to an object's geometry" -msgstr "Afegeix un moviment en forma d'ondulació a la geometria d'un objecte" +msgstr "Afegir un moviment en forma d'ondulació a la geometria d'un objecte" msgid "Volume Displace" @@ -36515,7 +36579,7 @@ msgstr "[UV Seam]: Transfereix la marca de costura UV" msgid "Transfer subdivision crease values" -msgstr "Transferir valors de retenció de subdivisió" +msgstr "Transferir valors de cantell per la subdivisió" msgid "Transfer bevel weights" @@ -37267,7 +37331,7 @@ msgstr "[Fluid Modifier]: Modificador de simulació fluid" msgid "Inflow/Outflow" -msgstr "Brollar/Buidar" +msgstr "Influx/Exflux" msgid "Hook modifier to modify the location of vertices" @@ -37287,7 +37351,7 @@ msgstr "Índexs de vèrtexs" msgid "Indices of vertices bound to the modifier. For bezier curves, handles count as additional vertices" -msgstr "[Vertex Indices]: Índexs de vèrtexs units al modificador. Per a les corbes de Bézier, les nanses compten com a vèrtexs addicionals" +msgstr "[Vertex Indices]: Índexs de vèrtexs units al modificador. Per a les corbes de bezier, les nanses compten com a vèrtexs addicionals" msgid "Laplacian Deform Modifier" @@ -37439,7 +37503,7 @@ msgstr "Fotograma inicial" msgid "Add this to the start frame" -msgstr "[Frame Start]: Afegeix això al fotograma inicial" +msgstr "[Frame Start]: Afegir això al fotograma inicial" msgid "Play Mode" @@ -37767,11 +37831,11 @@ msgstr "[Total Levels]: Nombre de subdivisions per guardar-ne les separacions" msgid "Use Creases" -msgstr "Usar retencions" +msgstr "Usar doblecs" msgid "Use mesh crease information to sharpen edges or corners" -msgstr "[Total Levels]: Utilitza la informació de retenció de malla per a fer més aguts els cairells o les cantonades" +msgstr "[Total Levels]: Utilitza la informació de doblecs de la malla per a fer més aguts els cairells o les cantonades" msgid "Use Custom Normals" @@ -38368,7 +38432,7 @@ msgstr "Egressa una superfície llisa sense elements cantelluts" msgid "Output a surface that reproduces sharp edges and corners from the input mesh" -msgstr "Egressa una superfície que reprodueix vores i cantonades agudes de la malla ingressada" +msgstr "Egressa una superfície que reprodueix vores i cantells aguts de la malla ingressada" msgid "Output a mesh corresponding to the volume of the original mesh" @@ -38612,27 +38676,27 @@ msgstr "[Bevel Convex]: Pesos del xamfrà de les arestes que s'afegeixen a les e msgid "Inner Crease" -msgstr "Retenció interna" +msgstr "Doblec intern" msgid "Assign a crease to inner edges" -msgstr "[Inner Crease]: Assigna una retenció a les arestes per dins" +msgstr "[Inner Crease]: Assigna un doblec a les arestes per dins" msgid "Outer Crease" -msgstr "Retenció externa" +msgstr "Doblec extern" msgid "Assign a crease to outer edges" -msgstr "[Outer Crease]: Assigna una retenció a les arestes per fora" +msgstr "[Outer Crease]: Assigna un doblec a les arestes per fora" msgid "Rim Crease" -msgstr "Retenció vorada" +msgstr "Doblegar vores" msgid "Assign a crease to the edges making up the rim" -msgstr "[Rim Crease]: Assigna una retenció a les arestes que conformen una vorada" +msgstr "[Rim Crease]: Assigna un doblec a les arestes que conformen la vora" msgid "Vertex Group Invert" @@ -38804,7 +38868,7 @@ msgstr "Només vorada" msgid "Only add the rim to the original data" -msgstr "[Only Rim]: Afegeix només la vorada a les dades originals" +msgstr "[Only Rim]: Afegir només la vorada a les dades originals" msgid "Angle Clamp" @@ -39016,7 +39080,7 @@ msgstr "Modificador aberració UV" msgid "Add target position to UV coordinates" -msgstr "[UVWarp Modifier]: Afegeix la posició de referència a les coordenades UV" +msgstr "[UVWarp Modifier]: Afegir la posició de referència a les coordenades UV" msgid "U-Axis" @@ -39227,7 +39291,7 @@ msgstr "Afegir grup" msgid "Add vertices with weight over threshold to vgroup" -msgstr "[Group Add]: Afegeix vèrtexs amb pesos superiors al llindar de grup-v" +msgstr "[Group Add]: Afegir vèrtexs amb pesos superiors al llindar de grup-v" msgid "Group Remove" @@ -39543,7 +39607,7 @@ msgstr "Alçada de l'ona" msgid "Lifetime of the wave in frames, zero means infinite" -msgstr "Temps de vida de l'ona en fotogrames, zero vol dir infinit" +msgstr "Longevitat de l'ona en fotogrames, zero vol dir infinit" msgid "Narrowness" @@ -39731,7 +39795,7 @@ msgstr "[Wireframe Modifier]: Modificador que fa l'efecte d'un filat" msgid "Crease weight (if active)" -msgstr "Pesos de retenció (si és activa)" +msgstr "Pesos de doblec (si és actiu)" msgid "Thickness factor" @@ -39747,7 +39811,7 @@ msgstr "Desplaçament relatiu" msgid "Crease hub edges for improved subdivision surface" -msgstr "Retenir les arestes de les confluències per millorar la subdivisió de superfície" +msgstr "Fa doblecs a les arestes de les confluències per millorar la subdivisió de superfície" msgid "Offset Even" @@ -40612,7 +40676,7 @@ msgstr "Cerca marcadors que es deformen en perspectiva (homografia) entre fotogr msgid "Affine" -msgstr "Afí" +msgstr "Afinitat" msgid "Search for markers that are affine-deformed (t, r, k, and skew) between frames" @@ -40624,15 +40688,15 @@ msgstr "Cercar marcadors translacionats, rotats i escalats entre fotogrames" msgid "Search for markers that are translated and scaled between frames" -msgstr "Cerca marcadors translacionats i escalats entre fotogrames" +msgstr "Cercar marcadors translacionats i escalats entre fotogrames" msgid "Search for markers that are translated and rotated between frames" -msgstr "Cerca marcadors translacionats i rotats entre fotogrames" +msgstr "Cercar marcadors translacionats i rotats entre fotogrames" msgid "Search for markers that are translated between frames" -msgstr "Cerca marcadors translacionats entre fotogrames" +msgstr "Cercar marcadors translacionats entre fotogrames" msgid "Pattern Match" @@ -41008,7 +41072,7 @@ msgstr "Valor mínim de la correlació entre el patrons coincidents o concomitan msgid "Grease pencil data for this track" -msgstr "Dades de llapis de greix de la pista" +msgstr "Llapis de Greix - Dades de la pista" msgid "Has Bundle" @@ -41461,7 +41525,7 @@ msgstr "Node compositador" msgid "Alpha Over" -msgstr "Alfa supra" +msgstr "Alfa per sobre" msgid "Convert Premultiplied" @@ -42213,7 +42277,7 @@ msgstr "Criptoclapa (antic)" msgid "Add object or material to matte, by picking a color from the Pick output" -msgstr "[Cryptomatte (Legacy)]: Afegeix un objecte o material a la clapa, seleccionant un color del born de triar sortida" +msgstr "[Cryptomatte (Legacy)]: Afegir un objecte o material a la clapa, seleccionant un color del born de triar sortida" msgid "Matte Objects" @@ -42393,7 +42457,7 @@ msgstr "Escena des de la qual seleccionar la càmera activa (escena de revelat s msgid "CoC radius threshold, prevents background bleed on in-focus midground, 0 is disabled" -msgstr "Llindar del radi del CoC, evita que el rerefons engruti la mitja distància enfocada, amb 0 està desactivat" +msgstr "Llindar del radi del CoC, evita que el rerefons sobreïxi sobre la mitja distància enfocada, amb 0 està desactivat" msgid "Gamma Correction" @@ -42894,6 +42958,10 @@ msgid "Map Range" msgstr "Interval de mapa" +msgid "Clamp the result of the node to the target range" +msgstr "[Map Range]: Constreny el resultat del node a l'interval referenciat" + + msgid "Map UV" msgstr "Mapa UV" @@ -43700,7 +43768,7 @@ msgstr "Corbat" msgid "Interpolate between frames in a Bezier curve, rather than linearly" -msgstr "[Corba]: Interpola entre fotogrames en una corba Bézier, preferible a linealment" +msgstr "[Corba]: Interpola entre fotogrames en una corba bezier, preferible a linealment" msgid "Tile Order" @@ -43756,7 +43824,7 @@ msgstr "Node funció" msgid "Align Euler to Vector" -msgstr "Alinea l'Euler al vector" +msgstr "Alinea l'euler al vector" msgid "Axis to align to the vector" @@ -44006,7 +44074,7 @@ msgstr "Substituir cadena" msgid "Rotate Euler" -msgstr "Rotació Euler" +msgstr "Rotació euler" msgid "Base orientation for rotation" @@ -44190,11 +44258,11 @@ msgstr "Defineix el radi amb un nombre flotant" msgid "Endpoint Selection" -msgstr "Selecció de punt final" +msgstr "Selecció de punta final" msgid "Provide a selection for an arbitrary number of endpoints in each spline" -msgstr "Aporta una selecció per a un nombre arbitrari de punts finals en cada spline" +msgstr "Aporta una selecció per a un nombre arbitrari de puntes finals en cada spline" msgid "Handle Type Selection" @@ -44202,7 +44270,7 @@ msgstr "Selecció de tipus de nansa" msgid "Provide a selection based on the handle types of Bézier control points" -msgstr "[Handle Type Selection]: Aporta una selecció basada en els tipus de nanses dels punts de control Bézier" +msgstr "[Handle Type Selection]: Aporta una selecció basada en els tipus de nanses dels punts de control bezier" msgid "The handle can be moved anywhere, and doesn't influence the point's other handle" @@ -44246,11 +44314,11 @@ msgstr "[Curve of Point]: Extreu la corba de la qual forma part un punt de contr msgid "Bezier Segment" -msgstr "Segment Bézier" +msgstr "Segment bezier" msgid "Generate a 2D Bézier spline from the given control points and handles" -msgstr "[Bezier Segment]: Genera un spline Bézier 2D a partir dels punts de control i les nanses donades" +msgstr "[bezier Segment]: Genera un spline bezier 2D a partir dels punts de control i les nanses donades" msgid "Method used to determine control handles" @@ -44338,7 +44406,7 @@ msgstr "Crea un quadrilàter a partir de quatre punts" msgid "Quadratic Bezier" -msgstr "Bézier quadràtic" +msgstr "Bezier quadràtic" msgid "Generate a poly spline in a parabola shape with control points positions" @@ -44350,7 +44418,7 @@ msgstr "Definir tipus de nansa" msgid "Set the handle type for the control points of a Bézier curve" -msgstr "[Set Handle Type]: Estableix el tipus de nansa per als punts de control d'una corba de Bézier" +msgstr "[Set Handle Type]: Estableix el tipus de nansa per als punts de control d'una corba de bezier" msgid "Whether to update left and right handles" @@ -44418,7 +44486,7 @@ msgstr "Avaluats" msgid "Create points from the curve's evaluated points, based on the resolution attribute for NURBS and Bezier splines" -msgstr "[Evaluated]: Crea punts a partir dels punts avaluats de la corba, basats en l'atribut de resolució per als NURBS i splines Bezier" +msgstr "[Evaluated]: Crea punts a partir dels punts avaluats de la corba, basats en l'atribut de resolució per als NURBS i splines bezier" msgid "Sample each spline by evenly distributing the specified number of points" @@ -44634,11 +44702,11 @@ msgstr "Com triar el nombre de vèrtexs del carenat" msgid "Align Bezier handles to create circular arcs at each control point" -msgstr "Alinear les nanses de Bézier per a crear arcs circulars a cada punt de control" +msgstr "Alinear les nanses de bezier per a crear arcs circulars a cada punt de control" msgid "Add control points along a circular arc (handle type is vector if Bezier Spline)" -msgstr "Afegir punts de control al llarg d'un arc circular (el tipus de nansa és un vector si surt d'un spline Bézier)" +msgstr "Afegir punts de control al llarg d'un arc circular (el tipus de nansa és un vector si surt d'un spline bezier)" msgid "Flip Faces" @@ -44699,7 +44767,7 @@ msgstr "Posicions de nansa de corba" msgid "Retrieve the position of each Bézier control point's handles" -msgstr "[Curve Handle Positions]: Extreu la posició de cada nansa de cada punt de control de Bézier" +msgstr "[Curve Handle Positions]: Extreu la posició de cada nansa de cada punt de control de bezier" msgid "Curve Tilt" @@ -44851,7 +44919,7 @@ msgstr "És spline cíclic" msgid "Retrieve whether each spline endpoint connects to the beginning" -msgstr "[Is Spline Cyclic]: Extreu si cada punt final de spline es connecta amb el principi" +msgstr "[Is Spline Cyclic]: Extreu si cada punta final de spline es connecta amb el principi" msgid "Spline Resolution" @@ -44922,6 +44990,14 @@ msgid "Provide a selection of faces that use the specified material" msgstr "[Material Selection]: Proporciona una selecció de les cares que usen el material especificat" +msgid "Mean Filter SDF Volume" +msgstr "Filtre mitjana a volum CDS" + + +msgid "Smooth the surface of an SDF volume by applying a mean filter" +msgstr "[Mean Filter SDF Volume]: Suavitza la superfície d'un volum de Camp de Distància Signada tot aplicant-hi un filtre mitjana" + + msgid "Merge by Distance" msgstr "Fusiona per distància" @@ -45058,6 +45134,14 @@ msgid "Create a point in the point cloud for each selected face corner" msgstr "Crear un punt al núvol de punts per a cada cantell de la cara seleccionat" +msgid "Mesh to SDF Volume" +msgstr "Malla a volum CDS" + + +msgid "Create an SDF volume with the shape of the input mesh's surface" +msgstr "[Mesh to SDF Volume]: Crea un volum de Camp de Distància Signada amb la forma de la superfície de la malla ingressada" + + msgid "How the voxel size is specified" msgstr "Com s'especifica la mida del vòxel" @@ -45110,6 +45194,14 @@ msgid "Offset a control point index within its curve" msgstr "[Offset Point in Curve]: Desplaça un índex de punts de control dins la corba" +msgid "Offset SDF Volume" +msgstr "Desplaçar volum CDS" + + +msgid "Move the surface of an SDF volume inwards or outwards" +msgstr "[Offset SDF Volume]: Mou la superfície d'un volum de Camp de Distància Signada cap endins o cap enfora" + + msgid "Generate a point cloud with positions and radii defined by fields" msgstr "Genera un núvol de punts amb posicions i radis definits per camps" @@ -45122,6 +45214,14 @@ msgid "Retrieve a point index within a curve" msgstr "[Points of Curve]: Extreu un índex de punts dins d'una corba" +msgid "Points to SDF Volume" +msgstr "Punts a volum CDS" + + +msgid "Generate an SDF volume sphere around every point" +msgstr "[Points to SDF Volume]: Genera una esfera de volum de Camp de Distància Signada al voltant de cada punt" + + msgid "Specify the approximate number of voxels along the diagonal" msgstr "Especifica el nombre aproximat de vòxels al llarg de la diagonal" @@ -45239,7 +45339,7 @@ msgstr "Com especificar la quantitat de mostres" msgid "Output the input spline's evaluated points, based on the resolution attribute for NURBS and Bezier splines. Poly splines are unchanged" -msgstr "Egressar els punts avaluats de l'spline ingressada, basats en l'atribut de resolució per als splines NURBS i Bézier. Els splines poligonals no canvien" +msgstr "Egressar els punts avaluats de l'spline ingressada, basats en l'atribut de resolució per als splines NURBS i bezier. Els splines poligonals no canvien" msgid "Sample the specified number of points along each spline" @@ -45266,6 +45366,14 @@ msgid "Rotate geometry instances in local or global space" msgstr "[Rotate Instances]: Fa rotar les instàncies de geometria en l'espai local o global" +msgid "SDF Volume Sphere" +msgstr "Esfera de volum CDS" + + +msgid "Generate an SDF Volume Sphere" +msgstr "[SDF Volume Sphere]: Genera una esfera de volum de Camp de Distància Signada" + + msgid "Sample Curve" msgstr "Mostrejar corba" @@ -45403,7 +45511,7 @@ msgstr "Establir posicions de nansa" msgid "Set the positions for the handles of Bézier curves" -msgstr "[Set Handle Positions]: Estableix les posicions per a les nanses de les corbes de Bézier" +msgstr "[Set Handle Positions]: Estableix les posicions per a les nanses de les corbes de bezier" msgid "Set Curve Normal" @@ -45675,15 +45783,15 @@ msgstr "[Trim Curve]: Escurça les corbes eliminant fragments de l'inici o final msgid "How to find endpoint positions for the trimmed spline" -msgstr "Com trobar posicions de punt final per al spline retallat" +msgstr "Com trobar posicions de punta final per al spline retallat" msgid "Find the endpoint positions using a factor of each spline's length" -msgstr "Trobar les posicions de punt final usant un factor de la longitud de cada spline" +msgstr "Trobar les posicions de punta final usant un factor de la longitud de cada spline" msgid "Find the endpoint positions using a length from the start of each spline" -msgstr "Troba les posicions de punt final usant una longitud des de l'inici de cada spline" +msgstr "Troba les posicions de punta final usant una longitud des de l'inici de cada spline" msgid "Pack UV Islands" @@ -45739,7 +45847,7 @@ msgstr "Cub de volum" msgid "Generate a dense volume with a field that controls the density at each grid voxel based on its position" -msgstr "[Volume Cube]: Genera un volum dens amb un camp que controla la densitat a cada vòxel de la graella en funció de la seva posició" +msgstr "[Volume Cub]: Genera un volum dens amb un camp que controla la densitat a cada vòxel de la graella en funció de la seva posició" msgid "Generate a mesh on the \"surface\" of a volume" @@ -45883,7 +45991,7 @@ msgid "" "Add background light emission.\n" "Note: This node should only be used for the world surface output" msgstr "" -"[Background]: Afegeix egressió de llum de rerefons.\n" +"[Background]: Afegir egressió de llum de rerefons.\n" "Nota: Aquest node només s'ha d'utilitzar per a generar la superfície del món" @@ -45892,7 +46000,7 @@ msgid "" "Note: only supported in Cycles, and may slow down renders" msgstr "" "Genera normals amb cantells arrodonits.\n" -"Nota: només s'admet a Cycles, i pot alentir els revelats" +"Nota: només suportat a Cycles, i pot alentir els revelats" msgid "Blackbody" @@ -46760,7 +46868,7 @@ msgstr "Paràmetres del mapejat de coordenades de textura" msgid "Checker Texture" -msgstr "Textura quadrets" +msgstr "Textura escaquer" msgid "Generate a checkerboard texture" @@ -46988,7 +47096,7 @@ msgstr "Edat de les partícules" msgid "Lifetime mapped as 0.0 to 1.0 intensity" -msgstr "[Particle Age]: Vida assignada com a intensitat de 0,0 a 1,0" +msgstr "[Particle Age]: Longevitat assignada com a intensitat de 0,0 a 1,0" msgid "Particle Speed" @@ -47629,7 +47737,7 @@ msgstr "[Color Attribute]: Extreu un atribut de color, o si no s'especifica cap msgid "Volume Absorption" -msgstr "Absorció del volum" +msgstr "Absorció de volum" msgid "Absorb light as it passes through the volume" @@ -47701,7 +47809,7 @@ msgstr "Aixafa cada N files" msgid "Checker" -msgstr "Quadriculat" +msgstr "Escaquer" msgid "Curve Time" @@ -48249,7 +48357,7 @@ msgstr "L'objecte irradia ombres al mirador 3D" msgid "Object Grease Pencil Modifiers" -msgstr "Modificadors d'objectes de llapis de greix" +msgstr "Modificadors d'objecte de llapis de greix" msgid "Collection of object grease pencil modifiers" @@ -48265,7 +48373,7 @@ msgstr "[Object Line Art]: Paràmetres de l'objecte de dibuix lineal" msgid "Angles smaller than this will be treated as creases" -msgstr "Els angles més petits que aquest es tractaran com a retencions" +msgstr "Els angles més petits que aquest es tractaran com cantells" msgid "How to use this object in line art calculation" @@ -48297,7 +48405,7 @@ msgstr "Incloure aquest objecte però no generar línies d'intersecció" msgid "Use this object's crease setting to overwrite scene global" -msgstr "Usar la configuració de retenció d'aquest objecte per a sobreescriure l'escena global" +msgstr "Usar la configuració de doblec d'aquest objecte per a sobreescriure l'escena global" msgid "Use this object's intersection priority to override collection setting" @@ -48509,7 +48617,7 @@ msgstr "Extrapolació constant" msgid "Values on endpoint keyframes are held" -msgstr "Es mantenen els valors de fotofites de terme" +msgstr "Es mantenen els valors de fotofites de punta final" msgid "Linear Extrapolation" @@ -48517,7 +48625,7 @@ msgstr "Extrapolació lineal" msgid "Straight-line slope of end segments are extended past the endpoint keyframes" -msgstr "[Linear Extrapolation]: El pendent en línia recta dels segments finals s'estén més enllà de les fotofites de terme" +msgstr "[Linear Extrapolation]: El pendent en línia recta dels segments finals s'estén més enllà de les fotofites de punta final" msgid "Make Cyclic (F-Modifier)" @@ -48525,7 +48633,7 @@ msgstr "Fer cíclic (Modificador F)" msgid "Add Cycles F-Modifier if one doesn't exist already" -msgstr "[Make Cyclic (F-Modifier)]: Afegeix modificador F de cicles si encara no n'hi ha" +msgstr "[Make Cyclic (modificador-F)]: Afegir modificador F de cicles si encara no n'hi ha" msgid "Clear Cyclic (F-Modifier)" @@ -48533,7 +48641,7 @@ msgstr "Desfer cíclic (modificador F)" msgid "Remove Cycles F-Modifier if not needed anymore" -msgstr "[Clear Cyclic (F-Modifier)]: Elimina el modificador F de cicles si ja no cal" +msgstr "[Clear Cyclic (modificador-F)]: Elimina el modificador F de cicles si ja no cal" msgctxt "Operator" @@ -48767,7 +48875,7 @@ msgstr "Generar fotofites" msgid "Add keyframes on every frame between the selected keyframes" -msgstr "[Sample Keyframes]: Afegeix fotofites a cada fotograma entre les fotofites seleccionades" +msgstr "[Sample Keyframes]: Afegir fotofites a cada fotograma entre les fotofites seleccionades" msgctxt "Operator" @@ -48989,7 +49097,7 @@ msgstr "[Selection to Nearest Marker]: Trava les fotofites seleccionades al marc msgctxt "Operator" msgid "Stash Action" -msgstr "Acció arxivar" +msgstr "Acció arraconar" msgid "Store this action in the NLA stack as a non-contributing strip for later use" @@ -49022,7 +49130,7 @@ msgstr "Forçar supressió" msgid "Clear Fake User and remove copy stashed in this data-block's NLA stack" -msgstr "[Force Delete]: Elimina usador fals i elimina la còpia emmagatzemada a la pila NLA d'aquest bloc de dades" +msgstr "[Force Delete]: Elimina usador fals i elimina la còpia emmagatzemada a l'estiba NLA d'aquest bloc de dades" msgctxt "Operator" @@ -49074,6 +49182,15 @@ msgid "Extend selection" msgstr "Ampliar selecció" +msgctxt "Operator" +msgid "Frame Channel Under Cursor" +msgstr "Enquadrar el canal de sota el cursor" + + +msgid "Reset viewable area to show the channel under the cursor" +msgstr "[Frame Channel Under Cursor]: Rearnar l'àrea visualitzable perquè mostri el canal que està dessota el cursor" + + msgid "Include Handles" msgstr "Incloure nanses" @@ -49082,6 +49199,10 @@ msgid "Include handles of keyframes when calculating extents" msgstr "Incloure les nanses de fotofites quan es calculen extensions" +msgid "Ignore frames outside of the preview range" +msgstr "Ignorar fotogrames de fora de l'interval de previsualització" + + msgctxt "Operator" msgid "Remove Empty Animation Data" msgstr "Suprimeix dades d'animació buides" @@ -49167,7 +49288,7 @@ msgstr "Agrupar canals" msgid "Add selected F-Curves to a new group" -msgstr "[Group Channels]: Afegeix les corbes-F seleccionades a un grup nou" +msgstr "[Group Channels]: Afegir les corbes-F seleccionades a un grup nou" msgid "Name of newly created group" @@ -49265,6 +49386,15 @@ msgid "Remove selected F-Curves from their current groups" msgstr "[Ungroup Channels]: Elimina les corbes-F seleccionades dels seus grups actuals" +msgctxt "Operator" +msgid "Frame Selected Channels" +msgstr "Enquadrar canals seleccionats" + + +msgid "Reset viewable area to show the selected channels" +msgstr "Rearma l'àrea visible per a mostrar els canals seleccionats" + + msgctxt "Operator" msgid "Clear Useless Actions" msgstr "Descartar accions inútils" @@ -49297,7 +49427,7 @@ msgstr "Afegir controlador" msgid "Add driver for the property under the cursor" -msgstr "[Add Driver]: Afegeix un controlador per a la propietat de sota el cursor" +msgstr "[Add Driver]: Afegir un controlador per a la propietat de sota el cursor" msgctxt "Operator" @@ -49456,7 +49586,7 @@ msgstr "Afegir lot de fites buit" msgid "Add a new (empty) keying set to the active Scene" -msgstr "[Add Empty Keying Set]: Afegeix un nou lot de fites (buit) a l'escena activa" +msgstr "[Add Empty Keying Set]: Afegir un nou lot de fites (buit) a l'escena activa" msgctxt "Operator" @@ -49482,11 +49612,11 @@ msgstr "Filtrar text" msgctxt "Operator" msgid "Add Empty Keying Set Path" -msgstr "Afegeix un camí buit de lot de fites" +msgstr "Afegir un camí buit de lot de fites" msgid "Add empty path to active keying set" -msgstr "Afegeix un camí buit al lot de fites actiu" +msgstr "Afegir un camí buit al lot de fites actiu" msgctxt "Operator" @@ -49513,11 +49643,11 @@ msgstr "Afegir a lot de fites" msgid "Add current UI-active property to current keying set" -msgstr "[Add to Keying Set]: Afegeix la propietat activa present de la IU actual al lot de fites present" +msgstr "[Add to Keying Set]: Afegir la propietat activa present de la IU actual al lot de fites present" msgid "Add all elements of the array to a Keying Set" -msgstr "Afegeix tots els elements de la corrua al lot de fites" +msgstr "Afegir tots els elements de la corrua al lot de fites" msgctxt "Operator" @@ -49660,7 +49790,7 @@ msgstr "Afegir os" msgid "Add a new bone located at the 3D cursor" -msgstr "[Add Bone]: Afegeix un os nou situat al cursor 3D" +msgstr "[Add Bone]: Afegir un os nou situat al cursor 3D" msgid "Name of the newly created bone" @@ -49820,7 +49950,7 @@ msgstr "Emplena entre articulacions" msgid "Add bone between selected joint(s) and/or 3D cursor" -msgstr "[Fill Between Joints]: Afegeix os entre articulacions seleccionades i/o cursor 3D" +msgstr "[Fill Between Joints]: Afegir os entre articulacions seleccionades i/o cursor 3D" msgctxt "Operator" @@ -49876,7 +50006,7 @@ msgstr "Activar totes les capes o només les primeres 16 (fila superior)" msgctxt "Operator" msgid "Clear Parent" -msgstr "Elimina pare" +msgstr "Eliminar pare" msgid "Remove the parent-child relationship between selected bones and their parents" @@ -50355,7 +50485,7 @@ msgstr "Afegir etiqueta al recurs" msgid "Add a new keyword tag to the active asset" -msgstr "[Add Asset Tag]: Afegeix una etiqueta amb una paraula clau nova al recurs actiu" +msgstr "[Add Asset Tag]: Afegir una etiqueta amb una paraula clau nova al recurs actiu" msgctxt "Operator" @@ -50392,7 +50522,7 @@ msgstr "Afegir regla de floc" msgid "Add a boid rule to the current boid state" -msgstr "[Add Boid Rule]: Afegeix una regla de floc a l'estat present de floc" +msgstr "[Add Boid Rule]: Afegir una regla de floc a l'estat present de floc" msgctxt "Operator" @@ -50428,7 +50558,7 @@ msgstr "Afegir estat de floc" msgid "Add a boid state to the particle system" -msgstr "[Add Boid State]: Afegeix un estat de floc al sistema de partícules" +msgstr "[Add Boid State]: Afegir un estat de floc al sistema de partícules" msgctxt "Operator" @@ -50464,7 +50594,7 @@ msgstr "Afegir pinzell" msgid "Add brush by mode type" -msgstr "[Add Brush]: Afegeix pinzell per tipus de mode" +msgstr "[Add Brush]: Afegir pinzell per tipus de mode" msgctxt "Operator" @@ -50473,7 +50603,7 @@ msgstr "Afegir pinzell de dibuix" msgid "Add brush for Grease Pencil" -msgstr "[Add Drawing Brush]: Afegeix un pinzell per al llapis de greix" +msgstr "[Add Drawing Brush]: Afegir un pinzell per al llapis de greix" msgctxt "Operator" @@ -50670,7 +50800,7 @@ msgstr "Afegir capa" msgid "Add an override layer to the archive" -msgstr "[Add layer]: Afegeix una capa de sobreseïment a l'arxiu" +msgstr "[Add layer]: Afegir una capa de sobreseïment a l'arxiu" msgctxt "Operator" @@ -50714,7 +50844,7 @@ msgstr "Afegir predefinits de càmera" msgid "Add or remove a Camera Preset" -msgstr "[Add Camera Preset]: Afegeix o elimina un valor predefinit de la càmera" +msgstr "[Add Camera Preset]: Afegir o elimina un valor predefinit de la càmera" msgid "Name of the preset, used to make the path name" @@ -50735,7 +50865,7 @@ msgstr "Afegir predefinit d'àrea segura" msgid "Add or remove a Safe Areas Preset" -msgstr "[Add Safe Area Preset]: Afegeix o suprimeix una àrea segura predefinida" +msgstr "[Add Safe Area Preset]: Afegir o suprimeix una àrea segura predefinida" msgctxt "Operator" @@ -50744,7 +50874,7 @@ msgstr "Afegir marcador" msgid "Place new marker at specified location" -msgstr "[Add Marker]: Afegeix un marcador nou a la ubicació especificada" +msgstr "[Add Marker]: Afegir un marcador nou a la ubicació especificada" msgid "Location of marker on frame" @@ -50766,11 +50896,11 @@ msgstr "Afegir marcador i moure" msgid "Add new marker and move it on movie" -msgstr "[Add Marker and Move]: Afegeix un marcador nou i el mou a la pel·lícula" +msgstr "[Add Marker and Move]: Afegir un marcador nou i el mou a la pel·lícula" msgid "Add Marker" -msgstr "Afegeix un marcador" +msgstr "Afegir un marcador" msgctxt "Operator" @@ -50779,7 +50909,7 @@ msgstr "Afegir marcador i desplaçar" msgid "Add new marker and slide it with mouse until mouse button release" -msgstr "[Add Marker and Slide]: Afegeix un marcador nou que es desplaça amb el ratolí fins que s'amolla el botó" +msgstr "[Add Marker and Slide]: Afegir un marcador nou que es desplaça amb el ratolí fins que s'amolla el botó" msgctxt "Operator" @@ -51452,10 +51582,6 @@ msgid "Set Axis" msgstr "Definir eix" -msgid "Set direction of scene axis rotating camera (or its parent if present) and assume selected track lies on real axis, joining it with the origin" -msgstr "[Set Axis]: Estableix la direcció de l'eix d'escena tot fent rotar la càmera (o el seu pare si està present) i assumeix que el tràveling seleccionat es troba en l'eix real, unint-se amb l'origen" - - msgid "Axis to use to align bundle along" msgstr "Eix per a alinear-hi l'agregat" @@ -51605,7 +51731,7 @@ msgstr "Afegir rastres estabilitzadors" msgid "Add selected tracks to 2D translation stabilization" -msgstr "[Add Stabilization Tracks]: Afegeix els rastres seleccionats a l'estabilització de la translació 2D" +msgstr "[Add Stabilization Tracks]: Afegir els rastres seleccionats a l'estabilització de la translació 2D" msgctxt "Operator" @@ -51623,7 +51749,7 @@ msgstr "Afegir rastres d'estabilització rotacional" msgid "Add selected tracks to 2D rotation stabilization" -msgstr "[Add Stabilization Rotation Tracks]: Afegeix els rastres seleccionats a l'estabilització de la rotació en 2D" +msgstr "[Add Stabilization Rotation Tracks]: Afegir els rastres seleccionats a l'estabilització de la rotació en 2D" msgctxt "Operator" @@ -51659,7 +51785,7 @@ msgstr "Afegir predefinit de color de rastre" msgid "Add or remove a Clip Track Color Preset" -msgstr "[Add Track Color Preset]: Afegeix o elimina un valor predefinit de color d'un rastre del vídeo" +msgstr "[Add Track Color Preset]: Afegir o elimina un valor predefinit de color d'un rastre del vídeo" msgctxt "Operator" @@ -51721,7 +51847,7 @@ msgstr "Afegir objectes rastre" msgid "Add new object for tracking" -msgstr "[Add Tracking Object]: Afegeix un objecte nou per al rastreig" +msgstr "[Add Tracking Object]: Afegir un objecte nou per al rastreig" msgctxt "Operator" @@ -51739,7 +51865,7 @@ msgstr "Afegir predefinit de la configuració de rastreig" msgid "Add or remove a motion tracking settings preset" -msgstr "[Add Tracking Settings Preset]: Afegeix o elimina un predefinit de configuració de tràveling" +msgstr "[Add Tracking Settings Preset]: Afegir o elimina un predefinit de configuració de tràveling" msgctxt "Operator" @@ -51860,7 +51986,7 @@ msgstr "Afegir predefinit de roba" msgid "Add or remove a Cloth Preset" -msgstr "[Add Cloth Preset]: Afegeix o elimina un valor predefinit de la roba" +msgstr "[Add Cloth Preset]: Afegir o elimina un valor predefinit de la roba" msgctxt "Operator" @@ -51882,7 +52008,7 @@ msgstr "Afegir la selecció a la col·lecció activa" msgid "Add the object to an object collection that contains the active object" -msgstr "Afegeix l'objecte a una col·lecció d'objectes que conté l'objecte actiu" +msgstr "Afegir l'objecte a una col·lecció d'objectes que conté l'objecte actiu" msgid "The collection to add other selected objects to" @@ -52144,6 +52270,10 @@ msgid "Selection" msgstr "Selecció" +msgid "Paste text selected elsewhere rather than copied (X11/Wayland only)" +msgstr "Enganxar el text seleccionat en un altre lloc enlloc del copiat (només X11/Wayland)" + + msgctxt "Operator" msgid "Scrollback Append" msgstr "Annexar ròdol enrere" @@ -52194,7 +52324,7 @@ msgstr "Afegir referent" msgid "Add a target to the constraint" -msgstr "[Add Target]: Afegeix un referent a la restricció" +msgstr "[Add Target]: Afegir un referent a la restricció" msgctxt "Operator" @@ -52240,16 +52370,16 @@ msgstr "Descartar inversió" msgid "Clear inverse correction for Child Of constraint" -msgstr "Elimina la correcció inversa per a la restricció Fill de" +msgstr "Descartar la correcció inversa per a la restricció Fill-de" msgctxt "Operator" msgid "Set Inverse" -msgstr "Determinar inversió" +msgstr "Establir inversió" msgid "Set inverse correction for Child Of constraint" -msgstr "[Set Inverse]: Estableix la correcció inversa per a la restricció dita Fill de" +msgstr "[Set Inverse]: Estableix la correcció inversa per a la restricció dita Fill-de" msgctxt "Operator" @@ -52294,7 +52424,7 @@ msgstr "Autoanimar camí" msgid "Add default animation for path used by constraint if it isn't animated already" -msgstr "[Auto Animate Path]: Afegeix l'animació predeterminada per al camí utilitzat per la restricció si no és que ja està animada" +msgstr "[Auto Animate Path]: Afegir l'animació predeterminada per al camí utilitzat per la restricció si no és que ja està animada" msgid "First frame of path animation" @@ -52386,7 +52516,7 @@ msgstr "Convertir sistema de partícules en corbes" msgid "Add a new curves object based on the current state of the particle system" -msgstr "Afegeix un objecte corba nou basat en l'estat actual del sistema de partícules" +msgstr "Afegir un objecte corba nou basat en l'estat actual del sistema de partícules" msgctxt "Operator" @@ -52395,7 +52525,7 @@ msgstr "Convertir corbes a sistema de partícules" msgid "Add a new or update an existing hair particle system on the surface object" -msgstr "Afegeix un sistema de partícules de pèl nou o n'actualitza un d'existent en la superfície de l'objecte" +msgstr "Afegir un sistema de partícules de pèl nou o n'actualitza un d'existent en la superfície de l'objecte" msgid "Remove selected control points or curves" @@ -52432,10 +52562,18 @@ msgid "Select points at the end of the curve as opposed to the beginning" msgstr "Seleccionar els punts al final de la corba en lloc del començament" +msgid "Shrink the selection by one point" +msgstr "Encongir la selecció d'un punt" + + msgid "Select all points in curves with any point selection" msgstr "Seleccionar tots els punts de curves amb la selecció de qualsevol punt" +msgid "Grow the selection by one point" +msgstr "Expandir la selecció d'un punt" + + msgctxt "Operator" msgid "Select Random" msgstr "Selecció aleatòria" @@ -52488,7 +52626,7 @@ msgstr "Troba el punt més proper a la superfície per al punt arrel de cada cor msgid "Re-attach curves to a deformed surface using the existing attachment information. This only works when the topology of the surface mesh has not changed" -msgstr "Torna a adjuntar les corbes a una superfície deformada usant la informació d'adjunt existent. Només funciona quan la topologia de superfície de malla no ha canviat" +msgstr "Torna a adjuntar les corbes a una superfície deformada usant la informació d'associació existent. Només funciona quan la topologia de superfície de malla no ha canviat" msgctxt "Operator" @@ -52621,7 +52759,7 @@ msgstr "Vers l'esfera" msgid "Shrink/Fatten" -msgstr "Aprimar/Engruixir" +msgstr "Encongir/Inflar" msgid "Trackball" @@ -52633,7 +52771,7 @@ msgstr "Empènyer/Estirar" msgid "Vertex Crease" -msgstr "Retenció de vèrtex" +msgstr "Doblec de vèrtex" msgid "Bone Size" @@ -52649,15 +52787,15 @@ msgstr "Distància de funda d'os" msgid "Curve Shrink/Fatten" -msgstr "Aprimar/Engruixir corba" +msgstr "Corba - Encongir/Inflar" msgid "Mask Shrink/Fatten" -msgstr "Aprimar/Engruixir màscara" +msgstr "Màscara Encongir/Inflar" msgid "Grease Pencil Shrink/Fatten" -msgstr "Aprimar/Engruixir llapis de greix" +msgstr "Llapis de Greix - Encongir/Inflar" msgid "Time Translate" @@ -52685,7 +52823,7 @@ msgstr "Lliscador de seqüència" msgid "Grease Pencil Opacity" -msgstr "Opacitat de llapis de greix" +msgstr "Llapis de Greix - Opacitat" msgctxt "Operator" @@ -52763,7 +52901,7 @@ msgstr "Tancar spline" msgid "Make a spline cyclic by clicking endpoints" -msgstr "[Close Spline]: Crea un spline cíclic clicant els extrems" +msgstr "[Close Spline]: Crea un spline cíclic clicant les puntes finals" msgid "Close Spline Method" @@ -52823,7 +52961,7 @@ msgstr "Punt d'extrusió" msgid "Add a point connected to the last selected point" -msgstr "[Extrude Point]: Afegeix un punt connectat a l'últim punt seleccionat" +msgstr "[Extrude Point]: Afegir un punt connectat a l'últim punt seleccionat" msgid "Insert Point" @@ -52880,11 +53018,11 @@ msgstr "[Toggle Vector]: Alterna entre les nanses vectorials i automàtiques" msgctxt "Operator" msgid "Add Bezier Circle" -msgstr "Afegir cercle Bézier" +msgstr "Afegir cercle bezier" msgid "Construct a Bezier Circle" -msgstr "[Add Bezier Circle]: Construeix un cercle de Bézier" +msgstr "[Add bezier Circle]: Construeix un cercle de bezier" msgid "The alignment of the new object" @@ -52925,11 +53063,11 @@ msgstr "Escala per a l'objecte afegit de nou" msgctxt "Operator" msgid "Add Bezier" -msgstr "Afegir Bézier" +msgstr "Afegir bezier" msgid "Construct a Bezier Curve" -msgstr "[Add Bezier]: Construeix una corba de Bézier" +msgstr "[Add bezier]: Construeix una corba de bezier" msgctxt "Operator" @@ -53003,7 +53141,7 @@ msgstr "[Select Next]: Selecciona els punts de control que segueixen els ja sele msgctxt "Operator" msgid "Checker Deselect" -msgstr "Desselecció alterna" +msgstr "Desselecció d'escaquer" msgid "Deselect every Nth point starting from the active one" @@ -53166,7 +53304,7 @@ msgstr "Nanses" msgid "Use handles when converting bezier curves into polygons" -msgstr "[Handles]: Utilitza nanses en convertir corbes Bézier en polígons" +msgstr "[Handles]: Utilitza nanses en convertir corbes bezier en polígons" msgctxt "Operator" @@ -53205,7 +53343,7 @@ msgstr "Extrudir al cursor o afegir" msgid "Add a new control point (linked to only selected end-curve one, if any)" -msgstr "[Extrude to Cursor or Add]: Afegeix un punt de control nou (lligat només al cap de la corba u seleccionada, si n'hi ha)" +msgstr "[Extrude to Cursor or Add]: Afegir un punt de control nou (lligat només al cap de la corba u seleccionada, si n'hi ha)" msgid "Location to add new vertex at" @@ -53278,7 +53416,7 @@ msgstr "Revesar capa d'egressió" msgid "Add or remove Dynamic Paint output data layer" -msgstr "[Toggle Output Layer]: Afegeix o elimina la capa de dades d'egressió de pintura dinàmica" +msgstr "[Toggle Output Layer]: Afegir o elimina la capa de dades d'egressió de pintura dinàmica" msgid "Output Toggle" @@ -53299,7 +53437,7 @@ msgstr "Afegir epígraf de superfície" msgid "Add a new Dynamic Paint surface slot" -msgstr "[Add Surface Slot]: Afegeix un nou epígraf de la superfície de la Pintura dinàmica" +msgstr "[Add Surface Slot]: Afegir un nou epígraf de la superfície de la Pintura dinàmica" msgctxt "Operator" @@ -53416,7 +53554,7 @@ msgstr "Acte desfer" msgid "Add an undo state (internal use only)" -msgstr "[Undo Push]: Afegeix un estat de desfer (només ús intern)" +msgstr "[Undo Push]: Afegir un estat de desfer (només ús intern)" msgid "Undo Message" @@ -53790,7 +53928,7 @@ msgstr "Forçar inici/final de fita" msgid "Always add a keyframe at start and end of actions for animated channels" -msgstr "[Force Start/End Keying]: Afegeix sempre una fotofita a l'inici i al final de les accions per als canals animats" +msgstr "[Force Start/End Keying]: Afegir sempre una fotofita a l'inici i al final de les accions per als canals animats" msgid "How much to simplify baked values (0.0 to disable, the higher the more simplified)" @@ -53930,7 +54068,7 @@ msgstr "Làmpada" msgid "WARNING: not supported in dupli/group instances" -msgstr "AVÍS: no s'admet en instàncies dupli/grup" +msgstr "AVÍS: no suportat en instàncies dupli/grup" msgid "Other" @@ -54150,6 +54288,14 @@ msgid "Allow >4 joint vertex influences. Models may appear incorrectly in many v msgstr "Permetre influències de vèrtexs units >4. Els models poden aparèixer incorrectament en molts visors" +msgid "Split Animation by Object" +msgstr "Dividir animació per objecte" + + +msgid "Export Scene as seen in Viewport, But split animation by Object" +msgstr "[Split Animation by Object]: Exporta l'escena tal i com es veu al mirador, però divideix l'animació per objecte" + + msgid "Export all Armature Actions" msgstr "Exporta totes les accions d'esquelet" @@ -54158,6 +54304,42 @@ msgid "Export all actions, bound to a single armature. WARNING: Option does not msgstr "[Export all Armature Actions]: Exporta totes les accions, lligades a un sol esquelet. AVÍS: l'opció no admet exportacions amb múltiples esquelets" +msgid "Set all glTF Animation starting at 0" +msgstr "Posar que tota l'animació gTIF comenci de 0" + + +msgid "Set all glTF animation starting at 0.0s. Can be usefull for looping animations" +msgstr "Posar que tota l'animació gTIF comenci de 0. Pot ser útil per animacions en bucle" + + +msgid "Animation mode" +msgstr "Mode animació" + + +msgid "Export Animation mode" +msgstr "Mode exportar animació" + + +msgid "Export actions (actives and on NLA tracks) as separate animations" +msgstr "Exporta accions (actives i de segments d'ANL) com a animacions separades" + + +msgid "Active actions merged" +msgstr "Accions actives fusionades" + + +msgid "All the currently assigned actions become one glTF animation" +msgstr "[Active actions merged]: Tots les accions ara mateix assignades esdevenen una sola animació gITF" + + +msgid "Export individual NLA Tracks as separate animation" +msgstr "Exportar segments d'ANL individuals com a animació separada" + + +msgid "Export baked scene as a single animation" +msgstr "Exportar escena precuinada com a una única animació" + + msgid "Exports active actions and NLA tracks as glTF animations" msgstr "Exportar accions actives i pistes ANL com a animacions glTF" @@ -54170,6 +54352,14 @@ msgid "Export Attributes (when starting with underscore)" msgstr "Exportar atributs (en començar per subratllat)" +msgid "Bake All Objects Animations" +msgstr "Precuinar tots els objectes animació" + + +msgid "Force exporting animation on every objects. Can be usefull when using constraints or driver. Also useful when exporting only selection" +msgstr "Forçar l'exportació d'animació en cada objecte. Pot ser d'utilitat quan hi ha restriccions o controlador en ús. També pot anar bé quan s'exporta sols la selecció" + + msgid "Export cameras" msgstr "Exportar càmeres" @@ -54182,6 +54372,14 @@ msgid "Legal rights and conditions for the model" msgstr "Drets i condicions legals del model" +msgid "Use Current Frame as Object Rest Transformations" +msgstr "Usar fotograma actual com a objecte de repòs de transformacions" + + +msgid "Export the scene in the current animation frame. When off, frame O is used as rest transformations for objects" +msgstr "Exporta l'escena dins el fotograma present d'animació. Quan no està activat, el fotograma O s'usa com a repòs de transformació per a objectes" + + msgid "Export Deformation Bones Only" msgstr "Exportar només ossos de deformació" @@ -54294,6 +54492,14 @@ msgid "Clips animations to selected playback range" msgstr "[Limit to Playback Range]: Retalla les animacions a l'interval seleccionat perquè es reprodueixi" +msgid "Flatten Bone Hierarchy" +msgstr "Aplanar jerarquia d'ossos" + + +msgid "Flatten Bone Hierarchy. Usefull in case of non decomposable TRS matrix" +msgstr "[Flatten Bone Hierarchy]: Aplana la jerarquia d'ossos. Útil en el cas d'una matriu TRS no descomponible" + + msgid "Output format for images. PNG is lossless and generally preferred, but JPEG might be preferable for web applications due to the smaller file size. Alternatively they can be omitted if they are not needed" msgstr "Format d'egressió per a les imatges. PNG és sense pèrdua i generalment preferible, però JPEG podria ser preferible per a aplicacions web a causa de la mida menor dels documents. Alternativament, es poden ometre si no són necessaris" @@ -54362,6 +54568,14 @@ msgid "Export shape keys (morph targets)" msgstr "Exportar morfofites (referents mòrfics)" +msgid "Shape Key Animations" +msgstr "Animacions de morfofita" + + +msgid "Export shape keys animations (morph targets)" +msgstr "Exporta animacion de morfofites (referents de formes)" + + msgid "Shape Key Normals" msgstr "Normals de morfofites" @@ -54378,6 +54592,26 @@ msgid "Export vertex tangents with shape keys (morph targets)" msgstr "[Shape Key Tangents]: Exporta les tangents de vèrtex amb morfofites (referents mòrfics)" +msgid "Negative Frames" +msgstr "Fotogrames negatius" + + +msgid "Negative Frames are slided or cropped" +msgstr "[Negative Frames]: Els fotogrames negatius es desplacen o retallen" + + +msgid "Slide" +msgstr "Recol·locar" + + +msgid "Slide animation to start at frame 0" +msgstr "[Slide]: Fa lliscar la animació perquè comenci en el fotograma 0" + + +msgid "Keep only frames above frame 0" +msgstr "Guarda només els fotogrames per sobre del fotograma 0" + + msgid "Merged Animation Name" msgstr "Nom d'animació fusionada" @@ -54390,6 +54624,22 @@ msgid "Export vertex normals with meshes" msgstr "Exportar normals del vèrtex amb malles" +msgid "Force keeping channel for armature / bones" +msgstr "Forçar que es mantingui el canal per a esquelets/ossos" + + +msgid "if all keyframes are identical in a rig force keeping the minimal animation" +msgstr "si totes les fotofites són idèntiques en una articulació, obliga a mantenir la mínima animació" + + +msgid "Force keeping channel for objects" +msgstr "Forçar mantenir canal per a objectes" + + +msgid "if all keyframes are identical for object transformations force keeping the minimal animation" +msgstr "[Force keeping channel for objects]: si totes les fotofites són idèntiques per a transformacions d'objectes, obliga a mantenir la mínima animació" + + msgid "Optimize Animation Size" msgstr "Optimitzar mida d'animació" @@ -54414,6 +54664,14 @@ msgid "Reset pose bones between each action exported. This is needed when some b msgstr "Reestableix la posa dels ossos entre cada acció exportada. Es fa necessari quan alguns ossos no tenen fites en algunes animacions" +msgid "Use Rest Position Armature" +msgstr "Usar esquelet en posa de repòs" + + +msgid "Export armatures using rest position as joins rest pose. When off, current frame pose is used as rest pose" +msgstr "Exporta esquelets en posa de repòs com a posa de respòs d'articulacions. Si no està activat, la posa del fotograma actual fa de posa de repòs" + + msgid "Skinning" msgstr "Pellam" @@ -54580,7 +54838,7 @@ msgstr "Escriure normals" msgid "Export one normal per vertex and per face, to represent flat faces and sharp edges" -msgstr "Exporta una normal per vèrtex i per cara, per a representar cares aplanades i arestes cantellunes" +msgstr "Exporta una normal per vèrtex i per cara, per a representar cares aplanades i cantells aguts" msgid "Write Nurbs" @@ -54596,7 +54854,7 @@ msgstr "Suavitzar grups" msgid "Write sharp edges as smooth groups" -msgstr "Escriu les vores cantelludes com a grups suaus" +msgstr "Escriu els cantells aguts com a grups suaus" msgid "Bitflag Smooth Groups" @@ -54633,7 +54891,7 @@ msgstr "Decoracions de noms" msgid "Add prefixes to the names of exported nodes to indicate their type" -msgstr "[Name decorations]: Afegeix prefixos als noms dels nodes exportats per indicar el seu tipus" +msgstr "[Name decorations]: Afegir prefixos als noms dels nodes exportats per indicar el seu tipus" msgid "Compress" @@ -54720,7 +54978,7 @@ msgstr "Afegir recordatori" msgid "Add a bookmark for the selected/active directory" -msgstr "[Add Bookmark]: Afegeix un recordatori per al directori seleccionat/actiu" +msgstr "[Add Bookmark]: Afegir un recordatori per al directori seleccionat/actiu" msgctxt "Operator" @@ -55001,11 +55259,11 @@ msgstr "Obrir un directori en seleccionar-lo" msgid "Pass Through" -msgstr "Pass Through" +msgstr "Passar transversalment" msgid "Even on successful execution, pass the event on so other operators can execute on it as well" -msgstr "Fins i tot amb l'execució reeixida, va una passa de l'esdeveniment perquè altres operadors també el puguin executar" +msgstr "Fins i tot amb l'execució reeixida, fa passar l'esdeveniment endavant perquè altres operadors també el puguin executar" msgctxt "Operator" @@ -55040,7 +55298,7 @@ msgstr "Selecciona/Deselecciona documents tot passant-hi" msgid "Walk Direction" -msgstr "Direcció de passada" +msgstr "Direcció de caminar" msgid "Select/Deselect element in this direction" @@ -55279,7 +55537,7 @@ msgstr "Afegir predefinit de fluid" msgid "Add or remove a Fluid Preset" -msgstr "[Add Fluid Preset]: Afegeix o elimina un valor predefinit de fluid" +msgstr "[Add Fluid Preset]: Afegir o elimina un valor predefinit de fluid" msgctxt "Operator" @@ -55501,7 +55759,7 @@ msgstr "Afegeir quadre de text" msgid "Add a new text box" -msgstr "Afegeix un nou quadre de text" +msgstr "Afegir un nou quadre de text" msgctxt "Operator" @@ -55532,7 +55790,7 @@ msgstr "Afegir atribut" msgid "Add attribute to geometry" -msgstr "Afegeix un atribut a la geometria" +msgstr "Afegir un atribut a la geometria" msgid "Type of element that attribute is stored on" @@ -55575,7 +55833,7 @@ msgstr "Afegir atribut de color" msgid "Add color attribute to geometry" -msgstr "Afegeix un atribut de color a la geometria" +msgstr "Afegir un atribut de color a la geometria" msgid "Default fill color" @@ -55668,11 +55926,11 @@ msgstr "Suprimeix el(s) fotograma(es) actiu(s) de totes les capes editables de l msgctxt "Operator" msgid "Annotation Draw" -msgstr "Dibuixar anotació" +msgstr "Anotació - Dibuixar" msgid "Make annotations on the active data" -msgstr "[[Annotation Draw]: ]: Fa anotacions sobre les dades actives" +msgstr "[Annotation Draw]: ]: Fa anotacions sobre les dades actives" msgid "End Arrow Style" @@ -55748,7 +56006,7 @@ msgstr "Dibuixar línia poligonal" msgid "Click to place endpoints of straight line segments (connected)" -msgstr "Fa clic per col·locar els caps de de segments de línia recta (connectats)" +msgstr "Cliqueu per col·locar les puntes finals de segments en línia recta (connectats)" msgid "Eraser" @@ -55789,11 +56047,11 @@ msgstr "Suprimir el fotograma actiu per a la capa d'anotació activa" msgctxt "Operator" msgid "Annotation Add New" -msgstr "Afegir anotació nova" +msgstr "Anotació - Afegir nova" msgid "Add new Annotation data-block" -msgstr "[Annotation Add New]: Afegeix un bloc de dades d'anotació nou" +msgstr "[Annotation Add New]: Afegir un bloc de dades d'anotació nou" msgctxt "Operator" @@ -56038,7 +56296,7 @@ msgstr "Camí d'animació" msgid "Smooth Bezier curve" -msgstr "Suavitzar corba de Bézier" +msgstr "Suavitzar corba de bezier" msgid "Polygon Curve" @@ -56046,7 +56304,7 @@ msgstr "Corba polígon" msgid "Bezier curve with straight-line segments (vector handles)" -msgstr "[Polygon Curve]: Corba de Bézier amb segments de línies rectes (nanses vectorials)" +msgstr "[Polygon Curve]: Corba de bezier amb segments de línies rectes (nanses vectorials)" msgid "Link Strokes" @@ -56096,7 +56354,7 @@ msgstr "[Copy Strokes]: Copia els punts i traços de llapis de greix seleccionat msgctxt "Operator" msgid "Annotation Unlink" -msgstr "Desvincular anotació" +msgstr "Anotació - Desvincular" msgid "Unlink active Annotation data-block" @@ -56626,7 +56884,7 @@ msgstr "Afegir nova capa" msgid "Add new layer or note for the active data-block" -msgstr "Afegeix una nova capa o nota per al bloc de dades actiu" +msgstr "Afegir una nova capa o nota per al bloc de dades actiu" msgid "Name of the newly added layer" @@ -56639,7 +56897,7 @@ msgstr "Afegir nova capa d'anotació" msgid "Add new Annotation layer or note for the active data-block" -msgstr "[Add New Annotation Layer]: Afegeix una nova capa d'anotació o una nota per al bloc de dades actiu" +msgstr "[Add New Annotation Layer]: Afegir una nova capa d'anotació o una nota per al bloc de dades actiu" msgctxt "Operator" @@ -56727,7 +56985,7 @@ msgstr "Afegir nova capa de màscara" msgid "Add new layer as masking" -msgstr "[Add New Mask Layer]: Afegeix una capa nova com a emmascarament" +msgstr "[Add New Mask Layer]: Afegir una capa nova com a emmascarament" msgid "Name of the layer" @@ -56955,7 +57213,7 @@ msgstr "Enganxar al darrere" msgid "Add pasted strokes behind all strokes" -msgstr "[Paste on Back]: Afegeix traços enganxats al darrere de tots els traços" +msgstr "[Paste on Back]: Afegir traços enganxats al darrere de tots els traços" msgid "Paste to Active" @@ -57094,7 +57352,7 @@ msgstr "Afegir segment" msgid "Add a segment to the dash modifier" -msgstr "Afegeix un segment al modificador del guionet" +msgstr "Afegir un segment al modificador del guionet" msgid "Modifier" @@ -57511,7 +57769,7 @@ msgstr "Dibuix additiu" msgid "Add to previous drawing" -msgstr "[Additive Drawing]: Afegeix al dibuix previ" +msgstr "[Additive Drawing]: Afegir al dibuix previ" msgid "Draw new stroke below all previous strokes" @@ -58206,7 +58464,7 @@ msgstr "Enganxar variables del controlador" msgid "Add copied driver variables to the active driver" -msgstr "Afegeix les variables copiades de controlador al que està actiu" +msgstr "Afegir les variables copiades de controlador al que està actiu" msgid "Replace Existing" @@ -58252,11 +58510,11 @@ msgstr "Longitud de nansa" msgid "Length to make selected keyframes' bezier handles" -msgstr "[Handle Length]: Longitud a atorgar a les nanses de Bézier de les fotofites seleccionades" +msgstr "[Handle Length]: Longitud a atorgar a les nanses de bezier de les fotofites seleccionades" msgid "Side of the keyframes' bezier handles to affect" -msgstr "Costat que s'afectarà de les nanses de Bézier de fotofites" +msgstr "Costat que s'afectarà de les nanses de bezier de fotofites" msgid "Equalize selected keyframes' left handles" @@ -58273,11 +58531,11 @@ msgstr "Equalitzar totes dues nanses d'una fotofita" msgctxt "Operator" msgid "Euler Discontinuity Filter" -msgstr "Filtre de discontinuació d'Euler" +msgstr "Filtre de discontinuació d'euler" msgid "Fix large jumps and flips in the selected Euler Rotation F-Curves arising from rotation values being clipped when baking physics" -msgstr "[Euler Discontinuity Filter]: Corregeix salts grans i inversions en les corbes-F de rotació d'Euler seleccionades, que sorgeixen dels valors de rotació que s'estan segant quan es precuina la part de física" +msgstr "[euler Discontinuity Filter]: Corregeix salts grans i inversions en les corbes-F de rotació d'euler seleccionades, que sorgeixen dels valors de rotació que s'estan segant quan es precuina la part de física" msgctxt "Operator" @@ -58286,7 +58544,7 @@ msgstr "Afegir modificador de Corba-F" msgid "Add F-Modifier to the active/selected F-Curves" -msgstr "Afegeix un modificador-F a les corbes-F actives/seleccionades" +msgstr "Afegir un modificador-F a les corbes-F actives/seleccionades" msgid "Only Active" @@ -58294,7 +58552,7 @@ msgstr "Només actives" msgid "Only add F-Modifier to active F-Curve" -msgstr "Afegeix només el modificador-F a la corba-F activa" +msgstr "Afegir només el modificador-F a la corba-F activa" msgctxt "Operator" @@ -58312,7 +58570,7 @@ msgstr "Enganxar modificador-F" msgid "Add copied F-Modifiers to the selected F-Curves" -msgstr "Afegeix el(s) modificador(s)-F de la corba-F activa" +msgstr "Afegir el(s) modificador(s)-F de la corba-F activa" msgid "Only paste F-Modifiers on active F-Curve" @@ -58327,10 +58585,31 @@ msgid "Place the cursor on the midpoint of selected keyframes" msgstr "Col·locar el cursor al punt mitjà de les fotofites seleccionades" +msgctxt "Operator" +msgid "Gaussian Smooth" +msgstr "Suavitzat gaussià" + + +msgid "Smooth the curve using a Gaussian filter" +msgstr "Suavitza la corba amb un filtre gaussià" + + msgid "Filter Width" msgstr "Ample de filtre" +msgid "How far to each side the operator will average the key values" +msgstr "Fins a quin punt a banda i banda l'operador farà promig dels valors de fita" + + +msgid "Sigma" +msgstr "Sigma" + + +msgid "The shape of the gaussian distribution, lower values make it sharper" +msgstr "La forma de la distribució gaussiana, els valors inferiors la fan més aguda" + + msgctxt "Operator" msgid "Clear Ghost Curves" msgstr "Descartar corbes espectre" @@ -58370,6 +58649,14 @@ msgid "Insert a keyframe on selected F-Curves using each curve's current value" msgstr "Inserir una fotofita a les corbes-F seleccionades usant el valor actual de cada corba" +msgid "Only Active F-Curve" +msgstr "Sols corba-F activa" + + +msgid "Insert a keyframe on the active F-Curve using the curve's current value" +msgstr "Insereix una fotofita a la corba-F activa en base al valor actual de la corba" + + msgid "Active Channels at Cursor" msgstr "Canals actius al cursor" @@ -58402,6 +58689,46 @@ msgid "Flip times of selected keyframes, effectively reversing the order they ap msgstr "[By Times Over Zero Time]: Inverteix els temps de les fotofites seleccionades, capgirant efectivament l'ordre en què apareixen" +msgid "Paste keys with a value offset" +msgstr "Enganxar fites amb valor de desplaçament" + + +msgid "Left Key" +msgstr "Fita esquerre" + + +msgid "Paste keys with the first key matching the key left of the cursor" +msgstr "Enganxa fites de forma que la primera coincideixi amb la fita que està a l'esquerra del cursor" + + +msgid "Right Key" +msgstr "Fita dreta" + + +msgid "Paste keys with the last key matching the key right of the cursor" +msgstr "Enganxa fites de forma que la primera coincideixi amb la fita que està a la dreta del cursor" + + +msgid "Current Frame Value" +msgstr "Valor del fotograma actual" + + +msgid "Paste keys relative to the value of the curve under the cursor" +msgstr "Enganxa fites en relació al valor de la corba de sota del cursor" + + +msgid "Cursor Value" +msgstr "Valor del cursor" + + +msgid "Paste keys relative to the Y-Position of the cursor" +msgstr "Enganxa fites en relació a la posició Y del cursor" + + +msgid "Paste keys with the same value as they were copied" +msgstr "Enganxa fites de valor igual a com es copiaren" + + msgid "Set Preview Range based on range of selected keyframes" msgstr "Establir l'interval de previsualització basat en l'interval de fotofites seleccionades" @@ -58553,7 +58880,7 @@ msgstr "Afegir epígraf de revelat" msgid "Add a new render slot" -msgstr "[Add Render Slot]: Afegeix un nou epígraf de revelat" +msgstr "[Add Render Slot]: Afegir un nou epígraf de revelat" msgctxt "Operator" @@ -58897,10 +59224,6 @@ msgid "Save the image with another name and/or settings" msgstr "Desa la imatge amb un altre nom i/o paràmetres" -msgid "Create a new image file without modifying the current image in blender" -msgstr "Crear nou document d'imatge sense modificar la imatge actual del Blender" - - msgid "Save As Render" msgstr "Desar com a revelat" @@ -58930,7 +59253,7 @@ msgstr "Afegir tessel·la" msgid "Adds a tile to the image" -msgstr "[Add Tile]: Afegeix una tessel·la a la imatge" +msgstr "[Add Tile]: Afegir una tessel·la a la imatge" msgid "How many tiles to add" @@ -59661,7 +59984,7 @@ msgstr "Cerca en subdirectoris qualsevol imatge associada (Avís, pot ser lent)" msgid "Surround smooth groups by sharp edges" -msgstr "Embolcallar grups suavitzats amb vores cantelludes" +msgstr "Embolcallar grups suavitzats amb cantells aguts" msgid "Import OBJ Groups into Blender Objects" @@ -59824,7 +60147,7 @@ msgstr "Afegir marcador de temps" msgid "Add a new time marker" -msgstr "[Add Time Marker]: Afegeix un nou marcador de temps" +msgstr "[Add Time Marker]: Afegir un nou marcador de temps" msgctxt "Operator" @@ -59931,7 +60254,7 @@ msgstr "Afegir vèrtex de vora borrosa" msgid "Add vertex to feather" -msgstr "[Add Feather Vertex]: Afegeix un vèrtex a la vora borrosa" +msgstr "[Add Feather Vertex]: Afegir un vèrtex a la vora borrosa" msgid "Location of vertex in normalized space" @@ -59944,7 +60267,7 @@ msgstr "Afegir vèrtex de vora borrosa i lliscar" msgid "Add new vertex to feather and slide it" -msgstr "[Add Feather Vertex and Slide]: Afegeix nou vèrtex de vora borrosa i el fa lliscar" +msgstr "[Add Feather Vertex and Slide]: Afegir nou vèrtex de vora borrosa i el fa lliscar" msgid "Add Feather Vertex" @@ -59965,7 +60288,7 @@ msgstr "Afegir vèrtex" msgid "Add vertex to active spline" -msgstr "Afegeix un vèrtex al spline actiu" +msgstr "Afegir un vèrtex al spline actiu" msgctxt "Operator" @@ -59974,7 +60297,7 @@ msgstr "Afegir vèrtex i lliscar" msgid "Add new vertex and slide it" -msgstr "[Add Vertex and Slide]: Afegeix un nou vèrtex i el fa lliscar" +msgstr "[Add Vertex and Slide]: Afegir un nou vèrtex i el fa lliscar" msgid "Add Vertex" @@ -60061,7 +60384,7 @@ msgstr "Afegir capa de màscara" msgid "Add new mask layer for masking" -msgstr "Afegeix una nova capa de màscara per a emmascarar" +msgstr "Afegir una nova capa de màscara per a emmascarar" msgid "Name of new mask layer" @@ -60108,7 +60431,7 @@ msgstr "Afegir cercle" msgid "Add new circle-shaped spline" -msgstr "Afegeix un nou spline en forma de cercle" +msgstr "Afegir un nou spline en forma de cercle" msgid "Location of new circle" @@ -60125,7 +60448,7 @@ msgstr "Afegir quadrat" msgid "Add new square-shaped spline" -msgstr "Afegeix una nova spline quadrada" +msgstr "Afegir una nova spline quadrada" msgid "Select spline points" @@ -60700,7 +61023,7 @@ msgstr "Afegir pesos a bisell d'aresta" msgid "Add an edge bevel weight layer" -msgstr "[Add Edge Bevel Weight]: Afegeix una capa de pes al bisell d'aresta" +msgstr "[Add Edge Bevel Weight]: Afegir una capa de pes al bisell d'aresta" msgctxt "Operator" @@ -60718,7 +61041,7 @@ msgstr "Afegir pesos de bisells de vèrtexs" msgid "Add a vertex bevel weight layer" -msgstr "[Add Vertex Bevel Weight]: Afegeix una capa de pesos de bisells de vèrtexs" +msgstr "[Add Vertex Bevel Weight]: Afegir una capa de pesos de bisells de vèrtexs" msgctxt "Operator" @@ -60732,38 +61055,38 @@ msgstr "Neteja la capa de pesos de bisells de vèrtexs" msgctxt "Operator" msgid "Add Edge Crease" -msgstr "Afegir retenció d'aresta" +msgstr "Afegir doblecs d'aresta" msgid "Add an edge crease layer" -msgstr "[Add Edge Crease]: Afegeix una capa de retenció d'aresta" +msgstr "[Add Edge Crease]: Afegir una capa de doblecs d'aresta" msgctxt "Operator" msgid "Clear Edge Crease" -msgstr "Descartar retenció d'aresta" +msgstr "Descartar doblecs d'aresta" msgid "Clear the edge crease layer" -msgstr "Neteja la capa de retenció d'aresta" +msgstr "Neteja la capa de doblecs d'aresta" msgctxt "Operator" msgid "Add Vertex Crease" -msgstr "Afegir retenció de vèrtex" +msgstr "Afegir doblecs de vèrtex" msgid "Add a vertex crease layer" -msgstr "[[Add Vertex Crease]: ]: Afegeix una capa de retenció de vèrtex" +msgstr "[[Add Vertex Crease]: ]: Afegir una capa de doblecs de vèrtex" msgctxt "Operator" msgid "Clear Vertex Crease" -msgstr "Descartar retenció de vèrtex" +msgstr "Descartar doblecs de vèrtex" msgid "Clear the vertex crease layer" -msgstr "Neteja la capa de retenció de vèrtex" +msgstr "Neteja la capa de doblecs de vèrtex" msgctxt "Operator" @@ -60772,7 +61095,7 @@ msgstr "Afegir dades de normals dividides personalitzades" msgid "Add a custom split normals layer, if none exists yet" -msgstr "[Add Custom Split Normals Data]: Afegeix una capa de normals dividides personalitzada, si encara no n'hi ha" +msgstr "[Add Custom Split Normals Data]: Afegir una capa de normals dividides personalitzada, si encara no n'hi ha" msgctxt "Operator" @@ -60795,16 +61118,16 @@ msgstr "[Clear Sculpt Mask Data]: Neteja les dades d'emmascarament d'escultura d msgctxt "Operator" msgid "Add Skin Data" -msgstr "Afegir dades de pellam" +msgstr "Afegir dades de pell" msgid "Add a vertex skin layer" -msgstr "[Add Skin Data]: Afegeix una capa de pell de vèrtexs" +msgstr "[Add Skin Data]: Afegir una capa de pell de vèrtexs" msgctxt "Operator" msgid "Clear Skin Data" -msgstr "Descartar dades de pellam" +msgstr "Descartar dades de pell" msgid "Clear vertex skin layer" @@ -60986,7 +61309,7 @@ msgstr "Produir aresta / cara" msgid "Add an edge or face to selected" -msgstr "[Make Edge/Face]: Afegeix una aresta o cara a la selecció" +msgstr "[Make Edge/Face]: Afegir una aresta o cara a la selecció" msgctxt "Operator" @@ -61054,7 +61377,7 @@ msgstr "Revesar selecció" msgctxt "Operator" msgid "Select Sharp Edges" -msgstr "Seleccionar arestes agudes" +msgstr "Seleccionar cantells aguts" msgid "Select all sharp enough edges" @@ -61136,7 +61459,7 @@ msgstr "Extrudir cares individuals" msgid "Shrink/fatten selected vertices along normals" -msgstr "Encongir/expandir els vèrtexs seleccionats seguint les normals" +msgstr "Encongir/Inflar els vèrtexs seleccionats seguint les normals" msgctxt "Operator" @@ -61167,7 +61490,7 @@ msgstr "[Extrude Region]: Extrudeix una regió i en mou el resultat" msgctxt "Operator" msgid "Extrude Region and Shrink/Fatten" -msgstr "Extrudir regió i encongeix/expandeix" +msgstr "Extrudir regió i Encongir/Inflar" msgid "Extrude region together along local normals" @@ -61232,7 +61555,7 @@ msgstr "Afegir bucle de terme" msgid "Add an extra edge loop to better preserve the shape when applying a subdivision surface modifier" -msgstr "[Add Boundary Loop]: Afegeix una anella d'arestes extra per preservar millor la forma quan s'apliqui un modificador de subdivisió de superfície" +msgstr "[Add Boundary Loop]: Afegir una anella d'arestes extra per preservar millor la forma quan s'apliqui un modificador de subdivisió de superfície" msgid "Extract as Solid" @@ -61532,7 +61855,7 @@ msgstr "Usa altres contorns i límits per a projectar talls de ganivet" msgid "Cut Through" -msgstr "Tallar a través" +msgstr "Tallar transversalment" msgid "Cut through all faces, not just visible ones" @@ -61681,7 +62004,7 @@ msgstr "Inserir bucle" msgid "Add a new loop between existing loops" -msgstr "[Loop Cut]: Afegeix un nou bucle entre els bucles existents" +msgstr "[Loop Cut]: Afegir un nou bucle entre els bucles existents" msgid "Edge Index" @@ -61872,7 +62195,7 @@ msgstr "Afegir normal" msgid "Add normal vector with selection" -msgstr "Afegeix un vector de normal amb selecció" +msgstr "Afegir un vector de normal amb selecció" msgid "Multiply Normal" @@ -61901,7 +62224,7 @@ msgstr "[Offset Edge Loop]: Crea una anella d'arestes separada de la selecció a msgid "Cap Endpoint" -msgstr "Cobrir punt final" +msgstr "Cobrir punta final" msgid "Extend loop around end-points" @@ -62206,7 +62529,7 @@ msgstr "Afegir Cub" msgid "Construct a cube mesh" -msgstr "[Add Cube]: Construeix una malla cub" +msgstr "[Add Cub]: Construeix una malla cub" msgctxt "Operator" @@ -62254,7 +62577,7 @@ msgstr "Afegir mona" msgid "Construct a Suzanne mesh" -msgstr "[Add Monkey]: Construeix una malla de Suzanne" +msgstr "[Add Monkey]: Construeix una Susanna de malla" msgctxt "Operator" @@ -62304,7 +62627,7 @@ msgstr "Segments majors" msgid "Number of segments for the main ring of the torus" -msgstr "Nombre de segments per a l'anell principal del torus" +msgstr "Nombre de segments per a l'anell principal del tor" msgid "Minor Radius" @@ -62320,7 +62643,7 @@ msgstr "Segments menors" msgid "Number of segments for the minor ring of the torus" -msgstr "Nombre de segments per a l'anell menor del torus" +msgstr "Nombre de segments per a l'anell menor del tor" msgid "Dimensions Mode" @@ -62332,7 +62655,7 @@ msgstr "Major/Menor" msgid "Use the major/minor radii for torus dimensions" -msgstr "[Major/Minor]: Usa el radi major/menor per a les dimensions del torus" +msgstr "[Major/Minor]: Usa el radi major/menor per a les dimensions del tor" msgid "Exterior/Interior" @@ -62340,7 +62663,7 @@ msgstr "Exterior/Interior" msgid "Use the exterior/interior radii for torus dimensions" -msgstr "Usa els radis exterior/interior per a les dimensions del torus" +msgstr "Usa els radis exterior/interior per a les dimensions del tor" msgctxt "Operator" @@ -62648,7 +62971,7 @@ msgstr "Cardan" msgid "Align each axis to the Euler rotation axis as used for input" -msgstr "[Gimbal]: Alinea cada eix a l'eix de rotació d'Euler utilitzat com a ingressió" +msgstr "[Gimbal]: Alinea cada eix a l'eix de rotació d'euler utilitzat com a ingressió" msgid "Align the transformation axes to the window" @@ -62873,7 +63196,7 @@ msgstr "Quantitat d'arestes connectades" msgctxt "Mesh" msgid "Vertex Crease" -msgstr "Retenció de vèrtex" +msgstr "Doblec de vèrtex" msgctxt "Mesh" @@ -62898,7 +63221,7 @@ msgstr "Angles de cares" msgctxt "Mesh" msgid "Crease" -msgstr "Retenció" +msgstr "Doblec" msgctxt "Mesh" @@ -63025,7 +63348,7 @@ msgstr "Etiquetar agut" msgid "Tag Crease" -msgstr "Etiquetar retenció" +msgstr "Etiquetar doblec" msgid "Tag Bevel" @@ -63327,7 +63650,7 @@ msgstr "Afegir mapa UV" msgid "Add UV map" -msgstr "Afegeix un mapa UV" +msgstr "Afegir un mapa UV" msgctxt "Operator" @@ -63461,11 +63784,11 @@ msgstr "[Wireframe]: Crea un bastiment sòlid a partir de cares" msgid "Crease Weight" -msgstr "Pesos de retenció" +msgstr "Pesos de doblec" msgid "Crease hub edges for an improved subdivision surface" -msgstr "[Crease Weight]: Retén els punts de trobada de les arestes per millorar la subdivisió de superfície" +msgstr "[Crease Weight]: Posa doblecs als punts de trobada de les arestes per millorar la subdivisió de superfície" msgid "Remove original faces" @@ -63507,7 +63830,7 @@ msgstr "Afegir segment d'acció" msgid "Add an Action-Clip strip (i.e. an NLA Strip referencing an Action) to the active track" -msgstr "[Add Action Strip]: Afegeix un segment de vídeo-acció (és a dir, un segment d' ANL que referencia una acció) a la pista activa" +msgstr "[Add Action Strip]: Afegir un segment de vídeoacció (és a dir, un segment d' ANL que referencia una acció) a la pista activa" msgctxt "Operator" @@ -63561,7 +63884,7 @@ msgstr "Descartar pares" msgid "Bake animation onto the object then clear parents (objects only)" -msgstr "[Clear Parents]: Preciona l'animació sobre l'objecte i després liquida els pares (només objectes)" +msgstr "[Clear Parents]: Precuina l'animació sobre l'objecte i després liquida els pares (només objectes)" msgid "Only Selected Bones" @@ -63655,7 +63978,7 @@ msgstr "Afegir modificador-F" msgid "Add F-Modifier to the active/selected NLA-Strips" -msgstr "[Add F-Modifier]: Afegeix un modificador-F al segment d'ANL actiu/seleccionat" +msgstr "[Add modificador-F]: Afegir un modificador-F al segment d'ANL actiu/seleccionat" msgctxt "Action" @@ -63694,7 +64017,7 @@ msgstr "Afegir metasegments" msgid "Add new meta-strips incorporating the selected strips" -msgstr "[Add Meta-Strips]: Afegeix nous metasegments que incorporen els segments seleccionats" +msgstr "[Add Meta-Strips]: Afegir nous metasegments que incorporen els segments seleccionats" msgctxt "Operator" @@ -63773,7 +64096,7 @@ msgstr "Afegir segment de so" msgid "Add a strip for controlling when speaker plays its sound clip" -msgstr "[Add Sound Clip]: Afegeix un segment per controlar quan l'altaveu emet el segment de so" +msgstr "[Add Sound Clip]: Afegir un segment per controlar quan l'altaveu emet el segment de so" msgctxt "Operator" @@ -63808,7 +64131,7 @@ msgstr "Damunt dels seleccionats" msgid "Add a new NLA Track above every existing selected one" -msgstr "Afegeix una nova ANL sobre cada seleccionada" +msgstr "Afegir una nova ANL sobre cada seleccionada" msgctxt "Operator" @@ -63826,7 +64149,7 @@ msgstr "Afegir transició" msgid "Add a transition strip between two adjacent selected strips" -msgstr "Afegeix un segment de transició entre dos segments adjacents seleccionats" +msgstr "Afegir un segment de transició entre dos segments adjacents seleccionats" msgctxt "Operator" @@ -63881,7 +64204,7 @@ msgstr "Afegir col·lecció de nodes" msgid "Add a collection info node to the current node editor" -msgstr "Afegeix un node d'info de col·lecció a l'editor de nodes actual" +msgstr "Afegir un node d'info de col·lecció a l'editor de nodes actual" msgid "Name of the data-block to use by the operator" @@ -63902,7 +64225,7 @@ msgstr "Afegir node document" msgid "Add a file node to the current node editor" -msgstr "[Add File Node]: Afegeix un node de document a l'editor de nodes actual" +msgstr "[Add File Node]: Afegir un node de document a l'editor de nodes actual" msgctxt "Operator" @@ -63911,7 +64234,7 @@ msgstr "Afegir grup de nodes" msgid "Add an existing node group to the current node editor" -msgstr "Afegeix un grup de nodes existent a l'editor de nodes actual" +msgstr "Afegir un grup de nodes existent a l'editor de nodes actual" msgctxt "Operator" @@ -63920,7 +64243,7 @@ msgstr "Afegir recurs a grup de nodes" msgid "Add a node group asset to the active node tree" -msgstr "[Add Node Group Asset]: Afegeix un recurs de grup de nodes a l'arbre de nodes actiu" +msgstr "[Add Node Group Asset]: Afegir un recurs de grup de nodes a l'arbre de nodes actiu" msgctxt "Operator" @@ -63929,7 +64252,7 @@ msgstr "Afegir node màscara" msgid "Add a mask node to the current node editor" -msgstr "Afegeix un node de màscara a l'editor de nodes actual" +msgstr "Afegir un node de màscara a l'editor de nodes actual" msgctxt "Operator" @@ -63938,7 +64261,7 @@ msgstr "Afegir node" msgid "Add a node to the active tree" -msgstr "Afegeix un node a l'arbre actiu" +msgstr "Afegir un node a l'arbre actiu" msgid "Settings to be applied on the newly created node" @@ -63963,7 +64286,7 @@ msgstr "Afegir objecte node" msgid "Add an object info node to the current node editor" -msgstr "[Add Node Object]: Afegeix un node d'informació d'objecte a l'editor de nodes actual" +msgstr "[Add Node Object]: Afegir un node d'informació d'objecte a l'editor de nodes actual" msgctxt "Operator" @@ -63972,7 +64295,7 @@ msgstr "Afegir redireccionar" msgid "Add a reroute node" -msgstr "[Add Reroute]: Afegeix un node de redireccionament" +msgstr "[Add Reroute]: Afegir un node de redireccionament" msgctxt "Operator" @@ -64069,7 +64392,7 @@ msgstr "Afegir born de criptoclapa" msgid "Add a new input layer to a Cryptomatte node" -msgstr "[Add Cryptomatte Socket]: Afegeix una nova capa d'ingressió en un node criptoclapa" +msgstr "[Add Cryptomatte Socket]: Afegir una nova capa d'ingressió en un node criptoclapa" msgctxt "Operator" @@ -64189,7 +64512,7 @@ msgstr "Egressió de material glTF" msgid "Add a node to the active tree for glTF export" -msgstr "[glTF Material Output]: Afegeix un node a l'arbre actiu per a l'exportació de glTF" +msgstr "[glTF Material Output]: Afegir un node a l'arbre actiu per a l'exportació de glTF" msgctxt "Operator" @@ -64457,7 +64780,7 @@ msgstr "Afegir predefinit de color de node" msgid "Add or remove a Node Color Preset" -msgstr "[Add Node Color Preset]: Afegeix o elimina un valor predefinit de color de node" +msgstr "[Add Node Color Preset]: Afegir o elimina un valor predefinit de color de node" msgid "Copy color to all selected nodes" @@ -64479,7 +64802,7 @@ msgstr "Afegir born de node par a document" msgid "Add a new input to a file output node" -msgstr "[Add File Node Socket]: Afegeix una entrada nova a un node de sortida de document" +msgstr "[Add File Node Socket]: Afegir una entrada nova a un node de sortida de document" msgid "Subpath of the output file" @@ -64662,7 +64985,7 @@ msgstr "Afegir born d'interfície a arbre de nodes" msgid "Add an input or output to the active node tree" -msgstr "[Add Node Tree Interface Socket]: Afegeix un born d'entrada o sortida a l'arbre de nodes actiu" +msgstr "[Add Node Tree Interface Socket]: Afegir un born d'entrada o sortida a l'arbre de nodes actiu" msgid "Socket Type" @@ -64706,7 +65029,7 @@ msgstr "Redimensiona la vista perquè es puguin veure els nodes seleccionats" msgctxt "Operator" msgid "Viewer Region" -msgstr "Regió de visualització" +msgstr "Regió visor" msgid "Set the boundaries for viewer operations" @@ -64719,7 +65042,7 @@ msgstr "Afegir objecte" msgid "Add an object to the scene" -msgstr "Afegeix un objecte a l'escena" +msgstr "Afegir un objecte a l'escena" msgid "Add named object" @@ -64826,7 +65149,7 @@ msgstr "Afegir esquelet" msgid "Add an armature object to the scene" -msgstr "[Add Armature]: Afegeix un objecte esquelet a l'escena" +msgstr "[Add Armature]: Afegir un objecte esquelet a l'escena" msgctxt "Operator" @@ -64901,7 +65224,7 @@ msgstr "Afegir càmera" msgid "Add a camera object to the scene" -msgstr "Afegeix un objecte càmera a l'escena" +msgstr "Afegir un objecte càmera a l'escena" msgctxt "Operator" @@ -64919,7 +65242,7 @@ msgstr "Afegir a col·lecció" msgid "Add an object to a new collection" -msgstr "Afegeix un objecte a una nova col·lecció" +msgstr "Afegir un objecte a una nova col·lecció" msgctxt "Operator" @@ -64928,7 +65251,7 @@ msgstr "Afegir col·lecció" msgid "Add the dragged collection to the scene" -msgstr "Afegeix a l'escena la col·lecció arrossegada" +msgstr "Afegir a l'escena la col·lecció arrossegada" msgid "Add the dropped collection as collection instance" @@ -64941,7 +65264,7 @@ msgstr "Afegir instància de col·lecció" msgid "Add a collection instance" -msgstr "Afegeix una instància de col·lecció" +msgstr "Afegir una instància de col·lecció" msgid "Collection name to add" @@ -64954,7 +65277,7 @@ msgstr "Enllaçar a col·lecció" msgid "Add an object to an existing collection" -msgstr "Afegeix un objecte a una col·lecció existent" +msgstr "Afegir un objecte a una col·lecció existent" msgctxt "Operator" @@ -64990,16 +65313,16 @@ msgstr "Afegir restricció" msgid "Add a constraint to the active object" -msgstr "Afegeix una restricció a l'objecte actiu" +msgstr "Afegir una restricció a l'objecte actiu" msgctxt "Operator" msgid "Add Constraint (with Targets)" -msgstr "Afegeix restricció (amb referents)" +msgstr "Afegir restricció (amb referents)" msgid "Add a constraint to the active object, with target (where applicable) set to the selected objects/bones" -msgstr "Afegeix una restricció a l'objecte actiu, amb un referent (on sigui aplicable) establert als objectes/ossos seleccionats" +msgstr "Afegir una restricció a l'objecte actiu, amb un referent (on sigui aplicable) establert als objectes/ossos seleccionats" msgctxt "Operator" @@ -65054,10 +65377,18 @@ msgid "Curve from Mesh or Text objects" msgstr "Corba des d'objectes malla o text" +msgid "Mesh from Curve, Surface, Metaball, Text, or Point Cloud objects" +msgstr "Malla des de corba, superfície, metabola, text o objectes de núvol de punts" + + msgid "Grease Pencil from Curve or Mesh objects" msgstr "Llapis de greix a partir d'objectes corba o malla" +msgid "Point Cloud from Mesh objects" +msgstr "Núvol de punts des d'objectes malla" + + msgid "Curves from evaluated curve data" msgstr "Corbes de dades de corbes avaluades" @@ -65086,7 +65417,7 @@ msgstr "Afegir corbes buides" msgid "Add an empty curve object to the scene with the selected mesh as surface" -msgstr "[Add Empty Curves]: Afegeix un objecte de corba buit a l'escena amb la malla seleccionada com a superfície" +msgstr "[Add Empty Curves]: Afegir un objecte de corba buit a l'escena amb la malla seleccionada com a superfície" msgctxt "Operator" @@ -65095,7 +65426,7 @@ msgstr "Afegir corbes aleatòries" msgid "Add a curves object with random curves to the scene" -msgstr "[Add Random Curves]: Afegeix a l'escena un objecte corba amb corbes aleatòries" +msgstr "[Add Random Curves]: Afegir a l'escena un objecte corba amb corbes aleatòries" msgctxt "Operator" @@ -65104,7 +65435,7 @@ msgstr "Afegir instància de dades d'objecte" msgid "Add an object data instance" -msgstr "Afegeix una instància de dades d'objecte" +msgstr "Afegir una instància de dades d'objecte" msgctxt "Operator" @@ -65125,11 +65456,11 @@ msgstr "Grup(s) de vèrtexs" msgid "Subdivision Crease" -msgstr "Retenció de subdivisió" +msgstr "Doblec de subdivisió" msgid "Transfer crease values" -msgstr "Transferir valors de retenció" +msgstr "Transferir valors de doblec" msgid "Factor controlling precision of islands handling (the higher, the better the results)" @@ -65157,7 +65488,7 @@ msgstr "Crear dades" msgid "Add data layers on destination meshes if needed" -msgstr "Afegeix capes de dades a les malles de destinació si cal" +msgstr "Afegir capes de dades a les malles de destinació si cal" msgid "Freeze Operator" @@ -65220,7 +65551,7 @@ msgstr "Afegir imatge buida/llança imatge a trivi" msgid "Add an empty image type to scene with data" -msgstr "Afegeix un tipus d'imatge buida a escena amb dades" +msgstr "Afegir un tipus d'imatge buida a escena amb dades" msgid "Filepath" @@ -65293,7 +65624,7 @@ msgstr "Afegir efectuador" msgid "Add an empty object with a physics effector to the scene" -msgstr "Afegeix a l'escena un objecte trivi amb un efectuador físic" +msgstr "Afegir a l'escena un objecte trivi amb un efectuador físic" msgctxt "Operator" @@ -65302,7 +65633,7 @@ msgstr "Afegir trivi" msgid "Add an empty object to the scene" -msgstr "[Add Empty]: Afegeix un objecte trivi a l'escena" +msgstr "[Add Empty]: Afegir un objecte trivi a l'escena" msgctxt "Operator" @@ -65320,7 +65651,7 @@ msgstr "Afegir mapa de cares" msgid "Add a new face map to the active object" -msgstr "[Add Face Map]: Afegeix un nou mapa de cares a l'objecte actiu" +msgstr "[Add Face Map]: Afegir un nou mapa de cares a l'objecte actiu" msgctxt "Operator" @@ -65334,7 +65665,7 @@ msgstr "[Assign Face Map]: Assigna cares a un mapa de cares" msgctxt "Operator" msgid "Deselect Face Map Faces" -msgstr "Deseleccionar cares de mapa de cares" +msgstr "Desseleccionar cares de mapa de cares" msgid "Deselect faces belonging to a face map" @@ -65427,7 +65758,7 @@ msgstr "Afegir llapis de greix" msgid "Add a Grease Pencil object to the scene" -msgstr "[Add Grease Pencil]: Afegeix un objecte llapis de greix a l'escena" +msgstr "[Add Grease Pencil]: Afegir un objecte llapis de greix a l'escena" msgid "Stroke offset for the line art modifier" @@ -65488,7 +65819,7 @@ msgstr "Afegir modificador" msgid "Add a procedural operation/effect to the active grease pencil object" -msgstr "Afegeix una operació/efecte procedimental a l'objecte llapis de greix actiu" +msgstr "Afegir una operació/efecte procedimental a l'objecte llapis de greix actiu" msgctxt "Operator" @@ -65791,7 +66122,7 @@ msgstr "Afegir llum" msgid "Add a light object to the scene" -msgstr "Afegeix objecte llum a l'escena" +msgstr "Afegir objecte llum a l'escena" msgctxt "Operator" @@ -65800,7 +66131,7 @@ msgstr "Afegir sonda de llum" msgid "Add a light probe object" -msgstr "[Add Light Probe]: Afegeix un objecte sonda de llum" +msgstr "[Add Light Probe]: Afegir un objecte sonda de llum" msgid "Reflection probe with spherical or cubic attenuation" @@ -65873,7 +66204,7 @@ msgstr "Carregar Imatge de rerefons" msgid "Add a reference image into the background behind objects" -msgstr "[Load Background Image]: Afegeix una imatge de referència al rerefons darrere dels objectes" +msgstr "[Load Background Image]: Afegir una imatge de referència al rerefons darrere dels objectes" msgid "Align to View" @@ -65886,7 +66217,7 @@ msgstr "Carregar imatge de referència" msgid "Add a reference image into the scene between objects" -msgstr "Afegeix una imatge de referència a l'escena entre objectes" +msgstr "Afegir una imatge de referència a l'escena entre objectes" msgctxt "Operator" @@ -66069,7 +66400,7 @@ msgstr "Afegir epígraf de material" msgid "Add a new material slot" -msgstr "[Add Material Slot]: Afegeix un nou epígraf de material" +msgstr "[Add Material Slot]: Afegir un nou epígraf de material" msgctxt "Operator" @@ -66154,7 +66485,7 @@ msgstr "Afegir metabola" msgid "Add an metaball object to the scene" -msgstr "[Add Metaball]: Afegeix un objecte del tipus metabola a l'escena" +msgstr "[Add Metaball]: Afegir un objecte del tipus metabola a l'escena" msgid "Primitive" @@ -66180,7 +66511,7 @@ msgstr "Mode malla" msgid "Add a procedural operation/effect to the active object" -msgstr "Afegeix una operació/efecte de procedimental a l'objecte actiu" +msgstr "Afegir una operació/efecte de procedimental a l'objecte actiu" msgid "For mesh objects, merge UV coordinates that share a vertex to account for imprecision in some modifiers" @@ -66254,7 +66585,7 @@ msgstr "Mou els objectes a una col·lecció" msgctxt "Operator" msgid "Multires Apply Base" -msgstr "Aplicar multiresolució a base" +msgstr "Multires- Aplicar a base" msgid "Modify the base mesh to conform to the displaced mesh" @@ -66263,7 +66594,7 @@ msgstr "[Multires Apply Base]: Modifica la malla base per ajustar-se a la malla msgctxt "Operator" msgid "Multires Pack External" -msgstr "Empaquetat extern de multiresolució" +msgstr "Multires - Empaquetar extern" msgid "Pack displacements from an external file" @@ -66272,7 +66603,7 @@ msgstr "[Multires Pack External]: Empaqueta els desplaçaments des d'un document msgctxt "Operator" msgid "Multires Save External" -msgstr "Desament extern de multiresolució" +msgstr "Multires - Desar extern" msgid "Save displacements to an external file" @@ -66299,7 +66630,7 @@ msgstr "Reconstrueix tots els nivells de subdivisions possibles per generar una msgctxt "Operator" msgid "Multires Reshape" -msgstr "Recompondre multiresolució" +msgstr "Multires - Recompondre" msgid "Copy vertex coordinates from other object" @@ -66308,11 +66639,11 @@ msgstr "[Multires Reshape]: Copia les coordenades de vèrtexs d'un altre objecte msgctxt "Operator" msgid "Multires Subdivide" -msgstr "Subdividir multiresolució" +msgstr "Multires - Subdividir" msgid "Add a new level of subdivision" -msgstr "Afegeix un nou nivell de subdivisió" +msgstr "Afegir un nou nivell de subdivisió" msgid "Subdivision Mode" @@ -66526,7 +66857,7 @@ msgstr "Afegir epígraf de sistema de partícules" msgid "Add a particle system" -msgstr "[Add Particle System Slot]: Afegeix un sistema de partícules" +msgstr "[Add Particle System Slot]: Afegir un sistema de partícules" msgctxt "Operator" @@ -66579,6 +66910,30 @@ msgid "Paste onto all frames between the first and last selected key, creating n msgstr "[Bake on Key Range]: Enganxa a tots els fotogrames entre la primera i l'última fita seleccionades, creant fotofites noves si cal" +msgid "Location Axis" +msgstr "Eix d'ubicació" + + +msgid "Coordinate axis used to mirror the location part of the transform" +msgstr "Eix de coordenades usat per a emmirallar el component ubicació de la transformació" + + +msgid "Rotation Axis" +msgstr "Eix de rotació" + + +msgid "Coordinate axis used to mirror the rotation part of the transform" +msgstr "Eix de coordenades usat per a emmirallar el component rotació de la transformació" + + +msgid "Mirror Transform" +msgstr "Transformació mirall" + + +msgid "When pasting, mirror the transform relative to a specific object or bone" +msgstr "[Mirror Transform]: En enganxar, emmiralla la transformació en relació a un object o os específic" + + msgctxt "Operator" msgid "Calculate Object Motion Paths" msgstr "Calcular trajectes de moviment d'objectes" @@ -66629,7 +66984,7 @@ msgstr "Afegir núvol de punts" msgid "Add a point cloud object to the scene" -msgstr "Afegeix un objecte núvol de punts a l'escena" +msgstr "Afegir un objecte núvol de punts a l'escena" msgctxt "Operator" @@ -66765,7 +67120,7 @@ msgstr "Pellam ràpid" msgid "Add a fur setup to the selected objects" -msgstr "[Quick Fur]: Afegeix una configuració de pèl als objectes seleccionats" +msgstr "[Quick Fur]: Afegir una configuració de pèl als objectes seleccionats" msgid "Apply Hair Guides" @@ -66897,7 +67252,7 @@ msgstr "Reinicia sobreseïment de biblioteca" msgid "Reset the selected local overrides to their linked references values" -msgstr "[Reset Library Override]: Restableix les excepcions locals seleccionades als seus valors de referència enllaçats" +msgstr "[Reset Library Override]: Restableix les sobreseïments locals seleccionades als seus valors de referència enllaçats" msgctxt "Operator" @@ -67041,10 +67396,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "Anomenar el filtre usant els comodins d'estil unix «*», «?» i «[abc]»" -msgid "Set select on random visible objects" -msgstr "Determina la selecció en objectes visibles aleatoris" - - msgctxt "Operator" msgid "Select Same Collection" msgstr "Seleccionar mateixa col·lecció" @@ -67076,7 +67427,7 @@ msgstr "Afegir efecte" msgid "Add a visual effect to the active object" -msgstr "Afegeix un efecte visual a l'objecte actiu" +msgstr "Afegir un efecte visual a l'objecte actiu" msgctxt "ID" @@ -67130,7 +67481,7 @@ msgstr "Passepartout" msgid "Add a rim to the image" -msgstr "[Rim]: Afegeix una vora a la imatge" +msgstr "[Rim]: Afegir una vora a la imatge" msgctxt "ID" @@ -67219,7 +67570,7 @@ msgstr "Afegir morfofita" msgid "Add shape key to the object" -msgstr "[Add Shape Key]: Afegeix una morfofita a l'objecte" +msgstr "[Add Shape Key]: Afegir una morfofita a l'objecte" msgid "From Mix" @@ -67386,7 +67737,7 @@ msgstr "Afegir altaveu" msgid "Add a speaker object to the scene" -msgstr "[Add Speaker]: Afegeix un objecte altaveu a l'escena" +msgstr "[Add Speaker]: Afegir un objecte altaveu a l'escena" msgctxt "Operator" @@ -67417,7 +67768,7 @@ msgstr "Afegir text" msgid "Add a text object to the scene" -msgstr "Afegeix un objecte text a l'escena" +msgstr "Afegir un objecte text a l'escena" msgctxt "Operator" @@ -67569,7 +67920,7 @@ msgstr "Afegir grup de vèrtexs" msgid "Add a new vertex group to the active object" -msgstr "Afegeix un nou grup de vèrtexs a l'objecte actiu" +msgstr "Afegir un nou grup de vèrtexs a l'objecte actiu" msgctxt "Operator" @@ -67637,7 +67988,7 @@ msgstr "Afegir pesos" msgid "Add vertices from groups that have zero weight before inverting" -msgstr "[Add Weights]: Afegeix vèrtexs des de grups que tenen pes zero abans de capgirar" +msgstr "[Add Weights]: Afegir vèrtexs des de grups que tenen pes zero abans de capgirar" msgid "Remove Weights" @@ -67654,7 +68005,7 @@ msgstr "Nivells de grups de vèrtexs" msgid "Add some offset and multiply with some gain the weights of the active vertex group" -msgstr "Afegeix algun desplaçament i multiplica amb alguns guanys els pesos del grup de vèrtex actiu" +msgstr "Afegir algun desplaçament i multiplica amb alguns guanys els pesos del grup de vèrtex actiu" msgid "Value to multiply weights by" @@ -67956,7 +68307,7 @@ msgstr "Afegir volum" msgid "Add a volume object to the scene" -msgstr "Afegeix un objecte volum a l'escena" +msgstr "Afegir un objecte volum a l'escena" msgctxt "Operator" @@ -68216,7 +68567,7 @@ msgstr "Nova col·lecció" msgid "Add a new collection inside selected collection" -msgstr "Afegeix una col·lecció nova dins de la col·lecció seleccionada" +msgstr "Afegir una col·lecció nova dins de la col·lecció seleccionada" msgid "Nested" @@ -68224,7 +68575,7 @@ msgstr "Aniuat" msgid "Add as child of selected collection" -msgstr "Afegeix com a fill de la col·lecció seleccionada" +msgstr "Afegir com a fill de la col·lecció seleccionada" msgctxt "Operator" @@ -68304,7 +68655,7 @@ msgstr "Afegir controladors per a selecció" msgid "Add drivers to selected items" -msgstr "[Add Drivers for Selected]: Afegeix controladors als elements seleccionats" +msgstr "[Add Drivers for Selected]: Afegir controladors als elements seleccionats" msgctxt "Operator" @@ -68488,20 +68839,20 @@ msgstr "Canvia el nom de l'element actiu, preferiblement al que té el ratolí a msgctxt "Operator" msgid "Keying Set Add Selected" -msgstr "Afegir selecció a conjunt de fites" +msgstr "Afegir selecció a joc de fites" msgid "Add selected items (blue-gray rows) to active Keying Set" -msgstr "[Keying Set Add Selected]: Afegeix els elements seleccionats (files gris-blau) al conjunt de fites actiu" +msgstr "[Keying Set Add Selected]: Afegir els elements seleccionats (files gris-blau) al joc de fites actiu" msgctxt "Operator" msgid "Keying Set Remove Selected" -msgstr "Eliminar selecció a conjunt de fites" +msgstr "Eliminar selecció a joc de fites" msgid "Remove selected items (blue-gray rows) from active Keying Set" -msgstr "Elimina els elements seleccionats (files gris-blau) del conjunt de fites actiu" +msgstr "Elimina els elements seleccionats (files gris-blau) del joc de fites actiu" msgctxt "Operator" @@ -68849,7 +69200,7 @@ msgstr "Afegir nou punt de corba de pintura" msgid "Add New Paint Curve Point" -msgstr "[Add New Paint Curve Point]: Afegeix un punt de corba de pintura nou" +msgstr "[Add New Paint Curve Point]: Afegir un punt de corba de pintura nou" msgid "Location of vertex in area space" @@ -68862,7 +69213,7 @@ msgstr "Afegir punt de corba i lliscar" msgid "Add new curve point and slide it" -msgstr "Afegeix un nou punt de corba i el fa lliscar" +msgstr "Afegir un nou punt de corba i el fa lliscar" msgid "Slide Paint Curve Point" @@ -68901,7 +69252,7 @@ msgstr "Afegir nova corba de pintura" msgid "Add new paint curve" -msgstr "Afegeix una corba de pintura nova" +msgstr "Afegir una corba de pintura nova" msgctxt "Operator" @@ -68949,7 +69300,7 @@ msgstr "Afegir epígraf de pintat" msgid "Add a paint slot" -msgstr "[Add Paint Slot]: Afegeix una epígraf de pintura" +msgstr "[Add Paint Slot]: Afegir una epígraf de pintura" msgid "Name for new paint slot source" @@ -69015,6 +69366,14 @@ msgid "Hide selected faces" msgstr "Amaga les cares seleccionades" +msgid "Deselect Faces connected to existing selection" +msgstr "Desseleccionar cares connectades a la selecció existent" + + +msgid "Also deselect faces that only touch on a corner" +msgstr "També desseleccionar cares que només toquen a una cantonada" + + msgid "Select linked faces" msgstr "Seleccionar cares enllaçades" @@ -69028,6 +69387,14 @@ msgid "Select linked faces under the cursor" msgstr "[Select Linked Pick]: Selecciona les cares enllaçades sota del cursor" +msgid "Select Faces connected to existing selection" +msgstr "Seleccionar cares connectades a la selecció actual" + + +msgid "Also select faces that only touch on a corner" +msgstr "També seleccionar cares que només toquen una cantonada" + + msgctxt "Operator" msgid "Reveal Faces/Vertices" msgstr "Evidenciar cares/vèrtexs" @@ -69043,11 +69410,11 @@ msgstr "Especifica si s'ha de seleccionar la geometria exposada de nou" msgctxt "Operator" msgid "Grab Clone" -msgstr "Agafar clon" +msgstr "Agafar clonació" msgid "Move the clone source image" -msgstr "[Grab Clone]: Mou la imatge d'origen del clon" +msgstr "[Grab Clone]: Mou la imatge d'origen per a clonatge" msgid "Delta offset of clone image in 0.0 to 1.0 coordinates" @@ -69151,7 +69518,7 @@ msgstr "Gest amb màscara de capsa" msgid "Add mask within the box as you move the brush" -msgstr "[Mask Box Gesture]: Afegeix una màscara dins la capsa mentre es mou el pinzell" +msgstr "[Mask Box Gesture]: Afegir una màscara dins la capsa mentre es mou el pinzell" msgid "Set mask to the level specified by the 'value' property" @@ -69205,7 +69572,7 @@ msgstr "Màscara de gest de llaç" msgid "Add mask within the lasso as you move the brush" -msgstr "[Mask Lasso Gesture]: Afegeix una màscara dins del llaç a mesura que mous el pinzell" +msgstr "[Mask Lasso Gesture]: Afegir una màscara dins del llaç a mesura que mous el pinzell" msgctxt "Operator" @@ -69214,7 +69581,7 @@ msgstr "Màscara de gest de línia" msgid "Add mask to the right of a line as you move the brush" -msgstr "[Mask Line Gesture]: Afegeix una màscara a la dreta d'una línia mesura que mous el pinzell" +msgstr "[Mask Line Gesture]: Afegir una màscara a la dreta d'una línia mesura que mous el pinzell" msgctxt "Operator" @@ -69268,6 +69635,10 @@ msgid "Hide unselected rather than selected vertices" msgstr "Ocultar vèrtexs no seleccionats preferiblement als seleccionats" +msgid "Deselect Vertices connected to existing selection" +msgstr "Desseleccionar vèrtexs connectats a la selecció existent" + + msgctxt "Operator" msgid "Select Linked Vertices" msgstr "Seleccionar vèrtexs enllaçats" @@ -69290,6 +69661,10 @@ msgid "Whether to select or deselect linked vertices under the cursor" msgstr "Si cal o no cal seleccionar vèrtexs enllaçats sota del cursor" +msgid "Select Vertices connected to existing selection" +msgstr "Seleccionar vèrtexs connectats a la selecció existent" + + msgctxt "Operator" msgid "Dirty Vertex Colors" msgstr "Colors de vèrtexs ronyosos" @@ -69469,7 +69844,7 @@ msgstr "Nou color de paleta" msgid "Add new color to active palette" -msgstr "[New Palette Color]: Afegeix un color nou a la paleta activa" +msgstr "[New Palette Color]: Afegir un color nou a la paleta activa" msgctxt "Operator" @@ -69522,7 +69897,7 @@ msgstr "Afegir nova paleta" msgid "Add new palette" -msgstr "Afegeix una paleta nova" +msgstr "Afegir una paleta nova" msgctxt "Operator" @@ -69703,7 +70078,7 @@ msgstr "Afegir predefinit de dinàmica de pèl" msgid "Add or remove a Hair Dynamics Preset" -msgstr "[Add Hair Dynamics Preset]: Afegeix o elimina un valor predefinit de dinàmica del pèl o cabell" +msgstr "[Add Hair Dynamics Preset]: Afegir o elimina un valor predefinit de dinàmica del pèl o cabell" msgid "Hide selected particles" @@ -69725,7 +70100,7 @@ msgstr "Nova configuració de partícules" msgid "Add new particle settings" -msgstr "Afegeix nous paràmetres de partícules" +msgstr "Afegir nous paràmetres de partícules" msgctxt "Operator" @@ -69734,7 +70109,7 @@ msgstr "Nou referent de partícula" msgid "Add a new particle target" -msgstr "[New Particle Target]: Afegeix un nou referent de partícula" +msgstr "[New Particle Target]: Afegir un nou referent de partícula" msgctxt "Operator" @@ -70104,7 +70479,7 @@ msgstr "Afegir restricció a os actiu" msgid "Add a constraint to the active bone, with target (where applicable) set to the selected Objects/Bones" -msgstr "Afegeix una restricció a l'os actiu, amb el referent (on sigui aplicable) assignat als objectes/ossos seleccionats" +msgstr "Afegir una restricció a l'os actiu, amb el referent (on sigui aplicable) assignat als objectes/ossos seleccionats" msgctxt "Operator" @@ -70140,7 +70515,7 @@ msgstr "Afegir grup d'ossos" msgid "Add a new bone group" -msgstr "Afegeix un nou grup d'ossos" +msgstr "Afegir un nou grup d'ossos" msgctxt "Operator" @@ -70149,7 +70524,7 @@ msgstr "Afegir la selecció al grup d'ossos" msgid "Add selected bones to the chosen bone group" -msgstr "Afegeix els ossos seleccionats al grup d'ossos escollit" +msgstr "Afegir els ossos seleccionats al grup d'ossos escollit" msgid "Bone Group Index" @@ -70224,7 +70599,7 @@ msgstr "Afegir CI a os" msgid "Add IK Constraint to the active Bone" -msgstr "Afegeix la restricció CI a l'os actiu" +msgstr "Afegir la restricció CI a l'os actiu" msgid "With Targets" @@ -70626,7 +71001,7 @@ msgstr "Afegir biblioteca de recursos" msgid "Add a directory to be used by the Asset Browser as source of assets" -msgstr "[Add Asset Library]: Afegeix un directori a usar pel navegador de recursos com a font de recursos" +msgstr "[Add Asset Library]: Afegir un directori a usar pel navegador de recursos com a font de recursos" msgctxt "Operator" @@ -70653,7 +71028,7 @@ msgstr "Afegir camí d'autoexecució" msgid "Add path to exclude from auto-execution" -msgstr "[Add Auto-Execution Path]: Afegeix un camí per excloure de l'execució automàtica" +msgstr "[Add Auto-Execution Path]: Afegir un camí per excloure de l'execució automàtica" msgctxt "Operator" @@ -70737,7 +71112,7 @@ msgstr "Afegir element de teclari" msgid "Add key map item" -msgstr "Afegeix un element al teclari" +msgstr "Afegir un element al teclari" msgctxt "Operator" @@ -70875,7 +71250,7 @@ msgstr "Afegir nova memòria cau" msgid "Add new cache" -msgstr "Afegeix una memòria cau nova" +msgstr "Afegir una memòria cau nova" msgctxt "Operator" @@ -70942,7 +71317,7 @@ msgstr "Afegir predefinit d'integració" msgid "Add an Integrator Preset" -msgstr "[Add Integrator Preset]: Afegeix un valor predefinit d'integració" +msgstr "[Add Integrator Preset]: Afegir un valor predefinit d'integració" msgctxt "Operator" @@ -70951,7 +71326,7 @@ msgstr "Afegir predefinit de rendiment" msgid "Add an Performance Preset" -msgstr "[Add Performance Preset]: Afegeix un valor predefinit de rendiment" +msgstr "[Add Performance Preset]: Afegir un valor predefinit de rendiment" msgctxt "Operator" @@ -70960,16 +71335,16 @@ msgstr "Afegir predefinit de mostreig" msgid "Add a Sampling Preset" -msgstr "[Add Sampling Preset]: Afegeix un valor predefinit de mostreig" +msgstr "[Add Sampling Preset]: Afegir un valor predefinit de mostreig" msgctxt "Operator" msgid "Add Viewport Sampling Preset" -msgstr "Afegeix predefinit de mostreig en mirador" +msgstr "Afegir predefinit de mostreig en mirador" msgid "Add a Viewport Sampling Preset" -msgstr "Afegeix un valor predefinit de mostreig al mirador" +msgstr "Afegir un valor predefinit de mostreig al mirador" msgctxt "Operator" @@ -71032,7 +71407,7 @@ msgstr "Afegir predefinit de revelat" msgid "Add or remove a Render Preset" -msgstr "Afegeix o elimina un valor predefinit de revelat" +msgstr "Afegir o elimina un valor predefinit de revelat" msgctxt "Operator" @@ -71207,7 +71582,7 @@ msgstr "Afegir restricció de cos rígid" msgid "Add Rigid Body Constraint to active object" -msgstr "Afegeix una restricció de cos rígid a l'objecte actiu" +msgstr "Afegir una restricció de cos rígid a l'objecte actiu" msgid "Rigid Body Constraint Type" @@ -71250,7 +71625,7 @@ msgstr "Afegir cos rígid" msgid "Add active object as Rigid Body" -msgstr "[Add Rigid Body]: Afegeix l'objecte actiu com a cos rígid" +msgstr "[Add Rigid Body]: Afegir l'objecte actiu com a cos rígid" msgid "Rigid Body Type" @@ -71293,7 +71668,7 @@ msgstr "Afegir cossos rígids" msgid "Add selected objects as Rigid Bodies" -msgstr "Afegeix els objectes seleccionats com a cossos rígids" +msgstr "Afegir els objectes seleccionats com a cossos rígids" msgctxt "Operator" @@ -71344,7 +71719,7 @@ msgstr "Afegir món de cos rígid" msgid "Add Rigid Body simulation world to the current scene" -msgstr "[Add Rigid Body World]: Afegeix un món de simulació de cos rígid a l'escena actual" +msgstr "[Add Rigid Body World]: Afegir un món de simulació de cos rígid a l'escena actual" msgctxt "Operator" @@ -71371,16 +71746,16 @@ msgstr "Afegir marques de vora a joc de fites" msgid "Add the data paths to the Freestyle Edge Mark property of selected edges to the active keying set" -msgstr "[Add Edge Marks to Keying Set]: Afegeix els camins de dades vers la propietat de camins de vores manual de les arestes seleccionades al conjunt de fites actiu" +msgstr "[Add Edge Marks to Keying Set]: Afegir els camins de dades vers la propietat de camins de vores manual de les arestes seleccionades al joc de fites actiu" msgctxt "Operator" msgid "Add Face Marks to Keying Set" -msgstr "Afegeix marques de cara al joc de fites" +msgstr "Afegir marques de cara al joc de fites" msgid "Add the data paths to the Freestyle Face Mark property of selected polygons to the active keying set" -msgstr "[Add Face Marks to Keying Set]: Afegeix els camins de dades vers la propietat de camins de vores manual dels polígons seleccionats al conjunt de fites actiu" +msgstr "[Add Face Marks to Keying Set]: Afegir els camins de dades vers la propietat de camins de vores manual dels polígons seleccionats al joc de fites actiu" msgctxt "Operator" @@ -71389,7 +71764,7 @@ msgstr "Afegir modificador de transparència alfa" msgid "Add an alpha transparency modifier to the line style associated with the active lineset" -msgstr "Afegeix un modificador de transparència alfa a l'estil de línia associat amb el conjunt de línies actiu" +msgstr "Afegir un modificador de transparència alfa a l'estil de línia associat amb el conjunt de línies actiu" msgctxt "Operator" @@ -71398,7 +71773,7 @@ msgstr "Afegir modificador de color de línia" msgid "Add a line color modifier to the line style associated with the active lineset" -msgstr "Afegeix un modificador de color de línia a l'estil de línia associat amb el conjunt de línies actiu" +msgstr "Afegir un modificador de color de línia a l'estil de línia associat amb el conjunt de línies actiu" msgctxt "Operator" @@ -71436,7 +71811,7 @@ msgstr "Afegir modificador de geometria de traç" msgid "Add a stroke geometry modifier to the line style associated with the active lineset" -msgstr "Afegeix un modificador de geometria del traç a l'estil de línia associat amb el conjunt de línies actiu" +msgstr "Afegir un modificador de geometria del traç a l'estil de línia associat amb el conjunt de línies actiu" msgctxt "Operator" @@ -71445,7 +71820,7 @@ msgstr "Afegir conjunt de línies" msgid "Add a line set into the list of line sets" -msgstr "[Add Line Set]: Afegeix un conjunt de línies a la llista de conjunts de línies" +msgstr "[Add Line Set]: Afegir un conjunt de línies a la llista de conjunts de línies" msgctxt "Operator" @@ -71524,7 +71899,7 @@ msgstr "Afegir mòdul manual" msgid "Add a style module into the list of modules" -msgstr "[Add Freestyle Module]: Afegeix un mòdul d'estil de línia a la llista de mòduls" +msgstr "[Add Freestyle Module]: Afegir un mòdul d'estil de línia a la llista de mòduls" msgctxt "Operator" @@ -71581,7 +71956,7 @@ msgstr "Afegeir modificador de gruix de línia" msgid "Add a line thickness modifier to the line style associated with the active lineset" -msgstr "Afegeix un modificador de gruix de línia a l'estil de línia associat amb el conjunt de línies actiu" +msgstr "Afegir un modificador de gruix de línia a l'estil de línia associat amb el conjunt de línies actiu" msgctxt "Operator" @@ -71590,7 +71965,7 @@ msgstr "Afegir predefinit de pinzell llapis de greix" msgid "Add or remove grease pencil brush preset" -msgstr "Afegeix o elimina el predefinit de pinzell de llapis de greix" +msgstr "Afegir o elimina el predefinit de pinzell de llapis de greix" msgctxt "Operator" @@ -71599,7 +71974,7 @@ msgstr "Afegir predefinit de material de llapis de greix" msgid "Add or remove grease pencil material preset" -msgstr "Afegeix o elimina la preconfiguració prefefinida de material per al llapis de greix" +msgstr "Afegir o elimina la preconfiguració prefefinida de material per al llapis de greix" msgctxt "Operator" @@ -71658,7 +72033,7 @@ msgstr "Nova escena" msgid "Add new scene by type" -msgstr "Afegeix una escena nova per tipus" +msgstr "Afegir una escena nova per tipus" msgctxt "Scene" @@ -71672,7 +72047,7 @@ msgstr "Nova" msgid "Add a new, empty scene with default settings" -msgstr "Afegeix una escena nova i buida amb la configuració predeterminada" +msgstr "Afegir una escena nova i buida amb la configuració predeterminada" msgctxt "Scene" @@ -71681,7 +72056,7 @@ msgstr "Copiar configuració" msgid "Add a new, empty scene, and copy settings from the current scene" -msgstr "Afegeix una escena nova i buida i copia la configuració de l'escena actual" +msgstr "Afegir una escena nova i buida i copia la configuració de l'escena actual" msgctxt "Scene" @@ -71724,7 +72099,7 @@ msgstr "Afegir visualització de revelat" msgid "Add a render view" -msgstr "Afegeix una vista de revelat" +msgstr "Afegir una vista de revelat" msgctxt "Operator" @@ -71742,7 +72117,7 @@ msgstr "Afegir capa de visualització" msgid "Add a view layer" -msgstr "Afegeix una capa de vista" +msgstr "Afegir una capa de vista" msgid "Add a new view layer" @@ -71754,7 +72129,7 @@ msgstr "Copiar la configuració de la capa de visualització actual" msgid "Add a new view layer with all collections disabled" -msgstr "Afegeix una capa de vista nova amb totes les col·leccions inhabilitades" +msgstr "Afegir una capa de vista nova amb totes les col·leccions inhabilitades" msgctxt "Operator" @@ -71763,7 +72138,7 @@ msgstr "Afegir VEA" msgid "Add a Shader AOV" -msgstr "[Add AOV]: Afegeix un aspector VEA" +msgstr "[Add AOV]: Afegir un aspector VEA" msgctxt "Operator" @@ -71772,7 +72147,7 @@ msgstr "Afegir grup de llum" msgid "Add a Light Group" -msgstr "[Add Lightgroup]: Afegeix un grup de llum" +msgstr "[Add Lightgroup]: Afegir un grup de llum" msgid "Name of newly created lightgroup" @@ -71785,7 +72160,7 @@ msgstr "Afegeir grups de llum usats" msgid "Add all used Light Groups" -msgstr "Afegeix tots els grups de llum utilitzats" +msgstr "Afegir tots els grups de llum utilitzats" msgctxt "Operator" @@ -71980,7 +72355,7 @@ msgstr "Mostra l'editor de controladors en una finestra separada" msgctxt "Operator" msgid "Jump to Endpoint" -msgstr "Saltar a punt extrem" +msgstr "Saltar a punta final" msgid "Jump to first/last frame in frame range" @@ -72050,7 +72425,7 @@ msgstr "Nova pantalla" msgid "Add a new screen" -msgstr "Afegeix una pantalla nova" +msgstr "Afegir una pantalla nova" msgctxt "Operator" @@ -72403,6 +72778,10 @@ msgid "Apply force in the Z axis" msgstr "Aplicar la força a l'eix Z" +msgid "How many times to repeat the filter" +msgstr "Quants cops cal repetir el filtre" + + msgid "Orientation of the axis to limit the filter force" msgstr "Orientació de l'eix per per limitar la força de filtre" @@ -72419,6 +72798,10 @@ msgid "Use the view axis to limit the force and set the gravity direction" msgstr "Usar l'eix de visualització per a limitar la força i establir la direcció de la gravetat" +msgid "Starting Mouse" +msgstr "Engegant ratolí" + + msgid "Filter strength" msgstr "Intensitat de filtre" @@ -72646,7 +73029,7 @@ msgstr "Conjunt de cares amb el gest de capsa" msgid "Add face set within the box as you move the brush" -msgstr "[Face Set Box Gesture]: Afegeix un conjunt de cares dins de la capsa a mesura que moveu el pinzell" +msgstr "[Face Set Box Gesture]: Afegir un conjunt de cares dins de la capsa a mesura que moveu el pinzell" msgctxt "Operator" @@ -72737,7 +73120,7 @@ msgstr "Conjunt de cares amb el gest de llaç" msgid "Add face set within the lasso as you move the brush" -msgstr "[Face Set Lasso Gesture]: Afegeix un conjunt de cares dins del llaç mentre moveu el pinzell" +msgstr "[Face Set Lasso Gesture]: Afegir un conjunt de cares dins del llaç mentre moveu el pinzell" msgctxt "Operator" @@ -72823,11 +73206,11 @@ msgstr "Crea conjunts de cares usant les costures UV com a límits" msgid "Face Sets from Edge Creases" -msgstr "Conjunts de cares des d'arestes retingudes" +msgstr "Conjunts de cares des de doblecs d'arestes" msgid "Create Face Sets using Edge Creases as boundaries" -msgstr "Crea conjunts de cares usant les arestes retingudes com a límits" +msgstr "Crea conjunts de cares usant els doblecs d'arestes com a límits" msgid "Face Sets from Bevel Weight" @@ -72839,11 +73222,11 @@ msgstr "Crea conjunts de cares usant pesos de bisells com a límits" msgid "Face Sets from Sharp Edges" -msgstr "Conjunts de cares des de vores cantelludes" +msgstr "Conjunts de cares des de cantells aguts" msgid "Create Face Sets using Sharp Edges as boundaries" -msgstr "Crea conjunts de cares usant vores cantelludes com a límits" +msgstr "Crea conjunts de cares usant cantells aguts com a límits" msgid "Face Sets from Face Maps" @@ -72930,7 +73313,7 @@ msgstr "Sensibilitat de detecció d'arestes" msgid "Sensitivity for expanding the mask across sculpted sharp edges when using normals to generate the mask" -msgstr "[Edge Detection Sensitivity]: Sensibilitat per a expandir la màscara a través de vores esculpides cantelludes quan s'utilitzen normals per a generar la màscara" +msgstr "[Edge Detection Sensitivity]: Sensibilitat per a expandir la màscara a través de cantells aguts esculpits quan s'utilitzen normals per a generar la màscara" msgid "Invert the new mask" @@ -73007,7 +73390,7 @@ msgstr "Aguditzar màscara" msgid "Sharpen mask" -msgstr "[Sharpen Mask]: Fa la màscara més aplanada" +msgstr "[Sharpen Mask]: Contrasta la màscara" msgid "Grow Mask" @@ -73158,7 +73541,7 @@ msgstr "Intensificar detalls" msgid "How much creases and valleys are intensified" -msgstr "Quantes retencions i valls s'intensifiquen" +msgstr "Quants caires i valls s'intensifiquen" msgid "Smooth Ratio" @@ -73511,11 +73894,11 @@ msgstr "Tipus de segment efecte restar" msgid "Alpha Over effect strip type" -msgstr "Tipus de segment efecte alfa a sobre" +msgstr "Alfa per sobre - Tipus de segment efecte" msgid "Alpha Under" -msgstr "Alfa dessota" +msgstr "Alfa per sota" msgid "Alpha Under effect strip type" @@ -73535,11 +73918,11 @@ msgstr "Tipus de segment efecte multiplicar" msgid "Alpha Over Drop" -msgstr "Prevaler alfa superior" +msgstr "Alfa per sobre - Amollar" msgid "Alpha Over Drop effect strip type" -msgstr "[Alpha Over Drop]: Tipus de segment amb efecte on l'alfa a sobre preval" +msgstr "[Alpha Over Drop]: Tipus de segment amb efecte alfa sobre d'altres" msgid "Wipe" @@ -73666,7 +74049,7 @@ msgstr "Afegir segment d'efecte" msgid "Add an effect to the sequencer, most are applied on top of existing strips" -msgstr "[Add Effect Strip]: Afegeix un efecte al seqüenciador, la majoria s'apliquen a sobre dels existents" +msgstr "[Add Effect Strip]: Afegir un efecte al seqüenciador, la majoria s'apliquen a sobre dels existents" msgid "Channel to place this strip into" @@ -73733,7 +74116,7 @@ msgstr "Afegir esvaïments" msgid "Adds or updates a fade animation for either visual or audio strips" -msgstr "[Add Fades]: Afegeix o actualitza un esvaïment d'animació per a segments visuals o d'àudio" +msgstr "[Add Fades]: Afegir o actualitza un esvaïment d'animació per a segments visuals o d'àudio" msgid "Fade Duration" @@ -73837,7 +74220,7 @@ msgstr "Afegir segment imatge" msgid "Add an image or image sequence to the sequencer" -msgstr "Afegeix una imatge o una seqüència d'imatges al seqüenciador" +msgstr "Afegir una imatge o una seqüència d'imatges al seqüenciador" msgid "Scale fit method" @@ -73908,7 +74291,7 @@ msgstr "Afegir segment màscara" msgid "Add a mask strip to the sequencer" -msgstr "[Add Mask Strip]: Afegeix un segment màscara al seqüenciador" +msgstr "[Add Mask Strip]: Afegir un segment màscara al seqüenciador" msgctxt "Operator" @@ -73944,7 +74327,7 @@ msgstr "Afegir segment de pel·lícula" msgid "Add a movie strip to the sequencer" -msgstr "Afegeix un segment de pel·lícula al seqüenciador" +msgstr "Afegir un segment de pel·lícula al seqüenciador" msgid "Adjust Playback Rate" @@ -73973,7 +74356,7 @@ msgstr "Afegir segment de clip de vídeo" msgid "Add a movieclip strip to the sequencer" -msgstr "[Add MovieClip Strip]: Afegeix un segment de clip de pel·lícula al seqüenciador" +msgstr "[Add MovieClip Strip]: Afegir un segment de clip de pel·lícula al seqüenciador" msgctxt "Operator" @@ -74064,6 +74447,62 @@ msgid "Set render size and aspect from active sequence" msgstr "[Set Render Size]: Estableix la mida i l'aspecte del revelat a partir de la seqüència activa" +msgctxt "Operator" +msgid "Add Retiming Handle" +msgstr "Afegir nansa de retemporització" + + +msgid "Add retiming Handle" +msgstr "Afegir una nansa per retemporitzar" + + +msgid "Timeline Frame" +msgstr "Fotograma del cronograma" + + +msgid "Frame where handle will be added" +msgstr "Fotograma al qual s'afegirà la nansa" + + +msgctxt "Operator" +msgid "Move Retiming Handle" +msgstr "Moure nansa de remporitzar" + + +msgid "Move retiming handle" +msgstr "Mou la nansa per retemporitzar" + + +msgid "Handle Index" +msgstr "Índex de nansa" + + +msgid "Index of handle to be moved" +msgstr "Índex de la nansa que es mourà" + + +msgctxt "Operator" +msgid "Remove Retiming Handle" +msgstr "Eliminar nansa de retemporització" + + +msgid "Remove retiming handle" +msgstr "Elimina la nansa de retemporització" + + +msgid "Index of handle to be removed" +msgstr "Índex de la nansa a eliminar" + + +msgctxt "Operator" +msgid "Reset Retiming" +msgstr "Reiniciar retemporització" + + +msgid "Reset strip retiming" +msgstr "[Reset Retiming]: Reinicia la retemporització del segment" + + msgid "Use mouse to sample color in current frame" msgstr "Usar ratolí per a pescar un color en el fotograma actual" @@ -74082,10 +74521,6 @@ msgid "Add Scene Strip" msgstr "Afegir segment d'escena" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "Afegeix un segment al seqüenciador usant una escena de Blender com a origen" - - msgctxt "Operator" msgid "Add Strip with a new Scene" msgstr "Afegir segment amb escena nova" @@ -74318,7 +74753,7 @@ msgstr "Estableix en lloc d'això l'interval de previsualització" msgctxt "Operator" msgid "Slip Strips" -msgstr "Desplaçar segments" +msgstr "Traslladar segments" msgid "Slip the contents of selected strips" @@ -74344,7 +74779,7 @@ msgstr "Afegir segment de so" msgid "Add a sound strip to the sequencer" -msgstr "Afegeix un segment de so al seqüenciador" +msgstr "Afegir un segment de so al seqüenciador" msgid "Cache the sound in memory" @@ -74431,7 +74866,7 @@ msgstr "Afegir modificador de segment" msgid "Add a modifier to the strip" -msgstr "Afegeix un modificador al segment" +msgstr "Afegir un modificador al segment" msgid "Tone Map" @@ -74811,7 +75246,7 @@ msgstr "Afegir filtre de files" msgid "Add a filter to remove rows from the displayed data" -msgstr "[Add Row Filter]: Afegeix un filtre per a eliminar files de les dades mostrades" +msgstr "[Add Row Filter]: Afegir un filtre per a eliminar files de les dades mostrades" msgctxt "Operator" @@ -74909,7 +75344,7 @@ msgstr "Nova textura" msgid "Add a new texture" -msgstr "Afegeix una textura nova" +msgstr "Afegir una textura nova" msgctxt "Operator" @@ -74954,7 +75389,7 @@ msgstr "Revesar comentaris" msgid "Add or remove comments" -msgstr "Afegeix o suprimeix comentaris" +msgstr "Afegir o suprimeix comentaris" msgid "Toggle Comments" @@ -75110,7 +75545,7 @@ msgstr "Revesar sobreescriure" msgid "Toggle overwrite while typing" -msgstr "[Toggle Overwrite]: Alterna la sobreescriptura en picar text" +msgstr "[Toggle Overwrite]: Alterna la sobreseïment en picar text" msgctxt "Operator" @@ -75228,10 +75663,6 @@ msgid "Select word under cursor" msgstr "Seleccionar paraula de sota el cursor" -msgid "Set cursor selection" -msgstr "Activar selecció per cursor" - - msgctxt "Operator" msgid "Find" msgstr "Buscar" @@ -75373,11 +75804,11 @@ msgstr "Canvia els pesos de bisell d'arestes" msgctxt "Operator" msgid "Edge Crease" -msgstr "Retenció d'aresta" +msgstr "Doblec d'aresta" msgid "Change the crease of edges" -msgstr "[Edge Crease]: Canvia la retenció de les arestes" +msgstr "[Edge Crease]: Canvia l'angle de les arestes" msgctxt "Operator" @@ -75426,7 +75857,7 @@ msgstr "[Face Project]: S'acobla projectant-se sobre cares" msgid "Face Nearest" -msgstr "Cara més propera" +msgstr "Cara més pròxima" msgid "Snap to nearest point on faces" @@ -75603,12 +76034,12 @@ msgstr "Eix orto" msgctxt "Operator" msgid "Shrink/Fatten" -msgstr "Encongir/engrossir" +msgstr "Encongir/Inflar" msgctxt "Operator" msgid "Skin Resize" -msgstr "Redimensionar pellam" +msgstr "Redimensionar pell" msgid "Scale selected vertices' skin radii" @@ -75674,11 +76105,11 @@ msgstr "[Auto Merge & Split]: Força l'ús de la fusió automàtica i la divisi msgctxt "Operator" msgid "Vertex Crease" -msgstr "Retenció de vèrtex" +msgstr "Doblec de vèrtex" msgid "Change the crease of vertices" -msgstr "[Vertex Crease]: Canvia la retenció de vèrtexs" +msgstr "[Vertex Crease]: Canvia l'angle de vèrtexs" msgctxt "Operator" @@ -75742,7 +76173,7 @@ msgstr "Afegir entrada" msgid "Add an entry to the list after the current active item" -msgstr "[Add Entry]: Afegeix una entrada a la llista després de l'element actiu present" +msgstr "[Add Entry]: Afegir una entrada a la llista després de l'element actiu present" msgctxt "Operator" @@ -76425,6 +76856,15 @@ msgid "Clear the property and use default or generated value in operators" msgstr "Descarta la propietat i usa el valor predeterminat o el valor generat en els operadors" +msgctxt "Operator" +msgid "View Drop" +msgstr "Visualitzar amollar" + + +msgid "Drag and drop onto a data-set or item within the data-set" +msgstr "Arrossega i amolla sobre un conjunt de dades o sobre un ítem dins del conjunt de dades" + + msgctxt "Operator" msgid "Rename View Item" msgstr "Rebatejar element de visualització" @@ -76452,7 +76892,7 @@ msgstr "Redreçar" msgid "Align UVs along the line defined by the endpoints" -msgstr "Alinea UVs seguint la línia definida per les puntes" +msgstr "Alinea UVs seguint la línia definida per les puntes finals" msgid "Straighten X" @@ -76460,7 +76900,7 @@ msgstr "Redreçar X" msgid "Align UVs along the line defined by the endpoints along the X axis" -msgstr "Alinea UVs al llarg de la línia definida per les puntes seguint l'eix X" +msgstr "Alinea UVs al llarg de la línia definida per les puntes finals seguint l'eix X" msgid "Straighten Y" @@ -76468,7 +76908,7 @@ msgstr "Redreçar Y" msgid "Align UVs along the line defined by the endpoints along the Y axis" -msgstr "Alinea UVs al llarg de la línia definida per les puntes seguint l'eix Y" +msgstr "Alinea UVs al llarg de la línia definida per les puntes finals seguint l'eix Y" msgid "Align Auto" @@ -76668,6 +77108,14 @@ msgid "Radius of the sphere or cylinder" msgstr "Radi de l'esfera o del cilindre" +msgid "Preserve Seams" +msgstr "Conservar costures" + + +msgid "Separate projections by islands isolated by seams" +msgstr "[Preserve Seams]: Separa projeccions per illes separades per costures" + + msgctxt "Operator" msgid "Export UV Layout" msgstr "Exportar disposició d'UV" @@ -76889,6 +77337,34 @@ msgid "Rotate islands for best fit" msgstr "Rotar illes per a millor encaix" +msgid "Shape Method" +msgstr "Mètode de forma" + + +msgid "Exact shape (Concave)" +msgstr "Forma exacta (còncava)" + + +msgid "Uses exact geometry" +msgstr "Usa geometria exacta" + + +msgid "Boundary shape (Convex)" +msgstr "Forma de contorn (convexa)" + + +msgid "Uses convex hull" +msgstr "Usa closca convexa" + + +msgid "Bounding box" +msgstr "Capsa contenidora" + + +msgid "Uses bounding boxes" +msgstr "[Bounding box]: Usa capses contenidores" + + msgid "Pack to" msgstr "Empacar en" @@ -76909,6 +77385,14 @@ msgid "Pack islands to active UDIM image tile or UDIM grid tile where 2D cursor msgstr "[Active UDIM]: Empaca les illes a la imatge mosaic UDIM o al mosaic de graella UDIM on està situat el cursor 2D" +msgid "Original bounding box" +msgstr "Capsa contenidora original" + + +msgid "Pack to starting bounding box of islands" +msgstr "Empaquetar a la capsa contenidora inicial d'illes" + + msgctxt "Operator" msgid "Paste UVs" msgstr "Enganxar UVs" @@ -77408,7 +77892,7 @@ msgstr "Factor d'ampliació Y" msgctxt "Operator" msgid "New Camera from VR Landmark" -msgstr "Càmera nova de marca RV" +msgstr "Càmera nova des de terme d'RV" msgid "Create a new Camera from the selected VR Landmark" @@ -77421,7 +77905,7 @@ msgstr "Afegir imatge rerefons" msgid "Add a new background image" -msgstr "Afegeix una imatge de fons nova" +msgstr "Afegir una imatge de fons nova" msgctxt "Operator" @@ -77466,7 +77950,7 @@ msgstr "Mou la càmera perquè els objectes seleccionats hi quedin enquadrats" msgctxt "Operator" msgid "Scene Camera to VR Landmark" -msgstr "Càmera d'escena a marca d'RV" +msgstr "Càmera d'escena a terme d'RV" msgid "Position the scene camera at the selected landmark" @@ -77534,7 +78018,7 @@ msgstr "Projecció a la superfície" msgctxt "Operator" msgid "Cursor to VR Landmark" -msgstr "Cursor a marca d'RV" +msgstr "Cursor a terme d'RV" msgid "Move the 3D Cursor to the selected VR Landmark" @@ -77610,7 +78094,7 @@ msgstr "Afegir objecte primitiu" msgid "Interactively add an object" -msgstr "Afegeix un objecte interactivament" +msgstr "Afegir un objecte interactivament" msgid "The initial aspect setting" @@ -77646,7 +78130,7 @@ msgstr "La profunditat inicial usada en col·locar el cursor" msgid "Start placing on the surface, using the 3D cursor position as a fallback" -msgstr "Començar tot col·locant a la superfície, usant la posició del cursor 3D com a alternativa" +msgstr "Començar tot col·locant a la superfície, usant la posició del cursor 3D com a pla B" msgid "Cursor Plane" @@ -77666,7 +78150,7 @@ msgstr "Comença la col·locació a partir d'un punt projectat al pla de visuali msgid "Use the surface normal (using the transform orientation as a fallback)" -msgstr "Usar normal de superfície (usant l'orientació de transformació com a darrer recurs)" +msgstr "Usar normal de superfície (usant l'orientació de transformació com a pla B)" msgid "Use the current transform orientation" @@ -77835,7 +78319,7 @@ msgstr "Afegir regle" msgid "Add ruler" -msgstr "Afegeix un regle" +msgstr "Afegir un regle" msgctxt "Operator" @@ -78011,7 +78495,7 @@ msgstr "[Transform Gizmo Set]: Estableix el flòstic de transformació actual" msgctxt "Operator" msgid "Update Custom VR Landmark" -msgstr "Actualitzar marques personalitzades d'RV" +msgstr "Actualitzar termes personalitzats d'RV" msgid "Update the selected landmark from the current viewer pose in the VR session" @@ -78318,7 +78802,7 @@ msgstr "Moure la vista al centre de la selecció" msgctxt "Operator" msgid "Add Camera and VR Landmark from Session" -msgstr "Afegir càmera i marca d'RV de sessió" +msgstr "Afegir càmera i terme d'RV des de sessió" msgid "Create a new Camera and VR Landmark from the viewer pose of the running VR session and select it" @@ -78327,7 +78811,7 @@ msgstr "Crea una càmera nova i una marca de terme d'RV a partir del posat del v msgctxt "Operator" msgid "Activate VR Landmark" -msgstr "Activar marca d'RV" +msgstr "Activar terme d'RV" msgid "Change to the selected VR landmark from the list" @@ -78336,34 +78820,34 @@ msgstr "Canviar a la marca de terme d'RV seleccionada de la llista" msgctxt "Operator" msgid "Add VR Landmark" -msgstr "Afegir marca d'RV" +msgstr "Afegir terme d'RV" msgid "Add a new VR landmark to the list and select it" -msgstr "Afegeix una nova marca de terme d'RV a la llista i la selecciona" +msgstr "Afegir una nova marca de terme d'RV a la llista i la selecciona" msgctxt "Operator" msgid "Add VR Landmark from Camera" -msgstr "Afegir marca d'RV des de càmera" +msgstr "Afegir terme d'RV des de càmera" msgid "Add a new VR landmark from the active camera object to the list and select it" -msgstr "Afegeix una marca de terme d'RV nova des de l'objecte de càmera actiu a la llista i la selecciona" +msgstr "Afegir una marca de terme d'RV nova des de l'objecte de càmera actiu a la llista i la selecciona" msgctxt "Operator" msgid "Add VR Landmark from Session" -msgstr "Afegir una marca d'RV de la sessió" +msgstr "Afegir terme d'RV des de sessió" msgid "Add VR landmark from the viewer pose of the running VR session to the list and select it" -msgstr "Afegeix una marca de terme d'RV des del posat de visor de la sessió d'RV en execució a la llista i la selecciona" +msgstr "Afegir una marca de terme d'RV des del posat de visor de la sessió d'RV en execució a la llista i la selecciona" msgctxt "Operator" msgid "Remove VR Landmark" -msgstr "Eliminar marca d'RV" +msgstr "Eliminar terme d'RV" msgid "Delete the selected VR landmark from the list" @@ -78595,7 +79079,7 @@ msgstr "Afegir sempre el lector de memòria cau" msgid "Add cache modifiers and constraints to imported objects even if they are not animated so that they can be updated when reloading the Alembic archive" -msgstr "Afegeix modificadors i restriccions de la memòria cau als objectes importats encara que no siguin animats, de manera que es puguin actualitzar en tornar a carregar l'arxiu Alembic" +msgstr "Afegir modificadors i restriccions de la memòria cau als objectes importats encara que no siguin animats, de manera que es puguin actualitzar en tornar a carregar l'arxiu Alembic" msgid "Enable this to run the export in the background, disable to block Blender while exporting. This option is deprecated; EXECUTE this operator to run in the foreground, and INVOKE it to run as a background job" @@ -78789,10 +79273,6 @@ msgid "Rotate all root objects to match the global orientation settings otherwis msgstr "Fa rotar tots els objectes arrel perquè coincideixin amb els paràmetres d'orientació global, altrament estableix l'orientació global per a recurs de Collada" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Aplicar els modificadors a la malla exportada (no destructiu)" - - msgid "Deform Bones Only" msgstr "Només ossos de deformació" @@ -79573,11 +80053,11 @@ msgstr "Escala dels traços finals" msgctxt "Operator" msgid "Add Theme Preset" -msgstr "Afegeix predefinit del tema" +msgstr "Afegir predefinit del tema" msgid "Add or remove a theme preset" -msgstr "[Add Theme Preset]: Afegeix o elimina un tema predefinit" +msgstr "[Add Theme Preset]: Afegir o elimina un tema predefinit" msgctxt "Operator" @@ -79586,7 +80066,7 @@ msgstr "Afegir predefinit de fita" msgid "Add or remove a Key-config Preset" -msgstr "[Add Keyconfig Preset]: Afegeix o elimina un predefinit de configuració de fita" +msgstr "[Add Keyconfig Preset]: Afegir o elimina un predefinit de configuració de fita" msgctxt "Operator" @@ -79900,7 +80380,7 @@ msgstr "Predefinit d'operador" msgid "Add or remove an Operator Preset" -msgstr "Afegeix o elimina un valor predefinit de l'operador" +msgstr "Afegir o elimina un valor predefinit de l'operador" msgid "Disable add-on for workspace" @@ -79919,6 +80399,54 @@ msgid "Open a path in a file browser" msgstr "Obrir un camí al navegador de documents" +msgid "Save the scene to a PLY file" +msgstr "Desar l'escena en un document PLY" + + +msgid "ASCII Format" +msgstr "Format ASCII" + + +msgid "Export file in ASCII format, export as binary otherwise" +msgstr "Exporta document en format ASCII, si no com a binari" + + +msgid "Export Vertex Colors" +msgstr "Exportar colors de vèrtexs" + + +msgid "Do not import/export color attributes" +msgstr "No importar/exportar atributs de color" + + +msgid "Vertex colors in the file are in sRGB color space" +msgstr "Els colors de vèrtex del document són en espai cromàtic sRGB" + + +msgid "Vertex colors in the file are in linear color space" +msgstr "Els colors de vèrtex del document són en espai cromàtic lineal" + + +msgid "Export Vertex Normals" +msgstr "Exportar normals de vèrtexs" + + +msgid "Export specific vertex normals if available, export calculated normals otherwise" +msgstr "Exporta unes normals de vèrtex específiques si n'hi ha, si no normals calculades" + + +msgid "Import an PLY file as an object" +msgstr "Importa document PLY com a objecte" + + +msgid "Import Vertex Colors" +msgstr "Importar colors de vèrtexs" + + +msgid "Merges vertices by distance" +msgstr "Fusiona vèrtexs per distància" + + msgctxt "Operator" msgid "Batch-Clear Previews" msgstr "Descartar previsualitzacions a l'engròs" @@ -80061,7 +80589,7 @@ msgstr "Afegir propietat" msgid "Add your own property to the data-block" -msgstr "Afegeix la teva pròpia propietat al bloc de dades" +msgstr "Afegir la teva pròpia propietat al bloc de dades" msgid "Property Edit" @@ -80194,11 +80722,11 @@ msgstr "[Gamma-Corrected Color]: Color en l'espai gamma corregit" msgid "Euler Angles" -msgstr "Angles d'Euler" +msgstr "Angles d'euler" msgid "Euler rotation angles in radians" -msgstr "Angles de gir d'Euler en radians" +msgstr "Angles de gir d'euler en radians" msgid "Quaternion rotation (affects NLA blending)" @@ -80657,7 +81185,7 @@ msgstr "Columnes entrellaçades" msgid "Checkerboard Interleaved" -msgstr "Entrellaçat de quadrícula" +msgstr "Entrellaçat d'escaquer" msgid "Swap Left/Right" @@ -80729,7 +81257,7 @@ msgstr "Definir segona opció" msgid "Set the fallback tool instead of the primary tool" -msgstr "[Set Fallback]: Estableix l'eina de reserva en lloc de l'eina primària" +msgstr "[Set Fallback]: Estableix l'eina de segona opció en lloc de l'eina primària" msgid "Cycle" @@ -80754,7 +81282,7 @@ msgstr "Estableix l'eina per índex (per als teclaris)" msgid "Set the fallback tool instead of the primary" -msgstr "Establir l'eina de reserva en lloc de la primària" +msgstr "Establir l'eina de segona opció en lloc de la primària" msgid "Include tool subgroups" @@ -80772,7 +81300,7 @@ msgstr "Barra d'eines" msgctxt "Operator" msgid "Fallback Tool Pie Menu" -msgstr "Menú pastís d'eines alternatives" +msgstr "Menú pastís d'eines de segona opció" msgctxt "Operator" @@ -80908,7 +81436,7 @@ msgstr "Crear col·lecció" msgid "Add all imported objects to a new collection" -msgstr "Afegeix tots els objectes importats a una nova col·lecció" +msgstr "Afegir tots els objectes importats a una nova col·lecció" msgid "Import All Materials" @@ -81373,7 +81901,7 @@ msgstr "Revesar sessió de RV" msgid "Open a view for use with virtual reality headsets, or close it if already opened" -msgstr "Obre una vista per a usar-la amb cascs de realitat virtual, o la tanca si ja és oberta" +msgstr "Obre una vista per a usar-la amb visors de realitat virtual, o la tanca si ja és oberta" msgctxt "Operator" @@ -81382,7 +81910,7 @@ msgstr "Afegir obrador" msgid "Add a new workspace by duplicating the current one or appending one from the user configuration" -msgstr "[Add Workspace]: Afegeix un obrador nou duplicant l'actual o incorporant-ne un a partir la configuració de la usuària" +msgstr "[Add Workspace]: Afegir un obrador nou duplicant l'actual o incorporant-ne un a partir la configuració de la usuària" msgctxt "Operator" @@ -81417,7 +81945,7 @@ msgstr "Nou obrador" msgid "Add a new workspace" -msgstr "Afegeix un obrador nou" +msgstr "Afegir un obrador nou" msgctxt "Operator" @@ -81497,7 +82025,7 @@ msgstr "Navegació ràpida" msgid "For multires, show low resolution while navigating the view" -msgstr "[Fast Navigate]: Per a multiresolució, mostra una resolució baixa mentre navega per la visualització" +msgstr "[Fast Navigate]: Per a multires, mostra una resolució baixa mentre navega per la visualització" msgid "Tiling offset for the X Axis" @@ -81721,7 +82249,7 @@ msgstr "[Cull]: Ignora les cares que apunten fora de la vista (més ràpid)" msgid "Clone Map" -msgstr "Mapa clon" +msgstr "Clonar mapa" msgid "Use another UV map as clone source, otherwise use the 3D cursor as the source" @@ -81772,10 +82300,6 @@ msgid "View Normal Limit" msgstr "Visió límit de normals" -msgid "Maximum edge length for dynamic topology sculpting (as divisor of blender unit - higher value means smaller edge length)" -msgstr "Longitud d'aresta màxima per esculpir topologia dinàmica (com a divisor de la unitat de blendere - un valor més alt significa una longitud d'aresta menor)" - - msgid "Detail Percentage" msgstr "Detallar percentatge" @@ -82362,6 +82886,18 @@ msgid "Fluid Presets" msgstr "Predefinits de fluids" +msgid "Optimize Animations" +msgstr "Optimitzar animacions" + + +msgid "Rest & Ranges" +msgstr "Repòs i intèrvals" + + +msgid "Sampling Animations" +msgstr "Mostrejant animacions" + + msgid "PBR Extensions" msgstr "Extensions PBR" @@ -82391,7 +82927,7 @@ msgstr "Edició UV" msgid "Clone from Image/UV Map" -msgstr "Clonar des d'un mapa d'imatge/UV" +msgstr "Clonar des d'imatge/mapa UV" msgid "Color Picker" @@ -82403,7 +82939,7 @@ msgstr "Paleta de colors" msgid "Scopes" -msgstr "Abast" +msgstr "Cartogrames" msgid "Sample Line" @@ -82938,6 +83474,11 @@ msgid "Blade" msgstr "Cisalla" +msgctxt "Operator" +msgid "Retime" +msgstr "Retemporitzar" + + msgid "Feature Weights" msgstr "Pesos de característiques" @@ -83154,7 +83695,7 @@ msgstr "Estils" msgid "Transparent Checkerboard" -msgstr "Tauler transparent" +msgstr "Escaquer transparent" msgid "Menu" @@ -83202,7 +83743,7 @@ msgstr "Barra de rodolar" msgid "Tab" -msgstr "Tabulació" +msgstr "Pestanya" msgid "Toolbar Item" @@ -83229,6 +83770,10 @@ msgid "Global Transform" msgstr "Transformació global" +msgid "Mirror Options" +msgstr "Opcions de mirall" + + msgid "Curves Sculpt Add Curve Options" msgstr "Afegir opcions de corbes a l'escultura amb corba" @@ -83392,7 +83937,7 @@ msgstr "Extrudir individualment" msgctxt "Operator" msgid "Offset Edge Loop Cut" -msgstr "Desplaçament bucle d'aresta" +msgstr "Desplaçar tall d'anella d'aresta" msgctxt "Operator" @@ -83481,7 +84026,7 @@ msgstr "Bombollar" msgctxt "Operator" msgid "Crease" -msgstr "Replegar" +msgstr "Vinclar" msgctxt "Operator" @@ -83551,12 +84096,12 @@ msgstr "Dibuixar jocs de cares" msgctxt "Operator" msgid "Multires Displacement Eraser" -msgstr "Esborrar desplaçaments de multiresolució" +msgstr "Multires - Esborrador de desplaçaments" msgctxt "Operator" msgid "Multires Displacement Smear" -msgstr "Escampar desplaçaments de multiresolució" +msgstr "Multires - Escampar desplaçaments" msgctxt "Operator" @@ -84788,7 +85333,7 @@ msgstr "CI automàtica" msgid "Add temporary IK constraints while grabbing bones in Pose Mode" -msgstr "[Auto IK]: Afegeix restriccions temporals de CI mentre s'agafen ossos en el mode de posa" +msgstr "[Auto IK]: Afegir restriccions temporals de CI mentre s'agafen ossos en el mode de posa" msgid "Relative Mirror" @@ -85224,7 +85769,7 @@ msgstr "[Unselected F-Curve Opacity]: L'opacitat de les corbes-F no seleccionade msgid "Annotation Default Color" -msgstr "Color predeterminat d'anotació" +msgstr "Anotació - Color predeterminat" msgid "Color of new annotation layers" @@ -85316,6 +85861,10 @@ msgid "Color of texture overlay" msgstr "Color de bambolina de textura" +msgid "Only Show Selected F-Curve Keyframes" +msgstr "Mostrar sols fotofites de corba-F seleccionades" + + msgid "Only keyframes of selected F-Curves are visible and editable" msgstr "Només les fotofites de les corbes-F seleccionades són visibles i editables" @@ -85520,6 +86069,14 @@ msgid "Enter edit mode automatically after adding a new object" msgstr "Entrar en mode d'edició automàticament després d'afegir un objecte nou" +msgid "F-Curve High Quality Drawing" +msgstr "Dibuix d'alta qualitat de corba-F" + + +msgid "Draw F-Curves using Anti-Aliasing (disable for better performance)" +msgstr "Dibuixa corbes-F amb antialiàsing (desactivar per a millor rendiment)" + + msgid "Global Undo" msgstr "Desfer globalment" @@ -85817,7 +86374,7 @@ msgstr "Vista de càmera" msgid "Workbench render of scene" -msgstr "Revelat d'escena del Workbench" +msgstr "Revelat d'escena de Workbench" msgid "Fonts Directory" @@ -86825,7 +87382,7 @@ msgstr "Superposar regió" msgid "Display tool/property regions over the main region" -msgstr "Mostra eines/propietats de regions sobre la regió principal" +msgstr "Mostra faixes d'eines/propietats sobre la regió principal" msgid "GPU Depth Picking" @@ -87288,6 +87845,14 @@ msgid "Show Blender memory usage" msgstr "Mostra l'ús de memòria del Blender" +msgid "Show Scene Duration" +msgstr "Mostrar durada d'escena" + + +msgid "Show scene duration" +msgstr "Mostrar la durada de l'escena" + + msgid "Show Statistics" msgstr "Mostrar estadístiques" @@ -87356,14 +87921,6 @@ msgid "Slight" msgstr "Lleuger" -msgid "TimeCode Style" -msgstr "Estil de cronofites" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "[TimeCode Style]: Format de les cronofites que es mostren quan no es mostra el temps en termes de fotogrames" - - msgid "Minimal Info" msgstr "Informació mínima" @@ -87540,6 +88097,38 @@ msgid "Color range used for weight visualization in weight painting mode" msgstr "Interval de color utilitzat per a la visualització de pesos en el mode de pintura de pesos" +msgid "Primitive Boolean" +msgstr "Booleà primitiu" + + +msgid "RNA wrapped boolean" +msgstr "Booleà embolcallat d'ARN" + + +msgid "Primitive Float" +msgstr "Flotant primitiu" + + +msgid "RNA wrapped float" +msgstr "Número de coma flotant embolcallat d'ARN" + + +msgid "Primitive Int" +msgstr "Enter primitiu" + + +msgid "RNA wrapped int" +msgstr "Enter embolcallat d'ARN" + + +msgid "String Value" +msgstr "Valor de cadena" + + +msgid "RNA wrapped string" +msgstr "Cadena embolcallada d'ARN" + + msgid "ID Property Group" msgstr "Grup de propietats d'ID" @@ -87985,7 +88574,7 @@ msgstr "[Step Rate]: Escala la distància entre les mostres d'aspector del volum msgid "AO Distance" -msgstr "Distància OA" +msgstr "Distància d'OA" msgid "AO distance used for approximate global illumination (0 means use world setting)" @@ -88852,10 +89441,6 @@ msgid "Tile Size" msgstr "Mida de tessel·la" -msgid "Limit the render time (excluding synchronization time).Zero disables the limit" -msgstr "Limita el temps de revelat (excloent-ne el temps de sincronització). Zero inhabilita el límit" - - msgid "Transmission Bounces" msgstr "Rebots de transmissió" @@ -89728,10 +90313,6 @@ msgid "Is Axis Aligned" msgstr "És alineat a eix" -msgid "Is current view aligned to an axis (does not check the view is orthographic use \"is_perspective\" for that). Assignment sets the \"view_rotation\" to the closest axis aligned view" -msgstr "[Is Axis Aligned]: És la vista actual alineada a un eix. ( no es comprova que la vista sigui ortogràfica, usa «is perspective» per a això). L'assignació estableix el «view_rotation» a la visualització alineada més propera a l'eix" - - msgid "Is Perspective" msgstr "És perspectiva" @@ -89997,10 +90578,6 @@ msgid "Bias" msgstr "Biaix" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "Biaix cap a cares més llunyanes l'objecte (en unitats de blender)" - - msgid "Algorithm to generate the margin" msgstr "Algorisme per a generar el marge" @@ -90481,7 +91058,7 @@ msgstr "Extensions de document" msgid "Add the file format extensions to the rendered file name (eg: filename + .jpg)" -msgstr "Afegeix les extensions de format de document al nom del document revelat (p. ex. nom del document + .jpg)" +msgstr "Afegir les extensions de format de document al nom del document revelat (p. ex. nom del document + .jpg)" msgid "Draw stylized strokes using Freestyle" @@ -90748,6 +91325,22 @@ msgid "Active index in render view array" msgstr "Índex actiu en la corrua de visualitzacions de revelat" +msgid "Retiming Handle" +msgstr "Retemporitzar nansa" + + +msgid "Handle mapped to particular frame that can be moved to change playback speed" +msgstr "Nansa mapejada a un fotograma concret que es pot moure per canviar la velocitat de reproducció" + + +msgid "Position of retiming handle in timeline" +msgstr "Posició al cronograma de la nansa de retemporització" + + +msgid "Collection of RetimingHandle" +msgstr "Col·lecció de nanses de temporització" + + msgid "Constraint influencing Objects inside Rigid Body Simulation" msgstr "Restricció que afecta d'objectes dins de la simulació de cos rígid" @@ -91024,10 +91617,6 @@ msgid "Blender 2.7" msgstr "Blender 2.7" -msgid "Spring implementation used in blender 2.7. Damping is capped at 1.0" -msgstr "Implementació de tensor usada en el blender 2.7. L'afebliment està limitat a 1,0" - - msgid "Blender 2.8" msgstr "Blender 2.8" @@ -91684,10 +92273,6 @@ msgid "4096 px" msgstr "4096 px" -msgid "Number of time the light is reinjected inside light grids, 0 disable indirect diffuse light" -msgstr "Nombre de cops que la llum es torna a injectar dins de les graelles de llum, 0 inhabilita la llum difusiva indirecta" - - msgid "Filter Quality" msgstr "Qualitat del filtre" @@ -91785,7 +92370,7 @@ msgstr "Separació de rerefons" msgid "Lower values will reduce background bleeding onto foreground elements" -msgstr "[Background Separation]: Els valors inferiors mitigaran que el rerefons tenyeixi elements de primer pla" +msgstr "[Background Separation]: Els valors inferiors mitigaran que el rerefons sobreïxi sobre elements de primer pla" msgid "Maximum blur distance a pixel can spread over" @@ -91828,10 +92413,6 @@ msgid "Shadow Pool Size" msgstr "Mida de reserva d'ombres" -msgid "Size of the shadow pool, bigger pool size allows for more shadows in the scene but might not fits into GPU memory" -msgstr "[Shadow Pool Size]: Mida de la reserva d'ombres, una reserva més gran permet incloure més ombres a l'escena però poden no cabre a la memòria GPU" - - msgid "16 MB" msgstr "16 MB" @@ -92117,7 +92698,7 @@ msgstr "Desactivar o activa la vista de revelat" msgid "Scopes for statistical view of an image" -msgstr "Abast per al visionat de l'estadística d'imatge" +msgstr "Cartogrames d'estadístiques d'imatge" msgid "Proportion of original image source pixel lines to sample" @@ -92181,15 +92762,15 @@ msgstr "Mètode per a controlar com es combina el segment amb altres segments" msgid "Over Drop" -msgstr "Prevaler superior" +msgstr "Des de sobre" msgid "Y position of the sequence strip" -msgstr "Posició Y del segment de la seqüència" +msgstr "[Over Drop]: Posició Y del segment de la seqüència" msgid "Strip Color" -msgstr "Color del segment" +msgstr "Color de segment" msgid "Color tag for a strip" @@ -92313,12 +92894,12 @@ msgstr "Restar" msgctxt "Sequence" msgid "Alpha Over" -msgstr "Alfa a sobre" +msgstr "Alfa per sobre" msgctxt "Sequence" msgid "Alpha Under" -msgstr "Alfa dessota" +msgstr "Alfa per sota" msgctxt "Sequence" @@ -92333,7 +92914,7 @@ msgstr "Multiplicar" msgctxt "Sequence" msgid "Over Drop" -msgstr "Prevaler superior" +msgstr "Des de sobre" msgctxt "Sequence" @@ -92539,11 +93120,11 @@ msgstr "Desplaçament d'inici de l'animació (retalla l'inici)" msgid "Alpha Over Sequence" -msgstr "Seqüència Alfa a sobre" +msgstr "Alfa per sobre - Seqüència" msgid "Alpha Under Sequence" -msgstr "Seqüència alfa dessota" +msgstr "Alfa per sota - Seqüència" msgid "Color Mix Sequence" @@ -92567,7 +93148,7 @@ msgstr "Seqüència transicional" msgid "Gamma Cross Sequence" -msgstr "Seqüència transició gamma" +msgstr "Transició gamma - Seqüència" msgid "Gaussian Blur Sequence" @@ -92647,7 +93228,7 @@ msgstr "Multiplicar seqüència" msgid "Over Drop Sequence" -msgstr "Seqüència on preval el superior" +msgstr "Seqüència des de sobre" msgid "SpeedControl Sequence" @@ -92991,10 +93572,6 @@ msgid "Scene Sequence" msgstr "Seqüència d'escena" -msgid "Sequence strip to used the rendered image of a scene" -msgstr "Segment de seqüència per fer ús de la imatge revelada d'una escena" - - msgid "Scene that this sequence uses" msgstr "Escena que aquesta seqüència usa" @@ -93003,10 +93580,6 @@ msgid "Camera Override" msgstr "Sobreseure càmera" -msgid "Override the scenes active camera" -msgstr "Sobreseu les escenes de la càmera activa" - - msgid "Input type to use for the Scene strip" msgstr "Tipus d'ingressió per usar en el segment d'escena" @@ -93713,10 +94286,6 @@ msgid "How to resolve overlap after transformation" msgstr "Com resoldre la superposició després de la transformació" -msgid "Move strips so transformed strips fits" -msgstr "Moure els segments de forma que els segments transformats encaixin" - - msgid "Trim or split strips to resolve overlap" msgstr "Retallar o dividir segments per resoldre la superposició" @@ -94158,11 +94727,11 @@ msgstr "Grup de pesos de vèrtexs, per a fusionar amb la forma base" msgid "Shape Key Bezier Point" -msgstr "Punt de Bézier de la morfofita" +msgstr "Punt de bezier de la morfofita" msgid "Point in a shape key for Bezier curves" -msgstr "Punt d'una morfofita per a les corbes de Bézier" +msgstr "Punt d'una morfofita per a les corbes de bezier" msgid "Handle 1 Location" @@ -94458,7 +95027,7 @@ msgstr "Quads rígids" msgid "Add diagonal springs on 4-gons" -msgstr "Afegeix tensors en diagonals als 4-gons" +msgstr "Afegir tensors en diagonals als 4-gons" msgid "Goal Vertex Group" @@ -94507,7 +95076,7 @@ msgstr "Dades de l'espai editor de clips" msgctxt "MovieClip" msgid "Annotation Source" -msgstr "Font d'anotació" +msgstr "Anotació - Font" msgid "Where the annotation comes from" @@ -94636,7 +95205,7 @@ msgstr "Pivot al voltant del punt mitjà dels objectes seleccionats" msgid "Scopes to visualize movie clip statistics" -msgstr "Visualitzacion de les estadístiques de clips de vídeo" +msgstr "Cartogrames d'estadístiques de clips de vídeo" msgid "Show Blue Channel" @@ -95039,7 +95608,7 @@ msgstr "Mostrar nanses i interpolació" msgid "Display keyframe handle types and non-bezier interpolation modes" -msgstr "Mostra els tipus de nanses de fotofites i els modes d'interpolació no-bézier" +msgstr "Mostra els tipus de nanses de fotofites i els modes d'interpolació no-bezier" msgid "Show Markers" @@ -95239,7 +95808,7 @@ msgstr "Mostrar nanses" msgid "Show handles of Bezier control points" -msgstr "[Show Handles]: Mostra les nanses dels punts de control Bézier" +msgstr "[Show Handles]: Mostra les nanses dels punts de control bezier" msgid "Auto Normalization" @@ -95359,7 +95928,7 @@ msgstr "[Line Sample]: Colors mostrats al llarg de la línia" msgid "Scopes to visualize image statistics" -msgstr "Zones per a visualitzar estadístiques d'imatge" +msgstr "Cartogrames d'estadístiques d'imatge" msgid "Show Mask Editor" @@ -95869,6 +96438,14 @@ msgid "Show empty objects" msgstr "Mostra els objectes buits" +msgid "Show Grease Pencil" +msgstr "Mostrar llapis de greix" + + +msgid "Show grease pencil objects" +msgstr "Mostra els objectes llapis de greix" + + msgid "Show Lights" msgstr "Mostrar llums" @@ -96589,10 +97166,6 @@ msgid "3D Region" msgstr "Regió 3D" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "Regió 3D en aquest espai, en cas de vista en quartet de la regió de la càmera" - - msgid "Quad View Regions" msgstr "Regions en quartet" @@ -97020,15 +97593,15 @@ msgstr "Opacitat de les superposicions UV" msgid "Element of a curve, either NURBS, Bezier or Polyline or a character with text objects" -msgstr "Element d'una corba, ja sigui NURBS, Bézier o polílinia o un caràcter amb objectes text" +msgstr "Element d'una corba, ja sigui NURBS, bezier o polílinia o un caràcter amb objectes text" msgid "Bezier Points" -msgstr "Punts Bézier" +msgstr "Punts bezier" msgid "Collection of points for Bezier curves only" -msgstr "Col·lecció de punts només per a corbes de Bézier" +msgstr "Col·lecció de punts només per a corbes de bezier" msgid "Character Index" @@ -97088,7 +97661,7 @@ msgstr "Interpolació de radi" msgid "The type of radius interpolation for Bezier curves" -msgstr "El tipus d'interpolació de radi per a les corbes de Bézier" +msgstr "El tipus d'interpolació de radi per a les corbes de bezier" msgid "Curve or Surface subdivisions per segment" @@ -97104,7 +97677,7 @@ msgstr "Interpolació d'inclinació" msgid "The type of tilt interpolation for 3D, Bezier curves" -msgstr "[Tilt Interpolation]: El tipus d'interpolació d'inclinació per a corbes de Bézier 3D" +msgstr "[Tilt Interpolation]: El tipus d'interpolació d'inclinació per a corbes de bezier 3D" msgid "The interpolation type for this curve element" @@ -97116,15 +97689,15 @@ msgstr "Bezier U" msgid "Make this nurbs curve or surface act like a Bezier spline in the U direction" -msgstr "[Bezier U]: Fa que aquesta corba de nurbs o superfície actuïn com un spline de Bézier en la direcció U" +msgstr "[bezier U]: Fa que aquesta corba de nurbs o superfície actuïn com un spline de bezier en la direcció U" msgid "Bezier V" -msgstr "Bézier V" +msgstr "Bezier V" msgid "Make this nurbs surface act like a Bezier spline in the V direction" -msgstr "Fa que aquesta superfície de nurbs actuï com un spline de Bézier en la direcció V" +msgstr "Fa que aquesta superfície de nurbs actuï com un spline de bezier en la direcció V" msgid "Make this curve or surface a closed loop in the U direction" @@ -97136,19 +97709,15 @@ msgstr "Fer d'aquesta superfície un bucle tancat en la direcció V" msgid "Endpoint U" -msgstr "Punt final U" +msgstr "Punta final U" msgid "Make this nurbs curve or surface meet the endpoints in the U direction" -msgstr "[Endpoint U]: Fa que aquesta corba de nurbs o superfície trobi els extrems en la direcció U" +msgstr "[Endpoint U]: Fa que aquesta corba de nurbs o superfície trobi les puntes finals en la direcció U" msgid "Endpoint V" -msgstr "Punt final V" - - -msgid "Make this nurbs surface meet the endpoints in the V direction " -msgstr "Fa que aquesta superfície de nurbs es treobi en els extrems en la direcció V" +msgstr "Punta final V" msgid "Smooth the normals of the surface or beveled curve" @@ -97156,11 +97725,11 @@ msgstr "Suavitzar les normals de la superfície o de la corba bisellada" msgid "Spline Bezier Points" -msgstr "Punts de Bézier de spline" +msgstr "Punts de bezier de spline" msgid "Collection of spline Bezier points" -msgstr "[Spline Bezier Points]: Col·lecció de punts de Bézier de spline" +msgstr "[Spline bezier Points]: Col·lecció de punts de bezier de spline" msgid "Spline point without handles" @@ -97651,11 +98220,11 @@ msgstr "Quant afecta la textura la longitud del pèl de les filles" msgid "Life Time Factor" -msgstr "Factor esperança de vida" +msgstr "Factor longevitat" msgid "Amount texture affects particle life time" -msgstr "Quant afecta la textura l'esperança de vida de les partícules" +msgstr "Quant afecta la textura la durada de vida de les partícules" msgid "Object to use for mapping with Object texture coordinates" @@ -97755,11 +98324,11 @@ msgstr "Afecta la longitud del pèl de les filles" msgid "Life Time" -msgstr "Esperança de vida" +msgstr "Longevitat" msgid "Affect the life time of the particles" -msgstr "[Life Time]: Afecta l'esperança de vida de les partícules" +msgstr "[Life Time]: Afecta la durada de la vida de les partícules" msgid "Rough" @@ -97911,11 +98480,11 @@ msgstr "Color del marcador" msgid "Marker Outline" -msgstr "Perfil de marcador" +msgstr "Contorn de marcador" msgid "Color of marker's outline" -msgstr "Color del perfil del marcador" +msgstr "Color del contorn del marcador" msgid "Metadata Background" @@ -98047,7 +98616,7 @@ msgstr "Línia d'interpolació" msgid "Color of lines showing non-bezier interpolation modes" -msgstr "Colors de les línies que mostren els modes d'interpolació no-Bézier" +msgstr "Colors de les línies que mostren els modes d'interpolació no-bezier" msgid "Color of Keyframe" @@ -98278,17 +98847,4646 @@ msgid "Use a screen space vertical linear gradient as viewport background" msgstr "[Linear Gradient]: Usa un degradat lineal vertical d'espai de la pantalla com a rerefons del mirador" +msgid "Vignette" +msgstr "Vinyeta" + + +msgid "Use a radial gradient as viewport background" +msgstr "Usa un degradat radial com a rerefons del mirador" + + +msgid "Gradient Low" +msgstr "Degradat baix" + + +msgid "Gradient High/Off" +msgstr "Degradat alt/inactiu" + + +msgid "Theme Graph Editor" +msgstr "Tema d'editor de gràfiques" + + +msgid "Theme settings for the graph editor" +msgstr "Paràmetres del tema per a l'editor de gràfics" + + +msgid "Channels Region" +msgstr "Regió de canals" + + +msgid "Vector Handle Selected" +msgstr "Nansa de vector seleccionada" + + +msgid "Last Selected Point" +msgstr "Últim punt seleccionat" + + +msgid "Vertex Bevel" +msgstr "Bisell de vèrtex" + + +msgid "Vertex Select" +msgstr "Selecció de vèrtex" + + +msgid "Vertex Size" +msgstr "Mida del vèrtex" + + +msgid "Vertex Group Unreferenced" +msgstr "Grup de vèrtex no referenciat" + + +msgid "Window Sliders" +msgstr "Lliscadors de finestra" + + +msgid "Theme Image Editor" +msgstr "Tema d'editor d'imatges" + + +msgid "Theme settings for the Image Editor" +msgstr "Paràmetres del tema per a l'editor d'imatges" + + +msgid "Edge Select" +msgstr "Selecció d'aresta" + + +msgid "Edge Width" +msgstr "Amplada d'aresta" + + +msgid "Active Vertex/Edge/Face" +msgstr "Vèrtex/aresta/cara activa" + + +msgid "Face Orientation Back" +msgstr "Orientació de cara posterior" + + +msgid "Face Dot Selected" +msgstr "Punt de cara seleccionat" + + +msgid "Face Orientation Front" +msgstr "Orientació de cara anterior" + + +msgid "Face Retopology" +msgstr "Retopologia de cares" + + +msgid "Face Selected" +msgstr "Cara seleccionada" + + +msgid "Face Dot Size" +msgstr "Mida de punt de cara" + + +msgid "Paint Curve Handle" +msgstr "Nansa de pintat de corba" + + +msgid "Paint Curve Pivot" +msgstr "Pivot de la corba de pintura" + + +msgid "Stitch Preview Active Island" +msgstr "Previsualitzar cosit d'illa activa" + + +msgid "Stitch Preview Edge" +msgstr "Previsualitzar cosit d'aresta" + + +msgid "Stitch Preview Face" +msgstr "Previsualitzar cosit de cara" + + +msgid "Stitch Preview Stitchable" +msgstr "Previsualitzar cosit de cosible" + + +msgid "Stitch Preview Unstitchable" +msgstr "Previsualitzar cosit d'incosible" + + +msgid "Stitch Preview Vertex" +msgstr "Previsualitzar cosit de vèrtex" + + +msgid "Scope Region Background" +msgstr "Cartograma del rerefons de la regió" + + +msgid "Texture Paint/Modifier UVs" +msgstr "Pintat/Modificador d'UVs de textura" + + +msgid "Wire Edit" +msgstr "Editar cable" + + +msgid "Theme Info" +msgstr "Info del tema" + + +msgid "Theme settings for Info" +msgstr "Paràmetres de tema per a la informació" + + +msgid "Debug Icon Background" +msgstr "Rerefons d'icona de depuració" + + +msgid "Background color of Debug icon" +msgstr "Color de rerefons de la icona de depuració" + + +msgid "Debug Icon Foreground" +msgstr "Frontal de la icona de depuració" + + +msgid "Foreground color of Debug icon" +msgstr "Color del primer pla de la icona de depuració" + + +msgid "Error Icon Background" +msgstr "Referons de la icona d'error" + + +msgid "Background color of Error icon" +msgstr "Color de fons de la icona d'error" + + +msgid "Error Icon Foreground" +msgstr "Frontal d'icona d'error" + + +msgid "Foreground color of Error icon" +msgstr "Color del primer pla de la icona d'error" + + +msgid "Info Icon Background" +msgstr "Rerefons d'icona d'info" + + +msgid "Background color of Info icon" +msgstr "Color de fons de la icona d'informació" + + +msgid "Info Icon Foreground" +msgstr "Frontal de la icona d'info" + + +msgid "Foreground color of Info icon" +msgstr "Color del primer pla de la icona Info" + + +msgid "Operator Icon Background" +msgstr "Rerefons d'icona operador" + + +msgid "Background color of Operator icon" +msgstr "Color de fons de la icona de l'operador" + + +msgid "Operator Icon Foreground" +msgstr "Frontal d'icona d'operador" + + +msgid "Foreground color of Operator icon" +msgstr "Color del primer pla de la icona de l'operador" + + +msgid "Property Icon Background" +msgstr "Rerefons d'icona de propietat" + + +msgid "Background color of Property icon" +msgstr "Color de fons de la icona Propietat" + + +msgid "Property Icon Foreground" +msgstr "Frontal d'icona de propietat" + + +msgid "Foreground color of Property icon" +msgstr "Color del primer pla de la icona Propietat" + + +msgid "Selected Line Background" +msgstr "Rerefons de la línia seleccionada" + + +msgid "Background color of selected line" +msgstr "Color de fons de la línia seleccionada" + + +msgid "Selected Line Text Color" +msgstr "Color del text de la línia seleccionada" + + +msgid "Text color of selected line" +msgstr "Color del text de la línia seleccionada" + + +msgid "Warning Icon Background" +msgstr "Rerefons de la icona d'avís" + + +msgid "Background color of Warning icon" +msgstr "Color de fons de la icona d'avís" + + +msgid "Warning Icon Foreground" +msgstr "Frontal de la icona d'avís" + + +msgid "Foreground color of Warning icon" +msgstr "Color del primer pla de la icona d'avís" + + +msgid "Theme Nonlinear Animation" +msgstr "Tema animació no-lineal" + + +msgid "Theme settings for the NLA Editor" +msgstr "[Theme Nonlinear Animation]: Paràmetres del tema per a l'editor d'ANL" + + +msgid "Active Action" +msgstr "Acció activa" + + +msgid "Animation data-block has active action" +msgstr "El bloc de dades d'animació té una acció activa" + + +msgid "No Active Action" +msgstr "Sense acció activa" + + +msgid "Animation data-block doesn't have active action" +msgstr "El bloc de dades d'animació no té acció activa" + + +msgid "Nonlinear Animation Channel" +msgstr "Canal d'animació no lineal" + + +msgid "Meta Strips" +msgstr "Metasegments" + + +msgid "Unselected Meta Strip (for grouping related strips)" +msgstr "Metasegment no seleccionat (per a agrupar segments relacionats)" + + +msgid "Meta Strips Selected" +msgstr "Metasegments seleccionats" + + +msgid "Selected Meta Strip (for grouping related strips)" +msgstr "Metasegment seleccionat (per a agrupar segments relacionats)" + + +msgid "Nonlinear Animation Track" +msgstr "Pista d'animació no lineal" + + +msgid "Sound Strips" +msgstr "Segments de so" + + +msgid "Unselected Sound Strip (for timing speaker sounds)" +msgstr "Segment de so no seleccionat (per a temporitzar els sons de l'altaveu)" + + +msgid "Sound Strips Selected" +msgstr "Segments de so seleccionats" + + +msgid "Selected Sound Strip (for timing speaker sounds)" +msgstr "Segment de so seleccionat (per a temporitzar els sons de l'altaveu)" + + +msgid "Unselected Action-Clip Strip" +msgstr "Segment de vídeoacció no seleccionat" + + +msgid "Selected Action-Clip Strip" +msgstr "Segment de vídeoacció seleccionat" + + +msgid "Transitions" +msgstr "Transicions" + + +msgid "Unselected Transition Strip" +msgstr "Segment de transició no seleccionat" + + +msgid "Transitions Selected" +msgstr "Transicions seleccionades" + + +msgid "Selected Transition Strip" +msgstr "Segment de transició seleccionat" + + +msgid "Color for strip/action being \"tweaked\" or edited" +msgstr "Color per a vídeo acció que s'està «ajustant» o editant" + + +msgid "Tweak Duplicate Flag" +msgstr "Senyal de retocat de duplicat" + + +msgid "Warning/error indicator color for strips referencing the strip being tweaked" +msgstr "[Tweak Duplicate Flag]: Color indicador d'avís/error per a segments que fan referència al segment que s'està retocant" + + +msgid "Theme Node Editor" +msgstr "Editor de nodes del tema" + + +msgid "Theme settings for the Node Editor" +msgstr "Paràmetres del tema per a l'editor de nodes" + + +msgid "Attribute Node" +msgstr "Node d'atribut" + + +msgid "Color Node" +msgstr "Node de color" + + +msgid "Converter Node" +msgstr "Node convertidor" + + +msgid "Dashed Lines Opacity" +msgstr "Opacitat de les línies de guionets" + + +msgid "Opacity for the dashed lines in wires" +msgstr "Opacitat per a les línies discontínies en cables" + + +msgid "Distort Node" +msgstr "Node de distorsió" + + +msgid "Filter Node" +msgstr "Node de filtre" + + +msgid "Frame Node" +msgstr "Node de fotogrames" + + +msgid "Grid Levels" +msgstr "Nivells de graella" + + +msgid "Number of subdivisions for the dot grid displayed in the background" +msgstr "Nombre de subdivisions per a la graella de punts que es mostra al rerefons" + + +msgid "Group Node" +msgstr "Node de grup" + + +msgid "Group Socket Node" +msgstr "Born de node de grup" + + +msgid "Input Node" +msgstr "Node d'ingressió" + + +msgid "Layout Node" +msgstr "Node de disposició" + + +msgid "Matte Node" +msgstr "Node de clapa" + + +msgid "Node Backdrop" +msgstr "Fons pel darrere" + + +msgid "Node Selected" +msgstr "Node seleccionat" + + +msgid "Noodle Curving" +msgstr "Modelar fideus" + + +msgid "Curving of the noodle" +msgstr "La forma que es dona a les connexions" + + +msgid "Pattern Node" +msgstr "Node de patró" + + +msgid "Script Node" +msgstr "Node de protocol" + + +msgid "Selected Text" +msgstr "Text seleccionat" + + +msgid "Vector Node" +msgstr "Node de vector" + + +msgid "Wires" +msgstr "Cables" + + +msgid "Wire Color" +msgstr "Color de cable" + + +msgid "Wire Select" +msgstr "Selecció de cable" + + +msgid "Theme Outliner" +msgstr "Tema d'inventari" + + +msgid "Theme settings for the Outliner" +msgstr "Paràmetres del tema per a l'inventari" + + +msgid "Active Highlight" +msgstr "Ressaltat actiu" + + +msgid "Edited Object" +msgstr "Objecte editat" + + +msgid "Filter Match" +msgstr "Resultat del filtre" + + +msgid "Selected Highlight" +msgstr "Ressaltat seleccionat" + + +msgid "Theme Panel Color" +msgstr "Color de plafó en el tema" + + +msgid "Theme settings for panel colors" +msgstr "Paràmetres del tema per als colors del plafons" + + +msgid "Sub Background" +msgstr "Subrerefons" + + +msgid "Theme Preferences" +msgstr "Preferències del tema" + + +msgid "Theme settings for the Blender Preferences" +msgstr "Paràmetres del tema per a les preferències del Blender" + + +msgid "Theme Properties" +msgstr "Propietats del tema" + + +msgid "Theme settings for the Properties" +msgstr "Paràmetres del tema per a les propietats" + + +msgid "Active Modifier Outline" +msgstr "Contorn del modificador actiu" + + +msgid "Search Match" +msgstr "Resultat de cerca" + + +msgid "Theme Sequence Editor" +msgstr "Tema de l'editor de seqüències" + + +msgid "Theme settings for the Sequence Editor" +msgstr "Paràmetres del tema de l'editor de seqüències" + + +msgid "Audio Strip" +msgstr "Segment àudio" + + +msgid "Color Strip" +msgstr "Segment color" + + +msgid "Draw Action" +msgstr "Acció de dibuix" + + +msgid "Image Strip" +msgstr "Segment imatge" + + +msgid "Meta Strip" +msgstr "Metasegment" + + +msgid "Clip Strip" +msgstr "Segment vídeo" + + +msgid "Preview Background" +msgstr "Vista prèvia de rerefons" + + +msgid "Scene Strip" +msgstr "Segment d'escena" + + +msgid "Selected Strips" +msgstr "Segments seleccionats" + + +msgid "Text Strip" +msgstr "Segment text" + + +msgid "Theme Space Settings" +msgstr "Tema paràmetres d'espai" + + +msgid "Window Background" +msgstr "Fons de finestra" + + +msgid "Region Background" +msgstr "Fons de regió" + + +msgid "Region Text" +msgstr "Text de regió" + + +msgid "Region Text Highlight" +msgstr "Ressaltat de text de regió" + + +msgid "Region Text Titles" +msgstr "Text de títols de regió" + + +msgid "Execution Region Background" +msgstr "Fons de la regió d'execució" + + +msgid "Header Text Highlight" +msgstr "Ressaltat del text de capçalera" + + +msgid "Navigation Bar Background" +msgstr "Fons de barra de navegació" + + +msgid "Tab Active" +msgstr "Pestanya activa" + + +msgid "Tab Background" +msgstr "Fons de pestanya" + + +msgid "Tab Inactive" +msgstr "Pestanya inactiva" + + +msgid "Tab Outline" +msgstr "Contorn de pestanya" + + +msgid "Text Highlight" +msgstr "Ressaltat de text" + + +msgid "Theme Space List Settings" +msgstr "Tema paràmetres de la llista d'espais" + + +msgid "Source List" +msgstr "Llista d'orígens" + + +msgid "Source List Text" +msgstr "Text de llista d'orígens" + + +msgid "Source List Text Highlight" +msgstr "Ressaltat de text de llista d'orígens" + + +msgid "Source List Title" +msgstr "Títol de llista d'orígens" + + +msgid "Theme Spreadsheet" +msgstr "Tema de full de càlcul" + + +msgid "Theme settings for the Spreadsheet" +msgstr "Paràmetres de tema per al full de càlcul" + + +msgid "Theme Status Bar" +msgstr "Tema barra d'estat" + + +msgid "Theme settings for the Status Bar" +msgstr "Paràmetres del tema per a la barra d'estat" + + +msgid "Theme Strip Color" +msgstr "Tema color de segment" + + +msgid "Theme settings for strip colors" +msgstr "Paràmetres del tema per als colors de segment" + + +msgid "Theme settings for style sets" +msgstr "Paràmetres del tema per als jocs d'estils" + + +msgid "Panel Title Font" +msgstr "Tipografia de títol de plafó" + + +msgid "Widget Style" +msgstr "Estil de giny" + + +msgid "Widget Label Style" +msgstr "Estil d'etiqueta de giny" + + +msgid "Theme Text Editor" +msgstr "Tema d'editor de text" + + +msgid "Theme settings for the Text Editor" +msgstr "Paràmetres del tema per a l'editor de text" + + +msgid "Line Numbers Background" +msgstr "Fons de números de línia" + + +msgid "Syntax Built-In" +msgstr "Sintaxi integrada" + + +msgid "Syntax Comment" +msgstr "Comentari de sintaxi" + + +msgid "Syntax Numbers" +msgstr "Nombres de sintaxi" + + +msgid "Syntax Preprocessor" +msgstr "Preprocessador de sintaxi" + + +msgid "Syntax Reserved" +msgstr "Sintaxi reservada" + + +msgid "Syntax Special" +msgstr "Sintaxi especial" + + +msgid "Syntax String" +msgstr "Cadena de sintaxi" + + +msgid "Syntax Symbols" +msgstr "Símbols de sintaxi" + + +msgid "Theme Top Bar" +msgstr "Tema de barra superior" + + +msgid "Theme settings for the Top Bar" +msgstr "Paràmetres del tema per a la barra superior" + + +msgid "Theme User Interface" +msgstr "Tema d'interfície d'usuària" + + +msgid "Theme settings for user interface elements" +msgstr "Paràmetres del tema per als elements de la interfície d'usuària" + + +msgid "Editor Outline" +msgstr "Contorn d'editor" + + +msgid "Color of the outline of the editors and their round corners" +msgstr "Color del contorn dels editors i de les cantonades arrodonides" + + +msgid "Gizmo A" +msgstr "Flòstic A" + + +msgid "Gizmo B" +msgstr "Flòstic B" + + +msgid "Gizmo Highlight" +msgstr "Ressaltat del flòstic" + + +msgid "Gizmo Primary" +msgstr "Flòstic primària" + + +msgid "Gizmo Secondary" +msgstr "Flòstic secundari" + + +msgid "Gizmo View Align" +msgstr "Flòstic alineació de vista" + + +msgid "Icon Alpha" +msgstr "Alfa d'icona" + + +msgid "Transparency of icons in the interface, to reduce contrast" +msgstr "Transparència de les icones en la interfície, per reduir contrastos" + + +msgid "Icon Border" +msgstr "Vora d'icones" + + +msgid "Control the intensity of the border around themes icons" +msgstr "Controla la intensitat de la vora al voltant de les icones de temes" + + +msgid "File Folders" +msgstr "Carpetes de documents" + + +msgid "Color of folders in the file browser" +msgstr "Color de les carpetes al navegador de documents" + + +msgid "Icon Saturation" +msgstr "Saturació d'icones" + + +msgid "Saturation of icons in the interface" +msgstr "Saturació de les icones a la interfície" + + +msgid "Menu Shadow Strength" +msgstr "Intensitat d'ombra de menú" + + +msgid "Blending factor for menu shadows" +msgstr "[Menu Shadow Strength]; Factor de fusió per a les ombres del menú" + + +msgid "Menu Shadow Width" +msgstr "Amplada d'ombra de menú" + + +msgid "Width of menu shadows, set to zero to disable" +msgstr "Amplada de les ombres de menú, amb el zero es desactiva" + + +msgid "Panel Roundness" +msgstr "Arrodoniment de plafó" + + +msgid "Roundness of the corners of panels and sub-panels" +msgstr "Arrodoniment dels cantons dels plafons i subplafons" + + +msgid "Primary Color" +msgstr "Color primari" + + +msgid "Primary color of checkerboard pattern indicating transparent areas" +msgstr "Color primari del patró d'escaquer que indica àrees transparents" + + +msgid "Secondary color of checkerboard pattern indicating transparent areas" +msgstr "Color secundari del patró d'escaquer que indica àrees transparents" + + +msgid "Checkerboard Size" +msgstr "Mida d'escaquer" + + +msgid "Size of checkerboard pattern indicating transparent areas" +msgstr "Mida del patró d'escaquer que indica àrees transparents" + + +msgid "Box Backdrop Colors" +msgstr "Capsa colors de darrere" + + +msgid "List Item Colors" +msgstr "Llista colors d'elements" + + +msgid "Menu Widget Colors" +msgstr "Menú colors de ginys" + + +msgid "Menu Backdrop Colors" +msgstr "Menú colors de darrere" + + +msgid "Menu Item Colors" +msgstr "Menú colors d'elements" + + +msgid "Number Widget Colors" +msgstr "Nombre colors de ginys" + + +msgid "Slider Widget Colors" +msgstr "Lliscador colors de ginys" + + +msgid "Option Widget Colors" +msgstr "Opció colors de ginys" + + +msgid "Pie Menu Colors" +msgstr "Menú pastís de colors" + + +msgid "Progress Bar Widget Colors" +msgstr "Progressió colors de ginys" + + +msgid "Pulldown Widget Colors" +msgstr "Davallar colors de ginys" + + +msgid "Radio Widget Colors" +msgstr "Colors de giny d'opcions" + + +msgid "Regular Widget Colors" +msgstr "Colors de giny normal" + + +msgid "Scroll Widget Colors" +msgstr "Colors de giny de ròdol" + + +msgid "State Colors" +msgstr "Colors d'estat" + + +msgid "Tab Colors" +msgstr "Colors de pestanyes" + + +msgid "Text Widget Colors" +msgstr "Colors de giny de text" + + +msgid "Toggle Widget Colors" +msgstr "Colors de giny revesador" + + +msgid "Tool Widget Colors" +msgstr "Colors de ginys d'eina" + + +msgid "Toolbar Item Widget Colors" +msgstr "Colors de giny d'element de barra d'eines" + + +msgid "Tooltip Colors" +msgstr "Colors de pistes" + + +msgid "Data-View Item Colors" +msgstr "Colors dels elements de visualització de dades" + + +msgid "Widget Emboss" +msgstr "Giny en relleu" + + +msgid "Color of the 1px shadow line underlying widgets" +msgstr "Color de la línia d'ombra d'1px subjacent als ginys" + + +msgid "Text Cursor" +msgstr "Cursor de text" + + +msgid "Color of the interface widgets text insertion cursor (caret)" +msgstr "Color del cursor d'inserció de text en ginys d'interfície (caret)" + + +msgid "Theme 3D Viewport" +msgstr "Tema de mirador 3D" + + +msgid "Theme settings for the 3D viewport" +msgstr "Paràmetres del tema per al mirador 3D" + + +msgid "Bone Locked Weight" +msgstr "Pesos blocats en os" + + +msgid "Shade for bones corresponding to a locked weight group during painting" +msgstr "Aspecte dels ossos corresponents a un grup de pesos bloquejats mentre es pinta" + + +msgid "Bone Pose" +msgstr "Posa d'os" + + +msgid "Bone Pose Active" +msgstr "Posa d'os activada" + + +msgid "Bone Solid" +msgstr "Sindicat d'ossos" + + +msgid "Bundle Solid" +msgstr "Conjunt sindicat" + + +msgid "Camera Passepartout" +msgstr "Passepartout de càmera" + + +msgid "Camera Path" +msgstr "Trajecte de càmera" + + +msgid "Clipping Border" +msgstr "Vora de segat" + + +msgid "Edge Bevel" +msgstr "Bisell d'aresta" + + +msgctxt "WindowManager" +msgid "Edge Crease" +msgstr "Doblec d'aresta" + + +msgid "Edge UV Face Select" +msgstr "Selecció de cares, UVs i arestes" + + +msgid "Edge Seam" +msgstr "Costura" + + +msgid "Edge Sharp" +msgstr "Vora cantelluda" + + +msgid "Edge Angle Text" +msgstr "Text d'angle de vora" + + +msgid "Edge Length Text" +msgstr "Text de longitud de vora" + + +msgid "Face Angle Text" +msgstr "Text d'angle de cares" + + +msgid "Face Area Text" +msgstr "Text d'àrea de cares" + + +msgid "Grease Pencil Vertex" +msgstr "Vèrtex de llapis de greix" + + +msgid "Grease Pencil Vertex Select" +msgstr "Selecció de vèrtex del llapis de greix" + + +msgid "Grease Pencil Vertex Size" +msgstr "Mida del vèrtex del llapis de greix" + + +msgid "Face Normal" +msgstr "Normal de cara" + + +msgid "NURBS Active U Lines" +msgstr "Línies U actives de NURBS" + + +msgid "NURBS Active V Lines" +msgstr "Línies V actives de NURBS" + + +msgid "NURBS U Lines" +msgstr "Línies U NURBS" + + +msgid "NURBS V Lines" +msgstr "Línies V NURBS" + + +msgid "Object Origin Size" +msgstr "Mida d'origen d'objecte" + + +msgid "Diameter in pixels for object/light origin display" +msgstr "[Object Origin Size]: Diàmetre en píxels per a la visualització d'origen de l'objecte/llum" + + +msgid "Object Selected" +msgstr "Objecte seleccionat" + + +msgid "Outline Width" +msgstr "Amplada de contorn" + + +msgid "Skin Root" +msgstr "Arrel de pell" + + +msgid "Split Normal" +msgstr "Dividir normals" + + +msgid "Grease Pencil Keyframe" +msgstr "Fotofita de llapis de greix" + + +msgid "Color for indicating Grease Pencil keyframes" +msgstr "Color per a indicar les fotofites de llapis de greix" + + +msgid "Object Keyframe" +msgstr "Objecte f" + + +msgid "Color for indicating object keyframes" +msgstr "Color per a indicar els objectes fotofita" + + +msgid "View Overlay" +msgstr "Bambolina de visualització" + + +msgid "Color for wireframe when in edit mode, but edge selection is active" +msgstr "Color per a vista de filat en mode d'edició quan està activa la selecció d'arestes" + + +msgid "Theme Widget Color Set" +msgstr "Tema de joc de colors de ginys" + + +msgid "Theme settings for widget color sets" +msgstr "Paràmetres del tema per als jocs de colors de giny" + + +msgid "Inner" +msgstr "Interior" + + +msgid "Inner Selected" +msgstr "Interior seleccionat" + + +msgid "Roundness" +msgstr "Rodonesa" + + +msgid "Amount of edge rounding" +msgstr "Quantitat d'arrodoniment de la vora" + + +msgid "Shade Down" +msgstr "Botons enfonsats" + + +msgid "Shade Top" +msgstr "Botons sortints" + + +msgid "Text Selected" +msgstr "Text seleccionat" + + +msgid "Theme Widget State Color" +msgstr "Tema color d'estat del giny" + + +msgid "Theme settings for widget state colors" +msgstr "Paràmetres del tema per als colors d'estat de ginys" + + +msgid "Animated" +msgstr "Animat(s)" + + +msgid "Animated Selected" +msgstr "Animats seleccionat" + + +msgid "Changed" +msgstr "Canviat(s)" + + +msgid "Changed Selected" +msgstr "Canviats seleccinats" + + +msgid "Driven" +msgstr "Controlat(s)" + + +msgid "Driven Selected" +msgstr "[Driven]: Controlats seleccionats" + + +msgid "Overridden" +msgstr "Sobresegut(s)" + + +msgid "Overridden Selected" +msgstr "Sobreseguts seleccionats" + + +msgid "Time Modifier Segment" +msgstr "Segment modificador de temps" + + +msgid "Last frame of the segment" +msgstr "Últim fotograma del segment" + + +msgid "Loop back and forth" +msgstr "Reproduir endavant i endarrera" + + +msgid "Number of cycle repeats" +msgstr "Nombre de repeticions de cicle" + + +msgid "First frame of the segment" +msgstr "Primer fotograma del segment" + + +msgid "Marker for noting points in the timeline" +msgstr "Marcador per a assenyalar punts del cronograma" + + +msgid "Camera that becomes active on this frame" +msgstr "Càmera que s'activa en aquest fotograma" + + +msgid "The frame on which the timeline marker appears" +msgstr "Fotograma on apareix el marcador del cronograma" + + +msgid "Marker selection state" +msgstr "Estat de selecció del marcador" + + +msgid "Window event timer" +msgstr "Temporitzador d'acció de finestra" + + +msgid "Time since last step in seconds" +msgstr "Temps des de l'últim pas en segons" + + +msgid "Time Step" +msgstr "Unitat temporal" + + +msgid "Stroke Placement (2D View)" +msgstr "Ubicació de traç (vista 2D)" + + +msgid "Stick stroke to the image" +msgstr "Enganxar traç a imatge" + + +msgid "Stick stroke to the view" +msgstr "Enganxar traç a la visualització" + + +msgid "Annotation Stroke Placement (3D View)" +msgstr "Anotació - Ubicació dels traços (Vista 3D)" + + +msgid "How annotation strokes are orientated in 3D space" +msgstr "Com s'orienten els traços d'anotació en l'espai 3D" + + +msgid "Draw stroke at 3D cursor location" +msgstr "Dibuixar traç en la ubicació del cursor 3D" + + +msgid "Stick stroke to surfaces" +msgstr "Adherir traç a superfícies" + + +msgid "Annotation Stroke Thickness" +msgstr "Anotació - Gruix del traç" + + +msgid "Auto-Keying Mode" +msgstr "Mode autofita" + + +msgid "Mode of automatic keyframe insertion for Objects, Bones and Masks" +msgstr "[Auto-Keying Mode]: Mode d'inserció automàtica de fotofites per a objectes, ossos i màscares" + + +msgid "Add & Replace" +msgstr "Afegir i reemplaçar" + + +msgid "Curves Sculpt" +msgstr "Esculpir amb corbes" + + +msgid "Curve Profile Widget" +msgstr "Giny de perfil de corbes" + + +msgid "Used for defining a profile's path" +msgstr "[Curve Profile Widget]: Serveix per definir el camí d'un perfil" + + +msgid "Threshold distance for Auto Merge" +msgstr "Distància llindar per a autofusió" + + +msgid "Grease Pencil Interpolate" +msgstr "Interpolació de llapis de greix" + + +msgid "Settings for Grease Pencil Interpolation tools" +msgstr "Paràmetres per a les eines d'interpolació del llapis de greix" + + +msgid "Grease Pencil Sculpt" +msgstr "Esculpir amb llapis de greix" + + +msgid "Settings for stroke sculpting tools and brushes" +msgstr "Paràmetres per a les eines i els pinzells d'escultura per traç" + + +msgid "Select only points" +msgstr "Seleccionar només punts" + + +msgid "Select all stroke points" +msgstr "Selecciona tots els punts del traç" + + +msgid "Select all stroke points between other strokes" +msgstr "Seleccionar tots els punts del traç entre altres traços" + + +msgid "Stroke Placement (3D View)" +msgstr "Ubicació de traç (vista 3D)" + + +msgid "Draw stroke at Object origin" +msgstr "Dibuixar traç a l'origen de l'objecte" + + +msgid "Stick stroke to other strokes" +msgstr "Adherir el traç a altres traços" + + +msgid "Stroke Snap" +msgstr "Acoblament de traç" + + +msgid "All Points" +msgstr "Tots els punts" + + +msgid "Snap to all points" +msgstr "Acobla a tots els punts" + + +msgid "Snap to first and last points and interpolate" +msgstr "Acoblar als punts primer i últim i interpolar" + + +msgid "First Point" +msgstr "Primer punt" + + +msgid "Snap to first point" +msgstr "Acobla al primer punt" + + +msgid "New Keyframe Type" +msgstr "Tipus de fotofita nou" + + +msgid "Type of keyframes to create when inserting keyframes" +msgstr "Tipus de fotofites a crear en inserir-ne de noves" + + +msgid "Lock Markers" +msgstr "Bloquejar marcadors" + + +msgid "Prevent marker editing" +msgstr "Evita l'edició de marcadors" + + +msgid "Lock Object Modes" +msgstr "Bloquejar modes d'objecte" + + +msgid "Restrict selection to objects using the same mode as the active object, to prevent accidental mode switch when selecting" +msgstr "Restringeix la selecció a objectes que estiguin en el mateix mode que l'objecte actiu, per evitar canvis accidentals de mode en seleccionar" + + +msgid "Mesh Selection Mode" +msgstr "Mode selecció de malla" + + +msgid "Which mesh elements selection works on" +msgstr "Especifica sobre quins elements de malla es treballa" + + +msgid "Normal Vector" +msgstr "Vector de normal" + + +msgid "Normal Vector used to copy, add or multiply" +msgstr "Vector de normal per copiar, afegir o multiplicar" + + +msgctxt "Curve" +msgid "Proportional Editing Falloff" +msgstr "Edició de decaïment proporcional" + + +msgid "Display size for proportional editing circle" +msgstr "Mida de presentació del cercle d'edició proporcional" + + +msgid "UV Local View" +msgstr "Vista local UV" + + +msgid "Display only faces with the currently displayed image assigned" +msgstr "Mostra només les cares amb la imatge assignada presentment mostrada" + + +msgid "Snap Element" +msgstr "Element d'acoblatge" + + +msgid "Type of element to snap to" +msgstr "[Snap Element]: Tipus d'element al qual s'acoblarà" + + +msgid "Face Nearest Steps" +msgstr "Passes per a cares pròximes" + + +msgid "Number of steps to break transformation into for face nearest snapping" +msgstr "[Face Nearest Steps]: Nombre de passos per a intervenir en la transformació amb l'acoblament de cares pròximes" + + +msgid "Snap Node Element" +msgstr "Acoblament d'element node" + + +msgid "Snap to grid" +msgstr "[Snap Node Element]: Acobla a la graella" + + +msgid "Node X" +msgstr "Node X" + + +msgid "Snap to left/right node border" +msgstr "Acobla al límit esquerra/dreta de node" + + +msgid "Node Y" +msgstr "Node Y" + + +msgid "Snap to top/bottom node border" +msgstr "Acobla al límit superior/inferior de node" + + +msgid "Node X / Y" +msgstr "Node X / Y" + + +msgid "Snap to any node border" +msgstr "Acobla a qualsevol límit de node" + + +msgid "Snap Target" +msgstr "Acoblar a referent" + + +msgid "Which part to snap onto the target" +msgstr "Quina part s'acoblarà al referent" + + +msgid "Snap UV Element" +msgstr "Acoblar element UV" + + +msgid "Mesh Statistics Visualization" +msgstr "Visualització d'estadístiques de malla" + + +msgid "Transform Pivot Point" +msgstr "Transformar punt de gir" + + +msgid "Unified Paint Settings" +msgstr "Configuració de pintura unificada" + + +msgid "Weight Paint Auto-Normalize" +msgstr "Autonormalitzar pintura de pesos" + + +msgid "Ensure all bone-deforming vertex groups add up to 1.0 while weight painting" +msgstr "Assegura que tots els grups de vèrtexs deforma-ossos sumen 1,0 mentre es pinten pesos" + + +msgid "Changing edge seams recalculates UV unwrap" +msgstr "Canviar costures recalcula el desembolcallament d'UVs" + + +msgid "Automerge" +msgstr "Autofusionar" + + +msgid "Join by distance last drawn stroke with previous strokes in the active layer" +msgstr "[Automerge]: Uneix per distància l'últim traç dibuixat amb els traços anteriors dins la capa activa" + + +msgid "Use Additive Drawing" +msgstr "Usar dibuix additiu" + + +msgid "When creating new frames, the strokes from the previous/active frame are included as the basis for the new one" +msgstr "[Use Additive Drawing]: En crear fotogrames nous, els traços del fotograma anterior/actiu s'inclouen com a base per al nou" + + +msgid "Draw Strokes on Back" +msgstr "Dibuixar traços darrere" + + +msgid "When draw new strokes, the new stroke is drawn below of all strokes in the layer" +msgstr "[Draw Strokes on Back]: Quan es dibuixen traços nous, el traç nou es dibuixa a sota de tots els traços de la capa" + + +msgid "Selection Mask" +msgstr "Màscara de selecció" + + +msgid "Only sculpt selected stroke points" +msgstr "Esculpeix només els punts del traç seleccionat" + + +msgid "Only sculpt selected stroke points between other strokes" +msgstr "Esculpeix només els punts de traç seleccionats entre altres traços" + + +msgid "Only sculpt selected stroke" +msgstr "Esculpeix només el traç seleccionat" + + +msgid "Only Endpoints" +msgstr "Només puntes finals" + + +msgid "Only use the first and last parts of the stroke for snapping" +msgstr "[Only Endpoints]: Utilitza només la primera i última part del traç per a acoblar" + + +msgid "Compact List" +msgstr "Llista compacta" + + +msgid "Show compact list of color instead of thumbnails" +msgstr "[Compact List]: Mostra una llista compacta de color en lloc de miniatures" + + +msgid "Only paint selected stroke points" +msgstr "Pintar només els punts del traç seleccionats" + + +msgid "Only paint selected stroke points between other strokes" +msgstr "Pintar només els punts de traç seleccionats entre altres traços" + + +msgid "Only paint selected stroke" +msgstr "Pintar només el traç seleccionat" + + +msgid "Add weight data for new strokes" +msgstr "Afegir dades de pesos als traços nous" + + +msgid "When creating new strokes, the weight data is added according to the current vertex group and weight, if no vertex group selected, weight is not added" +msgstr "Quan es creen nous traços, les dades de pesos s'hi afegeixen d'acord amb el grup de vèrtex i pes actual, si no hi ha cap grup de vèrtex seleccionat, el pes no s'afegeix" + + +msgid "Cycle-Aware Keying" +msgstr "Fitació sensible a cicle" + + +msgid "For channels with cyclic extrapolation, keyframe insertion is automatically remapped inside the cycle time range, and keeps ends in sync. Curves newly added to actions with a Manual Frame Range and Cyclic Animation are automatically made cyclic" +msgstr "Per a canals amb extrapolació cíclica, la inserció de fotofites es reaplica automàticament dins de l'interval de temps del cicle, i manté els extrems sincronitzats. Es converteixen en cícliques les corbes afegides recentment a les accions amb un interval de fotogrames manual i una animació cíclica" + + +msgid "Auto Keying" +msgstr "Autofitar" + + +msgid "Automatic keyframe insertion for Objects, Bones and Masks" +msgstr "Inserció automàtica de fotofites per a objectes, ossos i màscares" + + +msgid "Auto Keyframe Insert Keying Set" +msgstr "Inserció de joc de fites dins l'autofitat" + + +msgid "Automatic keyframe insertion using active Keying Set only" +msgstr "Inserció automàtica de fotofites usant només el joc de fites actiu" + + +msgid "Weight Paint Lock-Relative" +msgstr "Pintat de pesos amb bloqueig relatiu" + + +msgid "Display bone-deforming groups as if all locked deform groups were deleted, and the remaining ones were re-normalized" +msgstr "Mostra els grups deforma-ossos com si tots els grups de deformació bloquejats fossin eliminats, i els restants fossin renormalitzats" + + +msgid "Auto Merge Vertices" +msgstr "Autofusionar vèrtexs" + + +msgid "Automatically merge vertices moved to the same location" +msgstr "Fusiona automàticament els vèrtexs moguts a la mateixa ubicació" + + +msgid "Split Edges & Faces" +msgstr "Dividir arestes i cares" + + +msgid "Automatically split edges and faces" +msgstr "Divideix automàticament les arestes i les cares" + + +msgid "Weight Paint Multi-Paint" +msgstr "Multipintat en pintura de pesos" + + +msgid "Paint across the weights of all selected bones, maintaining their relative influence" +msgstr "Pinta a través dels pesos de tots els ossos seleccionats, mantenint la seva influència relativa" + + +msgid "Proportional Editing Actions" +msgstr "Accions d'edició proporcional" + + +msgid "Proportional editing in action editor" +msgstr "Edició proporcional a l'editor d'accions" + + +msgid "Proportional Editing using connected geometry only" +msgstr "Edició proporcional només amb geometria connectada" + + +msgid "Proportional edit mode" +msgstr "Mode edició proporcional" + + +msgid "Proportional Editing Objects" +msgstr "Objectes d'edició proporcional" + + +msgid "Proportional editing mask mode" +msgstr "Mode de màscara d'edició proporcional" + + +msgid "Proportional editing object mode" +msgstr "Mode d'edició proporcional d'objecte" + + +msgid "Proportional Editing FCurves" +msgstr "Edició proporcional de corbes-F" + + +msgid "Proportional editing in FCurve editor" +msgstr "Edició proporcional a l'editor de corbes-F" + + +msgid "Projected from View" +msgstr "Projectat des de la visualització" + + +msgid "Proportional Editing using screen space locations" +msgstr "Edició proporcional mitjançant ubicacions d'espai de pantalla" + + +msgid "Layered" +msgstr "Estratificat" + + +msgid "Add a new NLA Track + Strip for every loop/pass made over the animation to allow non-destructive tweaking" +msgstr "Afegir una nova pista + segment d'ANL per a cada bucle/pas fet sobre l'animació per permetre un ajustament no destructiu" + + +msgid "Snap during transform" +msgstr "Acoblar durant transformació" + + +msgid "Align Rotation to Target" +msgstr "Alinear rotació a referent" + + +msgid "Align rotation with the snapping target" +msgstr "Alinea la rotació amb el referent de l'acoblament" + + +msgid "Exclude back facing geometry from snapping" +msgstr "Excloure de l'acoblament la geometria que està d'esquena" + + +msgid "Snap onto Edited" +msgstr "Acoblar a editat" + + +msgid "Snap onto non-active objects in Edit Mode (Edit Mode Only)" +msgstr "S'acobla a objectes no actius en el mode d'edició (sols en mode d'edició)" + + +msgid "Absolute Grid Snap" +msgstr "Acoblament de graella absolut" + + +msgid "Absolute grid alignment while translating (based on the pivot center)" +msgstr "Alineació absoluta a la graella durant la translació (basada en el pivot central)" + + +msgid "Snap Node during transform" +msgstr "Acoblar node durant transformació" + + +msgid "Snap onto Non-edited" +msgstr "Acobla a no editats" + + +msgid "Snap onto objects not in Edit Mode (Edit Mode Only)" +msgstr "Acobla a objectes que no estan en mode edició (només en mode d'edició)" + + +msgid "Snap Peel Object" +msgstr "Acoblar objecte desplaçat" + + +msgid "Consider objects as whole when finding volume center" +msgstr "[Snap Peel Object]: Considera els objectes sencers en trobar el centre de volum" + + +msgid "Project individual elements on the surface of other objects (Always enabled with Face Nearest)" +msgstr "Projectar elements individuals sobre la superfície d'altres objectes (sempre activat amb cares pròximes)" + + +msgid "Use Snap for Rotation" +msgstr "Activar acoblament per a rotació" + + +msgid "Rotate is affected by the snapping settings" +msgstr "[Use Snap for Rotation]: La rotació es veu afectada pels paràmetres d'acoblament" + + +msgid "Use Snap for Scale" +msgstr "Activar acoblament per a escala" + + +msgid "Scale is affected by snapping settings" +msgstr "L'escala es veu afectada pels paràmetres d'acoblament" + + +msgid "Snap onto Selectable Only" +msgstr "Acoblar sols a seleccionables" + + +msgid "Snap only onto objects that are selectable" +msgstr "Acobla només a objectes que siguin seleccionables" + + +msgid "Snap onto Active" +msgstr "Acoblar a actiu(s)" + + +msgid "Snap onto itself only if enabled (Edit Mode Only)" +msgstr "Acoblar sols a si mateix només si està activat (només en mode edició)" + + +msgid "Snap to strip edges or current frame" +msgstr "Acoblar als caps de segments o al fotograma actual" + + +msgid "Snap to Same Target" +msgstr "Acoblar al mateix referent" + + +msgid "Snap only to target that source was initially near (Face Nearest Only)" +msgstr "Acoblar només per al referent a què la font estava inicialment pròxima (només per a Cares pròximes)" + + +msgid "Use Snap for Translation" +msgstr "Usar acoblament per a traslació" + + +msgid "Move is affected by snapping settings" +msgstr "[Use Snap for Translation]: La configuració de l'acoblament afecta el moviment" + + +msgid "Snap UV during transform" +msgstr "Acobla UVs durant la transformació" + + +msgid "Correct Face Attributes" +msgstr "Corregir atributs de cares" + + +msgid "Correct data such as UVs and color attributes when transforming" +msgstr "Corregeix dades com els atributs de color i UVs en transformar" + + +msgid "Keep Connected" +msgstr "Mantenir connectats" + + +msgid "During the Face Attributes correction, merge attributes connected to the same vertex" +msgstr "Durant la correcció d'atributs facials, fusiona els atributs connectats al mateix vèrtex" + + +msgid "Transform Origins" +msgstr "Transformar orígens" + + +msgid "Transform object origins, while leaving the shape in place" +msgstr "[Transform Origins]: Transforma els orígens dels objectes, mentre deixa la forma al lloc" + + +msgid "Only Locations" +msgstr "Només ubicacions" + + +msgid "Only transform object locations, without affecting rotation or scaling" +msgstr "Transforma només les ubicacions dels objectes, sense afectar la rotació o l'escala" + + +msgid "Transform Parents" +msgstr "Transformar pares" + + +msgid "Transform the parents, leaving the children in place" +msgstr "Transforma els pares, deixant els fills al seu lloc" + + +msgid "UV Sync Selection" +msgstr "Selecció amb sincronització UV" + + +msgid "Keep UV and edit mode mesh selection in sync" +msgstr "Mantén sincronitzades la selecció d'UVs i la de malla en mode edició" + + +msgid "Relaxation Method" +msgstr "Mètode de relaxació" + + +msgid "Algorithm used for UV relaxation" +msgstr "Algorisme utilitzat per a la relaxació d'UVs" + + +msgid "Use Laplacian method for relaxation" +msgstr "Usar mètode laplacià de relaxació" + + +msgid "HC" +msgstr "HC" + + +msgid "Use HC method for relaxation" +msgstr "Usar mètode HC de relaxació" + + +msgid "Use Geometry (cotangent) relaxation, making UVs follow the underlying 3D geometry" +msgstr "Usar relaxació de geometria (cotangent), fent que la UV segueixi la geometria 3D subjacent" + + +msgid "UV Sculpt" +msgstr "Esculpir UVs" + + +msgid "Sculpt All Islands" +msgstr "Esculpeix totes les illes" + + +msgid "Brush operates on all islands" +msgstr "El pinzell opera en totes les illes" + + +msgid "Lock Borders" +msgstr "Bloquejar límits" + + +msgid "Disable editing of boundary edges" +msgstr "Desactiva l'edició de les arestes dels límits" + + +msgid "UV Selection Mode" +msgstr "Mode selecció UV" + + +msgid "UV selection and display mode" +msgstr "Selecció i mode de visualització UV" + + +msgid "Sticky Selection Mode" +msgstr "Mode de selecció enganxosa" + + +msgid "Method for extending UV vertex selection" +msgstr "Mètode per a estendre la selecció de vèrtexs UV" + + +msgid "Sticky vertex selection disabled" +msgstr "S'ha desactivat la selecció de vèrtexs enganxosa" + + +msgid "Shared Location" +msgstr "Ubicació compartida" + + +msgid "Select UVs that are at the same location and share a mesh vertex" +msgstr "Selecciona UVs que estiguin a la mateixa ubicació i comparteixin un vèrtex de malla" + + +msgid "Shared Vertex" +msgstr "Vèrtex compartit" + + +msgid "Select UVs that share a mesh vertex, whether or not they are at the same location" +msgstr "Selecciona UVs que comparteixin un vèrtex de malla, estiguin o no en la mateixa ubicació" + + +msgid "Filter Vertex groups for Display" +msgstr "Filtrar grups de vèrtex per mostrar" + + +msgid "All Vertex Groups" +msgstr "Tots els grups de vèrtexs" + + +msgid "Vertex Groups assigned to Deform Bones" +msgstr "Grups de vèrtex assignats a ossos de deformació" + + +msgid "Vertex Groups assigned to non Deform Bones" +msgstr "Grups de vèrtex assignats a ossos de no-deformació" + + +msgid "Mask Non-Group Vertices" +msgstr "Emmascara vèrtexs que no són de grup" + + +msgid "Display unweighted vertices" +msgstr "Mostrar vèrtexs sense pesos" + + +msgid "Show vertices with no weights in the active group" +msgstr "Mostra els vèrtexs sense pesos del grup actiu" + + +msgid "Show vertices with no weights in any group" +msgstr "Mostrar vèrtexs sense pesos en cap grup" + + +msgid "Vertex Group Weight" +msgstr "Pes de grup de vèrtexs" + + +msgid "Weight to assign in vertex groups" +msgstr "Pes a assignar a grups de vèrtexs" + + +msgctxt "View3D" +msgid "Drag" +msgstr "Arrossegar" + + +msgid "Action when dragging in the viewport" +msgstr "Acció d'arrossegament al mirador" + + +msgctxt "View3D" +msgid "Active Tool" +msgstr "Eina activa" + + msgctxt "View3D" msgid "Select" msgstr "Seleccionar" +msgid "Name of the custom transform orientation" +msgstr "Nom de l'orientació de transformació personalitzada" + + +msgid "Orientation Slot" +msgstr "Epígraf d'orientació" + + +msgid "Current Transform Orientation" +msgstr "[Orientation Slot]: Orientació actual de la transformació" + + +msgid "Use scene orientation instead of a custom setting" +msgstr "Usar orientació de l'escena en lloc d'un ajust personalitzat" + + +msgid "UDIM Tile" +msgstr "Mosaic DIMU" + + +msgid "Properties of the UDIM tile" +msgstr "[UDIM Tile]: Propietats del mosaic DIMU" + + +msgid "Number of channels in the tile pixels buffer" +msgstr "Nombre de canals a la memòria intermèdia de píxels del mosaic" + + +msgid "Tile label" +msgstr "Etiqueta del mosaic" + + +msgid "Number of the position that this tile covers" +msgstr "Número de la posició que cobreix aquest mosaic" + + +msgid "Width and height of the tile buffer in pixels, zero when image data can't be loaded" +msgstr "Amplada i alçada de la memòria intermèdia del mosaic en píxels, zero quan no es poden carregar les dades d'imatge" + + +msgid "Collection of UDIM tiles" +msgstr "Col·lecció de mosaics DIMU" + + +msgid "Active Image Tile" +msgstr "Imatge mosaic activa" + + +msgid "Active Tile Index" +msgstr "Índex de mosaic actiu" + + +msgid "Active index in tiles array" +msgstr "Índex actiu en la matriu de mosaics" + + +msgid "UI list containing the elements of a collection" +msgstr "Llista d'IU que conté els elements d'una col·lecció" + + +msgid "FILTER_ITEM" +msgstr "FILTER_ITEM" + + +msgid "The value of the reserved bitflag 'FILTER_ITEM' (in filter_flags values)" +msgstr "El valor del semàfor reservat «FILTER_ITEM» (en els valors de filter_flag)" + + +msgid "If this is set, the uilist gets a custom ID, otherwise it takes the name of the class used to define the uilist (for example, if the class name is \"OBJECT_UL_vgroups\", and bl_idname is not set by the script, then bl_idname = \"OBJECT_UL_vgroups\")" +msgstr "Si està assignat. llista d'iu obté un identificador personalitzat, en cas contrari pren el nom de la classe utilitzada per definir la llista d'ius (per exemple, si el nom de la classe és «OBJECT_UL_vgroups», i el bl_idname no està establert pel protocol, llavors el bl_idname = «OBJECT_UL_vgroups»)" + + +msgid "Filter by Name" +msgstr "Filtrar per nom" + + +msgid "Only show items matching this name (use '*' as wildcard)" +msgstr "Mostra només els elements que coincideixen amb aquest nom (usar «*» com a comodí)" + + +msgid "Default Layout" +msgstr "Disposició predeterminada" + + +msgid "Use the default, multi-rows layout" +msgstr "[Default Layout]: Utilitza la disposició predeterminada de múltiples files" + + +msgid "Compact Layout" +msgstr "Disposició compacta" + + +msgid "Use the compact, single-row layout" +msgstr "Utilitza la disposició compacta d'una sola fila" + + +msgid "Grid Layout" +msgstr "Disposició de la quadrícula" + + +msgid "Use the grid-based layout" +msgstr "[Grid Layout]: Utilitza la disposició basada en una quadrícula" + + +msgid "List Name" +msgstr "Nom de la llista" + + +msgid "Identifier of the list, if any was passed to the \"list_id\" parameter of \"template_list()\"" +msgstr "Identificador de la llista, si s'ha passat cap al paràmetre «list_id» de «template_list()»" + + +msgid "Invert filtering (show hidden items, and vice versa)" +msgstr "Invertir filtratge (mostra elements ocults i viceversa)" + + +msgid "Show Filter" +msgstr "Mostrar filtre" + + +msgid "Show filtering options" +msgstr "Mostra les opcions de filtratge" + + +msgid "Sort by Name" +msgstr "Ordenar per nom" + + +msgid "Sort items by their name" +msgstr "Ordena els elements pel seu nom" + + +msgid "Lock Order" +msgstr "Bloquejar ordre" + + +msgid "Lock the order of shown items (user cannot change it)" +msgstr "Bloqueja l'ordre dels elements mostrats (la usuària no pot canviar-lo)" + + +msgid "Reverse the order of shown items" +msgstr "Invertir ordre dels elements mostrats" + + +msgid "UV Map Layers" +msgstr "Capes de mapa UV" + + +msgid "Collection of UV map layers" +msgstr "Col·lecció de capes de mapa UV" + + +msgid "Active UV Map Layer" +msgstr "Capa de mapa UV activa" + + +msgid "Active UV Map layer" +msgstr "Capa activa del mapa UV" + + +msgid "Active UV Map Index" +msgstr "Índex del mapa UV actiu" + + +msgid "Active UV map index" +msgstr "Índex del mapa UV actiu" + + +msgid "UV projector used by the UV project modifier" +msgstr "Projector UV utilitzat pel modificador de projecció UV" + + +msgid "Object to use as projector transform" +msgstr "Objecte per a transformació de la projecció" + + +msgid "Overrides for some of the active brush's settings" +msgstr "Sobreseïments d'alguns dels paràmetres de pinzell actiu" + + +msgid "Radius of the brush" +msgstr "Radi del pinzell" + + +msgid "Use Unified Color" +msgstr "Usar color unificat" + + +msgid "Instead of per-brush color, the color is shared across brushes" +msgstr "En lloc d'un color per pinzell, el color es comparteix entre pinzells" + + +msgid "Use Unified Radius" +msgstr "Usar radi unificat" + + +msgid "Instead of per-brush radius, the radius is shared across brushes" +msgstr "En lloc d'un radi del pinzell, el radi es comparteix entre pinzells" + + +msgid "Use Unified Strength" +msgstr "Usar força unificada" + + +msgid "Instead of per-brush strength, the strength is shared across brushes" +msgstr "En lloc d'una força per pinzell, la força es comparteix entre pinzells" + + +msgid "Use Unified Weight" +msgstr "Usar pes unificat" + + +msgid "Instead of per-brush weight, the weight is shared across brushes" +msgstr "En lloc d'un pes del pinzell, el pes es comparteix entre pinzells" + + +msgid "Length Unit" +msgstr "Unitat de longitud" + + +msgid "Unit that will be used to display length values" +msgstr "Unitat que s'utilitzarà per mostrar els valors de la longitud" + + +msgid "Mass Unit" +msgstr "Unitat de massa" + + +msgid "Unit that will be used to display mass values" +msgstr "Unitat que s'utilitzarà per a mostrar valors de massa" + + +msgid "Unit Scale" +msgstr "Unitat d'escala" + + +msgid "Unit System" +msgstr "Sistema d'unitats" + + +msgid "The unit system to use for user interface controls" +msgstr "Sistema d'unitats dals controls de la interfície d'usuària" + + +msgid "Metric" +msgstr "Mètric" + + +msgid "Imperial" +msgstr "Imperial" + + +msgid "Rotation Units" +msgstr "Unitats de rotació" + + +msgid "Unit to use for displaying/editing rotation values" +msgstr "Unitat per a mostrar/editar valors de rotació" + + +msgid "Use degrees for measuring angles and rotations" +msgstr "Usar graus per a mesurar angles i rotacions" + + +msgid "Radians" +msgstr "Radians" + + +msgid "Temperature Unit" +msgstr "Unitat de temperatura" + + +msgid "Unit that will be used to display temperature values" +msgstr "Unitat que s'utilitzarà per mostrar els valors de temperatura" + + +msgid "Time Unit" +msgstr "Unitat de temps" + + +msgid "Unit that will be used to display time values" +msgstr "Unitat que s'utilitzarà per a mostrar els valors temporals" + + +msgid "Separate Units" +msgstr "Unitats diferents" + + +msgid "Display units in pairs (e.g. 1m 0cm)" +msgstr "Mostra de les unitats en parells (p. ex. 1m 0cm)" + + +msgid "Settings to define a reusable library for Asset Browsers to use" +msgstr "Configuració per definir una biblioteca reutilitzable per als navegadors de recursos" + + +msgid "Default Import Method" +msgstr "Mètode d'importació predeterminat" + + +msgid "Determine how the asset will be imported, unless overridden by the Asset Browser" +msgstr "Determina com s'importarà el recurs, llevat que el navegador d'actius el sobresegui" + + +msgid "Identifier (not necessarily unique) for the asset library" +msgstr "Identificador (no necessàriament únic) per a la biblioteca de recursos" + + +msgid "Path to a directory with .blend files to use as an asset library" +msgstr "Camí a un directori amb documents .blend per a usar-los com a biblioteca de recursos" + + +msgid "Solid Light" +msgstr "Llum sòlida" + + +msgid "Light used for Studio lighting in solid shading mode" +msgstr "Llum usada per a il·luminació d'estudi en mode d'aspecció sòlida" + + +msgid "Color of the light's diffuse highlight" +msgstr "Color del ressaltat difusiu de la llum" + + +msgid "Direction that the light is shining" +msgstr "Direcció en què la llum brilla" + + +msgid "Smooth the lighting from this light" +msgstr "Suavitzar la il·luminació d'aquesta llum" + + +msgid "Color of the light's specular highlight" +msgstr "Color del ressaltat especular de la llum" + + +msgid "Enable this light in solid shading mode" +msgstr "Activa aquesta llum en mode d'aspecció sòlida" + + +msgid "Vert Colors" +msgstr "Colors de vertèxs" + + +msgid "Collection of sculpt vertex colors" +msgstr "Col·lecció de colors de vèrtex esculpits" + + +msgid "Active Sculpt Vertex Color Layer" +msgstr "Capa activa de color de vèrtex d'escultura" + + +msgid "Active sculpt vertex color layer" +msgstr "Capa activa de color de vèrtex esculpit" + + +msgid "Active Sculpt Vertex Color Index" +msgstr "Índex de color del vèrtex d'escultura activa" + + +msgid "Active sculpt vertex color index" +msgstr "Índex de color del vèrtex d'esculpir actiu" + + +msgid "Vertex Float Properties" +msgstr "Propietats de flotant de vèrtex" + + +msgid "Group of vertices, used for armature deform and other purposes" +msgstr "Grup de vèrtexs, utilitzat per a la deformació d'esquelet i d'altres propòsits" + + +msgid "Index number of the vertex group" +msgstr "Número d'índex del grup de vèrtexs" + + +msgid "Maintain the relative weights for the group" +msgstr "Mantenir els pesos relatius per al grup" + + +msgid "Collection of vertex groups" +msgstr "Col·lecció de grups de vèrtexs" + + +msgid "Active Vertex Group" +msgstr "Grup de vèrtexs actiu" + + +msgid "Active Vertex Group Index" +msgstr "Índex de grup de vèrtexs actiu" + + +msgid "Active index in vertex group array" +msgstr "Índex actiu de la corrua de grups de vèrtexs" + + +msgid "Vertex Int Properties" +msgstr "Propietats d'enter del vèrtex" + + +msgid "Vertex String Properties" +msgstr "Propietats de cadena de vèrtex" + + +msgid "Scroll and zoom for a 2D region" +msgstr "Ròdol i zoom per a una regió 2D" + + +msgid "Transform Matrix" +msgstr "Matriu de transformació" + + +msgid "Matrix combining location and rotation of the cursor" +msgstr "Matriu que combina la ubicació i la rotació del cursor" + + +msgid "3D rotation" +msgstr "Rotació 3D" + + +msgid "3D View Overlay Settings" +msgstr "Configuració de la superposició de la vista 3D" + + +msgid "Backwire Opacity" +msgstr "Opacitat des filats" + + +msgid "Opacity when rendering transparent wires" +msgstr "Opacitat en revelar cables transparents" + + +msgid "Bone Wireframe Opacity" +msgstr "Opacitat de filat en ossos" + + +msgid "Maximum opacity of bones in wireframe display mode" +msgstr "Opacitat màxima dels ossos en el mode de visualització de filat" + + +msgid "Display Handles" +msgstr "Visibilitat de nanses" + + +msgid "Limit the display of curve handles in edit mode" +msgstr "Limita la visualització de les nanses de corba en mode d'edició" + + +msgid "Strength of the fade effect" +msgstr "Intensitat de l'efecte d'esvaïment" + + +msgid "Fade layer opacity for Grease Pencil layers except the active one" +msgstr "Capa d'esvaïment per a capes de llapis de greix exceptuant l'activa" + + +msgid "Fade factor" +msgstr "Factor d'esvaïment" + + +msgid "Canvas grid opacity" +msgstr "Opacitat de graella del llenç" + + +msgid "Grid Lines" +msgstr "Línies de graella" + + +msgid "Number of grid lines to display in perspective view" +msgstr "[Grid Lines]: Nombre de línies de graella a mostrar en vista de perspectiva" + + +msgid "Multiplier for the distance between 3D View grid lines" +msgstr "Multiplicador per a la distància entre línies de graella de vista 3D" + + +msgid "Grid Scale Unit" +msgstr "Unitat d'escala de graella" + + +msgid "Grid cell size scaled by scene unit system settings" +msgstr "Mida de les cel·les de la graella escalada segons la configuració de les unitats d'escena del sistema" + + +msgid "Number of subdivisions between grid lines" +msgstr "Nombre de subdivisions entre línies de graella" + + +msgid "Normal Screen Size" +msgstr "Mida de normals en pantalla" + + +msgid "Screen size for normals in the 3D view" +msgstr "[Normal Screen Size]: Mida de pantalla per a les normals a la vista 3D" + + +msgid "Normal Size" +msgstr "Mida de normals" + + +msgid "Display size for normals in the 3D view" +msgstr "Mida de representació de les normals en la vista 3D" + + +msgid "Retopology Offset" +msgstr "Desplaçament de retopologia" + + +msgid "Offset used to draw edit mesh in front of other geometry" +msgstr "[Retopology Offset]: Desplaçament per tibar la malla editada per davant de l'altra geometria" + + +msgid "Curves Sculpt Cage Opacity" +msgstr "Opacitat de la gàbia escultora de corbes" + + +msgid "Opacity of the cage overlay in curves sculpt mode" +msgstr "[Grid Lines]: Opacitat de la sobreposició de gàbia en el mode d'escultura de corbes" + + +msgid "Sculpt Face Sets Opacity" +msgstr "Opacitat dels jocs de cares en l'escultura" + + +msgid "Sculpt Mask Opacity" +msgstr "Opacitat de màscara d'escultura" + + +msgid "Display X Axis" +msgstr "Mostrar eix X" + + +msgid "Show the X axis line" +msgstr "Mostra la línia de l'eix X" + + +msgid "Display Y Axis" +msgstr "Mostrar eix Y" + + +msgid "Show the Y axis line" +msgstr "Mostra la línia de l'eix Y" + + +msgid "Display Z Axis" +msgstr "Mostrar eix Z" + + +msgid "Show the Z axis line" +msgstr "Mostra la línia de l'eix Z" + + +msgid "Show Bones" +msgstr "Mostrar ossos" + + +msgid "Display bones (disable to show motion paths only)" +msgstr "Mostra els ossos (desactivar per veure només els camins de moviment)" + + +msgid "Show 3D Cursor" +msgstr "Mostrar cursor 3D" + + +msgid "Display 3D Cursor Overlay" +msgstr "Mostra la superposició del cursor 3D" + + +msgid "Draw Normals" +msgstr "Fer sortir normals" + + +msgid "Display 3D curve normals in editmode" +msgstr "[Draw Normals]: Mostra les normals de corba en 3D en mode d'edició" + + +msgid "Display Bevel Weights" +msgstr "Mostrar pesos de bisell" + + +msgid "Display weights created for the Bevel modifier" +msgstr "Mostra pesos creats per al modificador de bisell" + + +msgid "Display Creases" +msgstr "Mostrar doblecs" + + +msgid "Display creases created for Subdivision Surface modifier" +msgstr "[Display Creases]: Ensenya els doblecs creats per al modificador subdivisió de superfície" + + +msgid "Display Seams" +msgstr "Mostrar costures" + + +msgid "Display UV unwrapping seams" +msgstr "[Display Seams]: Mostra les costures de desembolcallat d'UV" + + +msgid "Display Sharp" +msgstr "Mostrar cantelluts" + + +msgid "Display sharp edges, used with the Edge Split modifier" +msgstr "[Display Sharp]: Mostra els cantells aguts, usat amb el modificador de Divisió d'aresta" + + +msgid "Display Edges" +msgstr "Mostrar arestes" + + +msgid "Highlight selected edges" +msgstr "Ressalta les arestes seleccionades" + + +msgid "Display selected edge angle, using global values when set in the transform panel" +msgstr "Mostrar l'angle d'aresta seleccionat, usant valors globals quan s'estableix en el plafó de transformació" + + +msgid "Display selected edge lengths, using global values when set in the transform panel" +msgstr "Mostrar longituds d'arestes seleccionades, usant valors globals quan s'estableix en al plafó de transformació" + + +msgid "Face Angles" +msgstr "Angles de cares" + + +msgid "Display the angles in the selected edges, using global values when set in the transform panel" +msgstr "[Face Angles]: Mostra els angles de les vores seleccionades, usant valors globals quan s'estableix en el plafó de transformació" + + +msgid "Display the area of selected faces, using global values when set in the transform panel" +msgstr "Mostrar l'àrea de les cares seleccionades, usant valors globals quan s'estableix en el plafó de transformació" + + +msgid "Indices" +msgstr "Índexs" + + +msgid "Display the index numbers of selected vertices, edges, and faces" +msgstr "Mostra els nombres d'índex dels vèrtexs, arestes i cares seleccionats" + + +msgid "Extras" +msgstr "Extres" + + +msgid "Object details, including empty wire, cameras and other visual guides" +msgstr "Detalls d'objecte, incloent-hi cable buit, càmeres i altres guies visuals" + + +msgid "Display Face Center" +msgstr "Mostrar centres de cares" + + +msgid "Display face center when face selection is enabled in solid shading modes" +msgstr "Mostra el centre de les cares quan la selecció de cares està habilitada en els modes d'aspecció sòlida" + + +msgid "Display Normals" +msgstr "Mostrar normals" + + +msgid "Display face normals as lines" +msgstr "Mostra les normals de cara com a línies" + + +msgid "Face Orientation" +msgstr "Orientació de cares" + + +msgid "Show the Face Orientation Overlay" +msgstr "Mostra la superposició d'orientació de cara" + + +msgid "Highlight selected faces" +msgstr "Ressaltar cares seleccionades" + + +msgid "Fade Inactive Objects" +msgstr "Esvair objectes inactius" + + +msgid "Fade inactive geometry using the viewport background color" +msgstr "Fa esvair la geometria inactiva usant el color de rerefons del mirador" + + +msgid "Display Grid Floor" +msgstr "Mostrar sòl de graella" + + +msgid "Show the ground plane grid" +msgstr "Mostra el pla del terra de la graella" + + +msgid "Display Freestyle Edge Marks" +msgstr "Mostrar vores marcades per línia manual" + + +msgid "Display Freestyle edge marks, used with the Freestyle renderer" +msgstr "Mostra les marques de vora de línia manual, usades amb el revelat de línia manual" + + +msgid "Display Freestyle Face Marks" +msgstr "Mostrar marques de cara de línia manual" + + +msgid "Display Freestyle face marks, used with the Freestyle renderer" +msgstr "Mostrar marques de cara de línia manual, usades en el revelat de línia manual" + + +msgid "Light Colors" +msgstr "Colors de llum" + + +msgid "Show light colors" +msgstr "Mostra els colors de llum" + + +msgid "HDRI Preview" +msgstr "Previsualització d'HDRI" + + +msgid "Show HDRI preview spheres" +msgstr "Mostra les esferes de previsualització d'HDRI" + + +msgid "Show the Motion Paths Overlay" +msgstr "Mostra la superposició dels trajectes de moviment" + + +msgid "Object Origins" +msgstr "Orígens d'objectes" + + +msgid "Show object center dots" +msgstr "Mostra els punts centrals dels objectes" + + +msgid "All Object Origins" +msgstr "Tots els orígens d'objectes" + + +msgid "Show the object origin center dot for all (selected and unselected) objects" +msgstr "Mostra el punt d'origen central d'objecte de tots els objectes (seleccionats i no seleccionats)" + + +msgid "Show the Onion Skinning Overlay" +msgstr "Mostrar superposició de pells de ceba" + + +msgid "Display Grid" +msgstr "Mostrar graella" + + +msgid "Show grid in orthographic side view" +msgstr "Mostra la graella en vista lateral ortogràfica" + + +msgid "Outline Selected" +msgstr "Contorn seleccionat" + + +msgid "Show an outline highlight around selected objects" +msgstr "Mostra un ressaltat de contorn al voltant dels objectes seleccionats" + + +msgid "Display overlays like gizmos and outlines" +msgstr "Mostrar superposicions com flòstics i contorns" + + +msgid "Show Wire" +msgstr "Mostrar filat" + + +msgid "Use wireframe display in painting modes" +msgstr "Usa la visualització de filat en els modes de pintura" + + +msgid "Relationship Lines" +msgstr "Línies de relacions" + + +msgid "Show dashed lines indicating parent or constraint relationships" +msgstr "Mostra les línies de guionets que indiquen relacions de paternitat o restricció" + + +msgid "Retopology" +msgstr "Retopologia" + + +msgid "Sculpt Curves Cage" +msgstr "Esculpir: gàbia de corbes" + + +msgid "Show original curves that are currently being edited" +msgstr "Mostrar les corbes originals que s'estan editant actualment" + + +msgid "Sculpt Show Face Sets" +msgstr "Esculpir: mostrar jocs de cares" + + +msgid "Sculpt Show Mask" +msgstr "Esculpir: mostrar màscara" + + +msgid "Display Split Normals" +msgstr "Mostrar normals dividides" + + +msgid "Display vertex-per-face normals as lines" +msgstr "Mostra les normals de vèrtex-per-cara com a línies" + + +msgid "Display scene statistics overlay text" +msgstr "Mostrar text sobreposat d'estadístiques d'escena" + + +msgid "Stat Vis" +msgstr "Vis est" + + +msgid "Display statistical information about the mesh" +msgstr "[Stat Vis]: Mostra informació estadística sobre la malla" + + +msgid "Show Text" +msgstr "Mostrar text" + + +msgid "Display overlay text" +msgstr "Mostra el text superposat" + + +msgid "Display Vertex Normals" +msgstr "Mostrar normals de vèrtex" + + +msgid "Display vertex normals as lines" +msgstr "Mostra les normals dels vèrtexs com a línies" + + +msgid "Show attribute overlay for active viewer node" +msgstr "Mostra superposició d'atributs per al node del visor actiu" + + +msgid "Show Weights" +msgstr "Mostrar pesos" + + +msgid "Display weights in editmode" +msgstr "Mostra els pesos en mode d'edició" + + +msgid "Show face edges wires" +msgstr "Mostra filat d'arestes de cara" + + +msgid "Show Weight Contours" +msgstr "Mostrar contorns de pesos" + + +msgid "Show contour lines formed by points with the same interpolated weight" +msgstr "Mostra les línies de contorn formades per punts amb el mateix pes interpolat" + + +msgid "Show Bone X-Ray" +msgstr "Mostrar raig-X d'os" + + +msgid "Show the bone selection overlay" +msgstr "Mostra la superposició de selecció de l'os" + + +msgid "Stencil Mask Opacity" +msgstr "Opacitat de la plantilla màscara" + + +msgid "Opacity of the texture paint mode stencil mask overlay" +msgstr "Opacitat de la superposició de la plantilla màscara en mode pintat de textura" + + +msgid "Freeze Culling" +msgstr "Congelar esporgament" + + +msgid "Freeze view culling bounds" +msgstr "[Freeze Culling]: Congela el visionat fora dels límits d'esporgament" + + +msgid "Canvas X-Ray" +msgstr "Raig-X del llenç" + + +msgid "Show Canvas grid in front" +msgstr "[Canvas X-Ray]: Mostra la graella del llenç per davant" + + +msgid "Show Edit Lines" +msgstr "Mostrar línies d'edició" + + +msgid "Show Edit Lines when editing strokes" +msgstr "Mostra les línies d'edició quan s'editen traços" + + +msgid "Fade Grease Pencil Objects" +msgstr "Esvaeix objectes de llapis de greix" + + +msgid "Fade Grease Pencil Objects, except the active one" +msgstr "Esvaeix els objectes del llapis de greix, excepte l'actiu" + + +msgid "Fade Layers" +msgstr "Esvaeix capes" + + +msgid "Toggle fading of Grease Pencil layers except the active one" +msgstr "[Fade Layers]: Revesa l'esvaïment de les capes de llapis de greix excepte l'activa" + + +msgid "Fade Objects" +msgstr "Esvaeix objectes" + + +msgid "Fade all viewport objects with a full color layer to improve visibility" +msgstr "Esvaeix tots els objectes del mirador amb una capa completa de color per millorar la visibilitat" + + +msgid "Use Grid" +msgstr "Usar quadrícula" + + +msgid "Display a grid over grease pencil paper" +msgstr "Mostra una quadrícula sobre paper de llapis de greix" + + +msgid "Lines Only" +msgstr "Només línies" + + +msgid "Show Edit Lines only in multiframe" +msgstr "Mostra les línies d'edició només en multifotograma" + + +msgid "Stroke Direction" +msgstr "Direcció de traç" + + +msgid "Show stroke drawing direction with a bigger green dot (start) and smaller red dot (end) points" +msgstr "[Stroke Direction]: Mostra la direcció de dibuix del traç amb un punt verd més gran (inici) i un punt vermell més petit (final)" + + +msgid "Stroke Material Name" +msgstr "Nom material de traç" + + +msgid "Show material name assigned to each stroke" +msgstr "Mostra el nom del material assignat a cada traç" + + +msgid "Constant Screen Size Normals" +msgstr "Mida constant de normals en pantalla" + + +msgid "Keep size of normals constant in relation to 3D view" +msgstr "Manté la mida de les normals constant en relació amb la vista 3D" + + +msgid "Vertex Opacity" +msgstr "Opacitat de vèrtex" + + +msgid "Opacity for edit vertices" +msgstr "Opacitat dels vèrtex en edició" + + +msgid "Viewer Attribute Opacity" +msgstr "Atribut d'opacitat del visor" + + +msgid "Opacity of the attribute that is currently visualized" +msgstr "Opacitat de l'atribut que es visualitza actualment" + + +msgid "Weight Paint Opacity" +msgstr "Opacitat de pintura de pesos" + + +msgid "Opacity of the weight paint mode overlay" +msgstr "Opacitat de la superposició en mode de pintura de pesos" + + +msgid "Wireframe Opacity" +msgstr "Opacitat de filat" + + +msgid "Opacity of the displayed edges (1.0 for opaque)" +msgstr "Opacitat de les arestes que es mostren (1.0 és opac)" + + +msgid "Wireframe Threshold" +msgstr "Llindar del filat" + + +msgid "Adjust the angle threshold for displaying edges (1.0 for all)" +msgstr "Ajusta el llindar d'angle en què les arestes es mostren (1.0 totes)" + + +msgid "Opacity to use for bone selection" +msgstr "Opacitat en la selecció d'ossos" + + +msgid "3D View Shading Settings" +msgstr "Configuració d'aspecció de vista 3D" + + +msgid "Shader AOV Name" +msgstr "Nom de l'aspector VEA" + + +msgid "Name of the active Shader AOV" +msgstr "[Shader AOV Name]: Nom de l'aspector actiu VEA" + + +msgid "Background Color" +msgstr "Color de rerefons" + + +msgid "Color for custom background color" +msgstr "Color per al color de rerefons personalitzat" + + +msgctxt "View3D" +msgid "Background" +msgstr "Rerefons" + + +msgid "Way to display the background" +msgstr "[Background]: Manera de mostrar el rerefons" + + +msgctxt "View3D" +msgid "Theme" +msgstr "Tema" + + +msgid "Use the theme for background color" +msgstr "Usa el tema per a color de rerefons" + + +msgctxt "View3D" +msgid "World" +msgstr "Món" + + +msgid "Use the world for background color" +msgstr "Usa el món per al color de rerefons" + + +msgctxt "View3D" +msgid "Viewport" +msgstr "Mirador" + + +msgid "Use a custom color limited to this viewport only" +msgstr "Usa un color personalitzat que es queda només en aquest mirador" + + +msgid "Cavity Ridge" +msgstr "Protuberància de cavitat" + + +msgid "Factor for the cavity ridges" +msgstr "Factor per a les protuberàncies de cavitat" + + +msgctxt "View3D" +msgid "Cavity Type" +msgstr "Tipus de cavitat" + + +msgid "Way to display the cavity shading" +msgstr "Manera de mostrar l'aspecció de la cavitat" + + +msgid "Cavity shading computed in world space, useful for larger-scale occlusion" +msgstr "L'aspecció de cavitat calculada dins l'espai del món, útil per a l'oclusió a gran escala" + + +msgctxt "View3D" +msgid "Screen" +msgstr "Pantalla" + + +msgid "Curvature-based shading, useful for making fine details more visible" +msgstr "Aspecció basada en curvatura, útil per a fer més visibles els detalls fins" + + +msgctxt "View3D" +msgid "Both" +msgstr "Ambdós" + + +msgid "Use both effects simultaneously" +msgstr "Usa tots dos efectes simultàniament" + + +msgid "Cavity Valley" +msgstr "Vall de Cavitat" + + +msgid "Factor for the cavity valleys" +msgstr "[Cavity Valley]: Factor per a les valls de cavitat" + + +msgid "Show material color" +msgstr "Mostrar color de material" + + +msgid "Show scene in a single color" +msgstr "Mostrar escena en un sol color" + + +msgid "Show object color" +msgstr "Mostrar color d'objecte" + + msgid "Show random object color" -msgstr "Mostra objecte amb color aleatori" +msgstr "Mostrar objecte amb color aleatori" + + +msgid "Show active color attribute" +msgstr "Mostrar atribut de color actiu" + + +msgid "Show the texture from the active image texture node using the active UV map coordinates" +msgstr "Mostra la textura des del node d'imatge textura actiu a partir de les coordenades actives del mapa UV" + + +msgid "Curvature Ridge" +msgstr "Protuberància de curvatura" + + +msgid "Factor for the curvature ridges" +msgstr "[Curvature Ridge]: Factor per a les protuberàncies de curvatura" + + +msgid "Curvature Valley" +msgstr "Vall de curvatura" + + +msgid "Factor for the curvature valleys" +msgstr "[Curvature Valley]: Factor per a les valls de curvatura" + + +msgid "Cycles Settings" +msgstr "Configuració de Cycles" + + +msgid "Lighting Method for Solid/Texture Viewport Shading" +msgstr "Mètode d'il·luminació per a aspecció sòlida/de textura al mirador" + + +msgid "Display using studio lighting" +msgstr "Mostrar amb il·luminació d'estudi" + + +msgid "Display using matcap material and lighting" +msgstr "Mostrar amb material matcap i il·luminació" + + +msgid "Display using flat lighting" +msgstr "Mostrar amb il·luminació plana" + + +msgid "Outline Color" +msgstr "Color de contorn" + + +msgid "Color for object outline" +msgstr "[Outline Color]: Color per al contorn de l'objecte" + + +msgid "Render Pass to show in the viewport" +msgstr "Passada de revelat per al mirador" + + +msgid "Diffuse Light" +msgstr "Llum difusiva" + + +msgid "Specular Light" +msgstr "Llum especular" + + +msgid "Volume Light" +msgstr "Llum de volum" + + +msgid "CryptoObject" +msgstr "Cryptoobjecte" + + +msgid "CryptoAsset" +msgstr "Criptorecurs" + + +msgid "CryptoMaterial" +msgstr "Criptomaterial" + + +msgid "AOV" +msgstr "VEA" + + +msgid "Selected StudioLight" +msgstr "Llum d'estudi seleccionada" + + +msgid "Shadow Intensity" +msgstr "Intensitat d'ombra" + + +msgid "Darkness of shadows" +msgstr "Foscor de les ombres" + + +msgid "Cavity" +msgstr "Cavitat" + + +msgid "Show Cavity" +msgstr "Mostrar cavitat" + + +msgid "Show Object Outline" +msgstr "Mostrar contorn d'objecte" + + +msgid "Show Shadow" +msgstr "Mostrar ombra" + + +msgid "Specular Highlights" +msgstr "Ressaltats especulars" + + +msgid "Render specular highlights" +msgstr "[Specular Highlights]: Revela els ressaltats especulars" + + +msgid "Show X-Ray" +msgstr "Mostrar raigs X" + + +msgid "Show whole scene transparent" +msgstr "[Show X-Ray]: Mostra tota l'escena transparent" + + +msgid "Color for single color mode" +msgstr "Color per al mode de color únic" + + +msgid "Studiolight" +msgstr "Llum d'estudi" + + +msgid "Studio lighting setup" +msgstr "[Studiolight]: Muntatge d'il·luminació d'estudi" + + +msgid "World Opacity" +msgstr "Opacitat de món" + + +msgid "Show the studiolight in the background" +msgstr "Mostrar la llum d'estudi del rerefons" + + +msgid "Blur the studiolight in the background" +msgstr "Difuminar la llum d'estudi del rerefons" + + +msgid "Strength of the studiolight" +msgstr "Intensitat de la llum d'estudi" + + +msgid "Studiolight Rotation" +msgstr "Rotació de la llum d'estudi" + + +msgid "Rotation of the studiolight around the Z-Axis" +msgstr "Rotació de la llum d'estudi al voltant de l'eix Z" msgid "Viewport Shading" -msgstr "Aspectes en el mirador" +msgstr "Aspecció de mirador" + + +msgid "Method to display/shade objects in the 3D View" +msgstr "Mètode per a mostrar/aspectar objectes en la vista 3D" + + +msgid "When to preview the compositor output inside the viewport" +msgstr "Quan s'ha de previsualitzar l'egressió del compositador al mirador" + + +msgid "The compositor is disabled" +msgstr "El compositador està desactivat" + + +msgid "The compositor is enabled only in camera view" +msgstr "El compositador està habilitat només en vista de càmera" + + +msgid "The compositor is always enabled regardless of the view" +msgstr "El compositador sempre està habilitat independentment de la vista" + + +msgid "Use depth of field on viewport using the values from the active camera" +msgstr "Usar profunditat de camp al mirador a partir dels valors de la càmera activa" + + +msgid "Scene Lights" +msgstr "Llums d'escena" + + +msgid "Render lights and light probes of the scene" +msgstr "Revela llums i sondes de llum de l’escena" + + +msgid "Scene World" +msgstr "Escena del món" + + +msgid "Use scene world for lighting" +msgstr "[Scene World]: Usa l'escena del món per a il·luminar" + + +msgid "World Space Lighting" +msgstr "Il·luminació d'espai món" + + +msgid "Make the HDR rotation fixed and not follow the camera" +msgstr "Fer fixa la rotació d'HDR i no seguir la càmera" + + +msgid "Make the lighting fixed and not follow the camera" +msgstr "Fer que la il·luminació sigui fixa i no segueixi la càmera" + + +msgid "Show VR Controllers" +msgstr "Mostrar controladors d'RV" + + +msgid "Show Landmarks" +msgstr "Mostrar termes" + + +msgid "Show VR Camera" +msgstr "Mostrar càmera d'RV" + + +msgid "X-Ray Alpha" +msgstr "Alfa de raigs X" + + +msgid "Amount of alpha to use" +msgstr "Quantitat d'alfa a utilitzar" + + +msgid "View layer" +msgstr "Capa de visualització" + + +msgid "Active AOV" +msgstr "VEA actiu" + + +msgid "Active AOV Index" +msgstr "[Active AOV]: Índex de VEA actiu" + + +msgid "Index of active aov" +msgstr "Índex d'un VEA actiu" + + +msgid "Active Layer Collection" +msgstr "Col·lecció de capes activa" + + +msgid "Active layer collection in this view layer's hierarchy" +msgstr "Col·lecció de capes activa en aquesta vista de la jerarquia de capes" + + +msgid "Active Lightgroup" +msgstr "Grup de llums actiu" + + +msgid "Active Lightgroup Index" +msgstr "Índex del grup de llums actiu" + + +msgid "Index of active lightgroup" +msgstr "Índex del grup de llums actiu" + + +msgid "Cycles ViewLayer Settings" +msgstr "Configuració de capa de visualització de Cycles" + + +msgid "Dependencies in the scene data" +msgstr "Dependències de dades d'escena" + + +msgid "Eevee Settings" +msgstr "Configuració d'Eevee" + + +msgid "View layer settings for Eevee" +msgstr "Configuració de capa de visualització per a Eevee" + + +msgid "Root of collections hierarchy of this view layer, its 'collection' pointer property is the same as the scene's master collection" +msgstr "Arrel de la jerarwuia de col·leccions d'aquesta capa de visualització, essent la seva propietat del punter 'col·lecció' la mateixa que la col·lecció mestra de l'escena" + + +msgid "Material Override" +msgstr "Material de sobreseïment" + + +msgid "Material to override all other materials in this view layer" +msgstr "[Material Override]: Material per sobreseure tots els altres materials d'aquesta capa de visualització" + + +msgid "All the objects in this layer" +msgstr "Tots els objectes de la capa" + + +msgid "Alpha Threshold" +msgstr "Llindar alfa" + + +msgid "Z, Index, normal, UV and vector passes are only affected by surfaces with alpha transparency equal to or higher than this threshold" +msgstr "[Alpha Threshold]: Les passades Z, Índex, Normal, UV i Vector només es veuen afectades per superfícies amb transparència alfa igual o superior a aquest llindar" + + +msgid "Cryptomatte Levels" +msgstr "Nivells de criptoclapa" + + +msgid "Sets how many unique objects can be distinguished per pixel" +msgstr "[Cryptomatte Levels]: Estableix quants objectes únics es poden distingir per píxel" + + +msgid "Override number of render samples for this view layer, 0 will use the scene setting" +msgstr "Sobreseu el nombre de mostres de revelat per a aquesta capa de visualització, amb 0 s'usarà la configuració d'escena" + + +msgid "Enable or disable rendering of this View Layer" +msgstr "Activar o desactivar revelat d'aquesta capa de visualització" + + +msgid "Render stylized strokes in this Layer" +msgstr "Revela traços estilitzats en aquesta capa" + + +msgid "Cryptomatte Accurate" +msgstr "Cryptoclapa acurat" + + +msgid "Generate a more accurate cryptomatte pass" +msgstr "Genera una passada a la criptoclapa més precisa" + + +msgid "Cryptomatte Asset" +msgstr "Recurs criptoclapa" + + +msgid "Render cryptomatte asset pass, for isolating groups of objects with the same parent" +msgstr "Revela la passada de recurs criptoclapa, per a aïllar grups d'objectes amb el mateix pare" + + +msgid "Cryptomatte Material" +msgstr "Criptoclapa material" + + +msgid "Render cryptomatte material pass, for isolating materials in compositing" +msgstr "Revela la passada de material de criptoclapa, per a aïllar materials en compositar" + + +msgid "Cryptomatte Object" +msgstr "Cripotoclapa objecte" + + +msgid "Render cryptomatte object pass, for isolating objects in compositing" +msgstr "Revela la passada d'objecte criptoclapa, per a aïllar els objectes en compositar" + + +msgid "Deliver bloom pass" +msgstr "Aporta passada de floració" + + +msgid "Deliver volume direct light pass" +msgstr "[Deliver bloom pass]: Aporta passada de llum directa de volum" + + +msgid "Path to data that is viewed" +msgstr "Camí a les dades que es visualitzen" + + +msgid "Viewer Path Element" +msgstr "Element de trajecte del visor" + + +msgid "Element of a viewer path" +msgstr "Element d'un trajecte del visor" + + +msgid "Type of the path element" +msgstr "Tipus d'element de trajecte" + + +msgid "Node Name" +msgstr "Nom de node" + + +msgid "Volume Display" +msgstr "Visualització de volum" + + +msgid "Volume object display settings for 3D viewport" +msgstr "Paràmetres de visualització d'objectes de volum per al mirador 3D" + + +msgid "Thickness of volume display in the viewport" +msgstr "Gruix de visualització de volum al mirador" + + +msgid "Interpolation method to use for volumes in solid mode" +msgstr "Mètode d'interpolació per a volums en mode sòlid" + + +msgid "Wireframe Detail" +msgstr "Detall de filat" + + +msgid "Amount of detail for wireframe display" +msgstr "Quantitat de detalls per a la visualització de filats" + + +msgid "Coarse" +msgstr "Bast" + + +msgid "Display one box or point for each intermediate tree node" +msgstr "[Coarse]: Mostra una capsa o punt per a cada node d'arbre intermedi" + + +msgid "Fine" +msgstr "Refinat" + + +msgid "Display box for each leaf node containing 8x8 voxels" +msgstr "[Fine]: Mostra capsa per a cada node orfe que conté 8x8 vòxels" + + +msgid "Type of wireframe display" +msgstr "Tipus de visualització de filat" + + +msgid "Don't display volume in wireframe mode" +msgstr "No mostrar volum en mode filat" + + +msgid "Display single bounding box for the entire grid" +msgstr "Mostra una única capsa contenidora única per a tota la graella" + + +msgid "Boxes" +msgstr "Capses" + + +msgid "Display bounding boxes for nodes in the volume tree" +msgstr "[Boxes]: Mostra capses contenidores per nodes de l'arbre de volums" + + +msgid "Display points for nodes in the volume tree" +msgstr "Mostrar punts pels nodes de l'arbre de volums" + + +msgid "Volume Grid" +msgstr "Graella de volum" + + +msgid "3D volume grid" +msgstr "[Volume Grid]: Graella de volum en 3D" + + +msgid "Number of dimensions of the grid data type" +msgstr "Nombre de dimensions del tipus de dades de graella" + + +msgctxt "Volume" +msgid "Data Type" +msgstr "Tipus de dades" + + +msgid "Data type of voxel values" +msgstr "Tipus de dades de valors voxel" + + +msgctxt "Volume" +msgid "Boolean" +msgstr "Booleà" + + +msgctxt "Volume" +msgid "Float" +msgstr "Coma flotant" + + +msgid "Single precision float" +msgstr "Coma flotant de precisió única" + + +msgctxt "Volume" +msgid "Double" +msgstr "Doble" + + +msgid "Double precision" +msgstr "Precisió doble" + + +msgctxt "Volume" +msgid "Integer" +msgstr "Enter" + + +msgctxt "Volume" +msgid "Integer 64-bit" +msgstr "Enter de 64 bits" + + +msgid "64-bit integer" +msgstr "Enter de 64 bits" + + +msgctxt "Volume" +msgid "Mask" +msgstr "Màscara" + + +msgid "No data, boolean mask of active voxels" +msgstr "Sense dades, màscara booleana de vòxels actius" + + +msgctxt "Volume" +msgid "Float Vector" +msgstr "Vector flotant" + + +msgid "3D float vector" +msgstr "Vector flotant 3D" + + +msgctxt "Volume" +msgid "Double Vector" +msgstr "Vector doble" + + +msgid "3D double vector" +msgstr "Vector doble 3D" + + +msgctxt "Volume" +msgid "Integer Vector" +msgstr "Vector enter" + + +msgid "3D integer vector" +msgstr "Vector enter 3D" + + +msgctxt "Volume" +msgid "Points (Unsupported)" +msgstr "Punts (sense suport)" + + +msgid "Points grid, currently unsupported by volume objects" +msgstr "Graella de punts, actualment no suportada per objectes de volum" + + +msgctxt "Volume" +msgid "Unknown" +msgstr "Desconegut" + + +msgid "Unsupported data type" +msgstr "Tipus de dades no suportat" + + +msgid "Is Loaded" +msgstr "És carregat" + + +msgid "Grid tree is loaded in memory" +msgstr "L'arbre de graella està carregat a la memòria" + + +msgid "Matrix Object" +msgstr "Objecte matriu" + + +msgid "Transformation matrix from voxel index to object space" +msgstr "Matriu de transformació de l'índex de vòxel a l'objecte espai" + + +msgid "Volume grid name" +msgstr "Nom de graella de volum" + + +msgid "Volume Grids" +msgstr "Graelles de volum" + + +msgid "Active Grid Index" +msgstr "Índex de graella activa" + + +msgid "Index of active volume grid" +msgstr "Índex de graella de volum activa" + + +msgid "If loading grids failed, error message with details" +msgstr "Si falla la càrrega de graelles, mostra missatge d'error amb detalls" + + +msgid "Frame number that volume grids will be loaded at, based on scene time and volume parameters" +msgstr "Número de fotograma al qual es carregaran les graelles de volum, en funció del temps de l'escena i dels paràmetres del volum" + + +msgid "Frame File Path" +msgstr "Camí al document de fotograma" + + +msgid "Volume file used for loading the volume at the current frame. Empty if the volume has not be loaded or the frame only exists in memory" +msgstr "Document de volum usat per a carregar el volum al fotograma actual. Buit si el volum no s'ha carregat o el fotograma existeix només a la memòria" + + +msgid "List of grids and metadata are loaded in memory" +msgstr "La llista de graelles i metadades es carrega a la memòria" + + +msgid "Volume Render" +msgstr "Revelar volum" + + +msgid "Volume object render settings" +msgstr "Paràmetres de revelat de l'objecte volum" + + +msgid "Specify volume data precision. Lower values reduce memory consumption at the cost of detail" +msgstr "Especificat precisió de dades de volum. Els valors baixos redueixen el consum de memòria a costa de detalls" + + +msgid "Full float (Use 32 bit for all data)" +msgstr "Flotant complet (Usa 32 bits per a totes les dades)" + + +msgid "Half float (Use 16 bit for all data)" +msgstr "Mig flotant (usa 16 bits per a totes les dades)" + + +msgid "Variable" +msgstr "Variable" + + +msgid "Use variable bit quantization" +msgstr "Usa la quantificació de bits variable" + + +msgid "Specify volume density and step size in object or world space" +msgstr "Especificar densitat del volum i mida de passada en l'objecte o espai món" + + +msgid "Keep volume opacity and detail the same regardless of object scale" +msgstr "Mantenir iguals l'opacitat de volum i el detall independentment de l'escala de l'objecte" + + +msgid "Specify volume step size and density in world space" +msgstr "Especificar la mida i la densitat de les passades de volum en l'espai món" + + +msgid "Distance between volume samples. Lower values render more detail at the cost of performance. If set to zero, the step size is automatically determined based on voxel size" +msgstr "Distància entre mostres de volum. Els valors més baixos representen més detall a costa del rendiment. Si es posa a zero, la mida de la passada es determina automàticament en funció de la mida del vòxel" + + +msgid "Walk navigation settings" +msgstr "Configuració de navegació a peu" + + +msgid "Jump Height" +msgstr "Alçada de salt" + + +msgid "Maximum height of a jump" +msgstr "Alçada màxima d'un salt" + + +msgid "Mouse Sensitivity" +msgstr "Sensibilitat del ratolí" + + +msgid "Speed factor for when looking around, high values mean faster mouse movement" +msgstr "Factor rapidesa en mira al voltant, els valors alts signifiquen un moviment del ratolí més ràpid" + + +msgid "Teleport Duration" +msgstr "Durada del teletransport" + + +msgid "Interval of time warp when teleporting in navigation mode" +msgstr "Interval d'aberració temporal quan es teletransporta en mode de navegació" + + +msgid "Walk with gravity, or free navigate" +msgstr "Caminar amb gravetat, o navegar lliurement" + + +msgid "Reverse Mouse" +msgstr "Invertir el ratolí" + + +msgid "Reverse the vertical movement of the mouse" +msgstr "Inverteix el moviment vertical del ratolí" + + +msgid "View Height" +msgstr "Alçada de vista" + + +msgid "View distance from the floor when walking" +msgstr "Distància de la vista des del terra en caminar" + + +msgid "Walk Speed" +msgstr "Rapidesa en caminar" + + +msgid "Base speed for walking and flying" +msgstr "Rapidesa de base per caminar i volar" + + +msgid "Multiplication factor when using the fast or slow modifiers" +msgstr "Factor de multiplicació en els modificadors de rapidesa o lentitud" + + +msgid "Open window" +msgstr "Obrir finestra" + + +msgid "Window height" +msgstr "Alçada de finestra" + + +msgid "Parent Window" +msgstr "Finestra mare" + + +msgid "Active workspace and scene follow this window" +msgstr "L'espai de treball actiu i l'escena segueixen aquesta finestra" + + +msgid "Active scene to be edited in the window" +msgstr "Escena activa a editar a la finestra" + + +msgctxt "Screen" +msgid "Screen" +msgstr "Pantalla" + + +msgid "Active workspace screen showing in the window" +msgstr "La pantalla de l'espai de treball actiu que es mostra en la finestra" + + +msgid "The active workspace view layer showing in the window" +msgstr "La capa de vista de l'espai de treball actiu que es mostra a la finestra" + + +msgid "Window width" +msgstr "Amplada de finestra" + + +msgid "Active workspace showing in the window" +msgstr "L'espai de treball actiu que es mostra a la finestra" + + +msgid "Horizontal location of the window" +msgstr "Ubicació horitzontal de la finestra" + + +msgid "Vertical location of the window" +msgstr "Ubicació vertical de la finestra" + + +msgid "Work Space Tool" +msgstr "Eina d'obradors" + + +msgid "Has Data-Block" +msgstr "Té bloc de dades" + + +msgid "Identifier Fallback" +msgstr "Identificador de segona opció" + + +msgid "Tool Mode" +msgstr "Mode eina" + + +msgid "Use Paint Canvas" +msgstr "Usar llenç de pintura" + + +msgid "Does this tool use an painting canvas" +msgstr "Si l'eina utilitza un llenç de pintura" + + +msgid "Widget" +msgstr "Giny" + + +msgid "Lighting for a World data-block" +msgstr "Enllumenat per a un bloc de dades de món" + + +msgid "Length of rays, defines how far away other faces give occlusion effect" +msgstr "Longitud dels rajos, defineix fins a quant de lluny les altres fan efecte d'oclusió" + + +msgid "Use Ambient Occlusion" +msgstr "Usar oclusió ambiental" + + +msgid "Use Ambient Occlusion to add shadowing based on distance between objects" +msgstr "[Use Ambient Occlusion]: Usa l'oclusió ambiental per a afegir ombres basades en la distància entre objectes" + + +msgid "World Mist" +msgstr "Boira al món" + + +msgid "Mist settings for a World data-block" +msgstr "[World Mist]: Paràmetres de boira per a un bloc de dades de món" + + +msgid "Distance over which the mist effect fades in" +msgstr "Distància sobre la qual s'esvaeix l'efecte boira" + + +msgid "Type of transition used to fade mist" +msgstr "Tipus de transició quan s'esvaeix la boira" + + +msgid "Use quadratic progression" +msgstr "Usar progressió quadràtica" + + +msgid "Use linear progression" +msgstr "Usar progressió lineal" + + +msgid "Inverse Quadratic" +msgstr "Quadràtica inversa" + + +msgid "Use inverse quadratic progression" +msgstr "Usa la progressió quadràtica inversa" + + +msgid "Control how much mist density decreases with height" +msgstr "Controla quant disminueix la densitat de la boira amb l'alçada" + + +msgid "Overall minimum intensity of the mist effect" +msgstr "Intensitat mínima global de l'efecte boira" + + +msgid "Starting distance of the mist, measured from the camera" +msgstr "Distància inicial de la boira, mesurada des de la càmera" + + +msgid "Use Mist" +msgstr "Usar boira" + + +msgid "Occlude objects with the environment color as they are further away" +msgstr "[Use Mist]: Oclou objectes amb el color de l'entorn com més lluny queden" + + +msgid "XR Action Map" +msgstr "Mapa d'acció RX" + + +msgid "Items in the action map, mapping an XR event to an operator, pose, or haptic output" +msgstr "[XR Action Map]: Elements del mapa d'acció, mapejant un esdeveniment RX a un operador, posa o egressió hàptica" + + +msgid "Name of the action map" +msgstr "Nom del mapa d'acció" + + +msgid "Selected Item" +msgstr "Element seleccionat" + + +msgid "XR Action Map Binding" +msgstr "Vinculació al mapa d'acció RX" + + +msgid "Binding in an XR action map item" +msgstr "[XR Action Map Binding]: Vinculació a un element del mapa d'acció RX" + + +msgid "Axis 0 Region" +msgstr "Regió de l'eix 0" + + +msgid "Action execution region for the first input axis" +msgstr "[Axis 0 Region]: Regió d'execució d'accions per al primer eix ingressat" + + +msgid "Use any axis region for operator execution" +msgstr "Usar qualsevol regió de l'eix per a l'execució de l'operador" + + +msgid "Use positive axis region only for operator execution" +msgstr "Usar la regió de l'eix positiu només per a l'execució de l'operador" + + +msgid "Use negative axis region only for operator execution" +msgstr "Usar la regió de l'eix negatiu només per a l'execució de l'operador" + + +msgid "Axis 1 Region" +msgstr "Regió de l'eix 1" + + +msgid "Action execution region for the second input axis" +msgstr "Regió d'execució d'accions per al segon eix ingressat" + + +msgid "Component Paths" +msgstr "Camins de components" + + +msgid "OpenXR component paths" +msgstr "[Component Paths]: Camins dels components OpenXR" + + +msgid "Name of the action map binding" +msgstr "Nom de la vinculació del mapa d'acció" + + +msgid "Pose Location Offset" +msgstr "Desplaçament d'ubicació de posa" + + +msgid "Pose Rotation Offset" +msgstr "[Pose Location Offset]: Desplaçament de rotació de posa" + + +msgid "OpenXR interaction profile path" +msgstr "Camí del perfil d'interacció OpenXR" + + +msgid "Input threshold for button/axis actions" +msgstr "Llindar d'ingressió per a les accions de botó/eix" + + +msgid "XR Action Map Bindings" +msgstr "Vinculacions del mapa d'accions RX" + + +msgid "Collection of XR action map bindings" +msgstr "Col·lecció d'enllaços del mapa d'acció XR" + + +msgid "XR Action Map Item" +msgstr "Element de mapa d'accions XR" + + +msgid "Bimanual" +msgstr "Bimanual" + + +msgid "The action depends on the states/poses of both user paths" +msgstr "[Bimanual]: L'acció depèn dels estats/poses d'ambdós camins d'usuari" + + +msgid "Bindings" +msgstr "Vinculacions" + + +msgid "Bindings for the action map item, mapping the action to an XR input" +msgstr "[Bindings]: Vinculacions per a l'element del mapa d'acció, mapejant l'acció a una ingressió RX" + + +msgid "Haptic Amplitude" +msgstr "Amplitud hàptica" + + +msgid "Intensity of the haptic vibration, ranging from 0.0 to 1.0" +msgstr "[Haptic Amplitude]: Intensitat de la vibració hàptica, de 0,0 a 1,0" + + +msgid "Haptic Duration" +msgstr "Durada hàptica" + + +msgid "Haptic duration in seconds. 0.0 is the minimum supported duration" +msgstr "Durada hàptica en segons. 0.0 és la durada mínima admesa" + + +msgid "Haptic Frequency" +msgstr "Freqüència hàptica" + + +msgid "Frequency of the haptic vibration in hertz. 0.0 specifies the OpenXR runtime's default frequency" +msgstr "Freqüència de la vibració hàptica en hertz. 0.0 especifica la freqüència predeterminada de l'entorn d'execució d'OpenXR" + + +msgid "Haptic Match User Paths" +msgstr "Hàptica de camins d'usuari coincidents" + + +msgid "Apply haptics to the same user paths for the haptic action and this action" +msgstr "[Haptic Match User Paths]: Aplica l'hàptica als mateixos camins d'usuari per a l'acció hàptica i per a aquesta acció" + + +msgid "Haptic mode" +msgstr "Mode hàptic" + + +msgid "Haptic application mode" +msgstr "[Haptic mode]: Mode d'aplicació de l'hàptica" + + +msgid "Apply haptics on button press" +msgstr "Aplicar hàptica en prémer el botó" + + +msgid "Apply haptics on button release" +msgstr "Aplicar hàptica en deixar el botó" + + +msgid "Press Release" +msgstr "Prémer i deixar" + + +msgid "Apply haptics on button press and release" +msgstr "[Press Release]: Aplica l'hàptica en prémer i deixar anar els botons" + + +msgid "Apply haptics repeatedly for the duration of the button press" +msgstr "Aplicar l'hàptica repetidament mentre dura la pulsació del botó" + + +msgid "Haptic Name" +msgstr "Nom d'hàptica" + + +msgid "Name of the haptic action to apply when executing this action" +msgstr "Nom de l'acció hàptica a aplicar en executar aquesta acció" + + +msgid "Name of the action map item" +msgstr "Nom de l'element del mapa d'acció" + + +msgid "Identifier of operator to call on action event" +msgstr "Identificador de l'operador a cridar en l'esdeveniment acció" + + +msgid "Operator Mode" +msgstr "Mode operador" + + +msgid "Operator execution mode" +msgstr "[Operator Mode]: Mode d'execució d'operador" + + +msgid "Execute operator on button press (non-modal operators only)" +msgstr "Executar l'operador en prémer el botó (només els operadors no modals)" + + +msgid "Execute operator on button release (non-modal operators only)" +msgstr "Executar l'operador en alliberar el botó (només els operadors no modal)" + + +msgid "Modal" +msgstr "Modalitat" + + +msgid "Use modal execution (modal operators only)" +msgstr "Usar execució modal (només operadors modal)" + + +msgid "Name of operator (translated) to call on action event" +msgstr "Nom de l'operador (traduït) per a cridar l'esdeveniment acció" + + +msgid "Is Controller Aim" +msgstr "És controlador apuntant" + + +msgid "The action poses will be used for the VR controller aims" +msgstr "[Is Controller Aim]: Les poses d'acció s'usaran quan el controlador apunti en RV" + + +msgid "Is Controller Grip" +msgstr "És controlador subjectant" + + +msgid "The action poses will be used for the VR controller grips" +msgstr "[Is Controller Grip]: Les poses d'acció s'usaran quan el controlador subjecti quelcom en RV" + + +msgid "Selected Binding" +msgstr "Vinculació seleccionada" + + +msgid "Currently selected binding" +msgstr "Vinculació actualment seleccionada" + + +msgid "Action type" +msgstr "Tipus d'acció" + + +msgid "Float action, representing either a digital or analog button" +msgstr "Acció flotant, que representa un botó digital o analògic" + + +msgid "Vector2D" +msgstr "Vector 2D" + + +msgid "2D float vector action, representing a thumbstick or trackpad" +msgstr "Acció vectorial flotant en 2D, que representa un polzeprem o una estora tàctil" + + +msgid "3D pose action, representing a controller's location and rotation" +msgstr "Acció de posa 3D, que representa la ubicació i la rotació d'un controlador" + + +msgid "Vibration" +msgstr "Vibració" + + +msgid "Haptic vibration output action, to be applied with a duration, frequency, and amplitude" +msgstr "Acció egressiva de vibració hàptica, que s'aplicarà amb una durada, freqüència i amplitud" + + +msgid "User Paths" +msgstr "Camins d'usuari" + + +msgid "OpenXR user paths" +msgstr "Camins d'usuari d'OpenXR" + + +msgid "XR Action Map Items" +msgstr "Elements de mapa d'accions d'RX" + + +msgid "Collection of XR action map items" +msgstr "Col·lecció d'elements de mapa d'accions RX" + + +msgid "XR Action Maps" +msgstr "Mapes d'acció RX" + + +msgid "Collection of XR action maps" +msgstr "[XR Action Maps]: Col·lecció de mapes d'accions d'RX" + + +msgid "XR Component Path" +msgstr "Camí de component RX" + + +msgid "OpenXR component path" +msgstr "[XR Component Path]: Camí del component d'OpenXR" + + +msgid "XR Component Paths" +msgstr "Camins de component XR" + + +msgid "Collection of OpenXR component paths" +msgstr "Col·lecció de camins de components d'OpenXR" + + +msgid "XR Data for Window Manager Event" +msgstr "Dades d'RX per a esdeveniment del gestor de finestres" + + +msgid "XR action name" +msgstr "Nom d'acció XR" + + +msgid "Action Set" +msgstr "Conjunt d'accions" + + +msgid "XR action set name" +msgstr "[Action Set]: Nom del conjunt d'accions RX" + + +msgid "Whether bimanual interaction is occurring" +msgstr "Si s'està produint una interacció bimanual" + + +msgid "Controller Location" +msgstr "Ubicació del controlador" + + +msgid "Location of the action's corresponding controller aim in world space" +msgstr "[Controller Location]: Ubicació de l'apuntament del controlador en l'acció corresponent dins l'espai món" + + +msgid "Controller Location Other" +msgstr "Ubicació del controlador altre" + + +msgid "Controller aim location of the other user path for bimanual actions" +msgstr "[Controller Location Other]: Ubicació d'apuntament del controlador per a l'altre camí d'usuari en accions bimanuals" + + +msgid "Controller Rotation" +msgstr "Rotació del controlador" + + +msgid "Rotation of the action's corresponding controller aim in world space" +msgstr "Rotació de l'apuntament del controlador en l'acció corresponent dins l'espai món" + + +msgid "Controller Rotation Other" +msgstr "Rotació del controlador altre" + + +msgid "Controller aim rotation of the other user path for bimanual actions" +msgstr "Rotació de l'apuntament del controlador de l'altre camí d'usuari en accions bimanuals" + + +msgid "Float Threshold" +msgstr "Llindar de flotant" + + +msgid "Input threshold for float/2D vector actions" +msgstr "[Float Threshold]: Llindar d'ingressió per a les accions vectorials flotants/2D" + + +msgid "XR action values corresponding to type" +msgstr "Valors d'acció d'RX corresponents al tipus" + + +msgid "State Other" +msgstr "Estat altre" + + +msgid "State of the other user path for bimanual actions" +msgstr "[State Other]: Estat de l'altre camí d'usuari en accions bimanuals" + + +msgid "XR action type" +msgstr "Tipus d'acció RX" + + +msgid "User Path" +msgstr "Camí d'usuari" + + +msgid "User path of the action. E.g. \"/user/hand/left\"" +msgstr "[User Path]: Camí de l'usuari de l'acció. P. ex. «/usuari/mà/esquerra»" + + +msgid "User Path Other" +msgstr "Camí d'usuari Altre" + + +msgid "Other user path, for bimanual actions. E.g. \"/user/hand/right\"" +msgstr "[User Path Other]: Camí de l'altre usuari, per a accions bimanuals. P. ex. «/usuari/mà/dreta»" + + +msgid "Rotation angle around the Z-Axis to apply the rotation deltas from the VR headset to" +msgstr "Angle de rotació al voltant de l'eix Z per a aplicar els deltes de rotació des del visor d'RV" + + +msgid "Coordinates to apply translation deltas from the VR headset to" +msgstr "Coordenades per a aplicar a deltes de translació des del visor d'RV" + + +msgid "Base Pose Object" +msgstr "Objecte posa base" + + +msgid "Object to take the location and rotation to which translation and rotation deltas from the VR headset will be applied to" +msgstr "[Base Pose Object]: Objecte d'on agafar la ubicació i rotació a què s'aplicaran les deltes de translació i rotació del visor d'RV" + + +msgid "Base Pose Type" +msgstr "Tipus de posa base" + + +msgid "Define where the location and rotation for the VR view come from, to which translation and rotation deltas from the VR headset will be applied to" +msgstr "Defineix d'on prové la ubicació i rotació per a la vista d'RV, a la qual s'aplicaran els deltes de translació i rotació del visor d'RV" + + +msgid "Follow the active scene camera to define the VR view's base pose" +msgstr "Seguir la càmera d'escena activa per definir la posa base de la vista d'RV" + + +msgid "Follow the transformation of an object to define the VR view's base pose" +msgstr "Seguir la transformació d'un objecte per definir la posa base de la vista d'RV" + + +msgid "Follow a custom transformation to define the VR view's base pose" +msgstr "Seguir una transformació personalitzada per definir la posa base de la vista d'RV" + + +msgid "Uniform scale to apply to VR view" +msgstr "Escala uniforme a aplicar a la vista d'RV" + + +msgid "VR viewport far clipping distance" +msgstr "Segat de llunyania del mirador d'RV" + + +msgid "VR viewport near clipping distance" +msgstr "Segat de proximitat del mirador d'RV" + + +msgid "Controller Draw Style" +msgstr "Representació del controlador" + + +msgid "Style to use when drawing VR controllers" +msgstr "[Controller Draw Style]: Estil que s'usa per mostrar els controladors d'RV" + + +msgid "Dark" +msgstr "Fosc" + + +msgid "Draw dark controller" +msgstr "Dibuixa un controlador fosc" + + +msgid "Draw light controller" +msgstr "Dibuixar un controlador clar" + + +msgid "Dark + Ray" +msgstr "Fosc + Raig" + + +msgid "Draw dark controller with aiming axis ray" +msgstr "[Dark + Ray]: Dibuixa un controlador fosc amb un raig d'eix que apuntat" + + +msgid "Light + Ray" +msgstr "Clar + raig" + + +msgid "Draw light controller with aiming axis ray" +msgstr "[Light + Ray]: Dibuixa un controlador clar llum amb un raig d'eix que apunta" + + +msgid "Show Controllers" +msgstr "Mostrar controladors" + + +msgid "Show VR controllers (requires VR actions for controller poses)" +msgstr "[Show Controllers]: Mostra els controladors dRV (requereix accions d'RV per a les poses de controlador)" + + +msgid "Show Custom Overlays" +msgstr "Mostrar superposicions personalitzades" + + +msgid "Show custom VR overlays" +msgstr "[Show Custom Overlays]: Mostra les superposicions d'RV personalitzades" + + +msgid "Show Object Extras" +msgstr "Mostra objectes extra" + + +msgid "Show object extras, including empties, lights, and cameras" +msgstr "[Show Object Extras]: Mostra els objecte extra, inclosos els trivis, els llums i les càmeres" + + +msgid "Show Selection" +msgstr "Mostrar selecció" + + +msgid "Show selection outlines" +msgstr "Mostra els contorns de la selecció" + + +msgid "Absolute Tracking" +msgstr "Tràveling absolut" + + +msgid "Allow the VR tracking origin to be defined independently of the headset location" +msgstr "[Absolute Tracking]: Permet definir l'origen del moviment d'RV independentment de la ubicació del visor" + + +msgid "Positional Tracking" +msgstr "Tràveling posicional" + + +msgid "Allow VR headsets to affect the location in virtual space, in addition to the rotation" +msgstr "[Positional Tracking]: Permet que el visor d'ulleres d'RV afecti la ubicació en l'espai virtual, a més de la rotació" + + +msgid "Session State" +msgstr "Estat de sessió" + + +msgid "Active Action Map" +msgstr "Mapa d'acció actiu" + + +msgid "Navigation Location" +msgstr "Ubicació de navegació" + + +msgid "Location offset to apply to base pose when determining viewer location" +msgstr "[Navigation Location]: Desplaçament d'ubicació que s'aplicarà a la posa base en determinar la ubicació del visor" + + +msgid "Navigation Rotation" +msgstr "Rotació de navegació" + + +msgid "Rotation offset to apply to base pose when determining viewer rotation" +msgstr "Desplaçament de rotació que s'aplicarà a la posa base en determinar la rotació del visor" + + +msgid "Navigation Scale" +msgstr "Escala de navegació" + + +msgid "Additional scale multiplier to apply to base scale when determining viewer scale" +msgstr "Multiplicador d'escala addicional que s'aplicarà a l'escala base quan es determini l'escala del visor" + + +msgid "Selected Action Map" +msgstr "Mapa d'acció seleccionat" + + +msgid "Viewer Pose Location" +msgstr "Ubicació de posa del visor" + + +msgid "Last known location of the viewer pose (center between the eyes) in world space" +msgstr "Última ubicació coneguda de la posa del visor (al centre entre els ulls) dins l'espai món" + + +msgid "Viewer Pose Rotation" +msgstr "Rotació de posa de visor" + + +msgid "Last known rotation of the viewer pose (center between the eyes) in world space" +msgstr "Última rotació coneguda de la posa del visor (al centre entre els ulls) dins l'espai món" + + +msgid "XR User Path" +msgstr "Camí d'usuari RX" + + +msgid "OpenXR user path" +msgstr "[XR User Path]: Camí de l'usuari d'OpenXR" + + +msgid "XR User Paths" +msgstr "Camins d'usuari RX" + + +msgid "Collection of OpenXR user paths" +msgstr "Col·lecció de camins d'usuari d'OpenXR" + + +msgid "Work Space UI Tag" +msgstr "Etiqueta d'IU d'obrador" + + +msgid "WorkSpace UI Tags" +msgstr "Etiquetes de la IU d'espais de treball" + + +msgctxt "Operator" +msgid "Action:" +msgstr "Acció:" + + +msgctxt "Operator" +msgid "Anim:" +msgstr "Animació:" + + +msgctxt "Operator" +msgid "Armature:" +msgstr "Esquelet:" + + +msgctxt "Operator" +msgid "Asset:" +msgstr "Recurs:" + + +msgctxt "Operator" +msgid "Blender_id:" +msgstr "Blender_id:" msgctxt "Operator" @@ -98296,6 +103494,1597 @@ msgid "Boid:" msgstr "Floc:" +msgctxt "Operator" +msgid "Brush:" +msgstr "Pinzell:" + + +msgctxt "Operator" +msgid "Buttons:" +msgstr "Botons:" + + +msgctxt "Operator" +msgid "Cachefile:" +msgstr "DocCau:" + + +msgctxt "Operator" +msgid "Camera:" +msgstr "Càmera:" + + +msgctxt "Operator" +msgid "Clip:" +msgstr "Clip:" + + +msgctxt "Operator" +msgid "Cloth:" +msgstr "Roba:" + + +msgctxt "Operator" +msgid "Collection:" +msgstr "Col·lecció:" + + +msgctxt "Operator" +msgid "Console:" +msgstr "Consola:" + + +msgctxt "Operator" +msgid "Constraint:" +msgstr "Restricció:" + + +msgctxt "Operator" +msgid "Curves:" +msgstr "Corbes:" + + +msgctxt "Operator" +msgid "Curve:" +msgstr "Corba:" + + +msgctxt "Operator" +msgid "Cycles:" +msgstr "Cycles:" + + +msgctxt "Operator" +msgid "Dpaint:" +msgstr "PinturaD:" + + +msgctxt "Operator" +msgid "Ed:" +msgstr "Ed:" + + +msgctxt "Operator" +msgid "Export_animation:" +msgstr "Export_animation:" + + +msgctxt "Operator" +msgid "Export_anim:" +msgstr "Export_anim:" + + +msgctxt "Operator" +msgid "Export_mesh:" +msgstr "Export_mesh:" + + +msgctxt "Operator" +msgid "Export_scene:" +msgstr "Export_scene:" + + +msgctxt "Operator" +msgid "Export_shape:" +msgstr "Export_shape:" + + +msgctxt "Operator" +msgid "File:" +msgstr "Document:" + + +msgctxt "Operator" +msgid "Fluid:" +msgstr "Fluid:" + + +msgctxt "Operator" +msgid "Font:" +msgstr "Tipografia:" + + +msgctxt "Operator" +msgid "Geometry:" +msgstr "Geometria:" + + +msgctxt "Operator" +msgid "Gizmogroup:" +msgstr "GrupFlòstics:" + + +msgctxt "Operator" +msgid "Gpencil:" +msgstr "LlapisG:" + + +msgctxt "Operator" +msgid "Graph:" +msgstr "Gràfica:" + + +msgctxt "Operator" +msgid "Image:" +msgstr "Imatge:" + + +msgctxt "Operator" +msgid "Import_anim:" +msgstr "Import_anim:" + + +msgctxt "Operator" +msgid "Import_curve:" +msgstr "Import_curve:" + + +msgctxt "Operator" +msgid "Import_image:" +msgstr "Import_image:" + + +msgctxt "Operator" +msgid "Import_mesh:" +msgstr "Import_mesh:" + + +msgctxt "Operator" +msgid "Import_scene:" +msgstr "Import_scene:" + + +msgctxt "Operator" +msgid "Import_shape:" +msgstr "Import_shape:" + + +msgctxt "Operator" +msgid "Info:" +msgstr "Informació:" + + +msgctxt "Operator" +msgid "Lattice:" +msgstr "Retícula:" + + +msgctxt "Operator" +msgid "Marker:" +msgstr "Marcador:" + + +msgctxt "Operator" +msgid "Mask:" +msgstr "Màscara:" + + +msgctxt "Operator" +msgid "Material:" +msgstr "Material:" + + +msgctxt "Operator" +msgid "Mathvis:" +msgstr "VisMates:" + + +msgctxt "Operator" +msgid "Mball:" +msgstr "Mbola:" + + +msgctxt "Operator" +msgid "Mesh:" +msgstr "Malla:" + + +msgctxt "Operator" +msgid "Nla:" +msgstr "ANL:" + + +msgctxt "Operator" +msgid "Node:" +msgstr "Node:" + + +msgctxt "Operator" +msgid "Object:" +msgstr "Objecte:" + + +msgctxt "Operator" +msgid "Outliner:" +msgstr "Inventari:" + + +msgctxt "Operator" +msgid "Paintcurve:" +msgstr "Pintacorba:" + + +msgctxt "Operator" +msgid "Paint:" +msgstr "Pintar:" + + +msgctxt "Operator" +msgid "Palette:" +msgstr "Paleta:" + + +msgctxt "Operator" +msgid "Particle:" +msgstr "Partícula:" + + +msgctxt "Operator" +msgid "Poselib:" +msgstr "Llibposes:" + + +msgctxt "Operator" +msgid "Pose:" +msgstr "Posa:" + + +msgctxt "Operator" +msgid "Preferences:" +msgstr "Preferències:" + + +msgctxt "Operator" +msgid "Ptcache:" +msgstr "CachePt:" + + +msgctxt "Operator" +msgid "Render:" +msgstr "Revelar:" + + +msgctxt "Operator" +msgid "Rigidbody:" +msgstr "CosRígid:" + + +msgctxt "Operator" +msgid "Scene:" +msgstr "Escena:" + + +msgctxt "Operator" +msgid "Screen:" +msgstr "Pantalla:" + + +msgctxt "Operator" +msgid "Script:" +msgstr "Protocol:" + + +msgctxt "Operator" +msgid "Sculpt_curves:" +msgstr "Sculpt_curves:" + + +msgctxt "Operator" +msgid "Sculpt:" +msgstr "Esculpir:" + + +msgctxt "Operator" +msgid "Sequencer:" +msgstr "Seqüenciador:" + + +msgctxt "Operator" +msgid "Sound:" +msgstr "So:" + + +msgctxt "Operator" +msgid "Spreadsheet:" +msgstr "Fulldecàlcul:" + + +msgctxt "Operator" +msgid "Surface:" +msgstr "Superfície:" + + +msgctxt "Operator" +msgid "Texture:" +msgstr "Textura:" + + +msgctxt "Operator" +msgid "Text:" +msgstr "Text:" + + +msgctxt "Operator" +msgid "Transform:" +msgstr "Transformar:" + + +msgctxt "Operator" +msgid "Uilist:" +msgstr "LlistaIU:" + + +msgctxt "Operator" +msgid "Ui:" +msgstr "IU:" + + +msgctxt "Operator" +msgid "Uv:" +msgstr "UV:" + + +msgctxt "Operator" +msgid "View2d:" +msgstr "Vista2d:" + + +msgctxt "Operator" +msgid "View3d:" +msgstr "Vista3d:" + + +msgctxt "Operator" +msgid "Wm:" +msgstr "GFin:" + + +msgctxt "Operator" +msgid "Workspace:" +msgstr "Obrador:" + + +msgctxt "Operator" +msgid "World:" +msgstr "Món:" + + +msgid "Activate Gizmo" +msgstr "Activar Flòstic" + + +msgid "Activation event for gizmos that support drag motion" +msgstr "[Activate Gizmo]: Esdeveniment d'activació per a flòstics que admet el moviment d'arrossegament" + + +msgid "Press causes immediate activation, preventing click being passed to the tool" +msgstr "Pitjar causa l'activació immediata, impedint que es passi el clic a l'eina" + + +msgid "Drag allows click events to pass through to the tool, adding a small delay" +msgstr "Arrossegar permet que els esdeveniments de clic passin a l'eina, afegint un petit retard" + + +msgid "Right Mouse Select Action" +msgstr "Acció de selecció de ratolí dret" + + +msgid "Default action for the right mouse button" +msgstr "Acció predeterminada per al botó dret del ratolí" + + +msgid "Select & Tweak" +msgstr "Seleccionar i manipular" + + +msgid "Right mouse always tweaks" +msgstr "[Select & Tweak]: El ratolí dret sempre manipula" + + +msgid "Selection Tool" +msgstr "Eina de selecció" + + +msgid "Right mouse uses the selection tool" +msgstr "El ratolí dret utilitza l'eina de selecció" + + +msgid "Select Mouse" +msgstr "Selecció de ratolí" + + +msgid "Mouse button used for selection" +msgstr "El botó del ratolí utilitzat per a seleccionar" + + +msgid "Use left mouse button for selection. The standard behavior that works well for mouse, trackpad and tablet devices" +msgstr "Usa el botó esquerre del ratolí per a la selecció. El comportament estàndard que funciona bé per als dispositius amb ratolí, estora tàctil i tauleta" + + +msgid "Use right mouse button for selection, and left mouse button for actions. This works well primarily for keyboard and mouse devices" +msgstr "Usar botó dret del ratolí per a la selecció, i botó esquerre per a accions. Això funciona bé principalment per a dispositius amb teclat i ratolí" + + +msgid "Spacebar Action" +msgstr "Acció barra d'espai" + + +msgid "Action when 'Space' is pressed" +msgstr "Acció quan es prem «espai»" + + +msgid "Toggle animation playback ('Shift-Space' for Tools)" +msgstr "Revesar reproducció d'animació («Maj+Espai» per a les eines)" + + +msgid "" +"Open the popup tool-bar\n" +"When 'Space' is held and used as a modifier:\n" +"• Pressing the tools binding key switches to it immediately.\n" +"• Dragging the cursor over a tool and releasing activates it (like a pie menu).\n" +"For Play use 'Shift-Space'" +msgstr "" +"Obre barra d'eines emergent\n" +"Quan es manté «espai» premut i s'utilitza com a modificador:\n" +"• Prement les tecles de vinculació d'eines hi canvia immediatament.\n" +"• Arrossegant i amollant el cursor sobre una eina l'activa (com un menú de pastís).\n" +"Per a reproduir usar 'Maj-Espai'" + + +msgid "Search" +msgstr "Cerca" + + +msgid "Open the operator search popup" +msgstr "Obre la finestra emergent de cerca de l'operador" + + +msgid "Tool Keys" +msgstr "Tecles d'eina" + + +msgid "The method of keys to activate tools such as move, rotate & scale (G, R, S)" +msgstr "El mètode de tecles per activar eines com moure, rotar i escala (G, R, S)" + + +msgid "Immediate" +msgstr "Immediat" + + +msgid "Activate actions immediately" +msgstr "Activa les accions immediatament" + + +msgid "Activate the tool for editors that support tools" +msgstr "Activar l'eina per als editors que admeten eines" + + +msgid "Alt Click Tool Prompt" +msgstr "Oferta d'eines clicant Alt" + + +msgid "" +"Tapping Alt (without pressing any other keys) shows a prompt in the status-bar\n" +"prompting a second keystroke to activate the tool" +msgstr "" +"[Alt Click Tool Prompt]: En prémer Alt (sense prémer cap altra tecla) es emergeix un indicador a la barra d'estat\n" +"que demana una segona tecla per activar l'eina" + + +msgid "Alt Cursor Access" +msgstr "Accés Alt-Cursor" + + +msgid "" +"Hold Alt-LMB to place the Cursor (instead of LMB), allows tools to activate on press instead of drag.\n" +"Incompatible with the input preference \"Emulate 3 Button Mouse\" when the \"Alt\" key is used" +msgstr "" +"[Alt Cursor Access]: Mantenir pitjades Alt-BER per col·locar el cursor (en lloc del BER), permet que les eines s'activin en prémer en lloc d'arrossegar.\n" +"Incompatible amb la preferència d'ingressió «Emular ratolí de 3 botons» quan s'hi utilitza la tecla «Alt»" + + +msgid "Alt Tool Access" +msgstr "Alt d'accés a eina" + + +msgid "" +"Hold Alt to use the active tool when the gizmo would normally be required\n" +"Incompatible with the input preference \"Emulate 3 Button Mouse\" when the \"Alt\" key is used" +msgstr "" +"[Alt Tool Access]: Aguantar Alt per usar l'eina activa quan normalment es requeriria el flòstic\n" +"Incompatible amb la preferència d'ingressió «emular ratolí de 3 botons» quan s'hi usa la tecla «Alt»" + + +msgid "Open Folders on Single Click" +msgstr "Obrir carpetes d'un sol clic" + + +msgid "Navigate into folders by clicking on them once instead of twice" +msgstr "Navega per carpetes fent-hi clic una sola vegada en lloc de dues" + + +msgid "Pie Menu on Drag" +msgstr "Menú pastís en arrossegar" + + +msgid "" +"Activate some pie menus on drag,\n" +"allowing the tapping the same key to have a secondary action.\n" +"\n" +"• Tapping Tab in the 3D view toggles edit-mode, drag for mode menu.\n" +"• Tapping Z in the 3D view toggles wireframe, drag for draw modes.\n" +"• Tapping Tilde in the 3D view for first person navigation, drag for view axes" +msgstr "" +"[Pie Menu on Drag]: Activa alguns menús de pastís en arrossegar,\n" +"permetent que la mateixa tecla tingui una acció secundària.\n" +"\n" +"• Pitjant Tabulació en vista 3D es revesa el mode d'edició, arrossegar per a menú de mode.\n" +"• Pitjant Z en vista 3D revesa representació de filat, arrossegar per als modes de dibuix.\n" +"• Pitjant Grau (º) en vista 3D per a navegació en primera persona, arrossegar per a eixos de visualització" + + +msgid "Select All Toggles" +msgstr "Revesar seleccionar tot" + + +msgid "Causes select-all ('A' key) to de-select in the case a selection exists" +msgstr "Fa que seleccionar tot (tecla «A») desseleccioni en cas que hi hagi una selecció" + + +msgid "Tweak Select: Mouse Select & Move" +msgstr "Manipular selecció: seleccionar i moure amb ratolí" + + +msgid "The tweak tool is activated immediately instead of placing the cursor. This is an experimental preference and may be removed" +msgstr "L'eina de manipulació s'activa immediatament en lloc d'ubicar el cursor. Aquesta és una preferència experimental i es pot eliminar" + + +msgid "Tweak Tool: Left Mouse Select & Move" +msgstr "Eina de manipulació: seleccionar i moure amb ratolí esquerre" + + +msgid "Extra Shading Pie Menu Items" +msgstr "Elements de menú de per a aspecció extra de pastís" + + +msgid "Show additional options in the shading menu ('Z')" +msgstr "[Extra Shading Pie Menu Items]: Mostra opcions addicionals al menú d'aspecció («Z»)" + + +msgid "Tab for Pie Menu" +msgstr "Tab per menú pastís" + + +msgid "Causes tab to open pie menu (swaps 'Tab' / 'Ctrl-Tab')" +msgstr "[Tab for Pie Menu]: Fa que la tecla de tabulació obri el menú patís (intercanvia «Tab» / «Ctrl-Tab»)" + + +msgid "Alt-MMB Drag Action" +msgstr "[Alt-MMB Drag Action]: Acció d'arrossegament Alt-BMR" + + +msgid "Action when Alt-MMB dragging in the 3D viewport" +msgstr "Acció quan s'arrossega Alt-BMR en el mirador 3D" + + +msgid "Set the view axis where each mouse direction maps to an axis relative to the current orientation" +msgstr "Posar l'eix de visió on cada direcció del ratolí s'assigna a un eix relatiu a l'orientació actual" + + +msgid "Set the view axis where each mouse direction always maps to the same axis" +msgstr "Posar l'eix de visió on cada direcció del ratolí sempre s'assigna al mateix eix" + + +msgid "MMB Action" +msgstr "Acció BMR" + + +msgid "The action when Middle-Mouse dragging in the viewport. Shift-Middle-Mouse is used for the other action. This applies to trackpad as well" +msgstr "L'acció quan el ratolí del mig arrossega al mirador. Maj-Mig-Ratolí s'usa per a l'altra acció. Això també afecta a l'estora tàctil" + + +msgid "Tilde Action" +msgstr "Acció Grau" + + +msgid "Action when 'Tilde' is pressed" +msgstr "Acció quan es prem «Grau» (º)" + + +msgid "Navigate" +msgstr "Navegar" + + +msgid "View operations (useful for keyboards without a numpad)" +msgstr "Operacions a vista (útil per a teclats sense teclat numèric)" + + +msgid "Control transform gizmos" +msgstr "Control de flóstics transformadors" + + +msgctxt "WindowManager" +msgid "Window" +msgstr "Finestra" + + +msgctxt "WindowManager" +msgid "Screen" +msgstr "Pantalla" + + +msgctxt "WindowManager" +msgid "Screen Editing" +msgstr "Edició de pantalla" + + +msgctxt "WindowManager" +msgid "Region Context Menu" +msgstr "Menú contextual de regió" + + +msgctxt "WindowManager" +msgid "View2D" +msgstr "Vista 2D" + + +msgctxt "WindowManager" +msgid "View2D Buttons List" +msgstr "Llista de botons de vista 2D" + + +msgctxt "WindowManager" +msgid "User Interface" +msgstr "Interfície d'usuària" + + +msgctxt "WindowManager" +msgid "3D View" +msgstr "Vista 3D" + + +msgctxt "WindowManager" +msgid "Object Mode" +msgstr "Mode objecte" + + +msgctxt "WindowManager" +msgid "3D View Tool: Tweak" +msgstr "Eina de vista 3D: ajustar" + + +msgctxt "WindowManager" +msgid "3D View Tool: Tweak (fallback)" +msgstr "Eina de vista 3D: ajustar (pla B)" + + +msgctxt "WindowManager" +msgid "3D View Tool: Select Box" +msgstr "Eina de vista 3D: selecció de caixa" + + +msgctxt "WindowManager" +msgid "3D View Tool: Select Box (fallback)" +msgstr "Eina de vista 3D: selecció de caixa (pla B)" + + +msgctxt "WindowManager" +msgid "3D View Tool: Select Circle" +msgstr "Eina de vista 3D: selecció de cercle" + + +msgctxt "WindowManager" +msgid "3D View Tool: Select Circle (fallback)" +msgstr "Eina de vista 3D: selecció de cercle (pla B)" + + +msgctxt "WindowManager" +msgid "3D View Tool: Select Lasso" +msgstr "Eina de vista 3D: selecció de llaç" + + +msgctxt "WindowManager" +msgid "3D View Tool: Select Lasso (fallback)" +msgstr "Eina de vista 3D: selecció de llaç (pla B)" + + +msgctxt "WindowManager" +msgid "3D View Tool: Cursor" +msgstr "Eina de vista 3D: cursor" + + +msgctxt "WindowManager" +msgid "3D View Tool: Cursor (fallback)" +msgstr "Eina de vista 3D: cursor (pla B)" + + +msgctxt "WindowManager" +msgid "3D View Tool: Move" +msgstr "Eina de vista 3D: moure" + + +msgctxt "WindowManager" +msgid "3D View Tool: Move (fallback)" +msgstr "Eina de vista 3D: moure (pla B)" + + +msgctxt "WindowManager" +msgid "3D View Tool: Rotate" +msgstr "Eina de vista 3D: rotar" + + +msgctxt "WindowManager" +msgid "3D View Tool: Rotate (fallback)" +msgstr "Eina de vista 3D: rotar (pla B)" + + +msgctxt "WindowManager" +msgid "3D View Tool: Scale" +msgstr "Eina de vista 3D: escala" + + +msgctxt "WindowManager" +msgid "3D View Tool: Scale (fallback)" +msgstr "Eina de vista 3D: escala (pla B)" + + +msgctxt "WindowManager" +msgid "3D View Tool: Transform" +msgstr "Eina de vista 3D: transformar" + + +msgctxt "WindowManager" +msgid "3D View Tool: Transform (fallback)" +msgstr "Eina de vista 3D: transformar (pla B)" + + +msgctxt "WindowManager" +msgid "Generic Tool: Annotate" +msgstr "Eina genèrica: anotar" + + +msgctxt "WindowManager" +msgid "Generic Tool: Annotate (fallback)" +msgstr "Eina genèrica: anotar (pla B)" + + +msgctxt "WindowManager" +msgid "Generic Tool: Annotate Line" +msgstr "Eina genèrica: anotar línia" + + +msgctxt "WindowManager" +msgid "Generic Tool: Annotate Line (fallback)" +msgstr "Eina genèrica: anotar línia (pla B)" + + +msgctxt "WindowManager" +msgid "Generic Tool: Annotate Polygon" +msgstr "Eina genèrica: anotar polígon" + + +msgctxt "WindowManager" +msgid "Generic Tool: Annotate Polygon (fallback)" +msgstr "Eina genèrica: anotar polígon (pla B)" + + +msgctxt "WindowManager" +msgid "Generic Tool: Annotate Eraser" +msgstr "Eina genèrica: anotar esborrador" + + +msgctxt "WindowManager" +msgid "Generic Tool: Annotate Eraser (fallback)" +msgstr "Eina genèrica: anotar esborrador (pla B)" + + +msgctxt "WindowManager" +msgid "3D View Tool: Measure" +msgstr "Eina de vista 3D: mesurar" + + +msgctxt "WindowManager" +msgid "3D View Tool: Measure (fallback)" +msgstr "Eina de vista 3D: mesurar (pla B)" + + +msgctxt "WindowManager" +msgid "3D View Tool: Object, Add Primitive" +msgstr "Eina de vista 3D: objecte, afegir primitiu" + + +msgctxt "WindowManager" +msgid "3D View Tool: Object, Add Primitive (fallback)" +msgstr "Eina de vista 3D: objecte, afegir primitiu (pla B)" + + +msgctxt "WindowManager" +msgid "Mesh" +msgstr "Malla" + + +msgctxt "WindowManager" +msgid "3D View Tool: Shear" +msgstr "Eina de vista 3D: estrebar" + + +msgctxt "WindowManager" +msgid "3D View Tool: Shear (fallback)" +msgstr "Eina de vista 3D: estrebar (pla B)" + + +msgctxt "WindowManager" +msgid "Curve" +msgstr "Corba" + + +msgctxt "WindowManager" +msgid "Curves" +msgstr "Corbes" + + +msgctxt "WindowManager" +msgid "Armature" +msgstr "Esquelet" + + +msgctxt "WindowManager" +msgid "Metaball" +msgstr "Metabola" + + +msgctxt "WindowManager" +msgid "Lattice" +msgstr "Retícula" + + +msgctxt "WindowManager" +msgid "Font" +msgstr "Tipografia" + + +msgctxt "WindowManager" +msgid "Pose" +msgstr "Posa" + + +msgctxt "WindowManager" +msgid "Vertex Paint" +msgstr "Pintura de vèrtexs" + + +msgctxt "WindowManager" +msgid "Weight Paint" +msgstr "Pintura de pesos" + + +msgctxt "WindowManager" +msgid "Paint Vertex Selection (Weight, Vertex)" +msgstr "Selecció de vèrtexs amb pinzell (pesos, vèrtexs)" + + +msgctxt "WindowManager" +msgid "Paint Face Mask (Weight, Vertex, Texture)" +msgstr "Protegir cares amb pinzell (pesos, vèrtexs, textures)" + + +msgctxt "WindowManager" +msgid "Image Paint" +msgstr "Pintura d'imatge" + + +msgctxt "WindowManager" +msgid "Sculpt" +msgstr "Esculpir" + + +msgctxt "WindowManager" +msgid "3D View Tool: Sculpt, Face Set Edit" +msgstr "Eina de vista 3D: esculpir, editar joc de cares" + + +msgctxt "WindowManager" +msgid "3D View Tool: Sculpt, Face Set Edit (fallback)" +msgstr "Eina de vista 3D: esculpir, editar joc de cares (pla B)" + + +msgctxt "WindowManager" +msgid "Sculpt Curves" +msgstr "Esculpir amb corbes" + + +msgctxt "WindowManager" +msgid "Particle" +msgstr "Partícula" + + +msgctxt "WindowManager" +msgid "Knife Tool Modal Map" +msgstr "Mapa modal d'eina ganivet" + + +msgctxt "WindowManager" +msgid "Cancel" +msgstr "Cancel·lar" + + +msgctxt "WindowManager" +msgid "Confirm" +msgstr "Confirmar" + + +msgctxt "WindowManager" +msgid "Undo" +msgstr "Desfer" + + +msgctxt "WindowManager" +msgid "Snap to Midpoints On" +msgstr "Actiu acoblar a punts del mig" + + +msgctxt "WindowManager" +msgid "Snap to Midpoints Off" +msgstr "Inactiu acoblar a punts del mig" + + +msgctxt "WindowManager" +msgid "Ignore Snapping On" +msgstr "Ignorar acoblat activat" + + +msgctxt "WindowManager" +msgid "Ignore Snapping Off" +msgstr "Ignorar acoblat desactivat" + + +msgctxt "WindowManager" +msgid "Toggle Angle Snapping" +msgstr "Revesar acoblament d'angle" + + +msgctxt "WindowManager" +msgid "Cycle Angle Snapping Relative Edge" +msgstr "Ciclar acoblament d'angle en relació a aresta" + + +msgctxt "WindowManager" +msgid "Toggle Cut Through" +msgstr "Revesar tall transversal" + + +msgctxt "WindowManager" +msgid "Toggle Distance and Angle Measurements" +msgstr "Revesar mesures de distància i l'angle" + + +msgctxt "WindowManager" +msgid "Toggle Depth Testing" +msgstr "Revesar prova de profunditat" + + +msgctxt "WindowManager" +msgid "End Current Cut" +msgstr "Finalitzar tall actual" + + +msgctxt "WindowManager" +msgid "Add Cut" +msgstr "Afegir tall" + + +msgctxt "WindowManager" +msgid "Add Cut Closed" +msgstr "Afegir tall en bucle" + + +msgctxt "WindowManager" +msgid "Panning" +msgstr "Panoràmica" + + +msgctxt "WindowManager" +msgid "X Axis Locking" +msgstr "Bloqueig d'eix X" + + +msgctxt "WindowManager" +msgid "Y Axis Locking" +msgstr "Bloqueig d'eix Y" + + +msgctxt "WindowManager" +msgid "Z Axis Locking" +msgstr "Bloqueig d'eix Z" + + +msgctxt "WindowManager" +msgid "Custom Normals Modal Map" +msgstr "Mapa modal de normals personalitzades" + + +msgctxt "WindowManager" +msgid "Reset" +msgstr "Reiniciar" + + +msgid "Reset normals to initial ones" +msgstr "Reinicia les normals a les inicials" + + +msgctxt "WindowManager" +msgid "Invert" +msgstr "Invertir" + + +msgid "Toggle inversion of affected normals" +msgstr "Revesa la inversió de les normals afectades" + + +msgctxt "WindowManager" +msgid "Spherize" +msgstr "Esferitzar" + + +msgid "Interpolate between new and original normals" +msgstr "Interpola entre normals noves i originals" + + +msgctxt "WindowManager" +msgid "Align" +msgstr "Alinear" + + +msgctxt "WindowManager" +msgid "Use Mouse" +msgstr "Usar ratolí" + + +msgid "Follow mouse cursor position" +msgstr "Segueix la posició del cursor del ratolí" + + +msgctxt "WindowManager" +msgid "Use Pivot" +msgstr "Usar pivot" + + +msgid "Use current rotation/scaling pivot point coordinates" +msgstr "Utilitza les coordenades del punt de rotació/escalat actual" + + +msgctxt "WindowManager" +msgid "Use Object" +msgstr "Usar objecte" + + +msgid "Use current edited object's location" +msgstr "Utilitza la ubicació de l'objecte actualment en edició" + + +msgctxt "WindowManager" +msgid "Set and Use 3D Cursor" +msgstr "Posar i usar cursor 3D" + + +msgid "Set new 3D cursor position and use it" +msgstr "Estableix la nova posició del cursor 3D i la utilitza" + + +msgctxt "WindowManager" +msgid "Select and Use Mesh Item" +msgstr "Seleccionar i usar element de malla" + + +msgid "Select new active mesh element and use its location" +msgstr "Selecciona un nou element actiu de malla i usa la seva ubicació" + + +msgctxt "WindowManager" +msgid "Bevel Modal Map" +msgstr "Mapa modal de bisellat" + + +msgid "Cancel bevel" +msgstr "Cancel·lar bisellat" + + +msgid "Confirm bevel" +msgstr "Confirmar bisellat" + + +msgctxt "WindowManager" +msgid "Change Offset" +msgstr "Canviar desplaçament" + + +msgid "Value changes offset" +msgstr "El valor canvia el desplaçament" + + +msgctxt "WindowManager" +msgid "Change Profile" +msgstr "Canviar perfil" + + +msgid "Value changes profile" +msgstr "El valor canvia el perfil" + + +msgctxt "WindowManager" +msgid "Change Segments" +msgstr "Canviar segments" + + +msgid "Value changes segments" +msgstr "El valor canvia els segments" + + +msgctxt "WindowManager" +msgid "Increase Segments" +msgstr "Augmentar segments" + + +msgid "Increase segments" +msgstr "Augmenta els segments" + + +msgctxt "WindowManager" +msgid "Decrease Segments" +msgstr "Disminuir els segments" + + +msgid "Decrease segments" +msgstr "Disminueix els segments" + + +msgctxt "WindowManager" +msgid "Change Offset Mode" +msgstr "Canviar mode desplaçament" + + +msgid "Cycle through offset modes" +msgstr "Cicla al llarg dels modes de desplaçament" + + +msgctxt "WindowManager" +msgid "Toggle Clamp Overlap" +msgstr "Revesar superposició del constrenyiment" + + +msgid "Toggle clamp overlap flag" +msgstr "Semàfor de revesat de superposició de constrenyiment" + + +msgctxt "WindowManager" +msgid "Change Affect Type" +msgstr "Canviar tipus d'afectació" + + +msgid "Change which geometry type the operation affects, edges or vertices" +msgstr "Canvia a quin tipus de geometria afecta l'operació, arestes o vèrtexs" + + +msgctxt "WindowManager" +msgid "Toggle Harden Normals" +msgstr "Revesar normals endurides" + + +msgid "Toggle harden normals flag" +msgstr "Semàfor de revesat de normals endurides" + + +msgctxt "WindowManager" +msgid "Toggle Mark Seam" +msgstr "Revesar marca de costura" + + +msgid "Toggle mark seam flag" +msgstr "Semàfor de revesat de marca de costura" + + +msgctxt "WindowManager" +msgid "Toggle Mark Sharp" +msgstr "Reversar marca d'agudesa" + + +msgid "Toggle mark sharp flag" +msgstr "Semàfor de revesat de marca s'agudesa" + + +msgctxt "WindowManager" +msgid "Change Outer Miter" +msgstr "Canviar motllura exterior" + + +msgid "Cycle through outer miter kinds" +msgstr "Cicla al llarg de menes de motllures" + + +msgctxt "WindowManager" +msgid "Change Inner Miter" +msgstr "Canviar motllura interior" + + +msgid "Cycle through inner miter kinds" +msgstr "Cicla al llarg de menes de motllures interiors" + + +msgctxt "WindowManager" +msgid "Cycle through profile types" +msgstr "Ciclar al llarg de tipus de perfils" + + +msgctxt "WindowManager" +msgid "Change Intersection Method" +msgstr "Canviar mètode d'intersecció" + + +msgid "Cycle through intersection methods" +msgstr "Cicla al llarg dels mètodes d'intersecció" + + +msgctxt "WindowManager" +msgid "Paint Stroke Modal" +msgstr "Modalitat pintar amb pinzell" + + +msgid "Cancel and undo a stroke in progress" +msgstr "Cancel·la i desfà un traç en curs" + + +msgctxt "WindowManager" +msgid "Sculpt Expand Modal" +msgstr "Modalitat esculpir expansiu" + + +msgctxt "WindowManager" +msgid "Toggle Preserve State" +msgstr "Revesar estat de conservació" + + +msgctxt "WindowManager" +msgid "Toggle Gradient" +msgstr "Revesar degradat" + + +msgctxt "WindowManager" +msgid "Geodesic recursion step" +msgstr "Passada de recursió geodèsica" + + +msgctxt "WindowManager" +msgid "Topology recursion Step" +msgstr "Passada de recursió topològica" + + +msgctxt "WindowManager" +msgid "Move Origin" +msgstr "Moure origen" + + +msgctxt "WindowManager" +msgid "Geodesic Falloff" +msgstr "Decaïment geodèsic" + + +msgctxt "WindowManager" +msgid "Topology Falloff" +msgstr "Decaïment topològic" + + +msgctxt "WindowManager" +msgid "Diagonals Falloff" +msgstr "Decaïment de diagonals" + + +msgctxt "WindowManager" +msgid "Spherical Falloff" +msgstr "Decaïment esfèric" + + +msgctxt "WindowManager" +msgid "Snap expand to Face Sets" +msgstr "Acobla expansió a jocs de cares" + + +msgctxt "WindowManager" +msgid "Loop Count Increase" +msgstr "Increment de nombre de bucles" + + +msgctxt "WindowManager" +msgid "Loop Count Decrease" +msgstr "Decrement de nombre de bucles" + + +msgctxt "WindowManager" +msgid "Toggle Brush Gradient" +msgstr "Revesar degradat de pinzell" + + +msgctxt "WindowManager" +msgid "Texture Distortion Increase" +msgstr "Increment de distorsió de textura" + + +msgctxt "WindowManager" +msgid "Texture Distortion Decrease" +msgstr "Decrement de distorsió de textura" + + +msgctxt "WindowManager" +msgid "Paint Curve" +msgstr "Pintar corba" + + +msgctxt "WindowManager" +msgid "Curve Pen Modal Map" +msgstr "Mapa modal de llapis de corba" + + +msgctxt "WindowManager" +msgid "Free-Align Toggle" +msgstr "Revesar alineació lliure" + + +msgid "Move handle of newly added point freely" +msgstr "Mou lliurement la nansa del nou punt afegit" + + +msgctxt "WindowManager" +msgid "Move Adjacent Handle" +msgstr "Moure nansa adjacent" + + +msgid "Move the closer handle of the adjacent vertex" +msgstr "Mou la nansa més pròxima del vèrtex adjacent" + + +msgctxt "WindowManager" +msgid "Move Entire Point" +msgstr "Moure punt sencer" + + +msgid "Move the entire point using its handles" +msgstr "Mou el punt sencer usant-ne les nanses" + + +msgctxt "WindowManager" +msgid "Link Handles" +msgstr "Enllaçar nanses" + + +msgid "Mirror the movement of one handle onto the other" +msgstr "Emmiralla el moviment d'una nansa sobre l'altra" + + +msgctxt "WindowManager" +msgid "Lock Angle" +msgstr "Bloquejar angle" + + +msgid "Move the handle along its current angle" +msgstr "Mou la nansa al llarg del seu angle actual" + + +msgctxt "WindowManager" +msgid "Object Non-modal" +msgstr "Objecte no modal" + + +msgctxt "WindowManager" +msgid "View3D Placement Modal" +msgstr "Modalitat d'ubicació de Vista 3D" + + +msgctxt "WindowManager" +msgid "Snap On" +msgstr "Acoblar activat" + + +msgctxt "WindowManager" +msgid "Snap Off" +msgstr "Acoblar desactivat" + + +msgctxt "WindowManager" +msgid "Fixed Aspect On" +msgstr "Aspecte fix activat" + + +msgctxt "WindowManager" +msgid "Fixed Aspect Off" +msgstr "Aspecte fix desactivat" + + +msgctxt "WindowManager" +msgid "Center Pivot On" +msgstr "Pivot centrat activat" + + +msgctxt "WindowManager" +msgid "Center Pivot Off" +msgstr "Pivot centrat desactivat" + + +msgctxt "WindowManager" +msgid "View3D Walk Modal" +msgstr "Modalitat de caminar en vista 3D" + + +msgctxt "WindowManager" +msgid "Forward" +msgstr "Endavant" + + +msgctxt "WindowManager" +msgid "Backward" +msgstr "Enrere" + + +msgctxt "WindowManager" +msgid "Left" +msgstr "Esquerra" + + +msgctxt "WindowManager" +msgid "Right" +msgstr "Dreta" + + +msgctxt "WindowManager" +msgid "Up" +msgstr "Amunt" + + +msgctxt "WindowManager" +msgid "Down" +msgstr "Avall" + + +msgctxt "WindowManager" +msgid "Stop Move Forward" +msgstr "Aturar endavant" + + +msgctxt "WindowManager" +msgid "Stop Move Backward" +msgstr "Aturar enrere" + + +msgctxt "WindowManager" +msgid "Stop Move Left" +msgstr "Aturar a esquerra" + + +msgctxt "WindowManager" +msgid "Stop Mode Right" +msgstr "Aturar a dreta" + + +msgctxt "WindowManager" +msgid "Stop Move Up" +msgstr "Aturar en amunt" + + +msgctxt "WindowManager" +msgid "Stop Mode Down" +msgstr "Aturar en avall" + + +msgctxt "WindowManager" +msgid "Teleport" +msgstr "Teletransportar" + + +msgid "Move forward a few units at once" +msgstr "Mou endavant unes poques unitats alhora" + + +msgctxt "WindowManager" +msgid "Accelerate" +msgstr "Accelerar" + + +msgctxt "WindowManager" +msgid "Decelerate" +msgstr "Decelerar" + + +msgctxt "WindowManager" +msgid "Fast" +msgstr "Ràpid" + + +msgid "Move faster (walk or fly)" +msgstr "Es mou més ràpid (caminar o volar)" + + +msgctxt "WindowManager" +msgid "Fast (Off)" +msgstr "Ràpid (Desactivat)" + + +msgid "Resume regular speed" +msgstr "Reprèn la velocitat normal" + + +msgctxt "WindowManager" +msgid "Slow" +msgstr "Lent" + + +msgid "Move slower (walk or fly)" +msgstr "Es mou més lent (caminar o volar)" + + +msgctxt "WindowManager" +msgid "Slow (Off)" +msgstr "Lent (desactivat)" + + +msgctxt "WindowManager" +msgid "Jump" +msgstr "Saltar" + + +msgid "Jump when in walk mode" +msgstr "Salta en mode de caminar" + + +msgctxt "WindowManager" +msgid "Jump (Off)" +msgstr "Saltar (desactivat)" + + +msgid "Stop pushing jump" +msgstr "Atura impuls de salt" + + +msgctxt "WindowManager" +msgid "Toggle Gravity" +msgstr "Revesar gravetat" + + +msgid "Toggle gravity effect" +msgstr "Commuta l'efecte de gravetat" + + +msgctxt "WindowManager" +msgid "Z Axis Correction" +msgstr "Correcció d'eix Z" + + +msgid "Z axis correction" +msgstr "Correcció de l'eix Z" + + +msgctxt "WindowManager" +msgid "View3D Fly Modal" +msgstr "Modalitat de vol en vista 3D" + + msgctxt "WindowManager" msgid "Pan" msgstr "Escombratge" @@ -98306,6 +105095,539 @@ msgid "Pan (Off)" msgstr "Escombratge (desactivar)" +msgctxt "WindowManager" +msgid "X Axis Correction" +msgstr "Correcció d'eix X" + + +msgid "X axis correction (toggle)" +msgstr "Correcció de l'eix X (revesar)" + + +msgid "Z axis correction (toggle)" +msgstr "Correcció de l'eix Z (revesar)" + + +msgctxt "WindowManager" +msgid "Precision" +msgstr "Precisió" + + +msgctxt "WindowManager" +msgid "Precision (Off)" +msgstr "Precisió (desactivada)" + + +msgctxt "WindowManager" +msgid "Rotation" +msgstr "Rotació" + + +msgctxt "WindowManager" +msgid "Rotation (Off)" +msgstr "Rotació (desactivada)" + + +msgctxt "WindowManager" +msgid "View3D Rotate Modal" +msgstr "Modalitat rotació de vista 3D" + + +msgctxt "WindowManager" +msgid "Axis Snap" +msgstr "Acoblar a l'eix" + + +msgctxt "WindowManager" +msgid "Axis Snap (Off)" +msgstr "Acoblar a l'eix (desactivat)" + + +msgctxt "WindowManager" +msgid "Switch to Zoom" +msgstr "Canviar a zoom" + + +msgctxt "WindowManager" +msgid "Switch to Move" +msgstr "Canviar a moure" + + +msgctxt "WindowManager" +msgid "View3D Move Modal" +msgstr "Modalitat moviment en vista 3D" + + +msgctxt "WindowManager" +msgid "Switch to Rotate" +msgstr "Canviar a rotar" + + +msgctxt "WindowManager" +msgid "View3D Zoom Modal" +msgstr "Modalitat zoom en vista 3D" + + +msgctxt "WindowManager" +msgid "View3D Dolly Modal" +msgstr "Modalitat dolly de vista 3D" + + +msgctxt "WindowManager" +msgid "3D View Generic" +msgstr "Vista 3D genèrica" + + +msgctxt "WindowManager" +msgid "Graph Editor" +msgstr "Editor de gràfiques" + + +msgctxt "WindowManager" +msgid "Graph Editor Generic" +msgstr "Editor de gràfiques genèric" + + +msgctxt "WindowManager" +msgid "Dopesheet" +msgstr "Guionatge" + + +msgctxt "WindowManager" +msgid "Dopesheet Generic" +msgstr "Guionatge genèric" + + +msgctxt "WindowManager" +msgid "NLA Editor" +msgstr "Editor d'ANL" + + +msgctxt "WindowManager" +msgid "NLA Channels" +msgstr "Canals d'ANL" + + +msgctxt "WindowManager" +msgid "NLA Generic" +msgstr "ANL genèrica" + + +msgctxt "WindowManager" +msgid "Timeline" +msgstr "Cronograma" + + +msgctxt "WindowManager" +msgid "Image" +msgstr "Imatge" + + +msgctxt "WindowManager" +msgid "UV Editor" +msgstr "Editor UV" + + +msgctxt "WindowManager" +msgid "Image Editor Tool: Uv, Move" +msgstr "Eina d'edició d'imatges: UV, moure" + + +msgctxt "WindowManager" +msgid "Image Editor Tool: Uv, Move (fallback)" +msgstr "Eina d'edició d'imatges: UV, moure (pla B)" + + +msgctxt "WindowManager" +msgid "Image Editor Tool: Uv, Rotate" +msgstr "Eina d'edició d'imatges: UV, rotar" + + +msgctxt "WindowManager" +msgid "Image Editor Tool: Uv, Rotate (fallback)" +msgstr "Eina d'edició d'imatges: UV, rotar (pla B)" + + +msgctxt "WindowManager" +msgid "Image Editor Tool: Uv, Scale" +msgstr "Eina d'edició d'imatges: UV, escalar" + + +msgctxt "WindowManager" +msgid "Image Editor Tool: Uv, Scale (fallback)" +msgstr "Eina d'edició d'imatges: UV, escalar (pla B)" + + +msgctxt "WindowManager" +msgid "UV Sculpt" +msgstr "Esculpir UVs" + + +msgctxt "WindowManager" +msgid "Image View" +msgstr "Visualització d'imatge" + + +msgctxt "WindowManager" +msgid "Image Editor Tool: Sample" +msgstr "Eina d'edició d'imatges: mostrejar" + + +msgctxt "WindowManager" +msgid "Image Editor Tool: Sample (fallback)" +msgstr "Eina d'edició d'imatges: mostrejar (pla B)" + + +msgctxt "WindowManager" +msgid "Image Generic" +msgstr "Imatge genèric" + + +msgctxt "WindowManager" +msgid "Outliner" +msgstr "Inventari" + + +msgctxt "WindowManager" +msgid "Node Editor" +msgstr "Editor de nodes" + + +msgctxt "WindowManager" +msgid "Node Generic" +msgstr "Node genèric" + + +msgctxt "WindowManager" +msgid "SequencerCommon" +msgstr "SeqüenciadorComú" + + +msgctxt "WindowManager" +msgid "Sequencer" +msgstr "Seqüenciador" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Tweak" +msgstr "Eina seqüenciador: manipular" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Tweak (fallback)" +msgstr "Eina seqüenciador: manipular (pla B)" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Select Box" +msgstr "Eina seqüenciador: caixa de selecció" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Select Box (fallback)" +msgstr "Eina seqüenciador: caixa de selecció (pla B)" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Blade" +msgstr "Eina seqüenciador: cisalla" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Blade (fallback)" +msgstr "Eina seqüenciador: cisalla (pla B)" + + +msgctxt "WindowManager" +msgid "SequencerPreview" +msgstr "SeqüenciadorPrevisualització" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Cursor" +msgstr "Eina seqüenciador: cursor" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Cursor (fallback)" +msgstr "Eina seqüenciador: cursor (pla B)" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Move" +msgstr "Eina seqüenciador: moure" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Move (fallback)" +msgstr "Eina seqüenciador: moure (pla B)" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Rotate" +msgstr "Eina seqüenciador: rotar (pla B)" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Rotate (fallback)" +msgstr "Eina seqüenciador: rotar (pla B)" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Scale" +msgstr "Eina seqüenciador: escalar" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Scale (fallback)" +msgstr "Eina seqüenciador: escalar (pla B)" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Sample" +msgstr "Eina seqüenciador: mostrejar" + + +msgctxt "WindowManager" +msgid "Sequencer Tool: Sample (fallback)" +msgstr "Eina seqüenciador: mostrejar (pla B)" + + +msgctxt "WindowManager" +msgid "File Browser" +msgstr "Navegador de documents" + + +msgctxt "WindowManager" +msgid "File Browser Main" +msgstr "Navegador de documents principal" + + +msgctxt "WindowManager" +msgid "File Browser Buttons" +msgstr "Botons del navegador de documents" + + +msgctxt "WindowManager" +msgid "Info" +msgstr "Informació" + + +msgctxt "WindowManager" +msgid "Property Editor" +msgstr "Editor de propietats" + + +msgctxt "WindowManager" +msgid "Text" +msgstr "Text" + + +msgctxt "WindowManager" +msgid "Text Generic" +msgstr "Text genèric" + + +msgctxt "WindowManager" +msgid "Console" +msgstr "Consola" + + +msgctxt "WindowManager" +msgid "Clip" +msgstr "Clip" + + +msgctxt "WindowManager" +msgid "Clip Editor" +msgstr "Editor de clips" + + +msgctxt "WindowManager" +msgid "Clip Graph Editor" +msgstr "Editor de gràfiques de clip" + + +msgctxt "WindowManager" +msgid "Clip Dopesheet Editor" +msgstr "Editor de guionatge de clip" + + +msgctxt "WindowManager" +msgid "Grease Pencil" +msgstr "Llapis de greix" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Curve Edit Mode" +msgstr "Mode edició de traç de corba amb llapis de greix" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Edit Mode" +msgstr "Mode edició de traç de llapis de greix" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Paint (Draw brush)" +msgstr "Pintura de traç de llapis de greix (pinzell de dibuix)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Paint (Fill)" +msgstr "Pintura de traç de llapis de greix (emplenar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Paint (Erase)" +msgstr "Pintura de traç de llapis de greix (esborrar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Paint (Tint)" +msgstr "Pintura de traç de llapis de greix (tintar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Paint Mode" +msgstr "Mode pintura de traç de llapis de greix" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Sculpt Mode" +msgstr "Mode escultura de traç de llapis de greix" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Sculpt (Smooth)" +msgstr "Escultura de traç de llapis de greix (suavitzar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Sculpt (Thickness)" +msgstr "Escultura de traç de llapis de greix (gruix)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Sculpt (Strength)" +msgstr "Escultura de traç de llapis de greix (intensitat)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Sculpt (Grab)" +msgstr "Escultura de traç de llapis de greix (agafar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Sculpt (Push)" +msgstr "Escultura de traç de llapis de greix (pitjar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Sculpt (Twist)" +msgstr "Escultura de traç de llapis de greix (roscar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Sculpt (Pinch)" +msgstr "Escultura de traç de llapis de greix (pinçar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Sculpt (Randomize)" +msgstr "Escultura de traç de llapis de greix (aleatoritzar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Sculpt (Clone)" +msgstr "Escultura de traç de llapis de greix (clonar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Weight Mode" +msgstr "Modes escultura de traç de llapis de greix" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Weight (Draw)" +msgstr "Escultura de traç de llapis de greix (dibuixar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Vertex Mode" +msgstr "Mode vèrtex de traç de llapis de greix" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Vertex (Draw)" +msgstr "Mode vèrtex de traç de llapis de greix (dibuixar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Vertex (Blur)" +msgstr "Vèrtex de traç de llapis de greix (difuminar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Vertex (Average)" +msgstr "Vèrtex de traç de llapis de greix (mitjana)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Vertex (Smear)" +msgstr "Vèrtex de traç de llapis de greix (escampar)" + + +msgctxt "WindowManager" +msgid "Grease Pencil Stroke Vertex (Replace)" +msgstr "Vèrtex de traç de llapis de greix (reemplaçar)" + + +msgctxt "WindowManager" +msgid "Mask Editing" +msgstr "Edició de màscara" + + +msgctxt "WindowManager" +msgid "Frames" +msgstr "Fotogrames" + + +msgctxt "WindowManager" +msgid "Markers" +msgstr "Marcadors" + + +msgctxt "WindowManager" +msgid "Animation" +msgstr "Animació" + + +msgctxt "WindowManager" +msgid "Animation Channels" +msgstr "Canals d'animació" + + +msgctxt "WindowManager" +msgid "View3D Gesture Circle" +msgstr "Cercle de gestos en vista 3D" + + +msgctxt "WindowManager" +msgid "Add" +msgstr "Sumar" + + +msgctxt "WindowManager" +msgid "Subtract" +msgstr "Restar" + + +msgctxt "WindowManager" +msgid "Size" +msgstr "Mida" + + msgctxt "WindowManager" msgid "Select" msgstr "Seleccionar" @@ -98321,36 +105643,6585 @@ msgid "No Operation" msgstr "Cap operació" +msgctxt "WindowManager" +msgid "Gesture Straight Line" +msgstr "Gest de línia recta" + + +msgctxt "WindowManager" +msgid "Begin" +msgstr "Començar" + + +msgctxt "WindowManager" +msgid "Move" +msgstr "Moure" + + +msgctxt "WindowManager" +msgid "Snap" +msgstr "Acoblar" + + +msgctxt "WindowManager" +msgid "Flip" +msgstr "Capgirar" + + +msgctxt "WindowManager" +msgid "Gesture Zoom Border" +msgstr "Gest límit de zoom" + + +msgctxt "WindowManager" +msgid "In" +msgstr "Dins" + + +msgctxt "WindowManager" +msgid "Out" +msgstr "Fora" + + +msgctxt "WindowManager" +msgid "Gesture Box" +msgstr "Capsa de gestos" + + +msgctxt "WindowManager" +msgid "Standard Modal Map" +msgstr "Mapa modal estàndard" + + +msgctxt "WindowManager" +msgid "Apply" +msgstr "Aplicar" + + +msgctxt "WindowManager" +msgid "Transform Modal Map" +msgstr "Mapa modal de transformació" + + +msgctxt "WindowManager" +msgid "X Axis" +msgstr "Eix X" + + +msgctxt "WindowManager" +msgid "Y Axis" +msgstr "Eix Y" + + +msgctxt "WindowManager" +msgid "Z Axis" +msgstr "Eix Z" + + +msgctxt "WindowManager" +msgid "X Plane" +msgstr "Pla X" + + +msgctxt "WindowManager" +msgid "Y Plane" +msgstr "Pla Y" + + +msgctxt "WindowManager" +msgid "Z Plane" +msgstr "Pla Z" + + +msgctxt "WindowManager" +msgid "Clear Constraints" +msgstr "Descartar restriccions" + + +msgctxt "WindowManager" +msgid "Snap Invert" +msgstr "Invertir acoblament" + + +msgctxt "WindowManager" +msgid "Snap Invert (Off)" +msgstr "Inverteix l'ajustament (desactivat)" + + +msgctxt "WindowManager" +msgid "Snap Toggle" +msgstr "Revesar acoblament" + + +msgctxt "WindowManager" +msgid "Add Snap Point" +msgstr "Afegir punt d'acoblament" + + +msgctxt "WindowManager" +msgid "Remove Last Snap Point" +msgstr "Eliminar últim punt d'acoblament" + + +msgctxt "WindowManager" +msgid "Numinput Increment Up" +msgstr "Increment de núm. ingressat amunt" + + +msgctxt "WindowManager" +msgid "Numinput Increment Down" +msgstr "Increment de núm. ingressat avall" + + +msgctxt "WindowManager" +msgid "Increase Proportional Influence" +msgstr "Augmentar influència proporcionalment" + + +msgctxt "WindowManager" +msgid "Decrease Proportional Influence" +msgstr "Disminuir influència proporcionalment" + + +msgctxt "WindowManager" +msgid "Increase Max AutoIK Chain Length" +msgstr "Augmentar longitud màxima de cadena Auto-CI" + + +msgctxt "WindowManager" +msgid "Decrease Max AutoIK Chain Length" +msgstr "Disminuir longitud màxima de la cadena Auto-CI" + + +msgctxt "WindowManager" +msgid "Adjust Proportional Influence" +msgstr "Ajustar influència proporcionalment" + + +msgctxt "WindowManager" +msgid "Toggle Direction for Node Auto-Offset" +msgstr "Revesar direcció per aitodesplaçament de node" + + +msgctxt "WindowManager" +msgid "Node Attachment" +msgstr "Lligam de node" + + +msgctxt "WindowManager" +msgid "Node Attachment (Off)" +msgstr "Lligam de node (desactivat)" + + +msgctxt "WindowManager" +msgid "Vert/Edge Slide" +msgstr "Lliscar vèrtex/aresta" + + +msgctxt "WindowManager" +msgid "Rotate" +msgstr "Rotar" + + +msgctxt "WindowManager" +msgid "TrackBall" +msgstr "Ratolí de bola" + + +msgctxt "WindowManager" +msgid "Resize" +msgstr "Redimensionar" + + +msgctxt "WindowManager" +msgid "Rotate Normals" +msgstr "Rotar normals" + + +msgctxt "WindowManager" +msgid "Automatic Constraint" +msgstr "Restricció automàtica" + + +msgctxt "WindowManager" +msgid "Automatic Constraint Plane" +msgstr "Pla de restricció automàtica" + + +msgctxt "WindowManager" +msgid "Precision Mode" +msgstr "Mode de precisió" + + +msgctxt "WindowManager" +msgid "Eyedropper Modal Map" +msgstr "Mapa modal de pipeta" + + +msgctxt "WindowManager" +msgid "Confirm Sampling" +msgstr "Confirmar mostreig" + + +msgctxt "WindowManager" +msgid "Start Sampling" +msgstr "Iniciar mostreig" + + +msgctxt "WindowManager" +msgid "Reset Sampling" +msgstr "Reiniciar mostreig" + + +msgctxt "WindowManager" +msgid "Eyedropper ColorRamp PointSampling Map" +msgstr "Mapa de mostreig de punts en rampa de color per a pipeta" + + +msgctxt "WindowManager" +msgid "Sample a Point" +msgstr "Mostrejar un punt" + + +msgctxt "WindowManager" +msgid "Mesh Filter Modal Map" +msgstr "Mapa modal de filtre de malla" + + +msgid "No selected keys, pasting over scene range" +msgstr "No hi ha fites seleccionades, s'enganxa sobre l'interval d'escena" + + +msgctxt "Operator" +msgid "Mirrored" +msgstr "Emmirallat" + + +msgid "Clipboard does not contain a valid matrix" +msgstr "El porta-retalls no conté una matriu vàlida" + + +msgid "This mode requires auto-keying to work properly" +msgstr "Aquest mode requereix que les tecles automàtiques funcionin correctament" + + +msgid "No selected frames found" +msgstr "No s'han trobat fotogrames seleccionats" + + +msgid "No selected keys, pasting over preview range" +msgstr "No hi ha fites seleccionades, s'enganxa sobre l'interval de la vista prèvia" + + +msgid "These require auto-key:" +msgstr "Aquests requereixen autofita:" + + +msgctxt "Operator" +msgid "Paste to Selected Keys" +msgstr "Enganxar a fites seleccionades" + + +msgctxt "Operator" +msgid "Paste and Bake" +msgstr "Enganxar i precuinar" + + +msgid "Unable to mirror, no mirror object/bone configured" +msgstr "No s'ha pogut fer la rèplica, no s'ha configurat cap objecte/os a emmirallar" + + +msgid "Denoising completed" +msgstr "Desorollat complet" + + +msgid "Frame '%s' not found, animation must be complete" +msgstr "No s'ha trobat el fotograma '%s', l'animació ha d'estar completa" + + +msgid "OSL shader compilation succeeded" +msgstr "Compilació exitosa de l'aspector OSL" + + +msgid "OSL script compilation failed, see console for errors" +msgstr "Compilació fallida del protocol OSL, vegeu la consola per errors" + + +msgid "No text or file specified in node, nothing to compile" +msgstr "No s'ha especificat cap text ni document al node, no hi ha res a compilar" + + +msgid "OSL query failed to open " +msgstr "La consulta OSL no s'ha obert " + + +msgid "External shader script must have .osl or .oso extension, or be a module name" +msgstr "El protocol d'aspector extern ha de tenir l'extensió .osl o .oso, o ser un nom de mòdul" + + +msgid "Can't read OSO bytecode to store in node at %r" +msgstr "No es pot llegir el bytecode d'OSO per emmagatzemar-lo al node a %r" + + +msgid "Failed to write .oso file next to external .osl file at " +msgstr "No s'ha pogut escriure el document .oso al costat del document .osl extern a " + + +msgid "No compatible GPUs found for Cycles" +msgstr "No s'han trobat GPUs compatibles per a Cycles" + + +msgid "Requires NVIDIA GPU with compute capability %s" +msgstr "Requereix una GPU NVIDIA amb capacitat computacional %s" + + +msgid "HIP temporarily disabled due to compiler bugs" +msgstr "El HIP s'ha desactivat temporalment a causa de pífies del compilador" + + +msgid "and NVIDIA driver version %s or newer" +msgstr "i el controlador NVIDIA versió %s o més recent" + + +msgid "Requires AMD GPU with Vega or RDNA architecture" +msgstr "Requereix GPU AMD amb arquitectura Vega o RDNA" + + +msgid "Requires Intel GPU with Xe-HPG architecture" +msgstr "Requereix GPU d'Intel amb arquitectura Xe-HPG" + + +msgid "Requires Intel GPU with Xe-HPG architecture and" +msgstr "Requereix GPU d'Intel amb arquitectura Xe-HPG i" + + +msgid " - oneAPI Level-Zero Loader" +msgstr " - carregador de nivell zero oneAPI" + + +msgid "and AMD Radeon Pro %s driver or newer" +msgstr "i el controlador %s de l'AMD Radeon Pro o més recent" + + +msgid "and Windows driver version %s or newer" +msgstr "i el controlador de Windows versió %s o més recent" + + +msgid "Requires Apple Silicon with macOS %s or newer" +msgstr "Requereix Apple Silicon amb macOS %s o més recent" + + +msgid "or AMD with macOS %s or newer" +msgstr "o AMD amb macOS %s o més recent" + + +msgid "and AMD driver version %s or newer" +msgstr "i el controlador AMD versió %s o més recent" + + +msgid " - intel-level-zero-gpu version %s or newer" +msgstr " - versió intel-level-zero-gpu %s o més recent" + + +msgid "Noise Threshold" +msgstr "Llindar de soroll" + + +msgid "Start Sample" +msgstr "Mostreig inicial" + + +msgid "Distribution Type" +msgstr "Tipus de distribució" + + +msgid "Multiplier" +msgstr "Multiplicador" + + +msgid "Dicing Rate Render" +msgstr "Taxa de fraccionament en revelat" + + +msgid "Offscreen Scale" +msgstr "Escala fora de pantalla" + + +msgid "Step Rate Render" +msgstr "Taxa de passades en revelat" + + +msgid "Direct Light" +msgstr "Llum directa" + + +msgid "Indirect Light" +msgstr "Llum indirecta" + + +msgid "Reflective" +msgstr "Reflectiu" + + +msgid "Refractive" +msgstr "Refractiu" + + +msgid "Rolling Shutter" +msgstr "Obturador rotatori" + + +msgid "Roughness Threshold" +msgstr "Llindar de rugositat" + + +msgid "Surfaces" +msgstr "Superfícies" + + +msgid "Denoising" +msgstr "Desorollar" + + +msgid "Denoising Data" +msgstr "Dades de desorollar" + + +msgid "Indexes" +msgstr "Índexs" + + +msgid "Pipeline" +msgstr "Línia de producció" + + +msgid "Geometry Offset" +msgstr "Desplaçament de geometria" + + +msgid "Shading Offset" +msgstr "Desplaçament d'aspecció" + + +msgid "Show In" +msgstr "Mostrar en" + + +msgid "Viewports" +msgstr "Miradors" + + +msgid "Renders" +msgstr "Revelats" + + +msgid "No output node" +msgstr "Sense node d'egressió" + + +msgid "Homogeneous" +msgstr "Homogeni" + + +msgid "BVH" +msgstr "BVH" + + +msgid "Module Debug" +msgstr "Depuració de mòdul" + + +msgid "Viewport BVH" +msgstr "Mirador BVH" + + +msgid "Max Subdivision" +msgstr "Subdivisió màxima" + + +msgid "Texture Limit" +msgstr "Límit de textura" + + +msgid "Volume Resolution" +msgstr "Resolució de volum" + + +msgid "Camera Culling" +msgstr "Esporgat de càmera" + + +msgid "Distance Culling" +msgstr "Esporgat de distància" + + +msgid "Max Samples" +msgstr "Màx de mostres" + + +msgid "Min Samples" +msgstr "Mín de mostres" + + +msgid "Prefilter" +msgstr "Prefiltar" + + +msgid "Curve Subdivisions" +msgstr "Subdivisions de corba" + + +msgid "AO Factor" +msgstr "Factor OA" + + +msgid "Viewport Bounces" +msgstr "Rebots en mirador" + + +msgid "Render Bounces" +msgstr "Rebots en revelat" + + +msgid "Incompatible output node" +msgstr "Node d'egressió incompatible" + + +msgid "Portal" +msgstr "Portal" + + +msgid "Swizzle R" +msgstr "Remenar R" + + +msgid "Extrusion" +msgstr "Extrusió" + + +msgid "Clear Image" +msgstr "Descartar imatge" + + +msgid "Cycles built without Embree support" +msgstr "Cycles construït sense suport d'Embree" + + +msgid "CPU raytracing performance will be poor" +msgstr "El rendiment de radiotraçat de la CPU serà pobre" + + +msgctxt "Operator" +msgid "Assign" +msgstr "Assignar" + + +msgctxt "Operator" +msgid "Deselect" +msgstr "Desseleccionar" + + +msgid "Contributions" +msgstr "Contribucions" + + +msgid "The BVH file does not contain frame duration in its MOTION section, assuming the BVH and Blender scene have the same frame rate" +msgstr "El document BVH no conté la durada del fotograma en la seva secció de MOVIMENT, suposant que l'escena BVH i Blender tenen la mateixa taxa de fotogrames" + + +msgid "Unable to update scene frame rate, as the BVH file contains a zero frame duration in its MOTION section" +msgstr "No s'ha pogut actualitzar la taxa de fotogrames de l'escena, ja que el document BVH conté una durada de fotograma zero a la seva secció de MOVIMENT" + + +msgid "Unable to extend the scene duration, as the BVH file does not contain the number of frames in its MOTION section" +msgstr "No s'ha pogut estendre la durada de l'escena, ja que el document BVH no conté el nombre de fotogrames en la seva secció de MOVIMENT" + + +msgid "Invalid target %r (must be 'ARMATURE' or 'OBJECT')" +msgstr "Referent %r no és vàlid (ha de ser «ESQUELET» o «OBJECTE»)" + + +msgctxt "Operator" +msgid "Cameras & Markers (.py)" +msgstr "Càmeres i marcadors (.py)" + + +msgid "Unable to parse XML, %s:%s for file %r" +msgstr "No s'ha pogut analitzar XML, %s:%s per al document %r" + + +msgctxt "Operator" +msgid "Images as Planes" +msgstr "Imatges com a plans" + + +msgid "Import Options:" +msgstr "Opcions d'importació:" + + +msgid "Compositing Nodes:" +msgstr "Nodes de compositació:" + + +msgid "Material Settings:" +msgstr "Paràmetres de material:" + + +msgid "Material Type" +msgstr "Tipus de material" + + +msgid "Texture Settings:" +msgstr "Paràmetres de textura:" + + +msgid "Position:" +msgstr "Posició:" + + +msgid "Plane dimensions:" +msgstr "Dimensions de pla:" + + +msgid "Orientation:" +msgstr "Orientació:" + + +msgid "Added {} Image Plane(s)" +msgstr "S'ha afegit {} pla/ns d'imatge" + + +msgid "'Opaque' does not support alpha" +msgstr "«Opac» no admet alfa" + + +msgid "%s is not supported" +msgstr "%s no està suportat" + + +msgid "Cannot generate materials for unknown %s render engine" +msgstr "No es poden generar materials per a un motor de revelat %s desconegut" + + +msgid "Generating Cycles/EEVEE compatible material, but won't be visible with %s engine" +msgstr "S'està generant material compatible amb Cycles / EEVEE, però no serà visible amb el motor %s" + + +msgid "Limit to" +msgstr "Limitar a" + + +msgid "Mesh '%s' has polygons with more than 4 vertices, cannot compute/export tangent space for it" +msgstr "La malla '%s' té polígons amb més de 4 vèrtexs, no pot calcular / exportar espai tangencial per a això" + + +msgid "ASCII FBX files are not supported %r" +msgstr "Els documents FBX ASCII no són compatibles amb %r" + + +msgid "Version %r unsupported, must be %r or later" +msgstr "La versió %r no està suportada, ha de ser %r o posterior" + + +msgid "No 'GlobalSettings' found in file %r" +msgstr "No s'ha trobat «GlobalSettings» al document %r" + + +msgid "No 'Objects' found in file %r" +msgstr "No s'ha trobat «Objects» al document %r" + + +msgid "No 'Connections' found in file %r" +msgstr "No s'ha trobat «Connections» al document %r" + + +msgid "Couldn't open file %r (%s)" +msgstr "No s'ha pogut obrir el document %r (%s)" + + +msgctxt "Operator" +msgid "Display Variant" +msgstr "Mostrar variant" + + +msgctxt "Operator" +msgid "Assign To Variant" +msgstr "Assignar a variant" + + +msgctxt "Operator" +msgid "Reset To Original" +msgstr "Reiniciar a l'original" + + +msgctxt "Operator" +msgid "Assign as Original" +msgstr "Assignar com a original" + + +msgctxt "Operator" +msgid "Add Material Variant" +msgstr "Afegir variant de material" + + +msgid "No glTF Animation" +msgstr "Sense animació glTF" + + +msgid "Variant" +msgstr "Variant" + + +msgid "Please Create a Variant First" +msgstr "Sisplau creeu primer una variant" + + +msgctxt "Operator" +msgid "Add a new Variant Slot" +msgstr "Afegir nou epígraf de variant" + + +msgid "Curves as NURBS" +msgstr "Corbes com a NURBS" + + +msgid "untitled" +msgstr "sense títol" + + +msgid "Exported: {!r}" +msgstr "Exportat: {!r}" + + +msgid "Multiple selected objects. Only the active one will be evaluated" +msgstr "Múltiples objectes seleccionats. Només s'avaluarà l'actiu" + + +msgid "Triangulated {} faces" +msgstr "Cares {} triangulades" + + +msgid "Modified: {:+} vertices, {:+} edges, {:+} faces" +msgstr "Modificats: {:+} vèrtexs, {:+} arestes, {:+} cares" + + +msgid "Scaled by {}{}" +msgstr "Escalat per {}{}" + + +msgid "Scaled by {}" +msgstr "Escalat per {}" + + +msgid "Object has zero volume" +msgstr "L'objecte té volum zero" + + +msgid "Object has zero bounds" +msgstr "L'objecte té límits zero" + + +msgid "Report is out of date, re-run check" +msgstr "Informe no actualitzat, torneu a executar la comprovació" + + +msgid "Skipping object {}. No faces selected" +msgstr "Ometent objecte {}. No s'ha seleccionat cap cara" + + +msgid "Skipping some objects. No faces selected. See terminal" +msgstr "Ometent alguns objectes. No s'ha seleccionat cap cara. Veure terminal" + + +msgid "Volume: {}³" +msgstr "Volum: {}3" + + +msgid "Area: {}²" +msgstr "Àrea: {}2" + + +msgid "Non Manifold Edges: {}" +msgstr "Arestes no polivalents: {}" + + +msgid "Bad Contiguous Edges: {}" +msgstr "Arestes contigües incorrectes: {}" + + +msgid "Intersect Face: {}" +msgstr "Intersecar cara: {}" + + +msgid "Zero Faces: {}" +msgstr "Cares zero: {}" + + +msgid "Zero Edges: {}" +msgstr "Arestes zero: {}" + + +msgid "Non-Flat Faces: {}" +msgstr "Cares no planes: {}" + + +msgid "Thin Faces: {}" +msgstr "Cares primes: {}" + + +msgid "Sharp Edge: {}" +msgstr "Cantell agut: {}" + + +msgid "Overhang Face: {}" +msgstr "Cara penjada: {}" + + +msgid ", Clamping {}-Axis" +msgstr ", Constrenyiment {}-Eix" + + +msgid "Align to XY: Skipping object {}. No faces selected" +msgstr "Alinear a XY: ometen objecte {}. No s'han seleccionat cares" + + +msgid "Statistics" +msgstr "Estadístiques" + + +msgctxt "Operator" +msgid "Volume" +msgstr "Volum" + + +msgctxt "Operator" +msgid "Area" +msgstr "Àrea" + + +msgid "Checks" +msgstr "Comprovacions" + + +msgctxt "Operator" +msgid "Solid" +msgstr "Sòlid" + + +msgctxt "Operator" +msgid "Intersections" +msgstr "Interseccions" + + +msgctxt "Operator" +msgid "Degenerate" +msgstr "Degenerar" + + +msgctxt "Operator" +msgid "Distorted" +msgstr "Distorsionat" + + +msgctxt "Operator" +msgid "Edge Sharp" +msgstr "Vora aguda" + + +msgctxt "Operator" +msgid "Overhang" +msgstr "Penjament" + + +msgctxt "Operator" +msgid "Check All" +msgstr "Comprovar tot" + + +msgctxt "Operator" +msgid "Make Manifold" +msgstr "Fer polivalent" + + +msgid "Scale To" +msgstr "Escalar a" + + +msgctxt "Operator" +msgid "Bounds" +msgstr "Límits" + + +msgctxt "Operator" +msgid "Align XY" +msgstr "Alinear XY" + + +msgctxt "Operator" +msgid "Export" +msgstr "Exportar" + + +msgid "Result" +msgstr "Resultat" + + +msgid "Select objects to scatter and a target object" +msgstr "Selecciona els objectes per dispersar i un objecte referent" + + +msgctxt "Operator" +msgid "Blend Pose" +msgstr "Fusionar posa" + + +msgctxt "Operator" +msgid "Select Pose Bones" +msgstr "Seleccionar ossos de posa" + + +msgctxt "Operator" +msgid "Deselect Pose Bones" +msgstr "Desseleccionar ossos de posa" + + +msgctxt "Operator" +msgid "Apply Pose" +msgstr "Aplicar posa" + + +msgctxt "Operator" +msgid "Apply Pose Flipped" +msgstr "Aplicar posa capgirada" + + +msgid "Action %s marked Fake User to prevent loss" +msgstr "L'acció %s s'ha marcat de fals usador per evitar-ne la pèrdua" + + +msgid "Pose Asset copied, use Paste As New Asset in any Asset Browser to paste" +msgstr "S'ha copiat el recurs de posa, per enganxar-lo useu Enganxar com a nou recurs en qualsevol Navegador de recursos" + + +msgid "Pasted %d assets" +msgstr "Enganxats %d recursos" + + +msgid "Converted %d poses to pose assets" +msgstr "Convertides %d poses en recursos de posa" + + +msgid "No keyframes were found for this pose" +msgstr "No s'han trobat fotofites per a aquesta posa" + + +msgid "No animation data found to create asset from" +msgstr "No s'ha trobat cap dada d'animació per a crear-ne el recurs" + + +msgid "Unexpected non-zero user count for the asset, please report this as a bug" +msgstr "Recompte no-zero inesperat d'usadors pel recurs, sisplau informeu-ho com a pífia" + + +msgid "Did not find any assets on clipboard" +msgstr "No s'ha trobat cap recurs al porta-retalls" + + +msgid "Selected asset %s could not be located inside the asset library" +msgstr "El recurs %s seleccionat no s'ha pogut trobar a la biblioteca de recursos" + + +msgid "Selected asset %s is not an Action" +msgstr "El recurs seleccionat %s no és una acció" + + +msgid "Unable to convert to pose assets" +msgstr "No s'ha pogut convertir en recurs de posa" + + +msgid "Selected bones from %s" +msgstr "Ossos seleccionats des de %s" + + +msgid "Deselected bones from %s" +msgstr "Ossos desseleccionats des de %s" + + +msgid "Action %r is not a legacy pose library" +msgstr "L'acció %r no és una biblioteca de posa antiga" + + +msgid "Demo Mode:" +msgstr "Mode demo:" + + +msgid "No configuration found with text or file: %s. Run File -> Demo Mode Setup" +msgstr "No s'ha trobat cap configuració amb el text o el document: %s. Executar document -> Configuració de mode demo" + + +msgid "Save to PO File" +msgstr "Desar a document PO" + + +msgid "Rebuild MO File" +msgstr "Recompilar document MO" + + +msgid "Erase Local MO files" +msgstr "Esborrar documents MO locals" + + +msgid "invoke() needs to be called before execute()" +msgstr "Cal cridar invoke() abans de execute()" + + +msgid " RNA Path: bpy.types." +msgstr " Camí d'ARN: bpy.types." + + +msgid " RNA Context: " +msgstr " Context d'ARN: " + + +msgid "Labels:" +msgstr "Etiquetes:" + + +msgid "Tool Tips:" +msgstr "Pistes d'eina:" + + +msgid "Button Label:" +msgstr "Etiqueta de botó:" + + +msgid "RNA Label:" +msgstr "Etiqueta d'ARN:" + + +msgid "Enum Item Label:" +msgstr "Etiqueta de l'element d'enumeració:" + + +msgid "Button Tip:" +msgstr "Pista del botó:" + + +msgid "RNA Tip:" +msgstr "Pista d'ARN:" + + +msgid "Enum Item Tip:" +msgstr "Pista d'element d'enumeració:" + + +msgid "Could not write to po file ({})" +msgstr "No s'ha pogut escriure al document PO ({})" + + +msgid "WARNING: preferences are lost when add-on is disabled, be sure to use \"Save Persistent\" if you want to keep your settings!" +msgstr "AVÍS: les preferències es perden quan el complement està desactivat, assegureu-vos d'utilitzar «Desar persistent» si voleu mantenir la configuració!" + + +msgctxt "Operator" +msgid "Save Persistent To..." +msgstr "Desar persistent a..." + + +msgctxt "Operator" +msgid "Load Persistent From..." +msgstr "Carregar persistent des de..." + + +msgctxt "Operator" +msgid "Load" +msgstr "Carregar" + + +msgid "No add-on module given!" +msgstr "No s'ha donat cap mòdul de complement!" + + +msgid "Add-on '{}' not found!" +msgstr "No s'ha trobat el complement '{}'!" + + +msgid "Info written to {} text datablock!" +msgstr "Info escrita al bloc de dades de text {}!" + + +msgid "Message extraction process failed!" +msgstr "El procés d'extracció de missatge ha fallat!" + + +msgid "Could not init languages data!" +msgstr "No s'han pogut inicialitzar les dades de llengües!" + + +msgid "Please edit the preferences of the UI Translate add-on" +msgstr "Editeu les preferències del complement de traducció de la IU" + + +msgctxt "Operator" +msgid "Init Settings" +msgstr "Paràmetres d'inici" + + +msgctxt "Operator" +msgid "Reset Settings" +msgstr "Reiniciar configuració" + + +msgctxt "Operator" +msgid "Deselect All" +msgstr "Desselecciona-ho tot" + + +msgctxt "Operator" +msgid "Update Branches" +msgstr "Actualitzar Branches" + + +msgctxt "Operator" +msgid "Update Trunk" +msgstr "Actualitzar Trunk" + + +msgctxt "Operator" +msgid "Clean up Branches" +msgstr "Netejar Branches" + + +msgctxt "Operator" +msgid "Statistics" +msgstr "Estadístiques" + + +msgid "Add-ons:" +msgstr "Complements:" + + +msgctxt "Operator" +msgid "Refresh I18n Data..." +msgstr "Refrescar dades de l'I18n..." + + +msgctxt "Operator" +msgid "Export PO..." +msgstr "Exportar PO..." + + +msgctxt "Operator" +msgid "Import PO..." +msgstr "Importar PO..." + + +msgctxt "Operator" +msgid "Invert Selection" +msgstr "Invertir selecció" + + +msgid "Tracking" +msgstr "Tràveling" + + +msgid "Positional" +msgstr "Posicional" + + +msgid "Controllers" +msgstr "Controladors" + + +msgid "Custom Overlays" +msgstr "Superposicions personalitzades" + + +msgid "Object Extras" +msgstr "Objectes extres" + + +msgid "Controller Style" +msgstr "Estil de controlador" + + +msgid "Gamepad" +msgstr "Gamepad" + + +msgid "Extensions" +msgstr "Extensions" + + +msgid "HP Reverb G2" +msgstr "HP Reverb G2" + + +msgid "HTC Vive Cosmos" +msgstr "HTC Vive Cosmos" + + +msgid "HTC Vive Focus" +msgstr "HTC Vive Focus" + + +msgid "Huawei" +msgstr "Huawei" + + +msgid "Note:" +msgstr "Nota:" + + +msgid "Settings here may have a significant" +msgstr "Aquí els paràmetres poden tenir un impacte" + + +msgid "performance impact!" +msgstr "significant en el rendiment!" + + +msgid "Built without VR/OpenXR features" +msgstr "Programat sense funcionalitats VR/OpenXR" + + +msgid "Start VR Session" +msgstr "Iniciar sessió d'RV" + + +msgid "Stop VR Session" +msgstr "Acabar sessió d'RV" + + +msgid "* Missing Paths *" +msgstr "* Camins perduts *" + + +msgctxt "Operator" +msgid "Import..." +msgstr "Importar..." + + +msgctxt "Operator" +msgid "Export..." +msgstr "Exportar..." + + +msgctxt "Operator" +msgid "Restore" +msgstr "Restaurar" + + +msgctxt "WindowManager" +msgid "Add New" +msgstr "Afegir nou" + + +msgid "%s (Global)" +msgstr "%s (Global)" + + +msgctxt "Operator" +msgid "New" +msgstr "Nou" + + +msgctxt "Operator" +msgid "Edit Value" +msgstr "Editar valor" + + +msgid "API Defined" +msgstr "Definit per API" + + +msgid "Select with Mouse Button" +msgstr "Seleccionar amb botó del ratolí" + + +msgid "3D View" +msgstr "Vista 3D" + + +msgid "Grave Accent / Tilde Action" +msgstr "Accent obert / Acció de Grau" + + +msgid "Middle Mouse Action" +msgstr "Acció del mig del ratolí" + + +msgid "Alt Middle Mouse Drag Action" +msgstr "Alt acció d'arrossegament de ratolí del mig" + + +msgid "Activate Gizmo Event" +msgstr "Activar esdeveniment de flòstic" + + +msgid "Torus" +msgstr "Tor" + + +msgid "Removed %d empty and/or fake-user only Actions" +msgstr "S'han suprimit %d accions buides i/o d'usador fals" + + +msgid "Nothing to bake" +msgstr "Res a precuinar" + + +msgid "Complete report available on '%s' text datablock" +msgstr "Informe complet disponible al bloc de dades de text '%s'" + + +msgid "Could not find material or light using Shader Node Tree - %s" +msgstr "No s'ha pogut trobar material o llum usant l'arbre de nodes aspector - %s" + + +msgid "Could not find scene using Compositor Node Tree - %s" +msgstr "No s'ha pogut trobar l'escena usant l'arbre de nodes del compositador - %s" + + +msgid "This asset is stored in the current blend file" +msgstr "Aquest recurs s'emmagatzema al document blend actual" + + +msgid "Unable to find any running process" +msgstr "No s'ha pogut trobar cap procés en execució" + + +msgid "Blender sub-process exited with error code %d" +msgstr "El subprocés de Blender ha finalitzat amb el codi d'error %d" + + +msgid "Selection pair not found" +msgstr "No s'ha trobat parell de selecció" + + +msgid "No single next item found" +msgstr "No s'ha trobat cap element següent" + + +msgid "Next element is hidden" +msgstr "L'element següent està ocult" + + +msgid "Last selected not found" +msgstr "No s'ha trobat l'últim seleccionat" + + +msgid "Identified %d problematic tracks" +msgstr "S'han identificat %d rastres problemàtics" + + +msgid "No usable tracks selected" +msgstr "No hi ha rastres usables seleccionats" + + +msgid "Motion Tracking constraint to be converted not found" +msgstr "No s'ha trobat la restricció de tràveling a convertir" + + +msgid "Movie clip to use tracking data from isn't set" +msgstr "El clip de pel·lícula del qual s'han d'extreure les dades de rastreig no està fixat" + + +msgid "Motion Tracking object not found" +msgstr "No s'ha trobat l'objecte tràveling" + + +msgid "Some strings were fixed, don't forget to save the .blend file to keep those changes" +msgstr "S'han corregit algunes cadenes, no oblideu de desar el document .blend per a mantenir aquests canvis" + + +msgid "Previews generation process failed for file '%s'!" +msgstr "Ha fallat el procés de generació de previsualitzacions per al document '%s'!" + + +msgid "Previews clear process failed for file '%s'!" +msgstr "Ha fallat el procés de descartar previsualitzacions per al document '%s'!" + + +msgid "No active camera in the scene" +msgstr "No hi ha càmera activa a l'escena" + + +msgid "Unexpected modifier type: " +msgstr "Tipus de modificador inesperat: " + + +msgid "Target object not specified" +msgstr "No s'ha especificat l'objecte referent" + + +msgid "GeometryNodes" +msgstr "NodesGeomètrics" + + +msgid "Image path not set" +msgstr "No s'ha establert el camí de la imatge" + + +msgid "Image path %r not found, image may be packed or unsaved" +msgstr "No s'ha trobat el camí de la imatge %r, la imatge pot estar empaquetada o sense desar" + + +msgid "Image is packed, unpack before editing" +msgstr "La imatge està empaquetada, desempaqueteu abans d'editar" + + +msgid "Could not make new image" +msgstr "No s'ha pogut crear una imatge nova" + + +msgid "Image editor could not be launched, ensure that the path in User Preferences > File is valid, and Blender has rights to launch it" +msgstr "No s'ha pogut iniciar l'editor d'imatges, assegureu-vos que el camí de Preferències d'usuària > Document és vàlid, i que el Blender té drets per iniciar-lo" + + +msgid "Context incorrect, image not found" +msgstr "Context incorrecte, imatge no trobada" + + +msgid "Could not find image '%s'" +msgstr "No s'ha pogut trobar la imatge '%s'" + + +msgid "%d mesh(es) with no active UV layer, %d duplicates found in %d mesh(es), mirror may be incomplete" +msgstr "%d malla/es sense capa UV activa, %d duplicat(s) trobat(s) en %d malla/es, l'emmirallat pot estar incomplet" + + +msgid "%d mesh(es) with no active UV layer" +msgstr "%d malla/es sense capa UV activa" + + +msgid "%d duplicates found in %d mesh(es), mirror may be incomplete" +msgstr "%d duplicat(s) trobat(s) en %d malla/es, l'emmirallat pot estar incomplet" + + +msgid "Node has no attribute " +msgstr "El node no té atribut " + + +msgid "No camera found" +msgstr "No s'ha trobat cap càmera" + + +msgid "Other object is not a mesh" +msgstr "L'altre objecte no és una malla" + + +msgid "Other object has no shape key" +msgstr "L'altre objecte no té cap morfofita" + + +msgid "Object: %s, Mesh: '%s' has no UVs" +msgstr "Objecte: %s, Malla: «%s» no té UVs" + + +msgid "Active camera is not in this scene" +msgstr "La càmera activa no està en aquesta escena" + + +msgid "Skipping '%s', not a mesh" +msgstr "S'omet '%s', no és una malla" + + +msgid "Skipping '%s', vertex count differs" +msgstr "S'omet '%s', el nombre de vèrtexs difereix" + + +msgid "Expected one other selected mesh object to copy from" +msgstr "S'esperava un altre objecte de malla seleccionat des d'on copiar" + + +msgid "No animation data to convert on object: %r" +msgstr "No hi ha dades d'animació per convertir a l'objecte: %r" + + +msgid "Modifiers cannot be added to object: " +msgstr "No es poden afegir modificadors a l'objecte: " + + +msgid "Object '%r' already has '%r' F-Curve(s). Remove these before trying again" +msgstr "L'objecte '%r' ja té '%r' corba/es-F. Suprimiu-los abans de tornar-ho a provar" + + +msgid "Object: %s, Mesh: '%s' has %d loops (for %d faces), expected %d" +msgstr "Objecte: %s, Malla: '%s' té %d bucles (per a %d cares), se n'esperava %d" + + +msgid "Could not add a new UV map to object '%s' (Mesh '%s')" +msgstr "No s'ha pogut afegir un mapa UV nou a l'objecte '%s' (Malla '%s')" + + +msgid "No objects with bound-box selected" +msgstr "No hi ha cap objecte seleccionat amb la capsa contenidora" + + +msgid "Select at least one mesh object" +msgstr "Seleccionar almenys un objecte malla" + + +msgid "Active object is not a mesh" +msgstr "L'objecte actiu no és una malla" + + +msgid "Select two mesh objects" +msgstr "Seleccionar dos objectes malla" + + +msgid "Built without Fluid modifier" +msgstr "Construït sense modificador fluid" + + +msgid "Object %r already has a particle system" +msgstr "L'objecte %r ja té un sistema de partícules" + + +msgid "New Preset" +msgstr "Nou predefinit" + + +msgid "Unknown file type: %r" +msgstr "Tipus de document desconegut: %r" + + +msgid "Failed to create presets path" +msgstr "No s'ha pogut crear el camí dels predefinits" + + +msgid "Unable to remove default presets" +msgstr "No s'han pogut eliminar els predefinits predeterminats" + + +msgid "Unable to remove preset: %r" +msgstr "No s'ha pogut eliminar el predefinit: %r" + + +msgid "Failed to execute the preset: " +msgstr "Ha fallat l'execució del predefinit: " + + +msgid "No other objects selected" +msgstr "No hi ha altres objectes seleccionats" + + +msgid "File %r not found" +msgstr "No s'ha trobat el document %r" + + +msgid "" +"Couldn't run external animation player with command %r\n" +"%s" +msgstr "" +"No s'ha pogut executar el reproductor d'animació extern amb l'ordre %r\n" +"%s" + + +msgid "Added fade animation to %d %s" +msgstr "S'ha afegit l'animació d'esvaïment a %d %s" + + +msgid "Select 2 sound strips" +msgstr "Seleccionar 2 segments de so" + + +msgid "The selected strips don't overlap" +msgstr "Els segments seleccionats no se superposen" + + +msgid "No sequences selected" +msgstr "No hi ha seqüències seleccionades" + + +msgid "Current frame not within strip framerange" +msgstr "El fotograma actual no està dins del rang dels segments" + + +msgid "Reload Start-Up file to restore settings" +msgstr "Recarregar document d'inici per restaurar la configuració" + + +msgid "Filepath not set" +msgstr "Camí de document sense definir" + + +msgid "Failed to get themes path" +msgstr "Ha fallat l'obtenció del camí dels temes" + + +msgid "Failed to get add-ons path" +msgstr "Ha fallat l'obtenció del camí dels complements" + + +msgid "Modules Installed (%s) from %r into %r" +msgstr "Mòduls instal·lats (%s) de %r a %r" + + +msgid "Add-on path %r could not be found" +msgstr "No s'ha trobat el camí del complement %r" + + +msgid "Expected a zip-file %r" +msgstr "S'esperava un document zip %r" + + +msgid "Template Installed (%s) from %r into %r" +msgstr "Plantilla instal·lada (%s) de %r a %r" + + +msgid "Failed to create Studio Light path" +msgstr "No s'ha pogut crear el camí de lllum d'estudi" + + +msgid "StudioLight Installed %r into %r" +msgstr "La llum d'estudi ha instal·lat %r a %r" + + +msgid "Failed to get Studio Light path" +msgstr "No s'ha trobat el camí de llum d'estudi" + + +msgid "Warning, file already exists. Overwrite existing file?" +msgstr "Avís, el document ja existeix. Voleu sobreescriure el document existent?" + + +msgid "Installing keymap failed: %s" +msgstr "Ha fallat la instal·lació del teclari: %s" + + +msgid "This script was written Blender version %d.%d.%d and might not function (correctly), though it is enabled" +msgstr "Aquest protocol es va escriure per a la versió del Blender %d.%d.%d i podria no funcionar (correctament), encara que estigui habilitat" + + +msgid "File already installed to %r" +msgstr "Document ja instal·lat a %r" + + +msgid "Source file is in the add-on search path: %r" +msgstr "El document d'origen és al camí de cerca de complements: %r" + + +msgid "Remove Add-on: %r?" +msgstr "Voleu suprimir el complement: %r?" + + +msgid "Path: %r" +msgstr "Camí: %r" + + +msgid "Active face must be a quad" +msgstr "La cara activa ha de ser un quad" + + +msgid "Active face not selected" +msgstr "Cara activa no seleccionada" + + +msgid "No active face" +msgstr "No hi ha cap cara activa" + + +msgid "No mesh object" +msgstr "No hi ha cap objecte malla" + + +msgid "See OperatorList.txt text block" +msgstr "Vegeu bloc de text OperatorList.txt" + + +msgid "Renamed %d of %d %s" +msgstr "Reanomenat %d de %d %s" + + +msgid "Shortcuts" +msgstr "Dreceres" + + +msgid "Theme" +msgstr "Tema" + + +msgctxt "Operator" +msgid "Open..." +msgstr "Obrir..." + + +msgid "Blender is free software" +msgstr "El Blender és programari lliure" + + +msgid "Licensed under the GNU General Public License" +msgstr "Llicenciat sota la Llicència Pública General GNU" + + +msgid "%s: %s" +msgstr "%s: %s" + + +msgid "Nothing to operate on: %s[ ].%s" +msgstr "No hi ha res sobre què operar: %s[ ].%s" + + +msgid "File path was not set" +msgstr "Camí de document no definit" + + +msgid "File '%s' not found" +msgstr "No s'ha trobat el document '%s'" + + +msgid "No reference available %r, Update info in 'rna_manual_reference.py' or callback to bpy.utils.manual_map()" +msgstr "Sense referència disponible %r, Actualitzeu la informació a 'rna_manual_reference.py' o torneu a cridar bpy.utils.manual_map()" + + +msgid "Direct execution not supported" +msgstr "Execució directa no admesa" + + +msgid "Cannot edit properties from override data" +msgstr "No es poden editar les propietats de les dades de sobreseïment" + + +msgid "Data path not set" +msgstr "Camí de dades no definit" + + +msgid "Properties from override data can not be edited" +msgstr "No es poden editar les propietats de les dades de sobreseïment" + + +msgid "Cannot add properties to override data" +msgstr "No s'han pogut afegir propietats per sobreseure dades" + + +msgid "Cannot remove properties from override data" +msgstr "No es poden eliminar propietats des de les dades de sobreseïment" + + +msgid "Tool %r not found for space %r" +msgstr "No s'ha trobat l'eina %r per a l'espai %r" + + +msgid "Select With" +msgstr "Seleccionar amb" + + +msgid "Spacebar" +msgstr "Barra d'espai" + + +msgctxt "Operator" +msgid "Save New Settings" +msgstr "Desar nova configuració" + + +msgctxt "Operator" +msgid "Next" +msgstr "Següent" + + +msgid "Getting Started" +msgstr "S'està iniciant" + + +msgctxt "Operator" +msgid "Release Notes" +msgstr "Notes de la versió" + + +msgctxt "Operator" +msgid "Development Fund" +msgstr "Fons de Desenvolupament" + + +msgctxt "Operator" +msgid "Credits" +msgstr "Crèdits" + + +msgctxt "Operator" +msgid "License" +msgstr "Llicència" + + +msgctxt "Operator" +msgid "Blender Website" +msgstr "Lloc web del Blender" + + +msgctxt "Operator" +msgid "Blender Store" +msgstr "Botiga de Blender" + + +msgctxt "Operator" +msgid "Link..." +msgstr "Enllaçar..." + + +msgctxt "Operator" +msgid "Append..." +msgstr "Incorporar..." + + +msgid "Assign" +msgstr "Assignar" + + +msgid "Operator not found: bpy.ops.%s" +msgstr "Operador no trobat: bpy.ops.%s" + + +msgid "Bug" +msgstr "Pífia" + + +msgid "Report a bug with pre-filled version information" +msgstr "[Bug]: Informa d'una pífia amb la informació preomplerta de la versió" + + +msgid "Add-on Bug" +msgstr "Pífia de complement" + + +msgid "Report a bug in an add-on" +msgstr "Informa d'una pífia en un complement" + + +msgid "Release Notes" +msgstr "Notes de la versió" + + +msgid "Read about what's new in this version of Blender" +msgstr "Llegiu què hi ha de nou en aquesta versió de Blender" + + +msgid "User Manual" +msgstr "Manual d'usuària" + + +msgid "The reference manual for this version of Blender" +msgstr "El manual de referència per a aquesta versió de Blender" + + +msgid "Python API Reference" +msgstr "Referència de l'API de Python" + + +msgid "The API reference manual for this version of Blender" +msgstr "El manual de referència de l'API per a aquesta versió de Blender" + + +msgid "Development Fund" +msgstr "Fons de Desenvolupament" + + +msgid "The donation program to support maintenance and improvements" +msgstr "Programa de donacions per donar suport a manteniment i millores" + + +msgid "blender.org" +msgstr "blender.org" + + +msgid "Blender's official web-site" +msgstr "Lloc web oficial de Blender" + + +msgid "Credits" +msgstr "Crèdits" + + +msgid "Lists committers to Blender's source code" +msgstr "Llista els que aporten al codi font del Blender" + + +msgid "Fallback Tool" +msgstr "Eina alternativa" + + +msgid "Mesh(es)" +msgstr "Malla/es" + + +msgid "Curve(s)" +msgstr "Corba/es" + + +msgid "Metaball(s)" +msgstr "Metabola/es" + + +msgid "Volume(s)" +msgstr "Volum(s)" + + +msgid "Grease Pencil(s)" +msgstr "Llapis de cera" + + +msgid "Armature(s)" +msgstr "Esquelet(s)" + + +msgid "Lattice(s)" +msgstr "Retícula/es" + + +msgid "Light(s)" +msgstr "Llum(s)" + + +msgid "Light Probe(s)" +msgstr "Sonda/es de llum" + + +msgid "Camera(s)" +msgstr "Càmera/es" + + +msgid "Speaker(s)" +msgstr "Altaveu(s)" + + +msgctxt "Operator" +msgid "Manual" +msgstr "Manual" + + +msgid "Non boolean value found: %s[ ].%s" +msgstr "Valor no booleà trobat: %s[ ].%s" + + +msgid "Python evaluation failed: " +msgstr "Avaluació de Python fallida: " + + +msgid "Failed to assign value: " +msgstr "Assignació de valor fallida: " + + +msgid "Strip(s)" +msgstr "Segment(s)" + + +msgid "Object(s)" +msgstr "Objecte(s)" + + +msgid "Characters" +msgstr "Caràcters" + + +msgid "Strip From" +msgstr "Segment des de" + + +msgid "Rename %d %s" +msgstr "Reanomenar %d %s" + + +msgid "Date: %s %s" +msgstr "Data: %s %s" + + +msgid "Hash: %s" +msgstr "Hash: %s" + + +msgid "Branch: %s" +msgstr "Branca: %s" + + +msgid " (delta)" +msgstr " (delta)" + + +msgid "Node(s)" +msgstr "Node(s)" + + +msgid "Collection(s)" +msgstr "Col·lecció/ons" + + +msgid "Invalid regular expression (find): " +msgstr "Expressió regular no vàlida (trobar): " + + +msgctxt "Operator" +msgid "Load %d.%d Settings" +msgstr "Carregar configuració de %d.%d" + + +msgid "Windowing Environment: %s" +msgstr "Entorn de finestres: %s" + + +msgid "Type \"%s\" can not be found" +msgstr "No s'ha trobat el tipus \"%s\"" + + +msgid "Material(s)" +msgstr "Material(s)" + + +msgid "Invalid regular expression (replace): " +msgstr "Expressió regular no vàlida (reemplaçar): " + + +msgid "Bone(s)" +msgstr "Os(sos)" + + +msgid "Action(s)" +msgstr "Acció/ons" + + +msgid "Edit Bone(s)" +msgstr "Editar os(sos)" + + +msgid "Unknown" +msgstr "Desconegut" + + +msgid "Mix Vector" +msgstr "Vector de mescla" + + +msgid "Calculation Range" +msgstr "Interval de càlcul" + + +msgctxt "Operator" +msgid "Update All Paths" +msgstr "Actualitzar tots els camins" + + +msgid "Frame Numbers" +msgstr "Números de fotogrames" + + +msgid "Keyframe Numbers" +msgstr "Números de fotofites" + + +msgid "Frame Range Before" +msgstr "Rang de fotogrames anterior" + + +msgid "After" +msgstr "Després" + + +msgid "Cached Range" +msgstr "Interval en memòria cau" + + +msgctxt "Operator" +msgid "Update Path" +msgstr "Actualitzar camí" + + +msgid "Nothing to show yet..." +msgstr "Res a mostrar de moment..." + + +msgctxt "Operator" +msgid "Calculate..." +msgstr "Calcular..." + + +msgid "+ Non-Grouped Keyframes" +msgstr "+ fotofites no agrupades" + + +msgid "Frame Range Start" +msgstr "Inici d'interval del fotogrames" + + +msgid "Collection Mask" +msgstr "Màscara de col·leccions" + + +msgctxt "Operator" +msgid "Add Object Constraint" +msgstr "Afegir restricció d'objecte" + + +msgctxt "Operator" +msgid "Add Bone Constraint" +msgstr "Afegir restricció d'os" + + +msgctxt "Operator" +msgid "Animate Path" +msgstr "Animar trajecte" + + +msgid "Order" +msgstr "Ordre" + + +msgctxt "Constraint" +msgid "Mix" +msgstr "Mesclar" + + +msgid "Clamp Region" +msgstr "Regió de constrenyiment" + + +msgid "Volume Min" +msgstr "Mín volum" + + +msgid "Min/Max" +msgstr "Mín/màx" + + +msgid "Extrapolate" +msgstr "Extrapolar" + + +msgid "Rotation Range" +msgstr "Interval de rotació" + + msgid "Blender 2.6 doesn't support python constraints yet" msgstr "Blender 2.6 encara no admet restriccions de python" +msgctxt "Operator" +msgid "Add Target Bone" +msgstr "Afegir os referent" + + +msgid "Z Min" +msgstr "Z mín" + + +msgid "X Source Axis" +msgstr "Eix de font X" + + +msgid "Y Source Axis" +msgstr "Eix de font Y" + + +msgid "Z Source Axis" +msgstr "Eix de font Z" + + +msgid "Align to Normal" +msgstr "Alinear a normal" + + +msgid "Pivot Offset" +msgstr "Desplaçament de pivot" + + +msgid "No target bones added" +msgstr "No s'han afegit ossos referents" + + +msgid "Weight Position" +msgstr "Ubicació de pesos" + + +msgid "Layers:" +msgstr "Capes:" + + +msgid "Protected Layers:" +msgstr "Capes protegides:" + + +msgid "Group Colors" +msgstr "Agrupar colors" + + +msgid "Axes" +msgstr "Eixos" + + +msgctxt "Operator" +msgid "Remove" +msgstr "Eliminar" + + +msgid "Damping Max" +msgstr "Màx. esmorteïment" + + +msgid "Damping Epsilon" +msgstr "Esmorteïment d'èpsilon" + + +msgid "Steps Min" +msgstr "Passes mín" + + +msgid "Display Size X" +msgstr "Mida de pantalla X" + + +msgid "Curve In X" +msgstr "Corba en X" + + +msgid "Curve Out X" +msgstr "Corba enfora X" + + +msgid "Out" +msgstr "Enfora" + + +msgctxt "Armature" +msgid "Out" +msgstr "Enfora" + + +msgid "Start Handle" +msgstr "Iniciar nansa" + + +msgctxt "Armature" +msgid "Ease" +msgstr "Gradualitzar" + + +msgid "End Handle" +msgstr "Cua de nansa" + + +msgid "Lock IK X" +msgstr "Bloquejar CI X" + + +msgid "Stiffness X" +msgstr "Rigidesa X" + + +msgid "Envelope Distance" +msgstr "Distància de funda" + + +msgid "Envelope Weight" +msgstr "Pes de funda" + + +msgid "Envelope Multiply" +msgstr "Multiplicació de funda" + + +msgid "Radius Head" +msgstr "Cap del radi" + + +msgid "Override Transform" +msgstr "Transformació sobreseïment" + + +msgid "Control Rotation" +msgstr "Controlar rotació" + + +msgid "Focus on Object" +msgstr "Focus sobre objecte" + + +msgctxt "Operator" +msgid "Add Image" +msgstr "Afegir imatge" + + +msgid "Passepartout" +msgstr "Passepartout" + + +msgid "Golden" +msgstr "Daurat" + + +msgid "Triangle A" +msgstr "Triangle A" + + +msgid "Triangle B" +msgstr "Triangle B" + + +msgid "Harmony" +msgstr "Harmonia" + + +msgid "Pole Merge Angle Start" +msgstr "Inici de l'angle de fusió de pol" + + +msgid "Focus on Bone" +msgstr "Focus sobre os" + + +msgid "Not Set" +msgstr "No establert" + + +msgid "Views Format:" +msgstr "Format de visualitzacions:" + + +msgid "Latitude Min" +msgstr "Latitud mín" + + +msgid "Longitude Min" +msgstr "Longitud mín" + + +msgid "K0" +msgstr "K0" + + +msgid "Resolution Preview U" +msgstr "Resolució de previsualització U" + + +msgid "Render U" +msgstr "Revelat U" + + +msgid "Factor Start" +msgstr "Inici de factor" + + +msgid "Mapping Start" +msgstr "Inici de mapejat" + + +msgid "Bold & Italic" +msgstr "Negreta i cursiva" + + +msgid "Small Caps Scale" +msgstr "Escala de versaletes" + + +msgid "Character Spacing" +msgstr "Espaiat de caràcters" + + +msgid "Word Spacing" +msgstr "Espaiat de paraules" + + +msgid "Line Spacing" +msgstr "Espaiat de línies" + + +msgid "Offset X" +msgstr "Desplaçament X" + + +msgid "Endpoint" +msgstr "Punta final" + + +msgid "Interpolation Tilt" +msgstr "Inclinació de la interpolació" + + +msgctxt "Operator" +msgid "Custom..." +msgstr "Personalitzat..." + + +msgid "Only Axis Aligned" +msgstr "Sols alineat a eix" + + +msgctxt "Operator" +msgid "Show All" +msgstr "Mostrar-ho tot" + + +msgctxt "Operator" +msgid "Lock All" +msgstr "Bloquejar-ho tot" + + +msgctxt "Operator" +msgid "Unlock All" +msgstr "Desblocar-ho tot" + + +msgid "Autolock Inactive Layers" +msgstr "Bloqueja automàticament les capes inactives" + + +msgid "Before" +msgstr "Abans" + + +msgid "View in Render" +msgstr "Visualitzar en revelat" + + +msgid "Thickness Scale" +msgstr "Escala de gruix" + + +msgctxt "Operator" +msgid "Duplicate Empty Keyframes" +msgstr "Duplicar fotofites buides" + + +msgctxt "Operator" +msgid "Hide Others" +msgstr "Amagar les altres" + + +msgctxt "Operator" +msgid "Merge All" +msgstr "Fusionar-ho tot" + + +msgctxt "Operator" +msgid "Copy Layer to Selected" +msgstr "Copiar capa a selecció" + + +msgctxt "Operator" +msgid "Copy All Layers to Selected" +msgstr "Copiar totes les capes a selecció" + + +msgctxt "Operator" +msgid "New Layer" +msgstr "Capa nova" + + +msgctxt "Operator" +msgid "Assign to Active Group" +msgstr "Assignar a grup actiu" + + +msgctxt "Operator" +msgid "Remove from Active Group" +msgstr "Suprimir de grup actiu" + + +msgctxt "Operator" +msgid "Select Points" +msgstr "Seleccionar punts" + + +msgctxt "Operator" +msgid "Deselect Points" +msgstr "Desseleccionar punts" + + +msgid "Keyframes Before" +msgstr "Fotogrames anteriors" + + +msgid "Keyframes After" +msgstr "Fotogrames posteriors" + + +msgctxt "Operator" +msgid "Remove Active Group" +msgstr "Eliminar grup actiu" + + +msgctxt "Operator" +msgid "Remove All Groups" +msgstr "Eliminar tots els grups" + + +msgid "Interpolation U" +msgstr "Interpolació U" + + +msgid "Clipping Start" +msgstr "Inici de segat" + + +msgid "Clipping Offset" +msgstr "Desplaçament del segat" + + +msgid "Bleed Bias" +msgstr "Biaix de sobreeixit" + + +msgid "Arrow Size" +msgstr "Mida de fletxa" + + +msgctxt "Operator" +msgid "Lock Invert All" +msgstr "Bloquejar invertir tot" + + +msgctxt "Operator" +msgid "Delete All Shape Keys" +msgstr "Suprimir totes les morfofites" + + +msgctxt "Operator" +msgid "Apply All Shape Keys" +msgstr "Aplicar totes les morfofites" + + +msgid "Name collisions: , " +msgstr "Anomeneu col·lisions: , " + + +msgctxt "Operator" +msgid "Sort by Name" +msgstr "Ordenar per nom" + + +msgctxt "Operator" +msgid "Sort by Bone Hierarchy" +msgstr "Ordenar jerarquia d'ossos" + + +msgctxt "Operator" +msgid "Mirror Vertex Group (Topology)" +msgstr "Emmirallar grup de vèrtexs (topologia)" + + +msgctxt "Operator" +msgid "Remove from All Groups" +msgstr "Suprimir de tots els grups" + + +msgctxt "Operator" +msgid "Clear Active Group" +msgstr "Descartar grup actiu" + + +msgctxt "Operator" +msgid "Delete All Unlocked Groups" +msgstr "Suprimir tots els grups desbloquejats" + + +msgctxt "Operator" +msgid "Delete All Groups" +msgstr "Suprimir tots els grups" + + +msgctxt "Operator" +msgid "New Shape from Mix" +msgstr "Nova morfofita de síntesi" + + +msgctxt "Operator" +msgid "Mirror Shape Key (Topology)" +msgstr "Emmirallar morfofita (topologia)" + + +msgctxt "Operator" +msgid "Move to Top" +msgstr "Moure al capdamunt" + + +msgctxt "Operator" +msgid "Move to Bottom" +msgstr "Moure al capdavall" + + +msgid "Preserve" +msgstr "Conservar" + + +msgid "Name collisions: " +msgstr "Anomeneu col·lisions: " + + +msgid "Resolution Viewport" +msgstr "Resolució de mirador" + + +msgid "Influence Threshold" +msgstr "Llindar d'influència" + + +msgid "Update on Edit" +msgstr "Actualitzar en editar" + + +msgid "Distance Reference" +msgstr "Referència de distància" + + +msgid "Angle Outer" +msgstr "Angle enfora" + + +msgid "Detail" +msgstr "Detall" + + +msgid "Failed to load volume:" +msgstr "No s'ha pogut carregar el volum:" + + +msgid "Negation" +msgstr "Negació" + + +msgid "Combination" +msgstr "Combinació" + + +msgid "Condition" +msgstr "Condició" + + +msgid "Line Set Collection" +msgstr "Col·lecció de jocs de línies" + + +msgid "Base Transparency" +msgstr "Transparència base" + + +msgid "Base Thickness" +msgstr "Gruix base" + + +msgid "Spacing Along Stroke" +msgstr "Espaiat al llarg del traç" + + +msgctxt "Operator" +msgid "Go to Linestyle Textures Properties" +msgstr "Ves a les propietats de textures d'estil de línia" + + +msgid "Priority" +msgstr "Prioritat" + + +msgid "Select by" +msgstr "Seleccionar per" + + +msgid "Image Border" +msgstr "Límit d'imatge" + + +msgid "Angle Min" +msgstr "Angle mín" + + +msgid "Curvature Min" +msgstr "Curvatura mín" + + +msgid "Draw:" +msgstr "Dibuixar:" + + +msgid "Stroke Placement:" +msgstr "Ubicació de traç:" + + +msgctxt "Operator" +msgid "Selection to Grid" +msgstr "Selecció a graella" + + +msgctxt "Operator" +msgid "Cursor to Selected" +msgstr "Cursor a selecció" + + +msgctxt "Operator" +msgid "Cursor to World Origin" +msgstr "Cursor a origen de món" + + +msgctxt "Operator" +msgid "Cursor to Grid" +msgstr "Cursor a la graella" + + +msgctxt "Operator" +msgid "Delete Active Keyframes (All Layers)" +msgstr "Suprimir fotofites actives (totes les capes)" + + +msgctxt "Operator" +msgid "Delete Loose Points" +msgstr "Suprimir punts solts" + + +msgctxt "Operator" +msgid "Delete Duplicate Frames" +msgstr "Suprimir fotogrames duplicats" + + +msgctxt "Operator" +msgid "Recalculate Geometry" +msgstr "Recalcular geometria" + + +msgid "Show Only on Keyframed" +msgstr "Mostrar sols amb fotofites" + + +msgctxt "Operator" +msgid "Poly" +msgstr "Polígon" + + +msgctxt "Operator" +msgid "Selection to Cursor" +msgstr "Selecció a cursor" + + +msgctxt "Operator" +msgid "Selection to Cursor (Keep Offset)" +msgstr "Selecció a cursor (mantenir desplaçament)" + + +msgctxt "Operator" +msgid "Delete Active Keyframe (Active Layer)" +msgstr "Suprimir fotofita activa (capa activa)" + + +msgctxt "Operator" +msgid "Boundary Strokes" +msgstr "Traços de límit" + + +msgctxt "Operator" +msgid "Boundary Strokes all Frames" +msgstr "Traços de límit de tots els fotogrames" + + +msgid "Data Source:" +msgstr "Font de dades:" + + +msgid "No annotation source" +msgstr "Cap font d'anotacions" + + +msgid "No layers to add" +msgstr "Sense capes a afegir" + + +msgid "Channel Colors are disabled in Animation preferences" +msgstr "Els colors del canal estan desactivats a les preferències d'animació" + + +msgid "Display Cursor" +msgstr "Mostrar cursor" + + +msgid "Show Fill Color While Drawing" +msgstr "Mostrar color d'emplenat en dibuixar" + + +msgid "Cursor Color" +msgstr "Color de cursor" + + +msgid "Lock Frame" +msgstr "Bloquejar fotograma" + + +msgid "Inverse Color" +msgstr "Color invers" + + +msgid "Unlocked" +msgstr "Desblocat" + + +msgid "Frame: %d (%s)" +msgstr "Fotograma: %d (%s)" + + +msgid "Stroke Color" +msgstr "Color de traç" + + +msgctxt "Operator" +msgid "Re-Key Shape Points" +msgstr "Refitar punts de forma" + + +msgctxt "Operator" +msgid "Reset Feather Animation" +msgstr "Reiniciar animació de vora difusa" + + +msgid "Parent:" +msgstr "Pare:" + + +msgid "Transform:" +msgstr "Transformar:" + + +msgid "Spline:" +msgstr "Spline:" + + +msgid "Parenting:" +msgstr "Paternitat:" + + +msgctxt "Operator" +msgid "Parent" +msgstr "Fer pare" + + +msgctxt "Operator" +msgid "Clear" +msgstr "Descartar" + + +msgid "Animation:" +msgstr "Animació:" + + +msgctxt "Operator" +msgid "Insert Key" +msgstr "Inserir fita" + + +msgctxt "Operator" +msgid "Clear Key" +msgstr "Descartar fita" + + +msgctxt "Operator" +msgid "Square" +msgstr "Quadrat" + + +msgid "Holes" +msgstr "Forats" + + +msgctxt "Operator" +msgid "Scale Feather" +msgstr "Escalar vora difusa" + + +msgctxt "Operator" +msgid "Hide Unselected" +msgstr "Ocultar no seleccionats" + + +msgctxt "Operator" +msgid "All" +msgstr "Tots" + + +msgctxt "Operator" +msgid "None" +msgstr "Cap" + + +msgctxt "Operator" +msgid "Invert" +msgstr "Invertir" + + +msgid "Material Mask" +msgstr "Màscara de material" + + +msgid "Custom Occlusion" +msgstr "Oclusió personalitzada" + + +msgctxt "Operator" +msgid "Lock Unselected" +msgstr "Bloquejar no seleccionats" + + +msgctxt "Operator" +msgid "Lock Unused" +msgstr "Bloquejar no utilitzats" + + +msgctxt "Operator" +msgid "Convert Materials to Color Attribute" +msgstr "Convertir materials en atribut de color" + + +msgctxt "Operator" +msgid "Extract Palette from Color Attribute" +msgstr "Extreure paleta d'atribut de color" + + +msgctxt "Operator" +msgid "Merge Similar" +msgstr "Fusionar similars" + + +msgctxt "Operator" +msgid "Copy All Materials to Selected" +msgstr "Copiar tots els materials a selecció" + + +msgid "Flip Colors" +msgstr "Capgirar colors" + + +msgid "Clip Image" +msgstr "Segar imatge" + + +msgid "Tracking Axis" +msgstr "Eix de tràveling" + + +msgid "Override Crease" +msgstr "Sobreseure doblec" + + +msgid "All Edges" +msgstr "Totes les arestes" + + +msgid "Align to Vertex Normal" +msgstr "Alinear a normal de vèrtex" + + +msgid "Show Instancer" +msgstr "Mostrar instanciador" + + +msgid "Old" +msgstr "Vell" + + +msgid "Date" +msgstr "Data" + + +msgid "Render Time" +msgstr "Temps de revelat" + + +msgid "Hostname" +msgstr "Nom d'amfitrió" + + +msgid "Include Labels" +msgstr "Incloure etiquetes" + + +msgid "Saving" +msgstr "Desant" + + +msgid "Max B-frames" +msgstr "Màx fotogrames B" + + +msgid "Strip Name" +msgstr "Nom de segment" + + +msgid "Buffer" +msgstr "Memòria intermèdia" + + +msgid "Sample Rate" +msgstr "Taxa de mostreig" + + +msgid "Custom (%.4g fps)" +msgstr "Personalitzat (%.4g fps)" + + +msgid "%.4g fps" +msgstr "%.4g fps" + + +msgid "Mask Mapping" +msgstr "Mapejat de màscara" + + +msgid "Pressure Masking" +msgstr "Emmascarar pressió" + + +msgid "Falloff Opacity" +msgstr "Decaïment d'opacitat" + + +msgid "Mesh Boundary" +msgstr "Límit de malla" + + +msgid "Face Sets Boundary" +msgstr "Límit de jocs de cares" + + +msgid "Cavity (inverted)" +msgstr "Cavitat (invertida)" + + +msgid "Sample Bias" +msgstr "Biaix de mostra" + + +msgid "Edge to Edge" +msgstr "Aresta a aresta" + + +msgid "Texture Opacity" +msgstr "Opacitat de textura" + + +msgid "Mask Texture Opacity" +msgstr "Opacitat de màscara textura" + + +msgctxt "Operator" +msgid "Create Mask" +msgstr "Crear màscara" + + +msgid "Thickness Profile" +msgstr "Perfil de gruix" + + +msgid "Use Thickness Profile" +msgstr "Usa el perfil de gruix" + + +msgid "Source Clone Slot" +msgstr "Epígraf d'origen de clonació" + + +msgid "Source Clone Image" +msgstr "Imatge d'origen de clonació" + + +msgid "Source Clone UV Map" +msgstr "Mapa UV d'origen de clonació" + + +msgid "Gradient Mapping" +msgstr "Mapejat de gradient" + + +msgid "Point Count" +msgstr "Nombre de punts" + + +msgid "Mask Value" +msgstr "Valor de màscara" + + +msgid "CCW" +msgstr "CCW" + + +msgid "CW" +msgstr "CW" + + +msgid "Invert to Fill" +msgstr "Invertir per a omplir" + + +msgid "Invert to Scrape" +msgstr "Invertir per raspar" + + +msgctxt "Operator" +msgid "Copy Active to Selected Objects" +msgstr "Copiar actiu a objectes seleccionats" + + +msgctxt "Operator" +msgid "Copy All to Selected Objects" +msgstr "Copiar-ho tot a objectes seleccionats" + + +msgid "Quality Steps" +msgstr "Passos de qualitat" + + +msgid "Pin Goal Strength" +msgstr "Força de les fixacions" + + +msgid "Air Drag" +msgstr "Arrossegament d'aire" + + +msgid "Density Target" +msgstr "Densitat pretesa" + + +msgid "Density Strength" +msgstr "Densitat d'emissió" + + +msgid "Tangent Phase" +msgstr "Fase tangencial" + + +msgid "Randomize Phase" +msgstr "Aleatoritzar fase" + + +msgid "Render As" +msgstr "Renvelar com a" + + +msgid "Parent Particles" +msgstr "Partícules mare" + + +msgid "Global Coordinates" +msgstr "Coordenades globals" + + +msgid "Object Rotation" +msgstr "Rotació d'objecte" + + +msgid "Object Scale" +msgstr "Escala d'objecte" + + +msgid "Display Amount" +msgstr "Precisió de visualització" + + +msgid "Render Amount" +msgstr "Precisió de revelat" + + +msgid "Kink Type" +msgstr "Tipus de torsió" + + +msgid "Effector Amount" +msgstr "Precisió d'efectuador" + + +msgid "Roughness End" +msgstr "Rugositat dels caps" + + +msgid "Strand Shape" +msgstr "Forma del filament" + + +msgid "Diameter Root" +msgstr "Dinàmetre d'arrel" + + +msgctxt "Operator" +msgid "Convert to Curves" +msgstr "Convertir a corbes" + + +msgid "Lifetime Randomness" +msgstr "Aleatorietat de longevitat" + + +msgid "Hair dynamics disabled" +msgstr "Dinàmica de pèl desactivada" + + +msgid "Multiply Mass with Size" +msgstr "Multiplicar massa per mida" + + +msgid "Show Emitter" +msgstr "Mostrar emissor" + + +msgid "Fade Distance" +msgstr "Distància d'esvaïment" + + +msgid "Strand Steps" +msgstr "Passos de filament" + + +msgid "Randomize Size" +msgstr "Aleatoritzar mida" + + +msgid "Parting not available with virtual parents" +msgstr "La ratlla de pentinat no és possible amb mares virtuals" + + +msgid "Randomize Amplitude" +msgstr "Aleatoritzar amplitud" + + +msgid "Randomize Axis" +msgstr "Aleatoritzar eix" + + +msgid "Settings used for fluid" +msgstr "Configuració per al fluids" + + +msgid "Jittering Amount" +msgstr "Quantitat de trontoll" + + +msgid "Scale Randomness" +msgstr "Aleatorietat d'escala" + + +msgid "Coordinate System" +msgstr "Sistema de coordenades" + + +msgctxt "Operator" +msgid "Delete Edit" +msgstr "Suprimir edició" + + +msgid "Use Timing" +msgstr "Temporitzar" + + +msgid "Display percentage makes dynamics inaccurate without baking" +msgstr "Mostrar percentatge fa que la dinàmica sigui inexacta si no es precuina" + + +msgid "Iterations: %d .. %d (avg. %d)" +msgstr "Iteracions: %d .. %d (mitjana %d)" + + +msgid "Error: %.5f .. %.5f (avg. %.5f)" +msgstr "Error: %.5f .. %.5f (mitjana %.5f)" + + +msgid "Spacing: %g" +msgstr "Espaiat: %g" + + +msgid "Not yet functional" +msgstr "No funcional per ara" + + +msgctxt "Operator" +msgid "Connect All" +msgstr "Connectar tots" + + +msgctxt "Operator" +msgid "Disconnect All" +msgstr "Desconnectar tots" + + +msgid "%d fluid particles for this frame" +msgstr "%d partícules fluides per a aquest fotograma" + + +msgid "Speed Multiplier" +msgstr "Multiplicador de rapidesa" + + +msgid "Air Viscosity" +msgstr "Viscositat de l'aire" + + +msgid "Max Spring Creation Length" +msgstr "Màx longitud en la creació de tensors" + + +msgid "Max Creation Diversion" +msgstr "Màx creació de desviacions" + + +msgid "Check Surface Normals" +msgstr "Comprovar normals de superfície" + + +msgid "Max Tension" +msgstr "Màx tensió" + + +msgid "Max Compression" +msgstr "Màx compressió" + + +msgid "Custom Volume" +msgstr "Volum personalitzat" + + +msgid "Pin Group" +msgstr "Grup de fixadors" + + +msgid "Sewing" +msgstr "Cosit" + + +msgid "Max Sewing Force" +msgstr "Màx força de costura" + + +msgid "Shrinking Factor" +msgstr "Factor d'encongiment" + + +msgid "Dynamic Mesh" +msgstr "Malla dinàmica" + + +msgid "Structural Group" +msgstr "Grup estructural" + + +msgid "Shear Group" +msgstr "Grup d'estrebament" + + +msgid "Max Shearing" +msgstr "Màx estrebament" + + +msgid "Bending Group" +msgstr "Grup de doblegament" + + +msgid "Max Bending" +msgstr "Màx doblegament" + + +msgid "Shrinking Group" +msgstr "Grup d'encongiment" + + +msgid "Max Shrinking" +msgstr "Màx encongiment" + + +msgid "Structural" +msgstr "Estructural" + + +msgid "Noise Amount" +msgstr "Quantitat de soroll" + + +msgid "Min Distance" +msgstr "Mín distància" + + +msgctxt "Operator" +msgid "Current Cache to Bake" +msgstr "Memòria cau actual per precuinar" + + +msgctxt "Operator" +msgid "Delete All Bakes" +msgstr "Suprimir tots els precuinats" + + +msgctxt "Operator" +msgid "Force Field" +msgstr "Camp de força" + + +msgid "Use Library Path" +msgstr "Usar camí de biblioteca" + + +msgid "Simulation Start" +msgstr "Inici de simulació" + + +msgctxt "Operator" +msgid "Bake (Disk Cache mandatory)" +msgstr "Precuinar (obligatori en memòria cau de disc)" + + +msgctxt "Operator" +msgid "Calculate to Frame" +msgstr "Calcular a fotograma" + + +msgctxt "Operator" +msgid "Bake All Dynamics" +msgstr "Precuinar totes les dinàmiques" + + +msgctxt "Operator" +msgid "Update All to Frame" +msgstr "Actualitzar tot a fotogrames" + + +msgid "Cache is disabled until the file is saved" +msgstr "La memòria cau està desactivada fins que es desi el document" + + +msgid "Options are disabled until the file is saved" +msgstr "Les opcions estan desactivades fins que es desi el document" + + +msgid "Linked object baking requires Disk Cache to be enabled" +msgstr "Precuinar objectes enllaçats requereix que s'activi la memòria cau de disc" + + +msgctxt "Operator" +msgid "Delete Bake" +msgstr "Suprimir precuinat" + + +msgctxt "Operator" +msgid "Bake Image Sequence" +msgstr "Precuinar seqüència d'imatges" + + +msgctxt "Operator" +msgid "Remove Canvas" +msgstr "Eliminar llenç" + + +msgid "Wetness" +msgstr "Impregnació" + + +msgid "Paintmap Layer" +msgstr "Capa de mapa de pintura" + + +msgid "Wetmap Layer" +msgstr "Capa de mapa d'impregnació" + + +msgid "Effect Solid Radius" +msgstr "Efecte radi sòlid" + + +msgid "Use Particle's Radius" +msgstr "Usar radi de partícula" + + +msgctxt "Operator" +msgid "Add Canvas" +msgstr "Afegir llenç" + + +msgctxt "Operator" +msgid "Remove Brush" +msgstr "Suprimir pinzell" + + +msgid "Displace Type" +msgstr "Tipus de desplaçament" + + +msgid "Color Layer" +msgstr "Capa de color" + + +msgid "Wave Clamp" +msgstr "Constrenyiment d'ona" + + +msgid "No collision settings available" +msgstr "No consta configuració de col·lisió" + + +msgid "Use Min Angle" +msgstr "Usar angle mín" + + +msgid "Use Max Angle" +msgstr "Usar angle màx" + + +msgid "Field Absorption" +msgstr "Absorció de camp" + + +msgid "Thickness Outer" +msgstr "Gruix enfora" + + +msgid "Clumping Amount" +msgstr "Quantitat d'aglomeració" + + +msgid "Heat" +msgstr "Calor" + + +msgid "Reaction Speed" +msgstr "Rapidesa de reacció" + + +msgid "Flame Smoke" +msgstr "Fum i flama" + + +msgid "Temperature Maximum" +msgstr "Temperatura màxima" + + +msgid "Particle Radius" +msgstr "Radi de partícules" + + +msgid "Particles Maximum" +msgstr "Màxim de partícules" + + +msgid "Narrow Band Width" +msgstr "Amplitud de banda estreta" + + +msgid "Add Resolution" +msgstr "Afegir resolució" + + +msgid "Upres Factor" +msgstr "Factor +res" + + +msgid "Use Speed Vectors" +msgstr "Usar vectors de rapidesa" + + +msgid "Mesh Generator" +msgstr "Generador de malles" + + +msgid "Bubbles" +msgstr "Bombolles" + + +msgid "Wave Crest Potential Maximum" +msgstr "Màxima cresta d'ona potencial" + + +msgid "Trapped Air Potential Maximum" +msgstr "Màxim aire atrapat potencial" + + +msgid "Kinetic Energy Potential Maximum" +msgstr "Màxima energia cinètica potencial" + + +msgid "Particle Update Radius" +msgstr "Radi d'actualització de partícules" + + +msgid "Wave Crest Particle Sampling" +msgstr "Mostreig de partícules de cresta d'ona" + + +msgid "Trapped Air Particle Sampling" +msgstr "Mostreig de partícules d'aire atrapat" + + +msgid "Particle Life Maximum" +msgstr "Màxima longevitat de partícules" + + +msgid "Exponent" +msgstr "Exponent" + + +msgid "Surface Tension" +msgstr "Tensió de superfície" + + +msgid "Velocity Source" +msgstr "Font de velocitat" + + +msgid "Is Resumable" +msgstr "És continuable" + + +msgid "Format Volumes" +msgstr "Formatar volums" + + +msgid "Resolution Divisions" +msgstr "Divisions de resolució" + + +msgid "CFL Number" +msgstr "Número de CFL" + + +msgid "Timesteps Maximum" +msgstr "Màxim de cronolapses" + + +msgid "Delete in Obstacle" +msgstr "Suprimir en obstacle" + + +msgid "Smoothing Positive" +msgstr "Suavitzat positiu" + + +msgid "Concavity Upper" +msgstr "Concavitat superior" + + +msgid "Lower" +msgstr "Inferior" + + +msgid "Guide Parent" +msgstr "Guiar mare" + + +msgid "Compression Volumes" +msgstr "Volums de compressió" + + +msgid "Precision Volumes" +msgstr "Volums de precisió" + + +msgid "Enable Guides first! Defaulting to Fluid Velocity" +msgstr "Activar guies primer! S'adopta per defecte la velocitat de fluid" + + +msgid "Using Scene Gravity" +msgstr "Gravetat d'escena en ús" + + +msgid "Empty Space" +msgstr "Espai buit" + + +msgid "Sampling Substeps" +msgstr "Generant subpassos" + + +msgctxt "Operator" +msgid "Resume" +msgstr "Continuar" + + +msgctxt "Operator" +msgid "Free" +msgstr "Lliure" + + +msgid "Surface Thickness" +msgstr "Gruix de superfície" + + +msgid "Use Effector" +msgstr "Usar efectuador" + + +msgctxt "Operator" +msgid "Baking Noise - ESC to pause" +msgstr "Precuinant soroll - ESC per pausar" + + +msgctxt "Operator" +msgid "Baking Mesh - ESC to pause" +msgstr "Precuinant malla - ESC per pausar" + + +msgctxt "Operator" +msgid "Baking Particles - ESC to pause" +msgstr "Precuinant partícules - ESC per pausar" + + +msgctxt "Operator" +msgid "Baking All - ESC to pause" +msgstr "Precuinant-ho tot - ESC per pausar" + + +msgid "Enable Grid Display to use range highlighting!" +msgstr "Habilita la visualització de graella per al ressaltat d'interval!" + + +msgid "Range highlighting for flags is not available!" +msgstr "El ressaltat d'interval no està disponible per a semàfors!" + + +msgctxt "Operator" +msgid "Baking Data - ESC to pause" +msgstr "Precuinant dades - ESC per pausar" + + +msgid "Initial Temperature" +msgstr "Temperatura inicial" + + +msgid "Fuel" +msgstr "Fuel" + + +msgid "Guide Mode" +msgstr "Mode guia" + + +msgctxt "Operator" +msgid "Baking Guides - ESC to pause" +msgstr "Precuinant guies - ESC per pausar" + + +msgid "Damping Translation" +msgstr "Afeblint translació" + + +msgid "Velocity Linear" +msgstr "Velocitat en lineal" + + +msgid "This object is part of a compound shape" +msgstr "Aquest objecte forma part d'una forma composta" + + msgid "Second" msgstr "Segon" +msgid "X Stiffness" +msgstr "Rigidesa X" + + +msgid "Y Stiffness" +msgstr "Rigidesa Y" + + +msgid "Z Stiffness" +msgstr "Rigidesa Z" + + +msgid "X Lower" +msgstr "X inferior" + + +msgid "Upper" +msgstr "Superior" + + +msgid "Z Lower" +msgstr "Z inferior" + + +msgid "Y Lower" +msgstr "Y inferior" + + +msgid "Calculation Type" +msgstr "Tipus de càlcul" + + +msgid "Step Size Min" +msgstr "Mín. mida de pas" + + +msgid "Auto-Step" +msgstr "Autopas" + + +msgid "Light Clamping" +msgstr "Constrenyiment de llum" + + +msgid "Refraction" +msgstr "Refracció" + + +msgid "Cascade Size" +msgstr "Mida de cascada" + + +msgid "Pool Size" +msgstr "Mida de repositori" + + +msgctxt "Operator" +msgid "Bake Indirect Lighting" +msgstr "Precuinar llum indirecta" + + +msgctxt "Operator" +msgid "Delete Lighting Cache" +msgstr "Suprimir cau d'il·luminació" + + +msgid "Diffuse Occlusion" +msgstr "Oclusió difusiva" + + +msgid "Irradiance Size" +msgstr "Mida d'irradiància" + + +msgid "Max Child Particles" +msgstr "Màx de partícules filles" + + +msgid "Render Engine" +msgstr "Motor de revelat" + + +msgctxt "Operator" +msgid "Bake Cubemap Only" +msgstr "Precuinar sols cubografia" + + +msgid "Shadow Resolution" +msgstr "Resolució d'ombres" + + +msgid "Temperature" +msgstr "Temperatura" + + +msgid "General Override" +msgstr "Sobreseïment general" + + +msgid "Paths:" +msgstr "Camins:" + + +msgid "Doppler Speed" +msgstr "Rapidesa del Doppler" + + +msgid "Needed" +msgstr "Requerit/da" + + +msgid "Visual" +msgstr "Visual" + + +msgid "XYZ to RGB" +msgstr "XYZ a RGB" + + +msgid "Active Set Override" +msgstr "Sobreseïment de conjunt actiu" + + +msgid "Target ID-Block" +msgstr "Bloc ID referent" + + +msgid "Array All Items" +msgstr "Corruar tots els elements" + + +msgid "F-Curve Grouping" +msgstr "Agrupament de corbes-F" + + +msgctxt "Operator" +msgid "Export to File" +msgstr "Exportar a document" + + +msgid "Minimum Size" +msgstr "Mida mínima" + + +msgid "Second Basis" +msgstr "Segona base" + + +msgid "Gaussian Filter" +msgstr "Filtre gaussià" + + +msgid "Calculate" +msgstr "Calcular" + + +msgid "Flip Axes" +msgstr "Invertir eixos" + + +msgid "Dimension" +msgstr "Dimensió" + + +msgid "Third" +msgstr "Tercer" + + +msgid "Fourth" +msgstr "Quart" + + +msgid "Multiply R" +msgstr "Multiplicar R" + + +msgid "Eccentricity" +msgstr "Excentricitat" + + +msgid "Enable the Color Ramp first" +msgstr "Habilitar primer la rampa de color" + + +msgid "Tiles Even" +msgstr "Quadrets parells" + + +msgid "Odd" +msgstr "Senars" + + +msgid "Mapping X" +msgstr "Mapejant X" + + +msgid "Map" +msgstr "Mapa" + + +msgid "Use for Rendering" +msgstr "Usar per al revelat" + + +msgid "Conflicts with another render pass with the same name" +msgstr "Conflictes amb un altre passada de revelat amb el mateix nom" + + +msgid "Accurate Mode" +msgstr "Mode refinat" + + +msgid "Unknown add-ons" +msgstr "Complements desconeguts" + + +msgid "category" +msgstr "categoria" + + +msgid "name" +msgstr "nom" + + +msgid "Display Thin" +msgstr "Presentació fina" + + +msgid "B/W" +msgstr "B/N" + + +msgid "Calibration" +msgstr "Calibratge" + + +msgctxt "Operator" +msgid "Prefetch" +msgstr "Precarregar" + + +msgctxt "Operator" +msgid "Copy from Active Track" +msgstr "Copiar de pista activa" + + +msgid "Track:" +msgstr "Pista:" + + +msgid "Clear:" +msgstr "Descartar:" + + +msgid "Refine:" +msgstr "Refinar:" + + +msgid "Merge:" +msgstr "Fusionar:" + + +msgid "Tripod" +msgstr "Trípode" + + +msgid "Optical Center" +msgstr "Centre òptic" + + +msgid "Radial Distortion" +msgstr "Distorsió radial" + + +msgid "Tangential Distortion" +msgstr "Distorsió tangencial" + + +msgctxt "Operator" +msgid "Solve Camera Motion" +msgstr "Resoldre tràveling de càmera" + + +msgctxt "Operator" +msgid "Solve Object Motion" +msgstr "Resoldre moviment d'objecte" + + +msgid "Pixel Aspect" +msgstr "Aspecte de píxels" + + +msgid "Build Original:" +msgstr "Constituir original:" + + +msgid "Build Undistorted:" +msgstr "Constituir sense distorsió:" + + +msgctxt "Operator" +msgid "Build Proxy / Timecode" +msgstr "Confegir simulació / Cronofita" + + +msgctxt "Operator" +msgid "Build Proxy" +msgstr "Confegir simulació" + + +msgid "Proxy Size" +msgstr "Mida de simulació" + + +msgctxt "Operator" +msgid "Backwards" +msgstr "Enrere" + + +msgctxt "Operator" +msgid "Frame Backwards" +msgstr "Fotograma enrere" + + +msgctxt "Operator" +msgid "Forwards" +msgstr "Endavant" + + +msgctxt "Operator" +msgid "Frame Forwards" +msgstr "Fotograma endavant" + + +msgctxt "Operator" +msgid "Before" +msgstr "Abans" + + +msgctxt "Operator" +msgid "After" +msgstr "Després" + + +msgctxt "Operator" +msgid "Track Path" +msgstr "Camí de rastre" + + +msgctxt "Operator" +msgid "Solution" +msgstr "Solució" + + +msgctxt "Operator" +msgid "Copy Settings to Defaults" +msgstr "Copiar configuració a predeterminats" + + +msgctxt "Operator" +msgid "Apply Default Settings" +msgstr "Aplicar configuració predeterminada" + + +msgctxt "Operator" +msgid "Location" +msgstr "Ubicació" + + +msgctxt "Operator" +msgid "Affine" +msgstr "Afinitat" + + +msgctxt "Operator" +msgid "Set Viewport Background" +msgstr "Establir rerefons de mirador" + + +msgctxt "Operator" +msgid "Set Floor" +msgstr "Establir planta" + + +msgid "Viewport Gizmos" +msgstr "Flòstics de mirador" + + +msgid "3D Markers" +msgstr "Marcadors 3D" + + +msgid "Display Aspect Ratio" +msgstr "Relació d'aspecte en pantalla" + + +msgctxt "Operator" +msgid "Floor" +msgstr "Planta" + + +msgctxt "Operator" +msgid "Wall" +msgstr "Mur" + + +msgctxt "Operator" +msgid "Set X Axis" +msgstr "Establir eix X" + + +msgctxt "Operator" +msgid "Set Y Axis" +msgstr "Establir eix Y" + + +msgid "No active track" +msgstr "No hi ha cap pista activa" + + +msgid "Custom Color Presets" +msgstr "Predefinits de color personalitzats" + + +msgid "No active plane track" +msgstr "No hi ha cap trajecte sobre pla actiu" + + +msgid "Tracks for Stabilization" +msgstr "Rastres per a estabilització" + + +msgid "Tracks for Location" +msgstr "Rastres per a ubicació" + + +msgid "Timecode Index" +msgstr "Índex del cronofites" + + +msgctxt "Operator" +msgid "Set Wall" +msgstr "Establir el mur" + + +msgctxt "Operator" +msgid "Inverse" +msgstr "Invers" + + +msgctxt "Operator" +msgid "Show Tracks" +msgstr "Mostrar rastres" + + +msgid "Normalization" +msgstr "Normalització" + + +msgid "Use Brute Force" +msgstr "Usar força bruta" + + +msgctxt "Operator" +msgid "Match Previous" +msgstr "Trobar anterior" + + +msgctxt "Operator" +msgid "Match Keyframe" +msgstr "Trobar fotofita" + + +msgid "Tripod Solver" +msgstr "Resolutor de trípode" + + +msgctxt "Operator" +msgid "Set Keyframe A" +msgstr "Establir fotofita A" + + +msgctxt "Operator" +msgid "Set Keyframe B" +msgstr "Establir fotofita B" + + +msgid "Average Error: %.2f px" +msgstr "Mitjana d'error: %.2f px" + + +msgid "Tracks for Rotation/Scale" +msgstr "Rastres per rotació/escala" + + +msgctxt "Operator" +msgid "View Fit" +msgstr "Encaixar a vista" + + +msgctxt "Operator" +msgid "Enable Markers" +msgstr "Activar marcadors" + + +msgctxt "Operator" +msgid "Unlock Tracks" +msgstr "Desblocar rastres" + + +msgctxt "Operator" +msgid "Frame All Fit" +msgstr "Encaixar-ho tot" + + +msgid "Zoom %d:%d" +msgstr "Zoom %d:%d" + + +msgid "Solve error: %.2f px" +msgstr "Error de resolutiva: %.2f px" + + +msgctxt "Operator" +msgid "Copy as Script" +msgstr "Copia com a protocol" + + +msgctxt "Operator" +msgid "Autocomplete" +msgstr "Autocompletar" + + +msgctxt "Operator" +msgid "Move to Previous Word" +msgstr "Moure a paraula anterior" + + +msgctxt "Operator" +msgid "Move to Next Word" +msgstr "Moure a paraula següent" + + +msgctxt "Operator" +msgid "Move to Line Begin" +msgstr "Moure a principi de línia" + + +msgctxt "Operator" +msgid "Move to Line End" +msgstr "Moure a final de línia" + + +msgctxt "Operator" +msgid "Delete Previous Word" +msgstr "Suprimir paraula anterior" + + +msgctxt "Operator" +msgid "Delete Next Word" +msgstr "Suprimir paraula següent" + + +msgctxt "Operator" +msgid "Backward in History" +msgstr "Enrere en l'historial" + + +msgctxt "Operator" +msgid "Forward in History" +msgstr "Endavant en l'historial" + + +msgid "Filter by Type:" +msgstr "Filtrar per tipus:" + + +msgid "Options:" +msgstr "Opcions:" + + +msgid "Multi-Word Match Search" +msgstr "Cerca multi-mot" + + +msgctxt "Operator" +msgid "Toggle Graph Editor" +msgstr "Revesar editor de gràfiques" + + +msgctxt "Operator" +msgid "Before Current Frame" +msgstr "Abans de fotograma actual" + + +msgctxt "Operator" +msgid "After Current Frame" +msgstr "Després de fotograma actual" + + +msgctxt "Operator" +msgid "Extrapolation Mode" +msgstr "Mode d'extrapolació" + + +msgctxt "Operator" +msgid "Move..." +msgstr "Moure..." + + +msgctxt "Operator" +msgid "Snap" +msgstr "Acoblar" + + +msgctxt "Operator" +msgid "Keyframe Type" +msgstr "Tipus de fotofita" + + +msgctxt "Operator" +msgid "Handle Type" +msgstr "Tipus de nansa" + + +msgctxt "Operator" +msgid "Interpolation Mode" +msgstr "Mode d'interpolació" + + +msgctxt "Operator" +msgid "Easing Mode" +msgstr "Mode de gradualitat" + + +msgctxt "Operator" +msgid "Discontinuity (Euler) Filter" +msgstr "Filtre de discontinuïtat (euler)" + + +msgid "Grease Pencil Objects" +msgstr "Objectes llapis de greix" + + +msgctxt "Operator" +msgid "Push Down" +msgstr "Empènyer avall" + + +msgctxt "Operator" +msgid "Stash" +msgstr "Estibar" + + +msgctxt "Operator" +msgid "Box Select (Axis Range)" +msgstr "Selecció del caixa (interval d'eix)" + + +msgctxt "Operator" +msgid "Columns on Selected Keys" +msgstr "Columnes en fites seleccionades" + + +msgctxt "Operator" +msgid "Column on Current Frame" +msgstr "Columna en fotograma actual" + + +msgctxt "Operator" +msgid "Columns on Selected Markers" +msgstr "Columnes en marcadors seleccionats" + + +msgctxt "Operator" +msgid "Between Selected Markers" +msgstr "Entre marcadors seleccionats" + + +msgctxt "Operator" +msgid "Paste Flipped" +msgstr "Enganxar invertit" + + +msgctxt "Operator" +msgid "Clean Channels" +msgstr "Netejar canals" + + +msgctxt "Operator" +msgid "Extend" +msgstr "Estendre" + + +msgctxt "Operator" +msgid "Mute Channels" +msgstr "Silenciar canals" + + +msgctxt "Operator" +msgid "Unmute Channels" +msgstr "Dessilenciar canals" + + +msgctxt "Operator" +msgid "Protect Channels" +msgstr "Protegir canals" + + +msgctxt "Operator" +msgid "Unprotect Channels" +msgstr "Desprotegir canals" + + +msgctxt "Operator" +msgid "Selection to Current Frame" +msgstr "Selecció a fotograma actual" + + +msgctxt "Operator" +msgid "Selection to Nearest Frame" +msgstr "Selecció al fotograma més pròxim" + + +msgctxt "Operator" +msgid "Selection to Nearest Second" +msgstr "Selecció al segon més pròxim" + + +msgctxt "Operator" +msgid "Selection to Nearest Marker" +msgstr "Selecció al marcador més pròxim" + + +msgid "Recursions" +msgstr "Recursions" + + +msgid "Sort By" +msgstr "Ordenar per" + + +msgid "Folders" +msgstr "Carpetes" + + +msgctxt "Operator" +msgid "Cleanup" +msgstr "Netejar" + + +msgctxt "Operator" +msgid "Back" +msgstr "Enrere" + + +msgctxt "Operator" +msgid "Forward" +msgstr "Endavant" + + +msgctxt "Operator" +msgid "Go to Parent" +msgstr "Anar al pare" + + +msgctxt "Operator" +msgid "New Folder" +msgstr "Carpeta nova" + + +msgid "Asset Details" +msgstr "Detalls del recurs" + + +msgctxt "Operator" +msgid "Render Active Object" +msgstr "Revelar objecte actiu" + + +msgid ".blend Files" +msgstr "Documents .blend" + + +msgid "Backup .blend Files" +msgstr "Fer còpies de reserva de documents .blend" + + +msgid "Image Files" +msgstr "Documents d'imatge" + + +msgid "Movie Files" +msgstr "Documents de vídeo" + + +msgid "Script Files" +msgstr "Documents de protocols" + + +msgid "Font Files" +msgstr "Documents de tipografia" + + +msgid "Sound Files" +msgstr "Documents de so" + + +msgid "Text Files" +msgstr "Documents de text" + + +msgid "Volume Files" +msgstr "Documents de volum" + + +msgid "Blender IDs" +msgstr "IDs de Blender" + + +msgctxt "Operator" +msgid "Increase Number" +msgstr "Augmentar nombre" + + +msgctxt "Operator" +msgid "Decrease Number" +msgstr "Disminuir nombre" + + +msgid "No active asset" +msgstr "Sense recurs actiu" + + +msgctxt "Operator" +msgid "Clear Asset (Set Fake User)" +msgstr "Descartar recurs (establir usador fals)" + + +msgid "Asset Catalog:" +msgstr "Catàleg de recursos:" + + +msgid "UUID" +msgstr "UUID" + + +msgid "Simple Name" +msgstr "Nom simple" + + +msgctxt "Operator" +msgid "Toggle Dope Sheet" +msgstr "Revesar guionatge" + + +msgctxt "Operator" +msgid "Box Select (Include Handles)" +msgstr "Selecció de caixa ( amb nanses )" + + +msgctxt "Operator" +msgid "Easing Type" +msgstr "Tipus de gradualitat" + + +msgctxt "Operator" +msgid "Cursor to Selection" +msgstr "Cursor a selecció" + + +msgctxt "Operator" +msgid "Cursor Value to Selection" +msgstr "Valor del cursor a selecció" + + +msgctxt "Operator" +msgid "Ease" +msgstr "Gradualitat" + + +msgctxt "Operator" +msgid "Hide Selected Curves" +msgstr "Ocultar corbes seleccionades" + + +msgctxt "Operator" +msgid "Hide Unselected Curves" +msgstr "Ocultar corbes no seleccionades" + + +msgctxt "Operator" +msgid "Decimate (Ratio)" +msgstr "Delmar (taxa)" + + +msgctxt "Operator" +msgid "Selection to Cursor Value" +msgstr "Selecció a valor de cursor" + + +msgctxt "Operator" +msgid "Flatten Handles" +msgstr "Aplanar nanses" + + +msgctxt "Operator" +msgid "Decimate (Allowed Change)" +msgstr "Delmar (canvi permès)" + + +msgctxt "Operator" +msgid "Less" +msgstr "Menys" + + +msgctxt "Operator" +msgid "More" +msgstr "Més" + + +msgctxt "Operator" +msgid "Linked" +msgstr "Enllaçat" + + +msgctxt "Operator" +msgid "Shortest Path" +msgstr "Camí més curt" + + +msgctxt "Image" +msgid "New" +msgstr "Nou" + + +msgctxt "Operator" +msgid "Save All Images" +msgstr "Desar totes les imatges" + + +msgctxt "Operator" +msgid "Invert Image Colors" +msgstr "Invertir colors d'imatge" + + +msgctxt "Operator" +msgid "At Center" +msgstr "Al centre" + + +msgctxt "Operator" +msgid "By Distance" +msgstr "Per distància" + + +msgctxt "Operator" +msgid "Selection" +msgstr "Selecció" + + +msgid "Modified Edges" +msgstr "Arestes modificades" + + +msgid "Show Same Material" +msgstr "Mostrar el mateix material" + + +msgctxt "Operator" +msgid "Render Slot Cycle Next" +msgstr "Següent en el cicle d'epígrafs de revelats" + + +msgctxt "Operator" +msgid "Box Select Pinned" +msgstr "Selecció de caixa fixada" + + +msgctxt "Operator" +msgid "Edit Externally" +msgstr "Editar externament" + + +msgctxt "Operator" +msgid "Save As..." +msgstr "Anomena i desa..." + + +msgctxt "Operator" +msgid "Extract Palette" +msgstr "Extreure paleta" + + +msgctxt "Operator" +msgid "Generate Grease Pencil" +msgstr "Generar llapis de greix" + + +msgctxt "Operator" +msgid "Horizontally" +msgstr "Horitzontalment" + + +msgctxt "Operator" +msgid "Vertically" +msgstr "Verticalment" + + +msgctxt "Operator" +msgid "Invert Red Channel" +msgstr "Invertir canal vermell" + + +msgctxt "Operator" +msgid "Invert Green Channel" +msgstr "Invertir canal verd" + + +msgctxt "Operator" +msgid "Invert Blue Channel" +msgstr "Invertir canal blau" + + +msgctxt "Operator" +msgid "Invert Alpha Channel" +msgstr "Invertir canal alfa" + + +msgctxt "Operator" +msgid "Selected to Pixels" +msgstr "Seleccionat(s) a píxels" + + +msgctxt "Operator" +msgid "Selected to Cursor" +msgstr "Seleccionat(s) a cursor" + + +msgctxt "Operator" +msgid "Selected to Cursor (Offset)" +msgstr "Seleccionat(s) a cursor (desplaçat)" + + +msgctxt "Operator" +msgid "Selected to Adjacent Unselected" +msgstr "Seleccionats a desseleccionats adjacents" + + +msgctxt "Operator" +msgid "Cursor to Pixels" +msgstr "Cursor a píxels" + + +msgctxt "Operator" +msgid "Cursor to Origin" +msgstr "Cursor a origen" + + +msgctxt "Operator" +msgid "At Cursor" +msgstr "Al cursor" + + +msgctxt "Operator" +msgid "Unpin" +msgstr "Desfixar" + + +msgctxt "Operator" +msgid "Clear Seam" +msgstr "Descartar costura" + + +msgctxt "Operator" +msgid "Vertex" +msgstr "Vèrtex" + + +msgctxt "Operator" +msgid "Edge" +msgstr "Aresta" + + +msgctxt "Operator" +msgid "Face" +msgstr "Cara" + + +msgctxt "Operator" +msgid "Island" +msgstr "Illa" + + +msgctxt "Operator" +msgid "Zoom 1:1" +msgstr "Zoom 1:1" + + +msgid "Image*" +msgstr "Imatge*" + + +msgid "Aspect Ratio" +msgstr "Relació d'aspecte" + + +msgid "Repeat Image" +msgstr "Repetir imatge" + + +msgid "Over Image" +msgstr "Sobre la imatge" + + +msgid "Fixed Subdivisions" +msgstr "Subdivisions fixades" + + +msgid "Tiles" +msgstr "Quadrets" + + +msgctxt "Operator" +msgid "Render Slot Cycle Previous" +msgstr "Anterior en el cicle d'epígrafs de revelats" + + +msgctxt "Operator" +msgid "Replace..." +msgstr "Substituir..." + + +msgctxt "Operator" +msgid "Save a Copy..." +msgstr "Desar còpia..." + + +msgctxt "Operator" +msgid "Pack" +msgstr "Empaquetar" + + +msgctxt "Operator" +msgid "X Axis" +msgstr "Eix X" + + +msgctxt "Operator" +msgid "Y Axis" +msgstr "Eix Y" + + +msgctxt "Operator" +msgid "Unpack" +msgstr "Desempaquetar" + + +msgctxt "Operator" +msgid "Mirror X" +msgstr "Emmirallar X" + + +msgctxt "Operator" +msgid "Mirror Y" +msgstr "Emmirallar Y" + + +msgctxt "Operator" +msgid "Toggle Selection" +msgstr "Revesar selecció" + + +msgctxt "Operator" +msgid "Horizontal Split" +msgstr "Partició horitzontal" + + +msgctxt "Operator" +msgid "Vertical Split" +msgstr "Partició vertical" + + +msgctxt "Operator" +msgid "Toggle Fullscreen Area" +msgstr "Revesar àrea de pantalla completa" + + +msgctxt "Operator" +msgid "Track Ordering..." +msgstr "Ordre de restres..." + + +msgctxt "Operator" +msgid "Rename..." +msgstr "Reanomenar..." + + +msgctxt "Operator" +msgid "Linked Duplicate" +msgstr "Duplicat enllaçat" + + +msgctxt "Operator" +msgid "Stop Tweaking Strip Actions" +msgstr "Deixar de manipular accions de segment" + + +msgctxt "Operator" +msgid "Add Tracks Above Selected" +msgstr "Afegir pistes sobre les seleccionades" + + +msgctxt "Operator" +msgid "Stop Editing Stashed Action" +msgstr "Deixar l'edició de l'acció estibada" + + +msgctxt "Operator" +msgid "Start Editing Stashed Action" +msgstr "Iniciar l'edició de l'acció estibada" + + +msgctxt "Operator" +msgid "Start Tweaking Strip Actions (Full Stack)" +msgstr "Iniciar la manipulació d'accions de segment (estiba completa)" + + +msgctxt "Operator" +msgid "Start Tweaking Strip Actions (Lower Stack)" +msgstr "Iniciar la manipulació d'accions de segment (estiba inferior)" + + +msgctxt "Operator" +msgid "Join in New Frame" +msgstr "Unir-se a fotograma nou" + + +msgctxt "Operator" +msgid "Remove from Frame" +msgstr "Suprimir del fotograma" + + +msgctxt "Operator" +msgid "Mute" +msgstr "Silenciar" + + +msgctxt "Operator" +msgid "Node Options" +msgstr "Opcions de node" + + +msgctxt "Operator" +msgid "Unconnected Sockets" +msgstr "Borns no connectats" + + +msgctxt "Operator" +msgid "Collapse" +msgstr "Replegar" + + +msgctxt "Operator" +msgid "Insert Into Group" +msgstr "Inserir al grup" + + +msgid "Projection X" +msgstr "Projecció X" + + +msgctxt "Operator" +msgid "Fit" +msgstr "Encaixar" + + +msgid "Node Editor Overlays" +msgstr "Superposicions d'editor de nodes" + + +msgid "Wire Colors" +msgstr "Colors de filat" + + +msgid "Context Path" +msgstr "Camí de context" + + +msgctxt "Operator" +msgid "Search..." +msgstr "Cercar..." + + +msgctxt "Operator" +msgid "Backdrop Move" +msgstr "Moure el darrere" + + +msgctxt "Operator" +msgid "Fit Backdrop to Available Space" +msgstr "Encaixar el darrera a l'espai disponible" + + +msgctxt "Operator" +msgid "Activate Same Type Previous" +msgstr "Activar el mateix tipus anterior" + + +msgctxt "Operator" +msgid "Activate Same Type Next" +msgstr "Activa el mateix tipus següent" + + +msgctxt "Operator" +msgid "Make and Replace Links" +msgstr "Crear i substituir enllaços" + + +msgctxt "Operator" +msgid "Node Preview" +msgstr "Previsualització del node" + + +msgctxt "Operator" +msgid "Select Grouped..." +msgstr "Seleccionar agrupats..." + + +msgctxt "Operator" +msgid "Find..." +msgstr "Trobar..." + + +msgctxt "Operator" +msgid "Link to Viewer" +msgstr "Enllaçar al visor" + + +msgctxt "Operator" +msgid "Exit Group" +msgstr "Sortir del grup" + + +msgctxt "Operator" +msgid "Online Manual" +msgstr "Manual en línia" + + +msgid "Inputs:" +msgstr "Ingressions:" + + +msgid "Timings" +msgstr "Temps" + + +msgid "Named Attributes" +msgstr "Atributs amb nom" + + +msgctxt "Operator" +msgid "Backdrop Zoom In" +msgstr "Acostar el darrere amb el zoom" + + +msgctxt "Operator" +msgid "Backdrop Zoom Out" +msgstr "Allunyar el darrere amb el zoom" + + +msgid "Slot %d" +msgstr "Epígraf %d" + + +msgctxt "Operator" +msgid "Edit" +msgstr "Editar" + + +msgctxt "Operator" +msgid "Clear Viewer" +msgstr "Descartar visor" + + +msgctxt "Operator" +msgid "Show One Level" +msgstr "Mostrar un nivell" + + +msgctxt "Operator" +msgid "Isolate" +msgstr "Aïllar" + + +msgctxt "Operator" +msgid "Show" +msgstr "Mostrar" + + +msgctxt "Operator" +msgid "Show All Inside" +msgstr "Mostra-ho tot dins" + + +msgctxt "Operator" +msgid "Hide All Inside" +msgstr "Ocultar-ho tot dins" + + +msgctxt "Operator" +msgid "Enable in Viewports" +msgstr "Habilitar en miradors" + + +msgctxt "Operator" +msgid "Disable in Viewports" +msgstr "Deshabilitar en miradors" + + +msgctxt "Operator" +msgid "Enable in Render" +msgstr "Habilitar en revelat" + + +msgctxt "Operator" +msgid "Disable in Render" +msgstr "Deshabilitar en revelat" + + +msgctxt "Operator" +msgid "Instance to Scene" +msgstr "Instància a escena" + + +msgctxt "Operator" +msgid "ID Data" +msgstr "Dades ID" + + +msgctxt "Operator" +msgid "Paste Data-Blocks" +msgstr "Enganxar blocs de dades" + + +msgid "All View Layers" +msgstr "Totes les capes de visualització" + + +msgid "Object Contents" +msgstr "Contingut d'objecte" + + +msgid "Object Children" +msgstr "Fills d'objecte" + + +msgid "Empties" +msgstr "Trivis" + + +msgctxt "Operator" +msgid "Hide One Level" +msgstr "Ocultar un nivell" + + +msgctxt "Collection" +msgid "New" +msgstr "Nou" + + +msgctxt "Operator" +msgid "Link to Scene" +msgstr "Enllaç a escena" + + +msgctxt "Operator" +msgid "Make" +msgstr "Crear" + + +msgctxt "Operator" +msgid "Troubleshoot" +msgstr "Previsió d'incidències" + + +msgid "Restriction Toggles" +msgstr "Revesadors de restriccions" + + +msgid "Sync Selection" +msgstr "Sincronitzar selecció" + + +msgid "System Overrides" +msgstr "Sobreseïments del sistema" + + +msgid "Others" +msgstr "Altres" + + +msgctxt "Operator" +msgid "Purge" +msgstr "Purgar" + + +msgid "No Keying Set Active" +msgstr "No hi ha cap joc de fites actiu" + + +msgid "Sync with Outliner" +msgstr "Sincronitzar amb inventari" + + +msgid "Lift:" +msgstr "Ombres:" + + +msgid "Gamma:" +msgstr "Migtons:" + + +msgid "Gain:" +msgstr "Ressaltats:" + + +msgid "Active Tools" +msgstr "Eines actives" + + +msgid "Color Tags" +msgstr "Etiquetes de color" + + +msgid "Offsets" +msgstr "Desplaçaments" + + +msgctxt "Operator" +msgid "Set Frame Range to Strips" +msgstr "Establir interval de fotogrames als segments" + + +msgctxt "Operator" +msgid "Setup" +msgstr "Configuració" + + +msgctxt "Operator" +msgid "Rebuild" +msgstr "Reconstruir" + + +msgctxt "Operator" +msgid "Refresh All" +msgstr "Refrescar-ho tot" + + +msgctxt "Operator" +msgid "Sequence Render Animation" +msgstr "Revelat d'animació de seqüència" + + +msgctxt "Operator" +msgid "Toggle Sequencer/Preview" +msgstr "Revesar seqüenciador/previsualització" + + +msgctxt "Operator" +msgid "Grouped" +msgstr "Agrupat" + + +msgctxt "Operator" +msgid "Path/Files" +msgstr "Camí/documents" + + +msgctxt "Operator" +msgid "Jump to Previous Strip" +msgstr "Saltar a segment anterior" + + +msgctxt "Operator" +msgid "Jump to Next Strip" +msgstr "Saltar a segment posterior" + + +msgctxt "Operator" +msgid "Jump to Previous Strip (Center)" +msgstr "Saltar a segment anterior (centre)" + + +msgctxt "Operator" +msgid "Jump to Next Strip (Center)" +msgstr "Saltar a segment posterior (center)" + + +msgctxt "Operator" +msgid "Movie" +msgstr "Pel·lícula" + + +msgctxt "Operator" +msgid "Sound" +msgstr "So" + + +msgctxt "Operator" +msgid "Image/Sequence" +msgstr "Imatge/seqüència" + + +msgctxt "Operator" +msgid "Fade" +msgstr "Esvair" + + +msgid "No Items Available" +msgstr "No hi ha elements disponibles" + + +msgctxt "Operator" +msgid "Sound Crossfade" +msgstr "Transició entre sons" + + +msgctxt "Operator" +msgid "Change Path/Files" +msgstr "Canviar camí/documents" + + +msgctxt "Operator" +msgid "Swap Data" +msgstr "Intercanviar dades" + + +msgctxt "Operator" +msgid "Slip Strip Contents" +msgstr "Traslladar contingut de segment" + + +msgid "Anchor X" +msgstr "Àncora X" + + +msgid "%14s" +msgstr "%14s" + + +msgid "Position X" +msgstr "Ubicació X" + + +msgid "Convert to Float" +msgstr "Convertir en flotant" + + +msgid "Preprocessed" +msgstr "Preprocessat" + + +msgid "Storage" +msgstr "Emmagatzematge" + + +msgctxt "Operator" +msgid "Set Overlay Region" +msgstr "Crear superposició" + + +msgid "Muted Strips" +msgstr "Segments silenciats" + + +msgid "Snap to Strips" +msgstr "Acoblar a segments" + + +msgid "Offset:" +msgstr "Decalatge:" + + +msgid "Power:" +msgstr "Potència:" + + +msgid "Slope:" +msgstr "Pendent:" + + +msgctxt "Operator" +msgid "Set Preview Range to Strips" +msgstr "Establir interval de previsualització als segments" + + +msgid "Preview as Backdrop" +msgstr "Previsualitzar per darrere" + + +msgid "Preview During Transform" +msgstr "Previsualitzar durant transformació" + + +msgctxt "Operator" +msgid "Zoom" +msgstr "Fer zoom" + + +msgctxt "Operator" +msgid "Fit Preview in Window" +msgstr "Ajustar previsualització a finestra" + + +msgctxt "Operator" +msgid "Sequence Render Image" +msgstr "Seqüència - revelar imatge" + + +msgctxt "Operator" +msgid "Both" +msgstr "Ambdós" + + +msgctxt "Operator" +msgid "Left" +msgstr "Esquerra" + + +msgctxt "Operator" +msgid "Right" +msgstr "Dreta" + + +msgctxt "Operator" +msgid "Both Neighbors" +msgstr "Ambdós veïns" + + +msgctxt "Operator" +msgid "Left Neighbor" +msgstr "Veí esquerre" + + +msgctxt "Operator" +msgid "Right Neighbor" +msgstr "Veí dret" + + +msgctxt "Operator" +msgid "Both Sides" +msgstr "Ambdós costats" + + +msgctxt "Operator" +msgid "Side of Frame..." +msgstr "Costat del fotograma..." + + +msgid "Handle" +msgstr "Nansa" + + +msgctxt "Operator" +msgid "Clip..." +msgstr "Clip..." + + +msgctxt "Operator" +msgid "Mask..." +msgstr "Màscara..." + + +msgctxt "Operator" +msgid "Color" +msgstr "Color" + + +msgctxt "Operator" +msgid "Text" +msgstr "Text" + + +msgctxt "Operator" +msgid "Adjustment Layer" +msgstr "Capa d'ajustament" + + +msgctxt "Operator" +msgid "Scene..." +msgstr "Escena..." + + +msgctxt "Operator" +msgid "Cross" +msgstr "Transició" + + +msgctxt "Operator" +msgid "Gamma Cross" +msgstr "Transició gamma" + + +msgctxt "Operator" +msgid "Wipe" +msgstr "Fregar" + + +msgctxt "Operator" +msgid "Subtract" +msgstr "Restar" + + +msgctxt "Operator" +msgid "Multiply" +msgstr "Multiplicar" + + +msgctxt "Operator" +msgid "Over Drop" +msgstr "Des de sobre" + + +msgctxt "Operator" +msgid "Alpha Over" +msgstr "Alfa per sobre" + + +msgctxt "Operator" +msgid "Alpha Under" +msgstr "Alfa per sota" + + +msgctxt "Operator" +msgid "Color Mix" +msgstr "Mescla de color" + + +msgctxt "Operator" +msgid "Multicam Selector" +msgstr "Selector multicàmera" + + +msgctxt "Operator" +msgid "Speed Control" +msgstr "Control de rapidesa" + + +msgctxt "Operator" +msgid "Glow" +msgstr "Lluentor" + + +msgctxt "Operator" +msgid "Gaussian Blur" +msgstr "Difuminat gaussià" + + +msgctxt "Operator" +msgid "Reload Strips and Adjust Length" +msgstr "Recarregar segments i ajustar longitud" + + +msgctxt "Operator" +msgid "Mute Unselected Strips" +msgstr "Silenciar segments no seleccionats" + + +msgctxt "Operator" +msgid "Unmute Deselected Strips" +msgstr "Dessilenciar segments desseleccionats" + + +msgctxt "Operator" +msgid "Hold Split" +msgstr "Mantenir partició" + + +msgctxt "Operator" +msgid "Position" +msgstr "Ubicació" + + +msgctxt "Operator" +msgid "Rotation" +msgstr "Rotació" + + +msgctxt "Operator" +msgid "All Transforms" +msgstr "Totes les transformacions" + + +msgctxt "Operator" +msgid "Scale To Fit" +msgstr "Escalar a encaix" + + +msgctxt "Operator" +msgid "Scale to Fill" +msgstr "Escalar a omplir" + + +msgctxt "Operator" +msgid "Stretch To Fill" +msgstr "Estirar a omplir" + + +msgid "Default Fade" +msgstr "Esvaïment predeterminat" + + +msgid "Strip Offset Start" +msgstr "Desplaçament d'inici de segment" + + +msgid "Hold Offset Start" +msgstr "Mantenir desplaçament d'inici" + + +msgid "Tracker" +msgstr "Rastrejador" + + +msgid "Resolutions" +msgstr "Resolucions" + + +msgid "Fractional Preview Zoom" +msgstr "Zoom de previsualització fraccional" + + +msgid "Show Separate Color Channels" +msgstr "Mostrar canals de color separats" + + +msgctxt "Operator" +msgid "Change Scene..." +msgstr "Canviar escena..." + + +msgctxt "Operator" +msgid "Clip" +msgstr "Segar" + + +msgctxt "Operator" +msgid "Move/Extend from Current Frame" +msgstr "Moure/estendre des del fotograma actual" + + +msgctxt "Operator" +msgid "Delete Strip & Data" +msgstr "Suprimir dades i segment" + + +msgctxt "Operator" +msgid "Copy Modifiers to Selection" +msgstr "Copiar modificadors a selecció" + + +msgctxt "Operator" +msgid "Clear Fade" +msgstr "Descartar esvaïment" + + +msgctxt "Operator" +msgid "Toggle Meta" +msgstr "Revesar meta" + + +msgid "Effect Fader" +msgstr "Efecte esvaïment" + + +msgid "Original Frame Range" +msgstr "Interval de fotogrames original" + + msgid "Pan Angle" msgstr "Angle d'escombratge" +msgid "Custom Proxy" +msgstr "Simulació personalitzada" + + +msgid "Add Transition" +msgstr "Afegir transició" + + +msgid "Unpack" +msgstr "Desempaquetar" + + +msgid "Pack" +msgstr "Empaquetar" + + +msgid "Original frame range: %d-%d (%d)" +msgstr "Interval de fotogrames original: %d-%d (%d)" + + +msgid "Source Channel" +msgstr "Canal d'origen" + + +msgid "Cut To" +msgstr "Retallar a" + + +msgid "Two or more channels are needed below this strip" +msgstr "Calen dos o més canals per sota d'aquest segment" + + +msgid "No active context" +msgstr "Sense context actiu" + + +msgid "No active viewer node" +msgstr "Sense node visor actiu" + + +msgid "Invalid id" +msgstr "Id no vàlid" + + +msgctxt "Text" +msgid "Wrap" +msgstr "Ajustar" + + +msgctxt "Text" +msgid "New" +msgstr "Nou" + + +msgctxt "Operator" +msgid "Word" +msgstr "Paraula" + + +msgctxt "Operator" +msgid "Find & Replace..." +msgstr "Cercar i reemplaçar..." + + +msgctxt "Operator" +msgid "Jump To..." +msgstr "Saltar a..." + + +msgctxt "Operator" +msgid "Replace All" +msgstr "Reemplaçar tot" + + +msgctxt "Operator" +msgid "Top" +msgstr "Dalt de tot" + + +msgctxt "Operator" +msgid "Bottom" +msgstr "Baix de tot" + + +msgctxt "Operator" +msgid "Line Begin" +msgstr "Inici de línia" + + +msgctxt "Operator" +msgid "Line End" +msgstr "Final de línia" + + +msgctxt "Operator" +msgid "Previous Line" +msgstr "Línia anterior" + + +msgctxt "Operator" +msgid "Next Line" +msgstr "Línia posterior" + + +msgctxt "Operator" +msgid "Previous Word" +msgstr "Paraula anterior" + + +msgctxt "Operator" +msgid "Next Word" +msgstr "Paraula posterior" + + +msgctxt "Operator" +msgid "One Object" +msgstr "Un objecte" + + +msgctxt "Operator" +msgid "One Object Per Line" +msgstr "Un objecte per línia" + + +msgctxt "Operator" +msgid "Move Line(s) Up" +msgstr "Moure línia/es amunt" + + +msgctxt "Operator" +msgid "Move Line(s) Down" +msgstr "Moure línia/es avall" + + +msgid "File: *%s (unsaved)" +msgstr "Document: *%s (sense desar)" + + +msgid "File: %s" +msgstr "Document: %s" + + +msgid "Text: External" +msgstr "Text: extern" + + +msgid "Text: Internal" +msgstr "Text: intern" + + +msgctxt "Operator" +msgid "Duplicate Marker" +msgstr "Duplicar marcador" + + +msgctxt "Operator" +msgid "Move Marker" +msgstr "Moure marcador" + + msgctxt "WindowManager" msgid "Keying" msgstr "Fites" +msgctxt "Operator" +msgid "Duplicate Marker to Scene..." +msgstr "Duplicar marcador a escena..." + + +msgctxt "Operator" +msgid "Duplicate Marker to Scene" +msgstr "Duplicar marcador a l'escena" + + +msgctxt "Operator" +msgid "Jump to Next Marker" +msgstr "Saltar al marcador següent" + + +msgctxt "Operator" +msgid "Jump to Previous Marker" +msgstr "Saltar al marcador anterior" + + +msgid "Scrubbing" +msgstr "Potinejar" + + +msgid "Limit to Frame Range" +msgstr "Limitar a interval de fotogrames" + + +msgid "Follow Current Frame" +msgstr "Seguir fotograma actual" + + +msgid "Play In" +msgstr "In reproducció" + + +msgid "Active Editor" +msgstr "Editor actiu" + + +msgid "Properties Editor" +msgstr "Editor de propietats" + + +msgid "Only Active Keying Set" +msgstr "Sols joc de fites actiu" + + +msgid "Layered Recording" +msgstr "Enregistrament en capes" + + +msgid " Operator" +msgstr " Operador" + + +msgid "Drag:" +msgstr "Arrossegar:" + + +msgid "Unable to find toolbar group" +msgstr "No es troba cap grup de barra d'eines" + + +msgid "" +"%s\n" +"• %s toggles snap while dragging.\n" +"• %s toggles dragging from the center.\n" +"• %s toggles fixed aspect" +msgstr "" +"%s\n" +"• %s revesa acoblament mentre arrossega.\n" +"• %s revesa arrossegament des del centre.\n" +"• %s revesa aspecte fix" + + +msgid "Depth:" +msgstr "Profunditat:" + + +msgid "Taper Start" +msgstr "Inici d'estrenyiment" + + +msgid "Weight: %.3f" +msgstr "Pes: %.3f" + + +msgid "" +"Measure distance and angles.\n" +"• %s anywhere for new measurement.\n" +"• Drag ruler segment to measure an angle.\n" +"• %s to remove the active ruler.\n" +"• Ctrl while dragging to snap.\n" +"• Shift while dragging to measure surface thickness" +msgstr "" +"Mesura distància i angles.\n" +"• %s a qualsevol lloc per a una nova mesura.\n" +"• Arrossega el segment del regle per a mesurar un angle.\n" +"• %s per eliminar el regle actiu.\n" +"• Ctrl mentre arrossegueu per acoblar.\n" +"• Maj mentre s'arrossega per mesurar el gruix de la superfície" + + +msgid "Annotation:" +msgstr "Anotació:" + + +msgid "Style Start" +msgstr "Inici d'estil" + + +msgid "Gizmos:" +msgstr "Flòstics:" + + +msgid "Miter Outer" +msgstr "Motllura enfora" + + +msgid "Intersections" +msgstr "Interseccions" + + +msgid "Angle Snapping Increment" +msgstr "Increment d'acoblament d'angle" + + +msgid "Add cube to mesh interactively" +msgstr "Afegir cub a malla interactivament" + + +msgid "Add cone to mesh interactively" +msgstr "Afegir con a malla interactivament" + + +msgid "Add cylinder to mesh interactively" +msgstr "Afegir cilindre a malla interactivament" + + +msgid "Add sphere to mesh interactively" +msgstr "Afegir esfera a malla interactivament" + + +msgctxt "Operator" +msgid "Install Application Template..." +msgstr "Instal·lar plantilla d'aplicació..." + + +msgctxt "Operator" +msgid "Unused Data-Blocks" +msgstr "Blocs de dades no utilitzats" + + +msgctxt "Operator" +msgid "Recursive Unused Data-Blocks" +msgstr "Blocs de dades no utilitzats recursius" + + +msgctxt "Operator" +msgid "Unused Linked Data-Blocks" +msgstr "Blocs de dades enllaçats sense utilitzar" + + +msgctxt "Operator" +msgid "Recursive Unused Linked Data-Blocks" +msgstr "Blocs de dades enllaçats recursius no usats" + + +msgctxt "Operator" +msgid "Unused Local Data-Blocks" +msgstr "Blocs de dades locals no utilitzats" + + +msgctxt "Operator" +msgid "Recursive Unused Local Data-Blocks" +msgstr "Blocs de dades locals recursius no utilitzats" + + +msgctxt "WindowManager" +msgid "New" +msgstr "Nou" + + +msgctxt "Operator" +msgid "Quit" +msgstr "Sortir" + + +msgctxt "Operator" +msgid "Last Session" +msgstr "Última sessió" + + +msgctxt "Operator" +msgid "Auto Save..." +msgstr "Autodesar..." + + +msgctxt "Operator" +msgid "Render Animation" +msgstr "Revelar animació" + + +msgctxt "Operator" +msgid "Render Audio..." +msgstr "Revelar àudio..." + + +msgctxt "Operator" +msgid "View Render" +msgstr "Visualitzar revelat" + + +msgctxt "Operator" +msgid "View Animation" +msgstr "Visualitzar animació" + + +msgctxt "Operator" +msgid "Repeat History..." +msgstr "Repetir l'historial..." + + +msgctxt "Operator" +msgid "Adjust Last Operation..." +msgstr "Ajustar última operació..." + + +msgctxt "Operator" +msgid "Menu Search..." +msgstr "Cerca amb menú..." + + +msgctxt "Operator" +msgid "Rename Active Item..." +msgstr "Reanomenar element actiu..." + + msgctxt "Operator" msgid "Batch Rename..." msgstr "Rebateig de repetició..." +msgctxt "Operator" +msgid "Preferences..." +msgstr "Preferències..." + + +msgctxt "Operator" +msgid "Reorder to Front" +msgstr "Reordenar a capdavant" + + +msgctxt "Operator" +msgid "Reorder to Back" +msgstr "Reordenar al darrere" + + +msgctxt "Operator" +msgid "Previous Workspace" +msgstr "Obrador anterior" + + +msgctxt "Operator" +msgid "Next Workspace" +msgstr "Obrador posterior" + + +msgid "Marker Name" +msgstr "Nom de marcador" + + +msgctxt "Operator" +msgid "Back to Previous" +msgstr "Tornar a anterior" + + +msgctxt "Operator" +msgid "Save Copy..." +msgstr "Desar còpia..." + + +msgctxt "Operator" +msgid "General" +msgstr "General" + + +msgctxt "Operator" +msgid "Load Factory Blender Settings" +msgstr "Carregar configuració de fàbrica de Blender" + + +msgctxt "Operator" +msgid "Collada (.dae)" +msgstr "Collada (.dae)" + + +msgctxt "Operator" +msgid "Alembic (.abc)" +msgstr "Alembic (.abc)" + + +msgctxt "Operator" +msgid "Universal Scene Description (.usd*)" +msgstr "Descripció de l'Escena Universal (.usd, .usdc, .usda)" + + +msgctxt "Operator" +msgid "SVG as Grease Pencil" +msgstr "SVG com a llapis de greix" + + +msgctxt "Operator" +msgid "Wavefront (.obj)" +msgstr "Wavefront (.obj)" + + +msgctxt "Operator" +msgid "Stanford PLY (.ply) (experimental)" +msgstr "Stanford PLY (.ply) (experimental)" + + +msgctxt "Operator" +msgid "STL (.stl) (experimental)" +msgstr "STL (.stl) (experimental)" + + +msgctxt "Operator" +msgid "Render Image" +msgstr "Revelar imatge" + + +msgctxt "Operator" +msgid "Operator Search..." +msgstr "Cerca d'operador..." + + +msgctxt "Operator" +msgid "Tutorials" +msgstr "Tutorials" + + +msgctxt "Operator" +msgid "Support" +msgstr "Suport" + + +msgctxt "Operator" +msgid "User Communities" +msgstr "Comunitats d'usuaris" + + +msgctxt "Operator" +msgid "Developer Community" +msgstr "Comunitat de desenvolupadors" + + +msgctxt "Operator" +msgid "Python API Reference" +msgstr "Referència de l'API de Python" + + +msgctxt "Operator" +msgid "Report a Bug" +msgstr "Informar de pífia" + + +msgid "Sequence Strip Name" +msgstr "Seqüència - nom de segment" + + +msgid "No active item" +msgstr "No hi ha cap element actiu" + + +msgid "No active marker" +msgstr "No hi ha cap marcador actiu" + + +msgctxt "Operator" +msgid "Grease Pencil as SVG" +msgstr "Llapis de greix com a SVG" + + +msgctxt "Operator" +msgid "Grease Pencil as PDF" +msgstr "Llapis de greix com a PDF" + + +msgctxt "Operator" +msgid "Developer Documentation" +msgstr "Documentació del desenvolupador" + + +msgid "Node Label" +msgstr "Etiqueta de node" + + +msgid "NLA Strip Name" +msgstr "Nom de segment d'ANL" + + +msgctxt "Operator" +msgid "Load Factory %s Settings" +msgstr "Carregar configuració de fàbrica %s" + + +msgid "Auto-Save Preferences" +msgstr "Autodesar preferències" + + +msgctxt "Operator" +msgid "Revert to Saved Preferences" +msgstr "Revertir a preferències desades" + + +msgid "Resolution Scale" +msgstr "Escala de resolució" + + +msgid "Splash Screen" +msgstr "Careta d'entrada" + + +msgid "User Tooltips" +msgstr "Pistes per a la usuària" + + +msgid "Hinting" +msgstr "Consells" + + +msgid "New Data" +msgstr "Dades noves" + + +msgid "Render In" +msgstr "In revelat" + + +msgid "Scene Statistics" +msgstr "Estadístiques d'escena" + + +msgid "Scene Duration" +msgstr "Durada d'escena" + + +msgid "System Memory" +msgstr "Memòria del sistema" + + +msgid "Video Memory" +msgstr "Memòria de vídeo" + + +msgid "Blender Version" +msgstr "Versió del Blender" + + +msgid "Top Level" +msgstr "Nivell superior" + + +msgid "Sub Level" +msgstr "Subnivell" + + +msgid "Link Materials To" +msgstr "Enllaçar materials a" + + +msgid "Align To" +msgstr "Alinear a" + + +msgid "Instance Empty Size" +msgstr "Mida d'instància de trivi" + + +msgid "Default Color" +msgstr "Color per defecte" + + +msgid "Eraser Radius" +msgstr "Radi d'esborrador" + + +msgid "Use Custom Colors" +msgstr "Usar colors personalitzats" + + +msgid "Sculpt Overlay Color" +msgstr "Color de bambolina d'esculpir" + + +msgid "Node Auto-Offset Margin" +msgstr "Marge d'autodesplaçament de node" + + +msgid "Minimum Grid Spacing" +msgstr "Espaiat mínim de quadrícula" + + +msgid "Only Insert Needed" +msgstr "Només cal inserir" + + +msgid "Auto-Keyframing" +msgstr "Autofotofitar" + + +msgid "Show Warning" +msgstr "Mostrar avís" + + +msgid "Only Insert Available" +msgstr "Només es pot inserir" + + +msgid "Enable in New Scenes" +msgstr "Habilita en escenes noves" + + +msgid "Unselected Opacity" +msgstr "Opacitat no seleccionada" + + +msgid "Default Smoothing Mode" +msgstr "Mode de suavitzat per defecte" + + +msgid "Default Interpolation" +msgstr "Interpolació per defecte" + + +msgid "Default Handles" +msgstr "Nanses per defecte" + + +msgid "Mixing Buffer" +msgstr "Memòria intermèdia de mescla" + + +msgid "Sample Format" +msgstr "Format de mostreig" + + +msgid "Make this installation your default Blender" +msgstr "Feu que aquesta instal·lació sigui el vostre Blender predeterminat" + + +msgctxt "Operator" +msgid "Make Default" +msgstr "Fer predeterminat" + + +msgid "Undo Memory Limit" +msgstr "Desfer límit de memòria" + + +msgid "Console Scrollback Lines" +msgstr "Línies visualitzades en la consola" + + +msgid "Garbage Collection Rate" +msgstr "Taxa de recollida de deixalles" + + +msgid "Cache Limit" +msgstr "Límit de memòria cau" + + +msgid "Text Info Overlay" +msgstr "Bambolina d'info de text" + + +msgid "View Name" +msgstr "Mostrar nom" + + +msgid "Playback Frame Rate (FPS)" +msgstr "Taxa de fotogrames en reproduir (FPS)" + + +msgid "3D Viewport Axes" +msgstr "Eixos del mirador 3D" + + +msgid "Smooth Wires" +msgstr "Suavitzar filats" + + +msgid "Limit Size" +msgstr "Limitar mida" + + +msgctxt "Operator" +msgid "Install..." +msgstr "Instal·lar..." + + +msgid "Axis X" +msgstr "Eix X" + + +msgid "Shadow Offset X" +msgstr "Desplaçament X d'ombra" + + +msgid "Panel Title" +msgstr "Títol del plafó" + + +msgid "Widget Label" +msgstr "Etiqueta de giny" + + msgid "Scripts" msgstr "Protocols" +msgid "Temporary Files" +msgstr "Documents temporals" + + +msgid "Render Output" +msgstr "Egressió de revelat" + + +msgid "Render Cache" +msgstr "Memòria cau de revelats" + + +msgid "I18n Branches" +msgstr "Branques I18n" + + +msgid "Excluded Paths" +msgstr "Camins exclosos" + + +msgid "Default To" +msgstr "Per defecte a" + + +msgid "Timer (Minutes)" +msgstr "Temporitzador (minuts)" + + +msgid "Show Locations" +msgstr "Mostrar ubicacions" + + +msgid "Double Click Speed" +msgstr "Velocitat del doble clic" + + +msgid "Zoom Method" +msgstr "Mètode de zoom" + + msgid "Pan Sensitivity" msgstr "Sensibilitat d'escombratge" +msgid "Swap Y and Z Axes" +msgstr "Intercanviar eixos Y i Z" + + msgid "Invert Axis Pan" msgstr "Inverteix escombratge d'eix" @@ -98359,6 +112230,133 @@ msgid "Invert Pan Axis" msgstr "Inverteix l'eix d'escombratge" +msgid "No custom MatCaps configured" +msgstr "No s'han configurat MatCaps personalitzats" + + +msgid "No custom HDRIs configured" +msgstr "No s'han configurat HDRIs personalitzats" + + +msgid "No custom Studio Lights configured" +msgstr "No s'han configurat llums d'estudi personalitzats" + + +msgid "Use Light" +msgstr "Usar llum" + + +msgctxt "Operator" +msgid "Save as Studio light" +msgstr "Desar com a llum d'estudi" + + +msgctxt "Operator" +msgid "Load Factory Blender Preferences" +msgstr "Carregar preferències de fàbrica del Blender" + + +msgid "Requires a restart of Blender to take effect" +msgstr "Requereix reiniciar el Blender perquè tingui efecte" + + +msgid "Player" +msgstr "Jugador" + + +msgid "Wheel" +msgstr "Roda" + + +msgid "Invert Wheel Zoom Direction" +msgstr "Invertir direcció del zoom de ròdol" + + +msgid "Fly/Walk" +msgstr "Volar/Caminar" + + +msgid "Multiple add-ons with the same name found!" +msgstr "S'han trobat múltiples complements amb el mateix nom!" + + +msgid "Delete one of each pair to resolve:" +msgstr "Suprimir-ne un de cada parell per a resoldre:" + + +msgid "Missing script files" +msgstr "S'han extraviat documents de protocol" + + +msgid "No custom %s configured" +msgstr "No s'ha configurat cap %s personalitzat" + + +msgid ":" +msgstr ":" + + +msgid "Load Factory %s Preferences" +msgstr "Carregar preferències de fàbrica %s" + + +msgid "Color Set %d" +msgstr "Joc de colors %d" + + +msgid "Color %d" +msgstr "Color %d" + + +msgid "Description:" +msgstr "Descripció:" + + +msgid "Location:" +msgstr "Ubicació:" + + +msgid "File:" +msgstr "Document:" + + +msgid "Author:" +msgstr "Autor:" + + +msgid "Version:" +msgstr "Versió:" + + +msgid "Warning:" +msgstr "Avís:" + + +msgid "Internet:" +msgstr "Internet:" + + +msgid "description" +msgstr "descripció" + + +msgid "location" +msgstr "ubicació" + + +msgctxt "Operator" +msgid "Documentation" +msgstr "Documentació" + + +msgid "Preferences:" +msgstr "Preferències:" + + +msgid "Error (see console)" +msgstr "Error (vegeu consola)" + + msgctxt "Operator" msgid "Interactive Mirror" msgstr "Mirall interactiu" @@ -98381,12 +112379,12 @@ msgstr "Perspectiva/Ortogràfic" msgctxt "Operator" msgid "Viewport Render Image" -msgstr "Imatge de revelat al mirador" +msgstr "Mirador - imatge de revelat" msgctxt "Operator" msgid "Viewport Render Keyframes" -msgstr "Fotofites de revalat al mirador" +msgstr "Mirador - fotofites de revelat" msgctxt "Operator" @@ -98406,12 +112404,32 @@ msgstr "Càmera" msgctxt "Operator" msgid "Orbit Opposite" -msgstr "Oposat en òrbita" +msgstr "Orbitar a l'inrevés" msgctxt "Operator" msgid "Zoom Region..." -msgstr "Zoom de regió..." +msgstr "Zoom a regió..." + + +msgctxt "Operator" +msgid "Dolly View..." +msgstr "Vista de Dolly..." + + +msgctxt "Operator" +msgid "Align Active Camera to View" +msgstr "Alinear la càmera activa a la vista" + + +msgctxt "Operator" +msgid "Align Active Camera to Selected" +msgstr "Alinear la càmera activa a seleccionat" + + +msgctxt "Operator" +msgid "Clipping Region..." +msgstr "Regió de segat..." msgctxt "Operator" @@ -98419,9 +112437,139 @@ msgid "Render Region..." msgstr "Revelar regió..." +msgctxt "Operator" +msgid "Child" +msgstr "Fill" + + +msgctxt "Operator" +msgid "Extend Parent" +msgstr "Estendre amb el pare" + + +msgctxt "Operator" +msgid "Extend Child" +msgstr "Estendre amb el fill" + + +msgctxt "Operator" +msgid "Select All by Type" +msgstr "Seleccionar-ho tot per tipus" + + +msgctxt "Operator" +msgid "Select Active Camera" +msgstr "Seleccionar càmera activa" + + +msgctxt "Operator" +msgid "Select Pattern..." +msgstr "Seleccionar patró..." + + +msgctxt "Operator" +msgid "Constraint Target" +msgstr "Referent de restricció" + + +msgctxt "Operator" +msgid "Roots" +msgstr "Arrels" + + +msgctxt "Operator" +msgid "Tips" +msgstr "Pistes" + + +msgctxt "Operator" +msgid "Face Regions" +msgstr "Regions de cares" + + +msgctxt "Operator" +msgid "Loose Geometry" +msgstr "Geometria solta" + + +msgctxt "Operator" +msgid "Interior Faces" +msgstr "Cares interiors" + + +msgctxt "Operator" +msgid "Faces by Sides" +msgstr "Cares per costats" + + +msgctxt "Operator" +msgid "Ungrouped Vertices" +msgstr "Vèrtexs no agrupats" + + +msgctxt "Operator" +msgid "Next Active" +msgstr "Actiu següent" + + +msgctxt "Operator" +msgid "Previous Active" +msgstr "Actiu anterior" + + +msgctxt "Operator" +msgid "Linked Flat Faces" +msgstr "Cares planes enllaçades" + + +msgctxt "Operator" +msgid "Side of Active" +msgstr "Costat de l'actiu" + + +msgctxt "Operator" +msgid "Similar" +msgstr "Similar" + + +msgctxt "Operator" +msgid "Set Color Attribute" +msgstr "Establir atribut de color" + + +msgctxt "Operator" +msgid "Levels" +msgstr "Nivells" + + +msgctxt "Operator" +msgid "Hue Saturation Value" +msgstr "Valor de saturació / to" + + +msgctxt "Operator" +msgid "Bright/Contrast" +msgstr "Brillantor/Contrast" + + +msgctxt "Operator" +msgid "Endpoints" +msgstr "Puntes finals" + + +msgctxt "Operator" +msgid "Grow" +msgstr "Créixer" + + +msgctxt "Operator" +msgid "Plane" +msgstr "Pla" + + msgctxt "Operator" msgid "Cube" -msgstr "Cube" +msgstr "Cub" msgctxt "Operator" @@ -98461,7 +112609,7 @@ msgstr "Mona" msgctxt "Operator" msgid "Bezier" -msgstr "Bézier" +msgstr "Bezier" msgctxt "Operator" @@ -98484,6 +112632,11 @@ msgid "Empty Hair" msgstr "Pèl buit" +msgctxt "Operator" +msgid "Fur" +msgstr "Pellan" + + msgctxt "Operator" msgid "Nurbs Surface" msgstr "Superfície Nurbs" @@ -98571,7 +112724,7 @@ msgstr "Descartar fotofites..." msgctxt "Operator" msgid "Change Keying Set..." -msgstr "Canviar conjunt de fites..." +msgstr "Canviar joc de fites..." msgctxt "Operator" @@ -98586,7 +112739,7 @@ msgstr "Precuinar malla a llapis de greix..." msgctxt "Operator" msgid "Bake Object Transform to Grease Pencil..." -msgstr "Precuinar Transformació d'objecte en llapis de greix..." +msgstr "Precuinar Transformació d'objecte a llapis de greix..." msgctxt "Operator" @@ -98740,11 +112893,26 @@ msgid "Locks" msgstr "Bloquetjos" +msgctxt "Operator" +msgid "Sphere" +msgstr "Esfera" + + msgctxt "Operator" msgid "Box Show" msgstr "Mostrar caixa" +msgctxt "Operator" +msgid "Toggle Visibility" +msgstr "Revesar visibilitat" + + +msgctxt "Operator" +msgid "Hide Active Face Set" +msgstr "Ocultar jocs de cares actius" + + msgctxt "Operator" msgid "Invert Visible" msgstr "Invertir visibles" @@ -98752,16 +112920,36 @@ msgstr "Invertir visibles" msgctxt "Operator" msgid "Hide Masked" -msgstr "Amagar emmascarat" +msgstr "Ocultar emmascarat" + + +msgctxt "Operator" +msgid "Box Add" +msgstr "Sumar capsa" + + +msgctxt "Operator" +msgid "Lasso Add" +msgstr "Sumar llaç" + + +msgctxt "Operator" +msgid "Fair Positions" +msgstr "Posicions raonables" + + +msgctxt "Operator" +msgid "Fair Tangency" +msgstr "Tangència raonable" msgid "Set Pivot" -msgstr "Detarminar pivot" +msgstr "Establir pivot" msgctxt "Operator" msgid "Transfer Sculpt Mode" -msgstr "Transferir mode escultura" +msgstr "Mode esculpir per transferència" msgctxt "Operator" @@ -98791,7 +112979,7 @@ msgstr "Suavitzar màscara" msgctxt "Operator" msgid "Sharpen Mask" -msgstr "Endurir màscara" +msgstr "Aguditzar màscara" msgctxt "Operator" @@ -98826,66 +113014,66 @@ msgstr "Expandir màscara per normals" msgctxt "Operator" msgid "Mask Slice and Fill Holes" -msgstr "Fragmentar màscara i omplir forats" +msgstr "Llescar amb màscara i omplir forats" msgctxt "Operator" msgid "Mask Slice to New Object" -msgstr "Fragmentar màscara a un objecte nou" +msgstr "Llescar amb màscara a objecte nou" msgctxt "Operator" msgid "Face Set from Masked" -msgstr "Conjunt de cares des de màscara" +msgstr "Joc de cares des de màscara" msgctxt "Operator" msgid "Face Set from Visible" -msgstr "Conjunt de cares des de visible" +msgstr "Joc de cares des de visible" msgctxt "Operator" msgid "Face Set from Edit Mode Selection" -msgstr "Conjunt de cares des de selecció de mode edició" +msgstr "Joc de cares des de selecció de mode edició" msgid "Initialize Face Sets" -msgstr "Inicialitzar conjunts de cares" +msgstr "Inicialitzar jocs de cares" msgctxt "Operator" msgid "Grow Face Set" -msgstr "Expandir conjunt de cares" +msgstr "Expandir joc de cares" msgctxt "Operator" msgid "Shrink Face Set" -msgstr "Encongit conjunt de cares" +msgstr "Encongir joc de cares" msgctxt "Operator" msgid "Expand Face Set by Topology" -msgstr "Expandir conjunt de cares per topologia" +msgstr "Expandir joc de cares per topologia" msgctxt "Operator" msgid "Expand Active Face Set" -msgstr "Expandir conjunt de cares actiu" +msgstr "Expandir joc de cares actiu" msgctxt "Operator" msgid "Extract Face Set" -msgstr "Extreure conjunt de cares" +msgstr "Extreure joc de cares" msgctxt "Operator" msgid "Invert Visible Face Sets" -msgstr "Invertir conjunts de cares visibles" +msgstr "Invertir jocs de cares visibles" msgctxt "Operator" msgid "Show All Face Sets" -msgstr "Mostrar tots els conjunts de cares" +msgstr "Mostrar tots els jocs de cares" msgctxt "Operator" @@ -98900,7 +113088,7 @@ msgstr "Pivotar a origen" msgctxt "Operator" msgid "Pivot to Unmasked" -msgstr "Pivotr a desemmascarat" +msgstr "Pivotar a desemmascarat" msgctxt "Operator" @@ -98925,7 +113113,7 @@ msgstr "Per parts soltes" msgctxt "Operator" msgid "By Face Set Boundaries" -msgstr "Per límits del conjunt de cares" +msgstr "Per límits de joc de cares" msgctxt "Operator" @@ -98945,22 +113133,22 @@ msgstr "Per costures UV" msgctxt "Operator" msgid "By Edge Creases" -msgstr "Per retencions d'arestes" +msgstr "Per doblecs d'arestes" msgctxt "Operator" msgid "By Edge Bevel Weight" -msgstr "Per forces de bisellat d'aresta" +msgstr "Per pesos de bisell d'aresta" msgctxt "Operator" msgid "By Sharp Edges" -msgstr "Per arestes cantelludes" +msgstr "Per cantells aguts" msgctxt "Operator" msgid "By Face Maps" -msgstr "Per Mapes de cares" +msgstr "Per mapes de cares" msgctxt "Operator" @@ -98970,7 +113158,7 @@ msgstr "Per vèrtex" msgctxt "Operator" msgid "Per Face Set" -msgstr "Per conjunt de cares" +msgstr "Per joc de cares" msgctxt "Operator" @@ -99014,27 +113202,27 @@ msgstr "Rebatejar os actiu..." msgctxt "Operator" msgid "Calculate Motion Paths" -msgstr "Calcular camins de rodatge" +msgstr "Calcular camins de moviment" msgctxt "Operator" msgid "Clear Motion Paths" -msgstr "Descartar camins de rodatge" +msgstr "Descartar camins de moviment" msgctxt "Operator" msgid "Update Armature Motion Paths" -msgstr "Actualitzar camins de rodatge d'esquelet" +msgstr "Actualitzar camins de moviment d'esquelet" msgctxt "Operator" msgid "Update All Motion Paths" -msgstr "Actualitzar tots els camins de rodatge" +msgstr "Actualitzar tots els camins de moviment" msgctxt "Operator" msgid "Sort Elements..." -msgstr "Ordenar els elements..." +msgstr "Ordenar elements..." msgctxt "Operator" @@ -99049,12 +113237,12 @@ msgstr "Nova aresta/cara des de vèrtexs" msgctxt "Operator" msgid "Connect Vertex Path" -msgstr "Connectar a camí de vèrtex" +msgstr "Connectar camí de vèrtex" msgctxt "Operator" msgid "Connect Vertex Pairs" -msgstr "Connectar a parells de vèrtex" +msgstr "Connectar parells de vèrtex" msgctxt "Operator" @@ -99089,7 +113277,7 @@ msgstr "Propagar a formes" msgctxt "Operator" msgid "Extrude Edges" -msgstr "Extrudir arestes vores" +msgstr "Extrudir arestes" msgctxt "Operator" @@ -99099,7 +113287,7 @@ msgstr "Eliminar agudesa dels vèrtexs" msgctxt "Operator" msgid "Extrude Faces" -msgstr "Extrudircares" +msgstr "Extrudir cares" msgctxt "Operator" @@ -99154,17 +113342,17 @@ msgstr "Suavitzar vectors" msgctxt "Operator" msgid "Smooth Faces" -msgstr "Suavitzar care" +msgstr "Suavitzar cares" msgctxt "Operator" msgid "Flat Faces" -msgstr "Cares aplanades" +msgstr "Aplanar cares" msgctxt "Operator" msgid "Sharp Edges" -msgstr "Arestes cantelludes" +msgstr "Cantells aguts" msgctxt "Operator" @@ -99247,11 +113435,11 @@ msgstr "Mostrar seleccionats" msgid "Show Gizmos" -msgstr "Mostra flòstics" +msgstr "Mostrar flòstics" msgid "Toggle Overlays" -msgstr "Revesar revestits" +msgstr "Revesar bambolines" msgid "Local Camera" @@ -99275,16 +113463,16 @@ msgstr "Mirar envers" msgid "Viewport Overlays" -msgstr "Revestits de miradors" +msgstr "Bambolines de miradors" msgctxt "View3D" msgid "Floor" -msgstr "Basament" +msgstr "Planta" msgid "Text Info" -msgstr "Infor del text" +msgstr "Info de text" msgid "Origins" @@ -99296,12 +113484,12 @@ msgstr "Origens (tots)" msgid "Creases" -msgstr "Retencions" +msgstr "Doblecs" msgctxt "Plural" msgid "Sharp" -msgstr "Agut(s)" +msgstr "Aguts" msgid "Seams" @@ -99309,7 +113497,7 @@ msgstr "Costures" msgid "Vertex Group Weights" -msgstr "Influències de grup de vèrtexs" +msgstr "Pesos de grup de vèrtexs" msgid "Mesh Analysis" @@ -99321,62 +113509,15267 @@ msgstr "Angle de cara" msgid "Edge Marks" -msgstr "Marques de vores" +msgstr "Marques d'aresta" msgid "Selection Opacity" msgstr "Opacitat de selecció" +msgid "Cage Opacity" +msgstr "Opacitat de gàbia" + + msgid "Zero Weights" -msgstr "Influències zero" +msgstr "Pesos zero" + + +msgid "Snap To" +msgstr "Acoblar a" + + +msgid "Fade Inactive Layers" +msgstr "Esvair capes inactives" + + +msgid "Brush Falloff" +msgstr "Decaïment de pinzell" + + +msgid "Curve Falloff" +msgstr "Decaïment de corba" + + +msgctxt "Operator" +msgid "Move Texture Space" +msgstr "Moure espai textura" + + +msgctxt "Operator" +msgid "Scale Texture Space" +msgstr "Escalar espai textura" + + +msgctxt "Operator" +msgid "Align to Transform Orientation" +msgstr "Alinear a orientació de transformació" + + +msgctxt "Operator" +msgid "Project from View (Bounds)" +msgstr "Projectar des de la vista (delimitat)" + + +msgctxt "Operator" +msgid "Viewport Render Animation" +msgstr "Mirador - revelar animació" + + +msgctxt "Operator" +msgid "Roll Left" +msgstr "Rodolar a l'esquerra" + + +msgctxt "Operator" +msgid "Roll Right" +msgstr "Rodolar a la dreta" + + +msgctxt "Operator" +msgid "Center Cursor and Frame All" +msgstr "Centrar el cursor i enquadrar tot" + + +msgctxt "Operator" +msgid "Non Manifold" +msgstr "No polivalent" + + +msgctxt "Operator" +msgid "Edge Rings" +msgstr "Anells d'aresta" + + +msgctxt "Operator" +msgid "Previous Block" +msgstr "Bloc anterior" + + +msgctxt "Operator" +msgid "Next Block" +msgstr "Bloc següent" + + +msgctxt "Operator" +msgid "Color Attribute" +msgstr "Atribut de color" + + +msgctxt "Operator" +msgid "Point Cloud" +msgstr "Núvol de punts" + + +msgctxt "Operator" +msgid "Armature" +msgstr "Esquelet" + + +msgctxt "Operator" +msgid "Lattice" +msgstr "Retícula" + + +msgctxt "Operator" +msgid "Collection Instance..." +msgstr "Instància de col·lecció..." + + +msgctxt "Operator" +msgid "No Collections to Instance" +msgstr "Instància sense col·lecció" + + +msgctxt "Operator" +msgid "Collection Instance" +msgstr "Instància de col·lecció" + + +msgctxt "Operator" +msgid "Shade Auto Smooth" +msgstr "Aspecció autosuavitzat" + + +msgctxt "Operator" +msgid "Delete Global" +msgstr "Suprimir global" + + +msgctxt "Operator" +msgid "Add Active" +msgstr "Afegir actiu" + + +msgctxt "Operator" +msgid "Add Passive" +msgstr "Afegir passiu" + + +msgid "Location to Deltas" +msgstr "Ubicació a deltes" + + +msgid "Rotation to Deltas" +msgstr "Rotació a deltes" msgid "Scale to Deltas" -msgstr "Escala als delta" +msgstr "Escalar a deltes" msgid "All Transforms to Deltas" msgstr "Totes les transformacions a deltes" +msgid "Visual Geometry to Mesh" +msgstr "Geometria visual a malla" + + +msgctxt "Operator" +msgid "Make Parent without Inverse (Keep Transform)" +msgstr "Fer pare sense inversió (mantenir transformació)" + + +msgctxt "Operator" +msgid "Limit Total Vertex Groups" +msgstr "Limitar el totl de grups de vèrtexs" + + +msgctxt "Operator" +msgid "Particle System" +msgstr "Sistema de partícules" + + +msgctxt "Operator" +msgid "Link Objects to Scene..." +msgstr "Enllaçar objectes a escena..." + + +msgctxt "Operator" +msgid "Hook to Selected Object Bone" +msgstr "Encadenar a l'objecte os seleccionat" + + +msgctxt "Operator" +msgid "Transfer Weights" +msgstr "Transferir pesos" + + +msgctxt "Operator" +msgid "Snap to Deformed Surface" +msgstr "Acoblar a superfície deformada" + + +msgctxt "Operator" +msgid "Snap to Nearest Surface" +msgstr "Acoblar a superfície més pròxima" + + +msgctxt "Operator" +msgid "Paste Pose Flipped" +msgstr "Enganxar posa invertida" + + +msgctxt "Operator" +msgid "To Next Keyframe" +msgstr "A fotofita següent" + + +msgctxt "Operator" +msgid "To Last Keyframe (Make Cyclic)" +msgstr "A última fotofita (fer cíclic)" + + +msgctxt "Operator" +msgid "On Selected Keyframes" +msgstr "Sobre fotofites seleccionades" + + +msgctxt "Operator" +msgid "On Selected Markers" +msgstr "Sobre marcadors seleccionats" + + +msgctxt "Operator" +msgid "Auto-Name Left/Right" +msgstr "Autoanomenar esquerre/dret" + + +msgctxt "Operator" +msgid "Auto-Name Front/Back" +msgstr "Autoanomenar anterior/posterior" + + +msgctxt "Operator" +msgid "Auto-Name Top/Bottom" +msgstr "Autoanomenar dalt/baix" + + +msgctxt "Operator" +msgid "Apply Selected as Rest Pose" +msgstr "Aplicar la selecció com a posa de repòs" + + +msgctxt "Operator" +msgid "Paste X-Flipped Pose" +msgstr "Enganxar posa invertida en X" + + +msgid "Vertex Context Menu" +msgstr "Menú contextual de vèrtex" + + +msgctxt "Operator" +msgid "Smooth Laplacian" +msgstr "Suavitzat laplacià" + + +msgid "Mirror Vertices" +msgstr "Emmirallar vèrtexs" + + +msgid "Snap Vertices" +msgstr "Acoblar vèrtexs" + + +msgid "Edge Context Menu" +msgstr "Menú contextual d'aresta" + + +msgid "Face Context Menu" +msgstr "Menú contextual de cara" + + +msgid "UV Unwrap Faces" +msgstr "Desembolcallar cares UV" + + +msgctxt "Operator" +msgid "Bevel Vertices" +msgstr "Bisellar vèrtexs" + + +msgctxt "Operator" +msgid "Bevel Edges" +msgstr "Bisellar arestes" + + +msgctxt "Operator" +msgid "Rotate Edge CW" +msgstr "Rotar aresta en sentit horari" + + +msgctxt "Operator" +msgid "Rotate Edge CCW" +msgstr "Rotar aresta en sentit antihorari" + + +msgctxt "Operator" +msgid "Clear Sharp" +msgstr "Eliminar agudesa" + + +msgctxt "Operator" +msgid "Mark Sharp from Vertices" +msgstr "Marcar agudesa des de vèrtexs" + + +msgctxt "Operator" +msgid "Custom Normal" +msgstr "Normal personalitzada" + + +msgctxt "Operator" +msgid "Face Area" +msgstr "Àrea de cara" + + +msgctxt "Operator" +msgid "Corner Angle" +msgstr "Angle cantoner" + + +msgctxt "Operator" +msgid "Recalculate Outside" +msgstr "Recalcular exterior" + + +msgctxt "Operator" +msgid "Recalculate Inside" +msgstr "Recalcular interior" + + +msgctxt "Operator" +msgid "Copy Vectors" +msgstr "Copiar vectors" + + +msgctxt "Operator" +msgid "Paste Vectors" +msgstr "Enganxar vectors" + + +msgctxt "Operator" +msgid "Reset Vectors" +msgstr "Reiniciar vectors" + + +msgctxt "Operator" +msgid "Smooth Edges" +msgstr "Suavitzar vores" + + +msgctxt "Operator" +msgid "Sharp Vertices" +msgstr "Aguditzar vèrtexs" + + +msgctxt "Operator" +msgid "Delete Segment" +msgstr "Suprimir segment" + + +msgctxt "Operator" +msgid "Delete Point" +msgstr "Suprimir punt" + + +msgctxt "Operator" +msgid "Copyright" +msgstr "Copyright" + + +msgctxt "Operator" +msgid "Registered Trademark" +msgstr "Marca registrada" + + +msgctxt "Operator" +msgid "Degree Sign" +msgstr "Signe de grau" + + +msgctxt "Operator" +msgid "Multiplication Sign" +msgstr "Signe de multiplicació" + + +msgctxt "Operator" +msgid "Superscript 1" +msgstr "Superíndex 1" + + +msgctxt "Operator" +msgid "Superscript 2" +msgstr "Superíndex 2" + + +msgctxt "Operator" +msgid "Superscript 3" +msgstr "Superíndex 3" + + +msgctxt "Operator" +msgid "Double >>" +msgstr "Doble >>" + + +msgctxt "Operator" +msgid "Double <<" +msgstr "Doble <<" + + +msgctxt "Operator" +msgid "Promillage" +msgstr "Permilatge" + + +msgctxt "Operator" +msgid "Dutch Florin" +msgstr "Florí neerlandès" + + +msgctxt "Operator" +msgid "British Pound" +msgstr "Lliura britànica" + + +msgctxt "Operator" +msgid "Japanese Yen" +msgstr "Yen japonès" + + +msgctxt "Operator" +msgid "German S" +msgstr "S alemanya" + + +msgctxt "Operator" +msgid "Spanish Question Mark" +msgstr "Interrogant espanyol" + + +msgctxt "Operator" +msgid "Spanish Exclamation Mark" +msgstr "Exclamació espanyola" + + +msgctxt "Operator" +msgid "Decrease Kerning" +msgstr "Disminuir cartera" + + +msgctxt "Operator" +msgid "Increase Kerning" +msgstr "Augmentar cartera" + + +msgctxt "Operator" +msgid "Reset Kerning" +msgstr "Reiniciar cartera" + + +msgctxt "Operator" +msgid "Previous Character" +msgstr "Caràcter anterior" + + +msgctxt "Operator" +msgid "Next Character" +msgstr "Caràcter posterior" + + +msgctxt "Operator" +msgid "To Uppercase" +msgstr "A majúscules" + + +msgctxt "Operator" +msgid "To Lowercase" +msgstr "A minúscules" + + +msgctxt "Operator" +msgid "Toggle Bold" +msgstr "Revesar negreta" + + +msgctxt "Operator" +msgid "Toggle Italic" +msgstr "Revesar cursiva" + + +msgctxt "Operator" +msgid "Toggle Underline" +msgstr "Revesar subratllat" + + +msgctxt "Operator" +msgid "Toggle Small Caps" +msgstr "Revesar versaleta" + + +msgctxt "Operator" +msgid "Set Roll" +msgstr "Establir gir" + + +msgctxt "Operator" +msgid "With Empty Groups" +msgstr "Amb grups buits" + + +msgctxt "Operator" +msgid "With Automatic Weights" +msgstr "Amb pesos automàtics" + + +msgctxt "Operator" +msgid "Paste by Layer" +msgstr "Enganxar per capa" + + +msgctxt "Operator" +msgid "Normalize Thickness" +msgstr "Normalitzar gruix" + + +msgctxt "Operator" +msgid "Normalize Opacity" +msgstr "Normalitzar opacitat" + + +msgctxt "Operator" +msgid "Insert Blank Keyframe (All Layers)" +msgstr "Inserir fotofita en blanc (totes les capes)" + + +msgctxt "Operator" +msgid "Duplicate Active Keyframe (All Layers)" +msgstr "Duplicar fotofita activa (totes les capes)" + + +msgctxt "Operator" +msgid "Hide Active Layer" +msgstr "Amagar capa activa" + + +msgctxt "Operator" +msgid "Hide Inactive Layers" +msgstr "Amagar capes inactives" + + +msgid "Toggle X-Ray" +msgstr "Revesar raigs-X" + + +msgid "To 3D Cursor" +msgstr "A cursor 3D" + + +msgid "Compositor not supported on this platform" +msgstr "El compositador no està suportat en aquesta plataforma" + + +msgid "Fade Inactive Geometry" +msgstr "Esvair geometria inactiva" + + +msgid "Marker Names" +msgstr "Noms de marcadors" + + +msgid "Developer" +msgstr "Desenvolupador" + + +msgid "Fade Geometry" +msgstr "Esvair geometria" + + +msgid "Reference Point" +msgstr "Punt de referència" + + +msgid "Only in Multiframe" +msgstr "Només en multifotograma" + + +msgid "Point Context Menu" +msgstr "Menú contextual de punt" + + +msgid "Stroke Context Menu" +msgstr "Menú contextual de traç" + + +msgctxt "Operator" +msgid "Reproject" +msgstr "Reprojectar" + + +msgid "Curve Shape" +msgstr "Forma de corba" + + +msgctxt "Operator" +msgid "Frame Selected (Quad View)" +msgstr "Enquadrar seleccionats (vista de quad)" + + +msgctxt "Operator" +msgid "Set Active Camera" +msgstr "Establir càmera activa" + + +msgctxt "Operator" +msgid "Assign Automatic from Bones" +msgstr "Assignar automàticament des d'ossos" + + +msgctxt "Operator" +msgid "Assign from Bone Envelopes" +msgstr "Assignar des de fundes d'os" + + +msgctxt "Operator" +msgid "Assign to Group" +msgstr "Assignar a grup" + + +msgctxt "Operator" +msgid "Randomize Vertices" +msgstr "Aleatoritzar vèrtexs" + + +msgctxt "Operator" +msgid "Delete Vertices" +msgstr "Suprimir vèrtexs" + + +msgctxt "Operator" +msgid "New Face from Edges" +msgstr "Nova cara des d'arestes" + + +msgctxt "Operator" +msgid "Delete Edges" +msgstr "Suprimir arestes" + + +msgctxt "Operator" +msgid "Bridge Faces" +msgstr "Unir cares" + + +msgctxt "Operator" +msgid "Delete Faces" +msgstr "Suprimir cares" + + +msgctxt "Operator" +msgid "Clear Freestyle Edge" +msgstr "Descartar aresta d'estil manual" + + +msgctxt "Operator" +msgid "Clear Freestyle Face" +msgstr "Descartar cara d'estil manual" + + +msgid "Specular Lighting" +msgstr "Llum especular" + + +msgid "Target Selection" +msgstr "Selecció de referent" + + +msgid "Exclude Non-Selectable" +msgstr "Excloure no seleccionables" + + +msgid "Custom Location" +msgstr "Ubicació personalitzada" + + +msgid "Material Name" +msgstr "Nom de material" + + +msgctxt "Operator" +msgid "Dissolve Between" +msgstr "Dissoldre entremig" + + +msgctxt "Operator" +msgid "Dissolve Unselected" +msgstr "Dissoldre no seleccionats" + + +msgid "Scaling" +msgstr "Escalat" + + +msgctxt "Operator" +msgid "Scale BBone" +msgstr "Escalar os-D" + + +msgctxt "Operator" +msgid "Adjust Focal Length" +msgstr "Ajustar longitud focal" + + +msgctxt "Operator" +msgid "Camera Lens Scale" +msgstr "Escala de lent de càmera" + + +msgid "Camera Lens Scale: %.3f" +msgstr "Escala de lent de càmera: %.3f" + + +msgctxt "Operator" +msgid "Adjust Extrusion" +msgstr "Ajustar extrusió" + + +msgid "Extrude: %.3f" +msgstr "Extrudir: %.3f" + + +msgctxt "Operator" +msgid "Adjust Offset" +msgstr "Ajustar desplaçament" + + +msgid "Offset: %.3f" +msgstr "Desplaçament: %.3f" + + +msgctxt "Operator" +msgid "Remove from All" +msgstr "Suprimir des de tot" + + +msgid "Disable Studio Light Edit" +msgstr "Desactivar edició de llum d'estudi" + + +msgid "Include Active" +msgstr "Incloure actius" + + +msgid "Include Edited" +msgstr "Incloure editats" + + +msgid "Include Non-Edited" +msgstr "Incloure no editats" + + +msgid "Object Location" +msgstr "Ubicació d'objecte" + + +msgctxt "Operator" +msgid "Scale Envelope Distance" +msgstr "Escalar distància de funda" + + +msgctxt "Operator" +msgid "Scale Radius" +msgstr "Escalar radi" + + +msgid "Camera Focal Length: %.1fmm" +msgstr "Longitud focal de càmera: %.1fmm" + + +msgid "Camera Focal Length: %.1f°" +msgstr "Longitud focal de càmera: %.1f°" + + +msgctxt "Operator" +msgid "DOF Distance (Pick)" +msgstr "Distància PDC (clic)" + + +msgctxt "Operator" +msgid "Adjust Focus Distance" +msgstr "Ajustar distància d'enfocament" + + +msgid "Focus Distance: %.3f" +msgstr "Distància d'enfocament: %.3f" + + +msgctxt "Operator" +msgid "Adjust Empty Display Size" +msgstr "Ajustar mida de presetanció de trivi" + + +msgid "Empty Display Size: %.3f" +msgstr "Mida de presentació de trivi: %.3f" + + +msgid "Ridge" +msgstr "Cresta" + + +msgid "Valley" +msgstr "Vall" + + +msgid "No object selected, using cursor" +msgstr "Sense objecte seleccionat, s'usarà el cursor" + + +msgid "Draw Grease Pencil" +msgstr "Dibuixar amb llapis de greix" + + +msgid "Sculpt Grease Pencil" +msgstr "Esculpir amb llapis de greix" + + +msgid "Weight Grease Pencil" +msgstr "Pesos amb llapis de greix" + + +msgid "Vertex Grease Pencil" +msgstr "Vèrtex de llapis de greix" + + +msgctxt "Operator" +msgid "Adjust Light Power" +msgstr "Ajustar potència de llum" + + +msgid "Light Power: %.3f" +msgstr "Potència de llum: %.3f" + + +msgctxt "Operator" +msgid "Adjust Spot Light Size" +msgstr "Ajustar mida de llum de focus" + + +msgid "Spot Size: %.2f" +msgstr "Mida de focus: %.2f" + + +msgctxt "Operator" +msgid "Adjust Spot Light Blend" +msgstr "Ajustar fusió de llum de focus" + + +msgid "Spot Blend: %.2f" +msgstr "Fusió de focus: %.2f" + + +msgctxt "Operator" +msgid "Adjust Area Light X Size" +msgstr "Ajustar mida de llum d'àrea X" + + +msgid "Light Size X: %.3f" +msgstr "Mida de llum X: %.3f" + + +msgctxt "Operator" +msgid "Adjust Area Light Y Size" +msgstr "Ajustar mida de llum d'àrea Y" + + +msgid "Light Size Y: %.3f" +msgstr "Mida de llum Y: %.3f" + + +msgctxt "Operator" +msgid "Adjust Area Light Size" +msgstr "Ajustar mida de llum d'àrea" + + +msgid "Light Size: %.3f" +msgstr "Mida de llum: %.3f" + + +msgctxt "Operator" +msgid "Adjust Light Radius" +msgstr "Ajustar radi de llum" + + +msgid "Light Radius: %.3f" +msgstr "Radi de llum: %.3f" + + +msgctxt "Operator" +msgid "Adjust Sun Light Angle" +msgstr "Ajustar angle de llum solar" + + +msgid "Light Angle: %.3f" +msgstr "Angle de llum: %.3f" + + +msgid "Distance Min" +msgstr "Distància mín" + + +msgid "Count Max" +msgstr "Nombre màx" + + +msgid "Layer:" +msgstr "Capa:" + + +msgid "Affect Only" +msgstr "Afectar sols" + + +msgid "Locations" +msgstr "Ubicacions" + + +msgid "Parents" +msgstr "Pares" + + +msgid "Refine Method" +msgstr "Mètode refinat" + + +msgid "Detailing" +msgstr "Detallant" + + +msgctxt "Operator" +msgid "Remesh" +msgstr "Remallar" + + +msgid "Tile Offset" +msgstr "Desplaçament de tessel·les" + + +msgid "Auto Normalize" +msgstr "Autonormalitzar" + + +msgid "Lock-Relative" +msgstr "Bloquejar-relatiu" + + +msgid "Multi-Paint" +msgstr "Multi-Pintura" + + +msgctxt "Operator" +msgid "Quick Edit" +msgstr "Edició ràpida" + + +msgctxt "Operator" +msgid "Apply" +msgstr "Aplicar" + + +msgctxt "Operator" +msgid "Apply Camera Image" +msgstr "Aplicar imatge de càmera" + + +msgid "Editing Type" +msgstr "Tipus d'edició" + + +msgid "Strand Lengths" +msgstr "Longituds de filaments" + + +msgid "Root Positions" +msgstr "Posicions d'arrels" + + +msgid "Path Steps" +msgstr "Passos de camí" + + +msgid "No Brushes currently available" +msgstr "No hi ha pinzells disponible" + + +msgid "UV Map Needed" +msgstr "Cal mapa UV" + + +msgid "Point cache must be baked" +msgstr "S'ha de precuinar memòria cau dels punts" + + +msgid "in memory to enable editing!" +msgstr "en memòria per a habilitar edició!" + + +msgid "Auto-Velocity" +msgstr "Autovelocitat" + + +msgid "No Textures" +msgstr "Sense textures" + + +msgctxt "Operator" +msgid "Add UVs" +msgstr "Afegir UVs" + + +msgid "Ignore Transparent" +msgstr "Ignorar transparent" + + +msgid "User Library" +msgstr "Biblioteca d'usadors" + + +msgid "Modifier requires original data, bad stack position" +msgstr "El modificador requereix dades originals, posició incorrecta en estiba" + + +msgid "Not supported in dyntopo" +msgstr "No suportat al dyntopo" + + +msgid "Not supported in sculpt mode" +msgstr "No suportat en mode escultura" + + +msgid "No AnimData to set action on" +msgstr "No hi ha animacions on establir l'acció" + + +msgid "Cannot change action, as it is still being edited in NLA" +msgstr "No es pot canviar l'acció, ja que encara s'està editant a l'ANL" + + +msgid "Could not set action '%s' onto ID '%s', as it does not have suitably rooted paths for this purpose" +msgstr "No s'ha pogut establir l'acció '%s' sobre ID '%s', ja que no té camins amb arrel adequada a aquest propòsit" + + +msgid "KeyingSet" +msgstr "Joc de fites" + + +msgid ", cannot have single-frame paths" +msgstr ", no es poden tenir camins per un sol fotograma" + + +msgid "Motion path frame extents invalid for %s (%d to %d)%s" +msgstr "El fotograma del trajecte de moviment no és vàlid per a %s (%d a %d)%s" + + +msgid "Documents" +msgstr "Documents" + + +msgid "Attribute name can not be empty" +msgstr "El nom de l'atribut no pot estar buit" + + +msgid "Attribute is not part of this geometry" +msgstr "L'atribut no forma part d'aquesta geometria" + + +msgid "Attribute domain not supported by this geometry type" +msgstr "El domini d'atribut no és compatible amb aquest tipus de geometria" + + +msgid "The attribute name must not be empty" +msgstr "El nom de l'atribut no pot estar buit" + + +msgid "Attribute is required and can't be removed" +msgstr "Es requereix un atribut i no es pot eliminar" + + +msgid "Library file, loading empty scene" +msgstr "Document de biblioteca, s'està carregant una escena buida" + + +msgid "Preferences saved" +msgstr "Preferències desades" + + +msgid "Saving preferences failed" +msgstr "Ha fallat el desat de preferències" + + +msgid "Unable to create userpref path" +msgstr "No s'ha pogut crear el camí userpref" + + +msgid "Unable to create app-template userpref path" +msgstr "No s'ha pogut crear el camí «userpref» a la plantilla de l'app" + + +msgid "File written by newer Blender binary (%d.%d), expect loss of data!" +msgstr "Document escrit per un binari Blender més recent (%d.%d), espereu pèrdua de dades!" + + +msgid "File could not be read, critical data corruption detected" +msgstr "No s'ha pogut llegir el document, s'ha detectat corrupció de dades crítiques" + + +msgid "Loading failed: " +msgstr "Càrrega fallida: " + + +msgid "Loading \"%s\" failed: " +msgstr "Càrrega fallida \"%s\": " + + +msgid "Linked Data" +msgstr "Dades enllaçades" + + +msgid "Appended Data" +msgstr "Dades incorporades" + + +msgid "Proxies have been removed from Blender (%d proxies were automatically converted to library overrides, %d proxies could not be converted and were cleared). Consider re-saving any library .blend file with the newest Blender version" +msgstr "S'han eliminat les simulacions del Blender (%d simulacions s'han convertit automàticament a sobreseïments de biblioteca, %d simulacions no s'han pogut convertir i s'han descartat). Considereu de tornar a desar qualsevol document de biblioteca .blend amb la versió més recent del Blender" + + +msgid "Linking or appending from a very old .blend file format (%d.%d), no animation conversion will be done! You may want to re-save your lib file with current Blender" +msgstr "Enllaçant o afegint d'un format de document .blend molt antic (%d.%d), no es farà cap conversió d'animació! És possible que vulgueu desar de nou el document lib amb el Blender actual" + + +msgid "Lib Reload: Replacing all references to old data-block '%s' by reloaded one failed, old one (%d remaining users) had to be kept and was renamed to '%s'" +msgstr "Recàrrega de bib: la substitució de totes les referències al bloc de dades antic '%s' per la recàrrega u ha fallat, s'ha hagut de conservar l'antiga (%d usadors restants) i s'ha reanomenat a '%s'" + + +msgid "Path '%s' not found" +msgstr "No s'ha trobat el camí '%s'" + + +msgid "No missing files" +msgstr "No falten documents" + + +msgid "Could not open the directory '%s'" +msgstr "No s'ha pogut obrir el directori '%s'" + + +msgid "Could not find '%s' in '%s'" +msgstr "No s'ha pogut trobar '%s' a '%s '" + + +msgid "Path '%s' cannot be made absolute" +msgstr "El camí '%s' no es pot fer absolut" + + +msgid "Total files %d | Changed %d | Failed %d" +msgstr "Documents totals %d | Canviats %d| Errors %d" + + +msgid "Path '%s' cannot be made relative" +msgstr "El camí '%s' no es pot fer relatiu" + + +msgid "Can't initialize cloth" +msgstr "La tela no es pot inicialitzar" + + +msgid "Null cloth object" +msgstr "Objecte tela nul" + + +msgid "Out of memory on allocating clmd->clothObject" +msgstr "Falta memòria per assignar clmd->clothObject" + + +msgid "Cannot build springs" +msgstr "No es poden crear tensors" + + +msgid "Out of memory on allocating clmd->clothObject->verts" +msgstr "Fatal memòria per assignar clmd->clothObject->verts" + + +msgid "Out of memory on allocating clmd->clothObject->looptri" +msgstr "Falta memòria per assignar clmd->clothObject->looptri" + + +msgid "Scene Collection" +msgstr "Col·lecció d'escenes" + + +msgid "Collection %d" +msgstr "Col·lecció %d" + + +msgid "Const" +msgstr "Const" + + +msgid "IK" +msgstr "CI" + + +msgid "Crazyspace transformation is only available for Mesh type of objects" +msgstr "Les transformacions poti-poti només estan disponibles per al tipus d'objecte malla" + + +msgid "Invalid vertex index %d (expected to be within 0 to %d range)" +msgstr "Índex de vèrtex no vàlid %d ( s'espera que estigui en un rang d'entre 0 i %d )" + + +msgid "At least two points required" +msgstr "Calen almenys dos punts" + + +msgid "Must have more control points than Order" +msgstr "Calen més punts de control que l'ordre" + + +msgid "%d more %s row(s) needed for Bezier" +msgstr "Calen %d més %s files per a bezier" + + +msgid "%d more point(s) needed for Bezier" +msgstr "Calen %d punts més per a bezier" + + +msgid "UVMap" +msgstr "MapaUV" + + +msgid "Col" +msgstr "Col" + + +msgid "Int" +msgstr "Ent" + + +msgid "PreviewCol" +msgstr "ColPrevis" + + +msgid "TexturedCol" +msgstr "ColTexturat" + + +msgid "Recast" +msgstr "Refondre" + + +msgid "NGon Face" +msgstr "Cara Ngonal" + + +msgid "NGon Face-Vertex" +msgstr "Vèrtex de cara ngonal" + + +msgid "ShapeKey" +msgstr "Morfofita" + + +msgid "OS Loop" +msgstr "Bucle del SO" + + +msgid "PreviewLoopCol" +msgstr "BucleColPrevis" + + +msgid "Int8" +msgstr "Ent8" + + +msgid "Float3" +msgstr "Flotant3" + + +msgid "Float2" +msgstr "Flotant2" + + +msgid "Source and destination meshes do not have the same amount of vertices, 'Topology' mapping cannot be used in this case" +msgstr "Les malles d'origen i destinació no tenen la mateixa quantitat de vèrtexs, en aquest cas no es pot utilitzar el mapejat de «topologia»" + + +msgid "Source mesh doesn't have any edges, None of the 'Edge' mappings can be used in this case" +msgstr "La malla d'origen no té cap aresta, en aquest cas no es pot utilitzar cap mapejat de «arestes»" + + +msgid "Source mesh doesn't have any faces, None of the 'Face' mappings can be used in this case" +msgstr "La malla d'origen no té cap cara, en aquest cas no es pot utilitzar cap mapejat de «cara»" + + +msgid "Source or destination meshes do not have any vertices, cannot transfer vertex data" +msgstr "Les malles d'origen o destinació no tenen vèrtexs, no es poden transferir dades de vèrtexs" + + +msgid "Source and destination meshes do not have the same amount of edges, 'Topology' mapping cannot be used in this case" +msgstr "Les malles d'origen i destinació no tenen la mateixa quantitat d'arestes, en aquest cas no es pot utilitzar el mapejat de «topologia»" + + +msgid "Source or destination meshes do not have any edges, cannot transfer edge data" +msgstr "Les malles d'origen o destinació no tenen arestes, no es poden transferir dades d'arestes" + + +msgid "Source and destination meshes do not have the same amount of face corners, 'Topology' mapping cannot be used in this case" +msgstr "Les malles d'origen i destinació no tenen la mateixa quantitat de cantonades de cares, en aquest cas no es pot utilitzar el mapejat de «topologia»" + + +msgid "Source or destination meshes do not have any faces, cannot transfer corner data" +msgstr "Les malles d'origen o destinació no tenen cap cara, no es poden transferir les dades de cantonades" + + +msgid "Source and destination meshes do not have the same amount of faces, 'Topology' mapping cannot be used in this case" +msgstr "Les malles d'origen i destinació no tenen la mateixa quantitat de cares, en aquest cas no es pot utilitzar el mapejat de «topologia»" + + +msgid "Source or destination meshes do not have any faces, cannot transfer face data" +msgstr "Les malles d'origen o destinació no tenen cap cara, no es poden transferir les dades de cares" + + +msgid "Not enough free memory" +msgstr "Falta memòria disponible" + + +msgid "Canvas mesh not updated" +msgstr "Malla de llenç no actualitzada" + + +msgid "Cannot bake non-'image sequence' formats" +msgstr "No es poden precuinar formats que no siguin de seqüència d'imatges" + + +msgid "No UV data on canvas" +msgstr "No hi ha dades UV al llenç" + + +msgid "Invalid resolution" +msgstr "Resolució no vàlida" + + +msgid "Image save failed: invalid surface" +msgstr "Ha fallat el desat d'imatge: superfície no vàlida" + + +msgid "Image save failed: not enough free memory" +msgstr "Ha fallat el desat d'imatge: memòria insuficient" + + +msgctxt "Brush" +msgid "Surface" +msgstr "Superfície" + + +msgctxt "Action" +msgid "var" +msgstr "var" + + +msgid "Generator" +msgstr "Generador" + + +msgid "Built-In Function" +msgstr "Funció integrada" + + +msgid "Stepped" +msgstr "Esglaonat" + + +msgid " attribute from geometry" +msgstr " atribut des de geometria" + + +msgid "ID / Index" +msgstr "ID / Índex" + + +msgid " from " +msgstr " des de " + + +msgid "GP_Layer" +msgstr "GP_Layer" + + +msgid "Cannot pack multiview images from raw data currently..." +msgstr "No s'ha pogut empaquetar imatges multivista des de dades actualment en brut..." + + +msgid "Cannot pack tiled images from raw data currently..." +msgstr "No s'han pogut empaquetar imatges en mosaic a partir de dades actualment en brut..." + + +msgid "Did not write, no Multilayer Image" +msgstr "No s'ha escrit, no hi ha imatge multicapa" + + +msgid "Did not write, unexpected error when saving stereo image" +msgstr "No s'ha escrit, error inesperat en desar la imatge estèreo" + + +msgid "Could not write image: %s" +msgstr "No s'ha pogut escriure la imatge: %s" + + +msgid "When saving a tiled image, the path '%s' must contain a valid UDIM marker" +msgstr "En desar una imatge en mosaic, el camí '%s' ha de contenir un marcador UDIM vàlid" + + +msgid "Error writing render result, %s (see console)" +msgstr "Error en escriure resultat de revelat, %s (vegeu consola)" + + +msgid "Render error (%s) cannot save: '%s'" +msgstr "Error de revelat (%s) no es pot desar: '%s'" + + +msgid "Key %d" +msgstr "Fita %d" + + +msgid "Impossible to resync data-block %s and its dependencies, as its linked reference is missing" +msgstr "Impossible de sincronitzar el bloc de dades %s i les seves dependències, ja que falta la referència enllaçada" + + +msgid "During resync of data-block %s, %d obsolete overrides were deleted, that had local changes defined by user" +msgstr "Durant la sincronització del bloc de dades %s, s'han eliminat %d sobreseïments obsolets, que tenien canvis locals definits per la usuària" + + +msgid "Data corruption: data-block '%s' is using itself as library override reference" +msgstr "Corrupció de dades: el bloc de dades '%s' s'està utilitzant a si mateix com a referència de sobreseïment de biblioteca" + + +msgid "Data corruption: data-block '%s' is using another local data-block ('%s') as library override reference" +msgstr "Corrupció de dades: el bloc de dades '%s' està usant un altre bloc de dades local ('%s') com a referència de sobreseïment de biblioteca" + + +msgid "MaskLayer" +msgstr "CapaMàscara" + + +msgid "Tangent space can only be computed for tris/quads, aborting" +msgstr "L'espai tangencial només es pot calcular per a tris/quads, avortant" + + +msgid "Tangent space computation needs loop normals, none found, aborting" +msgstr "El càlcul d'espai tangencial requereix normals de bucle, i no se n'ha trobat cap, avortant" + + +msgid "Tangent space computation needs a UV Map, \"%s\" not found, aborting" +msgstr "El càlcul d'espai tangencial requereix un mapa UV, no s'ha trobat \"%s\", avortant" + + +msgid "Possible data loss when saving this file! %s modifier is deprecated (Object: %s)" +msgstr "Possible pèrdua de dades en desar aquest document! El modificador %s està obsolet (objecte: %s)" + + +msgid "NlaTrack" +msgstr "Pista ANL" + + +msgid "NlaStrip" +msgstr "Segment ANL" + + +msgid "[Action Stash]" +msgstr "[Estiba d'acció]" + + +msgid "Non-Empty object '%s' cannot duplicate collection '%s' anymore in Blender 2.80, removed instancing" +msgstr "L'objecte no buit '%s' ja no pot duplicar la col·lecció '%s' a Blender 2.80, instanciació eliminada" + + +msgid "Proxy lost from object %s lib %s" +msgstr "Simulació extraviada de l'objecte %s bib %s" + + +msgid "Proxy lost from object %s lib " +msgstr "Simulació extraviada de l'objecte %s bib " + + +msgid "Can't find object data of %s lib %s" +msgstr "No es troben les dades d'objecte de %s bib %s" + + +msgid "Object %s lost data" +msgstr "L'objecte %s ha perdut dades" + + +msgid "Surf" +msgstr "Superf" + + +msgid "Mball" +msgstr "Mbola" + + +msgid "PointCloud" +msgstr "NúvPunts" + + +msgid "GPencil" +msgstr "Llapis-dG" + + +msgid "LightProbe" +msgstr "SondaLlum" + + +msgid "FaceMap" +msgstr "MapCares" + + +msgid "No new files have been packed" +msgstr "No s'han empaquetat documents nous" + + +msgid "Unable to pack file, source path '%s' not found" +msgstr "No es pot empaquetar el document, camí d'origen '%s' il·localitzable" + + +msgid "Image '%s' skipped, packing movies or image sequences not supported" +msgstr "S'ha omès la imatge «%s», no suportat empaquetar pel·lícules o seqüències d'imatges" + + +msgid "Packed %d file(s)" +msgstr "Document(s) %d empaquetat(s)" + + +msgid "Error creating file '%s'" +msgstr "Error en crear document '%s'" + + +msgid "Error writing file '%s'" +msgstr "Error escrivint document '%s '" + + +msgid "Saved packed file to: %s" +msgstr "S'ha desat el document empaquetat a: %s" + + +msgid "Error restoring temp file (check files '%s' '%s')" +msgstr "Error en restaurar document temporal (comproveu documents '%s' '%s')" + + +msgid "Error deleting '%s' (ignored)" +msgstr "Error suprimint '%s' (ignorat)" + + +msgid "Use existing file (instead of packed): %s" +msgstr "Useu document existent ( en lloc de l'empaquetat ): %s" + + +msgid "Cannot pack absolute file: '%s'" +msgstr "No es pot empaquetar document absolut: '%s'" + + +msgid "Cannot unpack individual Library file, '%s'" +msgstr "No es pot desempaquetar el document de biblioteca individual, '%s'" + + +msgid "ParticleSystem" +msgstr "SistemaPartícules" + + +msgid "ParticleSettings" +msgstr "ConfigPartícules" + + +msgid "%i frames found!" +msgstr "%i fotogrames trobats!" + + +msgid "%i points found!" +msgstr "%i punts trobats!" + + +msgid "No valid data to read!" +msgstr "Sense dades vàlides per llegir!" + + +msgid "%i cells + High Resolution cached" +msgstr "%i cel·les + memòria cau d'alta resolució" + + +msgid "%i cells cached" +msgstr "%i cel·les en memòria cau" + + +msgid "%i frames on disk" +msgstr "%i fotogrames al disc" + + +msgid "%s frames in memory (%s)" +msgstr "%s fotogrames en memòria (%s)" + + +msgid "%s, cache is outdated!" +msgstr "%s, la memòria cau està obsoleta!" + + +msgid "%s, not exact since frame %i" +msgstr "%s, no és exacte des del fotograma %i" + + +msgid "Warning" +msgstr "Avís" + + +msgid "Invalid Input Error" +msgstr "Error d'ingressió no vàlid" + + +msgid "Invalid Context Error" +msgstr "Error de context no vàlid" + + +msgid "Out Of Memory Error" +msgstr "Error de falta de memòria" + + +msgid "Undefined Type" +msgstr "Tipus no definit" + + +msgid "Can't add Rigid Body to non mesh object" +msgstr "No es pot afegir cos rígid a un objecte que és malla" + + +msgid "Can't create Rigid Body world" +msgstr "No es pot crear món de cos rígid" + + +msgid "Compiled without Bullet physics engine" +msgstr "Compilat sense motor de física Bullet" + + +msgid "LIB: object lost from scene: '%s'" +msgstr "BIB: objecte perdut de l'escena: '%s'" + + +msgid "RenderView" +msgstr "VisRevelat" + + +msgctxt "MovieClip" +msgid "Plane Track" +msgstr "Rastreig de pla" + + +msgid "At least 8 common tracks on both keyframes are needed for reconstruction" +msgstr "Calen almenys 8 rastres comuns en ambdues fotofites per a la reconstrucció" + + +msgid "Blender is compiled without motion tracking library" +msgstr "El Blender es compila sense biblioteca de rastreig de moviment" + + +msgid "Original Mode" +msgstr "Mode original" + + +msgid "Kilometers" +msgstr "Quilòmetres" + + +msgid "100 Meters" +msgstr "100 metres" + + +msgid "10 Meters" +msgstr "10 metres" + + +msgid "Meters" +msgstr "Metres" + + +msgid "10 Centimeters" +msgstr "10 centímetres" + + +msgid "Centimeters" +msgstr "Centímetres" + + +msgid "Micrometers" +msgstr "Micròmetres" + + +msgid "Miles" +msgstr "Milles" + + +msgid "Furlongs" +msgstr "Fúrlongs" + + +msgid "Chains" +msgstr "Cadenes agrimensores" + + +msgid "Yards" +msgstr "Iardes" + + +msgid "Feet" +msgstr "Peus" + + +msgid "Inches" +msgstr "Polzades" + + +msgid "Thou" +msgstr "Thou" + + +msgid "Square Kilometers" +msgstr "Quilòmetres quadrats" + + +msgid "Square Hectometers" +msgstr "Hectòmetres quadrats" + + +msgid "Square Dekameters" +msgstr "Decàmetres quadrats" + + +msgid "Square Meters" +msgstr "Metres quadrats" + + +msgid "Square Decimeters" +msgstr "Decímetres quadrats" + + +msgid "Square Centimeters" +msgstr "Centímetres quadrats" + + +msgid "Square Millimeters" +msgstr "Mil·límetres quadrats" + + +msgid "Square Micrometers" +msgstr "Micròmetres quadrats" + + +msgid "Square Miles" +msgstr "Milles quadrades" + + +msgid "Square Furlongs" +msgstr "Fúrlongs quadrats" + + +msgid "Square Chains" +msgstr "Cadenes quadrades" + + +msgid "Square Yards" +msgstr "Iardes quadrats" + + +msgid "Square Feet" +msgstr "Peus quadrats" + + +msgid "Square Inches" +msgstr "Polzades quadrades" + + +msgid "Square Thou" +msgstr "Thous quadrats" + + +msgid "Cubic Kilometers" +msgstr "Quilòmetres cúbics" + + +msgid "Cubic Hectometers" +msgstr "Hectòmetres cúbics" + + +msgid "Cubic Dekameters" +msgstr "Decàmetres cúbics" + + +msgid "Cubic Meters" +msgstr "Metres cúbics" + + +msgid "Cubic Decimeters" +msgstr "Decímetres cúbics" + + +msgid "Cubic Centimeters" +msgstr "Centímetres cúbics" + + +msgid "Cubic Millimeters" +msgstr "Mil·límetres cúbics" + + +msgid "Cubic Micrometers" +msgstr "Micròmetres cúbics" + + +msgid "Cubic Miles" +msgstr "Milles cúbiques" + + +msgid "Cubic Furlongs" +msgstr "Fúrlongs cúbics" + + +msgid "Cubic Chains" +msgstr "Cadenes cúbiques" + + +msgid "Cubic Yards" +msgstr "Iardes cúbiques" + + +msgid "Cubic Feet" +msgstr "Peus cúbic" + + +msgid "Cubic Inches" +msgstr "Polzades cúbiques" + + +msgid "Cubic Thou" +msgstr "Thous cúbics" + + +msgid "Tonnes" +msgstr "Tones" + + +msgid "100 Kilograms" +msgstr "100 quilograms" + + +msgid "Kilograms" +msgstr "Quilograms" + + +msgid "Hectograms" +msgstr "Hectograms" + + +msgid "10 Grams" +msgstr "10 grams" + + +msgid "Grams" +msgstr "Grams" + + +msgid "Milligrams" +msgstr "Mil·ligrams" + + +msgid "Centum weights" +msgstr "Centum weights" + + +msgid "Stones" +msgstr "Pedra" + + +msgid "Pounds" +msgstr "Lliures" + + +msgid "Ounces" +msgstr "Unces" + + +msgid "Meters per second" +msgstr "Metres per segon" + + +msgid "Kilometers per hour" +msgstr "Quilòmetres per hora" + + +msgid "Feet per second" +msgstr "Peus per segon" + + +msgid "Miles per hour" +msgstr "Milles per hora" + + +msgid "Meters per second squared" +msgstr "Metres per segon al quadrat" + + +msgid "Feet per second squared" +msgstr "Peus per segon al quadrat" + + +msgid "Days" +msgstr "Dies" + + +msgid "Hours" +msgstr "Hores" + + +msgid "Minutes" +msgstr "Minuts" + + +msgid "Milliseconds" +msgstr "Mil·lisegons" + + +msgid "Microseconds" +msgstr "Microsegons" + + +msgid "Arcminutes" +msgstr "Arcminuts" + + +msgid "Arcseconds" +msgstr "Arcsegons" + + +msgid "Gigawatts" +msgstr "Gigawatts" + + +msgid "Megawatts" +msgstr "Megawatts" + + +msgid "Kilowatts" +msgstr "Kilowatts" + + +msgid "Watts" +msgstr "Watts" + + +msgid "Milliwatts" +msgstr "Mil·liwatts" + + +msgid "Microwatts" +msgstr "Microwatts" + + +msgid "Nanowatts" +msgstr "Nanowatts" + + +msgid "Kelvin" +msgstr "Kelvin" + + +msgid "Celsius" +msgstr "Celsius" + + +msgid "Fahrenheit" +msgstr "Fahrenheit" + + +msgid "Could not load volume for writing" +msgstr "No s'ha pogut carregar el volum on escriure" + + +msgid "Could not write volume: %s" +msgstr "No s'ha pogut escriure al volum: %s" + + +msgid "Cannot open or start AVI movie file" +msgstr "No es pot obrir o iniciar el vídeo AVI" + + +msgid "Error writing frame" +msgstr "Error en escriure fotograma" + + +msgid "No valid formats found" +msgstr "No s'han trobat formats vàlids" + + +msgid "Can't allocate ffmpeg format context" +msgstr "No es pot assignar el context de format ffmpeg" + + +msgid "Render width has to be 720 pixels for DV!" +msgstr "L'amplada de revelat ha de ser de 720 píxels per a VD!" + + +msgid "Render height has to be 480 pixels for DV-NTSC!" +msgstr "L'alçada de revelat ha de ser de 480 píxels per a VD-NTSC!" + + +msgid "Render height has to be 576 pixels for DV-PAL!" +msgstr "L'alçada de revelat ha de ser de 576 píxels per a VD-PAL!" + + +msgid "FFMPEG only supports 48khz / stereo audio for DV!" +msgstr "FFMPEG només admet àudio de 48khz / estèreo per a VD!" + + +msgid "Error initializing video stream" +msgstr "Error en inicialitzar flux de vídeo" + + +msgid "Error initializing audio stream" +msgstr "Error en inicialitzar flux d'àudio" + + +msgid "Could not open file for writing" +msgstr "No s'ha pogut obrir document on escriure" + + +msgid "Could not initialize streams, probably unsupported codec combination" +msgstr "No s'han pogut inicialitzar els fluxos, probablement no suportat la combinació de còdecs" + + +msgid "Library database with null library data-block pointer!" +msgstr "Base de dades de biblioteca amb un punter de bloc de dades de biblioteca nul!" + + +msgid "ID %s is in local database while being linked from library %s!" +msgstr "L'ID %s és a la base de dades local mentre s’enllaça des de la biblioteca %s!" + + +msgid "Library ID %s not found at expected path %s!" +msgstr "No s'ha trobat l'ID de la biblioteca %s al camí esperat %s!" + + +msgid "Library ID %s in library %s, this should not happen!" +msgstr "L'ID de biblioteca %s és a la biblioteca %s, i això no hauria de passar!" + + +msgid "ID %s has null lib pointer while being in library %s!" +msgstr "L'ID %s té un punter bib nul mentre és a la biblioteca %s!" + + +msgid "ID %s has mismatched lib pointer!" +msgstr "L'ID %s ha trobat un punter de bib incorrecte!" + + +msgid "ID %s not found in library %s anymore!" +msgstr "L'ID %s ja no es troba a la biblioteca %s!" + + +msgid "ID %s uses shapekey %s, but its 'from' pointer is invalid (%p), fixing..." +msgstr "L'ID %s usa la morfofita %s, però el punter 'from' no és vàlid (%p), s'està reparant..." + + +msgid "Shapekey %s has an invalid 'from' pointer (%p), it will be deleted" +msgstr "La morfofita %s té un punter «from» no vàlid (%p), se suprimirà" + + +msgid "insufficient content" +msgstr "contingut insuficient" + + +msgid "unknown error reading file" +msgstr "error desconegut en llegir el document" + + +msgid "Unable to read" +msgstr "No es pot llegir" + + +msgid "Unable to open" +msgstr "No es pot obrir" + + +msgid "Library '%s', '%s' had multiple instances, save and reload!" +msgstr "Biblioteca '%s', '%s' tenia diverses instàncies, deseu-les i torneu a carregar!" + + +msgid "LIB: Data refers to main .blend file: '%s' from %s" +msgstr "BIB: Les dades fan referència al document principal .blend: '%s' des de %s" + + +msgid "LIB: %s: '%s' is directly linked from '%s' (parent '%s'), but is a non-linkable data type" +msgstr "BIB: %s: '%s' està directament enllaçat des de '%s' (pare '%s'), però és un tipus de dades no enllaçable" + + +msgid "LIB: %s: '%s' missing from '%s', parent '%s'" +msgstr "BIB: %s: falta '%s' a '%s', pare '%s'" + + +msgid "Read packed library: '%s', parent '%s'" +msgstr "Llegir biblioteca empaquetada: '%s', pare '%s '" + + +msgid "Read library: '%s', '%s', parent '%s'" +msgstr "Llegir biblioteca: '%s', '%s', pare '%s'" + + +msgid "Cannot find lib '%s'" +msgstr "No es trobar bib '%s'" + + +msgid "Unable to open blend " +msgstr "No es pot obrir blend " + + +msgid "Failed to read blend file '%s': %s" +msgstr "No s'ha pogut llegir el document blend '%s': %s" + + +msgid "Failed to read blend file '%s', not a blend file" +msgstr "Error en llegir el document blend '%s', no és un document blend" + + +msgid "Unable to read '%s': %s" +msgstr "No s'ha pogut llegir '%s': %s" + + +msgid "Unrecognized file format '%s'" +msgstr "Format de document no reconegut '%s'" + + +msgid "Unable to open '%s': %s" +msgstr "No s'ha pogut obrir '%s': %s" + + +msgid "GP_Palette" +msgstr "GP_Palette" + + +msgid "Hidden %d" +msgstr "Ocult %d" + + +msgid "Eevee material conversion problem. Error in console" +msgstr "Problema de conversió de material d'Eevee. Error a la consola" + + +msgid "2D_Animation" +msgstr "2D_Animation" + + +msgid "Sculpting" +msgstr "Escultura" + + +msgid "VFX" +msgstr "VFX" + + +msgid "Video_Editing" +msgstr "Video_Editing" + + +msgid "Unable to make version backup: filename too short" +msgstr "No s'ha pogut fer la còpia de seguretat de la versió: nom de document massa curt" + + +msgid "Unable to make version backup" +msgstr "No s'ha pogut fer la còpia de seguretat de la versió" + + +msgid "Checking sanity of current .blend file *BEFORE* save to disk" +msgstr "Comprovant la sanitat del document .blend actual *ABANS* que es desi al disc" + + +msgid "Version backup failed (file saved with @)" +msgstr "Ha fallat la còpia de seguretat de la versió (document desat amb @)" + + +msgid "Cannot change old file (file saved with @)" +msgstr "No es pot canviar el document antic (el document s'ha desat amb @)" + + +msgid "Checking sanity of current .blend file *AFTER* save to disk" +msgstr "S'està comprovant la sanitat del document .blend actual *DESPRÉS* que es desi al disc" + + +msgid "Cannot open file %s for writing: %s" +msgstr "No es pot obrir el document %s per escriure: %s" + + +msgid "Zero normal given" +msgstr "Normal zero assignada" + + +msgid "Select at least two edge loops" +msgstr "Seleccionar almenys dues anelles d'aresta" + + +msgid "Select an even number of loops to bridge pairs" +msgstr "Seleccionar un nombre parell d'anelles per a unir parells" + + +msgid "Selected loops must have equal edge counts" +msgstr "Les anelles seleccionades han de tenir el mateix nombre d'arestes" + + +msgid "Could not connect vertices" +msgstr "No s'han pogut connectar els vèrtexs" + + +msgid "Select two edge loops or a single closed edge loop from which two edge loops can be calculated" +msgstr "Seleccionar dues anelles d'aresta o una única anella d'aresta tancada des d'on es pugui calcular dues anelles d'aresta" + + +msgid "Closed loops unsupported" +msgstr "Anelles tancades no admeses" + + +msgid "Loops are not connected by wire/boundary edges" +msgstr "Les anelles no estan connectades per filat/arestes de vora" + + msgid "Connecting edge loops overlap" msgstr "Superposició d'anelles d'arestes connectades" +msgid "Requires at least three vertices" +msgstr "Requereix com a mínim tres vèrtexs" + + +msgid "No edge rings found" +msgstr "No s'han trobat anells d'aresta" + + +msgid "Edge-ring pair isn't connected" +msgstr "El parell d'anells-aresta no estan connectat" + + +msgid "Edge-rings are not connected" +msgstr "Anells-aresta no connectats" + + +msgid "color_index is invalid" +msgstr "color_index no vàlid" + + +msgid "Compositing | Tile %u-%u" +msgstr "Compositació | Tessel·la %u-%u" + + +msgid "Compositing | Initializing execution" +msgstr "Compositació | Inicialitzant l'execució" + + +msgid "Compositing | Operation %i-%li" +msgstr "Compositació | Operació %i-%li" + + +msgid "Compositing | Determining resolution" +msgstr "Compositació | Determinant resolució" + + +msgid "Compositing | De-initializing execution" +msgstr "Compositació | Desinicialitzant l'execució" + + +msgid "Basic" +msgstr "Bàsic" + + +msgid "Compiling Shaders (%d remaining)" +msgstr "Compilació d'aspectors (%d restants)" + + +msgid "Optimizing Shaders (%d remaining)" +msgstr "Optimitzant aspectors (%d restants)" + + +msgid "Incompatible Light cache version, please bake again" +msgstr "Versió incompatible de memòria cau de llum, si us plau, precuineu de nou" + + +msgid "Error: Light cache is too big for the GPU to be loaded" +msgstr "Error: la memòria cau de llum és massa gran perquè es carregui a la GPU" + + +msgid "Error: Light cache dimensions not supported by the GPU" +msgstr "Error: les dimensions de la memòria cau de llum no estan suportades per la GPU" + + +msgid "Baking light cache" +msgstr "Precuinar memòria cau de llum" + + +msgid "Error: LightCache is too large and will not be saved to disk" +msgstr "Error: la memòria cau de llum és massa gran i no es desarà al disc" + + +msgid "%d Ref. Cubemaps, %d Irr. Samples (%s in memory)" +msgstr "%d Ref. Cubografies, %d Irr. Mostres (%s en memòria)" + + +msgid "No light cache in this scene" +msgstr "Sense memòria cau de llum en l'escena" + + +msgid "Eevee Next" +msgstr "Eevee següent" + + +msgid "GpencilMode" +msgstr "ModeLlapisdG" + + +msgid "UV/Image" +msgstr "UV/Imatge" + + +msgid "Select ID Debug" +msgstr "Seleccionar depuració d'ID" + + +msgid "Select ID" +msgstr "Seleccionar ID" + + +msgid "Workbench" +msgstr "Workbench" + + +msgid "NLA Strip Controls" +msgstr "Controls de segment d'ANL" + + +msgid "F-Curve visibility in Graph Editor" +msgstr "Visibilitat de corba-F a l'editor de gràfiques" + + +msgid "Grease Pencil layer is visible in the viewport" +msgstr "La capa llapis de greix és visible al mirador" + + +msgid "Toggle visibility of Channels in Graph Editor for editing" +msgstr "Revesar visibilitat dels canals a l'editor de gràfiques per a editar" + + +msgid "Display channel regardless of object selection" +msgstr "Mostrar el canal independentment de la selecció de l'objecte" + + +msgid "Enable F-Curve modifiers" +msgstr "Habilitar modificadors de corbes-F" + + +msgid "Make channels grouped under this channel visible" +msgstr "Fer visibles els canals agrupats sota aquest canal" + + +msgid "NLA Track is the only one evaluated in this animation data-block, with all others muted" +msgstr "La pista d'ANL l'única avaluada en aquest bloc de dades d'animació, i totes els altres estan silenciades" + + +msgid "Editability of keyframes for this channel" +msgstr "Editabilitat de fotofites dins aquest canal" + + +msgid "Editability of NLA Strips in this track" +msgstr "Editabilitat de segments d'ANL en aquesta pista" + + +msgid "Does F-Curve contribute to result" +msgstr "La corba-F contribueix al resultat" + + +msgid "Temporarily disable NLA stack evaluation (i.e. only the active action is evaluated)" +msgstr "Desactivar temporalment l'avaluació de l'estiba d'ANL (és a dir, només s'avalua l'acció activa)" + + +msgid "Show all keyframes during animation playback and enable all frames for editing (uncheck to use only the current keyframe during animation playback and editing)" +msgstr "Mostrar totes les fotofites durant la reproducció de l'animació i activar tots els fotogrames per a l'edició (desmarqueu per a utilitzar només la fotofita actual durant la reproducció i l'edició de l'animació)" + + +msgid "Do channels contribute to result (toggle channel muting)" +msgstr "Fer que els canals contribueixin al resultat (revesar silenciament de canal)" + + +msgid "Display action without any time remapping (when unpinned)" +msgstr "Mostrar acció sense cap reassignació de temps (quan no està fixat)" + + +msgid "Can't edit this property from a linked data-block" +msgstr "No es pot editar aquesta propietat des d'un bloc de dades enllaçat" + + +msgid "No channels to operate on" +msgstr "No hi ha canals on operar" + + +msgid "No keyframes to focus on." +msgstr "No hi ha fotofotes en els quals centrar-se." + + +msgid "" +msgstr "" + + +msgid "" +msgstr "" + + +msgid "Marker %.2f offset %s" +msgstr "Marcador %.2f desplaçament %s" + + +msgid "Marker %d offset %s" +msgstr "Marcador %d desplaçament %s" + + +msgid "Marker offset %s" +msgstr "Desplaçament de marcador %s" + + +msgid "Selecting the camera is only supported in object mode" +msgstr "La selecció de la càmera només és compatible amb el mode objecte" + + +msgid "Scene not found" +msgstr "No s'ha trobat l'escena" + + +msgid "Cannot re-link markers into the same scene" +msgstr "No es poden tornar a enllaçar els marcadors a la mateixa escena" + + +msgid "Target scene has locked markers" +msgstr "L'escena de referència té marcadors bloquejats" + + +msgid "Select a camera to bind to a marker on this frame" +msgstr "Seleccionar una càmera per a enllaçar a un marcador d'aquest fotograma" + + +msgid "No markers are selected" +msgstr "No s'ha seleccionat cap marcador" + + +msgid "Markers are locked" +msgstr "Els marcadors estan bloquejats" + + +msgid "Start frame clamped to valid rendering range" +msgstr "Fotograma inicial constrenyit a un interval de revelat vàlid" + + +msgid "End frame clamped to valid rendering range" +msgstr "Fotograma final constrenyit a un rang de revelat vàlid" + + +msgid "Expected an animation area to be active" +msgstr "S'espera que una àrea d'animació sigui activa" + + +msgid "Paste driver: no driver to paste" +msgstr "Enganxar controlador: cap controlador per enganxar" + + +msgid "No driver to copy variables from" +msgstr "No hi ha controlador des d'on copiar variables" + + +msgid "Driver has no variables to copy" +msgstr "El controlador no té variables per copiar" + + +msgid "No driver variables in clipboard to paste" +msgstr "No hi ha variables de controlador al porta-retalls per enganxar" + + +msgid "Cannot paste driver variables without a driver" +msgstr "No es poden enganxar les variables de controlador sense un controlador" + + +msgid "Could not add driver, as RNA path is invalid for the given ID (ID = %s, path = %s)" +msgstr "No s'ha pogut afegir el controlador, ja que el camí d'ARN no és vàlid per l'ID donat (ID = %s, camí = %s)" + + msgid "Could not find driver to copy, as RNA path is invalid for the given ID (ID = %s, path = %s)" -msgstr "No s'ha pogut trobar el controlador per copiar, ja que la ruta d'ARN no és vàlida per a l'identificador proporcionat (ID = %s, ruta = %s)" +msgstr "No s'ha pogut trobar el controlador per copiar, ja que el camí d'ARN no és vàlida per a l'identificador proporcionat (ID = %s, ruta = %s)" msgid "Could not paste driver, as RNA path is invalid for the given ID (ID = %s, path = %s)" msgstr "No s'ha pogut enganxar el controlador, ja que el camí d'ARN no és vàlid per a l'identificador proporcionat (ID = %s, ruta = %s)" +msgid "" +msgstr "" + + +msgid "y = (Ax + B)" +msgstr "y = (Ax + B)" + + +msgid "✕ (Ax + B)" +msgstr "✕ (Ax + B)" + + +msgid "Add Control Point" +msgstr "Afegir punt de control" + + +msgid "Delete Modifier" +msgstr "Suprimir modificador" + + +msgid "Add a new control-point to the envelope on the current frame" +msgstr "Afegir un nou punt de control a la funda del fotograma actual" + + +msgid "Delete envelope control point" +msgstr "Suprimir punt de control de funda" + + +msgid "Coefficient" +msgstr "Coeficient" + + +msgid "Modifier requires original data" +msgstr "El modificador requereix dades originals" + + +msgid "" +msgstr "" + + +msgid "" +msgstr "" + + +msgid "No RNA pointer available to retrieve values for this fcurve" +msgstr "Sense punter d'ARN disponible per recuperar valors per a aquesta corba-F" + + +msgid "No F-Curve to add keyframes to" +msgstr "No hi ha cap Corba-F on afegir fotofites" + + +msgid "No RNA pointer available to retrieve values for keyframing from" +msgstr "Sense punter d'ARN disponible per a recuperar els valors de fotofites" + + +msgid "No ID block and/or AnimData to delete keyframe from" +msgstr "Sense bloc d'ID i/o AnimData des d'on suprimir la fotofita" + + +msgid "No suitable context info for active keying set" +msgstr "Sense informació adequada de context per al joc de fites actiu" + + +msgid "Keying set failed to insert any keyframes" +msgstr "El joc de fites ha fallat en inserir qualsevol fotofita" + + +msgid "Keying set failed to remove any keyframes" +msgstr "El joc de fites ha fallat en eliminar qualsevol fotofita" + + +msgid "This property cannot be animated as it will not get updated correctly" +msgstr "Aquesta propietat no es pot animar perquè no s'actualitzarà correctament" + + +msgid "Failed to resolve path to property, try manually specifying this using a Keying Set instead" +msgstr "No s'ha pogut resoldre el camí a la propietat, proveu d'especificar-ho manualment usant un joc de fites en el seu lloc" + + +msgid "No active Keying Set" +msgstr "Sense joc de fites actiu" + + +msgid "Could not update flags for this fcurve, as RNA path is invalid for the given ID (ID = %s, path = %s)" +msgstr "No s'han pogut actualitzar els semàfors d'aquesta corba-F, ja que el camí d'ARN no és vàlid per a l'ID proporcionat (ID = %s, camí = %s)" + + +msgid "Could not insert %i keyframe(s) due to zero NLA influence, base value, or value remapping failed: %s.%s for indices [%s]" +msgstr "No s'ha pogut inserir %i fotofita/es a causa de la influència d'ANL zero, el valor base o la reassignació de valors ha fallat: %s.%s per als índexs [%s]" + + +msgid "F-Curve with path '%s[%d]' cannot be keyframed, ensure that it is not locked or sampled, and try removing F-Modifiers" +msgstr "La corba-F amb el camí '%s [%d]' no es pot fotofitar, assegureu-vos que no estigui bloquejada ni mostrejada i proveu d'eliminar els modificadors-F" + + +msgid "Could not insert keyframe, as RNA path is invalid for the given ID (ID = %s, path = %s)" +msgstr "No s'ha pogut inserir la fotofita, ja que el camí d'ARN no és vàlid per a l'ID aportat (ID = %s, camí = %s)" + + +msgid "No ID block to insert keyframe in (path = %s)" +msgstr "Sense bloc d'ID on inserir fotofita (camí = %s)" + + +msgid "Could not insert keyframe, as this type does not support animation data (ID = %s, path = %s)" +msgstr "No s'ha pogut inserir la fotofita, ja que aquest tipus no admet dades d'animació (ID = %s, camí = %s)" + + +msgid "Could not delete keyframe, as RNA path is invalid for the given ID (ID = %s, path = %s)" +msgstr "No s'ha pogut suprimir la fotofita, ja que el camí d'ARN no és vàlida per a l'ID aportat (ID = %s, camí = %s)" + + +msgid "No action to delete keyframes from for ID = %s" +msgstr "Sense acció des d'on suprimir fotofites per a ID = %s" + + +msgid "Not deleting keyframe for locked F-Curve '%s' for %s '%s'" +msgstr "No se suprimeix la fotofita de la corba-F bloquejada '%s' per a %s '%s'" + + +msgid "Could not clear keyframe, as RNA path is invalid for the given ID (ID = %s, path = %s)" +msgstr "No s'ha pogut descartar la fotofita, ja que el camí d'ARN no és vàlida per a l'ID aportat (ID = %s, camí = %s)" + + +msgid "Not clearing all keyframes from locked F-Curve '%s' for %s '%s'" +msgstr "No es descarten les fotofites de la corba-F bloquejada '%s' per %s '%s'" + + +msgid "Keying set '%s' - successfully added %d keyframes" +msgstr "Joc de fites '%s' - s'han afegit correctament %d fotofites" + + +msgid "Successfully added %d keyframes for keying set '%s'" +msgstr "S'han afegit %d fotofites amb èxit per al joc de fites '%s'" + + +msgid "Successfully removed %d keyframes for keying set '%s'" +msgstr "S'han eliminat satisfactòriament %d fotofites per al joc de fites '%s'" + + +msgid "Not deleting keyframe for locked F-Curve '%s', object '%s'" +msgstr "No se suprimeix la fotofita per a la corba-F bloquejada '%s', objecte '%s'" + + +msgid "%d object(s) successfully had %d keyframes removed" +msgstr "A %d objecte(s) se'ls han eliminat amb èxit %d fotofites" + + +msgid "No keyframes removed from %d object(s)" +msgstr "No s'ha eliminat tret cap fotofita de %d objecte(s)" + + +msgid "\"%s\" property cannot be animated" +msgstr "La propietat \"%s\" no es pot animar" + + +msgid "Button doesn't appear to have any property information attached (ptr.data = %p, prop = %p)" +msgstr "Sembla que el botó no té cap informació de propietat adjunta (ptr.data =%p, prop = %p)" + + +msgid "Not deleting keyframe for locked F-Curve for NLA Strip influence on %s - %s '%s'" +msgstr "No se suprimeix la fotofita per a la corba-F bloquejada per influència dl segment d'ANL en %s - %s '%s'" + + +msgid "Keying set '%s' not found" +msgstr "No s'ha trobat el joc de fites '%s'" + + +msgid "No active Keying Set to remove" +msgstr "No hi ha cap joc de fites actiu a eliminar" + + +msgid "Cannot remove built in keying set" +msgstr "No s'ha pogut eliminar el joc de fites integrat" + + +msgid "No active Keying Set to add empty path to" +msgstr "No hi ha cap joc de fites actiu a què afegir un camí buit" + + +msgid "No active Keying Set path to remove" +msgstr "No hi ha cap camí actiu de joc de fites a eliminar" + + +msgid "No active Keying Set to remove a path from" +msgstr "No hi ha cap joc de fites actiu d'on eliminar-ne un camí" + + +msgid "Cannot add property to built in keying set" +msgstr "No s'ha pogut afegir la propietat al joc de fites integrat" + + +msgid "No active Keying Set to remove property from" +msgstr "No hi ha cap joc de fites actiu per eliminar-ne la propietat" + + +msgid "Cannot remove property from built in keying set" +msgstr "No es pot eliminar la propietat del joc de fites integrat" + + +msgid "Property removed from keying set" +msgstr "Propietat eliminada del joc de fites" + + +msgid "Property added to Keying Set: '%s'" +msgstr "Propietat afegida al joc de fites: '%s'" + + +msgid "Skipping path in keying set, as it has no ID (KS = '%s', path = '%s[%d]')" +msgstr "Ometent el camí del joc de fites, ja que no té ID (KS = '%s', camí = '%s[%d]')" + + +msgid "No region view3d available" +msgstr "Sense regió de visualització3d disponible" + + +msgid "No active bone set" +msgstr "Sense joc d'ossos actiu" + + +msgid "No joints selected" +msgstr "Sense articulacions seleccionades" + + +msgid "Bones for different objects selected" +msgstr "Ossos per a diferents objectes seleccionats" + + +msgid "Same bone selected..." +msgstr "Mateix os seleccionat..." + + +msgid "Operation requires an active bone" +msgstr "L'operació requereix un os actiu" + + +msgid "Too many points selected: %d" +msgstr "Massa punts seleccionats: %d" + + +msgid "Aligned bone '%s' to parent" +msgstr "Os '%s' alineat amb el pare" + + +msgid "%d bones aligned to bone '%s'" +msgstr "%d ossos alineats a l'os '%s'" + + +msgid "Active object is not a selected armature" +msgstr "L'objecte actiu no és un esquelet seleccionat" + + +msgid "Separated bones" +msgstr "Ossos separats" + + +msgid "Unselectable bone in chain" +msgstr "Os no seleccionable a la cadena" + + +msgid "Bone Heat Weighting: failed to find solution for one or more bones" +msgstr "Assignació de pesos a ossos: no s'ha trobat solució per un o més ossos" + + +msgid "Failed to find bind solution (increase precision?)" +msgstr "No s'ha trobat la solució en articulació (augmentar la precisió?)" + + +msgid "Clear motion paths of selected bones" +msgstr "Descartar trajectes de moviment dels ossos seleccionats" + + +msgid "Clear motion paths of all bones" +msgstr "Descartar trajectes de moviment de tots els ossos" + + +msgid "Cannot pose libdata" +msgstr "No es pot crear posa de dades de bib" + + +msgid "Bone groups can only be edited in pose mode" +msgstr "Els grups d'ossos només es poden editar en mode posa" + + +msgid "Cannot edit bone groups for library overrides" +msgstr "No es poden editar els grups ossos per a sobreseïments de biblioteca" + + +msgid "Pose lib is only for armatures in pose mode" +msgstr "La bib de poses només és per a esquelets en mode posa" + + +msgid "[Tab] - Show original pose" +msgstr "[Tab] - Mostrar posa original" + + +msgid "[Tab] - Show blended pose" +msgstr "]Tab] - Mostrar posa fusionada" + + +msgid "Internal pose library error, canceling operator" +msgstr "Error intern de biblioteca de posa, cancel·lant l'operador" + + +msgid "No active Keying Set to use" +msgstr "Sense joc de fites actiu per utilitzar" + + +msgid "Use another Keying Set, as the active one depends on the currently selected items or cannot find any targets due to unsuitable context" +msgstr "Usar un altre joc de fites, ja que l'actiu depèn dels elements actualment seleccionats o no pot trobar referents a causa d'un context inadequat" + + +msgid "Keying Set does not contain any paths" +msgstr "El joc de fites no conté cap camí" + + +msgid "Push Pose" +msgstr "Exagerar posa" + + +msgid "Relax Pose" +msgstr "Relaxar posa" + + +msgid "Blend to Neighbor" +msgstr "Fusionar a veí" + + +msgid "Sliding-Tool" +msgstr "Eina de lliscar" + + +msgid "[X]/Y/Z axis only (X to clear)" +msgstr "[X]/Y/Z només eix (X per descartar)" + + +msgid "X/[Y]/Z axis only (Y to clear)" +msgstr "X/[Y]/Z només eix (Y per descartar)" + + +msgid "X/Y/[Z] axis only (Z to clear)" +msgstr "X/Y/[Z] només eix (Z per descartar)" + + +msgid "X/Y/Z = Axis Constraint" +msgstr "X/Y/Z = Restricció d'eix" + + +msgid "[G]/R/S/B/C - Location only (G to clear) | %s" +msgstr "[G]/R/S/B/C - Només ubicació (G per descartar) | %s" + + +msgid "G/[R]/S/B/C - Rotation only (R to clear) | %s" +msgstr "G/[R]/S/B/C - Només rotació (R per descartar) | %s" + + +msgid "G/R/[S]/B/C - Scale only (S to clear) | %s" +msgstr "G/R/[S]/B/C - Només escalar (S per descartar) | %s" + + +msgid "G/R/S/[B]/C - Bendy Bone properties only (B to clear) | %s" +msgstr "G/R/S/[B]/C - Només propietats d'os doblegable (B per descartar) | %s" + + +msgid "G/R/S/B/[C] - Custom Properties only (C to clear) | %s" +msgstr "G/R/S/B/[C] - Només propietats personalitzades (C per descartar) | %s" + + +msgid "G/R/S/B/C - Limit to Transform/Property Set" +msgstr "G/R/S/B/C - Limit per joc de transformacions/propietats" + + +msgid "[H] - Toggle bone visibility" +msgstr "[-H] - Revesar visibilitat d'ossos" + + +msgid "No keyframes to slide between" +msgstr "Sense fotofites entre les quals lliscar" + + +msgid "No keyframed poses to propagate to" +msgstr "Sense poses fotofitades cap a on propagar" + + +msgid "Cannot apply pose to lib-linked armature" +msgstr "No s'ha pogut aplicar la posa a l'esquelet enllaçat a bib" + + +msgid "Actions on this armature will be destroyed by this new rest pose as the transforms stored are relative to the old rest pose" +msgstr "Les accions en aquest esquelet seran destruïts per aquesta nova posa de repòs, ja que les transformacions emmagatzemades són relatives a l'antiga posa de repòs" + + +msgid "No pose to copy" +msgstr "Sense posa per copiar" + + +msgid "Copied pose to buffer" +msgstr "Posa copiada a la memòria intermèdia" + + +msgid "Copy buffer is empty" +msgstr "La memòria intermèdia de còpia està buida" + + +msgid "Copy buffer is not from pose mode" +msgstr "La memòria intermèdia de còpia no prové de mode posa" + + +msgid "Copy buffer has no pose" +msgstr "La memòria intermèdia de còpia no té posa" + + +msgid "Programming error: missing clear transform function or keying set name" +msgstr "Error de programació: manca la funció de descartar transformació o el nom del joc de fites" + + +msgid "Data-block is not marked as asset" +msgstr "El bloc de dades no està marcat com a recurs" + + +msgid "No data-block selected that is marked as asset" +msgstr "No s'ha seleccionat cap bloc de dades que estigui marcat com a recurs" + + +msgid "Delete all asset metadata, turning the selected asset data-blocks back into normal data-blocks, and set Fake User to ensure the data-blocks will still be saved" +msgstr "Suprimir totes les metadades de recursos, retornant els blocs de dades de recorsos seleccionats a blocs de dades normals, i establint un usador fals per assegurar que els blocs de dades encara es desaran" + + +msgid "Selected data-blocks are already assets (or do not support use as assets)" +msgstr "Els blocs de dades seleccionats ja són recursos (o no admeten l'ús com a recursos)" + + +msgid "No data-blocks to create assets for found (or do not support use as assets)" +msgstr "No es troben blocs de dades per a crear recursos (o no admeten l'ús com a recursos)" + + +msgid "No asset data-blocks from the current file selected (assets must be stored in the current file to be able to edit or clear them)" +msgstr "No hi ha blocs de dades de recursos des del document seleccionat (els recursos s'han d'emmagatzemar al document actual per a poder-los editar o descartar)" + + +msgid "No asset data-blocks selected/focused" +msgstr "No hi ha blocs de dades d'actius seleccionats/enfocats" + + +msgid "Path is empty, cannot save" +msgstr "El camí està buit, no es pot desar" + + +msgid "Path too long, cannot save" +msgstr "El camí és massa llarg, no es pot desar" + + +msgid "Data-block '%s' is now an asset" +msgstr "El bloc de dades '%s' ara és un recurs" + + +msgid "%i data-blocks are now assets" +msgstr "%i blocs de dades ara són recursos" + + +msgid "Data-block '%s' is not an asset anymore" +msgstr "El bloc de dades '%s' ja no és un recurs" + + +msgid "%i data-blocks are no assets anymore" +msgstr "%i blocs de dades ja no són recursos" + + +msgid "Selected path is outside of the selected asset library" +msgstr "El camí seleccionat és fora de la biblioteca de recursos seleccionada" + + +msgid "Unable to copy bundle due to external dependency: \"%s\"" +msgstr "No s'ha pogut copiar l'agregació a causa de la dependència externa: \"%s\"" + + +msgid "Unable to copy bundle due to %zu external dependencies; more details on the console" +msgstr "No s'ha pogut copiar l'agregació a causa de %zu dependències externes; més detalls a la consola" + + +msgid "Asset catalogs cannot be edited in this asset library" +msgstr "Els catàlegs de recursos no es poden editar en aquesta biblioteca de recursos" + + +msgid "Cannot save asset catalogs before the Blender file is saved" +msgstr "No es poden desar els catàlegs de recursos abans de desar el document Blender" + + +msgid "No changes to be saved" +msgstr "No hi ha canvis per desar" + + +msgid "Unable to load %s from %s" +msgstr "No s'ha pogut carregar %s des de %s" + + +msgid "No point was selected" +msgstr "No s'ha seleccionat cap punt" + + +msgid "Could not separate selected curve(s)" +msgstr "No s'han pogut separar les corbes seleccionades" + + +msgid "Cannot separate curves with shape keys" +msgstr "No es poden separar corbes amb morfofites" + + +msgid "Cannot separate current selection" +msgstr "No es pot separar la selecció actual" + + +msgid "Cannot split current selection" +msgstr "No es pot dividir la selecció actual" + + +msgid "No points were selected" +msgstr "No s'ha seleccionat cap punt" + + +msgid "Could not make new segments" +msgstr "No s'han pogut crear segments nous" + + +msgid "Too few selections to merge" +msgstr "Massa poques seleccions per fusionar" + + +msgid "Resolution does not match" +msgstr "La resolució no coincideix" + + +msgid "Cannot make segment" +msgstr "No es pot crear el segment" + + +msgid "Cannot spin" +msgstr "No es pot tornejar" + + +msgid "Cannot duplicate current selection" +msgstr "No es pot duplicar la selecció actual" + + +msgid "Only bezier curves are supported" +msgstr "Només s'admeten corbes de bezier" + + +msgid "Active object is not a selected curve" +msgstr "L'objecte actiu no és una corba seleccionada" + + +msgid "%d curve(s) could not be separated" +msgstr "No s'han pogut separar %d corbes" + + +msgid "%d curves could not make segments" +msgstr "%d corbes no han pogut crear segments" + + +msgctxt "Curve" +msgid "BezierCurve" +msgstr "Corbabezier" + + +msgctxt "Curve" +msgid "BezierCircle" +msgstr "Cerclebezier" + + +msgctxt "Curve" +msgid "CurvePath" +msgstr "CamíCorba" + + +msgctxt "Curve" +msgid "NurbsCurve" +msgstr "CorbaNurbs" + + +msgctxt "Curve" +msgid "NurbsCircle" +msgstr "CercleNurbs" + + +msgctxt "Curve" +msgid "NurbsPath" +msgstr "CamíNurbs" + + +msgctxt "Curve" +msgid "SurfCurve" +msgstr "CorbaSuperf" + + +msgctxt "Curve" +msgid "SurfCircle" +msgstr "CercleSuperf" + + +msgctxt "Curve" +msgid "SurfPatch" +msgstr "SuperfPedaç" + + +msgctxt "Curve" +msgid "SurfCylinder" +msgstr "SuperfCilindre" + + +msgctxt "Curve" +msgid "SurfSphere" +msgstr "SuperfEsfera" + + +msgctxt "Curve" +msgid "SurfTorus" +msgstr "SuperfTor" + + +msgctxt "Curve" +msgid "Surface" +msgstr "Superfície" + + +msgid "Unable to access 3D viewport" +msgstr "No s'ha accedir al mirador 3D" + + +msgid "The \"stroke\" cannot be empty" +msgstr "El «traç» no pot estar buit" + + +msgid "Unable to access depth buffer, using view plane" +msgstr "No s'ha pogut accedir a la memòria intermèdia de profunditat, usant el pla de visualització" + + +msgid "Surface(s) have no active point" +msgstr "La/es superfície(s) no té/tenen cap punt actiu" + + +msgid "Curve(s) have no active point" +msgstr "La/es corba/es no té/tenen cap punt actiu" + + +msgid "No control point selected" +msgstr "No s'ha seleccionat cap punt de control" + + +msgid "Control point belongs to another spline" +msgstr "El punt de control pertany a un altre spline" + + +msgid "Text too long" +msgstr "Text massa llarg" + + +msgid "Clipboard too long" +msgstr "Porta-retalls massa llarg" + + +msgid "Incorrect context for running font unlink" +msgstr "Context incorrecte per executar desenllaç de tipografia" + + +msgid "Failed to open file '%s'" +msgstr "Error en obrir el document '%s'" + + +msgid "File too long %s" +msgstr "Document massa llarg %s" + + +msgid "Some curves could not be converted because they were not attached to the surface" +msgstr "Algunes corbes no s'han pogut convertir perquè no estaven ajuntades a la superfície" + + +msgid "Curves do not have attachment information that can be used for deformation" +msgstr "Les corbes no tenen informació d'associació que es pugui utilitzar per a deformacions" + + +msgid "Could not snap some curves to the surface" +msgstr "No s'han pogut acoblar algunes corbes a la superfície" + + +msgid "Curves must have a mesh surface object set" +msgstr "Les corbes han de tenir un joc d'objectes de superfície de malla" + + +msgid "Only available in point selection mode" +msgstr "Només disponible en mode de selecció de punts" + + +msgid "Cannot convert to the selected type" +msgstr "No es pot convertir al tipus seleccionat" + + +msgid "Operation is not allowed in edit mode" +msgstr "L'operació no està permesa en mode d'edició" + + +msgid "Annotation Create Poly: LMB click to place next stroke vertex | ESC/Enter to end (or click outside this area)" +msgstr "Anotació - Crear polígons: clicar BER per a col·locar el vèrtex següent del traç | ESC/Retorn per a finalitzar (o clicar fora de l'àrea)" + + +msgid "Annotation Eraser: Hold and drag LMB or RMB to erase | ESC/Enter to end (or click outside this area)" +msgstr "Anotació - Esborrador: mantenir i arrossegar amb el BER o el BDR per a esborrar | ESC/Retorn per a finalitzar (o clicar fora de l'àrea)" + + +msgid "Annotation Line Draw: Hold and drag LMB to draw | ESC/Enter to end (or click outside this area)" +msgstr "Anotació - Dibuixar línia: mantenir el BER per a dibuixar | ESC/Retorn per a finalitzar (o clicar fora de làrea)" + + +msgid "Annotation Freehand Draw: Hold and drag LMB to draw | E/ESC/Enter to end (or click outside this area)" +msgstr "Anotació - Dibuix a mà alçada: mantenir i arrossegar amb el BER per a dibuixar | E/ESC/Retorn per a finalitzar (o feu clic fora de l'àrea)" + + +msgid "Annotation Session: ESC/Enter to end (or click outside this area)" +msgstr "Anotació - Sessió: ESC/Retorn per a finalitzar | (o fer clic fora de l'àrea)" + + +msgid "Cannot paint stroke" +msgstr "No es pot pintar el traç" + + +msgid "Nothing to erase" +msgstr "No hi ha res a esborrar" + + +msgid "Annotation operator is already active" +msgstr "L'operador d'anotació ja està actiu" + + +msgid "Failed to find Annotation data to draw into" +msgstr "No s'han pogut trobar les dades d'anotació on dibuixar-hi" + + +msgid "Active region not set" +msgstr "No s'ha definit la regió activa" + + +msgid "Skin_Light" +msgstr "Skin_Light" + + +msgid "Skin_Shadow" +msgstr "Skin_Shadow" + + +msgid "Eyes" +msgstr "Ulls" + + +msgid "Pupils" +msgstr "Pupil·les" + + +msgid "Grey" +msgstr "Gris" + + +msgid "Unable to add a new Armature modifier to object" +msgstr "No s'ha pogut afegir un modificador d'esquelet nou a l'objecte" + + +msgid "The existing Armature modifier is already using a different Armature object" +msgstr "El modificador d'esquelet existent ja està usant un objecte d'esquelet diferent" + + +msgid "The grease pencil object need an Armature modifier" +msgstr "L'objecte llapis de greix necessita un modificador d'esquelet" + + +msgid "Armature modifier is not valid or wrong defined" +msgstr "El modificador d'esquelets no és vàlid o està mal definit" + + +msgid "No Armature object in the view layer" +msgstr "No hi ha cap objecte esquelet a la capa de visualització" + + +msgid "No Grease Pencil data to work on" +msgstr "No hi ha dades del llapis de greix per treballar" + + +msgid "Current Grease Pencil strokes have no valid timing data, most timing options will be hidden!" +msgstr "Els traços actuals del llapis de greix no tenen dades de temps vàlides, la majoria de les opcions de temps s'ocultaran!" + + +msgid "Object created" +msgstr "S'ha creat l'objecte" + + +msgid "Nowhere for grease pencil data to go" +msgstr "Les dades de llapis de greix no tenen lloc on anar" + + +msgid "Cannot delete locked layers" +msgstr "Les capes bloquejades no es poden suprimir" + + +msgid "No active layer to isolate" +msgstr "Sense capa activa per aïllar" + + +msgid "No layers to merge" +msgstr "Sense capes per fusionar" + + +msgid "No layers to flatten" +msgstr "Sense capes per aplanar" + + +msgid "Current Vertex Group is locked" +msgstr "El grup de vèrtexs actual està bloquejat" + + +msgid "Apply all rotations before join objects" +msgstr "Aplicar totes les rotacions abans d'unir objectes" + + +msgid "Active object is not a selected grease pencil" +msgstr "L'objecte actiu no és un llapis de greix seleccionat" + + +msgid "No active color to isolate" +msgstr "No hi ha color actiu per aïllar" + + +msgid "No Grease Pencil data" +msgstr "Sense dades del llapis de greix" + + +msgid "Unable to add a new Lattice modifier to object" +msgstr "No s'ha pogut afegir un nou modificador de retícula a l'objecte" + + +msgid "The existing Lattice modifier is already using a different Lattice object" +msgstr "El modificador de retícula existent ja està usant un objecte retícula diferent" + + +msgid "Unable to find layer to add" +msgstr "No s'ha pogut trobar la capa per afegir" + + +msgid "Cannot add active layer as mask" +msgstr "No es pot afegir la capa activa com a màscara" + + +msgid "Layer already added" +msgstr "Ja s'ha afegit la capa" + + +msgid "Maximum number of masking layers reached" +msgstr "S'ha arribat al nombre màxim de capes màscara" + + +msgid "Cannot change to non-existent layer (index = %d)" +msgstr "No es pot canviar a una capa inexistent (índex = %d)" + + +msgid "Cannot change to non-existent material (index = %d)" +msgstr "No es pot canviar a material inexistent (índex = %d)" + + +msgid "No active GP data" +msgstr "No hi ha dades de LdG actives" + + +msgid "Not implemented!" +msgstr "No està implementat!" + + +msgid "No strokes to paste, select and copy some points before trying again" +msgstr "No hi ha traços per enganxar, seleccionar i copiar alguns punts abans de tornar-ho a provar" + + +msgid "Can not paste strokes when active layer is hidden or locked" +msgstr "No es poden enganxar traços quan la capa activa està oculta o bloquejada" + + +msgid "No grease pencil data" +msgstr "No hi ha dades de llapis de greix" + + +msgid "No active frame to delete" +msgstr "No hi ha fotograma actiu per suprimir" + + +msgid "No active frame(s) to delete" +msgstr "No hi ha fotograma/es actiu(s) per suprimir" + + +msgid "Curve Edit mode not supported" +msgstr "El mode d'edició de corba no està suportat" + + +msgid "Cannot separate an object with one layer only" +msgstr "No es pot separar un objecte amb només una capa" + + +msgid "Nothing selected" +msgstr "No hi ha res seleccionat" + + +msgid "No active area" +msgstr "Sense àrea activa" + + +msgid "There is no layer number %d" +msgstr "No hi ha cap número de capa %d" + + +msgid "Too many strokes selected, only joined first %d strokes" +msgstr "Massa traços seleccionats, només s'han unit els primers %d traços" + + +msgid "Fill: ESC/RMB cancel, LMB Fill, Shift Draw on Back, MMB Adjust Extend, S: Switch Mode, D: Stroke Collision | %s %s (%.3f)" +msgstr "Emplenar: ESC/BDR cancel·lar, BER emplenar, Maj dibuixar al darrere, BMR ajustar extensió, S: canviar el mode, D: col·lisió de traç | %s %s (%.3f)" + + +msgid "Stroke: ON" +msgstr "Traç: activat" + + +msgid "Stroke: OFF" +msgstr "Traç: DESACTIVAT" + + +msgid "Fill tool needs active material" +msgstr "L'eina Emplenar necessita material actiu" + + +msgid "Unable to fill unclosed areas" +msgstr "No s'han pogut omplir les àrees sense tancar" + + +msgid "No available frame for creating stroke" +msgstr "No hi ha cap enquadrament disponible per a crear un traç" + + +msgid "Active region not valid for filling operator" +msgstr "La regió activa no és vàlida per a l'operador d'emplenament" + + +msgid "GPencil Interpolation: " +msgstr "Interpolació del Llapis-dG: " + + +msgid "ESC/RMB to cancel, Enter/LMB to confirm, WHEEL/MOVE to adjust factor" +msgstr "ESC/BDR per a cancel·lar, Intro/BER per a confirmar, RÒDOL/MOURE per a ajustar factor" + + +msgid "Standard transitions between keyframes" +msgstr "Transicions estàndard entre fotofites" + + +msgid "Predefined inertial transitions, useful for motion graphics (from least to most \"dramatic\")" +msgstr "Transicions inercials predefinides, útils per a gràfics de moviment (amb «dramatisme» de mínim a màxim)" + + +msgid "Simple physics-inspired easing effects" +msgstr "Efectes simples de gradualitat inspirats en la física" + + +msgctxt "GPencil" +msgid "Interpolation" +msgstr "Interpolació" + + +msgctxt "GPencil" +msgid "Easing (by strength)" +msgstr "Gradualitat (per la força)" + + +msgctxt "GPencil" +msgid "Dynamic Effects" +msgstr "Efectes dinàmics" + + +msgid "Cannot find valid keyframes to interpolate (Breakdowns keyframes are not allowed)" +msgstr "No s'han pogut trobar fotofites vàlides per a interpolar (no es permeten desglossament de fotofites)" + + +msgid "Cannot interpolate in curve edit mode" +msgstr "No es pot interpolar en el mode d'edició de corba" + + +msgid "Custom interpolation curve does not exist" +msgstr "La corba d'interpolació personalitzada no existeix" + + +msgid "Expected current frame to be a breakdown" +msgstr "S'espera que el fotograma actual sigui un desglossament" + + +msgid "Nothing to merge" +msgstr "No-res a fusionar" + + +msgid "Merged %d materials of %d" +msgstr "S'han fusionat %d materials de %d" + + +msgid "No valid object selected" +msgstr "No s'ha seleccionat cap objecte vàlid" + + +msgid "Target object not a grease pencil, ignoring!" +msgstr "L'objecte referent no és un llapis de greix, s'ignorarà!" + + +msgid "Target object library-data, ignoring!" +msgstr "Dades d'objecte referent de la biblioteca, s'ignorarà!" + + +msgid "Grease Pencil Erase Session: Hold and drag LMB or RMB to erase | ESC/Enter to end (or click outside this area)" +msgstr "Llapis de Greix - Sessió d'esborrat: mantenir i arrosagar amb el BER o el BDR per a esborrar | ESC/Retorn per a finalitzar (o clicar fora de l'àrea)" + + +msgid "Grease Pencil Line Session: Hold and drag LMB to draw | ESC/Enter to end (or click outside this area)" +msgstr "Llapis de Greix - Sessió de línia: mantenir i arrossegar amb el BER per a dibuixar | ESC/Retorn per a finalitzar (o clicar fora de l'àrea)" + + +msgid "Grease Pencil Guides: LMB click and release to place reference point | Esc/RMB to cancel" +msgstr "Llapis de greix - guies: clicar amb el BER i amollar per posar el punt de referència | Esc/BDR per cancel·lar" + + +msgid "Grease Pencil Freehand Session: Hold and drag LMB to draw | M key to flip guide | O key to move reference point" +msgstr "Grease Pencil - Sessió a mà alçada: mantenir i arrosabar amb el BER per a dibuixar | tecla M per a invertir la guia | Tecla O per a moure el punt de referència" + + +msgid "Grease Pencil Freehand Session: Hold and drag LMB to draw" +msgstr "Grease Pencil - Sessió a mà alçada: mantenir i arrossegar amb el BER per a dibuixar" + + +msgid "Grease Pencil Session: ESC/Enter to end (or click outside this area)" +msgstr "Llapis de Greix - Sessió: ESC/Retorn per a finalitzar (o clicar fora de l'àrea)" + + +msgid "Active layer is locked or hidden" +msgstr "La capa activa està bloquejada o oculta" + + +msgid "Nothing to erase or all layers locked" +msgstr "O no hi ha res a esborrar o totes les capes estan bloquejades" + + +msgid "Grease Pencil operator is already active" +msgstr "L'operador del llapis de greix ja està actiu" + + +msgid "Grease Pencil has no active paint tool" +msgstr "El llapis de greix no té cap eina de pintura activa" + + +msgid "Line: ESC to cancel, LMB set origin, Enter/MMB to confirm, WHEEL/+- to adjust subdivision number, Shift to align, Alt to center, E: extrude" +msgstr "Línia: ESC per a cancel·lar, BER estableix origen, Retorn/BMR per a confirmar, RÒDOL/+- per a ajustar el número de subdivisió, Maj per a alinear, Alt per centrar, E: extrudir" + + +msgid "Polyline: ESC to cancel, LMB to set, Enter/MMB to confirm, WHEEL/+- to adjust subdivision number, Shift to align" +msgstr "Polilínia: ESC per a cancel·lar, BER per a establir, Intro/BMR per a confirmar, RÒDOL/+- per a ajustar el número de subdivisió, Maj per a alinear" + + +msgid "Rectangle: ESC to cancel, LMB set origin, Enter/MMB to confirm, WHEEL/+- to adjust subdivision number, Shift to square, Alt to center" +msgstr "Rectangle: ESC per a cancel·lar, BER estableix origen, Retorn/BMR per a confirmar, RODÒL/+- per a ajustar el número de subdivisió, Maj al quadrat, Alt per centrar" + + +msgid "Circle: ESC to cancel, Enter/MMB to confirm, WHEEL/+- to adjust subdivision number, Shift to square, Alt to center" +msgstr "Cercle: ESC per a cancel·lar, Intro/BMR per a confirmar, RÒDOL/+- per a ajustar el número de subdivisió, Maj per quadrar, Alt per centrar" + + +msgid "Arc: ESC to cancel, Enter/MMB to confirm, WHEEL/+- to adjust subdivision number, Shift to square, Alt to center, M: Flip, E: extrude" +msgstr "Arc: ESC per cancel·lar, Intro/BMR per confirmar, RÒDOL/+- per ajustar el número de subdivisió, Maj per quadrar, Alt per centrar, M: invertir, E: extrudir" + + +msgid "Curve: ESC to cancel, Enter/MMB to confirm, WHEEL/+- to adjust subdivision number, Shift to square, Alt to center, E: extrude" +msgstr "Corba: ESC per cancel·lar, Intro/BMR per confirmar, RÒDOL/+- per a ajustar el número de subdivisió, Maj per quadrar, Alt per centrar, E: extrudir" + + +msgid "Primitives can only be added in Draw or Edit modes" +msgstr "Els primitius només es poden afegir en els modes de dibuix o d'edició" + + +msgid "Primitives cannot be added as active layer is locked or hidden" +msgstr "Els primitius no es poden afegir mentre la capa activa estigui bloquejada o oculta" + + +msgid "GPencil Sculpt: %s Stroke | LMB to paint | RMB/Escape to Exit | Ctrl to Invert Action | Wheel Up/Down for Size | Shift-Wheel Up/Down for Strength" +msgstr "Llapis-dG - Esculpir: %s Traç | BER per pintar | MDR/Escape per sortir | Ctrl per invertir acció | Rodar amunt / avall per la mida | Maj-Rodar amunt / avall per la força" + + +msgid "Copy some strokes to the clipboard before using the Clone brush to paste copies of them" +msgstr "Copiar alguns traços al porta-retalls abans d'usar el pinzell clonador per a enganxar-hi còpies" + + +msgid "Cannot sculpt while animation is playing" +msgstr "No es pot esculpir mentre s'està reproduint l'animació" + + +msgid "Select before some Vertex to use as a filter color" +msgstr "Seleccionar abans algun Vèrtex per a usar-lo com a color de filtre" + + +msgid "Trace" +msgstr "Traçar" + + +msgid "No image empty selected" +msgstr "No s'ha seleccionat cap imatge buida" + + +msgid "No valid image format selected" +msgstr "No s'ha seleccionat cap format d'imatge vàlid" + + +msgid "Confirm: Enter/LClick, Cancel: (Esc/RClick) %s" +msgstr "Confirmeu: Retorn / ClicE, Cancel·lar: (Esc / ClicD) %s" + + +msgid "Palette created" +msgstr "S'ha creat la paleta" + + +msgid "Unable to find Vertex Information to create palette" +msgstr "No s'ha pogut trobar la informació dels vèrtexs per a crear la paleta" + + +msgid "GPencil Vertex Paint: LMB to paint | RMB/Escape to Exit | Ctrl to Invert Action" +msgstr "Llapis-dG - Pintura de vèrtexs: BER per pintar | BDR per sortir | Ctrl per invertir l'acció" + + +msgid "Cannot Paint while play animation" +msgstr "No es pot pintar mentre es reprodueix l'animació" + + +msgid "GPencil Weight Paint: LMB to paint | RMB/Escape to Exit" +msgstr "Llapis-dG - Pintura de pesos: BER per pintar | BDR/Escape per sortir" + + +msgid "Failed to set value" +msgstr "No s'ha pogut establir el valor" + + +msgid "LMB: Stroke - Shift: Fill - Shift+Ctrl: Stroke + Fill" +msgstr "BER: traçar - Maj: emplenar - Maj+Ctrl: traçar + emplenar" + + +msgid "Error evaluating number, see Info editor for details" +msgstr "Error en avaluar el número, vegeu l'editor d'informació per més detalls" + + +msgid "Press a key" +msgstr "Premeu una tecla" + + +msgid "Missing Panel: %s" +msgstr "Falta el plafó: %s" + + +msgid "Missing Menu: %s" +msgstr "Falta el menú: %s" + + +msgid "Non-Keyboard Shortcut" +msgstr "No és drecera de teclat" + + +msgid "Pin" +msgstr "Fixar" + + +msgid "Shift Left Mouse" +msgstr "Majúscula ratolí esquerre" + + +msgid "Only keyboard shortcuts can be edited that way, please use User Preferences otherwise" +msgstr "D'aquesta manera només són les dreceres de teclat que es poden editar, sisplau useu les preferències d'usuària en cas contrari" + + +msgctxt "Operator" +msgid "Change Shortcut" +msgstr "Canviar drecera" + + +msgctxt "Operator" +msgid "Assign Shortcut" +msgstr "Assignar drecera" + + +msgctxt "Operator" +msgid "Open File Externally" +msgstr "Obrir document externament" + + +msgctxt "Operator" +msgid "Open Location Externally" +msgstr "Obrir ubicació externament" + + +msgctxt "Operator" +msgid "Replace Keyframes" +msgstr "Substituir fotofites" + + +msgctxt "Operator" +msgid "Replace Single Keyframe" +msgstr "Substituir una sola fotofita" + + +msgctxt "Operator" +msgid "Delete Single Keyframe" +msgstr "Suprimir una sola fotofita" + + +msgctxt "Operator" +msgid "Replace Keyframe" +msgstr "Substituir fotofita" + + +msgctxt "Operator" +msgid "Insert Single Keyframe" +msgstr "Inserir una sola fotofita" + + +msgctxt "Operator" +msgid "Clear Keyframes" +msgstr "Descartar fotofites" + + +msgctxt "Operator" +msgid "Clear Single Keyframes" +msgstr "Descartar fotofites simples" + + +msgctxt "Operator" +msgid "Delete Drivers" +msgstr "Suprimir controladors" + + +msgctxt "Operator" +msgid "Delete Single Driver" +msgstr "Suprimir un sol controlador" + + +msgctxt "Operator" +msgid "Delete Driver" +msgstr "Suprimir controlador" + + +msgctxt "Operator" +msgid "Open Drivers Editor" +msgstr "Obrir editor de controladors" + + +msgctxt "Operator" +msgid "Add All to Keying Set" +msgstr "Afegir-ho tot al joc de fites" + + +msgctxt "Operator" +msgid "Add Single to Keying Set" +msgstr "Afegir-ne un de sol al joc de fites" + + +msgctxt "Operator" +msgid "Remove Overrides" +msgstr "Suprimir sobreseïments" + + +msgctxt "Operator" +msgid "Remove Single Override" +msgstr "Suprimir un sol sobreseïment" + + +msgctxt "Operator" +msgid "Define Overrides" +msgstr "Definir sobreseïments" + + +msgctxt "Operator" +msgid "Define Single Override" +msgstr "Defineix un sol sobreseïment" + + +msgctxt "Operator" +msgid "Define Override" +msgstr "Definir sobreseïment" + + +msgctxt "Operator" +msgid "Reset All to Default Values" +msgstr "Restablir-ho tot als valors predeterminats" + + +msgctxt "Operator" +msgid "Reset Single to Default Value" +msgstr "Restablir-ne un de sol a valor per defecte" + + +msgctxt "Operator" +msgid "Copy All to Selected" +msgstr "Copiar-ho tot a la selecció" + + +msgctxt "Operator" +msgid "Copy Single to Selected" +msgstr "Copiar-ne un de sol a la selecció" + + +msgctxt "Operator" +msgid "Copy Full Data Path" +msgstr "Copiar camí de dades complet" + + +msgctxt "Operator" +msgid "Remove from Quick Favorites" +msgstr "Suprimir preferits ràpids" + + +msgctxt "Operator" +msgid "Add to Quick Favorites" +msgstr "Afegir a preferits ràpids" + + +msgctxt "Operator" +msgid "Remove Shortcut" +msgstr "Suprimir drecera" + + +msgctxt "Operator" +msgid "Online Python Reference" +msgstr "Referència de python en línia" + + +msgid "Drop %s on slot %d (replacing %s) of %s" +msgstr "Amollar %s a l'epígraf %d (reemplaçant %s) de %s" + + +msgid "Drop %s on slot %d (active slot) of %s" +msgstr "Amollar %s a l'epígraf %d (epígraf actiu) de %s" + + +msgid "Drop %s on slot %d of %s" +msgstr "Amollar %s a l'epígraf %d de %s" + + +msgid "Expected an array of numbers: [n, n, ...]" +msgstr "S'esperava una matriu de nombres: [n, n, ...]" + + +msgid "Expected a number" +msgstr "S'esperava un nombre" + + +msgid "Paste expected 3 numbers, formatted: '[n, n, n]'" +msgstr "Enganxar els 3 números esperats, formatats: '[n, n, n]'" + + +msgid "Paste expected 4 numbers, formatted: '[n, n, n, n]'" +msgstr "Enganxar els 4 números esperats, formatats: '[n, n, n, n]'" + + +msgid "Unsupported key: Unknown" +msgstr "Fita no suportada: desconeguda" + + +msgid "Unsupported key: CapsLock" +msgstr "Fita no suportada: BloqMaj" + + +msgid "Failed to find '%s'" +msgstr "Error en buscar '%s'" + + +msgid "Menu Missing:" +msgstr "Falta el menú:" + + +msgid "Animate property" +msgstr "Animar propietat" + + +msgid "Active button is not from a script, cannot edit source" +msgstr "El botó actiu no és d'un protocol, no se'n pot editar la font" + + +msgid "Active button match cannot be found" +msgstr "No s'ha trobat la coincidència del botó actiu" + + +msgid "Active button not found" +msgstr "No s'ha trobat el botó actiu" + + +msgid "Please set your Preferences' 'Translation Branches Directory' path to a valid directory" +msgstr "Si us plau, establiu a Preferències el camí «Directori branches de traducció» en un directori vàlid" + + +msgid "Could not compute a valid data path" +msgstr "No s'ha pogut calcular un camí de dades vàlid" + + +msgid "Failed to create the override operation" +msgstr "No s'ha pogut crear l'operació de sobreseïment" + + +msgid "File '%s' cannot be opened" +msgstr "El document '%s' no es pot obrir" + + +msgid "See '%s' in the text editor" +msgstr "Vegeu '%s' en l'editor de text" + + +msgid "Could not find operator '%s'! Please enable ui_translate add-on in the User Preferences" +msgstr "No s'ha pogut trobar l'operador '%s'! Sisplau, habiliteu el complement ui_translate a les preferències d'usuari" + + +msgid "No valid po found for language '%s' under %s" +msgstr "No s'ha trobat cap PO vàlid per a l'idioma '%s' sota %s" + + +msgid "Hex" +msgstr "Hex" + + +msgid "Red:" +msgstr "Vermell:" + + +msgid "Green:" +msgstr "Verd:" + + +msgid "Blue:" +msgstr "Blau:" + + +msgid "Hue:" +msgstr "Tonalitat:" + + +msgid "Saturation:" +msgstr "Saturació:" + + +msgid "Lightness:" +msgstr "Lluminositat:" + + +msgid "Alpha:" +msgstr "Alfa:" + + +msgid "Hex:" +msgstr "Hex:" + + +msgid "(Gamma Corrected)" +msgstr "(Corregit de gamma)" + + +msgid "Lightness" +msgstr "Lluminositat" + + +msgid "Hex triplet for color (#RRGGBB)" +msgstr "Triplet hexadecimal per al color ()RRGGBB)" + + +msgctxt "Color" +msgid "Value:" +msgstr "Valor:" + + +msgctxt "Color" +msgid "Value" +msgstr "Valor" + + +msgid "Redo" +msgstr "Refer" + + +msgid "Menu \"%s\" not found" +msgstr "No s'ha trobat el menú \"%s\"" + + +msgid "Panel \"%s\" not found" +msgstr "No s'ha trobat el panell \"%s\"" + + +msgid "Unsupported context" +msgstr "Context no suportat" + + +msgid "Internal error!" +msgstr "Error intern!" + + +msgid "Shortcut: %s" +msgstr "Drecera: %s" + + +msgid "Python: %s" +msgstr "Python: %s" + + +msgid "Shortcut Cycle: %s" +msgstr "Cicle de drecera: %s" + + +msgid "(Shift-Click/Drag to select multiple)" +msgstr "(Maj+Clic/Arrossegar per a selecció múltiple)" + + +msgid "Value: %s" +msgstr "Valor: %s" + + +msgid "Radians: %f" +msgstr "Radians: %f" + + +msgid "Expression: %s" +msgstr "Expressió: %s" + + +msgid "Library: %s" +msgstr "Biblioteca: %s" + + +msgid "Disabled: %s" +msgstr "Inhabilitat: %s" + + +msgid "Python: %s.%s" +msgstr "Python: %s.%s" + + +msgctxt "Operator" +msgid "Click" +msgstr "Clicar" + + +msgctxt "Operator" +msgid "Drag" +msgstr "Arrossegar" + + +msgid "Double click to rename" +msgstr "Doble clic per canviar el nom" + + +msgid "Hide filtering options" +msgstr "Amagar opcions de filtratge" + + +msgid "ID-Block:" +msgstr "Bloc ID:" + + +msgid "No Properties" +msgstr "Sense propietats" + + +msgid "More..." +msgstr "Més..." + + +msgid "Move to First" +msgstr "Moure al primer" + + +msgid "Move to Last" +msgstr "Moure al darrer" + + +msgid "Flip Color Ramp" +msgstr "Invertir rampa de color" + + +msgid "Distribute Stops from Left" +msgstr "Distribuir parades des de l'esquerra" + + +msgid "Distribute Stops Evenly" +msgstr "Distribuir punters uniformement" + + +msgid "Eyedropper" +msgstr "Pipeta" + + +msgid "Reset Color Ramp" +msgstr "Reiniciar rampa de color" + + +msgid "Pos" +msgstr "Ubi" + + +msgid "Use Clipping" +msgstr "Esar segat" + + +msgid "Min X:" +msgstr "Mín X:" + + +msgid "Min Y:" +msgstr "Mín Y:" + + +msgid "Max X:" +msgstr "Màx X:" + + +msgid "Max Y:" +msgstr "Màx Y:" + + +msgid "Reset View" +msgstr "Reiniciar vista" + + +msgid "Extend Horizontal" +msgstr "Ampliar horitzontalment" + + +msgid "Extend Extrapolated" +msgstr "Ambplir amb extrapolació" + + +msgid "Reset Curve" +msgstr "Reiniciar corba" + + +msgid "Support Loops" +msgstr "Suportar bucles" + + +msgid "Cornice Molding" +msgstr "Motllura de cornisa" + + +msgid "Crown Molding" +msgstr "Motllura de corona" + + +msgid "Sort By:" +msgstr "Ordenar segons:" + + +msgid "Anim Player" +msgstr "Reproductor d'animacions" + + +msgid "Manual Scale" +msgstr "Escalar manualment" + + +msgid "Choose %s data-block to be assigned to this user" +msgstr "Escolliu el bloc de dades %s que s'ha d'assignar a aquest usador" + + +msgid "" +"Source library: %s\n" +"%s" +msgstr "" +"Biblioteca d'origen: %s\n" +"%s" + + +msgid "Indirect library data-block, cannot be made local, Shift + Click to create a library override hierarchy" +msgstr "Bloc de dades indirecte de biblioteca, no es pot fer local, Maj + Clic per a crear una jerarquia de sobreseïment de biblioteca" + + +msgid "Direct linked library data-block, click to make local, Shift + Click to create a library override" +msgstr "Bloc de dades de biblioteca directament enllaçat, clicar per a fer local, Maj + Clic per a crear un sobreseïment de biblioteca" + + +msgid "Library override of linked data-block, click to make fully local, Shift + Click to clear the library override and toggle if it can be edited" +msgstr "Sobreseïment de biblioteca del bloc de dades enllaçat, clicar per fer-lo completament local, Maj + clic per descartar el sobreseïment de biblioteca i revesar si es pot editar" + + +msgid "Display number of users of this data (click to make a single-user copy)" +msgstr "Mostrar nombre d'usadors d'aquestes dades (clicar per a fer una còpia d'usador únic)" + + +msgid "Packed File, click to unpack" +msgstr "Document empaquetat, clicar per desempaquetar" + + +msgid "Unlink data-block (Shift + Click to set users to zero, data will then not be saved)" +msgstr "Desenllaçar bloc de dades (Maj + clic per a establir els usadors a zero, les dades no es desaran)" + + +msgid "Can't edit external library data" +msgstr "No es poden editar les dades de la biblioteca externa" + + +msgid "Reset operator defaults" +msgstr "Reiniciar valors predeterminats de l'operador" + + +msgid "Add a new color stop to the color ramp" +msgstr "Afegir nou punter de color a la rampa de color" + + +msgid "Delete the active position" +msgstr "Suprimir la ubicació activa" + + +msgid "Choose active color stop" +msgstr "Triar punter de color actiu" + + +msgid "Zoom in" +msgstr "Acostar" + + +msgid "Zoom out" +msgstr "Allunyar" + + +msgid "Clipping Options" +msgstr "Opcions de segat" + + +msgid "Delete points" +msgstr "Suprimir punts" + + +msgid "Reset Black/White point and curves" +msgstr "Reiniciar punt negre/blanc i corbes" + + +msgid "Reapply and update the preset, removing changes" +msgstr "Reaplicar i actualitzar el predefinit, eliminant els canvis" + + +msgid "Reverse Path" +msgstr "Invertir camí" + + +msgid "Toggle Profile Clipping" +msgstr "Revesar perfil de segat" + + +msgid "Stop this job" +msgstr "Aturar aquesta tasca" + + +msgid "Stop animation playback" +msgstr "Aturar reproducció d'animació" + + +msgid "Click to see the remaining reports in text block: 'Recent Reports'" +msgstr "Clicar per veure els informes restants al bloc de text: «Informes recents»" + + +msgid "Show in Info Log" +msgstr "Mostrar al registre d'info" + + +msgid "The Cycles Alembic Procedural is only available with the experimental feature set" +msgstr "El revelat procedimental amb Alembic de Cycles només està disponible amb el joc de funcionalitats experimentals" + + +msgid "The active render engine does not have an Alembic Procedural" +msgstr "El motor de revelat actiu no pot incloure un revelat procedimental Alembic" + + +msgid "Browse Scene to be linked" +msgstr "Explorar per l'escena per enllaçar" + + +msgid "Browse Object to be linked" +msgstr "Explorar l'objecte per enllaçar" + + +msgid "Browse Mesh Data to be linked" +msgstr "Explorar les dades de malla per enllaçar" + + +msgid "Browse Curve Data to be linked" +msgstr "Explorar les dades de corba per enllaçar" + + +msgid "Browse Metaball Data to be linked" +msgstr "Explorar les dades de metabola per enllaçar" + + +msgid "Browse Material to be linked" +msgstr "Explorar el material per enllaçar" + + +msgid "Browse Texture to be linked" +msgstr "Explorar la textura per enllaçar" + + +msgid "Browse Image to be linked" +msgstr "Explorar la imatge per enllaçar" + + +msgid "Browse Line Style Data to be linked" +msgstr "Explorar les dades d'estil de línia per enllaçar" + + +msgid "Browse Lattice Data to be linked" +msgstr "Explorar les dades de retícula per enllaçar" + + +msgid "Browse Light Data to be linked" +msgstr "Explorar les dades de llum per enllaçar" + + +msgid "Browse Camera Data to be linked" +msgstr "Explorar les dades de càmera perenllaçar" + + +msgid "Browse World Settings to be linked" +msgstr "Explorar els paràmetres del món per enllaçar" + + +msgid "Choose Screen layout" +msgstr "Triar disposició de pantalla" + + +msgid "Browse Text to be linked" +msgstr "Explorar el text per enllaçar" + + +msgid "Browse Speaker Data to be linked" +msgstr "Explorar les dades d'altaveu per enllaçar" + + +msgid "Browse Sound to be linked" +msgstr "Explorar el so per enllaçar" + + +msgid "Browse Armature data to be linked" +msgstr "Explorar l'esquelet per enllaçar" + + +msgid "Browse Action to be linked" +msgstr "Explorar l'acció per enllaçar" + + +msgid "Browse Node Tree to be linked" +msgstr "Explorar l'arbre de nodes per enllaçar" + + +msgid "Browse Brush to be linked" +msgstr "Explorar el pinzell per enllaçar" + + +msgid "Browse Particle Settings to be linked" +msgstr "Explorar els paràmetres de partícules per enllaçar" + + +msgid "Browse Grease Pencil Data to be linked" +msgstr "Explorar les dades de llapis de greix per enllaçar" + + +msgid "Browse Movie Clip to be linked" +msgstr "Explorar el clip de pel·lícula per enllaçar" + + +msgid "Browse Mask to be linked" +msgstr "Explorar la màscara per enllaçar" + + +msgid "Browse Palette Data to be linked" +msgstr "Explorar les dades de la paleta per enllaçar" + + +msgid "Browse Paint Curve Data to be linked" +msgstr "Explorar les dades de la corba de pintar per enllaçar" + + +msgid "Browse Cache Files to be linked" +msgstr "Explorar els documents de memòria cau per enllaçar" + + +msgid "Browse Workspace to be linked" +msgstr "Explorar l'obrador per enllaçar" + + +msgid "Browse LightProbe to be linked" +msgstr "Explorar la sonda de llum per enllaçar" + + +msgid "Browse Curves Data to be linked" +msgstr "Explorar les dades de corbes per enllaçar" + + +msgid "Browse Point Cloud Data to be linked" +msgstr "Explorar les dades de núvol de punts per enllaçar" + + +msgid "Browse Volume Data to be linked" +msgstr "Explorar les dades de volum per enllaçar" + + +msgid "Browse Simulation to be linked" +msgstr "Explorar la simulació per enllaçar" + + +msgid "Browse ID data to be linked" +msgstr "Explorar les dades ID per enllaçar" + + +msgid "The data-block %s is not overridable" +msgstr "El bloc de dades %s no es pot sobreseure" + + +msgid "The type of data-block %s is not yet implemented" +msgstr "El tipus de bloc de dades %s encara no està implementat" + + +msgid "The data-block %s could not be overridden" +msgstr "No s'ha pogut sobreseure el bloc de dades %s" + + +msgctxt "Object" +msgid "New" +msgstr "Nou" + + +msgctxt "Mesh" +msgid "New" +msgstr "Nova" + + +msgctxt "Curve" +msgid "New" +msgstr "Nova" + + +msgctxt "Metaball" +msgid "New" +msgstr "Nova" + + +msgctxt "Material" +msgid "New" +msgstr "Nou" + + +msgctxt "Texture" +msgid "New" +msgstr "Nova" + + +msgctxt "Lattice" +msgid "New" +msgstr "Nova" + + +msgctxt "Light" +msgid "New" +msgstr "Nou" + + +msgctxt "Camera" +msgid "New" +msgstr "Nova" + + +msgctxt "World" +msgid "New" +msgstr "Nou" + + +msgctxt "Screen" +msgid "New" +msgstr "Nova" + + +msgctxt "Speaker" +msgid "New" +msgstr "Nou" + + +msgctxt "Sound" +msgid "New" +msgstr "Nou" + + +msgctxt "Armature" +msgid "New" +msgstr "Nou" + + +msgctxt "Action" +msgid "New" +msgstr "Nova" + + +msgctxt "NodeTree" +msgid "New" +msgstr "Nou" + + +msgctxt "Brush" +msgid "New" +msgstr "Nou" + + +msgctxt "ParticleSettings" +msgid "New" +msgstr "Nous" + + +msgctxt "GPencil" +msgid "New" +msgstr "Nou" + + +msgctxt "FreestyleLineStyle" +msgid "New" +msgstr "Nou" + + +msgctxt "WorkSpace" +msgid "New" +msgstr "Nou" + + +msgctxt "LightProbe" +msgid "New" +msgstr "Nova" + + +msgctxt "Curves" +msgid "New" +msgstr "Noves" + + +msgctxt "PointCloud" +msgid "New" +msgstr "Nou" + + +msgctxt "Volume" +msgid "New" +msgstr "Nou" + + +msgctxt "Simulation" +msgid "New" +msgstr "Nova" + + +msgid "%d items" +msgstr "%d elements" + + +msgid "Manual Transform" +msgstr "Transformació manual" + + +msgid "Scene Options" +msgstr "Opcions d'escena" + + +msgid "Samples Transform" +msgstr "Transformació de mostres" + + +msgid "Close" +msgstr "Tancar" + + +msgid "Only" +msgstr "Només" + + +msgid "Object Options" +msgstr "Opcions d'objecte" + + +msgid "Use Schema" +msgstr "Usar esquema" + + +msgid "Method Quads" +msgstr "Mètode Quads" + + +msgid "No filename given" +msgstr "No s'ha aportat cap nom de document" + + +msgid "Unable to determine ABC sequence length" +msgstr "No s'ha pogut determinar la longitud de la seqüència ABC" + + +msgid "No filepath given" +msgstr "No s'ha aportat cap camí de document" + + +msgid "Could not add a layer to the cache file" +msgstr "No s'ha pogut afegir una capa al document de memòria cau" + + +msgid "Global Orientation" +msgstr "Orientació global" + + +msgid "Texture Options" +msgstr "Opcions de textura" + + +msgid "Only Selected Map" +msgstr "Sols mapa seleccionat" + + +msgid "Export Data Options" +msgstr "Opcions d'exportació de dades" + + +msgid "Armature Options" +msgstr "Opcions d'esquelet" + + +msgid "Collada Options" +msgstr "Opcions de Collada" + + +msgid "Import Data Options" +msgstr "Opcions d'importació de dades" + + +msgid "Can't create export file" +msgstr "No s'ha pogut crear el document d'exportació" + + +msgid "Can't overwrite export file" +msgstr "No es pot sobreescriure el document d'exportació" + + +msgid "No objects selected -- Created empty export file" +msgstr "No s'ha seleccionat cap objecte -- S'ha creat un document d'exportació buit" + + +msgid "Error during export (see Console)" +msgstr "Error durant l'exportació (vegeu la consola)" + + +msgid "Parsing errors in Document (see Blender Console)" +msgstr "Errors de programació al document (vegeu la consola del Blender)" + + +msgid "Export Options" +msgstr "Opcions d'exportació" + + +msgid "Unable to find valid 3D View area" +msgstr "No s'ha pogut trobar una àrea de visualització 3D vàlida" + + +msgid "Unable to export SVG" +msgstr "No s'ha pogut exportar el SVG" + + +msgid "Unable to export PDF" +msgstr "No s'ha pogut exportar el PDF" + + +msgid "Unable to import '%s'" +msgstr "No es pot importar '%s'" + + +msgid "Triangulated Mesh" +msgstr "Malla triangular" + + +msgid "Grouping" +msgstr "Agrupament" + + +msgid "Object Groups" +msgstr "Grups d'objectes" + + +msgid "Smooth Group Bitflags" +msgstr "Suavitzar semàfors de grup" + + +msgid "File References" +msgstr "Referències de documents" + + +msgid "Data Types" +msgstr "Tipus de dades" + + +msgid "Mesh Data" +msgstr "Dades de malla" + + +msgid "No weights/vertex groups on object(s)" +msgstr "Objecte(s) sense pesos/grups de vèrtexs" + + +msgctxt "Mesh" +msgid "Plane" +msgstr "Pla" + + +msgctxt "Mesh" +msgid "Cube" +msgstr "Cub" + + +msgctxt "Mesh" +msgid "Circle" +msgstr "Cercle" + + +msgctxt "Mesh" +msgid "Cylinder" +msgstr "Cilindre" + + +msgctxt "Mesh" +msgid "Cone" +msgstr "Con" + + +msgctxt "Mesh" +msgid "Grid" +msgstr "Quadrícula" + + +msgctxt "Mesh" +msgid "Suzanne" +msgstr "Susanna" + + +msgctxt "Mesh" +msgid "Sphere" +msgstr "Esfera" + + +msgctxt "Mesh" +msgid "Icosphere" +msgstr "Icosfera" + + +msgid "No active attribute" +msgstr "Sense atribut actiu" + + +msgid "Active string attribute not supported" +msgstr "L'atribut de cadena actiu no és compatible" + + +msgid "Miter Shape" +msgstr "Forma de motllura" + + +msgid "Intersection Type" +msgstr "Tipus d'intersecció" + + +msgid "LMB: Click and drag to draw cut line" +msgstr "BER: clicar i arrossegar per dibuixar línia de tall" + + +msgid "LMB: Release to confirm cut line" +msgstr "Ber: Amollar per confirmar línia de tall" + + +msgid "Selected edges/faces required" +msgstr "Es requereixen arestes/cares seleccionades" + + +msgid "Not a valid selection for extrude" +msgstr "No és una selecció vàlida per a l'extrusió" + + +msgid "Invalid/unset axis" +msgstr "Eix no vàlid/no definit" + + +msgid "You have to select a string of connected vertices too" +msgstr "També heu de seleccionar una cadena de vèrtexs connectats" + + +msgid "Confirm: Enter/LClick, Cancel: (Esc/RClick), Thickness: %s, Depth (Ctrl to tweak): %s (%s), Outset (O): (%s), Boundary (B): (%s), Individual (I): (%s)" +msgstr "Confirmar: Intro/ClicE, Cancel·lar: (Esc/ClicD), Gruix: %s, Profunditat (Ctrl per manipular): %s (%s), començament (O): (%s), límit (B): (%s), individu (I): (%s)" + + +msgid "Compiled without GMP, using fast solver" +msgstr "Compilat sense GMP, usant el resolutor ràpid" + + +msgid "No intersections found" +msgstr "No s'ha trobat cap intersecció" + + +msgid "Selected faces required" +msgstr "Es requereixen cares seleccionades" + + +msgid "No other selected objects have wire or boundary edges to use for projection" +msgstr "No hi ha cap altre objecte seleccionat que tingui el filat o les vores dels límits per a la projecció" + + +msgid "Select a ring to be cut, use mouse-wheel or page-up/down for number of cuts, hold Alt for smooth" +msgstr "Seleccionar un anell per a tallar, utilitzeu la roda del ratolí o pàgina amunt/avall per al nombre de talls, mantenir la tecla Alt per a suavitzar" + + +msgid "Number of Cuts: %s, Smooth: %s (Alt)" +msgstr "Nombre de talls: %s, Suavitzar: %s (Alt)" + + +msgid "Loop cut does not work well on deformed edit mesh display" +msgstr "La inserció de bucle no funciona quan es mostra la malla d'edició deformada" + + +msgid "Click on the mesh to select a Face Set" +msgstr "Clicar a la malla per seleccionar un joc de cares" + + +msgid "The geometry can not be extracted with dyntopo activated" +msgstr "La geometria no es pot extreure amb el dyntopo activat" + + +msgid "Path selection requires two matching elements to be selected" +msgstr "La selecció del camí requereix que se seleccionin dos elements coincidents" + + +msgid "Cannot rip selected faces" +msgstr "No es poden arrencar les cares seleccionades" + + +msgid "Cannot rip multiple disconnected vertices" +msgstr "No es poden arrencar múltiples vèrtexs desconnectats" + + +msgid "Rip failed" +msgstr "Arrencar fallit" + + +msgid "Vertex select - Shift-Click for multiple modes, Ctrl-Click contracts selection" +msgstr "Selecció de vèrtexs - Maj+Clic per a múltiples modes, Ctrl+Clic contrau selecció" + + +msgid "Edge select - Shift-Click for multiple modes, Ctrl-Click expands/contracts selection depending on the current mode" +msgstr "Selecció d'arestes - Maj+Clic per a múltiples modes, Ctrl+Clic expandeix/contrau la selecció depenent del mode actual" + + +msgid "Face select - Shift-Click for multiple modes, Ctrl-Click expands selection" +msgstr "Selecció de cares - Maj+Clic per a múltiples modes, Ctrl+Clic expandeix la selecció" + + +msgid "No face regions selected" +msgstr "No s'ha seleccionat cap regió de cares" + + +msgid "No matching face regions found" +msgstr "No s'han trobat regions de cara coincidents" + + +msgid "Mesh object(s) have no active vertex/edge/face" +msgstr "Els objectes malla no tenen cap vèrtex/aresta/cara actiu" + + +msgid "Does not work in face selection mode" +msgstr "No funciona en el mode de selecció de cares" + + +msgid "This operator requires an active vertex (last selected)" +msgstr "Aquest operador requereix un vèrtex actiu (l'últim seleccionat)" + + +msgid "Must be in vertex selection mode" +msgstr "Ha d'estar en mode de selecció de vèrtex" + + +msgid "No weights/vertex groups on object" +msgstr "No hi ha grups de pesos/vèrtexs en l'objecte" + + +msgid "No face selected" +msgstr "No s'ha seleccionat cap cara" + + +msgid "No edge selected" +msgstr "No s'ha seleccionat cap aresta" + + +msgid "No vertex selected" +msgstr "No s'ha seleccionat cap vèrtex" + + +msgid "No vertex group among the selected vertices" +msgstr "No hi ha cap grup de vèrtexs entre els vèrtexs seleccionats" + + +msgid "%s: confirm, %s: cancel, %s: point to mouse (%s), %s: point to Pivot, %s: point to object origin, %s: reset normals, %s: set & point to 3D cursor, %s: select & point to mesh item, %s: invert normals (%s), %s: spherize (%s), %s: align (%s)" +msgstr "%s: confirmar, %s: cancel·lar, %s: apuntar al ratolí (%s), %s: apuntar a pivot, %s: apuntar a l'origen d'objecte, %s: reiniciar normals, %s: establir i apuntar a cursor 3D, %s: seleccionar i apuntar a element malla, %s: invertir normals (%s), %s: esferitzar (%s), %s: alinear (%s)" + + +msgid "Invalid selection order" +msgstr "Ordre de selecció no vàlid" + + msgid "Select edges or face pairs for edge loops to rotate about" msgstr "Seleccionar els parells d'arestes o cares per a les anelles d'arestes entorn de les quals rotar" +msgid "Could not find any selected edges that can be rotated" +msgstr "No s'ha pogut trobar cap aresta seleccionada que es pugui fer rotar" + + +msgid "No selected vertex" +msgstr "Cap vèrtex seleccionat" + + +msgid "Mesh(es) do not have shape keys" +msgstr "Les malles no tenen morfofites" + + +msgid "Active mesh does not have shape keys" +msgstr "La malla activa no té morfofites" + + +msgid "No edges are selected to operate on" +msgstr "No hi ha cap aresta seleccionada per operar-hi" + + +msgid "Mouse path too short" +msgstr "El camí del ratolí és massa curt" + + +msgid "Selection not supported in object mode" +msgstr "No suportat la selecció en el mode objecte" + + +msgid "No edges selected" +msgstr "No s'ha seleccionat cap aresta" + + +msgid "No faces filled" +msgstr "No hi ha cares emplenades" + + +msgid "No active vertex group" +msgstr "No hi ha cap grup de vèrtex actiu" + + +msgid "View not found, cannot sort by view axis" +msgstr "No s'ha trobat la visualització, no es pot ordenar per l'eix de visualització" + + +msgid "Does not support Individual Origins as pivot" +msgstr "No admet orígens individuals com a pivot" + + +msgid "Can only copy one custom normal, vertex normal or face normal" +msgstr "Només es pot copiar una normal personalitzada, normal de vèrtex o normal de cara" + + +msgid "Removed: %d vertices, %d edges, %d faces" +msgstr "Suprimits; %d vèrtexs, %d arestes, %d cares" + + +msgid "Unable to rotate %d edge(s)" +msgstr "No s'ha pogut fer rotar %d aresta/es" + + +msgid "Removed %d vertice(s)" +msgstr "S'ha suprimit %d vèrtex(s)" + + +msgid "%d already symmetrical, %d pairs mirrored, %d failed" +msgstr "%d ja és simètric, %d parells emmirallats, %d ha(n) fallat" + + +msgid "%d already symmetrical, %d pairs mirrored" +msgstr "%d ja és simètric, %d parells emmirallats" + + +msgid "Parse error in %s" +msgstr "Error d'anàlisi de programació a %s" + + +msgid "Cannot add vertices in edit mode" +msgstr "No es poden afegir vèrtexs en mode edició" + + +msgid "Cannot add edges in edit mode" +msgstr "No es poden afegir arestes en mode edició" + + +msgid "Cannot add loops in edit mode" +msgstr "No es poden afegir bucles en mode edició" + + +msgid "Cannot add polygons in edit mode" +msgstr "No es poden afegir polígons en mode edició" + + +msgid "Cannot remove vertices in edit mode" +msgstr "No es poden eliminar vèrtexs en mode edició" + + +msgid "Cannot remove more vertices than the mesh contains" +msgstr "No es poden eliminar més vèrtexs dels que conté la malla" + + +msgid "Cannot remove edges in edit mode" +msgstr "No es poden suprimir arestes en el mode edició" + + +msgid "Cannot remove more edges than the mesh contains" +msgstr "No es poden eliminar més arestes que els que la malla conté" + + +msgid "Cannot remove loops in edit mode" +msgstr "No es poden eliminar bucles en mode edició" + + +msgid "Cannot remove more loops than the mesh contains" +msgstr "No es poden eliminar més bucles que els que la malla conté" + + +msgid "Cannot remove polys in edit mode" +msgstr "No es poden eliminar polígons en mode edició" + + +msgid "Cannot remove more polys than the mesh contains" +msgstr "No es poden eliminar més polígons que els que la malla conté" + + +msgid "Cannot add more than %i UV maps" +msgstr "No es poden afegir més de %i mapes UV" + + +msgid "%d %s mirrored, %d failed" +msgstr "%d %s emmirallat(s), %d ha(n) fallat" + + +msgid "%d %s mirrored" +msgstr "%d %s emmirallat(s)" + + +msgid "Cannot join while in edit mode" +msgstr "No es pot unir en mode d'edició" + + +msgid "Active object is not a selected mesh" +msgstr "L'objecte actiu no és una malla seleccionada" + + +msgid "No mesh data to join" +msgstr "No hi ha dades de malla per unir" + + +msgid "Selected meshes must have equal numbers of vertices" +msgstr "Les malles seleccionades han de tenir el mateix nombre de vèrtexs" + + +msgid "No additional selected meshes with equal vertex count to join" +msgstr "No hi ha malles seleccionades addicionals amb el mateix nombre de vèrtexs per unir" + + +msgid "Joining results in %d vertices, limit is %ld" +msgstr "Unint resultats en %d vèrtexs, el límit és %ld" + + +msgid "SoundTrack" +msgstr "Banda sonora" + + +msgctxt "Light" +msgid "IrradianceVolume" +msgstr "VolumIrradiància" + + +msgctxt "Light" +msgid "ReflectionPlane" +msgstr "PlaReflexos" + + +msgctxt "Light" +msgid "ReflectionCubemap" +msgstr "CubografiaReflexos" + + +msgctxt "Light" +msgid "LightProbe" +msgstr "SondaLlum" + + +msgctxt "Object" +msgid "Force" +msgstr "Força" + + +msgctxt "Object" +msgid "Vortex" +msgstr "Vòrtex" + + +msgctxt "Object" +msgid "Magnet" +msgstr "Imant" + + +msgctxt "Object" +msgid "Wind" +msgstr "Vent" + + +msgctxt "Object" +msgid "CurveGuide" +msgstr "GuiaCorba" + + +msgctxt "Object" +msgid "TextureField" +msgstr "CampTextura" + + +msgctxt "Object" +msgid "Harmonic" +msgstr "Harmònic" + + +msgctxt "Object" +msgid "Charge" +msgstr "Càrrega" + + +msgctxt "Object" +msgid "Lennard-Jones" +msgstr "Lennard-Jones" + + msgctxt "Object" msgid "Boid" msgstr "Floc" +msgctxt "Object" +msgid "Turbulence" +msgstr "Turbulència" + + +msgctxt "Object" +msgid "Drag" +msgstr "Arrossegament" + + +msgctxt "Object" +msgid "FluidField" +msgstr "CampFluid" + + +msgctxt "Object" +msgid "Field" +msgstr "Camp" + + +msgctxt "GPencil" +msgid "GPencil" +msgstr "LlapisG" + + +msgctxt "GPencil" +msgid "Suzanne" +msgstr "Susanna" + + +msgctxt "GPencil" +msgid "Stroke" +msgstr "Traç" + + +msgctxt "GPencil" +msgid "LineArt" +msgstr "DibuixLineal" + + +msgid "Cannot create editmode armature" +msgstr "No s'ha pogut crear esquelet en mode d'edició" + + +msgid "Not implemented" +msgstr "No implementat" + + +msgid "Converting some non-editable object/object data, enforcing 'Keep Original' option to True" +msgstr "S'estan convertint algunes dades d'objecte/objecte no editable, forçant el paràmetre «Mantenir original» com a ver" + + +msgid "Convert Surfaces to Grease Pencil is not supported" +msgstr "No suportat la conversió de superfícies a llapis de greix" + + +msgid "Object not found" +msgstr "No s'ha trobat l'objecte" + + +msgid "Object could not be duplicated" +msgstr "No s'ha pogut duplicar l'objecte" + + +msgid "This data does not support joining in edit mode" +msgstr "Aquestes dades no permeten unir-se en mode d'edició" + + +msgid "Cannot edit external library data" +msgstr "No es poden editar les dades de la biblioteca externa" + + +msgid "This data does not support joining in this mode" +msgstr "Aquestes dades no permeten unir-se en aquest mode" + + +msgid "Active object final transform has one or more zero scaled axes" +msgstr "La transformació final de l'objecte actiu té un o més eixos escalats zero" + + +msgid "Cannot delete indirectly linked object '%s'" +msgstr "No es pot suprimir un objecte enllaçat indirectament '%s'" + + +msgid "Cannot delete object '%s' as it is used by override collections" +msgstr "No es pot suprimir l'objecte '%s' perquè s'utilitza en col·leccions de sobreseïments" + + +msgid "Cannot delete object '%s' from scene '%s', indirectly used objects need at least one user" +msgstr "No es pot suprimir l'objecte '%s' de l'escena '%s', els objectes utilitzats indirectament necessiten almenys un usador" + + +msgid "Deleted %u object(s)" +msgstr "S'ha(n) suprimit %u objecte(s)" + + +msgid "Object '%s' has no evaluated curves data" +msgstr "L'objecte '%s' no té dades de corbes avaluades" + + +msgid "Object '%s' has no evaluated mesh or curves data" +msgstr "L'objecte '%s' no té dades de corbes o malles avaluades" + + +msgid "Cannot edit object '%s' as it is used by override collections" +msgstr "No es pot editar l'objecte '%s' perquè s'utilitza en col·leccions de sobreseïment" + + +msgid "No active mesh object" +msgstr "No hi ha cap objecte malla actiu" + + +msgid "Baking of multires data only works with an active mesh object" +msgstr "El precuinat de dades de multires només funciona amb un objecte malla actiu" + + +msgid "Multires data baking requires multi-resolution object" +msgstr "El precuinat de dades de multires requereix un objecte de resolució múltiple" + + +msgid "Mesh should be unwrapped before multires data baking" +msgstr "La malla s'ha de desembolcallar abans de precuinar les dades de multires" + + +msgid "You should have active texture to use multires baker" +msgstr "Heu de tenir una textura activa per a usar el precuinador de multires" + + +msgid "Baking should happen to image with image buffer" +msgstr "El precuinat hauria d'aplicar-se a la imatge amb la memòria intermèdia d'imatge" + + +msgid "Baking to unsupported image type" +msgstr "S'està precuinat a un tipus d'imatge no admès" + + +msgid "No objects found to bake from" +msgstr "No s'ha trobat cap objecte des d'on precuinar" + + +msgid "Combined bake pass requires Emit, or a light pass with Direct or Indirect contributions enabled" +msgstr "La passada combinat de precuinat requereix Emit, o una passada de llum amb contribucions directes o indirectes activades" + + +msgid "Bake pass requires Direct, Indirect, or Color contributions to be enabled" +msgstr "La passada de precuinat requereix contribucions directes, indirectes o de color per poder-la habilitar" + + +msgid "No valid selected objects" +msgstr "No hi ha objectes seleccionats vàlids" + + +msgid "No active image found, add a material or bake to an external file" +msgstr "No s'ha trobat cap imatge activa, afegiu un material o precuineu a un document extern" + + +msgid "No active image found, add a material or bake without the Split Materials option" +msgstr "No s'ha trobat cap imatge activa, afegiu-hi un material o precuineu sense l'opció de Dividir materials" + + +msgid "Baking map saved to internal image, save it externally or pack it" +msgstr "S'ha desat el mapa de precuinat a la imatge interna, deseu-la externament o empaqueteu-la" + + +msgid "Color attribute baking is only supported for mesh objects" +msgstr "El precuinat d'atributs de color només és compatible amb els objectes malla" + + +msgid "No active color attribute to bake to" +msgstr "No hi ha cap atribut de color actiu a precuinar" + + +msgid "Current render engine does not support baking" +msgstr "El motor de revelat actual no admet precuinat" + + +msgid "No valid cage object" +msgstr "No hi ha cap objecte gàbia vàlid" + + +msgid "Invalid cage object, the cage mesh must have the same number of faces as the active object" +msgstr "Objecte gàbia no vàlid, la malla de gàbia ha de tenir el mateix nombre de cares que l'objecte actiu" + + +msgid "Error handling selected objects" +msgstr "Error en gestionar els objectes seleccionats" + + +msgid "Object \"%s\" is not in view layer" +msgstr "L'objecte \"%s\" no està en la capa de visualització" + + +msgid "Object \"%s\" is not enabled for rendering" +msgstr "L'objecte \"%s\" no està habilitat per revelar" + + +msgid "Object \"%s\" is not a mesh" +msgstr "L'objecte \"%s\" no és una malla" + + +msgid "No faces found in the object \"%s\"" +msgstr "No s'han trobat cares en l'objecte \"%s\"" + + +msgid "Mesh does not have an active color attribute \"%s\"" +msgstr "La malla no té un atribut de color actiu \"%s\"" + + +msgid "No active UV layer found in the object \"%s\"" +msgstr "No s'ha trobat cap capa UV activa en l'objecte \"%s\"" + + +msgid "Circular dependency for image \"%s\" from object \"%s\"" +msgstr "Dependència circular per la imatge \"%s\" de l'objecte \"%s\"" + + +msgid "Uninitialized image \"%s\" from object \"%s\"" +msgstr "Imatge no inicialitzada \"%s\" de l'objecte \"%s\"" + + +msgid "No active image found in material \"%s\" (%d) for object \"%s\"" +msgstr "No s'ha trobat cap imatge activa al material \"%s\" (%d) per a l'objecte \"%s\"" + + +msgid "No active image found in material slot (%d) for object \"%s\"" +msgstr "No s'ha trobat cap imatge activa en l'epígraf de material (%d) per a l'objecte \"%s\"" + + +msgid "Object \"%s\" is not a mesh or can't be converted to a mesh (Curve, Text, Surface or Metaball)" +msgstr "L'objecte \"%s\" no és una malla o no es pot convertir en una malla (corba, text, superfície o metabola)" + + +msgid "Uninitialized image %s" +msgstr "Imatge %s sense inicialitzar" + + +msgid "Problem saving the bake map internally for object \"%s\"" +msgstr "S'ha produït un problema en desar internament el mapa de precuinat per a l'objecte \"%s\"" + + +msgid "Problem saving baked map in \"%s\"" +msgstr "S'ha produït un problema en desar el mapa de precuinat a \"%s\"" + + +msgid "Baking map written to \"%s\"" +msgstr "Mapa de precuinat escrit a \"%s\"" + + +msgid "No UV layer named \"%s\" found in the object \"%s\"" +msgstr "No s'ha trobat cap capa UV anomenada \"%s\" en l'objecte \"%s\"" + + +msgid "Error baking from object \"%s\"" +msgstr "S'ha produït un error en precuinar l'objecte \"%s\"" + + +msgid "Problem baking object \"%s\"" +msgstr "S'ha produït un problema en precuinar l'objecte \"%s\"" + + +msgid "Skipped some collections because of cycle detected" +msgstr "S'han omès algunes col·leccions per haver-se detectat un cicle" + + +msgid "Active object contains no collections" +msgstr "L'objecte actiu no conté col·leccions" + + +msgid "Could not add the collection because it is overridden" +msgstr "No s'ha pogut afegir la col·lecció perquè està sobreseguda" + + +msgid "Could not add the collection because it is linked" +msgstr "No s'ha pogut afegir la col·lecció perquè està enllaçada" + + +msgid "Could not add the collection because of dependency cycle detected" +msgstr "No s'ha pogut afegir la col·lecció a causa del cicle de dependència detectat" + + +msgid "Cannot remove an object from a linked or library override collection" +msgstr "No es pot eliminar un objecte d'una col·lecció enllaçada o de biblioteca de sobreseïment" + + +msgid "Cannot unlink a library override collection which is not the root of its override hierarchy" +msgstr "No es pot desenllaçar una col·lecció de biblioteca de sobreseïment que no és l'arrel de la seva jerarquia de sobreseïment" + + +msgid "Add IK" +msgstr "Afegir CI" + + +msgid "To Active Bone" +msgstr "A l'os actiu" + + +msgid "To Active Object" +msgstr "A l'objecte actiu" + + +msgid "To New Empty Object" +msgstr "Al nou objecte trivi" + + +msgid "Without Targets" +msgstr "Sense referents" + + +msgid "Could not find constraint data for Child-Of Set Inverse" +msgstr "No s'han pogut trobar les dades de restricció per Establir inversió a Fill-de" + + +msgid "Child Of constraint not found" +msgstr "No s'ha trobat la restricció Fill-de" + + +msgid "Follow Path constraint not found" +msgstr "No s'ha trobat la restricció de Seguir trajecte" + + +msgid "Path is already animated" +msgstr "El camí ja està animat" + + +msgid "Could not find constraint data for ObjectSolver Set Inverse" +msgstr "No s'han pogut trobar les dades de restricció per Establir inversió al Resolutor d'objectes" + + +msgid "Applied constraint was not first, result may not be as expected" +msgstr "La restricció aplicada no ha estat la primera, el resultat pot no ser l'esperat" + + +msgid "No constraints for copying" +msgstr "No hi ha restriccions per copiar" + + +msgid "No active bone with constraints for copying" +msgstr "No hi ha cap os actiu amb restriccions per copiar" + + +msgid "No active pose bone to add a constraint to" +msgstr "No hi ha cap os de posa actiu a qui afegir una restricció" + + +msgid "No active object to add constraint to" +msgstr "No hi ha cap objecte actiu a qui afegir una restricció" + + +msgid "Must have an active bone to add IK constraint to" +msgstr "Ha de tenir un os actiu per afegir-l'hi una restricció CI" + + +msgid "Bone already has an IK constraint" +msgstr "L'os ja té una restricció CI" + + +msgid "Removed constraint: %s" +msgstr "Restricció eliminada: %s" + + +msgid "Applied constraint: %s" +msgstr "Restricció aplicada: %s" + + +msgid "Copied constraint: %s" +msgstr "Restricció copiada: %s" + + +msgid "Cannot edit library data" +msgstr "No es poden editar les dades de biblioteca" + + +msgid "Cannot edit constraints coming from linked data in a library override" +msgstr "No es poden editar les restriccions que provenen de dades enllaçades en un sobreseïment de biblioteca" + + +msgid "No other bones are selected" +msgstr "No hi ha altres ossos seleccionats" + + +msgid "No selected object to copy from" +msgstr "No hi ha cap objecte seleccionat des d'on copiar" + + +msgid "No other objects are selected" +msgstr "No s'ha seleccionat cap altre objecte" + + +msgid "Transfer data layer(s) (weights, edge sharp, etc.) from selected meshes to active one" +msgstr "Transferir les capes de dades (pesos, vores agudes, etc.) des de les malles seleccionades a l'activa" + + +msgid "Operator is frozen, changes to its settings won't take effect until you unfreeze it" +msgstr "L'operador està congelat, els canvis a la seva configuració no tindran efecte fins que no el desbloquegeu" + + +msgid "Skipping object '%s', linked or override data '%s' cannot be modified" +msgstr "Ometent l'objecte '%s', les dades enllaçades o anul·lades '%s' no es poden modificar" + + +msgid "Skipping object '%s', data '%s' has already been processed with a previous object" +msgstr "Ometent l'objecte '%s', les dades '%s' ja s'han processat amb un objecte anterior" + + +msgid "Clear motion paths of selected objects" +msgstr "Descartar els trajectes de moviment dels objectes seleccionats" + + +msgid "Clear motion paths of all objects" +msgstr "Descartar els camins de moviment de tots els objectes" + + +msgid "Can't edit linked mesh or curve data" +msgstr "No es poden editar les dades de malla o corba enllaçades" + + +msgid "No collection selected" +msgstr "No hi ha cap col·lecció seleccionada" + + +msgid "Unexpected error, collection not found" +msgstr "Error inesperat, no s'ha trobat la col·lecció" + + +msgid "Cannot add objects to a library override collection" +msgstr "No s'han pogut afegir objectes a la col·lecció de sobreseïments de biblioteca" + + +msgid "No objects selected" +msgstr "No s'ha seleccionat cap objecte" + + +msgid "%s already in %s" +msgstr "%s ja és a %s" + + +msgid "%s linked to %s" +msgstr "%s enllaçat a %s" + + +msgid "Objects linked to %s" +msgstr "Objectes enllaçats a %s" + + +msgid "%s moved to %s" +msgstr "%s mogut(s) a %s" + + +msgid "Objects moved to %s" +msgstr "Objectes moguts a %s" + + +msgid "Only one modifier of this type is allowed" +msgstr "Només es permet un modificador d'aquest tipus" + + +msgid "Cannot move modifier beyond the end of the stack" +msgstr "No es pot moure el modificador més enllà del final de l'estiba" + + +msgid "Modifier is disabled, skipping apply" +msgstr "El modificador està desactivat, se n'omet l'aplicació" + + +msgid "Cannot apply modifier for this object type" +msgstr "No es pot aplicar el modificador per a aquest tipus d'objecte" + + +msgid "Modifiers cannot be applied in paint, sculpt or edit mode" +msgstr "Els modificadors no es poden aplicar en mode pintura, escultura o edició" + + +msgid "Modifiers cannot be applied to multi-user data" +msgstr "Els modificadors no es poden aplicar a dades multiusador" + + +msgid "Applied modifier was not first, result may not be as expected" +msgstr "El modificador aplicat no ha estat el primer, el resultat pot no ser l'esperat" + + +msgid "Modifiers cannot be added to object '%s'" +msgstr "No es poden afegir modificadors a l'objecte '%s'" + + +msgid "Modifier '%s' not in object '%s'" +msgstr "El modificador '%s' no és a l'objecte '%s'" + + +msgid "Removed modifier: %s" +msgstr "Modificador eliminat: %s" + + +msgid "Applied modifier: %s" +msgstr "Modificador aplicat: %s" + + +msgid "Source object '%s' is not a grease pencil object" +msgstr "L'objecte d'origen '%s' no és un objecte llapis de greix" + + +msgid "Destination object '%s' is not a grease pencil object" +msgstr "L'objecte de destinació '%s' no és un objecte llapis de greix" + + +msgid "Cannot edit modifiers coming from linked data in a library override" +msgstr "No es poden editar modificadors procedents de dades enllaçades en un sobreseïment de biblioteca" + + +msgid "No supported objects were selected" +msgstr "No s'han seleccionat objectes compatibles" + + +msgid "Requires selected vertices or active vertex group" +msgstr "Requereix vèrtexs seleccionats o grup de vèrtexs actiu" + + +msgid "Armature has no active object bone" +msgstr "L'esquelet no té cap objecte os actiu" + + +msgid "Cannot add hook with no other selected objects" +msgstr "No es pot afegir un ganxo sense altres objectes seleccionats" + + +msgid "Cannot add hook bone for a non armature object" +msgstr "No es pot afegir un os ganxo per a un objecte no esquelet" + + +msgid "Could not find hook modifier" +msgstr "No s'ha pogut trobar el modificador de ganxo" + + +msgid "Unable to execute '%s', error changing modes" +msgstr "No s'ha pogut executar '%s', error en canviar els modes" + + +msgid "Apply modifier as a new shapekey and keep it in the stack" +msgstr "Aplicar el modificador com una morfofita nova i mantenhir-la a l'estiba" + + +msgid "Cannot move above a modifier requiring original data" +msgstr "No es pot moure per sobre d'un modificador que requereix dades originals" + + +msgid "Cannot move modifier beyond the start of the list" +msgstr "No es pot moure el modificador més enllà de l'inici de la llista" + + +msgid "Cannot move beyond a non-deforming modifier" +msgstr "No es pot moure més enllà d'un modificador no deformant" + + +msgid "Cannot move modifier beyond the end of the list" +msgstr "No es pot moure el modificador més enllà del final de la llista" + + +msgid "Evaluated geometry from modifier does not contain a mesh" +msgstr "La geometria avaluada des del modificador no conté una malla" + + +msgid "Only deforming modifiers can be applied to shapes" +msgstr "Només es poden aplicar modificadors deformants a les formes" + + +msgid "Modifier is disabled or returned error, skipping apply" +msgstr "El modificador està desactivat o ha retornat un error, se n'omet l'aplicació" + + +msgid "Modifier cannot be applied to a mesh with shape keys" +msgstr "El modificador no es pot aplicar a una malla amb morfofites" + + +msgid "Multires modifier returned error, skipping apply" +msgstr "S'ha produït un error en el modificador de Multires, se n'omet l'aplicació" + + +msgid "Cannot apply constructive modifiers on curve. Convert curve to mesh in order to apply" +msgstr "No es poden aplicar modificadors constructius a la corba. Converteix la corba a malla per a aplicar-ho" + + +msgid "Applied modifier only changed CV points, not tessellated/bevel vertices" +msgstr "El modificador aplicat només ha canviat els punts CV, no els vèrtexs de tessel·lats/bisellats" + + +msgid "Constructive modifiers cannot be applied" +msgstr "No es poden aplicar modificadors constructius" + + +msgid "Evaluated geometry from modifier does not contain curves" +msgstr "La geometria avaluada des del modificador no conté corbes" + + +msgid "Evaluated geometry from modifier does not contain a point cloud" +msgstr "La geometria avaluada des del modificador no conté un núvol de punts" + + +msgid "Modifiers cannot be applied in edit mode" +msgstr "Els modificadors no es poden aplicar en mode d'edició" + + msgid "Constructive modifier cannot be applied to multi-res data in sculpt mode" msgstr "El modificador constructiu no es pot aplicar a les dades multires en el mode escultura" +msgid "Reshape can work only with higher levels of subdivisions" +msgstr "La remodelació només pot funcionar amb nivells més alts de subdivisions" + + +msgid "Second selected mesh object required to copy shape from" +msgstr "Es requereix un segon objecte malla seleccionat des d'on copiar la forma" + + +msgid "Objects do not have the same number of vertices" +msgstr "Els objectes no tenen el mateix nombre de vèrtexs" + + +msgid "No valid subdivisions found to rebuild a lower level" +msgstr "No s'han trobat subdivisions vàlides per reconstruir un nivell inferior" + + +msgid "Not valid subdivisions found to rebuild lower levels" +msgstr "S'han trobat subdivisions no vàlides per reconstruir els nivells inferiors" + + +msgid "Modifier is disabled" +msgstr "El modificador està desactivat" + + +msgid "Object '%s' does not support %s modifiers" +msgstr "L'objecte '%s' no suporta modificadors de %s" + + +msgid "Modifier can only be added once to object '%s'" +msgstr "El modificador només es pot afegir una vegada a l'objecte '%s'" + + +msgid "Copying modifier '%s' to object '%s' failed" +msgstr "Ha fallat la còpia del modificador '%s' a l'objecte '%s'" + + +msgid "Modifier '%s' was not copied to any objects" +msgstr "El modificador '%s' no s'ha copiat a cap objecte" + + +msgid "%d new levels rebuilt" +msgstr "S'han reconstruït %d nivells nous" + + +msgid "Mesh '%s' has no skin vertex data" +msgstr "La malla '%s' no té dades de vèrtex de pell" + + +msgid "This modifier operation is not allowed from Edit mode" +msgstr "Aquesta operació modificadora no està permesa des del mode edició" + + +msgid "Modifiers cannot be applied on override data" +msgstr "Els modificadors no es poden aplicar a les dades de sobreseïment" + + +msgid "No selected object is active" +msgstr "No hi ha cap objecte seleccionat que sigui actiu" + + +msgid "Object type of source object is not supported" +msgstr "No suportat el tipus d'objecte de l'objecte origen" + + +msgid "Set Parent To" +msgstr "Establir paternitat a" + + +msgid "Object (Keep Transform)" +msgstr "Objecte (Mantenir transformacions)" + + +msgid "Object (Without Inverse)" +msgstr "Objecte (sense invers)" + + +msgid "Object (Keep Transform Without Inverse)" +msgstr "Objecte (mantenir transformacions sense invers)" + + +msgid "Drop %s on %s (slot %d, replacing %s)" +msgstr "Amollar %s sobre %s (epígraf %d, substituint %s)" + + +msgid "Drop %s on %s (slot %d)" +msgstr "Amollar %s sobre %s (epígraf %d)" + + +msgid "Add modifier with node group \"%s\" on object \"%s\"" +msgstr "Afegir un modificador amb el grup de nodes \"%s\" sobre l'objecte \"%s\"" + + +msgid "Select either 1 or 3 vertices to parent to" +msgstr "Seleccionar 1 o 3 vèrtexs a qui fer de pare" + + +msgid "Loop in parents" +msgstr "Bucle en els pares" + + +msgid "No active bone" +msgstr "Cap os actiu" + + +msgid "Not enough vertices for vertex-parent" +msgstr "No hi ha prou vèrtexs per al vèrtex-pare" + + +msgid "Operation cannot be performed in edit mode" +msgstr "L'operació no es pot realitzar en mode edició" + + +msgid "Could not find scene" +msgstr "No s'ha pogut trobar l'escena" + + +msgid "Cannot link objects into the same scene" +msgstr "No es poden enllaçar objectes a la mateixa escena" + + +msgid "Cannot link objects into a linked scene" +msgstr "No es poden enllaçar objectes a una escena enllaçada" + + +msgid "Skipped editing library object data" +msgstr "S'ha omès l'edició de les dades de l'objecte biblioteca" + + +msgid "Orphan library objects added to the current scene to avoid loss" +msgstr "S'han afegit objectes de la biblioteca Orphan a l'escena actual per evitar pèrdues" + + +msgid "Cannot make library override from a local object" +msgstr "No s'ha pogut fer un sobreseïment de biblioteca des d'un objecte local" + + +msgid "The node group must have a geometry input socket" +msgstr "El grup de nodes ha de tenir un born d'entrada de geometria" + + +msgid "The first input must be a geometry socket" +msgstr "La primera entrada ha de ser un born de geometria" + + +msgid "The node group must have a geometry output socket" +msgstr "El grup de nodes ha de tenir un born de sortida de geometria" + + +msgid "The first output must be a geometry socket" +msgstr "La primera sortida ha de ser un born de geometria" + + +msgid "Node group must be a geometry node tree" +msgstr "El grup de nodes ha de ser un arbre de nodes de geometria" + + +msgid "Could not add geometry nodes modifier" +msgstr "No s'ha pogut afegir el modificador de nodes de geometria" + + +msgid "Incorrect context for running object data unlink" +msgstr "El context no és correcte per a executar el desenllaçat de dades objecte" + + +msgid "Can't unlink this object data" +msgstr "No es poden desenllaçar les dades d'aquest objecte" + + +msgid "Collection '%s' (instantiated by the active object) is not overridable" +msgstr "La col·lecció '%s' (instanciada per l'objecte actiu) no és sobreseïble" + + +msgid "Could not find an overridable root hierarchy for object '%s'" +msgstr "No s'ha pogut trobar una jerarquia arrel sobreseïble per a l'objecte '%s'" + + +msgid "Too many potential root collections (%d) for the override hierarchy, please use the Outliner instead" +msgstr "Hi ha massa col·leccions arrel potencials (%d) per a la jerarquia de sobreseïment, utilitzeu alternativament l'inventari" + + +msgid "Move the mouse to change the voxel size. CTRL: Relative Scale, SHIFT: Precision Mode, ENTER/LMB: Confirm Size, ESC/RMB: Cancel" +msgstr "Moveu el ratolí per a canviar la mida de vòxel. CTRL: Escala relativa, MAJ: Mode precisió, ENTER/BER.: Confirmar mida, ESC/BDR: Cancel·lar" + + +msgid "Voxel remesher cannot run with a voxel size of 0.0" +msgstr "El remallador de vòxels no es pot executar amb una mida de vòxel de 0,0" + + +msgid "Voxel remesher failed to create mesh" +msgstr "El remallador de vòxels no ha pogut crear la malla" + + +msgid "The remesher cannot work on linked or override data" +msgstr "El remallador no pot funcionar amb dades enllaçades o de sobreseïment" + + +msgid "The remesher cannot run from edit mode" +msgstr "El remallador no es pot executar des del mode edició" + + +msgid "The remesher cannot run with dyntopo activated" +msgstr "El remallador no es pot executar amb el dyntopo activat" + + +msgid "The remesher cannot run with a Multires modifier in the modifier stack" +msgstr "El remallador no es pot executar amb un modificador Multires a l'estiba de modificadors" + + +msgid "QuadriFlow: Remeshing cancelled" +msgstr "QuadriFlux: s'ha cancel·lat el remallament" + + +msgid "QuadriFlow: The mesh needs to be manifold and have face normals that point in a consistent direction" +msgstr "QuadriFlux: La malla ha de ser polivalent i tenir normals de cara que apuntin en una direcció coherent" + + +msgid "QuadriFlow: Remeshing completed" +msgstr "QuadriFlux: remallament completat" + + +msgid "QuadriFlow: Remeshing failed" +msgstr "QuadriFlux: remallament fallit" + + +msgid "Select Collection" +msgstr "Seleccionar col·lecció" + + +msgid "No active object" +msgstr "No hi ha cap objecte actiu" + + +msgid "Use another Keying Set, as the active one depends on the currently selected objects or cannot find any targets due to unsuitable context" +msgstr "Usar un altre joc de fites, ja que l'actiu depèn dels objectes seleccionats o no pot trobar referents a causa d'un context inadequat" + + +msgid "Active object must be a light" +msgstr "L'objecte actiu ha de ser un llum" + + +msgid "Only one Effect of this type is allowed" +msgstr "Només es permet un efecte d'aquest tipus" + + +msgid "Cannot move effect beyond the end of the stack" +msgstr "No es pot moure l'efecte més enllà del final de l'estiba" + + +msgid "Effect cannot be added to object '%s'" +msgstr "L'efecte no es pot afegir a l'objecte '%s'" + + +msgid "Effect '%s' not in object '%s'" +msgstr "L'efecte '%s' no és en l'objecte '%s'" + + +msgid "Removed effect: %s" +msgstr "Efecte eliminat: %s" + + +msgid "Cannot edit shaderfxs in a library override" +msgstr "No es pot editar aspectors-fx en un sobreseïment de biblioteca" + + +msgid "Object type is not supported" +msgstr "El tipus d'objecte no està suportat" + + +msgid "Cannot edit library or override data" +msgstr "No es poden editar la biblioteca o les dades de sobreseïment" + + +msgid "Cannot edit shaderfxs coming from linked data in a library override" +msgstr "No s'ha pogut editar aspectors-fx procedents de dades enllaçades en un sobreseïment de biblioteca" + + +msgid "Apply current visible shape to the object data, and delete all shape keys" +msgstr "Apliqueu la forma visible actual a les dades de l'objecte i suprimiu totes les morfofites" + + +msgid "Objects have no data to transform" +msgstr "Els objectes no tenen dades a transformar" + + +msgid "Cannot apply to a multi user armature" +msgstr "No es pot aplicar a un esquelet multiusador" + + +msgid "Grease Pencil Object does not support this set origin option" +msgstr "L'objecte llapis de greix no admet aquesta opció d'establir origen" + + +msgid "Curves Object does not support this set origin operation" +msgstr "L'objecte de corbes no admet aquesta operació d'establir origen" + + +msgid "Point cloud object does not support this set origin operation" +msgstr "L'objecte núvol de punts no admet aquesta operació d'establir origen" + + +msgid "Text objects can only have their scale applied: \"%s\"" +msgstr "Als objectes text només se'ls pot aplicar la seva escala: \"%s\"" + + +msgid "Can't apply to a GP data-block where all layers are parented: Object \"%s\", %s \"%s\", aborting" +msgstr "No es pot aplicar a un bloc de dades LG on totes les capes tenen paternitat: Objecte \"%s\", %s \"%s\", avortant" + + +msgid "Area Lights can only have scale applied: \"%s\"" +msgstr "Els llums d'àrea només poden tenir l'escala aplicada: \"%s\"" + + +msgid "%i object(s) not centered, %i changed:" +msgstr "%i objectes no centrats, %i canviats:" + + +msgid "|%i linked library object(s)" +msgstr "|%i objecte(s) de la biblioteca enllaçat(s)" + + +msgid "|%i multiuser armature object(s)" +msgstr "|%i objecte(s) d'esquelet multiusador" + + +msgid "Lock all vertex groups of the active object" +msgstr "Bloquejar tots el grups de vèrtexs de l'objecte actiu" + + +msgid "Lock selected vertex groups of the active object" +msgstr "Bloquejar els grups de vèrtexs seleccionats de l'objecte actiu" + + +msgid "Lock unselected vertex groups of the active object" +msgstr "Bloquejar els grups de vèrtexs no seleccionats de l'objecte actiu" + + +msgid "Lock selected and unlock unselected vertex groups of the active object" +msgstr "Bloquejar els grups de vèrtexs seleccionats i desbloquejar els no seleccionats de l'objecte actiu" + + +msgid "Unlock all vertex groups of the active object" +msgstr "Bloquejar tots els grups de vèrtexs de l'objecte actiu" + + +msgid "Unlock selected vertex groups of the active object" +msgstr "Desbloquejar els grups de vèrtexs seleccionats de l'objecte actiu" + + +msgid "Unlock unselected vertex groups of the active object" +msgstr "Desbloquejar els grups de vèrtexs no seleccionats de l'objecte actiu" + + +msgid "Unlock selected and lock unselected vertex groups of the active object" +msgstr "Desbloquejar els grups de vèrtexs seleccionats i bloquejar els grups de vèrtexs no seleccionats de l'objecte actiu" + + +msgid "Toggle locks of all vertex groups of the active object" +msgstr "Revesar bloquetjos de tots els grups de vèrtexs de l'objecte actiu" + + +msgid "Toggle locks of selected vertex groups of the active object" +msgstr "Revesar bloquetjos dels grups de vèrtexs seleccionats de l'objecte actiu" + + +msgid "Toggle locks of unselected vertex groups of the active object" +msgstr "Revesar bloquetjos dels grups de vèrtexs no seleccionats de l'objecte actiu" + + +msgid "Toggle locks of all and invert unselected vertex groups of the active object" +msgstr "Revesar bloquetjos de tots i invertir els grups de vèrtexs no seleccionats de l'objecte actiu" + + +msgid "Invert locks of all vertex groups of the active object" +msgstr "Invertir bloquetjos de tots els grups de vèrtexs de l'objecte actiu" + + +msgid "Invert locks of selected vertex groups of the active object" +msgstr "Invertir bloquetjos de grups de vèrtexs seleccionats de l'objecte actiu" + + +msgid "Invert locks of unselected vertex groups of the active object" +msgstr "Invertir bloquetjos de grups de vèrtexs no seleccionats de l'objecte actiu" + + +msgid "No vertex groups to operate on" +msgstr "No hi ha grups de vèrtexs per operar" + + +msgid "All groups are locked" +msgstr "Tots els grups estan bloquejats" + + +msgid "Editmode lattice is not supported yet" +msgstr "Encara no suportat la retícula de mode edició" + + +msgid "Invalid vertex group index" +msgstr "Índex de grup de vèrtexs no vàlid" + + +msgid "Vertex group is locked" +msgstr "El grup de vèrtexs està bloquejat" + + +msgid "%d vertex weights limited" +msgstr "%d pesos de vèrtexs limitats" + + +msgid "Copy vertex groups to selected: %d done, %d failed (object data must support vertex groups and have matching indices)" +msgstr "Copia els grups de vèrtexs a seleccionats: %d fet(s), %d fallit(s) (les dades d'objecte han de suportar grups de vèrtexs i tenir índexs coincidents)" + + +msgid "No active editable object" +msgstr "No hi ha cap objecte editable actiu" + + +msgid "Object type does not support vertex groups" +msgstr "El tipus d'objecte no admet grups de vèrtexs" + + +msgid "Object type \"%s\" does not have editable data" +msgstr "El tipus d'objecte \"%s\" no té dades editables" + + +msgid "Object has no vertex groups" +msgstr "L'objecte no té grups de vèrtexs" + + +msgid "Vertex select needs to be enabled in weight paint mode" +msgstr "La selecció de vèrtexs ha d'estar habilitada en el mode de pintura de pesos" + + +msgid "The active vertex group is locked" +msgstr "El grup de vèrtexs actiu està bloquejat" + + +msgid "Volume \"%s\" failed to load: %s" +msgstr "No s'ha pogut carregar el volum \"%s\": %s" + + +msgid "Volume \"%s\" contains points, only voxel grids are supported" +msgstr "El volum \"%s\" conté punts, només se suporten graelles de vòxel" + + +msgid "No frames to bake" +msgstr "No hi ha fotogrames per precuinar" + + +msgid "Bake failed: no Dynamic Paint modifier found" +msgstr "Precuinat fallit: no s'ha trobat cap modificador de Pintura dinàmica" + + +msgid "Bake failed: invalid canvas" +msgstr "Precuinat fallit: el llenç no és vàlid" + + +msgid "Baking canceled!" +msgstr "Precuinat cancel·lat!" + + +msgid "DynamicPaint: Bake complete! (%.2f)" +msgstr "PinturaDinàmica: S'ha completat el precuinat! (%.2f)" + + +msgid "DynamicPaint: Bake failed: %s" +msgstr "PinturaDinàmica: Ha fallat el precuinat: %s" + + +msgid "Removed %d double particle(s)" +msgstr "S'han suprimit %d partícules dobles" + + +msgid "No hair connected (can't connect hair if particle system modifier is disabled)" +msgstr "No hi ha cap pèl connectat (no es pot connectar pèl si el modificador del sistema de partícules està desactivat)" + + +msgid "Copy particle systems to selected: %d done, %d failed" +msgstr "Copiar els sistemes de partícules als seleccionats: %d fet(s), %d fallit(s)" + + +msgid "Bake failed: no Fluid modifier found" +msgstr "Precuinat fallit: no s'ha trobat cap modificador Fluid" + + +msgid "Bake failed: invalid domain" +msgstr "Precuinat fallit: domini no vàlid" + + +msgid "Bake free failed: no Fluid modifier found" +msgstr "Precuinat lliure fallit: no s'ha trobat cap modificador Fluid" + + +msgid "Bake free failed: invalid domain" +msgstr "Precuinat lliure fallit: domini no vàlid" + + +msgid "Bake free failed: pending bake jobs found" +msgstr "Precuinat lliure fallit: s'han trobat tasques pendents de precuinat" + + +msgid "Fluid: Empty cache path, reset to default '%s'" +msgstr "Fluid: el de memòria cau camí buit, es restableix a predeterminat '%s'" + + +msgid "Fluid: Could not create cache directory '%s', reset to default '%s'" +msgstr "Fluid: no s'ha pogut crear el directori de memòria cau '%s', es reinicialitza a '%s' per defecte" + + +msgid "Fluid: Could not use default cache directory '%s', please define a valid cache path manually" +msgstr "Fluid: No s'ha pogut usar el directori de memòria cau predeterminat '%s', cal definir manualment un camí de memòria cau vàlid" + + +msgid "Fluid: %s complete! (%.2f)" +msgstr "Fluid: %s completat! (%.2f)" + + +msgid "Fluid: %s failed: %s" +msgstr "Fluid: %s ha fallat: %s" + + +msgid "Fluid: %s canceled!" +msgstr "Fluid: %s s'ha cancel·lat!" + + +msgid "Library override data-blocks only support Disk Cache storage" +msgstr "Els blocs de dades de sobreseïment de biblioteca només admeten l'emmagatzematge de la memòria cau de disc" + + +msgid "Linked data-blocks do not allow editing caches" +msgstr "Els blocs de dades enllaçats no permeten l'edició de la memòria cau" + + +msgid "Linked or library override data-blocks do not allow adding or removing caches" +msgstr "Els blocs de dades enllaçats o de sobreseïment de biblioteca no permeten afegir o eliminar memòria cau" + + +msgid "No Rigid Body World to add Rigid Body Constraint to" +msgstr "No hi ha cap Món de cos rígid per afegir a la Restricció del cos rígid" + + +msgid "Object has no Rigid Body Constraint to remove" +msgstr "L'objecte no té Restricció de cos rígid per eliminar" + + +msgid "Object '%s' already has a Rigid Body Constraint" +msgstr "L'objecte '%s' ja té una Restricció de cos rígid" + + +msgid "Acrylic" +msgstr "Acrílic" + + +msgid "Asphalt (Crushed)" +msgstr "Asfalt (Esqueixat)" + + +msgid "Bark" +msgstr "Escorça" + + +msgid "Beans (Cocoa)" +msgstr "Baies (Cacau)" + + +msgid "Beans (Soy)" +msgstr "Llegums (so)" + + +msgid "Brick (Pressed)" +msgstr "Maó (Premsat)" + + +msgid "Brick (Common)" +msgstr "Totxo (Comú)" + + +msgid "Brick (Soft)" +msgstr "Rajol (Suau)" + + +msgid "Brass" +msgstr "Llautó" + + +msgid "Bronze" +msgstr "Bronze" + + +msgid "Carbon (Solid)" +msgstr "Carbó (Sòlid)" + + +msgid "Cardboard" +msgstr "Cartó" + + +msgid "Cast Iron" +msgstr "Ferro fos" + + +msgid "Cement" +msgstr "Ciment" + + +msgid "Chalk (Solid)" +msgstr "Guix (Sòlid)" + + +msgid "Coffee (Fresh/Roast)" +msgstr "Cafè (Fresc/Rostit)" + + +msgid "Concrete" +msgstr "Formigó" + + +msgid "Charcoal" +msgstr "Carbó vegetal" + + +msgid "Cork" +msgstr "Suro" + + +msgid "Copper" +msgstr "Coure" + + +msgid "Garbage" +msgstr "Brossa" + + +msgid "Glass (Broken)" +msgstr "Vidre (Trencat)" + + +msgid "Glass (Solid)" +msgstr "Vidre (Sòlid)" + + +msgid "Gold" +msgstr "Or" + + +msgid "Granite (Broken)" +msgstr "Granit (Trencat)" + + +msgid "Granite (Solid)" +msgstr "Granite (Sòlid)" + + +msgid "Gravel" +msgstr "Grava" + + +msgid "Ice (Crushed)" +msgstr "Gel (Esqueixat)" + + +msgid "Ice (Solid)" +msgstr "Gel (Sòlid)" + + +msgid "Iron" +msgstr "Ferro" + + +msgid "Lead" +msgstr "Plom" + + +msgid "Limestone (Broken)" +msgstr "Calcita (Trencada)" + + +msgid "Limestone (Solid)" +msgstr "Calcita (Sòlida)" + + +msgid "Marble (Broken)" +msgstr "Marbre (Trencat)" + + +msgid "Marble (Solid)" +msgstr "Marbre (Sòlid)" + + +msgid "Paper" +msgstr "Paper" + + +msgid "Peanuts (Shelled)" +msgstr "Cacauets (Amb clova)" + + +msgid "Peanuts (Not Shelled)" +msgstr "Cacauets (Sense clova)" + + +msgid "Plaster" +msgstr "Enguixat" + + +msgid "Polystyrene" +msgstr "Poliestirè" + + +msgid "Rubber" +msgstr "Goma" + + +msgid "Silver" +msgstr "Argent" + + +msgid "Steel" +msgstr "Acer" + + +msgid "Stone" +msgstr "Pedra" + + +msgid "Stone (Crushed)" +msgstr "Pedra (Trencada)" + + +msgid "Timber" +msgstr "Fusta" + + +msgid "Object has no Rigid Body settings to remove" +msgstr "L'objecte no té cap configuració del Cos rígid per eliminar" + + +msgid "No Rigid Body World to remove" +msgstr "No hi ha cap Món del cos rígid per eliminar" + + +msgid "No Rigid Body World to export" +msgstr "No hi ha cap Món de cos rígid per exportar" + + +msgid "Rigid Body World has no associated physics data to export" +msgstr "El Món de cos rígid no té dades de física associades per exportar" + + +msgid "3D Local View" +msgstr "Vista local 3D" + + +msgid "Frame:%d " +msgstr "Fotograma: %d " + + +msgid "| Last:%s " +msgstr "| Últim:%s " + + +msgid "Time:%s " +msgstr "Temps:%s " + + +msgid "| Mem:%.2fM (Peak %.2fM) " +msgstr "| Mem:%.2fM (Pic %.2fM) " + + +msgid "| Mem:%.2fM, Peak: %.2fM " +msgstr "| Mem:%.2fM, Pic: %.2fM " + + +msgid "Cannot write a single file with an animation format selected" +msgstr "No es pot escriure un document únic amb un format d'animació seleccionat" + + +msgid "Render the viewport for the animation range of this scene, but only render keyframes of selected objects" +msgstr "Revelar el mirador per a l'interval d'animació d'aquesta escena, però només revelar les fotofites dels objectes seleccionats" + + +msgid "Render the viewport for the animation range of this scene" +msgstr "Revelar l'àrea de visualització per a l'interval d'animació d'aquesta escena" + + +msgid "Cannot use OpenGL render in background mode (no opengl context)" +msgstr "No es pot utilitzar la revelat OpenGL en mode de rerefons (no hi ha context opengl)" + + +msgid "Scene has no camera" +msgstr "L'escena no té càmera" + + +msgid "Movie format unsupported" +msgstr "Format de pel·lícula no suportat" + + +msgid "Failed to create OpenGL off-screen buffer, %s" +msgstr "No s'ha pogut crear el marge fora de pantalla d'OpenGL, %s" + + +msgid "Write error: cannot save %s" +msgstr "Error d'escriptura: no es pot desar %s" + + +msgid "Skipping existing frame \"%s\"" +msgstr "S'està ometent el present fotograma \"%s\"" + + +msgid "No active object, unable to apply the Action before rendering" +msgstr "No hi ha cap objecte actiu, no es pot aplicar l'acció abans de revelar" + + +msgid "Object %s has no pose, unable to apply the Action before rendering" +msgstr "L'objecte %s no té posa, no es pot aplicar l'acció abans de revelar" + + +msgid "Unable to remove material slot in edit mode" +msgstr "No s'ha pogut eliminar l'epígraf de material en mode d'edició" + + +msgid "Lightcache cannot allocate resources" +msgstr "La memòria cau de llum no pot assignar recursos" + + +msgid "No active lineset and associated line style to manipulate the modifier" +msgstr "No hi ha cap joc de línies actiu i estil de línia associat per manipular el modificador" + + +msgid "The active lineset does not have a line style (indicating data corruption)" +msgstr "El joc de línies actiu no té un estil de línia (indicant corrupció de dades)" + + +msgid "No active lineset to add a new line style to" +msgstr "No hi ha cap joc de línies actiu per afegir-hi un nou estil de línia" + + +msgid "Unknown line color modifier type" +msgstr "Tipus de modificador de color de línia desconegut" + + +msgid "Unknown alpha transparency modifier type" +msgstr "Tipus de modificador de transparència alfa desconegut" + + +msgid "Unknown line thickness modifier type" +msgstr "Tipus de modificador de gruix de línia desconegut" + + +msgid "Unknown stroke geometry modifier type" +msgstr "Tipus de modificador de geometria de traç desconegut" + + +msgid "The object the data pointer refers to is not a valid modifier" +msgstr "L'objecte al qual es refereix el punter de dades no és un modificador vàlid" + + +msgid "No active line style in the current scene" +msgstr "No hi ha cap estil de línia actiu a l'escena actual" + + +msgid "Removed %d slots" +msgstr "S'han suprimit %d epígrafs" + + +msgid "Blender Render" +msgstr "Revelat del Blender" + + +msgid "Failed to open window!" +msgstr "No s'ha pogut obrir la finestra!" + + +msgid "View layer '%s' could not be removed from scene '%s'" +msgstr "No s'ha pogut eliminar la capa '%s' de l'escena '%s'" + + +msgid "Join Areas" +msgstr "Unir àrees" + + +msgid "Swap Areas" +msgstr "Intercanviar àrees" + + +msgid "Restore Areas" +msgstr "Restaurar àrees" + + +msgid "Maximize Area" +msgstr "Maximitzar àrea" + + +msgid "Full Screen Area" +msgstr "Àrea de pantalla completa" + + +msgid "Flip to Bottom" +msgstr "Capgirar a inferior" + + +msgid "Flip to Top" +msgstr "Capgirar a superior" + + +msgid "Show Header" +msgstr "Mostrar capçalera" + + +msgid "Show Tool Settings" +msgstr "Mostrar configuració d'eina" + + +msgid "Show Footer" +msgstr "Mostrar peu" + + +msgid "Flip to Right" +msgstr "Capgirar a la dreta" + + +msgid "Flip to Left" +msgstr "Capgirar a l'esquerra" + + +msgid "Blender Preferences" +msgstr "Preferències del Blender" + + +msgid "Blender Drivers Editor" +msgstr "Editor de controladors del Blender" + + +msgid "Blender Info Log" +msgstr "Registre d'info del Blender" + + +msgid "Area not found in the active screen" +msgstr "No s'ha trobat l'àrea en la pantalla activa" + + +msgid "Unable to close area" +msgstr "No s'ha pogut tancar l'àrea" + + +msgid "Can only scale region size from an action zone" +msgstr "Només es pot escalar la mida de la regió des d'una zona d'acció" + + +msgid "No more keyframes to jump to in this direction" +msgstr "No hi ha més fotofites a on saltar en aquesta direcció" + + +msgid "No more markers to jump to in this direction" +msgstr "No hi ha més marcadors a on saltar en aquesta direcció" + + +msgid "Only window region can be 4-split" +msgstr "Només la regió de la finestra pot estar dividida en 4" + + +msgid "Only last region can be 4-split" +msgstr "Només l'última regió pot estar dividida en 4" + + +msgid "No fullscreen areas were found" +msgstr "No s'ha trobat cap àrea de pantalla completa" + + +msgid "Removed amount of editors: %d" +msgstr "S'ha eliminat la quantitat dels editors: %d" + + +msgid "Only supported in object mode" +msgstr "Només suportat en mode objecte" + + +msgid "expected a view3d region" +msgstr "s'esperava una regió de visualització3d" + + +msgid "expected a timeline/animation area to be active" +msgstr "s'esperava que l'àrea de cronograma/animació estigués activa" + + +msgid "Context missing active object" +msgstr "Context sense objecte actiu" + + +msgid "Cannot edit library linked or non-editable override object" +msgstr "No es pot editar la biblioteca enllaçada o l'objecte de sobreseïment no editable" + + +msgid "Cannot edit hidden object" +msgstr "No es pot editar l'objecte ocult" + + +msgid "expected a view3d region & editmesh" +msgstr "s'esperava una regió de visualització3d i un editarmalla" + + +msgid "No object, or not exclusively in pose mode" +msgstr "No hi ha cap objecte, o no està exclusivament en mode posa" + + +msgid "Object is a local library override" +msgstr "L'objecte és un sobreseïment de biblioteca local" + + +msgid "expected a view3d region & editcurve" +msgstr "s'esperava una regió de visualització3d i un editarcorba" + + +msgid "Toggling regions in the Top-bar is not allowed" +msgstr "Revesar regions a la barra superior no està permès" + + +msgid "Flipping regions in the Top-bar is not allowed" +msgstr "Invertir regions a la barra superior no està permès" + + +msgid "Missing: %s" +msgstr "Falta: %s" + + +msgid "Missing: %s.%s" +msgstr "Falten: %s.%s" + + +msgid "No menu items found" +msgstr "No s'ha trobat cap element de menú" + + +msgid "Right click on buttons to add them to this menu" +msgstr "Clicar amb la dreta sobre els botons per a afegir-los a aquest menú" + + +msgid "Quick Favorites" +msgstr "Preferits ràpids" + + +msgid "screen" +msgstr "pantalla" + + +msgctxt "Operator" +msgid "Duplicate Current" +msgstr "Duplicar actual" + + +msgid "Original surface mesh is empty" +msgstr "La malla de la superfície original està buida" + + +msgid "Evaluated surface mesh is empty" +msgstr "La malla de superfície avaluada està buida" + + +msgid "Missing surface mesh" +msgstr "Falta la malla de superfície" + + +msgid "Missing UV map for attaching curves on original surface" +msgstr "Manca un mapa UV per a adjuntar corbes a la superfície original" + + +msgid "Missing UV map for attaching curves on evaluated surface" +msgstr "Manca un mapa UV per a adjuntar corbes en una superfície avaluada" + + +msgid "Invalid UV map: UV islands must not overlap" +msgstr "Mapa UV no vàlid: les illes UV no poden estar superposades" + + +msgid "Cursor must be over the surface mesh" +msgstr "El cursor ha d'estar per sobre de la malla de superfície" + + +msgid "Curves do not have surface attachment information" +msgstr "Les corbes no tenen informació d'associació a superfície" + + +msgid "UV map or surface attachment is invalid" +msgstr "El mapa UV o l'associació a la superfície no són vàlids" + + +msgid "Sample color for %s" +msgstr "Color de mostra per a %s" + + +msgid "Brush. Use Left Click to sample for palette instead" +msgstr "Pinzell. Alternativament clicar amb l'esquerra per a mostrejar per la paleta" + + +msgid "Palette. Use Left Click to sample more colors" +msgstr "Paleta. Clicar amb l'esquerra per mostrejar més colors" + + +msgid "Packed MultiLayer files cannot be painted" +msgstr "No es poden pintar els documents multicapa empaquetats" + + +msgid "Image requires 4 color channels to paint" +msgstr "La imatge requereix 4 canals de color per pintar" + + +msgid "Image requires 4 color channels to paint: %s" +msgstr "La imatge requereix 4 canals de color per pintar: %s" + + +msgid "Packed MultiLayer files cannot be painted: %s" +msgstr "No es poden pintar els documents de multicapa empaquetats: %s" + + +msgid " UVs," +msgstr " UVs," + + +msgid " Materials," +msgstr " Materials," + + +msgid " Textures," +msgstr " Textures," + + +msgid " Stencil," +msgstr " Plantilla," + + +msgid "Untitled" +msgstr "Sense títol" + + +msgid "Image could not be found" +msgstr "No s'ha pogut trobar la imatge" + + +msgid "Image data could not be found" +msgstr "No s'han pogut trobar les dades de la imatge" + + +msgid "Image project data invalid" +msgstr "Les dades de projecció d'imatge no són vàlides" + + +msgid "No active camera set" +msgstr "No hi ha joc de càmeres actiu" + + +msgid "Could not get valid evaluated mesh" +msgstr "No s'ha pogut obtenir una malla avaluada vàlida" + + +msgid "No 3D viewport found to create image from" +msgstr "No s'ha trobat cap mirador 3D des de la qual crear la imatge" + + +msgid "Failed to create OpenGL off-screen buffer: %s" +msgstr "No s'ha pogut crear la el marge fora de pantalla d'OpenGL: %s" + + +msgid "Missing%s%s%s%s detected!" +msgstr "S'ha detectat que falten%s%s%s%s!" + + +msgid "Active group is locked, aborting" +msgstr "El grup actiu està bloquejat, avortant" + + +msgid "Mirror group is locked, aborting" +msgstr "El grup a emmirallar està bloquejat, avortant" + + +msgid "Multipaint group is locked, aborting" +msgstr "El grup multipintura està bloquejat, avortant" + + +msgid "The modifier used does not support deformed locations" +msgstr "El modificador utilitzat no suporta ubicacions deformades" + + +msgid "No active vertex group for painting, aborting" +msgstr "No hi ha cap grup de vèrtexs actiu per a pintar, avortant" + + +msgid "Not supported in dynamic topology mode" +msgstr "No suportat en el mode topologia dinàmica" + + +msgid "Not supported in multiresolution mode" +msgstr "No suportat en mode multiresolució" + + +msgid "Click on the mesh to set the detail" +msgstr "Cliqueu la malla per definir el detall" + + +msgid "Move the mouse to change the dyntopo detail size. LMB: confirm size, ESC/RMB: cancel" +msgstr "Moveu el ratolí per a canviar la mida del detall del dyntopo. BER: confirmar la mida, ESC/BDR: cancel·lar" + + +msgid "Warning!" +msgstr "Avís!" + + +msgid "OK" +msgstr "OK" + + +msgid "Attribute Data Detected" +msgstr "S'han detectat dades d'atribut" + + +msgid "Dyntopo will not preserve colors, UVs, or other attributes" +msgstr "El Dyntopo no conservarà els colors, UVs o altres atributs" + + +msgid "Generative Modifiers Detected!" +msgstr "S'han detectat modificadors generatius!" + + +msgid "Keeping the modifiers will increase polycount when returning to object mode" +msgstr "Si es mantenen els modificadors augmentarà el policompte en tornar al mode objecte" + + +msgid "Active brush does not contain any texture to distort the expand boundary" +msgstr "El pinzell actiu no conté cap textura per a distorsionar el límit d'expansió" + + +msgid "Texture mapping not set to 3D, results may be unpredictable" +msgstr "El mapejat de textura no està establert en 3D, els resultats poden ser impredictibles" + + +msgid "%s: Confirm, %s: Cancel" +msgstr "%s: Confirmar, %s: Cancel·lar" + + +msgid "Move the mouse to expand the mask from the active vertex. LMB: confirm mask, ESC/RMB: cancel" +msgstr "Moveu el ratolí per a expandir la màscara des del vèrtex actiu. BER: confirmar la màscara, ESC/BDR: cancel·lar" + + +msgid "non-triangle face" +msgstr "cara no triangular" + + +msgid "multi-res modifier" +msgstr "modificador multires" + + +msgid "vertex data" +msgstr "dades de vèrtex" + + +msgid "edge data" +msgstr "dades d'aresta" + + +msgid "face data" +msgstr "dades de cara" + + +msgid "constructive modifier" +msgstr "modificador constructiu" + + +msgid "Object has non-uniform scale, sculpting may be unpredictable" +msgstr "L'objecte té una escala no uniforme, l'escultura pot ser impredictible" + + +msgid "Object has negative scale, sculpting may be unpredictable" +msgstr "L'objecte té una escala negativa, l'escultura pot ser impredictible" + + +msgid "No active brush" +msgstr "No hi ha pinzell actiu" + + +msgid "Dynamic Topology found: %s, disabled" +msgstr "S'ha trobat la topologia dinàmica: %s, desactivada" + + +msgid "Compiled without sound support" +msgstr "Compilat sense suport de so" + + +msgid "AutoPack is enabled, so image will be packed again on file save" +msgstr "Autoempaquetament habilitat, de manera que la imatge es tornarà a empaquetar en desar el document" + + +msgid "Active F-Curve" +msgstr "Corba-F activa" + + +msgid "Active Keyframe" +msgstr "Fotofita activa" + + +msgid "Action must have at least one keyframe or F-Modifier" +msgstr "L'acció ha de tenir almenys una fotofita o Modificador-F" + + +msgid "Action has already been stashed" +msgstr "L'acció ja ha estat estibada" + + +msgid "Could not find current NLA Track" +msgstr "No s'ha pogut trobar la pista d'ANL actual" + + +msgid "Internal Error: Could not find Animation Data/NLA Stack to use" +msgstr "Error intern: no s'ha pogut trobar l'estiba de dades d'animació/NLA a usar" + + +msgid "Action '%s' will not be saved, create Fake User or Stash in NLA Stack to retain" +msgstr "L'acció '%s' no es desarà, creeu un usador fals o un arraconament a l'estiba d'ANL per conservar-la" + + +msgid "No keyframes copied to keyframes copy/paste buffer" +msgstr "No s'ha copiat cap fotofita a la memòria intermèdia de copiar/enganxar fotofites" + + +msgid "Keyframe pasting is not available for mask mode" +msgstr "L'enganxament de fotofites no està disponible per al mode màscara" + + +msgid "No data in buffer to paste" +msgstr "No hi ha dades per enganxar dins la memòria intermèdia" + + +msgid "Keyframe pasting is not available for grease pencil or mask mode" +msgstr "L'enganxament de fotofites no està disponible per al llapis de greix o el mode màscara" + + +msgid "No selected F-Curves to paste into" +msgstr "No hi ha corbes-F seleccionades a on enganxar-ho" + + +msgid "Insert Keyframes is not yet implemented for this mode" +msgstr "La inserció de fotofites encara no està implementada per a aquest mode" + + +msgid "Not implemented for Masks" +msgstr "No està implementat per a màscares" + + +msgid "Cannot activate a file selector dialog, one already open" +msgstr "No es pot activar un diàleg selector de documents, ja n'hi ha un d'obert" + + +msgid "Texture Field" +msgstr "Camp textura" + + +msgid "Brush Mask" +msgstr "Màscara pinzell" + + +msgid "No textures in context" +msgstr "Sense textures en el context" + + +msgid "Show texture in texture tab" +msgstr "Mostrar textura a la pestanya de textura" + + +msgid "No (unpinned) Properties Editor found to display texture in" +msgstr "No s'ha trobat cap editor de propietats (sense fixar) a on mostrar la textura" + + +msgid "No texture user found" +msgstr "No s'ha trobat cap usador de textura" + + +msgid "Fields" +msgstr "Camps" + + +msgid "File Path:" +msgstr "Camí al document:" + + +msgid "Track is locked" +msgstr "Pista bloquejada" + + +msgid "X:" +msgstr "X:" + + +msgid "Y:" +msgstr "Y:" + + +msgid "Pattern Area:" +msgstr "Àrea de patró:" + + +msgid "Width:" +msgstr "Amplada:" + + +msgid "Height:" +msgstr "Alçada:" + + +msgid "Search Area:" +msgstr "Àrea de cerca:" + + +msgid "Marker is disabled at current frame" +msgstr "El marcador està desactivat al fotograma actual" + + +msgid "Marker is enabled at current frame" +msgstr "El marcador està activat al fotograma actual" + + +msgid "X-position of marker at frame in screen coordinates" +msgstr "Ubicació X del marcador al fotograma en coordenades de pantalla" + + +msgid "Y-position of marker at frame in screen coordinates" +msgstr "Ubicació Y del marcador al fotograma en coordenades de pantalla" + + +msgid "X-offset to parenting point" +msgstr "Desplaçament X al punt de paternitat" + + +msgid "Y-offset to parenting point" +msgstr "Desplaçament Y al punt de paternitat" + + +msgid "Width of marker's pattern in screen coordinates" +msgstr "Amplada del patró del marcador en coordenades de pantalla" + + +msgid "Height of marker's pattern in screen coordinates" +msgstr "Alçada del patró del marcador en coordenades de pantalla" + + +msgid "X-position of search at frame relative to marker's position" +msgstr "Ubicació X de la cerca en fotograma relativa a la posició del marcador" + + +msgid "Y-position of search at frame relative to marker's position" +msgstr "Ubicació Y de la cerca en fotograma relativa a la posició del marcador" + + +msgid "Width of marker's search in screen coordinates" +msgstr "Amplada de la cerca del marcador en coordenades de la pantalla" + + +msgid "Height of marker's search in screen coordinates" +msgstr "Alçada de la cerca del marcador en coordenades de la pantalla" + + +msgid "%d x %d" +msgstr "%d x %d" + + +msgid ", %d float channel(s)" +msgstr ", %d canal(s) flotant(s)" + + +msgid ", RGBA float" +msgstr ", RGBA flotant" + + +msgid ", RGB float" +msgstr ", RGB flotant" + + +msgid ", RGBA byte" +msgstr ", RGBA byte" + + +msgid ", RGB byte" +msgstr ", RGB byte" + + +msgid ", %.2f fps" +msgstr ", %.2f fps" + + +msgid ", failed to load" +msgstr ", no s'ha pogut carregar" + + +msgid "Frame: %d / %d" +msgstr "Fotograma: %d / %d" + + +msgid "Frame: - / %d" +msgstr "Fotograma: - / %d" + + +msgid "unsupported movie clip format" +msgstr "format de clip de pel·lícula no admès" + + +msgid "No files selected to be opened" +msgstr "No s'ha seleccionat cap document per obrir" + + +msgid "Cannot read '%s': %s" +msgstr "No es pot llegir '%s': %s" + + +msgid "Use LMB click to define location where place the marker" +msgstr "Clicar amb el BER per definir la ubicació on col·locar el marcador" + + +msgid "No active track to join to" +msgstr "No hi ha cap trajecte actiu a què unir-se" + + +msgid "Object used for camera tracking cannot be deleted" +msgstr "No es pot suprimir l'objecte utilitzat per al tràveling" + + +msgid "Feature detection requires valid clip frame" +msgstr "La detecció de característiques requereix un fotograma vàlid" + + +msgid "At least one track with bundle should be selected to define origin position" +msgstr "S'ha de seleccionar almenys un rastre amb un agregat per definir la posició d'origen" + + +msgid "No object to apply orientation on" +msgstr "No hi ha cap objecte on aplicar l'orientació" + + +msgid "Three tracks with bundles are needed to orient the floor" +msgstr "Es necessiten tres rastres amb agregats per orientar el terra" + + +msgid "Single track with bundle should be selected to define axis" +msgstr "S'ha de seleccionar un únic rastre amb agregat per definir l'eix" + + +msgid "Two tracks with bundles should be selected to set scale" +msgstr "S'han de seleccionar dos rastres amb agregats per establir l'escala" + + +msgid "Need at least 4 selected point tracks to create a plane" +msgstr "Es necessiten com a mínim 4 punts de rastre seleccionades per crear un pla" + + +msgid "Some data failed to reconstruct (see console for details)" +msgstr "Algunes dades no s'han pogut reconstruir (vegeu la consola per més detalls)" + + +msgid "Average re-projection error: %.2f px" +msgstr "Error mitjà de reprojecció: %.2f px" + + +msgid "Track the selected markers backward for the entire clip" +msgstr "Segueix el rastre els marcadors seleccionats cap enrere per a tot el clip" + + +msgid "Track the selected markers backward by one frame" +msgstr "Segueix el rastre els marcadors seleccionats cap enrere un fotograma" + + +msgid "Track the selected markers forward for the entire clip" +msgstr "Segueix el rastre els marcadors seleccionats cap endavant per a tot el clip" + + +msgid "Track the selected markers forward by one frame" +msgstr "Segueix el rastre els marcadors seleccionats endavant per un fotograma" + + +msgid "Unassigned" +msgstr "Sense assignar" + + +msgid "Move Catalog" +msgstr "Moure catàleg" + + +msgid "into" +msgstr "dins de" + + +msgid "Move assets to catalog" +msgstr "Moure recursos al catàleg" + + +msgid "Move asset to catalog" +msgstr "Moure recurs al catàleg" + + +msgid "Only assets from this current file can be moved between catalogs" +msgstr "Només els recursos del present document es poden moure entre catàlegs" + + +msgid "to the top level of the tree" +msgstr "al nivell superior de l'arbre" + + +msgid "Move assets out of any catalog" +msgstr "Moure recursos des de qualsevol catàleg" + + +msgid "Move asset out of any catalog" +msgstr "Moure recurs des de qualsevol catàleg" + + +msgid "File path" +msgstr "Camí al document" + + +msgid "Path to asset library does not exist:" +msgstr "El camí a la biblioteca de recursos no existeix:" + + +msgid "" +"Asset Libraries are local directories that can contain .blend files with assets inside.\n" +"Manage Asset Libraries from the File Paths section in Preferences" +msgstr "" +"Les biblioteques de recursos són directoris locals que poden contenir documents .blend amb recursos a l'interior.\n" +"Gestioneu les biblioteques de recursos des de la secció Camins de documents en les preferències" + + +msgid "Today" +msgstr "Avui" + + +msgid "Yesterday" +msgstr "Ahir" + + +msgid "Could not rename: %s" +msgstr "No s'ha pogut reanomenar: %s" + + +msgid "Unable to create configuration directory to write bookmarks" +msgstr "No s'ha pogut crear el directori de configuració per a escriure els recordatoris" + + +msgid "File does not exist" +msgstr "El document no existeix" + + +msgid "No parent directory given" +msgstr "No s'ha donat cap directori pare" + + +msgid "Could not create new folder name" +msgstr "No s'ha pogut crear el nom de la carpeta nova" + + +msgid "Unable to open or write bookmark file \"%s\"" +msgstr "No s'ha pogut obrir o escriure el document de recordatoris \"%s\"" + + +msgid "'%s' given path is OS-invalid, creating '%s' path instead" +msgstr "El camí indicat '%s' no és vàlid per al sistema operatiu, en lloc seu es crea el camí '%s'" + + +msgid "Could not create new folder: %s" +msgstr "No s'ha pogut crear la carpeta nova: %s" + + +msgid "Could not delete file or directory: %s" +msgstr "No s'ha pogut suprimir el document o directori: %s" + + +msgid "Cancel" +msgstr "Cancel·lar" + + +msgid "File name, overwrite existing" +msgstr "Nom del document, sobreescriure l'existent" + + +msgid "File name" +msgstr "Nom del document" + + +msgid "Asset Catalogs" +msgstr "Catàlegs de recursos" + + +msgid "Date Modified" +msgstr "Data de modificació" + + +msgid "Home" +msgstr "Inici" + + +msgid "Desktop" +msgstr "Escriptori" + + +msgid "Downloads" +msgstr "Baixades" + + +msgid "Music" +msgstr "Música" + + +msgid "Pictures" +msgstr "Imatges" + + +msgid "Videos" +msgstr "Videos" + + +msgid "OneDrive" +msgstr "OneDrive" + + +msgid "Movies" +msgstr "Pel·lícules" + + +msgid "Cursor X" +msgstr "Cursor X" + + +msgid "Cursor to Selection" +msgstr "Cursor a selecció" + + +msgid "Cursor Value to Selection" +msgstr "Valor de cursor a selecció" + + +msgid "Handle Smoothing" +msgstr "Suavitzat de nanses" + + +msgid "Interpolation:" +msgstr "Interpolació:" + + +msgid "None for Enum/Boolean" +msgstr "Cap per a Enum/Booleà" + + +msgid "Key Frame" +msgstr "Fotofita" + + +msgid "Prop:" +msgstr "Prop:" + + +msgid "Driver Value:" +msgstr "Valor del controlador:" + + +msgid "Expression:" +msgstr "Expressió:" + + +msgid "Add Input Variable" +msgstr "Afegir variable d'ingressió" + + +msgid "Value:" +msgstr "Valor:" + + +msgid "Update Dependencies" +msgstr "Actualitzar dependències" + + +msgid "Driven Property:" +msgstr "Propietat determinada:" + + +msgid "Driver:" +msgstr "Controlador:" + + +msgid "Show in Drivers Editor" +msgstr "Mostrar en editor de controladors" + + +msgid "Add Modifier" +msgstr "Afegir modificador" + + +msgid "F-Curve only has F-Modifiers" +msgstr "La Corba-Fnomés té Modificadors-F" + + +msgid "See Modifiers panel below" +msgstr "Vegeu el plafó Modificadors més avall" + + +msgid "F-Curve doesn't have any keyframes as it only contains sampled points" +msgstr "La Corba-F no té cap fotofita, ja que només conté punts de mostra" + + +msgid "No active keyframe on F-Curve" +msgstr "No hi ha cap fotofita activa a la corba-F" + + +msgid "It cannot be left blank" +msgstr "No es pot deixar en blanc" + + +msgid "It cannot start with a number" +msgstr "No pot començar amb un número" + + +msgid "It cannot start with a special character, including '$', '@', '!', '~', '+', '-', '_', '.', or ' '" +msgstr "No pot començar amb un caràcter especial, incloent-hi «$», «@», «!», «~», «+», «-», «_», «.», o « »" + + +msgid "It cannot contain spaces (e.g. 'a space')" +msgstr "No pot contenir espais (p. ex. «un espai»)" + + +msgid "It cannot contain dots (e.g. 'a.dot')" +msgstr "No pot contenir punts (p. ex. «un.punt»)" + + +msgid "It cannot contain special (non-alphabetical/numeric) characters" +msgstr "No pot contenir caràcters especials (no alfabètics/numèrics)" + + +msgid "It cannot be a reserved keyword in Python" +msgstr "No pot ser una paraula clau reservada en python" + + +msgid "Let the driver determine this property's value" +msgstr "Permet que el controlador determini el valor d'aquesta propietat" + + +msgid "ERROR: Invalid Python expression" +msgstr "ERROR: L'expressió de python no és vàlida" + + +msgid "Python restricted for security" +msgstr "S'ha restringit python per seguretat" + + +msgid "Slow Python expression" +msgstr "Expressió de python lenta" + + +msgid "WARNING: Driver expression may not work correctly" +msgstr "AVÍS: L'expressió del controlador pot no funcionar correctament" + + +msgid "TIP: Use variables instead of bpy.data paths (see below)" +msgstr "CONSELL: useu variables en lloc de camins de bpy.data (vegeu més avall)" + + +msgid "TIP: bpy.context is not safe for renderfarm usage" +msgstr "CONSELL: bpy.context no és segur per a l'ús de granjaderevelar" + + +msgid "ERROR: Invalid target channel(s)" +msgstr "ERROR: canal(s) de referència no vàlid(s)" + + +msgid "ERROR: Driver is useless without any inputs" +msgstr "ERROR: El controlador és inútil sense cap ingressió" + + +msgid "TIP: Use F-Curves for procedural animation instead" +msgstr "CONSELL: alternativament corbes-F per a l'animació procedimental" + + +msgid "F-Modifiers can generate curves for those too" +msgstr "Els Modificadors-F també poden generar corbes per a aquests" + + +msgid "Add a Driver Variable to keep track of an input used by the driver" +msgstr "Afegiu una variable de controlador per fer un seguiment d'una ingressió utilitzada pel controlador" + + +msgid "Invalid variable name, click here for details" +msgstr "Nom de variable no vàlid, cliqueu aquí per detalls" + + +msgid "Delete target variable" +msgstr "Suprimir variable referent" + + +msgid "Force updates of dependencies - Only use this if drivers are not updating correctly" +msgstr "Forçar actualitzacions de dependències - Només utilitzeu això si els controladors no s'actualitzen correctament" + + +msgid "Driven Property" +msgstr "Propietat determinada" + + +msgid "Add/Edit Driver" +msgstr "Afegir/Editar controlador" + + +msgctxt "Operator" +msgid "Invalid Variable Name" +msgstr "Nom de variable no vàlid" + + +msgid "" +msgstr "" + + +msgid "No active F-Curve to add a keyframe to. Select an editable F-Curve first" +msgstr "No hi ha cap corba-F activa per a afegir-hi una fotofita. Seleccioneu primer una corba-F editable" + + +msgid "No selected F-Curves to add keyframes to" +msgstr "No hi ha cap fila F seleccionada per a afegir-hi fotofites" + + +msgid "No channels to add keyframes to" +msgstr "No hi ha canals per afegir-hi fotofites" + + +msgid "Keyframes cannot be added to sampled F-Curves" +msgstr "Les fotofites no es poden afegir a les corbes-F mostrejades" + + +msgid "Active F-Curve is not editable" +msgstr "La corba-F activa no és editable" + + +msgid "Remove F-Modifiers from F-Curve to add keyframes" +msgstr "Eliminar els modificadors-F de la corba-F per afegir fotofites" + + +msgid "Unsupported audio format" +msgstr "Format d'àudio no suportat" + + +msgid "No Euler Rotation F-Curves to fix up" +msgstr "No hi ha corbes-F de rotació euler per a reparar" + + +msgid "No Euler Rotations could be corrected" +msgstr "No s'ha pogut corregir cap rotació d'euler" + + +msgid "No Euler Rotations could be corrected, ensure each rotation has keys for all components, and that F-Curves for these are in consecutive XYZ order and selected" +msgstr "No es poden corregir rotacions euler, assegureu-vos que cada rotació té fites per a tots els components, i que les corbes-F per a aquests estan en ordre XYZ consecutiu i seleccionades" + + +msgid "The rotation channel was filtered" +msgstr "S'ha filtrat el canal de rotació" + + +msgid "No control points are selected" +msgstr "No s'ha seleccionat cap punt de control" + + +msgid "Modifier could not be added (see console for details)" +msgstr "No s'ha pogut afegir el modificador (vegeu la consola per detalls)" + + +msgid "No F-Modifiers available to be copied" +msgstr "No hi ha disponibles modificadors-F per copiar" + + +msgid "No F-Modifiers to paste" +msgstr "No hi ha modificadors-F per enganxar" + + +msgid "File not found '%s'" +msgstr "No s'ha trobat el document '%s'" + + +msgid "Euler Rotation F-Curve has invalid index (ID='%s', Path='%s', Index=%d)" +msgstr "La corba-F de rotació euler té un índex no vàlid (ID='%s', Camí='%s', Índex=%d)" + + +msgid "Missing %s%s%s component(s) of euler rotation for ID='%s' and RNA-Path='%s'" +msgstr "Falta/en %s%s%s component(s) de rotació d'euler per ID='%s' i Camí-ARN='%s'" + + msgid "XYZ rotations not equally keyed for ID='%s' and RNA-Path='%s'" msgstr "Les rotacions XYZ no estan claudades per ID='%s' i ARN-Path='%s'" +msgid "%d of %d rotation channels were filtered (see the Info window for details)" +msgstr "S'han filtrat %d de %d canals de rotació (vegeu finestra d'informació per detalls)" + + +msgid "All %d rotation channels were filtered" +msgstr "S'han filtrat tots els canals de rotació %d" + + +msgid "No drivers deleted" +msgstr "No s'ha suprimit cap controlador" + + +msgid "Deleted %u drivers" +msgstr "Suporimits %u controladors" + + +msgid "Decimate Keyframes" +msgstr "Delmar fotofites" + + +msgid "Decimate F-Curves by specifying how much they can deviate from the original curve" +msgstr "Delmar corbes-F especificant quant es poden desviar de la corba original" + + +msgid "Blend to Default Value" +msgstr "Fusionar a valor predeterminat" + + +msgid "Ease Keys" +msgstr "Gradualitzar fites" + + +msgid "Gaussian Smooth" +msgstr "Suavitzat gaussià" + + +msgid "Cannot find keys to operate on." +msgstr "No s'han pogut trobar les fites on operar-hi." + + +msgid "Decimate: Skipping non linear/bezier keyframes!" +msgstr "Delmatr s'ometen les fotofites no lineals/bezier!" + + +msgid "There is no animation data to operate on" +msgstr "No hi ha dades d'animació per operar-hi" + + +msgid "Discard" +msgstr "Retirar" + + +msgid "Select Slot" +msgstr "Seleccionar epígraf" + + +msgid "Select Layer" +msgstr "Seleccionar capa" + + +msgid "Select Pass" +msgstr "Seleccionar passada" + + +msgid "Select View" +msgstr "Seleccionar visualització" + + +msgid "Hard coded Non-Linear, Gamma:1.7" +msgstr "No lineal codificat de base, Gamma:1,7" + + +msgid "Can't Load Image" +msgstr "No es pot carregar la imatge" + + +msgid "%d x %d, " +msgstr "%d x %d, " + + +msgid "%d float channel(s)" +msgstr "%d canal(s) flotant(s)" + + +msgid " RGBA float" +msgstr " RGBA flotant" + + +msgid " RGB float" +msgstr " RGB flotant" + + +msgid " RGBA byte" +msgstr " RGBA byte" + + +msgid " RGB byte" +msgstr " RGB byte" + + +msgid " + Z" +msgstr " + Z" + + +msgid ", %s" +msgstr ", %s" + + +msgid "Frame %d / %d" +msgstr "Fotograma %d / %d" + + +msgid "Frame %d: %s" +msgstr "Fotograma %d: %s" + + +msgid "Frame %d" +msgstr "Fotograma %d" + + +msgid "unsupported image format" +msgstr "format d'imatge no suportat" + + +msgid "Can only save sequence on image sequences" +msgstr "Només es pot desar la seqüència en seqüències d'imatges" + + +msgid "Cannot save multilayer sequences" +msgstr "No es poden desar les seqüències multicapa" + + +msgid "No images have been changed" +msgstr "No s'ha canviat cap imatge" + + +msgid "Packing movies or image sequences not supported" +msgstr "No suportat l'empaquetament de pel·lícules o seqüències d'imatges" + + +msgid "Unpacking movies or image sequences not supported" +msgstr "No suportat desempaquetar pel·lícules o seqüències d'imatges" + + +msgid "Invalid UDIM index range was specified" +msgstr "S'ha especificat un interval d'índex UDIM no vàlid" + + +msgid "No UDIM tiles were created" +msgstr "No s'ha creat cap tessel·la UDIM" + + +msgid "Packed to memory image \"%s\"" +msgstr "Empaquetat a la imatge de memòria \"%s\"" + + +msgid "Cannot save image, path \"%s\" is not writable" +msgstr "No es pot desar la imatge, el camí \"%s\" no és escrivible" + + +msgid "Saved image \"%s\"" +msgstr "S'ha desat la imatge \"%s\"" + + +msgid "%d image(s) will be saved in %s" +msgstr "%d imatge(s) es desarà/an a %s" + + +msgid "Saved %s" +msgstr "S'ha desat %s" + + +msgid "Packed library image can't be saved: \"%s\" from \"%s\"" +msgstr "No es pot desar la imatge de la biblioteca empaquetada: \"%s\" des de \"%s\"" + + +msgid "Image can't be saved, use a different file format: \"%s\"" +msgstr "No es pot desar la imatge, utilitzeu un format de document diferent: \"%s\"" + + +msgid "Multiple images can't be saved to an identical path: \"%s\"" +msgstr "No es poden desar múltiples imatges en un camí idèntic: \"%s\"" + + +msgid "Image can't be saved, no valid file path: \"%s\"" +msgstr "No es pot desar la imatge, no hi ha cap camí vàlid de document: \"%s\"" + + +msgid "can't save image while rendering" +msgstr "no es pot desar la imatge mentre es revela" + + +msgid "Unpack 1 File" +msgstr "Desempaquetar 1 document" + + +msgid "Unpack %d Files" +msgstr "Desempaquetar %d documents" + + +msgid "No packed files to unpack" +msgstr "No hi ha documents empaquetats per desempaquetar" + + +msgid "No packed file" +msgstr "No hi ha cap document empaquetat" + + +msgid "Cannot set relative paths with an unsaved blend file" +msgstr "No es poden establir camins relatius amb un document blend sense desar" + + +msgid "Cannot set absolute paths with an unsaved blend file" +msgstr "No es poden establir camins absoluts amb un document blend sense desar" + + +msgid "Joints" +msgstr "Articulacions" + + +msgid "(Key) " +msgstr "(Fita) " + + +msgid "Verts:%s/%s | Edges:%s/%s | Faces:%s/%s | Tris:%s" +msgstr "Vèrtexs:%s/%s | Arestes:%s/%s | Cares:%s/%s | Tris:%s" + + +msgid "Joints:%s/%s | Bones:%s/%s" +msgstr "Articulacions:%s/%s | Ossos:%s/%s" + + +msgid "Verts:%s/%s" +msgstr "Vèrtexs:%s/%s" + + +msgid "Bones:%s/%s" +msgstr "Ossos:%s/%s" + + +msgid "Layers:%s | Frames:%s | Strokes:%s | Points:%s" +msgstr "Capes:%s | Fotogrames:%s | Traços:%s | Punts:%s" + + +msgid "Verts:%s | Tris:%s" +msgstr "Vèrtexs:%s | Tris:%s" + + +msgid "Verts:%s/%s | Faces:%s/%s" +msgstr "Vèrtexs:%s/%s | Cares:%s/%s" + + +msgid "Verts:%s | Faces:%s | Tris:%s" +msgstr "Vèrtexs:%s | Cares:%s | Tris:%s" + + +msgid " | Objects:%s/%s" +msgstr " | Objectes:%s/%s" + + +msgid "Duration: %s (Frame %i/%i)" +msgstr "Durada: %s (Fotograma %i/%i)" + + +msgid "Memory: %s" +msgstr "Memòria: %s" + + +msgid "VRAM: %.1f/%.1f GiB" +msgstr "VRAM: %.1f/%.1f GiB" + + +msgid "VRAM: %.1f GiB Free" +msgstr "VRAM: %.1f GiB lliure" + + +msgid "Sync Length" +msgstr "Longitud de sincronització" + + +msgid "Now" +msgstr "Ara" + + +msgid "Playback Scale" +msgstr "Escala de reproducció" + + +msgid "Active Strip Name" +msgstr "Nom de segment actiu" + + +msgid "No active AnimData block to use (select a data-block expander first or set the appropriate flags on an AnimData block)" +msgstr "No hi ha cap bloc actiu d'AnimData per usar (seleccioneu primer un expansor de blocs de dades o establiu els semàfors apropiats en un bloc d'AnimData)" + + +msgid "Internal Error - AnimData block is not valid" +msgstr "Error intern - El bloc AnimData no és vàlid" + + +msgid "Cannot push down actions while tweaking a strip's action, exit tweak mode first" +msgstr "No es poden empènyer les accions mentre es retoca l'acció d'un segment, sortiu primer del mode retocs" + + +msgid "No active action to push down" +msgstr "No hi ha cap acció activa per empènyer cap avall" + + +msgid "Select an existing NLA Track or an empty action line first" +msgstr "Seleccionar primer una ANL existent o una línia d'acció buida" + + +msgid "No animation channel found at index %d" +msgstr "No s'ha trobat cap canal d'animació a l'índex %d" + + +msgid "Animation channel at index %d is not a NLA 'Active Action' channel" +msgstr "El canal d'animació a l'índex %d no és un canal de 'Acció activa' d'ANL" + + +msgid "No AnimData blocks to enter tweak mode for" +msgstr "No hi ha cap bloc AnimData per entrar al mode de retoc" + + +msgid "No active strip(s) to enter tweak mode on" +msgstr "No hi ha segment(s) actiu(s) per entrar en el mode retocar" + + +msgid "No AnimData blocks in tweak mode to exit from" +msgstr "No hi ha blocs AnimData en mode retocar per sortir-ne" + + +msgid "No active track(s) to add strip to, select an existing track or add one before trying again" +msgstr "No hi ha pista/es actiu(s) per afegir-hi un segment, seleccioneu-ne una d'existent o afegiu-ne una abans de tornar-ho a provar" + + +msgid "No valid action to add" +msgstr "No hi ha cap acció vàlida per afegir" + + +msgid "Needs at least a pair of adjacent selected strips with a gap between them" +msgstr "Calen almenys un parell de segments seleccionats adjacents amb un espai entre ells" + + +msgid "Cannot swap selected strips as they will not be able to fit in their new places" +msgstr "No es poden canviar els segments seleccionats perquè no podran encaixar en els seus llocs nous" + + +msgid "Action '%s' does not specify what data-blocks it can be used on (try setting the 'ID Root Type' setting from the data-blocks editor for this action to avoid future problems)" +msgstr "L'acció '%s' no especifica en quins blocs de dades es pot utilitzar (intenteu establir el paràmetre «Tipus d'ID arrel» des de l'editor de blocs de dades per evitar problemes futurs en aquesta acció)" + + +msgid "Could not add action '%s' as it cannot be used relative to ID-blocks of type '%s'" +msgstr "No s'ha pogut afegir l'acció '%s', ja que no es pot utilitzar en relació amb els blocs d'ID del tipus '%s'" + + +msgid "Too many clusters of strips selected in NLA Track (%s): needs exactly 2 to be selected" +msgstr "Massa aplecs de segments seleccionats a la pista d'ANL (%s): cal que se'n seleccionin exactament 2" + + +msgid "Too few clusters of strips selected in NLA Track (%s): needs exactly 2 to be selected" +msgstr "Massa pocs aplecs de segments seleccionades a la pista d'ANL (%s): cal que se'n seleccionin exactament 2" + + +msgid "Cannot swap '%s' and '%s' as one or both will not be able to fit in their new places" +msgstr "No es pot intercanviar '%s' i '%s' perquè un o tots dos no podran encaixar en els seus nous llocs" + + +msgid "Modifier could not be added to (%s : %s) (see console for details)" +msgstr "No s'ha pogut afegir el modificador a (%s : %s) (vegeu la consola per detalls)" + + +msgid "Loading Asset Libraries" +msgstr "Carregant biblioteques de recursos" + + +msgid "Clipboard is empty" +msgstr "El porta-retalls és buit" + + +msgid "Some nodes references could not be restored, will be left empty" +msgstr "No s'han pogut restaurar algunes referències de nodes, es deixaran buides" + + +msgid "Cannot add node %s into node tree %s: %s" +msgstr "No es pot afegir el node %s a l'arbre de nodes %s: %s" + + +msgid "Cannot add node %s into node tree %s" +msgstr "No es pot afegir el node %s a l'arbre de nodes %s" + + +msgid "Label Size" +msgstr "Mida d'etiqueta" + + +msgid "Frame: %d" +msgstr "Fotograma: %d" + + +msgid "Matte Objects:" +msgstr "Objectes clapa:" + + +msgid "Add Crypto Layer" +msgstr "Afegir criptocapa" + + +msgid "Remove Crypto Layer" +msgstr "Eliminar criptocapa" + + +msgid "Matte ID:" +msgstr "ID de clapa:" + + +msgid "Squash" +msgstr "Xafar" + + +msgid "Undefined Socket Type" +msgstr "Tipus de born no definit" + + +msgid "Could not determine type of group node" +msgstr "No s'ha pogut determinar el tipus de node de grup" + + +msgid "Could not add node group" +msgstr "No s'ha pogut afegir el grup de nodes" + + +msgid "Could not add node object" +msgstr "No s'ha pogut afegir l'objecte node" + + +msgid "Could not add node collection" +msgstr "No s'ha pogut afegir la col·lecció de nodes" + + +msgid "Could not find node collection socket" +msgstr "No s'ha pogut trobar el born de la col·lecció de nodes" + + +msgid "Could not add an image node" +msgstr "No es pot afegir un node d'imatge" + + +msgid "Could not add a mask node" +msgstr "No s'ha pogut afegir un node de màscara" + + +msgid "" +"Can not add node group '%s' to '%s':\n" +" %s" +msgstr "" +"No es pot afegir el grup de nodes '%s' to '%s':\n" +" %s" + + +msgid "Can not add node group '%s' to '%s'" +msgstr "No es pot afegir el grup de nodes '%s' a '%s'" + + +msgid "Node tree type %s undefined" +msgstr "Tipus d'arbre de nodes %s sense definir" + + +msgid "Adding node groups isn't supported for custom (Python defined) node trees" +msgstr "No està suportat d'afegir grups de nodes per a arbres de nodes personalitzats (definits per Python)" + + +msgid " (String)" +msgstr " (Cadena)" + + +msgid " (Integer)" +msgstr " (Enter)" + + +msgid " (Float)" +msgstr " (Flotant)" + + +msgid " (Vector)" +msgstr " (Vector)" + + +msgid " (Color)" +msgstr " (Color)" + + +msgid "True" +msgstr "Ver" + + +msgid "False" +msgstr "Fals" + + +msgid " (Boolean)" +msgstr " (Booleà)" + + +msgid "Integer field" +msgstr "Camp enter" + + +msgid "Float field" +msgstr "Camp flotant" + + +msgid "Vector field" +msgstr "Camp vectorial" + + +msgid "Boolean field" +msgstr "Camp booleà" + + +msgid "String field" +msgstr "Camp de cadena" + + +msgid "Color field" +msgstr "Camp de color" + + +msgid " based on:" +msgstr " basat en:" + + +msgid "Empty Geometry" +msgstr "Geometria buida" + + +msgid "Geometry:" +msgstr "Geometria:" + + +msgid "• Mesh: %s vertices, %s edges, %s faces" +msgstr "• Malla: %s vèrtexs, %s arestes, %s faces" + + +msgid "• Point Cloud: %s points" +msgstr "• Núvol de punts: %s punts" + + +msgid "• Curve: %s points, %s splines" +msgstr "• Corba: %s punts, %s splines" + + +msgid "• Instances: %s" +msgstr "• Instàncies: %s" + + +msgid "• Volume" +msgstr "• Volum" + + +msgid "• Edit Curves: %s, %s" +msgstr "• Editar corbes: %s, %s" + + +msgid "positions" +msgstr "posicions" + + +msgid "no positions" +msgstr "sense posicions" + + +msgid "matrices" +msgstr "matrius" + + +msgid "no matrices" +msgstr "sense matrius" + + +msgid "Supported: All Types" +msgstr "Suportat: tots els tipus" + + +msgid "Supported: " +msgstr "Suportat: " + + +msgid "Unknown socket value. Either the socket was not used or its value was not logged during the last evaluation" +msgstr "Valor del born desconegut. O bé el born no s'ha utilitzat o el seu valor no s'ha registrat durant l'última avaluació" + + +msgid "Accessed named attributes:" +msgstr "Atributs amb nom accedits:" + + +msgid "read" +msgstr "llegir" + + +msgid "write" +msgstr "escriure" + + +msgid "remove" +msgstr "eliminar" + + +msgid "Attributes with these names used within the group may conflict with existing attributes" +msgstr "Els atributs amb aquests noms utilitzats dins del grup poden entrar en conflicte amb els atributs existents" + + +msgid "The execution time from the node tree's latest evaluation. For frame and group nodes, the time for all sub-nodes" +msgstr "El temps d'execució de l'última avaluació de l'arbre de nodes. Per als nodes de fotogrames i grups, el temps per a tots els subnodes" + + +msgid "Text not used by any node, no update done" +msgstr "Text no utilitzat per cap node, no s'ha fet cap actualització" + + +msgid "Cannot ungroup" +msgstr "No es pot desagrupar" + + +msgid "Not inside node group" +msgstr "No està dins del grup de nodes" + + +msgid "Cannot separate nodes" +msgstr "No es poden separar els nodes" + + +msgid "" +"Can not add node '%s' in a group:\n" +" %s" +msgstr "" +"No es pot afegir el node '%s' en un grup:\n" +" %s" + + +msgid "Can not add node '%s' in a group" +msgstr "No es pot afegir el node '%s' en un grup" + + +msgid "Can not insert group '%s' in '%s'" +msgstr "No es pot inserir el grup '%s' a '%s'" + + +msgid "Disconnect" +msgstr "Desconnectar" + + +msgid "Dependency Loop" +msgstr "Bucle de dependència" + + +msgid "Add node to input" +msgstr "Afegeir un node l'entrada" + + +msgid "Remove nodes connected to the input" +msgstr "Suprimir els nodes connectats a l'entrada" + + +msgid "Disconnect nodes connected to the input" +msgstr "Desconnecta els nodes connectats a l'entrada" + + +msgid "More than one collection is selected" +msgstr "S'ha seleccionat més d'una col·lecció" + + +msgid "Can't add a new collection to linked/override scene" +msgstr "No es pot afegir una col·lecció nova a l'escena enllaçada/sobreseïda" + + +msgid "No active collection" +msgstr "No hi ha cap col·lecció activa" + + +msgid "Can't duplicate the master collection" +msgstr "No es pot duplicar la col·lecció mestra" + + +msgid "Could not find a valid parent collection for the new duplicate, it won't be linked to any view layer" +msgstr "No s'ha pogut trobar una col·lecció pare vàlida per al duplicat nou, no s'enllaçarà a cap capa de visualització" + + +msgid "Cannot add a collection to a linked/override collection/scene" +msgstr "No es pot afegir una col·lecció a una col·lecció/escena enllaçada/sobreseïda" + + +msgid "Can't add a color tag to a linked collection" +msgstr "No es pot afegir una etiqueta de color a una col·lecció enllaçada" + + +msgid "Cannot delete collection '%s', it is either a linked one used by other linked scenes/collections, or a library override one" +msgstr "No es pot suprimir la col·lecció '%s', és o bé una col·lecció enllaçada usada per altres escenes/col·leccions enllaçades, o bé és una biblioteca de sobreseïment" + + +msgid "Reorder" +msgstr "Reordenar" + + +msgid "Copy to bone" +msgstr "Copiar a os" + + +msgid "Copy to object" +msgstr "Copiar a objecte" + + +msgid "Link all to bone" +msgstr "Enllaçar-ho tot a os" + + +msgid "Link all to object" +msgstr "Enllaçar-ho tot a objecte" + + +msgid "Link before collection" +msgstr "Enllaçar abans de la col·lecció" + + +msgid "Move before collection" +msgstr "Moure abans de la col·lecció" + + +msgid "Link between collections" +msgstr "Enllaçar entre col·leccions" + + +msgid "Move between collections" +msgstr "Moure entre col·leccions" + + +msgid "Link after collection" +msgstr "Enllaçar després de la col·lecció" + + +msgid "Move after collection" +msgstr "Moure després de la col·lecció" + + +msgid "Link inside collection" +msgstr "Enllaçar dins de la col·lecció" + + +msgid "Move inside collection (Ctrl to link, Shift to parent)" +msgstr "Moure dins de la col·lecció (Ctrl per enllaçar, Maj per fer pare)" + + +msgid "Move inside collection (Ctrl to link)" +msgstr "Moure dins de la col·lecció (Ctrl per enllaçar)" + + +msgid "Can't edit library linked or non-editable override object(s)" +msgstr "No es pot editar la biblioteca enllaçada o els objectes de sobreseïment no editables" + + +msgid "Use view layer for rendering" +msgstr "Usar capa de visualització per a revelar" + + +msgid "" +"Temporarily hide in viewport\n" +"* Shift to set children" +msgstr "" +"Oculta temporalment al mirador\n" +"* Majúscules per a establir fills" + + +msgid "" +"Disable selection in viewport\n" +"* Shift to set children" +msgstr "" +"Desactivar selecció al mirador\n" +"* Majúscules per a establir fills" + + +msgid "" +"Globally disable in viewports\n" +"* Shift to set children" +msgstr "" +"Desactivar globalment als miradors\n" +"* Majúscules per a establir fills" + + +msgid "" +"Globally disable in renders\n" +"* Shift to set children" +msgstr "" +"Desactivar globalment als revelats\n" +"* Majúscules per a establir fills" + + +msgid "" +"Restrict visibility in the 3D View\n" +"* Shift to set children" +msgstr "" +"Restringir la visibilitat a la vista 3D\n" +"* Majúscules per a establir fills" + + +msgid "" +"Restrict selection in the 3D View\n" +"* Shift to set children" +msgstr "" +"Restringir la selecció a la vista 3D\n" +"* Majúscules per a establir fills" + + +msgid "Restrict visibility in the 3D View" +msgstr "Restringir la visibilitat a la vista 3D" + + +msgid "Restrict editing of strokes and keyframes in this layer" +msgstr "Restringir l'edició de traços i fotofites en aquesta capa" + + +msgid "" +"Temporarily hide in viewport\n" +"* Ctrl to isolate collection\n" +"* Shift to set inside collections and objects" +msgstr "" +"Ocultar temporalment al mirador\n" +"* Ctrl per a aïllar la col·lecció\n" +"* Majúscules per a definir dins de col·leccions i objectes" + + +msgid "" +"Mask out objects in collection from view layer\n" +"* Ctrl to isolate collection\n" +"* Shift to set inside collections" +msgstr "" +"Màscara d'exclusió objectes de la col·lecció des de la capa de visualització\n" +"* Ctrl per a aïllar la col·lecció\n" +"* Majúscules per a establir dins de les col·leccions" + + +msgid "" +"Objects in collection only contribute indirectly (through shadows and reflections) in the view layer\n" +"* Ctrl to isolate collection\n" +"* Shift to set inside collections" +msgstr "" +"Els objectes de la col·lecció només contribueixen indirectament (a través d'ombres i reflexions) a la capa de visualització\n" +"* Ctrl per a aïllar la col·lecció\n" +"* Majúscules per a establir dins de les col·leccions" + + +msgid "" +"Globally disable in viewports\n" +"* Ctrl to isolate collection\n" +"* Shift to set inside collections and objects" +msgstr "" +"Desactivar globalment als miradors\n" +"* Ctrl per a aïllar la col·lecció\n" +"* Majúscules per a establir dins de col·leccions i objectes" + + +msgid "" +"Globally disable in renders\n" +"* Ctrl to isolate collection\n" +"* Shift to set inside collections and objects" +msgstr "" +"Desactivar globalment en els revelats\n" +"* Ctrl per a aïllar la col·lecció\n" +"* Majúscules per a establir dins de col·leccions i objectes" + + +msgid "" +"Disable selection in viewport\n" +"* Ctrl to isolate collection\n" +"* Shift to set inside collections and objects" +msgstr "" +"Desactivar selecció al mirador\n" +"* Ctrl per a aïllar la col·lecció\n" +"* Majúscules per a establir dins de col·leccions i objectes" + + +msgid "Number of users of this data-block" +msgstr "Nombre d'usadors d'aquest bloc de dades" + + +msgid "Data-block will be retained using a fake user" +msgstr "El bloc de dades es conservarà utilitzant un usador fals" + + +msgid "Data-block has no users and will be deleted" +msgstr "El bloc de dades no té usadors i se suprimirà" + + +msgid "Change the object in the current mode" +msgstr "Canviar l'objecte en el mode actual" + + +msgid "Remove from the current mode" +msgstr "Suprimir del mode actual" + + +msgid "" +"Change the object in the current mode\n" +"* Ctrl to add to the current mode" +msgstr "" +"Canviar objecte en el mode actual\n" +"* Ctrl per a afegir al mode actual" + + +msgid "Can't edit library or non-editable override data" +msgstr "No es poden editar la biblioteca o les dades de sobreseïment no editables" + + +msgctxt "Action" +msgid "Group" +msgstr "Grup" + + +msgid "Library path '%s' does not exist, correct this before saving" +msgstr "El camí de la biblioteca '%s' no existeix, corregiu-ho abans de desar" + + +msgid "Library path '%s' is now valid, please reload the library" +msgstr "El camí de la biblioteca '%s' ara és vàlid, sisplau recarregueu la biblioteca" + + +msgid "). Click here to proceed..." +msgstr "). Cliqueu aquí per continuar..." + + +msgid "Cannot edit builtin name" +msgstr "No es pot editar el nom integrat" + + +msgid "Cannot edit sequence name" +msgstr "No es pot editar el nom de la seqüència" + + +msgid "Cannot edit name of an override data-block" +msgstr "No es pot editar el nom d'un bloc de dades de sobreseïment" + + +msgid "Cannot edit name of master collection" +msgstr "No es pot editar el nom de la col·lecció mestra" + + +msgid "Cannot edit the path of an indirectly linked library" +msgstr "No es pot editar el camí d'una biblioteca enllaçada indirectament" + + +msgid "Library path is not editable from here anymore, please use Relocate operation instead" +msgstr "El camí de la biblioteca ja no es pot editar des d'aquí, sisplau utilitzeu l'operació Reubicar" + + +msgid "No active item to rename" +msgstr "No hi ha cap element actiu per canviar-ne el nom" + + +msgid "No selected data-blocks to copy" +msgstr "No hi ha blocs de dades seleccionats per copiar" + + +msgid "No data to paste" +msgstr "No hi ha dades per enganxar" + + +msgid "Operation requires an active keying set" +msgstr "L'operació requereix un joc de fites actiu" + + +msgid "No orphaned data-blocks to purge" +msgstr "No hi ha blocs de dades orfes per purgar" + + +msgid "Cannot delete library override id '%s', it is part of an override hierarchy" +msgstr "No es pot suprimir l'id de sobreseïment de la biblioteca '%s', és part d'una jerarquia de sobreseïment" + + +msgid "Cannot delete indirectly linked library '%s'" +msgstr "No es pot suprimir la biblioteca enllaçada indirectament '%s'" + + +msgid "Cannot delete indirectly linked id '%s'" +msgstr "No es pot suprimir l'id enllaçat indirectament '%s'" + + +msgid "Cannot delete id '%s', indirectly used data-blocks need at least one user" +msgstr "No es pot suprimir l'id '%s', els blocs de dades utilitzats indirectament necessiten com a mínim un usador" + + +msgid "Cannot delete currently visible workspace id '%s'" +msgstr "No es pot suprimir l'id de l'obrador actualment visible '%s'" + + +msgid "Invalid old/new ID pair ('%s' / '%s')" +msgstr "Parella d'ID antiga/nova no vàlida ('%s' / '%s')" + + +msgid "Old ID '%s' is linked from a library, indirect usages of this data-block will not be remapped" +msgstr "L'ID antic '%s' està enllaçat des d'una biblioteca, no es remapejaran els usos indirectes d'aquest bloc de dades" + + +msgid "Copied %d selected data-block(s)" +msgstr "S'ha(n) copiat %d bloc(s) de dades seleccionat(s)" + + +msgid "%d data-block(s) pasted" +msgstr "S'ha(n) enganxat %d bloc(s) de dades" + + +msgid "Cannot relocate indirectly linked library '%s'" +msgstr "No es pot reubicar la biblioteca enllaçada indirectament '%s'" + + +msgid "Deleted %d data-block(s)" +msgstr "S'ha(n) esborrat %d bloc(s) de dades" + + +msgid "Cannot pose non-editable data" +msgstr "No es poden posar dades no editables" + + +msgid "Not yet implemented" +msgstr "Encara no està implementat" + + +msgid "Cannot unlink action '%s'. It's not clear which object or object-data it should be unlinked from, there's no object or object-data as parent in the Outliner tree" +msgstr "No es pot desenllaçar l'acció '%s'. No està clar de quin objecte o dada d'objecte s'ha de desenllaçar, no hi ha cap objecte o dada d'objecte com a pare a l'arbre d'inventari" + + +msgid "Cannot unlink material '%s'. It's not clear which object or object-data it should be unlinked from, there's no object or object-data as parent in the Outliner tree" +msgstr "No es pot desenllaçar el material '%s'. No està clar de quin objecte o objecte-dades hauria d'estar desenllaçat, no hi ha cap objecte o dada d'objectecom a pare a l'arbre de l'inventari" + + +msgid "Cannot unlink texture '%s'. It's not clear which freestyle line style it should be unlinked from, there's no freestyle line style as parent in the Outliner tree" +msgstr "No es pot desenllaçar la textura '%s'. No està clar de quin estil de línia manual hauria d'estar desenllaçat, no hi ha cap estil de línia manual com a pare a l'arbre de l'inventari" + + +msgid "Cannot unlink collection '%s'. It's not clear which scene, collection or instance empties it should be unlinked from, there's no scene, collection or instance empties as parent in the Outliner tree" +msgstr "No es pot desenllaçar la col·lecció '%s'. No està clar de quina escena, col·lecció o buits instanciats s'ha de desenllaçar, no hi ha cap escena, col·lecció o buits instanciats com a pare a l'arbre de l'inventari" + + +msgid "Cannot unlink object '%s' parented to another linked object '%s'" +msgstr "No es pot desenllaçar l'objecte '%s' que fa de pare a un altre objecte enllaçat '%s'" + + +msgid "Cannot unlink object '%s' from linked collection or scene '%s'" +msgstr "No es pot desenllaçar l'objecte '%s' de la col·lecció o escena enllaçada '%s'" + + +msgid "Cannot unlink world '%s'. It's not clear which scene it should be unlinked from, there's no scene as parent in the Outliner tree" +msgstr "No es pot desenllaçar el món '%s'. No està clar de quina escena s'hauria de desenllaçar, no hi ha escena que faci de para a l'arbre de l'inventari" + + +msgid "Invalid anchor ('%s') found, needed to create library override from data-block '%s'" +msgstr "S'ha trobat una àncora no vàlida ('%s'), necessària per a crear sobreseïment de biblioteca a partir del bloc de dades '%s'" + + +msgid "Could not create library override from data-block '%s', one of its parents is not overridable ('%s')" +msgstr "No s'ha pogut crear el sobreseÏment de biblioteca a partir del bloc de dades '%s', un dels seus pares no és sobreseïble ('%s')" + + +msgid "Invalid hierarchy root ('%s') found, needed to create library override from data-block '%s'" +msgstr "S'ha trobat una arrel de jerarquia no vàlida ('%s'), necessària per a crear un sobreseïment de biblioteca a partir del bloc de dades '%s'" + + +msgid "Could not create library override from one or more of the selected data-blocks" +msgstr "No s'ha pogut crear el sobreseïment de biblioteca des d'un o més dels blocs de dades seleccionats" + + +msgid "Cannot clear embedded library override id '%s', only overrides of real data-blocks can be directly deleted" +msgstr "No es pot descartar l'id del sobreseïment de biblioteca incrustat '%s', només es poden suprimir directament els sobreseïments dels blocs de dades reals" + + +msgid "Current File" +msgstr "Document actual" + + +msgid "No Library Overrides" +msgstr "No hi ha sobreseïments de biblioteca" + + +msgid "Contains linked library overrides that need to be resynced, updating the library is recommended" +msgstr "Conté les sobreseïments de biblioteca enllaçats que cal sincronitzar, es recomana actualitzar la biblioteca" + + +msgid "Missing library" +msgstr "Biblioteca extraviada" + + +msgid "This override data-block is not needed anymore, but was detected as user-edited" +msgstr "Aquest bloc de dades de sobreseïment ja no és necessari, però s'ha detectat com editat per la usuària" + + +msgid "This override data-block is unused" +msgstr "Aquest bloc de dades de sobreseïment no s'utilitza" + + +msgid "This override property does not exist in current data, it will be removed on next .blend file save" +msgstr "Aquesta propietat de sobreseïment no existeix en les dades actuals, s'eliminarà en el proper desament del document .blend" + + +msgid "Added through override" +msgstr "S'ha afegit mitjançant sobreseïment" + + +msgid "(empty)" +msgstr "(buit)" + + +msgid "Strip None" +msgstr "Segment - sense" + + +msgid "Can't reload with running modal operators" +msgstr "No es pot tornar a carregar amb els operadors modals en execució" + + +msgid "Add a crossfade transition to the sequencer" +msgstr "Afegir una transició al seqüenciador" + + +msgid "Add an add effect strip to the sequencer" +msgstr "Afegir un segment que afegeix un efecte al seqüenciador" + + +msgid "Add a subtract effect strip to the sequencer" +msgstr "Afegir un segment que sostreu un efecte al seqüenciador" + + +msgid "Add an alpha over effect strip to the sequencer" +msgstr "Afegir un segment alfa per sobre l'efecte al seqüenciador" + + +msgid "Add an alpha under effect strip to the sequencer" +msgstr "Afegir una segment d'efecte Alfa per sota al seqüenciador" + + +msgid "Add a gamma cross transition to the sequencer" +msgstr "Afegir una Transició gamma al seqüenciador" + + +msgid "Add a multiply effect strip to the sequencer" +msgstr "Afegir un segment d'efecte multiplicació al seqüenciador" + + +msgid "Add an alpha over drop effect strip to the sequencer" +msgstr "Afegir un segment d'efecte alfa per sobre la caiguda al seqüenciador" + + +msgid "Add a wipe transition to the sequencer" +msgstr "Afegir una transició de fregar al seqüenciador" + + +msgid "Add a glow effect strip to the sequencer" +msgstr "Afegir un segment d'efecte lluentor al seqüenciador" + + +msgid "Add a transform effect strip to the sequencer" +msgstr "Afegir un segment d'efecte transformació al seqüenciador" + + +msgid "Add a color strip to the sequencer" +msgstr "Afegir un segment de color al seqüenciador" + + +msgid "Add a speed effect strip to the sequencer" +msgstr "Afegir un segment d'efecte velocitat al seqüenciador" + + +msgid "Add a multicam selector effect strip to the sequencer" +msgstr "Afegir un segment d'efecte selector multicàmera al seqüenciador" + + +msgid "Add an adjustment layer effect strip to the sequencer" +msgstr "Afegir un segment d'efecte de capa d'ajust al seqüenciador" + + +msgid "Add a gaussian blur effect strip to the sequencer" +msgstr "Afegir un segment d'efecte de difuminat gaussià al seqüenciador" + + +msgid "Add a text strip to the sequencer" +msgstr "Afegir un segment de text al seqüenciador" + + +msgid "Add a color mix effect strip to the sequencer" +msgstr "Afegir un segment d'efecte de barreja de color al seqüenciador" + + +msgid "Movie clip not found" +msgstr "No s'ha trobat el clip de vídeo" + + +msgid "Mask not found" +msgstr "No s'ha trobat la màscara" + + +msgid "File '%s' could not be loaded" +msgstr "No s'ha pogut carregar el document '%s'" + + +msgid "Slip offset: %s" +msgstr "Traslladar desplaçament: %s" + + +msgid "Slip offset: %d" +msgstr "Traslladar desplaçament: %d" + + +msgid "Cannot apply effects to audio sequence strips" +msgstr "No es poden aplicar efectes als segments de seqüència d'àudio" + + +msgid "Cannot apply effect to more than 3 sequence strips" +msgstr "No es pot aplicar l'efecte a més de 3 segments de seqüència" + + +msgid "At least one selected sequence strip is needed" +msgstr "Es necessita com a mínim un segment seleccionat de seqüència" + + +msgid "2 selected sequence strips are needed" +msgstr "Es necessiten 2 segments seleccionats de seqüència" + + +msgid "TODO: in what cases does this happen?" +msgstr "TASCA: en quins casos passa això?" + + +msgid "Cannot reassign inputs: strip has no inputs" +msgstr "No es poden reassignar les ingressions: el segment no té ingressions" + + +msgid "Cannot reassign inputs: recursion detected" +msgstr "No es poden reassignar les ingressions: s'ha detectat recursivitat" + + +msgid "No valid inputs to swap" +msgstr "No hi ha entrades vàlides per intercanviar" + + +msgid "Please select all related strips" +msgstr "Seleccioneu tots els segments relacionats" + + +msgid "No strips to paste" +msgstr "No hi ha segments per enganxar" + + +msgid "Please select two strips" +msgstr "Seleccioneu dos segments" + + +msgid "One of the effect inputs is unset, cannot swap" +msgstr "Una de les ingressions d'efectes no està establerta, no es pot intercanviar" + + +msgid "New effect needs more input strips" +msgstr "El nou efecte necessita més segments d'ingressió" + + +msgid "Can't create subtitle file" +msgstr "No s'ha pogut crear el document de subtítols" + + +msgid "No subtitles (text strips) to export" +msgstr "No hi ha subtítols (segments de text) per exportar" + + +msgid "Select one or more strips" +msgstr "Seleccionar un o més segments" + + +msgid "Can't set a negative range" +msgstr "No es pot establir un interval negatiu" + + +msgid "Proxy is not enabled for %s, skipping" +msgstr "Simulació no habilitada per a %s, s'omet" + + +msgid "Resolution is not selected for %s, skipping" +msgstr "La resolució no està seleccionada per a %s, s'omet" + + +msgid "Overwrite is not checked for %s, skipping" +msgstr "El sobreseïment no està comprovat per a %s, s'ometrà" + + +msgid "Select movie or image strips" +msgstr "Seleccionar segments de pel·lícula o imatge" + + +msgid "No handle available" +msgstr "No hi ha nanses disponibles" + + +msgid "This strip type can not be retimed" +msgstr "Aquest tipus de segment no es pot retemporitzar" + + +msgid "No active sequence!" +msgstr "No hi ha cap seqüència activa!" + + +msgid "Class" +msgstr "Classe" + + +msgid "Fog Volume" +msgstr "Volum de boira" + + +msgid "Level Set" +msgstr "Joc de nivells" + + +msgid "Data Set" +msgstr "Joc de dades" + + +msgid "Column" +msgstr "Columna" + + +msgid "Unknown column type" +msgstr "Tipus de columna desconegut" + + +msgid "File Modified Outside and Inside Blender" +msgstr "Document modificat fora i dins del Blender" + + +msgid "Reload from disk (ignore local changes)" +msgstr "Recarregar des del disc (ignorar canvis locals)" + + +msgid "Save to disk (ignore outside changes)" +msgstr "Desar a disc (ignorar els canvis externs)" + + +msgid "Make text internal (separate copy)" +msgstr "Fer el text intern (separar la còpia)" + + +msgid "File Modified Outside Blender" +msgstr "Document modificat fora del Blender" + + +msgid "Reload from disk" +msgstr "Recarregar des del disc" + + +msgid "File Deleted Outside Blender" +msgstr "Document suprimit fora del Blender" + + +msgid "Make text internal" +msgstr "Fer el text intern" + + +msgid "Recreate file" +msgstr "Recrear document" + + +msgid "unknown error writing file" +msgstr "error desconegut en escriure el document" + + +msgid "unknown error stating file" +msgstr "error desconegut processant el document" + + +msgid "This text has not been saved" +msgstr "Aquest text no s'ha desat" + + +msgid "Could not reopen file" +msgstr "No s'ha pogut reobrir el document" + + +msgid "Python disabled in this build" +msgstr "Python desactivat en aquesta versió" + + +msgid "Cannot save text file, path \"%s\" is not writable" +msgstr "No es pot desar el document de text, no es pot escriure al camí \"%s\"" + + +msgid "Unable to save '%s': %s" +msgstr "No s'ha pogut desar '%s': %s" + + +msgid "Saved text \"%s\"" +msgstr "Text desat \"%s\"" + + +msgid "Unable to stat '%s': %s" +msgstr "No es pot processar '%s': %s" + + +msgid "Text not found: %s" +msgstr "No s'ha trobat el text: %s" + + +msgid "No Recent Files" +msgstr "No hi ha documents recents" + + +msgid "Open Recent" +msgstr "Obrir recent" + + +msgid "Undo History" +msgstr "Historial de desfer" + + +msgid "File association registered" +msgstr "Associació de documents registrada" + + +msgid "Unable to register file association" +msgstr "No s'ha pogut registrar l'associació de documents" + + +msgid "There is no asset library to remove" +msgstr "No hi ha cap biblioteca de recursos per eliminar" + + +msgid "Windows-only operator" +msgstr "Operador només de Windows" + + +msgid "Create object instance from object-data" +msgstr "Crear instància d'objecte a partir de dades d'objecte" + + +msgid "Control Point:" +msgstr "Punt de control:" + + +msgid "Vertex:" +msgstr "Vèrtex:" + + +msgid "Median:" +msgstr "Mediana:" + + +msgid "Z:" +msgstr "Z:" + + +msgid "W:" +msgstr "W:" + + +msgid "Vertex Data:" +msgstr "Dades de vèrtex:" + + +msgid "Vertices Data:" +msgstr "Dades de vèrtexs:" + + +msgid "Bevel Weight:" +msgstr "Pes de bisell:" + + +msgid "Mean Bevel Weight:" +msgstr "Pes mitjà de bisell:" + + +msgid "Vertex Crease:" +msgstr "Doblec de vèrtex:" + + +msgid "Mean Vertex Crease:" +msgstr "Doblec de vèrtex mitjà:" + + +msgid "Radius X:" +msgstr "Radi X:" + + +msgid "Mean Radius X:" +msgstr "Radi mitjà X:" + + +msgid "Radius Y:" +msgstr "Radi Y:" + + +msgid "Mean Radius Y:" +msgstr "Radi mitjà Y:" + + +msgid "Edge Data:" +msgstr "Dades d'aresta:" + + +msgid "Edges Data:" +msgstr "Dades d'arestes:" + + +msgid "Crease:" +msgstr "Doblec:" + + +msgid "Mean Crease:" +msgstr "Doblec mitjà:" + + +msgid "Weight:" +msgstr "Pes:" + + +msgid "Radius:" +msgstr "Radi:" + + +msgid "Tilt:" +msgstr "Inclinació:" + + +msgid "Mean Weight:" +msgstr "Pes mitjà:" + + +msgid "Mean Radius:" +msgstr "Radi mitjà:" + + +msgid "Mean Tilt:" +msgstr "Inclinació mitjana:" + + +msgid "Dimensions:" +msgstr "Dimensions:" + + +msgid "4L" +msgstr "4L" + + +msgid "No Bone Active" +msgstr "Cap os actiu" + + +msgid "Radius (Parent)" +msgstr "Radi (pare)" + + +msgid "Size:" +msgstr "Mida:" + + +msgid "Displays global values" +msgstr "Mostra els valors globals" + + +msgid "Displays local values" +msgstr "Mostra els valors locals" + + +msgid "Vertex weight used by Bevel modifier" +msgstr "Pes de vèrtex utilitzat pel modificador bisell" + + +msgid "Weight used by the Subdivision Surface modifier" +msgstr "Pes utilitzat pel modificador de subdivisió de superfície" + + +msgid "X radius used by Skin modifier" +msgstr "Radi X utilitzat pel modificador Pell" + + +msgid "Y radius used by Skin modifier" +msgstr "Radi Y utilitzat pel modificador Pell" + + +msgid "Edge weight used by Bevel modifier" +msgstr "Pes d'aresta utilitzat pel modificador bisell" + + +msgid "Weight used for Soft Body Goal" +msgstr "Pes utilitzat per a l'objectiu del cos tou" + + +msgid "Radius of curve control points" +msgstr "Radi dels punts de control de la corba" + + +msgid "Tilt of curve control points" +msgstr "Inclinació dels punts de control de la corba" + + +msgid "Normalize weights of active vertex (if affected groups are unlocked)" +msgstr "Normalitzar els pesos del vèrtex actiu (si els grups afectats estan desbloquejats)" + + +msgid "Copy active vertex to other selected vertices (if affected groups are unlocked)" +msgstr "Copiar el vèrtex actiu a altres vèrtexs seleccionats (si els grups afectats estan desbloquejats)" + + +msgid "Vertex Weights" +msgstr "Pesos vèrtexs" + + +msgid "No active object found" +msgstr "No s'ha trobat cap objecte actiu" + + +msgid "Front Orthographic" +msgstr "Frontal ortogràfic" + + +msgid "Front Perspective" +msgstr "Frontal perspectiva" + + +msgid "Back Orthographic" +msgstr "Posterior ortogràfic" + + +msgid "Back Perspective" +msgstr "Posterior perspectiva" + + +msgid "Top Orthographic" +msgstr "Capdamunt ortogràfic" + + +msgid "Top Perspective" +msgstr "Capdamunt perspectiva" + + +msgid "Bottom Orthographic" +msgstr "Dessota ortogràfic" + + +msgid "Bottom Perspective" +msgstr "Dessota perspectiva" + + +msgid "Right Orthographic" +msgstr "Dreta ortogràfic" + + +msgid "Right Perspective" +msgstr "Dreta perspectiva" + + +msgid "Left Orthographic" +msgstr "Esquerra ortogràfic" + + +msgid "Left Perspective" +msgstr "Esquerra perspectiva" + + +msgid "Camera Perspective" +msgstr "Càmera perspectiva" + + +msgid "Camera Orthographic" +msgstr "Càmera ortogràfic" + + +msgid "Camera Panoramic" +msgstr "Càmera panoràmica" + + +msgid "Object as Camera" +msgstr "Objecte com a càmera" + + +msgid "User Orthographic" +msgstr "Usuària ortogràfic" + + +msgid "User Perspective" +msgstr "Usuària perspectiva" + + +msgid " (Local)" +msgstr " (Local)" + + +msgid " (Clipped)" +msgstr " (Segat)" + + +msgid " (Viewer)" +msgstr " (Visualitzador)" + + +msgid "fps: %.2f" +msgstr "fps: %.2f" + + +msgid "fps: %i" +msgstr "fps: %i" + + +msgid "X-Ray not available in current mode" +msgstr "Els raigs-X no estan disponibles en el mode actual" + + +msgid "Cannot remove background image %d from camera '%s', as it is from the linked reference data" +msgstr "No es pot eliminar la imatge de fons %d de la càmera '%s', ja que prové de les dades de referència enllaçades" + + +msgid "Gizmos hidden in this view" +msgstr "Flòstics amagats en aquesta vista" + + +msgid "Cannot dolly when the view offset is locked" +msgstr "No es pot fer «dolly» quan el desplaçament de la vista està bloquejat" + + +msgid "Cannot navigate a camera from an external library or non-editable override" +msgstr "No es pot navegar per una càmera des d'una biblioteca externa o un sobreseïment no editable" + + +msgid "Cannot fly when the view offset is locked" +msgstr "No es pot volar quan el desplaçament per la vista està bloquejat" + + +msgid "Cannot fly an object with constraints" +msgstr "No es pot volar un objecte amb restriccions" + + +msgid "Cannot navigate when the view offset is locked" +msgstr "No es pot navegar quan el desplaçament de la vista està bloquejat" + + +msgid "Cannot navigate an object with constraints" +msgstr "No es pot navegar un objecte amb restriccions" + + +msgid "Depth too large" +msgstr "Profunditat massa gran" + + +msgid "No objects to paste" +msgstr "No hi ha objectes per enganxar" + + +msgid "Copied %d selected object(s)" +msgstr "S'ha(n) copiat %d objecte(s) seleccionat(s)" + + +msgid "%d object(s) pasted" +msgstr "%d objecte(s) enganxat(s)" + + +msgid "No active element found!" +msgstr "No s'ha trobat cap element actiu!" + + +msgid "No active camera" +msgstr "No hi ha cap càmera activa" + + +msgid "No more than 16 local views" +msgstr "No més de 16 vistes locals" + + +msgid "No object selected" +msgstr "No s'ha seleccionat cap objecte" + + +msgid "Auto Keying On" +msgstr "Autofitar activat" + + +msgid "along X" +msgstr "seguint X" + + +msgid "along %s X" +msgstr "seguint %s X" + + +msgid "along Y" +msgstr "seguint Y" + + +msgid "along %s Y" +msgstr "seguint %s Y" + + +msgid "along Z" +msgstr "seguint Z" + + +msgid "along %s Z" +msgstr "seguint %s Z" + + +msgid "locking %s X" +msgstr "bloquejant %s X" + + +msgid "locking %s Y" +msgstr "bloquejant %s Y" + + +msgid "locking %s Z" +msgstr "bloquejant %s Z" + + +msgid "along local Z" +msgstr "seguint la Z local" + + +msgid " along Y axis" +msgstr " seguint l'eix Y" + + +msgid " along X axis" +msgstr " seguint l'eix X" + + +msgid " locking %s X axis" +msgstr " bloquejant l'eix %s X" + + +msgid " along %s X axis" +msgstr " seguint l'eix %s X" + + +msgid " locking %s Y axis" +msgstr " bloquejant l'eix %s Y" + + +msgid " along %s Y axis" +msgstr " seguint l'eix %s Y" + + +msgid " locking %s Z axis" +msgstr " bloquejant l'eix %s Z" + + +msgid " along %s Z axis" +msgstr " seguint l'eix %s Z" + + +msgid "Cannot change Pose when 'Rest Position' is enabled" +msgstr "No es pot canviar la posa quan s'ha activat «Posició de repòs»" + + +msgid "Bone selection count error" +msgstr "Error de recompte de la selecció d'ossos" + + +msgid "Linked data can't text-space transform" +msgstr "Les dades enllaçades no poden transformar l'espai de text" + + +msgid "Unsupported object type for text-space transform" +msgstr "Tipus d'objecte no suportat per a la transformació de l'espai de text" + + +msgid "(Sharp)" +msgstr "(Agut)" + + +msgid "(Smooth)" +msgstr "(Suau)" + + +msgid "(Root)" +msgstr "(Arrel)" + + +msgid "(Linear)" +msgstr "(Lineal)" + + +msgid "(Constant)" +msgstr "(Constant)" + + +msgid "(Sphere)" +msgstr "(Esfera)" + + +msgid "(Random)" +msgstr "(Aleatori)" + + +msgid "(InvSquare)" +msgstr "(ArrQuadInv)" + + +msgid "Rotation: %s %s %s" +msgstr "Rotació: %s %s %s" + + +msgid "Rotation: %.2f%s %s" +msgstr "Rotació: %.2f%s %s" + + +msgid " Proportional size: %.2f" +msgstr " Mida proporcional: %.2f" + + +msgid "Scale: %s%s %s" +msgstr "Escala: %s%s %s" + + +msgid "Scale: %s : %s%s %s" +msgstr "Escala: %s : %s%s %s" + + +msgid "Scale: %s : %s : %s%s %s" +msgstr "Escala: %s : %s : %s%s %s" + + +msgid "Scale X: %s Y: %s%s %s" +msgstr "Escala X: %s Y: %s%s %s" + + +msgid "Scale X: %s Y: %s Z: %s%s %s" +msgstr "Escala X: %s Y: %s Z: %s%s %s" + + +msgid "Time: +%s %s" +msgstr "Temps: +%s %s" + + +msgid "Time: %s %s" +msgstr "Temps: %s %s" + + +msgid "Time: +%.3f %s" +msgstr "Temps: +%.3f %s" + + +msgid "Time: %.3f %s" +msgstr "Temps: %.3f %s" + + +msgid "ScaleB: %s%s %s" +msgstr "EscalaB: %s%s %s" + + +msgid "ScaleB: %s : %s : %s%s %s" +msgstr "EscalaB: %s : %s : %s%s %s" + + +msgid "ScaleB X: %s Y: %s Z: %s%s %s" +msgstr "EscalaB X: %s Y: %s Z: %s%s %s" + + +msgid "Bend Angle: %s Radius: %s Alt, Clamp %s" +msgstr "Angle de doblec: %s Radi: %s Alt, Constreny %s" + + +msgid "Bend Angle: %.3f Radius: %.4f, Alt, Clamp %s" +msgstr "Angle de doblec: %.3f Radi: %.4f, Alt, Constreny %s" + + +msgid "Envelope: %s" +msgstr "Funda: %s" + + +msgid "Envelope: %3f" +msgstr "Funda: %3f" + + +msgid "Roll: %s" +msgstr "Gir: %s" + + +msgid "Roll: %.2f" +msgstr "Gir: %.2f" + + +msgid "Shrink/Fatten: %s" +msgstr "Encongir/Inflar: %s" + + +msgid "Shrink/Fatten: %3f" +msgstr "Encongir/Inflar: %3f" + + +msgid "Sequence Slide: %s%s" +msgstr "Seqüència - Lliscar: %s%s" + + +msgid "Edge Slide: " +msgstr "Aresta - Lliscar: " + + +msgid "(E)ven: %s, " +msgstr "(E)Regular: %s, " + + +msgid "(F)lipped: %s, " +msgstr "(F)Capgirat: %s, " + + +msgid "Alt or (C)lamp: %s" +msgstr "Alt o (C)onstreny: %s" + + +msgid "Opacity: %s" +msgstr "Opacitat: %s" + + +msgid "Opacity: %3f" +msgstr "Opacitat: %3f" + + +msgid "Feather Shrink/Fatten: %s" +msgstr "Vora borrosa - Encongir/Inflar: %s" + + +msgid "Feather Shrink/Fatten: %3f" +msgstr "Vora borrosa - Encongir/Inflar: %3f" + + +msgid "Mirror%s" +msgstr "Emmirallar%s" + + +msgid "Select a mirror axis (X, Y)" +msgstr "Seleccionar eix de mirall (X, Y)" + + +msgid "Select a mirror axis (X, Y, Z)" +msgstr "Seleccionar eix de mirall (X, Y, Z)" + + +msgid "Push/Pull: %s%s %s" +msgstr "Empènyer/Estirar: %s%s %s" + + +msgid "Push/Pull: %.4f%s %s" +msgstr "Empènyer/Estirar: %.4f%s %s" + + +msgid "Rotation is not supported in the Dope Sheet Editor" +msgstr "Rotació no suportada a l'editor de guions" + + +msgid "Shear: %s %s" +msgstr "Estrebar: %s %s" + + +msgid "Shear: %.3f %s (Press X or Y to set shear axis)" +msgstr "Estrebar: %.3f %s (Premeu X o Y per a establir l'eix d'estrebada)" + + +msgid "Shrink/Fatten: " +msgstr "Encongir/Inflar: " + + +msgid " or Alt) Even Thickness %s" +msgstr " o Alt) Gruix uniforme %s" + + +msgid "Tilt: %s° %s" +msgstr "Inclinació: %s: %s" + + +msgid "Tilt: %.2f° %s" +msgstr "Inclinació: %.2fs %s" + + +msgid "ScaleX: %s" +msgstr "EscalaX: %s" + + +msgid "TimeSlide: %s" +msgstr "Ritme de temps: %s" + + +msgid "DeltaX: %s" +msgstr "DeltaX: %s" + + +msgid "To Sphere: %s %s" +msgstr "A Esfera: %s %s" + + +msgid "To Sphere: %.4f %s" +msgstr "A Esfera: %.4f %s" + + +msgid "Trackball: %s %s %s" +msgstr "Ratolí de bola: %s %s %s" + + +msgid "Trackball: %.2f %.2f %s" +msgstr "Ratolí de bola: %.2f %.2f %s" + + +msgid "Auto IK Length: %d" +msgstr "Longitud de CI automàtica: %d" + + +msgid "right" +msgstr "dreta" + + +msgid "left" +msgstr "esquerra" + + +msgid "%s: Toggle auto-offset direction (%s)" +msgstr "%s: Revesar la direcció de d'autodesplaçament (%s)" + + +msgid ", %s: Toggle auto-attach" +msgstr ", %s: Revesar autoassociació" + + +msgid "Use 'Time_Translate' transform mode instead of 'Translation' mode for translating keyframes in Dope Sheet Editor" +msgstr "Usar el mode de transformació «TimeTranslate» enlloc del mode «Translació» per a traslladar fotofites en l'editor de guions" + + +msgid "Vertex Slide: " +msgstr "Lliscar vèrtex: " + + +msgid "Create Orientation's 'use' parameter only valid in a 3DView context" +msgstr "Crear paràmetre «use» d'orientació només vàlid en un context de visualització 3D" + + +msgid "Unable to create orientation" +msgstr "No s'ha pogut crear l'orientació" + + +msgid "global" +msgstr "global" + + +msgid "gimbal" +msgstr "cardal" + + +msgid "normal" +msgstr "normal" + + +msgid "local" +msgstr "local" + + +msgid "view" +msgstr "vista" + + +msgid "cursor" +msgstr "cursor" + + +msgid "custom" +msgstr "personalitzat" + + +msgctxt "Scene" +msgid "Space" +msgstr "Espai" + + +msgid "Cannot use zero-length bone" +msgstr "No pot utilitzar un os de longitud zero" + + +msgid "Cannot use zero-length curve" +msgstr "No pot utilitzar una corba de longitud zero" + + +msgid "Cannot use vertex with zero-length normal" +msgstr "No pot utilitzar un vèrtex amb normal de longitud zero" + + +msgid "Cannot use zero-length edge" +msgstr "No pot utilitzar una aresta de longitud zero" + + +msgid "Cannot use zero-area face" +msgstr "No pot utilitzar una cara d'àrea zero" + + +msgid "Checking sanity of current .blend file *BEFORE* undo step" +msgstr "S'està comprovant la salut del document .blend actual *ABANS* de desfer el pas" + + +msgid "Checking sanity of current .blend file *AFTER* undo step" +msgstr "S'està comprovant la salut del document .blend actual *DESPRÉS* de desfés el pas" + + +msgid "Undo disabled at startup in background-mode (call `ed.undo_push()` to explicitly initialize the undo-system)" +msgstr "Desfer desactivat en iniciar en mode segon pla (crideu `ed.undo_push()` per a inicialitzar explícitament el sistema de desfer)" + + +msgid "[E] - Disable overshoot" +msgstr "[E] - Deshabilitar sobrepuig" + + +msgid "[E] - Enable overshoot" +msgstr "[E] - Habilitar sobrepuig" + + +msgid "Overshoot disabled" +msgstr "Sobrepuig deshabilitat" + + +msgid "[Shift] - Precision active" +msgstr "[Maj] - Precisió activa" + + +msgid "Shift - Hold for precision" +msgstr "Majúscules - Mantenir pitjat per a precisió" + + +msgid " | [Ctrl] - Increments active" +msgstr " | [Ctrl] - Increments actius" + + +msgid " | Ctrl - Hold for 10% increments" +msgstr " | Ctrl - Mantenir pitjat per a increments del 10%" + + +msgid "Unpack File" +msgstr "Desempaquetar document" + + +msgid "Create %s" +msgstr "Crear %s" + + +msgid "Use %s (identical)" +msgstr "Usar %s (idèntic)" + + +msgid "Use %s (differs)" +msgstr "Usar %s (difereix)" + + +msgid "Overwrite %s" +msgstr "Sobreescriure %s" + + +msgid "Incorrect context for running data-block fake user toggling" +msgstr "El context és incorrecte per a executar el revesat de l'usador fals del bloc de dades" + + +msgid "Data-block type does not support fake user" +msgstr "El tipus de bloc de dades no suporta usador fals" + + +msgid "Can't edit previews of overridden library data" +msgstr "No es poden editar les vistes prèvies de les dades de la biblioteca sobreseguda" + + +msgid "Data-block does not support previews" +msgstr "El bloc de dades no admet vistes prèvies" + + +msgid "Can't generate automatic preview for node group" +msgstr "No es pot generar la vista prèvia automàtica per al grup de nodes" + + +msgid "Numeric input evaluation" +msgstr "Avaluació de la ingressió numèrica" + + +msgctxt "Operator" +msgid "Select (Extend)" +msgstr "Seleccionar (Estendre)" + + +msgctxt "Operator" +msgid "Select (Deselect)" +msgstr "Seleccionar (Desseleccionar)" + + +msgctxt "Operator" +msgid "Select (Toggle)" +msgstr "Seleccionar (Revesar)" + + +msgctxt "Operator" +msgid "Circle Select (Extend)" +msgstr "Selecció de cercle (Estendre)" + + +msgctxt "Operator" +msgid "Circle Select (Deselect)" +msgstr "Selecció de cercle (Desseleccionar)" + + +msgid "UV Vertex" +msgstr "Vèrtex UV" + + +msgid "Cannot split selection when sync selection is enabled" +msgstr "No es pot dividir la selecció quan la selecció de sincronització està habilitada" + + +msgid "Pinned vertices can be selected in Vertex Mode only" +msgstr "Només es poden seleccionar vèrtexs fixats en només mode vèrtex" + + +msgid "Mode(TAB) %s, (S)nap %s, (M)idpoints %s, (L)imit %.2f (Alt Wheel adjust) %s, Switch (I)sland, shift select vertices" +msgstr "Mode(TAB) %s, (S)Acoblar %s, (M)Punts mitjos %s, (L)imitar %.2f (ajustar amb Alt Ròdol) %s, Intercanviar (I)lla, canviar vèrtexs seleccionats" + + +msgid "Could not initialize stitching on any selected object" +msgstr "No s'ha pogut inicialitzar el cosit en cap objecte seleccionat" + + +msgid "Stitching only works with less than %i objects selected (%u selected)" +msgstr "El cosit només funciona amb menys de %i objectes seleccionats (%u seleccionats)" + + +msgid "Minimize Stretch. Blend %.2f" +msgstr "Minimitzar estirament. Fusionar %.2f" + + +msgid "Press + and -, or scroll wheel to set blending" +msgstr "[Minimize Stretch. Blend %.2f]: Prémer + i -, o ròdol per a establir la fusió" + + +msgid "Object has non-uniform scale, unwrap will operate on a non-scaled version of the mesh" +msgstr "L'objecte té una escala no uniforme, el desembolcallat operarà en una versió no escalada de la malla" + + +msgid "Object has negative scale, unwrap will operate on a non-flipped version of the mesh" +msgstr "L'objecte té una escala negativa, el desembolcallat operarà en una versió no invertida de la malla" + + +msgid "Subdivision Surface modifier needs to be first to work with unwrap" +msgstr "El modificador de subdivisió de superfície ha de ser el primer a treballar amb desembolcallar" + + +msgid "Unwrap could not solve any island(s), edge seams may need to be added" +msgstr "El desembolcallat no s'ha pogut resoldre cap illa, és possible que calgui afegir costures" + + +msgid "Unwrap failed to solve %d of %d island(s), edge seams may need to be added" +msgstr "El desembolcallat no s'ha pogut fer la resolució de %d de %d illes, és possible que calgui afegir costures" + + +msgid "Freestyle: Mesh loading" +msgstr "Estil manual: malla carregant" + + +msgid "Freestyle: View map creation" +msgstr "Estil manual: Visualitzar creació del mapa" + + +msgid "Freestyle: Stroke rendering" +msgstr "Estil manual: revelat del traç" + + +msgid "Cannot open file: %s" +msgstr "No es pot obrir el document: %s" + + +msgid "External library data" +msgstr "Dades de biblioteca externa" + + +msgid "Bind To" +msgstr "Articular amb" + + +msgid "Bone Envelopes" +msgstr "Fundes d'os" + + +msgid "Weight Output" +msgstr "Egressiu de pes" + + +msgid "Random Offset Start" +msgstr "Inici de desplaçament aleatori" + + +msgid "Random Offset End" +msgstr "Final de desplaçament aleatori" + + +msgid "Curvature" +msgstr "Curvatura" + + +msgid "Random Offsets" +msgstr "Desplaçaments aleatoris" + + +msgid "Illumination Filtering" +msgstr "Filtratge d'il·luminació" + + +msgid "Create" +msgstr "Doblegar" + + +msgid "Crease (Angle Cached)" +msgstr "Doblegar (Angle en memòria cau)" + + +msgid "Material Borders" +msgstr "Límits de material" + + +msgid "Light Contour" +msgstr "Contorn de llum" + + +msgid "Type overlapping cached" +msgstr "Tipus en memòria cau superposada" + + +msgid "Allow Overlapping Types" +msgstr "Permetre tipus superposats" + + +msgid "Custom Camera" +msgstr "Càmera personalitzada" + + +msgid "Overlapping Edges As Contour" +msgstr "Arestes superposades com a contorn" + + +msgid "Crease On Smooth" +msgstr "Deblegar en suavitzat" + + +msgid "Crease On Sharp" +msgstr "Doblegar en aplanat" + + +msgid "Force Backface Culling" +msgstr "Forçar esporgat de cara posterior" + + +msgid "Collection Masks" +msgstr "Màscares de col·lecció" + + +msgid "Face Mark Filtering" +msgstr "Filtratge de marques de cares" + + +msgid "Loose Edges As Contour" +msgstr "Arestes soltes com a contorn" + + +msgid "Geometry Space" +msgstr "Espai de geometria" + + +msgid "Geometry Threshold" +msgstr "Llindar de geometria" + + +msgid "Filter Source" +msgstr "Font del filtre" + + +msgid "Continue Without Clearing" +msgstr "Continuar sense descartar" + + +msgid "Depth Offset" +msgstr "Desplaçament de profunditat" + + +msgid "Towards Custom Camera" +msgstr "Versa la càmera personalitzada" + + +msgid "Cached from the first line art modifier" +msgstr "Emmagatzemat en cau des del primer modificador de dibuix lineal" + + +msgid "Object is not in front" +msgstr "L'objecte no està al davant" + + +msgid "Modifier has baked data" +msgstr "El modificador té dades precuinades" + + +msgid "Object is shown in front" +msgstr "L'objecte es mostra al davant" + + +msgctxt "GPencil" +msgid "Cast Shadow" +msgstr "Projectar ombra" + + +msgid "Edge Types" +msgstr "Tipus d'aresta" + + +msgid "Light Reference" +msgstr "Referència de llum" + + +msgid "Geometry Processing" +msgstr "Processament de geometria" + + +msgid "Intersection" +msgstr "Intersecció" + + +msgid "Vertex Weight Transfer" +msgstr "Transferència de pes de vèrtexs" + + +msgid "Composition" +msgstr "Composició" + + +msgid "MultipleStrokes" +msgstr "Multitraços" + + +msgid "Stroke Step" +msgstr "Pas de traç" + + +msgid "Material Step" +msgstr "Pas de material" + + +msgid "Layer Step" +msgstr "Pas de capa" + + +msgid "Outline requires an active camera" +msgstr "El contorn requereix una càmera activa" + + +msgid "Stroke Fit Method" +msgstr "Mètode d'encaix de traç" + + +msgid "TextureMapping" +msgstr "TexturaMapejat" + + +msgid "TimeOffset" +msgstr "DesplaçamentTemps" + + +msgid "All line art objects are now cleared" +msgstr "Tots els objectes de dibuix lineal ja estan descartats" + + +msgid "No active object or active object isn't a GPencil object." +msgstr "No hi ha objecte actiu o l'objecte actiu no és un objecte Llapis-dG." + + +msgid "Could not open Alembic archive for reading! See console for detail." +msgstr "No s'ha pogut obrir l'arxiu Alembic per a lectura! Vegeu la consola per més detalls." + + +msgid "PLY Importer: failed importing, unknown error." +msgstr "Importador PLY: ha fallat la importació, error desconegut." + + +msgid "PLY Importer: failed importing, no vertices." +msgstr "Importador PLY: ha fallat la importació, no hi ha vèrtexs." + + +msgid "PLY Importer: %s: %s" +msgstr "Importador PLY: %s: %s" + + +msgid "%s: Couldn't determine package-relative file name from path %s" +msgstr "%s: No s'ha pogut determinar el nom del document relatiu-a-paquet des del camí %s" + + +msgid "%s: Couldn't copy file %s to %s." +msgstr "%s: No s'ha pogut copiar el document %s a %s." + + +msgid "%s: Couldn't split UDIM pattern %s" +msgstr "%s: No s'ha pogut dividir el patró UDIM %s" + + +msgid "%s: Will not overwrite existing asset %s" +msgstr "%s: no se sobreescriurà el recurs existent %s" + + +msgid "%s: Can't resolve path %s" +msgstr "%s: no es pot resoldre el camí %s" + + +msgid "%s: Can't resolve path %s for writing" +msgstr "%s: No es pot resoldre el camí %s per a escriptura" + + +msgid "%s: Can't copy %s. The source and destination paths are the same" +msgstr "%s: no es pot copiar %s. Els camins d'origen i destinació són els mateixos" + + +msgid "%s: Can't write to asset %s. %s." +msgstr "%s: no es pot escriure al recurs %s. %s." + + +msgid "%s: Can't open source asset %s" +msgstr "%s: no es pot obrir el recurs d'origen %s" + + +msgid "%s: Will not copy zero size source asset %s" +msgstr "%s: no es copiarà el recurs d'origen de mida zero %s" + + +msgid "%s: Null buffer for source asset %s" +msgstr "%s: Memòria intermèdia nul·la per al recurs d'origen %s" + + +msgid "%s: Can't open destination asset %s for writing" +msgstr "%s: No es pot obrir el recurs de destinació %s per a escriptura" + + +msgid "%s: Error writing to destination asset %s" +msgstr "%s: s'ha produït un error en escriure al recurs de destinació %s" + + +msgid "%s: Couldn't close destination asset %s" +msgstr "%s: No s'ha pogut tancar el recurs de destinació %s" + + +msgid "%s: Texture import directory path empty, couldn't import %s" +msgstr "%s: el camí del directori d'importació de textures està buit, no s'ha pogut importar %s" + + +msgid "%s: import directory is relative but the blend file path is empty. Please save the blend file before importing the USD or provide an absolute import directory path. Can't import %s" +msgstr "%s: el directori d'importació és relatiu però el camí del document blend és buit. Deseu primer el document blend abans d'importar el USD o proporcioneu un directori d'importació absolut. No es pot importar %s" + + +msgid "%s: Couldn't create texture import directory %s" +msgstr "%s: No s'ha pogut crear el directori d'importació de textures %s" + + +msgid "USD Export: Unable to delete existing usdz file %s" +msgstr "Exportació USD: no s'ha pogut suprimir el document usdz existent %s" + + +msgid "USD Export: Couldn't move new usdz file from temporary location %s to %s" +msgstr "Exportació USD: No s'ha pogut moure el document USDz nou de la ubicació temporal %s a %s" + + +msgid "USD Export: unable to find suitable USD plugin to write %s" +msgstr "Exportació USD: no s'ha pogut trobar un connector USD adequat per a escriure %s" + + +msgid "Could not open USD archive for reading! See console for detail." +msgstr "No s'ha pogut obrir l'arxiu USD per a lectura! Vegeu la consola per més detalls." + + +msgid "USD Import: unable to open stage to read %s" +msgstr "Importació USD: no s'ha pogut obrir l'etapa per a llegir %s" + + +msgid "Unhandled Gprim type: %s (%s)" +msgstr "Tipus voraLdG no gestionat: %s (%s)" + + +msgid "USD Export: no bounds could be computed for %s" +msgstr "Exportació USD: no es poden calcular límits per a %s" + + +msgid "USD export: couldn't export in-memory texture to %s" +msgstr "Exportació USD: no s'ha pogut exportar la textura en memòria a %s" + + +msgid "USD export: couldn't copy texture tile from %s to %s" +msgstr "exportació USD: no s'ha pogut copiar la tesssel·la de textura de %s a %s" + + +msgid "USD export: couldn't copy texture from %s to %s" +msgstr "Exportació USD: no s'ha pogut copiar la textura de %s a %s" + + +msgid "USD Export: failed to resolve .vdb file for object: %s" +msgstr "Exportació USD: no s'ha pogut resoldre el document .vdb per a l'objecte: %s" + + +msgid "USD Export: couldn't construct relative file path for .vdb file, absolute path will be used instead" +msgstr "Exportació USD: no s'ha pogut construir el camí relatiu per al document .vdb, s'utilitzarà el camí absolut" + + +msgid "Override template experimental feature is disabled" +msgstr "El sobreseÏment experimental de plantilla està desactivat" + + +msgid "Unable to create override template for linked data-blocks" +msgstr "No s'ha pogut crear una plantilla de sobreseïment per a blocs de dades enllaçats" + + +msgid "Unable to create override template for overridden data-blocks" +msgstr "No s'ha pogut crear una plantilla de sobreseïment per a blocs de dades sobreseguts" + + +msgid "No new override property created, property already exists" +msgstr "No s'ha creat cap propietat nova de sobreseïment, la propietat ja existeix" + + +msgid "Override property cannot be removed" +msgstr "No es pot eliminar la propietat de sobreseïment" + + +msgid "No new override operation created, operation already exists" +msgstr "No s'ha creat cap operació de sobreseïment nova, l'operació ja existeix" + + +msgid "Override operation cannot be removed" +msgstr "No es pot eliminar l'operació de sobreseïment" + + +msgid "Index out of range" +msgstr "Índex fora de rang" + + +msgid "No material to removed" +msgstr "No hi ha material a eliminar" + + +msgid "Registering id property class: '%s' is too long, maximum length is %d" +msgstr "S'està registrant la classe de propietat id: '%s' és massa llarg, la longitud màxima és %d" + + +msgid "ID '%s' isn't an override" +msgstr "L'ID '%s' no és cap sobreseïment" + + +msgid "ID '%s' is linked, cannot edit its overrides" +msgstr "L'ID '%s' està enllaçat, no se'n poden editar els sobreseïments" + + +msgid "%s is not compatible with %s 'refresh' options" +msgstr "%s no és compatible amb les opcions «refrescar» de %s" + + +msgid "This property is for internal use only and can't be edited" +msgstr "Aquesta propietat només és per a ús intern i no es pot editar" + + +msgid "Can't edit this property from an override data-block" +msgstr "No es pot editar aquesta propietat des d'un bloc de dades de sobreseïment" + + +msgid "Can't edit this property from a system override data-block" +msgstr "No es pot editar aquesta propietat des d'un bloc de dades de sobreseïment del sistema" + + +msgid "Only boolean, int, float, and enum properties supported" +msgstr "Només es permeten propietats booleanes, d'enter, de flotant i d'enumeració" + + +msgid "Only boolean, int, and float properties supported" +msgstr "Només es permeten propietats booleanes, d'enter i de flotants" + + +msgid "'%s' does not contain '%s' with prefix and suffix" +msgstr "'%s' no conté '%s' amb prefix i sufix" + + +msgid "'%s' doesn't have upper case alpha-numeric prefix" +msgstr "'%s' no té prefix alfanumèric en majúscules" + + +msgid "'%s' doesn't have an alpha-numeric suffix" +msgstr "'%s' no té un sufix alfanumèric" + + +msgid "%s: expected %s type, not %s" +msgstr "%s: s'esperava el tipus %s, no el %s" + + +msgid "%s: expected ID type, not %s" +msgstr "%s: tipus d'ID esperat, no %s" + + +msgid "Array length mismatch (expected %d, got %d)" +msgstr "No quadra la longitud de la corrua (s'esperava %d, s'ha obtingut %d)" + + +msgid "Property named '%s' not found" +msgstr "No s'ha trobat la propietat anomenada '%s'" + + +msgid "Array length mismatch (got %d, expected more)" +msgstr "La longitud de la corrua no coincideix (s'ha obtingut %d, s'esperava més)" + + +msgid "F-Curve data path empty, invalid argument" +msgstr "El camí de dades de la Corba F està buit, argument no vàlid" + + +msgid "Action group '%s' not found in action '%s'" +msgstr "No s'ha trobat el grup d'acció '%s' a l'acció '%s'" + + +msgid "F-Curve '%s[%d]' already exists in action '%s'" +msgstr "La corba-F '%s[%d]' ja existeix a l'acció '%s'" + + +msgid "F-Curve's action group '%s' not found in action '%s'" +msgstr "No s'ha trobat el grup d'acció '%s' de la Corba F a l'acció '%s'" + + +msgid "F-Curve not found in action '%s'" +msgstr "No s'ha trobat la corba-F a l'acció '%s'" + + +msgid "Timeline marker '%s' not found in action '%s'" +msgstr "No s'ha trobat el cronograma '%s' a l'acció '%s'" + + +msgid "Only armature objects are supported" +msgstr "Només s'admeten objectes d'esquelet" + + +msgid "Keying set path could not be added" +msgstr "No s'ha pogut afegir el camí del joc de fites" + + +msgid "Keying set path could not be removed" +msgstr "No s'ha pogut eliminar el camí del joc de fites" + + +msgid "Keying set paths could not be removed" +msgstr "No s'han pogut eliminar els camins de joc de fites" + + +msgid "No valid driver data to create copy of" +msgstr "No hi ha dades vàlides del controlador per crear-ne una còpia" + + +msgid "Driver not found in this animation data" +msgstr "No s'ha trobat el controlador en aquestes dades d'animació" + + +msgid "%s '%s' is too long, maximum length is %d" +msgstr "%s '%s' és massa llarg, la longitud màxima és %d" + + +msgid "%s '%s', bl_idname '%s' %s" +msgstr "%s '%s', bl_idname '%s' %s" + + +msgid "NlaTrack '%s' cannot be removed" +msgstr "No es pot eliminar el PistaANL '%s'" + + +msgid "Driver '%s[%d]' already exists" +msgstr "El controlador '%s[%d]' ja existeix" + + +msgid "Invalid context for keying set" +msgstr "El context per al joc de fites no és vàlid" + + +msgid "Incomplete built-in keying set, appears to be missing type info" +msgstr "El joc de fites integrades no està complet, sembla que falta la informació del tipus" + + +msgid "Armature '%s' not in edit mode, cannot remove an editbone" +msgstr "L'esquelet '%s' no està en mode edició, no es pot eliminar un ós d'edició" + + +msgid "Armature '%s' does not contain bone '%s'" +msgstr "L'esquelet '%s' no conté l'os '%s'" + + +msgid "Tag '%s' already present for given asset" +msgstr "L'etiqueta '%s' ja és present per a un recurs donat" + + +msgid "Tag '%s' not found in given asset" +msgstr "No s'ha trobat l'etiqueta '%s' en el recurs donat" + + +msgid "Cannot modify name of required geometry attribute" +msgstr "No es pot modificar el nom de l'atribut de geometria requerit" + + +msgid "Attribute per point/vertex" +msgstr "Atribut per punt/vèrtex" + + +msgid "Layer '%s' not found in object '%s'" +msgstr "No s'ha trobat la capa '%s' a l'objecte '%s'" + + +msgid "Cannot add a layer to CacheFile '%s'" +msgstr "No es pot afegir una capa al document de memòria cau '%s'" + + +msgid "Background image cannot be removed" +msgstr "No es pot eliminar la imatge de rerefons" + + +msgid "Collection '%s' is not an original ID" +msgstr "La col·lecció '%s' no és un ID original" + + +msgid "Could not (un)link the object '%s' because the collection '%s' is overridden" +msgstr "No s'ha pogut (des)enllaçar l'objecte '%s' perquè la col·lecció '%s' està sobreseïda" + + +msgid "Could not (un)link the object '%s' because the collection '%s' is linked" +msgstr "No s'ha pogut (des)enllaçar l'objecte '%s' perquè la col·lecció '%s' està enllaçada" + + +msgid "Object '%s' already in collection '%s'" +msgstr "L'objecte '%s' ja és a la col·lecció '%s'" + + +msgid "Object '%s' not in collection '%s'" +msgstr "L'objecte '%s' no és a la col·lecció '%s'" + + +msgid "Could not (un)link the collection '%s' because the collection '%s' is overridden" +msgstr "No s'ha pogut (des)enllaçar la col·lecció '%s' perquè la col·lecció '%s' està sobreseïda" + + +msgid "Could not (un)link the collection '%s' because the collection '%s' is linked" +msgstr "No s'ha pogut (des)enllaçar la col·lecció '%s' perquè la col·lecció '%s' està enllaçada" + + +msgid "Collection '%s' already in collection '%s'" +msgstr "La col·lecció '%s' ja és a la col·lecció '%s'" + + +msgid "Collection '%s' not in collection '%s'" +msgstr "La col·lecció '%s' no és a la col·lecció '%s'" + + +msgid "Element not found in element collection or last element" +msgstr "No s'ha trobat l'element a la col·lecció d'elements o en l'últim element" + + +msgid "Unable to remove curve point" +msgstr "No s'ha pogut eliminar el punt de corba" + + +msgid "CurveMapping does not own CurveMap" +msgstr "MapejarCorba no és propietari de MapadeCorba" + + +msgid "Unable to add element to colorband (limit %d)" +msgstr "No s'ha pogut afegir l'element a la banda de color (límit %d)" + + +msgid "Relationship" +msgstr "Relació" + + +msgid "Target is not in the constraint target list" +msgstr "El referent no és a la llista de referents de restricció" + + +msgctxt "Action" +msgid "Easing (by strength)" +msgstr "Gradualitzar (per força)" + + +msgctxt "Action" +msgid "Dynamic Effects" +msgstr "Efectes dinàmics" + + +msgid "Bezier spline cannot have points added" +msgstr "No es poden afegir punts al spline de bezier" + + +msgid "Only Bezier splines can be added" +msgstr "Només es poden afegir splines bezier" + + +msgid "Curve '%s' does not contain spline given" +msgstr "La corba '%s' no conté el spline donat" + + +msgid "Unable to remove path point" +msgstr "No s'ha pogut eliminar el punt del camí" + + +msgid "CurveProfile table not initialized, call initialize()" +msgstr "No s'ha inicialitzat la taula PerfilCorba, cridar initialize()" + + +msgid "Dependency graph update requested during evaluation" +msgstr "S'ha sol·licitat l'actualització de la gràfica de dependència durant l'avaluació" + + +msgid "Variable does not exist in this driver" +msgstr "La variable no existeix en aquest controlador" + + +msgid "Keyframe not in F-Curve" +msgstr "El fotofita no és a la corba-F" + + +msgid "Control point not in Envelope F-Modifier" +msgstr "El punt de control no és al modificador-F funda" + + +msgid "F-Curve modifier '%s' not found in F-Curve" +msgstr "No s'ha trobat el modificador corba-F «%s» a la corba-F" + + +msgid "Already a control point at frame %.6f" +msgstr "Ja és un punt de control al fotograma %.6f" + + +msgid "FCurve has already sample points" +msgstr "La corba-F ja té punts de mostratge" + + +msgid "FCurve has no keyframes" +msgstr "La corba-F no té fotofites" + + +msgid "FCurve has already keyframes" +msgstr "La corba-F ja té fotofites" + + +msgid "FCurve has no sample points" +msgstr "La Corba-F no té punts de mostreig" + + +msgid "Invalid frame range (%d - %d)" +msgstr "Interval de fotogrames no vàlid (%d - %d)" + + +msgid "Binary Object" +msgstr "Objecte binari" + + +msgid "Binary object file format (.bobj.gz)" +msgstr "Format de document d'objecte binari (.bobj.gz)" + + +msgid "Object file format (.obj)" +msgstr "Format del document d'objecte (.obj)" + + +msgid "Uni Cache" +msgstr "Memòria cau d'uni" + + +msgid "Uni file format (.uni)" +msgstr "Format de document uni (.uni)" + + +msgid "OpenVDB" +msgstr "OpenVDB" + + +msgid "OpenVDB file format (.vdb)" +msgstr "Format de document OpenVDB (.vdb)" + + +msgid "Raw Cache" +msgstr "Memòria cau en brut" + + +msgid "Raw file format (.raw)" +msgstr "Format de document en brut (.raw)" + + +msgid "Uni file format" +msgstr "Format de document Uni" + + +msgid "Pressure field of the fluid domain" +msgstr "Camp de pressió del domini del fluid" + + +msgid "X Velocity" +msgstr "Velocitat X" + + +msgid "X component of the velocity field" +msgstr "Component X del camp de velocitat" + + +msgid "Y Velocity" +msgstr "Velocitat Y" + + +msgid "Y component of the velocity field" +msgstr "Component Y del camp de velocitat" + + +msgid "Z Velocity" +msgstr "Velocitat Z" + + +msgid "Z component of the velocity field" +msgstr "component Z del camp de velocitat" + + +msgid "X Force" +msgstr "Força X" + + +msgid "X component of the force field" +msgstr "Component X del camp de força" + + +msgid "Y Force" +msgstr "Força Y" + + +msgid "Y component of the force field" +msgstr "Component Y del camp de força" + + +msgid "Z Force" +msgstr "Força Z" + + +msgid "Z component of the force field" +msgstr "Component Z del camp de força" + + +msgid "Red component of the color field" +msgstr "Component vermell del camp de color" + + +msgid "Green component of the color field" +msgstr "Component verd del camp de color" + + +msgid "Blue component of the color field" +msgstr "Component blau del camp de color" + + +msgid "Quantity of soot in the fluid" +msgstr "Quantitat de sutge en el fluid" + + +msgid "Flame" +msgstr "Flama" + + +msgid "Flame field" +msgstr "Camp de flama" + + +msgid "Fuel field" +msgstr "Camp de combustible" + + +msgid "Temperature of the fluid" +msgstr "[Fuel field]: Temperatura del fluid" + + +msgid "Fluid Level Set" +msgstr "Joc de nivells del fluid" + + +msgid "Level set representation of the fluid" +msgstr "[Fluid Level Set]: Representació del fluid per conjunt de nivells" + + +msgid "Inflow Level Set" +msgstr "Joc de nivells d'influx" + + +msgid "Level set representation of the inflow" +msgstr "[Inflow Level Set]: Representació del conjunt de nivells per al fluxos d'entrada" + + +msgid "Outflow Level Set" +msgstr "Joc de nivells d'exflux" + + +msgid "Level set representation of the outflow" +msgstr "[Outflow Level Set]: Representació del conjunt de nivells per al fluxos de sortida" + + +msgid "Obstacle Level Set" +msgstr "Joc de nivells d'obstacle" + + +msgid "Level set representation of the obstacles" +msgstr "Representació de conjunt de nivells per als obstacles" + + +msgid "Mini" +msgstr "Mini" + + +msgid "Mini float (Use 8 bit where possible, otherwise use 16 bit)" +msgstr "Mini flotant (utilitza 8 bits quan és possible, altrament utilitza 16 bits)" + + +msgid "Emit fluid from mesh surface or volume" +msgstr "Emetre fluid des de la superfície de la malla o el volum" + + +msgid "Emit smoke from particles" +msgstr "Emetre fum des de partícules" + + +msgid "GPencilStrokePoints.pop: index out of range" +msgstr "GPencilStrokePoints.pop (expulsió de punts del traç de llapis de greix): índex fora de rang" + + +msgid "Groups: No groups for this stroke" +msgstr "Grups: No hi ha grups per a aquest traç" + + +msgid "GPencilStrokePoints: index out of range" +msgstr "GPencilStrokePoints (punts del traç de llapis de greix): índex fora de rang" + + +msgid "Stroke not found in grease pencil frame" +msgstr "No s'ha trobat el traç del fotograma del llapis de greix" + + +msgid "Frame not found in grease pencil layer" +msgstr "No s'ha trobat el fotograma a la capa de llapis de greix" + + +msgid "Layer not found in grease pencil data" +msgstr "No s'ha trobat la capa a les dades del llapis de greix" + + +msgid "Mask not found in mask list" +msgstr "No s'ha trobat la màscara a la llista de màscares" + + +msgid "Frame already exists on this frame number %d" +msgstr "El fotograma ja existeix en aquest fotograma número %d" + + +msgid "Modify" +msgstr "Modificar" + + +msgid "Cannot assign material '%s', it has to be used by the grease pencil object already" +msgstr "No es pot assignar material '%s', se l'ha d'utilitzar per part de l'objecte llapis de greix" + + +msgid "Image not packed" +msgstr "La imatge no està empaquetada" + + +msgid "Could not save packed file to disk as '%s'" +msgstr "No s'ha pogut desar el document empaquetat al disc com a '%s'" + + +msgid "Image '%s' could not be saved to '%s'" +msgstr "No s'ha pogut desar la imatge '%s' a '%s'" + + +msgid "Image '%s' does not have any image data" +msgstr "La imatge '%s' no té cap dada d'imatge" + + +msgid "Failed to load image texture '%s'" +msgstr "No s'ha pogut carregar la textura de la imatge '%s'" + + +msgctxt "Key" +msgid "Key" +msgstr "Fita" + + +msgid "ViewLayer '%s' does not contain object '%s'" +msgstr "La capa de visualització '%s' no conté l'objecte '%s'" + + +msgid "AOV not found in view-layer '%s'" +msgstr "No s'ha trobat el VEA a la capa de visualització '%s'" + + +msgid "Failed to add the color modifier" +msgstr "No s'ha pogut afegir el modificador de color" + + +msgid "Failed to add the alpha modifier" +msgstr "No s'ha pogut afegir el modificador alfa" + + +msgid "Failed to add the thickness modifier" +msgstr "No s'ha pogut afegir el modificador de gruix" + + +msgid "Failed to add the geometry modifier" +msgstr "No s'ha pogut afegir el modificador de geometria" + + +msgid "Color modifier '%s' could not be removed" +msgstr "No s'ha pogut suprimir el modificador de color '%s'" + + +msgid "Alpha modifier '%s' could not be removed" +msgstr "No s'ha pogut suprimir el modificador alfa '%s'" + + +msgid "Thickness modifier '%s' could not be removed" +msgstr "No s'ha pogut eliminar el modificador de gruix '%s'" + + +msgid "Geometry modifier '%s' could not be removed" +msgstr "No s'ha pogut eliminar el modificador de geometria '%s'" + + +msgid "unsupported font format" +msgstr "format de tipografia no suportat" + + +msgid "unable to load text" +msgstr "no s'ha pogut carregar el text" + + +msgid "unable to load movie clip" +msgstr "no s'ha pogut carregar el clip de pel·lícula" + + +msgid "Can not create object in main database with an evaluated data data-block" +msgstr "No es pot crear un objecte a la base de dades principal amb un bloc de dades de dades avaluades" + + +msgid "Object does not have geometry data" +msgstr "L'objecte no té dades de geometria" + + +msgid "%s '%s' is outside of main database and can not be removed from it" +msgstr "%s '%s' és fora de la base de dades principal i no se la'n pot treure" + + +msgid "%s '%s' must have zero users to be removed, found %d (try with do_unlink=True parameter)" +msgstr "%s '%s' ha de tenir zero usadors per ser eliminats, se n'han trobat %d (intenteu-ho amb el paràmetre do_unlink=True)" + + +msgid "Scene '%s' is the last local one, cannot be removed" +msgstr "L'escena '%s' és l'última local, no es pot eliminar" + + +msgid "ID type '%s' is not valid for an object" +msgstr "El tipus d'ID '%s' no és vàlid per a un objecte" + + +msgid "Mask layer not found for given spline" +msgstr "No s'ha trobat la capa màscara per al spline donat" + + +msgid "Point is not found in given spline" +msgstr "No s'ha trobat el punt al spline donat" + + +msgid "Mask layer '%s' not found in mask '%s'" +msgstr "No s'ha trobat la capa màscara '%s' a la màscara '%s'" + + +msgid "Mask layer '%s' does not contain spline given" +msgstr "La capa màscara '%s' no conté cap spline donat" + + +msgid "Mtex not found for this type" +msgstr "No s'ha trobat Mtex per a aquest tipus" + + +msgid "Maximum number of textures added %d" +msgstr "Nombre màxim de textures afegides %d" + + +msgid "Index %d is invalid" +msgstr "L'índex %d no és vàlid" + + +msgid "Currently only single face map layers are supported" +msgstr "Actualment només s'admeten capes de mapa de cares" + + +msgid "Face map not in mesh" +msgstr "El mapa de cares no està en malla" + + +msgid "Error removing face map" +msgstr "S'ha produït un error en eliminar el mapa de cares" + + +msgid "UV map '%s' not found" +msgstr "Mapa UV '%s' no trobat" + + +msgid "Number of custom normals is not number of loops (%f / %d)" +msgstr "El nombre de normals personalitzades no és el nombre de bucles (%f / %d)" + + +msgid "Number of custom normals is not number of vertices (%f / %d)" +msgstr "El nombre de normals personalitzades no és el nombre de vèrtexs (%f / %d)" + + +msgid "Metaball '%s' does not contain spline given" +msgstr "La metabola '%s' no conté el spline indicat" + + +msgid "Negative vertex index in vertex_indices_set" +msgstr "Índex de vèrtex negatiu al vertex_indices_set" + + +msgid "Duplicate index %d in vertex_indices_set" +msgstr "Duplicar l'índex %d en el vertex_indices_set (jo d'índexs de vèrtexs)" + + +msgid "Unable to create new strip" +msgstr "No s'ha pogut crear un nou segment" + + +msgid "Unable to add strip (the track does not have any space to accommodate this new strip)" +msgstr "No s'ha pogut afegir el segment (La pista la no té espai per acomodar aquest nou segment)" + + +msgid "NLA strip '%s' not found in track '%s'" +msgstr "El segment d'ANL '%s' no s'ha trobat a la pista '%s'" + + +msgid "CustomGroup" +msgstr "CustomGroup (Grup personalitzat)" + + +msgid "Custom Group Node" +msgstr "Node de grup personalitzat" + + +msgid "UNDEFINED" +msgstr "NO DEFINIT" + + +msgctxt "NodeTree" +msgid "Functions" +msgstr "Funcions" + + +msgctxt "NodeTree" +msgid "Comparison" +msgstr "Comparació" + + +msgctxt "NodeTree" +msgid "Rounding" +msgstr "Arrodoniment" + + +msgctxt "NodeTree" +msgid "Trigonometric" +msgstr "Trigonomètrica" + + +msgctxt "NodeTree" +msgid "Conversion" +msgstr "Conversió" + + +msgid "Same input/output direction of sockets" +msgstr "La mateixa direcció d'entrada/sortida dels borns" + + +msgid "Unable to locate link in node tree" +msgstr "No s'ha pogut localitzar l'enllaç en l'arbre de nodes" + + +msgid "Unable to create socket" +msgstr "No s'ha pogut crear el born" + + +msgid "Cannot add socket to built-in node" +msgstr "No es pot afegir el born al node integrat" + + +msgid "Unable to remove socket from built-in node" +msgstr "No s'ha pogut eliminar el born del node integrat" + + +msgid "Unable to remove sockets from built-in node" +msgstr "No s'han pogut eliminar els borns del node integrat" + + +msgid "Unable to move sockets in built-in node" +msgstr "No s'han pogut moure els borns en el node integrat" + + +msgid "%s '%s', bl_idname '%s' could not be unregistered" +msgstr "%s '%s', bl_idname '%s' no s'ha pogut desregistrar" + + +msgid "Node tree '%s' has undefined type %s" +msgstr "L'arbre de nodes '%s' té el tipus no definit %s" + + +msgid "Node type %s undefined" +msgstr "Tipus de node %s no definit" + + +msgid "" +"Cannot add node of type %s to node tree '%s'\n" +" %s" +msgstr "" +"No es pot afegir el node del tipus %s a l'arbre de nodes '%s'\n" +" %s" + + +msgid "Cannot add node of type %s to node tree '%s'" +msgstr "No es pot afegir el node de tipus %s a l'arbre de nodes '%s'" + + +msgid "Unable to locate node '%s' in node tree" +msgstr "No es pot localitzar el node '%s' en l'arbre de nodes" + + +msgid "Unable to locate socket '%s' in node" +msgstr "No s'ha pogut localitzar el born '%s' en el node" + + +msgid "Registering node socket class: '%s' is too long, maximum length is %d" +msgstr "Registrant classe de borns de node: '%s' és massa llarg, la longitud màxima és de %d" + + +msgid "Can only assign evaluated data to evaluated object, or original data to original object" +msgstr "Només es poden assignar dades avaluades a l'objecte avaluat, o dades originals a l'objecte original" + + +msgid "Only empty objects support collection instances" +msgstr "Només els objectes buits admeten instàncies de col·lecció" + + +msgid "Cannot set instance-collection as object belongs in collection being instanced, thus causing a cycle" +msgstr "No es pot establir la col·lecció d'instàncies com a objecte que pertanyi a la col·lecció que s'està instanciant, causant així un cicle" + + +msgid "VertexGroup.add(): cannot be called while object is in edit mode" +msgstr "VertexGroup.add() (afegir grup de vèrtex): no se'l pot cridar mentre l'objecte estigui en mode edició" + + +msgid "VertexGroup.remove(): cannot be called while object is in edit mode" +msgstr "VertexGroup.remove() (eliminar grup de vèrtexs): no se'l pot cridar mentre l'objecte estigui en mode edició" + + +msgid "Vertex not in group" +msgstr "El vèrtex no és al grup" + + +msgid "FaceMap.add(): cannot be called while object is in edit mode" +msgstr "FaceMap.add() (afegir mapa de cares): no se'l pot cridar mentre l'objecte estigui en mode edició" + + +msgid "VertexGroup '%s' not found in object '%s'" +msgstr "No s'ha trobat el VertexGroup (grup de vèrtexs) '%s' en l'objecte '%s'" + + +msgid "Constraint '%s' not found in object '%s'" +msgstr "No s'ha trobat la restricció '%s' en l'objecte '%s'" + + +msgid "Could not move constraint from index '%d' to '%d'" +msgstr "No s'ha pogut moure la restricció de l'índex '%d' a '%d'" + + +msgid "Invalid original modifier index '%d'" +msgstr "L'índex original de modificador '%d' no és vàlid" + + +msgid "Modifier \"%s\" is not in the object's modifier list" +msgstr "El modificador \"%s\" no és a la llista del modificador de l'objecte" + + +msgid "%s is not supported for '%s' objects" +msgstr "%s no és compatible amb objectes '%s'" + + +msgid "DeformGroup '%s' not in object '%s'" +msgstr "El DeformGroup (grup de deformació) '%s' no és a l'objecte '%s'" + + +msgid "Face map '%s' not in object '%s'" +msgstr "El mapa de cares '%s' no és a l'objecte '%s'" + + +msgid "Viewport not in local view" +msgstr "El mirador no és a la vista local" + + +msgid "Object is not a curve or a text" +msgstr "L'objecte no és una corba o un text" + + +msgid "Invalid depsgraph" +msgstr "Depsgraph (gràfica de dependència) no vàlida" + + +msgid "ShapeKey not found" +msgstr "No s'ha trobat la morfofita" + + +msgid "Could not remove ShapeKey" +msgstr "No s'ha pogut eliminar la morfofita" + + +msgid "Object should be of mesh type" +msgstr "L'objecte ha de ser de tipus malla" + + +msgid "No vertex groups assigned to mesh" +msgstr "No hi ha grups de vèrtex assignats a la malla" + + +msgid "Bad assignment mode" +msgstr "Mode d'assignació incorrecte" + + +msgid "Bad vertex index in list" +msgstr "Índex de vèrtex erroni a la llista" + + +msgid "Object '%s' can't be selected because it is not in View Layer '%s'!" +msgstr "No es pot seleccionar l'objecte '%s' perquè no és a la capa de visualització '%s'!" + + +msgid "Object '%s' can't be hidden because it is not in View Layer '%s'!" +msgstr "L'objecte '%s' no es pot ocultar perquè no és a la capa de visualització '%s'!" + + +msgid "Object %s not in view layer %s" +msgstr "L'objecte %s no és a la capa de visualització %s" + + +msgid "'to_space' '%s' is invalid when no pose bone is given!" +msgstr "«to_space» '%s' no és vàlid quan no es dona cap os de posa!" + + +msgid "'from_space' '%s' is invalid when no custom space is given!" +msgstr "«from_space» '%s' no és vàlid quan no s'indica cap espai personalitzat!" + + +msgid "'to_space' '%s' is invalid when no custom space is given!" +msgstr "«to_space» '%s' no és vàlid quan no s'indica cap espai personalitzat!" + + +msgid "Object '%s' does not support shapes" +msgstr "L'objecte '%s' no admet formes" + + +msgid "Object '%s' has no evaluated mesh data" +msgstr "L'objecte '%s' no té dades de malla avaluades" + + +msgid "Object '%s' could not create internal data for finding nearest point" +msgstr "L'objecte '%s' no ha pogut crear dades internes per trobar el punt més proper" + + +msgid "Object '%s' is not valid for this operation! Only curves are supported" +msgstr "L'objecte '%s' no és vàlid per aquesta operació! Només s'admeten corbes" + + +msgid "Palette '%s' does not contain color given" +msgstr "La paleta '%s' no conté el color indicat" + + +msgid "Invalid target!" +msgstr "Referent no vàlid!" + + +msgid "uv_on_emitter() requires a modifier from an evaluated object" +msgstr "uv_on_emitter() requereix un modificador d'un objecte avaluat" + + +msgid "Mesh has no UV data" +msgstr "La malla no té dades UV" + + +msgid "Object was not yet evaluated" +msgstr "L'objecte encara no s'ha avaluat" + + +msgid "Mesh has no VCol data" +msgstr "La malla no té dades de ColV" + + +msgctxt "Armature" +msgid "Group" +msgstr "Grup" + + +msgid "Bone group '%s' not found in this object" +msgstr "No s'ha trobat el grup d'ossos '%s' en aquest objecte" + + +msgid "Constraint '%s' not found in pose bone '%s'" +msgstr "No s'ha trobat la restricció '%s' a l'os de posa '%s'" + + +msgid "Bone '%s' is not a B-Bone!" +msgstr "L'os '%s' no és un os-D!" + + +msgid "Bone '%s' has out of date B-Bone segment data!" +msgstr "L'os '%s' té dades de segment d'os-D obsoletes!" + + +msgid "Invalid index %d for B-Bone segments of '%s'!" +msgstr "L'índex %d no és vàlid per a segments d'os-D de '%s'!" + + +msgid "A non convex collision shape was passed to the function, use only convex collision shapes" +msgstr "Es va passar una forma de col·lisió no convexa a la funció, utilitzeu només formes de col·lisió convexes" + + +msgid "Rigidbody world was not properly initialized, need to step the simulation first" +msgstr "El món de cos rígid no s'ha inicialitzat correctament, primer cal general els passos de la simulació" + + +msgid "Use the scene orientation" +msgstr "Usar l'orientació d'escena" + + +msgid "Keying set could not be added" +msgstr "No s'ha pogut afegir el joc de fites" + + +msgid "Style module could not be removed" +msgstr "No s'ha pogut eliminar el mòdul d'estil" + + +msgid "View Layer '%s' not found in scene '%s'" +msgstr "No s'ha trobat la capa de visualització '%s' a l'escena '%s'" + + +msgid "Render view '%s' could not be removed from scene '%s'" +msgstr "No s'ha pogut eliminar la visualització de revelat '%s' de l'escena '%s'" + + +msgid "Timeline marker '%s' not found in scene '%s'" +msgstr "El marcador de cronograma '%s' no s'ha trobat en l'escena '%s'" + + +msgid "Line set '%s' could not be removed" +msgstr "No s'ha pogut eliminar el joc de línies '%s'" + + +msgid "Style module '%s' could not be removed" +msgstr "No s'ha pogut eliminar el mòdul d'estil '%s'" + + +msgid "Sequence type must be 'META'" +msgstr "El tipus de seqüència ha de ser «META»" + + +msgid "Sequence type does not support modifiers" +msgstr "El tipus de seqüència no admet modificadors" + + +msgid "Modifier was not found in the stack" +msgstr "No s'ha trobat el modificador a l'estiba" + + +msgid "Recursion detected, can not use this strip" +msgstr "S'ha detectat recursivitat, no es pot utilitzar aquest segment" + + +msgid "Sequences.new_sound: unable to open sound file" +msgstr "Sequences.new_sound: no s'ha pogut obrir el document de so" + + +msgid "Blender compiled without Audaspace support" +msgstr "Blender compilat sense suport d'Audaspace" + + +msgid "Sequences.new_effect: end frame not set" +msgstr "Sequences.new_effect: el fotograma final no està definit" + + +msgid "Sequences.new_effect: effect takes 1 input sequence" +msgstr "Sequences.new_effect: l'efecte pren 1 seqüència d'ingressió" + + +msgid "Sequences.new_effect: effect takes 2 input sequences" +msgstr "Sequences.new_effect: l'efecte pren 2 seqüències d'ingressió" + + +msgid "Sequences.new_effect: effect takes 3 input sequences" +msgstr "Sequences.new_effect: l'efecte pren 3 seqüències d'ingressió" + + +msgid "SequenceElements.pop: cannot pop the last element" +msgstr "SequenceElements.pop: no es pot «projectar» de l'últim element" + + +msgid "SequenceElements.pop: index out of range" +msgstr "SequenceElements.pop: l'índex està fora del rang" + + +msgid "Sequences.new_effect: effect expects more than 3 inputs (%d, should never happen!)" +msgstr "Sequences.new_effect: l’efecte espera més de 3 ingressions (%d, no hauria de passar mai)" + + +msgid "Sequence '%s' not in scene '%s'" +msgstr "La seqüència '%s' no és a l'escena '%s'" + + +msgid "Sound not packed" +msgstr "El so no està empaquetat" + + +msgid "Scripting" +msgstr "Protocols" + + +msgid "'show_locked_time' is not supported for the '%s' editor" +msgstr "«show_locked_time» no és compatible amb l'editor '%s'" + + +msgid "Track '%s' is not found in the tracking object %s" +msgstr "No s'ha trobat el rastre '%s' en l'objecte de tràveling %s" + + +msgid "Plane track '%s' is not found in the tracking object %s" +msgstr "No s'ha trobat el rastre de pla '%s' a l'objecte de tràveling %s" + + +msgid "MovieTracking '%s' cannot be removed" +msgstr "El vídeotràveling '%s' no es pot eliminar" + + +msgid "Region not found in space type" +msgstr "No s'ha trobat la regió en el tipus d'espai" + + +msgid "%s parent '%s' for '%s' not found" +msgstr "No s'ha trobat el pare %s '%s' per a '%s'" + + +msgid "Add-on is no longer valid" +msgstr "El complement ja no és vàlid" + + +msgid "Excluded path is no longer valid" +msgstr "El camí exclòs ja no és vàlid" + + +msgid "Font not packed" +msgstr "Tipografia no empaquetada" + + +msgid "Could not find grid with name %s" +msgstr "No s'ha pogut trobar la graella amb el nom %s" + + +msgid "Not a non-modal keymap" +msgstr "No és un teclari no modal" + + +msgid "Can not mix modal/non-modal items" +msgstr "No es poden barrejar elements modal/no modal" + + +msgid "Not a modal keymap" +msgstr "No és un teclari modal" + + +msgid "Property value not in enumeration" +msgstr "El valor de la propietat no és a l'enumeració" + + +msgid "Not running with '--enable-event-simulate' enabled" +msgstr "No s'està executant amb «--enable-event-simulate» habilitat" + + +msgid "Value: only 'PRESS/RELEASE/NOTHING' are supported" +msgstr "Valor: només se suporten «PITJAR/AMOLLAR/RES»" + + +msgid "Value: must be 'PRESS/RELEASE' for keyboard/buttons" +msgstr "Valor: ha de ser «PITJAR/AMOLLAR» per a teclat/botons" + + +msgid "Value: must be 'NOTHING' for motion" +msgstr "Valor: ha de ser «RES» per al moviment" + + +msgid "Value: must be 'PRESS' when unicode is set" +msgstr "Valor: ha de ser «PITJAR» quan s'estableix unicode" + + +msgid "Only a single character supported" +msgstr "Només se suporta un sol caràcter" + + +msgid "Gizmo group type '%s' not found!" +msgstr "No s'ha trobat el tipus de grup Flòstic '%s'!" + + +msgid "Gizmo group '%s' has 'PERSISTENT' option set!" +msgstr "El grup de flòstics '%s' té l'opció «PERSISTENT» establerta!" + + +msgid "KeyMapItem '%s' cannot be removed from '%s'" +msgstr "No es pot eliminar l'element de teclari (KeyMapItem) '%s' des de '%s'" + + +msgid "Modal key-maps not supported for add-on key-config" +msgstr "No s'admeten els teclaris modals en el complement de configuració de teclat" + + +msgid "KeyConfig '%s' cannot be removed" +msgstr "No es pot eliminar el la configuració de tecles (KeyConfig) '%s'" + + +msgid "GizmoType '%s' not known" +msgstr "No es coneix el tipus de flòstic (GizmoType) '%s'" + + +msgid "GizmoType '%s' is for a 3D gizmo-group. The 'draw_select' callback is set where only 'test_select' will be used" +msgstr "El tipus de flòstic (GizmoType) '%s' és per a un grup de flòstics 3D. La recrida «draw_select» està establerta on només s'utilitzarà «test_select»" + + +msgid "%s area type does not support gizmos" +msgstr "El tipus d'àrea %s no és compatible amb flòstics" + + +msgid "Gizmo target property '%s.%s' not found" +msgstr "No s'ha trobat la propietat de referència del flòstic '%s.%s'" + + +msgid "Property '%s.%s' not found" +msgstr "No s'ha trobat la propietat '%s.%s'" + + +msgid "Gizmo target '%s.%s' expects '%s', '%s.%s' is '%s'" +msgstr "El referent del flòstic '%s.%s' espera '%s', '%s.%s' és '%s'" + + +msgid "Gizmo target property '%s.%s' expects an array of length %d, found %d" +msgstr "La propietat del referent del flòstic '%s.%s' espera una corrua de longitud %d, s'ha trobat %d" + + +msgid "Gizmo target property '%s.%s' expects an array of length %d" +msgstr "La propietat de referent del flòstic '%s.%s' espera una corrua de longitud %d" + + +msgid "Gizmo target property '%s.%s', index %d must be below %d" +msgstr "Propietat de referent del flòstic '%s.%s', l'índex %d ha d'estar per sota de %d" + + +msgid "%s '%s'" +msgstr "%s '%s'" + + +msgid "wmOwnerID '%s' not in workspace '%s'" +msgstr "wmOwnerID '%s' no és a l'obrador '%s'" + + +msgid "Operator '%s' not found!" +msgstr "No s'ha trobat l'operador '%s'!" + + +msgid "Gizmo group '%s' not found!" +msgstr "No s'ha trobat el grup de flòstics '%s'!" + + +msgid "ActionMapBinding '%s' cannot be removed from '%s'" +msgstr "El mapa d'acció d'articulacions (ActionMapBinding) '%s' no es pot eliminar des de '%s'" + + +msgid "ActionMapItem '%s' cannot be removed from '%s'" +msgstr "L'element del mapa d'acció (ActionMapItem) '%s' no es pot eliminar des de '%s'" + + +msgid "ActionMap '%s' cannot be removed" +msgstr "El mapa d'acció (ActionMap) '%s' no es pot eliminar" + + +msgid "First and Last Copies" +msgstr "Primera i última còpia" + + +msgid "Offset U" +msgstr "Desplaçament U" + + +msgid "Cap Start" +msgstr "Recobrir inici" + + +msgid "The offset is too small, we cannot generate the amount of geometry it would require" +msgstr "El desplaçament és massa petit, no podem generar la quantitat de geometria que es requeriria" + + +msgid "The amount of copies is too high, we cannot generate the amount of geometry it would require" +msgstr "La quantitat de còpies és massa alta, no podem generar la quantitat de geometria que es requeriria" + + +msgid "Enable 'Auto Smooth' in Object Data Properties" +msgstr "Habilitar «Autosuavitzar a les propietats de dades d'objecte" + + +msgid "Cannot execute, intersect only available using exact solver" +msgstr "No es pot executar, intersecció només disponible usant el resolutor exacte" + + +msgid "Cannot execute, fast solver and empty collection" +msgstr "No es pot executar, resolutor ràpid i col·lecció buida" + + +msgid "Cannot execute, the selected collection contains non mesh objects" +msgstr "No es pot executar, la col·lecció seleccionada conté objectes que no són malla" + + +msgid "Cannot execute boolean operation" +msgstr "No es pot executar l'operació booleana" + + +msgid "Solver Options" +msgstr "Opcions del resolutor" + + +msgid "Settings are inside the Physics tab" +msgstr "La configuració està dins de la pestanya de Física" + + +msgid "Unbind" +msgstr "Desvincular" + + +msgid "Bind" +msgstr "Vincular" + + +msgid "CorrectiveSmooth" +msgstr "Suavitzat correctiu (CorrectiveSmooth)" + + +msgid "Attempt to bind from inactive dependency graph" +msgstr "Intenteu de vinculara des d'una gràfica de dependència inactiva" + + +msgid "Bind data required" +msgstr "Calen dades de vinculació" + + +msgid "Bind vertex count mismatch: %u to %u" +msgstr "El recompte de vèrtexs de vinculació no quadra: %u a %u" + + +msgid "Object is not a mesh" +msgstr "L'objecte no és una malla" + + +msgid "Original vertex count mismatch: %u to %u" +msgstr "El recompte original de vèrtexs no quadra: %u a %u" + + +msgid "Curve Object" +msgstr "Objecte corba" + + +msgid "Generate Data Layers" +msgstr "Generar capes de dades" + + +msgid "Layer Selection" +msgstr "Selecció de capa" + + +msgid "Layer Mapping" +msgstr "Mapejat de capa" + + +msgid "DataTransfer" +msgstr "Transferència de dades" + + +msgid "Topology Mapping" +msgstr "Mapejat de topologia" + + +msgid "Face Count: %d" +msgstr "Recompte de cares: %d" + + +msgid "Modifier requires more than 3 input faces" +msgstr "El modificador requereix més de 3 cares d'ingressió" + + +msgid "EdgeSplit" +msgstr "Dividir arestes (EdgeSplit)" + + +msgid "Refresh" +msgstr "Refrescar" + + +msgid "Recenter" +msgstr "Recentrar" + + +msgid "LaplacianDeform" +msgstr "Deformació laplaciana (LaplacianDeform)" + + +msgid "Vertices changed from %d to %d" +msgstr "S'han canviat els vèrtexs de %d a %d" + + +msgid "Edges changed from %d to %d" +msgstr "S'han canviat les arestes de %d a %d" + + +msgid "Vertex group '%s' is not valid, or maybe empty" +msgstr "El grup de vèrtexs '%s' no és vàlid, o potser està buit" + + +msgid "The system did not find a solution" +msgstr "El sistema no ha trobat una solució" + + +msgid "LaplacianSmooth" +msgstr "Suavitzat laplacià (LaplacianSmooth)" + + +msgid "Compiled without OpenVDB" +msgstr "Compilat sense OpenVDB" + + +msgid "MeshCache" +msgstr "Cau de malla (MeshCache)" + + +msgid "'Integrate' only valid for Mesh objects" +msgstr "«Integrate» només és vàlid per a objectes malla" + + +msgid "'Integrate' original mesh vertex mismatch" +msgstr "No quadren els vèrtexs originals de la malla per «Integrate»" + + +msgid "'Integrate' requires faces" +msgstr "«Integrate» requereix cares" + + +msgid "Time Remapping" +msgstr "Remapejat de temps" + + +msgid "Axis Mapping" +msgstr "Mapejat d'eixos" + + +msgid "MeshDeform" +msgstr "Deformació de malla (MeshDeform)" + + +msgid "Cannot get mesh from cage object" +msgstr "No s'ha pogut obtenir la malla des de l'objecte gàbia" + + +msgid "Cage vertices changed from %d to %d" +msgstr "Els vèrtexs de la gàbia han canviat de %d a %d" + + +msgid "Bind data missing" +msgstr "Falten dades de vinculació" + + +msgid "MeshSequenceCache" +msgstr "Cau de següència de malla (MeshSequenceCache)" + + +msgid "Could not create reader for file %s" +msgstr "No s'ha pogut crear lector per al document %s" + + +msgid "Bisect" +msgstr "Biseccionar" + + +msgid "Flip UDIM" +msgstr "Invertir l'UDIM" + + +msgid "Level Viewport" +msgstr "Nivell de mirador" + + +msgid "Unsubdivide" +msgstr "Dessubdividir" + + +msgid "Delete Higher" +msgstr "Suprimir més alt" + + +msgid "Reshape" +msgstr "Recompondre" + + +msgid "Apply Base" +msgstr "Aplicar base" + + +msgid "Rebuild Subdivisions" +msgstr "Reconstruir subdivisions" + + +msgid "Pack External" +msgstr "Empaquetar externament" + + +msgid "Save External..." +msgstr "Desar externament..." + + +msgid "Multires" +msgstr "Multires" + + +msgid "Disabled, built without OpenSubdiv" +msgstr "Desactivat, construït sense OpenSubdiv" + + +msgid "No named attributes used" +msgstr "No s'han utilitzat atributs amb nom" + + +msgid "No group output attributes connected" +msgstr "Sense atributs de sortida connectats al grup" + + +msgid "Output Attributes" +msgstr "Atributs de sortida" + + +msgid "Internal Dependencies" +msgstr "Dependències internes" + + +msgid "Missing property for input socket \"%s\"" +msgstr "Falta la propietat per al born d'entrada \"%s\"" + + +msgid "Property type does not match input socket \"(%s)\"" +msgstr "El tipus de propietat no coincideix amb el born d'entrada «(%s)»" + + +msgid "Node group's geometry input must be the first" +msgstr "L'entrada de geometria del grup de nodes ha de ser la primera" + + +msgid "Node group must have a group output node" +msgstr "El grup nodes ha de tenir un node de sortida de grup" + + +msgid "Node group must have an output socket" +msgstr "El grup de nodes ha de tenir un born de sortida" + + +msgid "Node group's first output must be a geometry" +msgstr "La primera sortida del grup de nodes ha de ser una geometria" + + +msgid "Cannot evaluate node group" +msgstr "No es pot avaluar el grup de nodes" + + +msgid "NormalEdit" +msgstr "Edició de normals (NormalEdit)" + + +msgid "Invalid target settings" +msgstr "Paràmetres de referència no vàlids" + + +msgid "Coverage" +msgstr "Cobertura" + + +msgid "Delete Bake" +msgstr "Suprimir precuinat" + + +msgid "Built without Ocean modifier" +msgstr "Construït sense modificador Oceà" + + +msgctxt "Mesh" +msgid "Spray" +msgstr "Esprai" + + +msgid "Failed to allocate memory" +msgstr "No s'ha pogut assignar memòria" + + +msgid "Create Instances" +msgstr "Crear instàncies" + + +msgid "Coordinate Space" +msgstr "Espai de coordenades" + + +msgid "Create Along Paths" +msgstr "Crear seguint camins" + + +msgid "ParticleInstance" +msgstr "Instància de partícula (ParticleInstance)" + + +msgid "Settings are in the particle tab" +msgstr "Els paràmetres estan a la pestanya de partícula" + + +msgctxt "Operator" +msgid "Convert to Mesh" +msgstr "Convertir a malla" + + +msgid "Built without Remesh modifier" +msgstr "Construït sense modificador Remallar" + + +msgid "Axis Object" +msgstr "Objecte eix" + + +msgid "Steps Viewport" +msgstr "Passos en mirador" + + +msgid "Stretch UVs" +msgstr "Estirar UVs" + + +msgid "SimpleDeform" +msgstr "Deformació simple (SimpleDeform)" + + +msgid "Create Armature" +msgstr "Crear esquelet" + + +msgid "Mark Loose" +msgstr "Marcar com a solt" + + +msgid "Clear Loose" +msgstr "Descartar solt" + + +msgid "Mark Root" +msgstr "Marcar com a arrel" + + +msgid "Equalize Radii" +msgstr "Equalitzar radis" + + +msgid "No valid root vertex found (you need one per mesh island you want to skin)" +msgstr "No s'ha trobat cap vèrtex arrel vàlid (en necessiteu un per illa de malla que vulgueu fer pell)" + + +msgid "Hull error" +msgstr "Error de closca" + + +msgid "Crease Inner" +msgstr "Doblegar endins" + + +msgid "Outer" +msgstr "Enfora" + + +msgid "Shell" +msgstr "Buidar" + + +msgctxt "Mesh" +msgid "Rim" +msgstr "Vorada" + + +msgid "Thickness Clamp" +msgstr "Constrenyir gruix" + + +msgid "Output Vertex Groups" +msgstr "Grups de vèrtex d'egressió" + + +msgid "Internal Error: edges array wrong size: %u instead of %u" +msgstr "Error intern: la corrua d'arestes té una mida incorrecta: %u en lloc de %u" + + +msgid "Internal Error: polys array wrong size: %u instead of %u" +msgstr "Error intern: la corrua de polis té una mida incorrecta: %u en lloc de %u" + + +msgid "Internal Error: loops array wrong size: %u instead of %u" +msgstr "Error intern: la corrua de bucles té una mida incorrecta: %u en lloc de %u" + + +msgid "Adaptive Subdivision" +msgstr "Subdivisió adaptativa" + + +msgid "Levels Viewport" +msgstr "Nivells de mirador" + + +msgid "Final Scale: Render %.2f px, Viewport %.2f px" +msgstr "Escala final: revela %.2f px, àrea de visualització %.2f px" + + +msgid "SurfaceDeform" +msgstr "Deformació de superfície (SurfaceDeform)" + + +msgid "Out of memory" +msgstr "Memòria exhaurida" + + +msgid "Target has edges with more than two polygons" +msgstr "El referent té arestes amb més de dos polígons" + + +msgid "Target contains concave polygons" +msgstr "El referent conté polígons còncaus" + + +msgid "Target contains overlapping vertices" +msgstr "El referent conté vèrtexs superposats" + + +msgid "Target contains invalid polygons" +msgstr "El referent conté polígons no vàlids" + + +msgid "No vertices were bound" +msgstr "No s'han lligat vèrtexs" + + +msgid "No valid target mesh" +msgstr "Referent malla no vàlid" + + +msgid "Attempt to unbind from inactive dependency graph" +msgstr "Intent de desvincular de gràfica de dependència inactiva" + + +msgid "Vertices changed from %u to %u" +msgstr "Els vèrtexs han canviat de %u a %u" + + +msgid "Target polygons changed from %u to %u" +msgstr "Els polígons referents han canviat de %u a %u" + + +msgid "Target vertices changed from %u to %u" +msgstr "Els vèrtexs referents han canviat de %u a %u" + + +msgid "This modifier can only deform filled curve/surface, not the control points" +msgstr "Aquest modificador només pot deformar la corbes/superfícies emplenades, no els punts de control" + + +msgid "This modifier can only deform control points, not the filled curve/surface" +msgstr "Aquest modificador només pot deformar punts de control, no la corba/superfície emplenats" + + +msgctxt "Operator" +msgid "Apply as Shape Key" +msgstr "Aplicar com a morfofita" + + +msgctxt "Operator" +msgid "Save as Shape Key" +msgstr "Desar com a morfofita" + + +msgid "UVProject" +msgstr "Projectar UV (UVProject)" + + +msgid "Axis U" +msgstr "Eix U" + + +msgid "UVWarp" +msgstr "Aberrar UV (UVWarp)" + + +msgid "Cannot find '%s' grid" +msgstr "No es troba la graella '%s'" + + +msgid "Could not generate mesh from grid" +msgstr "No s'ha pogut generar la malla des de la graella" + + +msgid "Motion" +msgstr "Moviment" + + +msgid "Along Normals" +msgstr "Seguint normals" + + +msgid "Life" +msgstr "Vida" + + +msgid "Start Position" +msgstr "Posició inicial" + + +msgid "WeightedNormal" +msgstr "Normal amb pesos (WeightedNormal)" + + +msgid "Global Influence:" +msgstr "Influència global:" + + +msgid "VertexWeightEdit" +msgstr "Editar pesos de vèrtexs (VertexWeightEdit)" + + +msgid "VertexWeightMix" +msgstr "Mesclar pesos de vèrtexs (VertexWeightMix)" + + +msgid "VertexWeightProximity" +msgstr "Proximitat pesos de vèrtex (VertexWeightProximity)" + + +msgid "Replace Original" +msgstr "Substituir original" + + +msgid "Crease Edges" +msgstr "Doblegar arestes" + + +msgid "Not a compositor node tree" +msgstr "No és un arbre de nodes de compositador" + + +msgid "Fac" +msgstr "Fac" + + +msgid "Determinator" +msgstr "Determinador" + + +msgid "Color Space:" +msgstr "Espai de color:" + + +msgid "Key Channel:" +msgstr "Canal de fites:" + + +msgid "Limiting Channel:" +msgstr "Canal límitador:" + + +msgid "Key Color" +msgstr "Color de fita" + + +msgid "Despill Channel:" +msgstr "Canal de desabocament:" + + +msgid "Master" +msgstr "Capità" + + +msgid "Highlights" +msgstr "Ressaltats" + + +msgid "Midtones" +msgstr "Migtons" + + +msgid "Node not supported in the Viewport compositor" +msgstr "Node no admès al compositador del mirador" + + +msgid "Upper Left" +msgstr "Superior esquerra" + + +msgid "Upper Right" +msgstr "Superior dreta" + + +msgid "Lower Left" +msgstr "Inferior esquerra" + + +msgid "Lower Right" +msgstr "Inferior dreta" + + +msgid "The node tree must be the compositing node tree of any scene in the file" +msgstr "L'arbre de nodes ha de ser l'arbre de nodes de compositació de qualsevol escena del document" + + +msgid "Pick" +msgstr "Triar" + + +msgid "Bokeh Type:" +msgstr "Tipus de Bokeh:" + + +msgid "Disabled, built without OpenImageDenoise" +msgstr "Desactivat, construït sense desorollador d'OpenImage (OpenImageDenoise)" + + +msgid "Disabled, CPU with SSE4.1 is required" +msgstr "Desactivat, es requereix CPU amb SSE4.1" + + +msgid "Prefilter:" +msgstr "Prefiltrar:" + + +msgid "Image 1" +msgstr "Imatge 1" + + +msgid "Image 2" +msgstr "Imatge 2" + + +msgid "Center:" +msgstr "Centre:" + + +msgid "Inner Edge:" +msgstr "Vora interior:" + + +msgid "Buffer Edge:" +msgstr "Vora de seguretat:" + + +msgid "Inner Mask" +msgstr "Màscara interior" + + +msgid "Outer Mask" +msgstr "Màscara exterior" + + +msgid "ID value" +msgstr "Valor ID" + + +msgid "Render passes not supported in the Viewport compositor" +msgstr "No s'admeten passades de revelat al compositador del mirador" + + +msgid "Garbage Matte" +msgstr "Clapa de brossa" + + +msgid "Core Matte" +msgstr "Clapa nucli" + + +msgid "Dispersion" +msgstr "Dispersió" + + +msgid "Std Dev" +msgstr "DesvEst" + + +msgid "From Min" +msgstr "Des del mín" + + +msgid "From Max" +msgstr "Des del màx" + + +msgid "To Min" +msgstr "Al mín" + + +msgid "To Max" +msgstr "Al màx" + + +msgid "Offset Y" +msgstr "Desplaçament Y" + + +msgid "Undistortion" +msgstr "Desdistorsió" + + +msgid "Dot" +msgstr "Punt" + + +msgid "Path:" +msgstr "Camí:" + + +msgid "Base Path:" +msgstr "Camí base:" + + +msgid "Add Input" +msgstr "Afegir ingressió" + + +msgid "File Subpath:" +msgstr "Subcamí de document:" + + +msgid "Format:" +msgstr "Format:" + + +msgid "Degr" +msgstr "Degr" + + +msgid "Cb" +msgstr "Cb" + + +msgid "Cr" +msgstr "Cr" + + +msgid "On" +msgstr "Activat" + + +msgid "Val" +msgstr "Val" + + +msgid "Speed:" +msgstr "Velocitat:" + + +msgid "Not a geometry node tree" +msgstr "No és un arbre de nodes de geometria" + + +msgid "Line Break" +msgstr "Salt de línia" + + +msgid "The string to find in the input string" +msgstr "La cadena a cercar a la cadena d'ingressió" + + +msgid "The string to replace each match with" +msgstr "La cadena amb què reemplaçar cada coincidència" + + +msgid "Rotate By" +msgstr "Rotar per" + + +msgid "Decimals" +msgstr "Decimals" + + +msgid "Geometry Node Editor" +msgstr "Editor de nodes de geometria" + + +msgid "Leading" +msgstr "Orientació" + + +msgid "Trailing" +msgstr "Rastreig" + + +msgid "Group ID" +msgstr "ID de Grup" + + +msgid "An index used to group values together for multiple separate accumulations" +msgstr "Un índex utilitzat per agrupar valors per a acumulacions múltiples separades" + + +msgid "The attribute output can not be used without the geometry output" +msgstr "L'egressió d'atributs no es pot utilitzar sense l'egressió de geometria" + + +msgid "Sum" +msgstr "Suma" + + +msgid "Standard Deviation" +msgstr "Desviació estàndard" + + +msgid "Variance" +msgstr "Variància" + + +msgid "How many times to blur the values for all elements" +msgstr "Quantes vegades s'han de difuminar els valors per a tots els elements" + + +msgid "Relative mix weight of neighboring elements" +msgstr "Pes de mescla relatiu dels elements veïns" + + +msgid "Disabled, Blender was compiled without GMP" +msgstr "Desactivat, Blender ha estat compilat sense GMP" + + +msgid "Mesh 1" +msgstr "Malla 1" + + +msgid "Mesh 2" +msgstr "Malla 2" + + +msgid "Intersecting Edges" +msgstr "Arestes intersecants" + + +msgid "Separate Children" +msgstr "Separar fills" + + +msgid "Output each child of the collection as a separate instance, sorted alphabetically" +msgstr "[Separate Children]: Egressa cada fill de la col·lecció com una instància separada, ordenada alfabèticament" + + +msgid "Reset Children" +msgstr "Reiniciar fills" + + +msgid "Reset the transforms of every child instance in the output. Only used when Separate Children is enabled" +msgstr "[Reset Children]: Restableix les transformacions de cada instància fill a la sortida. Només s'utilitza quan s'habilita rSepara els fills" + + +msgid "Disabled, Blender was compiled without Bullet" +msgstr "Desactivat, el Blender s'ha compilat sense Bullet" + + +msgid "Start Size" +msgstr "Mida inicial" + + +msgid "The amount of points to select from the start of each spline" +msgstr "[Start Size]: La quantitat de punts a seleccionar des del començament de cada spline" + + +msgid "End Size" +msgstr "Mida final" + + +msgid "The amount of points to select from the end of each spline" +msgstr "La quantitat de punts a seleccionar des del final de cada spline" + + +msgid "The selection from the start and end of the splines based on the input sizes" +msgstr "La selecció des de l'inici i final dels splines basant-se en les mides d'ingressió" + + +msgid "Limit Radius" +msgstr "Limitar radi" + + +msgid "Limit the maximum value of the radius in order to avoid overlapping fillets" +msgstr "[Limit Radius]: Limita el valor màxim del radi per tal d'evitar els emplenats superposats" + + +msgid "The number of points on the arc" +msgstr "El nombre de punts de l'arc" + + +msgid "Position of the first control point" +msgstr "Posició del primer punt de control" + + +msgid "Position of the middle control point" +msgstr "Posició del punt de control del mig" + + +msgid "Position of the last control point" +msgstr "Posició de l'últim punt de control" + + +msgid "Distance of the points from the origin" +msgstr "Distància dels punts des de l'origen" + + +msgid "Start Angle" +msgstr "Angle inicial" + + +msgid "Starting angle of the arc" +msgstr "Angle inicial de l'arc" + + +msgid "Sweep Angle" +msgstr "Angle inscrit" + + +msgid "Length of the arc" +msgstr "Longitud de l'arc" + + +msgid "Offset angle of the arc" +msgstr "Angle de desplaçament de l'arc" + + +msgid "Connect Center" +msgstr "Centre de connexió" + + +msgid "Connect the arc at the center" +msgstr "[Connect Center]: Connecta l'arc al centre" + + +msgid "Invert Arc" +msgstr "Invertir arc" + + +msgid "Invert and draw opposite arc" +msgstr "Inverteix i dibuixa l'arc oposat" + + +msgid "The center of the circle described by the three points" +msgstr "El centre del cercle descrit pels tres punts" + + +msgid "The normal direction of the plane described by the three points, pointing towards the positive Z axis" +msgstr "La direcció normal del pla descrit pels tres punts, apuntant cap a l'eix Z positiu" + + +msgid "The radius of the circle described by the three points" +msgstr "El radi del cercle descrit pels tres punts" + + +msgid "The number of evaluated points on the curve" +msgstr "El nombre de punts avaluats a la corba" + + +msgid "Position of the start control point of the curve" +msgstr "Posició del punt de control inicial de la corba" + + +msgid "Position of the start handle used to define the shape of the curve. In Offset mode, relative to Start point" +msgstr "Posició de la nansa inicial usada per a definir la forma de la corba. En mode de desplaçament, relatiu al punt d'inici" + + +msgid "Position of the end handle used to define the shape of the curve. In Offset mode, relative to End point" +msgstr "Posició de la nansa final usada per definir la forma de la corba. En mode de desplaçament, relatiu al punt final" + + +msgid "Position of the end control point of the curve" +msgstr "Posició del punt de control final de la corba" + + +msgid "Number of points on the circle" +msgstr "Nombre de punts del cercle" + + +msgid "Point 1" +msgstr "Punt 1" + + +msgid "One of the three points on the circle. The point order determines the circle's direction" +msgstr "Un dels tres punts del cercle. L'ordre dels punts determina la direcció del cercle" + + +msgid "Point 2" +msgstr "Punt 2" + + +msgid "Point 3" +msgstr "Punt 3" + + +msgid "Position of the second control point" +msgstr "Posició del segon punt de control" + + +msgid "Direction the line is going in. The length of this vector does not matter" +msgstr "Direcció en què va la línia. La longitud d'aquest vector no importa" + + +msgid "Distance between the two points" +msgstr "Distància entre els dos punts" + + +msgid "The number of edges on the curve" +msgstr "El nombre d'arestes de la corba" + + +msgid "Bottom Width" +msgstr "Amplada inferior" + + +msgid "Top Width" +msgstr "Amplada superior" + + +msgid "The X axis size of the shape" +msgstr "La mida de l'eix X de la forma" + + +msgid "The Y axis size of the shape" +msgstr "La mida de l'eix Y de la forma" + + +msgid "For Parallelogram, the relative X difference between the top and bottom edges. For Trapezoid, the amount to move the top edge in the positive X axis" +msgstr "Per al paral·lelogram, la diferència relativa X entre les arestes superior i inferior. Per al Trapezoid, la quantitat per a moure l'aresta superior seguint l'eix X positiu" + + +msgid "Bottom Height" +msgstr "Alçada inferior" + + +msgid "The distance between the bottom point and the X axis" +msgstr "La distància entre el punt inferior i l'eix X" + + +msgid "Top Height" +msgstr "Alçada superior" + + +msgid "The distance between the top point and the X axis" +msgstr "La distància entre el punt superior i l'eix X" + + +msgid "The exact location of the point to use" +msgstr "La ubicació exacta del punt a usar" + + +msgid "Point 4" +msgstr "Punt 4" + + +msgid "Number of points in one rotation of the spiral" +msgstr "Nombre de punts en una rotació de l'espiral" + + +msgid "Number of times the spiral makes a full rotation" +msgstr "Nombre de vegades que l'espiral fa una rotació completa" + + +msgid "Start Radius" +msgstr "Radi inicial" + + +msgid "Horizontal Distance from the Z axis at the start of the spiral" +msgstr "[Start Radius]: Distància horitzontal des de l'eix Z a l'inici de l'espiral" + + +msgid "End Radius" +msgstr "Radi final" + + +msgid "Horizontal Distance from the Z axis at the end of the spiral" +msgstr "Distància horitzontal des de l'eix Z al final de l'espiral" + + +msgid "The height perpendicular to the base of the spiral" +msgstr "L'alçada perpendicular a la base de l'espiral" + + +msgid "Switch the direction from clockwise to counterclockwise" +msgstr "Canvia la direcció des del sentit horari al sentit antihorari" + + +msgid "Number of points on each of the circles" +msgstr "Nombre de punts a cada cercle" + + +msgid "Inner Radius" +msgstr "Radi interior" + + +msgid "Radius of the inner circle; can be larger than outer radius" +msgstr "El radi del cercle interior; pot ser més gran que el radi exterior" + + +msgid "Outer Radius" +msgstr "Radi exterior" + + +msgid "Radius of the outer circle; can be smaller than inner radius" +msgstr "El radi del cercle exterior; pot ser més petit que el radi interior" + + +msgid "The counterclockwise rotation of the inner set of points" +msgstr "La rotació en sentit antihorari del conjunt interior de punts" + + +msgid "Outer Points" +msgstr "Punts externs" + + +msgid "An attribute field with a selection of the outer points" +msgstr "Un camp d'atribut amb una selecció dels punts exteriors" + + +msgid "Curve Index" +msgstr "Índex de corba" + + +msgid "Input curves do not have Bezier type" +msgstr "Les corbes d'ingressió no tenen tipus bezier" + + +msgid "For points, the portion of the spline's total length at the control point. For Splines, the factor of that spline within the entire curve" +msgstr "Per als punts, la porció de la longitud total del spline en el punt de control. Per a Splines, el factor d'aquest spline dins de tota la corba" + + +msgid "For points, the distance along the control point's spline, For splines, the distance along the entire curve" +msgstr "Per als punts, la distància al llarg del spline del punt de control, Per a splines, la distància al llarg de tota la corba" + + +msgid "Each control point's index on its spline" +msgstr "L'índex de cada punt de control sobre el seu spline" + + +msgid "Cuts" +msgstr "Talls" + + +msgid "The number of control points to create on the segment following each point" +msgstr "El nombre de punts de control a crear sobre segment que segueix cada punt" + + +msgid "Profile Curve" +msgstr "Perfil de corba" + + msgid "If the profile spline is cyclic, fill the ends of the generated mesh with N-gons" -msgstr "Si el spline del perfil és cíclic, ompliu els extrems de la malla generada amb N-gons" +msgstr "Si el perfil del spline és cíclic, ompliu els extrems de la malla generada amb N-gons" + + +msgid "The control point to retrieve data from" +msgstr "El punt de control des del qual es recuperaran les dades" + + +msgid "The curve the control point is part of" +msgstr "La corba de la qual forma part el punt de control" + + +msgid "Index in Curve" +msgstr "Índex a la corba" + + +msgid "How far along the control point is along its curve" +msgstr "Com de lluny està el punt de control al llarg de la seva corba" + + +msgid "The curve to retrieve data from. Defaults to the curve from the context" +msgstr "La corba de la qual s'han de recuperar les dades. Per defecte a la corba des del context" + + +msgid "Values used to sort the curve's points. Uses indices by default" +msgstr "Valors utilitzats per a ordenar els punts de la corba. Utilitza índexs per defecte" + + +msgid "Sort Index" +msgstr "Ordenar índex" + + +msgid "Which of the sorted points to output" +msgstr "Quin dels punts ordenats s'egressa" + + +msgid "A point of the curve, chosen by the sort index" +msgstr "Un punt de la corba, escollit per l'índex d'ordenació" + + +msgid "The number of points in the curve" +msgstr "El nombre de punts de la corba" + + +msgid "Start (Factor)" +msgstr "Inici (Factor)" + + +msgid "End (Factor)" +msgstr "Final (Factor)" + + +msgid "Start (Length)" +msgstr "Inici (Longitud)" + + +msgid "End (Length)" +msgstr "Final (Longitud)" + + +msgid "Node only works for curves objects" +msgstr "El node només funciona per als objectes corbes" + + +msgid "Surface UV map not defined" +msgstr "Mapa UV de superfície no definit" + + +msgid "Curves not attached to a surface" +msgstr "Corbes no associades a una superfície" + + +msgid "Surface has no mesh" +msgstr "La superfície no té malla" + + +msgid "Evaluated surface missing UV map: \"%s\"" +msgstr "Mapa UV que falta a la superfície avaluada: \"%s\"" + + +msgid "Original surface missing UV map: \"%s\"" +msgstr "Mapa UV que falta a la superfície original: \"%s\"" + + +msgid "Evaluated surface missing attribute: \"rest_position\"" +msgstr "Atribut perdut de la superfície avaluada: «rest_position»" + + +msgid "Curves are not attached to any UV map" +msgstr "Les corbes no estan associades a cap mapa UV" + + +msgid "Invalid surface UVs on %d curves" +msgstr "Superfície d'UVs invàlida sobre %d corbes" + + +msgid "The parts of the geometry to be deleted" +msgstr "Les parts de la geometria a suprimir" + + +msgid "Disabled, Blender was compiled without OpenVDB" +msgstr "Desactivat, Blender s'ha compilat sense OpenVDB" + + +msgid "Number of points to sample per unit volume" +msgstr "Nombre de punts per mostrejar per unitat de volum" + + +msgid "Seed used by the random number generator to generate random points" +msgstr "Llavor utilitzada pel generador de nombres aleatoris per a generar punts aleatoris" + + +msgid "Spacing between grid points" +msgstr "Espaiat entre els punts de la graella" + + +msgid "Minimum density of a volume cell to contain a grid point" +msgstr "Densitat mínima d'una cel·la de volum per a contenir un punt de graella" + + +msgid "Density Max" +msgstr "Densitat màxima" + + +msgid "The number of duplicates to create for each element" +msgstr "El nombre de duplicats a crear per a cada element" + + +msgid "The duplicated geometry, not including the original geometry" +msgstr "La geometria duplicada, sense incloure la geometria original" + + +msgid "Duplicate Index" +msgstr "Índex de duplicats" + + +msgid "The indices of the duplicates for each element" +msgstr "[Duplicate Index]: Els índexs dels duplicats per a cada element" + + +msgid "Start Vertices" +msgstr "Vèrtexs inicials" + + +msgid "Next Vertex Index" +msgstr "Índex del vèrtex següent" + + +msgid "Edges used to split faces into separate groups" +msgstr "Arestes utilitzades per a dividir les cares en grups separats" + + +msgid "Index of the face group inside each boundary edge region" +msgstr "Índex del grup de cares dins de cada regió amb arestes límit" + + +msgid "Offset Scale" +msgstr "Escala de desplaçament" + + +msgid "Which frame to use for videos. Note that different frames in videos can have different resolutions" +msgstr "Quin fotograma s'ha d'utilitzar per als vídeos. Tingueu en compte que els diferents fotogrames dels vídeos poden tenir diferents resolucions" + + +msgid "Has Alpha" +msgstr "Té alfa" + + +msgid "Whether the image has an alpha channel" +msgstr "Si la imatge té un canal alfa" + + +msgid "Frame Count" +msgstr "Recompte de fotogrames" + + +msgid "The number of animation frames. If a single image, then 1" +msgstr "[Frame Count]: El nombre de fotogrames d'animació. Si una sola imatge, llavors 1" + + +msgid "Animation playback speed in frames per second. If a single image, then 0" +msgstr "Velocitat de reproducció de l'animació en fotogrames per segon. Si una sola imatge, llavors 0" + + +msgid "Output the handle positions relative to the corresponding control point instead of in the local space of the geometry" +msgstr "Egressió de posicions de nansa relatives al punt de control corresponent en lloc de dins l'espai local de la geometria" + + +msgid "The values from the \"id\" attribute on points, or the index if that attribute does not exist" +msgstr "Els valors de l'atribut «id» sobre punts, o l'índex si aquest atribut no existeix" + + +msgid "Unsigned Angle" +msgstr "Angle sense signe" + + +msgid "Signed Angle" +msgstr "Angle signat" + + +msgid "The number of faces that use each edge as one of their sides" +msgstr "El nombre de cares que utilitza cada aresta com un dels seus costats" + + +msgid "Vertex Index 1" +msgstr "Índex de vèrtex 1" + + +msgid "The index of the first vertex in the edge" +msgstr "L'índex del primer vèrtex de la vora" + + +msgid "Vertex Index 2" +msgstr "Índex de vèrtex 2" + + +msgid "The index of the second vertex in the edge" +msgstr "L'índex del segon vèrtex de la vora" + + +msgid "Position 1" +msgstr "Posició 1" + + +msgid "The position of the first vertex in the edge" +msgstr "La posició del primer vèrtex de la vora" + + +msgid "Position 2" +msgstr "Posició 2" + + +msgid "The position of the second vertex in the edge" +msgstr "La posició del segon vèrtex de la vora" + + +msgid "The surface area of each of the mesh's faces" +msgstr "L'àrea de superfície de cadascuna de les cares de la malla" + + +msgid "The distance a point can be from the surface before the face is no longer considered planar" +msgstr "La distància a què un punt pot estar des de la superfície abans que la cara ja no es consideri planar" + + +msgid "Vertex Count" +msgstr "Recompte de vèrtexs" + + +msgid "Number of edges or points in the face" +msgstr "Nombre d'arestes o punts de la cara" + + +msgid "Number of faces which share an edge with the face" +msgstr "Nombre de cares que comparteixen una aresta amb la cara" + + +msgid "Island Index" +msgstr "Índex d'illes" + + +msgid "The index of the each vertex's island. Indices are based on the lowest vertex index contained in each island" +msgstr "L'índex de l'illa de cada vèrtex. Els índexs es basen en l'índex de vèrtex més baix contingut en cada illa" + + +msgid "Island Count" +msgstr "Recompte d'illes" + + +msgid "The total number of mesh islands" +msgstr "El nombre total d'illes de malla" + + +msgid "The number of vertices connected to this vertex with an edge, equal to the number of connected edges" +msgstr "El nombre de vèrtexs connectats a aquest vèrtex amb una aresta, igual al nombre d'arestes connectades" + + +msgid "Number of faces that contain the vertex" +msgstr "Nombre de cares que contenen el vèrtex" + + +msgid "End Vertex" +msgstr "Vèrtex final" + + +msgid "Edge Cost" +msgstr "Cost d'aresta" + + +msgid "Total Cost" +msgstr "Cost total" + + +msgid "Realized geometry is not used when pick instances is true" +msgstr "La geometria realitzada no s'utilitza quan triar instàncies és ver" + + +msgid "Points to instance on" +msgstr "Punts a instanciar" + + +msgid "Geometry that is instanced on the points" +msgstr "Geometria instanciada en els punts" + + +msgid "Pick Instance" +msgstr "Triar instància" + + +msgid "Choose instances from the \"Instance\" input at each point instead of instancing the entire geometry" +msgstr "Trieu instàncies de la ingressió «Instància» a cada punt en lloc d'instanciar tota la geometria" + + +msgid "Instance Index" +msgstr "Índex d'instàncies" + + +msgid "Index of the instance used for each point. This is only used when Pick Instances is on. By default the point index is used" +msgstr "Índex de la instància utilitzada per a cada punt. Això només s'utilitza quan s'activa Tria instàncies. Per defecte s'utilitza l'índex de punts" + + +msgid "Rotation of the instances" +msgstr "Rotació de les instàncies" + + +msgid "Scale of the instances" +msgstr "Escala de les instàncies" + + +msgid "Guide Curves" +msgstr "Corbes guia" + + +msgid "Base curves that new curves are interpolated between" +msgstr "Corbes base entre les quals s'interpolen les noves corbes" + + +msgid "Guide Up" +msgstr "Guiar amunt" + + +msgid "Optional up vector that is typically a surface normal" +msgstr "Vector ascendent opcional que típicament és una normal de superfície" + + +msgid "Guide Group ID" +msgstr "ID de grup guia" + + +msgid "Splits guides into separate groups. New curves interpolate existing curves from a single group" +msgstr "Divideix les guies en grups separats. Les corbes noves interpolen les corbes existents des d'un sol grup" + + +msgid "First control point positions for new interpolated curves" +msgstr "Primers punts de control per a noves corbes interpolades" + + +msgid "Point Up" +msgstr "Punts amunt" + + +msgid "Point Group ID" +msgstr "ID de grup de punts" + + +msgid "The curve group to interpolate in" +msgstr "El grup de corbes a interpolar" + + +msgid "Max Neighbors" +msgstr "Màx veïns" + + +msgid "Maximum amount of close guide curves that are taken into account for interpolation" +msgstr "Quantitat màxima de corbes de guia properes que es tenen en compte per a la interpolació" + + +msgid "Closest Index" +msgstr "Índex més proper" + + +msgid "Index of the closest guide curve for each generated curve" +msgstr "Índex de la corba guia més pròxima per a cada corba generada" + + +msgid "Closest Weight" +msgstr "Pes més proper" + + +msgid "Weight of the closest guide curve for each generated curve" +msgstr "Pes de la corba guia més pròxima per a cada corba generada" + + +msgid "Face Group ID" +msgstr "ID de grup de cares" + + +msgid "An identifier for the group of each face. All contiguous faces with the same value are in the same region" +msgstr "Un identificador per al grup de cada cara. Totes les cares contigües amb el mateix valor es troben a la mateixa regió" + + +msgid "Boundary Edges" +msgstr "Arestes límit" + + +msgid "The edges that lie on the boundaries between the different face groups" +msgstr "Les arestes que es troben als límits entre els diferents conjunts de cares" + + +msgid "Vertices must be at least 3" +msgstr "Els vèrtexs han de ser com a mínim 3" + + +msgid "Number of vertices on the circle" +msgstr "Nombre de vèrtexs en el cercle" + + +msgid "Distance of the vertices from the origin" +msgstr "Distància dels vèrtexs des de l'origen" + + +msgid "Side Segments must be at least 1" +msgstr "Els segments laterals han de ser com a mínim 1" + + +msgid "Fill Segments must be at least 1" +msgstr "Els segments d'emplenament han de ser com a mínim 1" + + +msgid "Number of points on the circle at the top and bottom" +msgstr "Nombre de punts del cercle a la part superior i inferior" + + +msgid "Side Segments" +msgstr "Segments laterals" + + +msgid "The number of edges running vertically along the side of the cone" +msgstr "El nombre d'arestes que s'executen verticalment al llarg del costat del con" + + +msgid "Fill Segments" +msgstr "Segments d'emplenat" + + +msgid "Number of concentric rings used to fill the round face" +msgstr "Nombre d'anells concèntrics utilitzats per emplenar la cara rodona" + + +msgid "Radius Top" +msgstr "Radi superior" + + +msgid "Radius of the top circle of the cone" +msgstr "Radi del cercle superior del con" + + +msgid "Radius Bottom" +msgstr "Radi inferior" + + +msgid "Radius of the bottom circle of the cone" +msgstr "Radi del cercle inferior del con" + + +msgid "Height of the generated cone" +msgstr "Alçada del con generat" + + +msgid "Vertices must be at least 1" +msgstr "Els vèrtexs han de ser com a mínim 1" + + +msgid "Side length along each axis" +msgstr "Longitud lateral al llarg de cada eix" + + +msgid "Vertices X" +msgstr "Vèrtexs X" + + +msgid "Number of vertices for the X side of the shape" +msgstr "Nombre de vèrtexs per al costat X de la forma" + + +msgid "Vertices Y" +msgstr "Vèrtexs Y" + + +msgid "Number of vertices for the Y side of the shape" +msgstr "Nombre de vèrtexs per al costat Y de la forma" + + +msgid "Vertices Z" +msgstr "Vèrtexs Z" + + +msgid "Number of vertices for the Z side of the shape" +msgstr "Nombre de vèrtexs per al costat Z de la forma" + + +msgid "The number of vertices on the top and bottom circles" +msgstr "El nombre de vèrtexs dels cercles superior i inferior" + + +msgid "The number of rectangular segments along each side" +msgstr "El nombre de segments rectangulars a cada costat" + + +msgid "The number of concentric rings used to fill the round faces" +msgstr "El nombre d'anells concèntrics utilitzats per emplenar les cares rodones" + + +msgid "The radius of the cylinder" +msgstr "El radi del cilindre" + + +msgid "The height of the cylinder" +msgstr "L'alçada del cilindre" + + +msgid "Side length of the plane in the X direction" +msgstr "Longitud lateral del pla en la direcció X" + + +msgid "Side length of the plane in the Y direction" +msgstr "Longitud lateral del pla en la direcció Y" + + +msgid "Number of vertices in the X direction" +msgstr "Nombre de vèrtexs en la direcció X" + + +msgid "Number of vertices in the Y direction" +msgstr "Nombre de vèrtexs en la direcció Y" + + +msgid "Distance from the generated points to the origin" +msgstr "Distància dels punts generats a l'origen" + + +msgid "Number of subdivisions on top of the basic icosahedron" +msgstr "Nombre de subdivisions a la part superior de l'icosàedre bàsic" + + +msgid "Start Location" +msgstr "Ubicació inicial" + + +msgid "End Location" +msgstr "Ubicació final" + + +msgid "Number of vertices on the line" +msgstr "Nombre de vèrtexs en la línia" + + +msgid "Length of each individual edge" +msgstr "Longitud de cada aresta individual" + + +msgid "Position of the first vertex" +msgstr "Ubicació del primer vèrtex" + + +msgid "In offset mode, the distance between each socket on each axis. In end points mode, the position of the final vertex" +msgstr "En mode de desplaçament, la distància entre cada born en cada eix. En el mode de puntes finals, la posició del vèrtex final" + + +msgid "Segments must be at least 3" +msgstr "Els segments han de ser com a mínim 3" + + +msgid "Rings must be at least 3" +msgstr "Els anells han de ser com a mínim 3" + + +msgid "Horizontal resolution of the sphere" +msgstr "Resolució horitzontal de l'esfera" + + +msgid "The number of horizontal rings" +msgstr "El nombre d'anells horitzontals" + + +msgid "Disabled, Blender was compiled without OpenSubdiv" +msgstr "Desactivat, el Blender s'ha compilat sense OpenSubdiv" + + +msgid "Half-Band Width" +msgstr "Amplada de mig camp" + + +msgid "Half the width of the narrow band in voxel units" +msgstr "La meitat de l'amplada de la banda estreta en unitats vòxels" + + +msgid "The face to retrieve data from. Defaults to the face from the context" +msgstr "La cara de la qual s'han de recuperar les dades. Predeterminat a la cara des del context" + + +msgid "Values used to sort the face's corners. Uses indices by default" +msgstr "Valors utilitzats per ordenar les cantonades de la cara. Utilitza índexs per defecte" + + +msgid "Which of the sorted corners to output" +msgstr "Quina de les cantonades ordenades egressar" + + +msgid "Corner Index" +msgstr "Índex de cantonada" + + +msgid "A corner of the face, chosen by the sort index" +msgstr "Una cantonada de la cara, triada per l'índex d'ordenació" + + +msgid "The number of corners in the face" +msgstr "El nombre de cantonades a la cara" + + +msgid "Vertex Index" +msgstr "Índex de vèrtex" + + +msgid "The vertex to retrieve data from. Defaults to the vertex from the context" +msgstr "El vèrtex del qual s'han de recuperar les dades. Per defecte va al vèrtex des del context" + + +msgid "Values used to sort corners attached to the vertex. Uses indices by default" +msgstr "Valors utilitzats per ordenar les cantonades associades al vèrtex. Utilitza índexs per defecte" + + +msgid "A corner connected to the face, chosen by the sort index" +msgstr "Una cantonada connectada a la cara, escollida per l'índex d'ordenació" + + +msgid "The number of faces or corners connected to each vertex" +msgstr "El nombre de cares o cantonades connectades a cada vèrtex" + + +msgid "The corner to retrieve data from. Defaults to the corner from the context" +msgstr "La cantonada de la qual s'han de recuperar les dades. Per defecte a la cantonada des del context" + + +msgid "Next Edge Index" +msgstr "Índex d'aresta següent" + + +msgid "The edge after the corner in the face, in the direction of increasing indices" +msgstr "L'aresta després de la cantonada de la cara, en la direcció d'augmentar índexs" + + +msgid "Previous Edge Index" +msgstr "Índex d'aresta anterior" + + +msgid "The edge before the corner in the face, in the direction of decreasing indices" +msgstr "L'aresta abans de la cantonada de la cara, en la direcció de disminuir índexs" + + +msgid "Values used to sort the edges connected to the vertex. Uses indices by default" +msgstr "Valors utilitzats per ordenar les arestes connectades al vèrtex. Utilitza índexs per defecte" + + +msgid "Which of the sorted edges to output" +msgstr "Quina de les arestes ordenades egressar" + + +msgid "An edge connected to the face, chosen by the sort index" +msgstr "Una aresta connectada a la cara, triada per l'índex d'ordenació" + + +msgid "The number of edges connected to each vertex" +msgstr "El nombre d'arestes connectades a cada vèrtex" + + +msgid "The index of the face the corner is a part of" +msgstr "L'índex de la cara de què la cantonada forma part" + + +msgid "Index in Face" +msgstr "Índex a la cara" + + +msgid "The index of the corner starting from the first corner in the face" +msgstr "L'índex de la cantonada començant des de la primera cantonada de la cara" + + +msgid "The number of corners to move around the face before finding the result, circling around the start of the face if necessary" +msgstr "El nombre de cantonades a moure al voltant la cara abans de trobar el resultat, voltant entorn de l'inici de la cara si cal" + + +msgid "The index of the offset corner" +msgstr "L'índex de la cantonada de desplaçada" + + +msgid "The vertex the corner is attached to" +msgstr "El vèrtex al qual s'associa la cantonada" + + +msgid "Geometry cannot be retrieved from the modifier object" +msgstr "La geometria no es pot recuperar de l'objecte modificador" + + +msgid "As Instance" +msgstr "Com a instància" + + +msgid "Output the entire object as single instance. This allows instancing non-geometry object types" +msgstr "Mostra l'objecte sencer com una única instància. Això permet instanciar tipus d'objectes no geomètrics" + + +msgid "The index of the control point to evaluate. Defaults to the current index" +msgstr "L'índex del punt de control a avaluar. Per defecte a l'índex actual" + + +msgid "The number of control points along the curve to traverse" +msgstr "El nombre de punts de control al llarg de la corba a recórrer" + + +msgid "Is Valid Offset" +msgstr "És desplaçament vàlid" + + +msgid "Whether the input control point plus the offset is a valid index of the original curve" +msgstr "Si el punt de control d'ingressió més el desplaçament és un índex vàlid de la corba original" + + +msgid "The index of the control point plus the offset within the entire curves data-block" +msgstr "L'índex del punt de control més el desplaçament dins del bloc de dades sencer de corbes" + + +msgid "The number of points to create" +msgstr "El nombre de punts a crear" + + +msgid "The positions of the new points" +msgstr "Les posicions dels nous punts" + + +msgid "The radii of the new points" +msgstr "Els radis dels nous punts" + + +msgid "Source Position" +msgstr "Posició de la font" + + +msgid "The target mesh must have faces" +msgstr "La malla de referència ha de tenir cares" + + +msgid "Is Hit" +msgstr "És diana" + + +msgid "Hit Position" +msgstr "Posició de diana" + + +msgid "Hit Normal" +msgstr "Normal de diana" + + +msgid "Hit Distance" +msgstr "Distància de diana" + + +msgid "This node uses legacy behavior with regards to attributes on instances. The behavior can be changed in the node properties in the side bar. In most cases the new behavior is the same for files created in Blender 3.0" +msgstr "Aquest node utilitza comportament heretat pel que fa als atributs en les instàncies. El comportament es pot canviar a les propietats del node a la barra lateral. En la majoria dels casos, el nou comportament és el mateix per als documents creats amb Blender 3.0" + + +msgid "Attribute does not exist: \"" +msgstr "L'atribut no existeix: \"" + + +msgid "Cannot delete built-in attribute with name \"" +msgstr "No es pot suprimir l'atribut integrat amb el nom \"" + + +msgid "Which element to retrieve a value from on the geometry" +msgstr "De quin element s'ha d'obtenir un valor en la geometria" + + +msgid "The source geometry must contain a mesh or a point cloud" +msgstr "La geometria font ha de contenir una malla o un núvol de punts" + + +msgid "Sample Position" +msgstr "Ubicació de la mostra" + + +msgid "The source mesh must have faces" +msgstr "La malla d'origen ha de tenir cares" + + +msgid "Source UV Map" +msgstr "Mapa UV d'origen" + + +msgid "The mesh UV map to sample. Should not have overlapping faces" +msgstr "El mapa UV de malla a mostrejar. No hauria de tenir cares superposades" + + +msgid "Sample UV" +msgstr "Mostrejar UV" + + +msgid "The coordinates to sample within the UV map" +msgstr "Les coordenades a mostrejar dins del mapa UV" + + +msgid "Is Valid" +msgstr "És vàlid" + + +msgid "Whether the node could find a single face to sample at the UV coordinate" +msgstr "Si el node pot trobar una sola cara per mostrejar en la coordenada UV" + + +msgid "Origin of the scaling for each element. If multiple elements are connected, their center is averaged" +msgstr "Origen de l'escalat per a cada element. Si hi ha diversos elements connectats, es fa la mitjana del seu centre" + + +msgid "Direction in which to scale the element" +msgstr "Direcció en la qual s'escalarà l'element" + + +msgid "Radius must be greater than 0" +msgstr "El radi ha de ser superior a 0" + + +msgid "Half-band width must be greater than 1" +msgstr "L'amplada de la banda mitjana ha de ser superior a 1" + + +msgid "Voxel size is too small" +msgstr "La mida del vòxel és massa petita" + + +msgid "The parts of the geometry that go into the first output" +msgstr "Les parts de la geometria que van a la primera egressió" + + +msgid "The parts of the geometry in the selection" +msgstr "Les parts de la geometria en la selecció" + + +msgid "The parts of the geometry not in the selection" +msgstr "Les parts de la geometria que no estan a la selecció" + + +msgid "Mesh has no faces for material assignment" +msgstr "La malla no té cares per a l'assignació de material" + + +msgid "Volumes only support a single material; selection input can not be a field" +msgstr "Els volums només admeten un sol material; la ingressió de la selecció no pot ser un camp" + + +msgid "Point clouds only support a single material; selection input can not be a field" +msgstr "Els núvols de punts només admeten un sol material; la ingressió de la selecció no pot ser un camp" + + +msgid "Curves only support a single material; selection input can not be a field" +msgstr "Les corbes només admeten un sol material; la ingressió de la selecció no pot ser un camp" + + +msgid "Shade Smooth" +msgstr "Aspecció suavitzada" + + +msgid "Failed to write to attribute \"%s\" with domain \"%s\" and type \"%s\"" +msgstr "No s'ha pogut escriure a l'atribut \"%s\" amb domain \"%s\" i tipus \"%s\"" + + +msgid "Delimiter" +msgstr "Delimitador" + + +msgid "Strings" +msgstr "Cadenes" + + +msgid "Font not specified" +msgstr "Tipografia no especificada" + + +msgid "Text Box Width" +msgstr "Amplada del quadre de text" + + +msgid "Text Box Height" +msgstr "Alçada del quadre de text" + + +msgid "Curve Instances" +msgstr "Instàncies de corba" + + +msgid "Remainder" +msgstr "Romanent" + + +msgid "Edge Crease" +msgstr "Doblecd'aresta" + + +msgid "Volume scale is lower than permitted by OpenVDB" +msgstr "L'escala del volum és inferior a la permesa per OpenVDB" + + +msgid "Faces to consider when packing islands" +msgstr "Cares a considerar en empaquetar illes" + + +msgid "Faces to participate in the unwrap operation" +msgstr "Cares per a participar en l'operació de desembolcallar" + + +msgid "Edges to mark where the mesh is \"cut\" for the purposes of unwrapping" +msgstr "Arestes per a marcar on es «talla» la malla amb la finalitat de desembolicar" + + +msgid "UV coordinates between 0 and 1 for each face corner in the selected faces" +msgstr "Coordenades UV entre 0 i 1 per a cada cantonada de cares de les cares seleccionades" + + +msgid "Resolution must be greater than 1" +msgstr "La resolució ha de ser superior a 1" + + +msgid "Bounding box volume must be greater than 0" +msgstr "El volum de la capsa contenidora ha de ser superior a 0" + + +msgid "Volume density per voxel" +msgstr "Densitat de volum per vòxel" + + +msgid "Value for voxels outside of the cube" +msgstr "Valor per a vòxels fora del cub" + + +msgid "Minimum boundary of volume" +msgstr "Límit mínim del volum" + + +msgid "Maximum boundary of volume" +msgstr "Límit màxim del volum" + + +msgid "Number of voxels in the X axis" +msgstr "Nombre de vòxels a l'eix X" + + +msgid "Number of voxels in the Y axis" +msgstr "Nombre de vòxels a l'eix Y" + + +msgid "Number of voxels in the Z axis" +msgstr "Nombre de vòxels a l'eix Z" + + +msgid "Values larger than the threshold are inside the generated mesh" +msgstr "Els valors més grans que el llindar es troben dins de la malla generada" + + +msgid "Missing Data-Block" +msgstr "Falta el bloc de dades" + + +msgid "Nesting a node group inside of itself is not allowed" +msgstr "No es permet aniuar un grup de nodes dins d'ell mateix" + + +msgid "Node group has different type" +msgstr "El grup de nodes té un tipus diferent" + + +msgid "Instances in input geometry are ignored" +msgstr "S'ignoren les instàncies en la geometria d'ingressió" + + +msgid "Realized data in input geometry is ignored" +msgstr "S'ignoren les dades realitzades en la geometria d'ingressió" + + +msgid "Input geometry has unsupported type: " +msgstr "La geometria d'ingressió té un tipus no suportat: " + + +msgid " node" +msgstr " node" + + +msgid "Undefined Node Tree Type" +msgstr "Tipus d'arbre de nodes no definit" + + +msgid "Shader Editor" +msgstr "Editor d'aspectors" + + +msgid "Not a shader node tree" +msgstr "No és un arbre de nodes aspector" + + +msgid "Not a shader or geometry node tree" +msgstr "No és un arbre de nodes d'aspecció o geometria" + + +msgid "AO" +msgstr "OA" + + +msgid "Anisotropy" +msgstr "Anisotropia" + + +msgid "BSDF" +msgstr "BSDF" + + +msgid "IOR" +msgstr "IOR" + + +msgid "RoughnessU" +msgstr "Rugositat U" + + +msgid "RoughnessV" +msgstr "Rugositat V" + + +msgid "Melanin" +msgstr "Melanina" + + +msgid "Melanin Redness" +msgstr "Vermellor de melanina" + + +msgid "Radial Roughness" +msgstr "Rugositat radial" + + +msgid "Coat" +msgstr "Bany" + + +msgid "Random Color" +msgstr "Color aleatori" + + +msgid "Random Roughness" +msgstr "Rugositat aleatòria" + + +msgid "Subsurface" +msgstr "Subsuperficial" + + +msgid "Subsurface Radius" +msgstr "Radi de subsuperfície" + + +msgid "Subsurface IOR" +msgstr "IOR de subsuperfície" + + +msgid "Subsurface Anisotropy" +msgstr "Anisotropia subsuperficial" + + +msgid "Specular Tint" +msgstr "Tint especular" + + +msgid "Anisotropic" +msgstr "Anisotròpic" + + +msgid "Anisotropic Rotation" +msgstr "Rotació anisotròpica" + + +msgid "Sheen" +msgstr "Llustre" + + +msgid "Sheen Tint" +msgstr "Tint del llustre" + + +msgid "Clearcoat" +msgstr "Vernís transparent" + + +msgid "Clearcoat Roughness" +msgstr "Rugositat de vernís" + + +msgid "Transmission Roughness" +msgstr "Rugositat de transmissió" + + +msgid "Emission Strength" +msgstr "Intensitat d'emissió" + + +msgid "Clearcoat Normal" +msgstr "Normal de vernís" + + +msgid "View Vector" +msgstr "Vector de visualització" + + +msgid "View Z Depth" +msgstr "Profunditat de visualització Z" + + +msgid "View Distance" +msgstr "Distància de visualització" + + +msgid "Emissive Color" +msgstr "Color emissiu" + + +msgid "Transparency" +msgstr "Transparència" + + +msgid "Clear Coat" +msgstr "Bany clar" + + +msgid "Clear Coat Roughness" +msgstr "Rugositat de bany clar" + + +msgid "Clear Coat Normal" +msgstr "Normal de bany clar" + + +msgid "True Normal" +msgstr "Normal veritable" + + +msgid "Incoming" +msgstr "Entrant" + + +msgid "Parametric" +msgstr "Paramètric" + + +msgid "Backfacing" +msgstr "Mirant enrere" + + +msgid "Pointiness" +msgstr "Puntillisme" + + +msgid "Random Per Island" +msgstr "Aleatori per illa" + + +msgid "Is Strand" +msgstr "És filament" + + +msgid "Intercept" +msgstr "Interceptar" + + +msgid "Tangent Normal" +msgstr "Normal de tangent" + + +msgid "Facing" +msgstr "Encarament" + + +msgid "Is Camera Ray" +msgstr "És raig de càmera" + + +msgid "Is Shadow Ray" +msgstr "És raig d'ombra" + + +msgid "Is Diffuse Ray" +msgstr "És raig difusiu" + + +msgid "Is Glossy Ray" +msgstr "És raig setinat" + + +msgid "Is Singular Ray" +msgstr "És raig singular" + + +msgid "Is Reflection Ray" +msgstr "És raig de reflexió" + + +msgid "Is Transmission Ray" +msgstr "És raig de transmissió" + + +msgid "Ray Depth" +msgstr "Profunditat de raig" + + +msgid "Diffuse Depth" +msgstr "Profunditat difusiva" + + +msgid "Glossy Depth" +msgstr "Profunditat de setinat" + + +msgid "Transparent Depth" +msgstr "Profunditat de transparència" + + +msgid "Transmission Depth" +msgstr "Profunditat de transmissió" + + +msgid "Factor (Non-Uniform)" +msgstr "Factor (no uniforme)" + + +msgid "Color1" +msgstr "Color1" + + +msgid "Color2" +msgstr "Color2" + + +msgid "Object Index" +msgstr "Índex d'objecte" + + +msgid "Color Fac" +msgstr "Fac de color" + + +msgid "Alpha Fac" +msgstr "Fac alfa" + + +msgid "Age" +msgstr "Edat" + + +msgid "BSSRDF" +msgstr "BSSRDF" + + +msgid "Mortar" +msgstr "Morter" + + +msgid "Mortar Size" +msgstr "Mida del morter" + + +msgid "Mortar Smooth" +msgstr "Suavitzat de morter" + + +msgid "Brick Width" +msgstr "Amplada del rajol" + + +msgid "Row Height" +msgstr "Alçada de la fila" + + +msgid "Sun disc not available in Eevee" +msgstr "El disc del sol no està disponible a Eevee" + + +msgid "Detail Scale" +msgstr "Escala de detall" + + +msgid "Detail Roughness" +msgstr "Rugositat del detall" + + +msgid "No mesh in active object" +msgstr "No hi ha malla a l'objecte actiu" + + +msgid "Density Attribute" +msgstr "Atribut de densitat" + + +msgid "Absorption Color" +msgstr "Color d'absorció" + + +msgid "Emission Color" +msgstr "Color d'emissió" msgid "Blackbody Intensity" msgstr "Intensitat del cosfosc" +msgid "Blackbody Tint" +msgstr "Tint de cos negre" + + +msgid "Temperature Attribute" +msgstr "Atribut de temperatura" + + +msgid "Patterns" +msgstr "Patrons" + + +msgid "Texture Node Editor" +msgstr "Editor de Node de Textura" + + +msgid "Not a texture node tree" +msgstr "No és un arbre de nodes de textura" + + +msgid "Bricks 1" +msgstr "Rajols 1" + + +msgid "Bricks 2" +msgstr "Rajols 2" + + +msgid "Coordinate 1" +msgstr "Coordenada 1" + + +msgid "Coordinate 2" +msgstr "Coordenada 2" + + +msgid "W1" +msgstr "W1" + + +msgid "W2" +msgstr "W2" + + +msgid "W3" +msgstr "W3" + + +msgid "W4" +msgstr "W4" + + +msgid "iScale" +msgstr "iScale" + + +msgid "Unknown py-exception, could not convert" +msgstr "Excepció-py desconeguda, no s'ha pogut convertir" + + +msgid "" +"%s: %.*s\n" +"Location: %s:%d" +msgstr "" +"%s: %.*s\n" +"Ubicació: %s:%d" + + +msgid "%s: %.*s" +msgstr "%s: %.*s" + + +msgid "Could not resolve path (%s)" +msgstr "No s'ha pogut resoldre el camí (%s)" + + +msgid "Can not initialize the GPU" +msgstr "No s'ha pogut inicialitzar la GPU" + + +msgid "Failed allocate render result, out of memory" +msgstr "Ha fallat l'assignació del resultat del revelat, memòria exhaurida" + + +msgid "Fra:%d Mem:%.2fM (Peak %.2fM) " +msgstr "Fot:%d Mem:%.2fM (Pic %.2fM) " + + +msgid "| Time:%s | " +msgstr "| Temps:%s | " + + +msgid "Image too small" +msgstr "La imatge és massa petita" + + +msgid "Cannot render, no camera" +msgstr "No es pot revelar, no hi ha càmera" + + +msgid "No border area selected" +msgstr "No s'ha seleccionat cap àrea de vora" + + +msgid "Border rendering is not supported by sequencer" +msgstr "El seqüenciador no permet la revelat de vores" + + +msgid "No node tree in scene" +msgstr "No hi ha cap arbre de nodes a l'escena" + + +msgid "No render output node in scene" +msgstr "No hi ha cap node de sortida de revelat a l'escena" + + +msgid "All render layers are disabled" +msgstr "Totes les capes de revelat estan inhabilitades" + + +msgid "No frames rendered, skipped to not overwrite" +msgstr "No s'ha revelat cap fotograma, s'ha omès per a no sobreescriure" + + +msgid "No camera found in scene \"%s\" (used in compositing of scene \"%s\")" +msgstr "No s'ha trobat cap càmera a l'escena \"%s\" (s'utilitza en la compositació de l'escena \"%s\")" + + +msgid "No camera found in scene \"%s\"" +msgstr "No s'ha trobat cap càmera a l'escena \"%s\"" + + +msgid "Camera \"%s\" is not a multi-view camera" +msgstr "La càmera \"%s\" no és una càmera multi-visualització" + + +msgid "No active view found in scene \"%s\"" +msgstr "No s'ha trobat cap vista activa a l'escena \"%s\"" + + +msgid "%s: no Combined pass found in the render layer '%s'" +msgstr "%s: no s'ha trobat cap passada combinat a la capa de revelat '%s'" + + +msgid "%s: failed to allocate clip buffer '%s'" +msgstr "%s: no s'ha pogut assignar la memòria intermèdia del clip '%s'" + + +msgid "%s: incorrect dimensions for partial copy '%s'" +msgstr "%s: dimensions incorrectes per a la còpia parcial '%s'" + + +msgid "%s: failed to load '%s'" +msgstr "%s: no s'ha pogut carregar '%s'" + + +msgctxt "Sequence" +msgid "Color Balance" +msgstr "Equilibri de color" + + +msgctxt "Sequence" +msgid "White Balance" +msgstr "Equilibri de blancs" + + +msgctxt "Sequence" +msgid "Curves" +msgstr "Corbes" + + +msgctxt "Sequence" +msgid "Hue Correct" +msgstr "Correcció de to" + + +msgctxt "Sequence" +msgid "Bright/Contrast" +msgstr "Brillantor/Contrast" + + +msgctxt "Sequence" +msgid "Tonemap" +msgstr "Mapa de tons" + + +msgid "Strips must be the same length" +msgstr "Els segments han de tenir la mateixa longitud" + + +msgid "Strips were not compatible" +msgstr "Els segments no eren compatibles" + + +msgid "Strips must have the same number of inputs" +msgstr "Els segments han de tenir el mateix nombre d'ingressions" + + +msgid "Can not move strip to non-meta strip" +msgstr "No es pot moure el segment a un segment no-meta" + + +msgid "Strip can not be moved into itself" +msgstr "La segment no es pot moure cap a dins de si mateix" + + +msgid "Moved strip is already inside provided meta strip" +msgstr "El segment mogut ja és dins el meta-segment proporcionat" + + +msgid "Moved strip is parent of provided meta strip" +msgstr "El segment mogut és el pare del meta-segment proporcionat" + + +msgid "Can not move strip to different scene" +msgstr "No es pot moure el segment a una escena diferent" + + +msgid "Recursion detected in video sequencer. Strip %s at frame %d will not be rendered" +msgstr "S'ha detectat recursivitat en el seqüenciador de vídeo. No es revelarà el segment %s al fotograma %d" + + +msgid "Colorize" +msgstr "Acolorir" + + +msgid "Blur X" +msgstr "Difuminar X" + + +msgid "Rim" +msgstr "Vorada" + + +msgid "Object Pivot" +msgstr "Pivot d'objecte" + + +msgid "Wave Effect" +msgstr "Efecte ona" + + +msgid "Swirl" +msgstr "Remolí" + + +msgid "WaveDistortion" +msgstr "Direcció d'ona" + + +msgid "Region could not be drawn!" +msgstr "No s'ha pogut agafar la regió!" + + +msgid "Input pending " +msgstr "Ingressió pendent " + + +msgid "Blender File View" +msgstr "Vista de document del Blender" + + +msgid "Missing 'window' in context" +msgstr "Falta «window» en el context" + + +msgid "Trusted Source [Untrusted Path]" +msgstr "Font de confiança [Ruta no fiable]" + + +msgid "Allow Execution" +msgstr "Permetre execució" + + +msgid "Don't Save" +msgstr "No desar" + + +msgid "unable to open the file" +msgstr "no s'ha pogut obrir el document" + + +msgid "File Not Found" +msgstr "No s'ha trobat el document" + + +msgid "Save the current file in the desired location but do not make the saved file active" +msgstr "Desa el document actual en la ubicació desitjada, però no activa el document desat" + + +msgid "For security reasons, automatic execution of Python scripts in this file was disabled:" +msgstr "Per motius de seguretat, s'ha desactivat l'execució automàtica de protocols de python en aquest document:" + + +msgid "This may lead to unexpected behavior" +msgstr "Això pot conduir a un comportament inesperat" + + +msgid "Permanently allow execution of scripts" +msgstr "Permet permanentment l'execució de protocols" + + +msgid "Reload file with execution of Python scripts enabled" +msgstr "Recarregar el document amb execució dels protocols de python habilitats" + + +msgid "Enable scripts" +msgstr "Habilitar protocols" + + +msgid "Continue using file without Python scripts" +msgstr "Continuar usant un document sense protocols de python" + + +msgid "Save changes before closing?" +msgstr "Desar els canvis abans de tancar?" + + +msgid "Unable to create user config path" +msgstr "No s'ha pogut crear el camí de configuració de la usuària" + + +msgid "Startup file saved" +msgstr "S'ha desat el document d'inici" + + +msgid "Context window not set" +msgstr "No s'ha establert la finestra contextual" + + +msgid "Unable to save an unsaved file with an empty or unset \"filepath\" property" +msgstr "No s'ha pogut desar un document sense desar amb una propietat buida o amb «filepath» no establert" + + +msgid "Engine '%s' not available for scene '%s' (an add-on may need to be installed or enabled)" +msgstr "El motor '%s' no està disponible per a l'escena '%s' (pot ser que calgui instal·lar o activar un complement)" + + +msgid "Library \"%s\" needs overrides resync" +msgstr "La biblioteca %s necessita resincronitzar sobreseïments" + + +msgid "%d libraries and %d linked data-blocks are missing (including %d ObjectData and %d Proxies), please check the Info and Outliner editors for details" +msgstr "Falten %d biblioteques i %d blocs de dades enllaçats (incloent %d dades d'objecte (ObjectData) i %d simulacions), reviseu els editors d'Info i Inventari per més detalls" + + +msgid "%d libraries have overrides needing resync (auto resynced in %.0fm%.2fs), please check the Info editor for details" +msgstr "%d biblioteques tenen sobreseïments que necessiten ser sincronitzats (autosincronitzats a %.0fm%.2fs), si us plau, comproveu l'editor d'info per més detalls" + + +msgid "%d sequence strips were not read because they were in a channel larger than %d" +msgstr "No s'han llegit %d segments de seqüència perquè estaven en un canal més gran que %d" + + +msgid "Cannot read file \"%s\": %s" +msgstr "No es pot llegir el document \"%s\": %s" + + +msgid "File format is not supported in file \"%s\"" +msgstr "El format del document no està suportat al document \"%s\"" + + +msgid "File path \"%s\" invalid" +msgstr "El camí del document «%s» no és vàlid" + + +msgid "Unknown error loading \"%s\"" +msgstr "Error desconegut en carregar \"%s\"" + + +msgid "Application Template \"%s\" not found" +msgstr "No s'ha trobat la plantilla d'aplicació \"%s\"" + + +msgid "Could not read \"%s\"" +msgstr "No s'ha pogut llegir \"%s\"" + + +msgid "Cannot save blend file, path \"%s\" is not writable" +msgstr "No es pot desar el document blend, no es pot escriure el camí \"%s\"" + + +msgid "Cannot overwrite used library '%.240s'" +msgstr "No es pot sobreescriure la biblioteca utilitzada '%.240s'" + + +msgid "Saved \"%s\"" +msgstr "Desat \"%s\"" + + +msgid "Can't read alternative start-up file: \"%s\"" +msgstr "No es pot llegir el document d'inici alternatiu: \"%s\"" + + +msgid "The \"filepath\" property was not an absolute path: \"%s\"" +msgstr "La propietat «filepath» no era un camí absolut: \"%s\"" + + +msgid "Not a library" +msgstr "No és una biblioteca" + + +msgid "Nothing indicated" +msgstr "No s'ha indicat res" + + +msgid "Can't append data-block '%s' of type '%s'" +msgstr "No es pot incorporar el bloc de dades '%s' del tipus '%s'" + + +msgid "Can't link data-block '%s' of type '%s'" +msgstr "No es pot enllaçar el bloc de dades '%s' del tipus '%s'" + + +msgid "'%s': not a library" +msgstr "'%s': no és una biblioteca" + + +msgid "'%s': nothing indicated" +msgstr "'%s': no s'ha indicat res" + + +msgid "'%s': cannot use current file as library" +msgstr "'%s': no pot utilitzar el document actual com a biblioteca" + + +msgid "Scene '%s' is linked, instantiation of objects is disabled" +msgstr "L'escena '%s' està enllaçada, la instanciació dels objectes està desactivada" + + +msgid "'%s' is not a valid library filepath" +msgstr "'%s' no és un camí de documents de biblioteca vàlid" + + +msgid "Trying to reload library '%s' from invalid path '%s'" +msgstr "S'està intentant de recarregar la biblioteca '%s' des del camí no vàlid '%s'" + + +msgid "Trying to reload or relocate library '%s' to invalid path '%s'" +msgstr "S'està intentant de recarregar o reubicar la biblioteca '%s' al camí no vàlid '%s'" + + +msgid "Cannot relocate library '%s' to current blend file '%s'" +msgstr "No es pot reubicar la biblioteca '%s' al document blend actual '%s'" + + +msgid "Win" +msgstr "Win" + + +msgid "OS" +msgstr "SO" + + +msgid "Bksp" +msgstr "Enre" + + +msgid "Esc" +msgstr "Esc" + + +msgid "dbl-" +msgstr "dbl-" + + +msgid "drag-" +msgstr "arrossegar-" + + +msgid "ON" +msgstr "ENGEGAR" + + +msgid "OFF" +msgstr "APAGAr" + + +msgid "OK?" +msgstr "D'ACORD?" + + +msgid "unsupported format" +msgstr "format no admès" + + +msgid "Toggle System Console" +msgstr "Revesar consola del sistema" + + +msgctxt "Operator" +msgid "Toggle System Console" +msgstr "Revesar consola del sistema" + + +msgid "No operator in context" +msgstr "Sense operador en el context" + + +msgid "Property cannot be both boolean and float" +msgstr "La propietat no pot ser alhora booleana i flotant" + + +msgid "Pointer from path image_id is not an ID" +msgstr "El punter del camí «image_id» no és un ID" + + +msgid "Property must be an integer or a float" +msgstr "La propietat ha de ser un enter o un flotant" + + +msgid "Property must be a none, distance, factor, percentage, angle, or pixel" +msgstr "La propietat ha de ser distància, factor, percentatge, angle, píxel o no-cap" + + +msgid "Registering operator class: '%s', invalid bl_idname '%s', at position %d" +msgstr "S'està registrant la classe de l'operador: '%s', bl_idname no vàlid '%s', en ubicació %d" + + +msgid "Registering operator class: '%s', invalid bl_idname '%s', is too long, maximum length is %d" +msgstr "S'està registrant la classe de l'operador: '%s', bl_idname no vàlid '%s', és massa llarg, llargada màxima %d" + + +msgid "Registering operator class: '%s', invalid bl_idname '%s', must contain 1 '.' character" +msgstr "S'està registrant la classe de l'operador: '%s', bl_idname no vàlid '%s', ha de contenir 1 '.' caràcter" + + +msgid "Cannot read %s '%s': %s" +msgstr "No es pot llegir %s '%s': %s" + + +msgid "%s '%s' not found" +msgstr "No s'ha trobat %s '%s'" + + +msgid "%s not found" +msgstr "No s'ha trobat %s" + + +msgid "Operator '%s' does not have register enabled, incorrect invoke function" +msgstr "L'operador '%s' no té el registre habilitat, la funció d'invocació és incorrecta" + + +msgid "Operator '%s' does not have undo enabled, incorrect invoke function" +msgstr "L'operador '%s' no té activat el desfer, la funció d'invocació és incorrecta" + + +msgid "Operator redo '%s' does not have register enabled, incorrect invoke function" +msgstr "L'operador refer '%s' no té el registre habilitat, la funció d'invocació és incorrecta" + + +msgid "Operator redo '%s': wrong context" +msgstr "L'operador refer '%s': context erroni" + + +msgid "Could not resolve path '%s'" +msgstr "No s'ha pogut resoldre el camí '%s'" + + +msgid "Property from path '%s' is not a float" +msgstr "La propietat del camí '%s' no és un flotant" + + +msgid "Property from path '%s' has length %d instead of %d" +msgstr "La propietat del camí '%s' té longitud %d en lloc de %d" + + +msgid "%d x %s: %.4f ms, average: %.8f ms" +msgstr "%d x %s: %.4f ms, mitjana: %.8f ms" + + +msgctxt "WindowManager" +msgid "Limited Platform Support" +msgstr "Suport limitat de la plataforma" + + +msgctxt "WindowManager" +msgid "Your graphics card or driver has limited support. It may work, but with issues." +msgstr "La targeta gràfica o el controlador tenen un suport limitat. Pot funcionar, però amb dificultats." + + +msgctxt "WindowManager" +msgid "Newer graphics drivers may be available to improve Blender support." +msgstr "Els controladors gràfics més nous poden estar disponibles per millorar el suport del Blender." + + +msgctxt "WindowManager" +msgid "Graphics card:" +msgstr "Targeta gràfica:" + + +msgctxt "WindowManager" +msgid "Platform Unsupported" +msgstr "La plataforma no està suportada" + + +msgctxt "WindowManager" +msgid "Your graphics card or driver is not supported." +msgstr "La targeta gràfica o el controlador no estan suportats." + + +msgctxt "WindowManager" +msgid "The program will now close." +msgstr "El programa ara es tancarà." + + +msgid "Failed to create a window without quad-buffer support, you may experience flickering" +msgstr "No s'ha pogut crear una finestra sense el suport de memòria quad-buffer, és possible que tingueu pampallugueig" + + +msgid "Failed to switch to Time Sequential mode when in fullscreen" +msgstr "No s'ha pogut canviar al mode seqüencial de temps quan s'està a pantalla completa" + + +msgid "Quad-buffer window successfully created" +msgstr "S'ha creat correctament la finestra del Quad-buffer" + + +msgid "Quad-buffer not supported by the system" +msgstr "El sistema no admet el Quad-buffer" + + +msgid "Failed to create a window compatible with the time sequential display method" +msgstr "No s'ha pogut crear una finestra compatible amb el mètode de visualització seqüencial de temps" + + +msgid "Stereo 3D Mode requires the window to be fullscreen" +msgstr "El mode estèreo 3D requereix que la finestra sigui a pantalla completa" + + +msgid "Python script uses OpenGL for drawing" +msgstr "El protocol de python usa OpenGL per a dibuixar" + + +msgid "One of the add-ons or scripts is using OpenGL and will not work correct on Metal" +msgstr "Un dels complements o protocols està utilitzant OpenGL i no funcionarà correctament amb Metal" + + +msgid "Please contact the developer of the add-on to migrate to use 'gpu' module" +msgstr "Contacteu amb el desenvolupador del complement per migrar en l'ús del mòdul 'gpu'" + + +msgid "See system tab in preferences to switch to OpenGL backend" +msgstr "Vegeu la pestanya del sistema a les preferències per canviar al internador OpenGL" + + +msgid "One of the add-ons or scripts is using OpenGL and will not work correct on Metal. Please contact the developer of the add-on to migrate to use 'gpu' module" +msgstr "Un dels complements o protocols utilitza OpenGL i no funcionarà correctament amb Metal. Contacteu amb el desenvolupador del complement per migrar en l'ús del mòdul 'gpu'" + + +msgid "Failed to create window" +msgstr "Ha fallat en crear la finestra" + + +msgid "1 inch" +msgstr "1 polzada" + + +msgid "1/1.8 inch" +msgstr "1/1.8 polzades" + + +msgid "1/2.3 inch" +msgstr "1/2,3 polzades" + + +msgid "1/2.5 inch" +msgstr "1/2,5 polzades" + + +msgid "1/2.7 inch" +msgstr "1/2,7 polzades" + + +msgid "1/3.2 inch" +msgstr "1/3,2 polzades" + + +msgid "2/3 inch" +msgstr "2/3 polzades" + + +msgid "APS-C" +msgstr "APS-C" + + +msgid "APS-C (Canon)" +msgstr "APS-C (Canon)" + + +msgid "APS-H (Canon)" +msgstr "APS-H (Canon)" + + +msgid "Analog 16mm" +msgstr "Analògic 16 mm" + + +msgid "Analog 35mm" +msgstr "Analògic 35mm" + + +msgid "Analog 65mm" +msgstr "Analògic 65 mm" + + +msgid "Analog IMAX" +msgstr "IMAX analògic" + + +msgid "Analog Super 16" +msgstr "Analògic Super 16" + + +msgid "Analog Super 35" +msgstr "Analògic Super 35" + + +msgid "Arri Alexa 65" +msgstr "Arri Alexa 65" + + +msgid "Arri Alexa LF" +msgstr "Arri Alexa LF" + + +msgid "Arri Alexa Mini & SXT" +msgstr "Arri Alexa Mini SXT" + + +msgid "Blackmagic Pocket & Studio" +msgstr "Blackmagic Pocket Studio" + + +msgid "Blackmagic Pocket 4K" +msgstr "Pocket Blackmagic 4K" + + +msgid "Blackmagic Pocket 6k" +msgstr "Blackmagic Pocket 6k" + + +msgid "Blackmagic URSA 4.6K" +msgstr "URSA Blackmagic 4.6K" + + +msgid "Foveon (Sigma)" +msgstr "Foveon (Sigma)" + + +msgid "Fullframe" +msgstr "Fullframe" + + +msgid "MFT" +msgstr "MFT" + + +msgid "Medium-format (Hasselblad)" +msgstr "Format mitjà (Hasselblad)" + + +msgid "RED Dragon 5K" +msgstr "RED Dragon 5K" + + +msgid "RED Dragon 6K" +msgstr "RED Dragon 6K" + + +msgid "RED Helium 8K" +msgstr "RED Helium 8K" + + +msgid "RED Monstro 8K" +msgstr "RED Monstro 8K" + + +msgid "Cotton" +msgstr "Cotó" + + +msgid "Denim" +msgstr "Denim" + + +msgid "Leather" +msgstr "Cuir" + + +msgid "Silk" +msgstr "Seda" + + +msgid "Fast Global Illumination" +msgstr "Il·luminació global ràpida" + + +msgid "Full Global Illumination" +msgstr "Il·luminació global completa" + + +msgid "Limited Global Illumination" +msgstr "Il·luminació global limitada" + + +msgid "Faster Render" +msgstr "Revelat més ràpid" + + +msgid "Lower Memory" +msgstr "Memòria inferior" + + +msgid "DVD (note: this changes render resolution)" +msgstr "DVD (nota: canvia la resolució de revelat)" + + +msgid "H264 in MP4" +msgstr "H264 en MP4" + + +msgid "H264 in Matroska" +msgstr "H264 en Matroska" + + +msgid "H264 in Matroska for scrubbing" +msgstr "H264 en Matroska per potinejar" + + +msgid "Ogg Theora" +msgstr "Ogg Theora" + + +msgid "WebM (VP9+Opus)" +msgstr "WebM (VP9+Opus)" + + +msgid "Xvid" +msgstr "Xvid" + + +msgid "Honey" +msgstr "Mel" + + +msgid "Oil" +msgstr "Oli" + + +msgid "Water" +msgstr "Aigua" + + +msgid "Fill Only" +msgstr "Només emplenar" + + +msgid "Stroke Only" +msgstr "Només traç" + + +msgid "Stroke and Fill" +msgstr "Traçar i emplenar" + + +msgid "Blender 27x" +msgstr "Blender 27x" + + +msgid "Industry Compatible" +msgstr "Compatible amb la indústria" + + +msgid "blender default" +msgstr "blender per defecte" + + +msgid "industry compatible data" +msgstr "dades compatibles amb la indústria" + + +msgid "sl+open sim rigged" +msgstr "sl+open sim manipulat" + + +msgid "sl+open sim static" +msgstr "sl+open sim estàtic" + + +msgid "4K DCI 2160p" +msgstr "4K DCI 2160p" + + +msgid "4K UHDTV 2160p" +msgstr "4K UHDTV 2160p" + + +msgid "4K UW 1600p" +msgstr "4K UW 1600p" + + +msgid "DVCPRO HD 1080p" +msgstr "DVCPRO HD 1080p" + + +msgid "DVCPRO HD 720p" +msgstr "DVCPRO HD 720p" + + +msgid "HDTV 1080p" +msgstr "HDTV 1080p" + + +msgid "HDTV 720p" +msgstr "HDTV 720p" + + +msgid "HDV 1080p" +msgstr "HDV 1080p" + + +msgid "HDV NTSC 1080p" +msgstr "HDV NTSC 1080p" + + +msgid "HDV PAL 1080p" +msgstr "HDV PAL 1080p" + + +msgid "TV NTSC 16:9" +msgstr "TV NTSC 16:9" + + +msgid "TV NTSC 4:3" +msgstr "TV NTSC 4:3" + + +msgid "TV PAL 16:9" +msgstr "TV PAL 16:9" + + +msgid "TV PAL 4:3" +msgstr "TV PAL 4:3" + + +msgid "14:9 in 16:9" +msgstr "14:9 en 16:9" + + +msgid "16:9" +msgstr "16:9" + + +msgid "4:3 in 16:9" +msgstr "4:3 en 16:9" + + +msgid "apple" +msgstr "poma" + + +msgid "chicken" +msgstr "pollastre" + + +msgid "cream" +msgstr "crema" + + +msgid "ketchup" +msgstr "ketchup" + + +msgid "marble" +msgstr "marbre" + + +msgid "potato" +msgstr "patata" + + +msgid "skim milk" +msgstr "llet desnatada" + + +msgid "skin1" +msgstr "pell1" + + +msgid "skin2" +msgstr "pell2" + + +msgid "whole milk" +msgstr "llet sencera" + + +msgid "Blurry Footage" +msgstr "Imatge borrosa" + + +msgid "Fast Motion" +msgstr "Càmera ràpida" + + +msgid "Far Plane" +msgstr "Pla llunyà" + + +msgid "Near Plane" +msgstr "Pla proper" + + msgctxt "WorkSpace" msgid "2D Animation" msgstr "Animació 2D" @@ -99457,6 +128850,270 @@ msgid "Video Editing" msgstr "Edició de vídeo" +msgid "Math Vis (Console)" +msgstr "Vis matem (Consola)" + + +msgid "Properties: Scene > Math Vis Console and Python Console: Menu" +msgstr "Propietats: Escena : Consola de Visió matemàtica i consola de python: Menú" + + +msgid "Display console defined mathutils variables in the 3D view" +msgstr "Mostra les variables d'utilitats matemàtiques definides en la consola en la vista 3D" + + +msgid "VR Scene Inspection" +msgstr "Inspecció de l'escena d'RV" + + +msgid "3D View > Sidebar > VR" +msgstr "Vista 3D > Barra lateral > RV" + + +msgid "View the viewport with virtual reality glasses (head-mounted displays)" +msgstr "Visualitza el mirador amb ulleres de realitat virtual (aparell muntat al cap)" + + +msgid "This is an early, limited preview of in development VR support for Blender." +msgstr "Aquesta és una previsualització primerenca i limitada del suport en desenvolupament d'RV per al Blender." + + +msgid "Copy Global Transform" +msgstr "Copiar transformació global" + + +msgid "N-panel in the 3D Viewport" +msgstr "Plafó N al mirador 3D" + + +msgid "Asset Browser -> Animations, and 3D Viewport -> Animation panel" +msgstr "Navegador de recursos -> Animacions, i mirador 3D -> plafó d'animació" + + +msgid "Pose Library based on the Asset Browser." +msgstr "Biblioteca de poses basada en el navegador de recursos." + + +msgid "BioVision Motion Capture (BVH) format" +msgstr "Format (BVH) de captura de moviment BioVision" + + +msgid "File > Import-Export" +msgstr "Document > Importar-exportar" + + +msgid "Import-Export BVH from armature objects" +msgstr "Importar-exportar BVH des d'objectes esquelet" + + +msgid "Export Camera Animation" +msgstr "Exportar animació de càmera" + + +msgid "File > Export > Cameras & Markers (.py)" +msgstr "Document > Exportar > Càmeres i Marcadors (.py)" + + +msgid "Export Cameras & Markers (.py)" +msgstr "Exportar càmeres i marcadors (.py)" + + +msgid "FBX format" +msgstr "Format FBX" + + +msgid "FBX IO meshes, UVs, vertex colors, materials, textures, cameras, lamps and actions" +msgstr "Malles IO FBX, UV's, colors de vèrtex, materials, textures, càmeres, llums i accions" + + +msgid "Import Images as Planes" +msgstr "Importar imatges com a plans" + + +msgid "File > Import > Images as Planes or Add > Image > Images as Planes" +msgstr "Document > Importar > Imatges com a Plans o Afegir > Imatge > Imatges com a Plans" + + +msgid "Imports images and creates planes with the appropriate aspect ratio. The images are mapped to the planes." +msgstr "Importa imatges i crea plans amb la relació d'aspecte adequada. Les imatges es mapegen en els plans." + + +msgid "NewTek MDD format" +msgstr "Format MDD de NewTek" + + +msgid "Import-Export MDD as mesh shape keys" +msgstr "Importar-exportar MDD com morfofites de malla" + + +msgid "STL format" +msgstr "Format STL" + + +msgid "Import-Export STL files" +msgstr "Importar-exportar documents STL" + + +msgid "Scalable Vector Graphics (SVG) 1.1 format" +msgstr "Format de gràfics vectorials escalables (SVG) 1.1" + + +msgid "File > Import > Scalable Vector Graphics (.svg)" +msgstr "Document > Importar > Gràfics vectorials escalables (.svg)" + + +msgid "Import SVG as curves" +msgstr "Importar SVG com a corbes" + + +msgid "Stanford PLY format" +msgstr "Format PLY de Stanford" + + +msgid "File > Import/Export" +msgstr "Document > Importar/exportar" + + +msgid "Import-Export PLY mesh data with UVs and vertex colors" +msgstr "Importar-exportar dades de malla PLY amb UVs i colors de vèrtexs" + + +msgid "UV Layout" +msgstr "Disposició UV" + + +msgid "UV Editor > UV > Export UV Layout" +msgstr "Editor UV > UV > Exportar disposició UV" + + +msgid "Export the UV layout as a 2D graphic" +msgstr "Exportar disposició UV com un gràfic en 2D" + + +msgid "Wavefront OBJ format (legacy)" +msgstr "Format OBJ Wavefront (antic)" + + +msgid "Import-Export OBJ, Import OBJ mesh, UVs, materials and textures" +msgstr "Importar-exportar OBJ, importar malla OBJ, UV's, materials i textures" + + +msgid "glTF 2.0 format" +msgstr "Format glTF 2.0" + + +msgid "Import-Export as glTF 2.0" +msgstr "Importar-exportar com a glTF 2.0" + + +msgid "3D-Print Toolbox" +msgstr "Quadre d'eines d'impressió 3D" + + +msgid "3D View > Sidebar" +msgstr "Vista 3D > Barra lateral" + + +msgid "Utilities for 3D printing" +msgstr "Utilitats per a la impressió 3D" + + +msgid "Scatter Objects" +msgstr "Dispersar objectes" + + +msgid "Distribute object instances on another object." +msgstr "Distribueix instàncies d'objectes sobre un altre objecte." + + +msgid "Cycles Render Engine" +msgstr "Motor de revelat Cycles" + + +msgid "Cycles renderer integration" +msgstr "Integració del revelador Cycles" + + +msgid "Freestyle SVG Exporter" +msgstr "Exportador SVG d'estil manual" + + +msgid "Properties > Render > Freestyle SVG Export" +msgstr "Propietats > Revelat > Exportació SVG d'estil manual" + + +msgid "Exports Freestyle's stylized edges in SVG format" +msgstr "Exporta vores estilitzades d'estil manual en format SVG" + + +msgid "Blender ID authentication" +msgstr "Autenticació de l'ID del Blender" + + +msgid "Add-on preferences" +msgstr "Preferències del complement" + + +msgid "Stores your Blender ID credentials for usage with other add-ons" +msgstr "Emmagatzema les credencials d'ID del Blender per a l'ús amb altres complements" + + +msgid "Demo Mode" +msgstr "Mode demo" + + +msgid "File > Demo Menu" +msgstr "Document > Menú de demo" + + +msgid "Demo mode lets you select multiple blend files and loop over them." +msgstr "El mode Demo permet seleccionar múltiples documents blend i trastejar-hi." + + +msgid "Manage UI translations" +msgstr "Gestionar traduccions de la IU" + + +msgid "Main \"File\" menu, text editor, any UI control" +msgstr "Menú principal «Document», editor de text, qualsevol control de la IU" + + +msgid "Allows managing UI translations directly from Blender (update main .po files, update scripts' translations, etc.)" +msgstr "Permet gestionar les traduccions de la IU directament des del Blender (actualitza els documents .PO principals, actualitza les traduccions dels protocols, etc.)" + + +msgid "Still in development, not all features are fully implemented yet!" +msgstr "Encara en desenvolupament, encara no totes les característiques estan plenament implementades!" + + +msgid "All Add-ons" +msgstr "Tots els complements" + + +msgid "All Add-ons Installed by User" +msgstr "Tots els complements instal·lats per la usuària" + + +msgid "Add Curve" +msgstr "Afegir corba" + + +msgid "Add Mesh" +msgstr "Afegir malla" + + +msgid "Import-Export" +msgstr "Importar-Exportar" + + +msgid "Rigging" +msgstr "Articulació" + + +msgid "Video Tools" +msgstr "Eines de vídeo" + + msgid "English (English)" msgstr "Anglès (English)" @@ -99660,3 +129317,219 @@ msgstr "En marxa" msgid "Starting" msgstr "Iniciant" + +msgid "Generation" +msgstr "Generació" + + +msgid "Utility" +msgstr "Funcionalitat" + + +msgid "Attach Hair Curves to Surface" +msgstr "Associar les corbes de pèl a superfície" + + +msgid "Attaches hair curves to a surface mesh" +msgstr "Associar corbes de pèl a una malla de superfície" + + +msgid "Blend Hair Curves" +msgstr "Mesclar corbes de pèl" + + +msgid "Blends shape between multiple hair curves in a certain radius" +msgstr "Barreja la forma entre múltiples corbes de pèl en un radi determinat" + + +msgid "Braid Hair Curves" +msgstr "Corbes de trenes de pèl" + + +msgid "Deforms existing hair curves into braids using guide curves" +msgstr "Deforma les corbes de pèl existents en trenes usant corbes de guia" + + +msgid "Clump Hair Curves" +msgstr "Corbes d'aglomeració de pèl" + + +msgid "Clumps together existing hair curves using guide curves" +msgstr "Aglomera les corbes de pèl existents usant corbes guia" + + +msgid "Create Guide Index Map" +msgstr "Crear mapa d'índex guia" + + +msgid "Creates an attribute that maps each curve to its nearest guide via index" +msgstr "Crea un atribut que assigna cada corba a la seva guia més propera a través de l'índex" + + +msgid "Curl Hair Curves" +msgstr "Corbes de rissos de pèl" + + +msgid "Deforms existing hair curves into curls using guide curves" +msgstr "Deforma les corbes de pèl existents en rissos usant corbes guia" + + +msgid "Curve Info" +msgstr "Info de corbes" + + +msgid "Reads information about each curve" +msgstr "Llegeix informació sobre cada corba" + + +msgid "Curve Root" +msgstr "Arrel de corba" + + +msgid "Reads information about each curve's root point" +msgstr "Llegeix informació sobre cada punt d'arrel de corba" + + +msgid "Curve Segment" +msgstr "Segment de corba" + + +msgid "Reads information each point's previous curve segment" +msgstr "Llegeix la informació de cada segment de corba anterior a cada punt" + + +msgid "Curve Tip" +msgstr "Cap de corba" + + +msgid "Reads information about each curve's tip point" +msgstr "Llegeix informació sobre cada punt de la punta de la corba" + + +msgid "Displace Hair Curves" +msgstr "Corbes de desplaçar pèl" + + +msgid "Displaces hair curves by a vector based on various options" +msgstr "Desplaça les corbes de pèl en base a un vector basat en diverses opcions" + + +msgid "Duplicate Hair Curves" +msgstr "Duplicar corbes de pèl" + + +msgid "Duplicates hair curves a certain number of times within a radius" +msgstr "Duplica les corbes de pèl un cert nombre de vegades dins d'un radi" + + +msgid "Frizz Hair Curves" +msgstr "Corbes d'encrespament de pèl" + + +msgid "Deforms hair curves using a random vector per point to frizz them" +msgstr "Deforma les corbes de pèl utilitzant un vector aleatori per punt per a encrespar-los" + + +msgid "Generate Hair Curves" +msgstr "Generar corbes de pèl" + + +msgid "Generates new hair curves on a surface mesh" +msgstr "Genera corbes de pèl noves en una malla de superfície" + + +msgid "Hair Attachment Info" +msgstr "Informació d'associació de pèl" + + +msgid "Reads attachment information regarding a surface mesh" +msgstr "Llegeix la informació d'associació relativa a una superfície de malla" + + +msgid "Hair Curves Noise" +msgstr "Soroll de corbes de pèl" + + +msgid "Deforms hair curves using a noise texture" +msgstr "Deforma les corbes de pèl usant una textura de soroll" + + +msgid "Interpolate Hair Curves" +msgstr "Interpolar corbes de pèl" + + +msgid "Interpolates existing guide curves on a surface mesh" +msgstr "Interpola les corbes guia existents en una superfície de malla" + + +msgid "Redistribute Curve Points" +msgstr "Redistribuir punts de corba" + + +msgid "Redistributes existing control points evenly along each curve" +msgstr "Redistribueix els punts de control existents uniformement al llarg de cada corba" + + +msgid "Restore Curve Segment Length" +msgstr "Restaurar longitud de segment de corba" + + +msgid "Restores the length of each curve segment using a previous state after deformation" +msgstr "Restaura la longitud de cada segment de corba utilitzant un estat anterior després de la deformació" + + +msgid "Roll Hair Curves" +msgstr "Enrotllar corbes de pèl" + + +msgid "Rolls up hair curves starting from their tips" +msgstr "Enrotlla corbes de pèl començant per les puntes" + + +msgid "Rotate Hair Curves" +msgstr "Rotar corbes de pèl" + + +msgid "Rotates each hair curve around an axis" +msgstr "Fa rotar cada corba de pèl al voltant d'un eix" + + +msgid "Set Hair Curve Profile" +msgstr "Establir perfil de corba de pèl" + + +msgid "Sets the radius attribute of hair curves acoording to a profile shape" +msgstr "Estableix l'atribut radi de les corbes de pèl ajustant-se a una forma de perfil" + + +msgid "Shrinkwrap Hair Curves" +msgstr "Sobrecobrir corbes del pèl" + + +msgid "Shrinkwraps hair curves to a mesh surface from below and optionally from above" +msgstr "Sobrecobreix les corbes de pèl a una superfície de malla des de baix i opcionalment des de dalt" + + +msgid "Smooth Hair Curves" +msgstr "Suavitzar corbes de pèl" + + +msgid "Smoothes the shape of hair curves" +msgstr "Suavitza la forma de les corbes de cabell" + + +msgid "Straighten Hair Curves" +msgstr "Allisar corbes de pèl" + + +msgid "Straightens hair curves between root and tip" +msgstr "Redreça les corbes de pèl entre l'arrel i la punta" + + +msgid "Trim Hair Curves" +msgstr "Retallar corbes de pèl" + + +msgid "Trims or scales hair curves to a certain length" +msgstr "Retalla o escala les corbes de cabell a una certa longitud" + diff --git a/locale/po/cs.po b/locale/po/cs.po index 295b6f94ea7..4abd3f3cd70 100644 --- a/locale/po/cs.po +++ b/locale/po/cs.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: \n" "Last-Translator: Martin Tabačan \n" "Language-Team: Taby \n" @@ -27130,10 +27130,6 @@ msgid "Do a case sensitive compare" msgstr "Bude rozlišovat velká a malá písmena" -msgid "Set select on random visible objects" -msgstr "Nastaví výběr na náhodné viditelné objekty" - - msgctxt "Operator" msgid "Select Same Collection" msgstr "Vybrat Stejnou Kolekci" @@ -30527,10 +30523,6 @@ msgid "Select word under cursor" msgstr "Vytvořit nový soubor" -msgid "Set cursor selection" -msgstr "Kurzor -> výběr" - - msgctxt "Operator" msgid "Find" msgstr "Nalézt" @@ -31985,10 +31977,6 @@ msgid "Apply Global Orientation" msgstr "Použít Globální Orientaci" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Použít modifikátory na exportovanou síť (nedestruktivní)" - - msgid "Key Type" msgstr "Typ Klíče" @@ -36787,10 +36775,6 @@ msgid "Size of every cubemaps" msgstr "Velikost všech cubemap" -msgid "Number of time the light is reinjected inside light grids, 0 disable indirect diffuse light" -msgstr "Počet opětovného vstříknutého světla do světelných mřížek, 0 vypne nepřímé difuzní světlo" - - msgid "Filter Quality" msgstr "Kvalita filtru" @@ -37410,18 +37394,10 @@ msgid "Scene Sequence" msgstr "Sekvence " -msgid "Sequence strip to used the rendered image of a scene" -msgstr "Přidat vazbu aktivní kosti" - - msgid "Scene that this sequence uses" msgstr "Přidat vazbu aktivní kosti" -msgid "Override the scenes active camera" -msgstr "Pohled aktivní kamery" - - msgid "Sound Sequence" msgstr "Sekvence " diff --git a/locale/po/de.po b/locale/po/de.po index 3cd1a90767b..a43862cf7c0 100644 --- a/locale/po/de.po +++ b/locale/po/de.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: \n" "Last-Translator: Martin Reininger \n" "Language-Team: German translation team\n" @@ -10244,10 +10244,6 @@ msgid "Library Browser" msgstr "Bibliotheksbrowser" -msgid "Whether we may browse blender files' content or not" -msgstr "Ob wir den Inhalt von Blender-Dateien durchsuchen dürfen oder nicht" - - msgid "Reverse Sorting" msgstr "Rückwärts sortieren" @@ -11778,10 +11774,6 @@ msgid "Gizmo Properties" msgstr "Gizmo Eigenschaften" -msgid "Input properties of an Gizmo" -msgstr "Eigenschaften eines Gizmos eingeben" - - msgid "Modifier name" msgstr "Modifikatorname" @@ -32873,10 +32865,6 @@ msgid "Save the image with another name and/or settings" msgstr "Bild unter anderem Namen und/oder Einstellungen speichern" -msgid "Create a new image file without modifying the current image in blender" -msgstr "Erstelle eine neue Bilddatei ohne die Änderungen vom aktuellen Blender Bild zu ändern" - - msgid "Save As Render" msgstr "Als Blender-Datei speichern" @@ -36687,10 +36675,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "Namensfilter mit '*' und '?' als Platzhaltern" -msgid "Set select on random visible objects" -msgstr "Sichtbare Objekte zufällig auswählen" - - msgid "Render and display faces uniform, using Face Normals" msgstr "Rendern und Darstellen von einheitlichen Flächen, durch Verwendung der Flächen-Normalen" @@ -41907,10 +41891,6 @@ msgid "Only Selected UV Map" msgstr "Nur ausgewählte UV Karte" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Auflösung" - - msgid "Deform Bones Only" msgstr "Nur Knochen deformieren" @@ -46447,10 +46427,6 @@ msgid "Text Hinting" msgstr "Text-Hinweis" -msgid "TimeCode Style" -msgstr "Zeitcode Stil" - - msgid "Minimal Info" msgstr "Minimale Info" @@ -48311,10 +48287,6 @@ msgid "Blender 2.7" msgstr "Blender 2.7" -msgid "Spring implementation used in blender 2.7. Damping is capped at 1.0" -msgstr "Sprungfeder-Implementierung in Blender 2.7. Die Dämpfung ist auf 1,0 begrenzt" - - msgid "Blender 2.8" msgstr "Blender 2.8" diff --git a/locale/po/es.po b/locale/po/es.po index 428894a5664..9a42cb8a667 100644 --- a/locale/po/es.po +++ b/locale/po/es.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: \n" "Last-Translator: Gabriel Gazzán \n" "Language-Team: Español \n" @@ -366,6 +366,10 @@ msgid "Displays glTF UI to manage material variants" msgstr "Muestra la interfaz de glTF para administrar variantes de materiales" +msgid "Display glTF UI to manage animations" +msgstr "Muestra la interfaz de glTF para administrar animaciones" + + msgid "Displays glTF Material Output node in Shader Editor (Menu Add > Output)" msgstr "Muestra el nodo de salida de Material glTF en el editor de Nodos de sombreado" @@ -2154,6 +2158,10 @@ msgid "Simulations" msgstr "Simulaciones" +msgid "Simulation data-blocks" +msgstr "Bloques de datos de simulación" + + msgid "Sounds" msgstr "Sonidos" @@ -2466,6 +2474,14 @@ msgid "Collection of screens" msgstr "Colección de pantallas" +msgid "Main Simulations" +msgstr "Simulaciones principales" + + +msgid "Collection of simulations" +msgstr "Colección de simulaciones" + + msgid "Main Sounds" msgstr "Sonidos principales" @@ -9651,14 +9667,30 @@ msgid "Name of PoseBone to use as target" msgstr "Nombre del hueso de pose a usar como objetivo" +msgid "Context Property" +msgstr "Propiedad de contexto" + + +msgid "Type of a context-dependent data-block to access property from" +msgstr "Tipo de un bloque de datos dependiente del contexto desde el cual acceder a la propiedad" + + msgid "Active Scene" msgstr "Escena activa" +msgid "Currently evaluating scene" +msgstr "La escena que está siendo evaluada actualmente" + + msgid "Active View Layer" msgstr "Capa de visualización activa" +msgid "Currently evaluating view layer" +msgstr "La capa de visualización que está siendo evaluada actualmente" + + msgid "Data Path" msgstr "Ruta de datos" @@ -9958,6 +9990,10 @@ msgid "Distance between two bones or objects" msgstr "Distancia entre dos huesos u objetos" +msgid "Use the value from some RNA property within the current evaluation context" +msgstr "Usa el valor de alguna propiedad de RNA dentro del contexto de evaluación actual" + + msgid "Brush Settings" msgstr "Opciones pincel" @@ -12993,10 +13029,6 @@ msgid "Library Browser" msgstr "Explorador de bibliotecas" -msgid "Whether we may browse blender files' content or not" -msgstr "Si es posible explorar archivos de Blender o no" - - msgid "Reverse Sorting" msgstr "Invertir orden" @@ -16408,10 +16440,6 @@ msgid "Gizmo Properties" msgstr "Propiedades del manipulador" -msgid "Input properties of an Gizmo" -msgstr "Propiedades de entrada de un manipulador" - - msgid "Modifier affecting the Grease Pencil object" msgstr "Modificador que afecta al objeto de lápiz de cera" @@ -19103,6 +19131,22 @@ msgid "Show Armature in binding pose state (no posing possible)" msgstr "Muestra el esqueleto en la pose de reposo (no será posible posarlo)" +msgid "Relation Line Position" +msgstr "Posición líneas de relación" + + +msgid "The start position of the relation lines from parent to child bones" +msgstr "Posición de inicio de las líneas de relación que van desde el hueso superior hasta sus subordinados" + + +msgid "Draw the relationship line from the parent tail to the child head" +msgstr "Mostrar líneas de relación desde la cola del superior a la cabeza de sus subordinados" + + +msgid "Draw the relationship line from the parent head to the child head" +msgstr "Mostrar líneas de relación desde la cabeza del superior a la cabeza de sus subordinados" + + msgid "Display Axes" msgstr "Mostrar ejes" @@ -21035,11 +21079,11 @@ msgstr "Define si se usará un fotograma personalizado al obtener los datos desd msgid "Prefetch Cache Size" -msgstr "Tamaño de precarga de caché" +msgstr "Tamaño caché de precarga" msgid "Memory usage limit in megabytes for the Cycles Procedural cache, if the data does not fit within the limit, rendering is aborted" -msgstr "Límite de memoria en megabytes para el caché del Procedimiento de Cycles, si los datos no entraran en el límite definido, el procesamiento será abortado" +msgstr "Límite de memoria en megabytes para el caché procedimental de Cycles, si los datos no entraran en el límite definido, el procesamiento será abortado" msgid "Value by which to enlarge or shrink the object with respect to the world's origin (only applicable through a Transform Cache constraint)" @@ -21055,15 +21099,15 @@ msgstr "Usar precarga" msgid "When enabled, the Cycles Procedural will preload animation data for faster updates" -msgstr "Al estar habilitado, el Procedimiento de Cycles precargará los datos de animación para actualizaciones más rápidas" +msgstr "Al estar habilitado, el procedimental de Cycles precargará los datos de animación para lograr actualizaciones más rápidas" msgid "Use Render Engine Procedural" -msgstr "Usar procedimiento del motor de procesamiento" +msgstr "Usar procedimental del motor de procesamiento" msgid "Display boxes in the viewport as placeholders for the objects, Cycles will use a procedural to load the objects during viewport rendering in experimental mode, other render engines will also receive a placeholder and should take care of loading the Alembic data themselves if possible" -msgstr "Muestra cajas en las vistas como reemplazos para los objetos, Cycles usará un procedimiento para cargar los objetos durante el procesamiento de la vista en modo experimental, otros motores de procesamiento también recibirán un reemplazo y deberían ocuparse de cargar los datos de Alembic por ellos mismos, si fuera posible" +msgstr "Muestra cajas en las vistas como reemplazos de los objetos, Cycles usará un procedimental para cargar los objetos durante el procesamiento de la vista (en modo experimental), otros motores de procesamiento también recibirán un reemplazo y deberían ocuparse de cargar los datos de Alembic por ellos mismos, si fuera posible" msgid "Velocity Attribute" @@ -24124,26 +24168,14 @@ msgid "Resolution X" msgstr "Resolución X" -msgid "Number of sample along the x axis of the volume" -msgstr "Cantidad de muestras a lo largo del eje X del volumen" - - msgid "Resolution Y" msgstr "Resolución Y" -msgid "Number of sample along the y axis of the volume" -msgstr "Cantidad de muestras a lo largo del eje Y del volumen" - - msgid "Resolution Z" msgstr "Resolución Z" -msgid "Number of sample along the z axis of the volume" -msgstr "Cantidad de muestras a lo largo del eje Z del volumen" - - msgid "Influence Distance" msgstr "Distancia de influencia" @@ -27393,10 +27425,22 @@ msgid "Active Movie Clip that can be used by motion tracking constraints or as a msgstr "Clip de película activo que puede ser usado por restricciones de rastreo de movimiento o como imagen de fondo de una cámara" +msgid "Mirror Bone" +msgstr "Hueso de simetría" + + +msgid "Bone to use for the mirroring" +msgstr "Hueso a ser usado para determinar el eje de simetría" + + msgid "Mirror Object" msgstr "Objeto de simetría" +msgid "Object to mirror over. Leave empty and name a bone to always mirror over that bone of the active armature" +msgstr "Objeto en torno al cual realizar la simetría. Dejar vacío y nombrar un hueso para simetrizar siempre en torno a ese hueso del esqueleto activo" + + msgid "Distance Model" msgstr "Modelo de distancia" @@ -27898,6 +27942,14 @@ msgid "Top-Left 3D Editor" msgstr "Vista 3D superior izquierda" +msgid "Simulation data-block" +msgstr "Bloque de datos de simulación" + + +msgid "Node tree defining the simulation" +msgstr "Árbol de nodos que define la simulación" + + msgid "Sound data-block referencing an external or packed sound file" msgstr "Bloque de datos de sonido referenciando a un archivo de sonido externo o empacado" @@ -28185,7 +28237,7 @@ msgstr "Fundido" msgid "Procedural - create a ramp texture" -msgstr "Generada - crea una textura tipo rampa" +msgstr "Procedimental - crea una textura de tipo rampa" msgid "Clouds" @@ -28193,7 +28245,7 @@ msgstr "Nubes" msgid "Procedural - create a cloud-like fractal noise texture" -msgstr "Generada - crea una textura de ruido fractal de tipo nube" +msgstr "Procedimental - crea una textura de ruido fractal de tipo nube" msgid "Distorted Noise" @@ -28201,7 +28253,7 @@ msgstr "Ruido distorsionado" msgid "Procedural - noise texture distorted by two noise algorithms" -msgstr "Generada - textura de ruido distorsionada por dos algoritmos de ruido" +msgstr "Procedimental - textura de ruido distorsionada por dos algoritmos de ruido" msgid "Image or Movie" @@ -28217,7 +28269,7 @@ msgstr "Mágica" msgid "Procedural - color texture based on trigonometric functions" -msgstr "Generada - textura en color basada en funciones trigonométricas" +msgstr "Procedimental - textura en color basada en funciones trigonométricas" msgid "Marble" @@ -28225,7 +28277,7 @@ msgstr "Mármol" msgid "Procedural - marble-like noise texture with wave generated bands" -msgstr "Generada - textura de ruido tipo mármol con bandas generadas mediante ondas" +msgstr "Procedimental - textura de ruido tipo mármol con bandas generadas mediante ondas" msgid "Musgrave" @@ -28233,11 +28285,11 @@ msgstr "Musgrave" msgid "Procedural - highly flexible fractal noise texture" -msgstr "Generada - textura de ruido fractal altamente flexible" +msgstr "Procedimental - textura de ruido fractal altamente flexible" msgid "Procedural - random noise, gives a different result every time, for every frame, for every pixel" -msgstr "Generada - ruido aleatorio, obtiene un resultado diferente cada vez, en cada fotograma, para cada píxel" +msgstr "Procedimental - ruido aleatorio, obtiene un resultado diferente cada vez, en cada fotograma, para cada píxel" msgid "Stucci" @@ -28245,7 +28297,7 @@ msgstr "Estuco" msgid "Procedural - create a fractal noise texture" -msgstr "Generada - crea una textura de ruido fractal" +msgstr "Procedimental - crea una textura de ruido fractal" msgid "Voronoi" @@ -28253,7 +28305,7 @@ msgstr "Voronoi" msgid "Procedural - create cell-like patterns based on Worley noise" -msgstr "Generada - crea patrones tipo celdas basados en ruido Worley" +msgstr "Procedimental - crea patrones tipo celdas basados en ruido Worley" msgid "Wood" @@ -28261,7 +28313,7 @@ msgstr "Madera" msgid "Procedural - wave generated bands or rings, with optional noise" -msgstr "Generada - bandas o anillos generados mediante ondas, con ruido opcional" +msgstr "Procedimental - bandas o anillos generados mediante ondas, con ruido opcional" msgid "Set negative texture RGB and intensity values to zero, for some uses like displacement this option can be disabled to get the full range" @@ -28289,7 +28341,7 @@ msgstr "Fundir" msgid "Procedural color blending texture" -msgstr "Textura generada para mezclar colores" +msgstr "Textura procedimental para mezclar colores" msgid "Progression" @@ -28365,7 +28417,7 @@ msgstr "Nubes" msgid "Procedural noise texture" -msgstr "Textura generada de ruido" +msgstr "Textura procedimental de ruido" msgid "Determine whether Noise returns grayscale or RGB values" @@ -28505,7 +28557,7 @@ msgstr "Generar ruido duro (transiciones definidas)" msgid "Procedural distorted noise texture" -msgstr "Textura generada de ruido distorsionado" +msgstr "Textura procedimental de ruido distorsionado" msgid "Distortion Amount" @@ -28735,7 +28787,7 @@ msgstr "Mapas MIP" msgid "Use auto-generated MIP maps for the image" -msgstr "Usar mapas MIP (Multum In Parvo) generados de forma automática para la imagen" +msgstr "Usar mapas MIP (\"Multum In Parvo\" ≈ todo en uno) generados de forma automática para la imagen" msgid "MIP Map Gaussian filter" @@ -28743,7 +28795,7 @@ msgstr "Filtro gaussiano para mapas MIP" msgid "Use Gauss filter to sample down MIP maps" -msgstr "Usa un filtro gaussiano para muestrear los mapas MIP (Multum In Parvo)" +msgstr "Usa un filtro gaussiano para muestrear los mapas MIP" msgid "Mirror X" @@ -28843,7 +28895,7 @@ msgstr "Turbulencia de las bandas de ruido y los anillos de ruido" msgid "Procedural musgrave texture" -msgstr "Textura generada Musgrave" +msgstr "Textura procedimental Musgrave" msgid "Highest Dimension" @@ -28967,7 +29019,7 @@ msgstr "Crear crestas" msgid "Procedural voronoi texture" -msgstr "Textura generada Voronoi" +msgstr "Textura procedimental Voronoi" msgid "Coloring" @@ -29294,6 +29346,14 @@ msgid "Maintained by community developers" msgstr "Mantenidos por desarrolladores de la comunidad" +msgid "Testing" +msgstr "A prueba" + + +msgid "Newly contributed scripts (excluded from release builds)" +msgstr "Scripts contribuidos recientemente (no incluidos en los lanzamientos oficiales)" + + msgid "Asset Blend Path" msgstr "Trayectoria archivo del recurso" @@ -37527,7 +37587,7 @@ msgstr "Permite interpolar las posiciones de los vértices" msgid "Multiplier used to control the magnitude of the velocity vectors for time effects" -msgstr "Multiplicador usado para controlar la magnitud de los vectores de velocidad para efectos con el tiempo" +msgstr "Multiplicador usado para controlar la magnitud de los vectores de velocidad para efectos temporales" msgid "Mesh to Volume Modifier" @@ -42898,6 +42958,10 @@ msgid "Map Range" msgstr "Mapear rango" +msgid "Clamp the result of the node to the target range" +msgstr "Limita el resultado del nodo al rango objetivo" + + msgid "Map UV" msgstr "Mapear UV" @@ -44926,6 +44990,14 @@ msgid "Provide a selection of faces that use the specified material" msgstr "Proporciona una selección de caras que usan el material especificado" +msgid "Mean Filter SDF Volume" +msgstr "Promediar volumen SDF" + + +msgid "Smooth the surface of an SDF volume by applying a mean filter" +msgstr "Suaviza la superficie de un volumen SDF aplicando un filtro de promedio" + + msgid "Merge by Distance" msgstr "Fusionar por distancia" @@ -45062,6 +45134,14 @@ msgid "Create a point in the point cloud for each selected face corner" msgstr "Crear un punto en la nube de puntos para cada esquina de la cara seleccionada" +msgid "Mesh to SDF Volume" +msgstr "Malla a volumen SDF" + + +msgid "Create an SDF volume with the shape of the input mesh's surface" +msgstr "Crea un volumen SDF con la forma de la superficie de la malla de entrada" + + msgid "How the voxel size is specified" msgstr "Modo de especificar el tamaño de los vóxeles" @@ -45114,6 +45194,14 @@ msgid "Offset a control point index within its curve" msgstr "Desplaza el identificador de un punto de control dentro de su curva" +msgid "Offset SDF Volume" +msgstr "Desplazar volumen SDF" + + +msgid "Move the surface of an SDF volume inwards or outwards" +msgstr "Mueve la superficie de un volumen SDF hacia adentro o afuera" + + msgid "Generate a point cloud with positions and radii defined by fields" msgstr "Genera una nube de puntos con ubicaciones y radios definidos mediante campos" @@ -45126,6 +45214,14 @@ msgid "Retrieve a point index within a curve" msgstr "Proporciona un identificador de punto en una curva" +msgid "Points to SDF Volume" +msgstr "Puntos a volumen SDF" + + +msgid "Generate an SDF volume sphere around every point" +msgstr "Genera un volumen SDF esférico alrededor de cada punto" + + msgid "Specify the approximate number of voxels along the diagonal" msgstr "Especificar la cantidad aproximada de vóxeles a lo largo de la diagonal" @@ -45270,6 +45366,14 @@ msgid "Rotate geometry instances in local or global space" msgstr "Rota la geometría de las instancias en espacio local o global" +msgid "SDF Volume Sphere" +msgstr "Volumen SDF esférico" + + +msgid "Generate an SDF Volume Sphere" +msgstr "Genera un volumen SDF con forma esférica" + + msgid "Sample Curve" msgstr "Muestrear curva" @@ -46740,7 +46844,7 @@ msgstr "Ladrillos" msgid "Generate a procedural texture producing bricks" -msgstr "Genera una textura procedural que produce ladrillos" +msgstr "Genera una textura procedimental que produce ladrillos" msgid "Offset Amount" @@ -47072,7 +47176,7 @@ msgstr "Cielo" msgid "Generate a procedural sky texture" -msgstr "Genera una textura de cielo procedural" +msgstr "Genera una textura procedimental de cielo" msgid "Air" @@ -47288,7 +47392,7 @@ msgstr "Ondas" msgid "Generate procedural bands or rings with noise" -msgstr "Genera bandas o anillos procedurales con ruido" +msgstr "Genera bandas o anillos procedimentales con ruido" msgid "Bands Direction" @@ -49078,6 +49182,15 @@ msgid "Extend selection" msgstr "Extender selección" +msgctxt "Operator" +msgid "Frame Channel Under Cursor" +msgstr "Enmarcar canal bajo el puntero" + + +msgid "Reset viewable area to show the channel under the cursor" +msgstr "Restablece el área visible para que se muestre el canal bajo el puntero" + + msgid "Include Handles" msgstr "Incluir asas" @@ -49086,6 +49199,10 @@ msgid "Include handles of keyframes when calculating extents" msgstr "Incluir asas de los fotogramas clave al calcular los límites" +msgid "Ignore frames outside of the preview range" +msgstr "Ignora los fotogramas por fuera del rango de previsualización" + + msgctxt "Operator" msgid "Remove Empty Animation Data" msgstr "Eliminar datos vacíos de animación" @@ -49269,6 +49386,15 @@ msgid "Remove selected F-Curves from their current groups" msgstr "Remueve las curvas-f seleccionadas de sus grupos actuales" +msgctxt "Operator" +msgid "Frame Selected Channels" +msgstr "Enmarcar canales seleccionados" + + +msgid "Reset viewable area to show the selected channels" +msgstr "Restablece el área visible para que se muestren los canales seleccionados" + + msgctxt "Operator" msgid "Clear Useless Actions" msgstr "Eliminar acciones inútiles" @@ -51456,10 +51582,6 @@ msgid "Set Axis" msgstr "Definir eje" -msgid "Set direction of scene axis rotating camera (or its parent if present) and assume selected track lies on real axis, joining it with the origin" -msgstr "Definir la dirección de un eje de la escena, rotando la cámara (o su superior si estuviera presente) y asumir que el rastro seleccionado se encuentra sobre un eje real, que lo conecta con el origen" - - msgid "Axis to use to align bundle along" msgstr "Eje a lo largo del cual alinear el marcador 3D" @@ -52148,6 +52270,10 @@ msgid "Selection" msgstr "Selección" +msgid "Paste text selected elsewhere rather than copied (X11/Wayland only)" +msgstr "Pegar texto seleccionado en otro lado, en vez de uno copiado (sólo para sistemas X11/Wayland)" + + msgctxt "Operator" msgid "Scrollback Append" msgstr "Anexar retroceso" @@ -52436,10 +52562,18 @@ msgid "Select points at the end of the curve as opposed to the beginning" msgstr "Seleccionar puntos al final de la curva, en vez de al principio" +msgid "Shrink the selection by one point" +msgstr "Contrae la selección un punto" + + msgid "Select all points in curves with any point selection" msgstr "Selecciona todos los puntos, en curvas que contengan algún punto seleccionado" +msgid "Grow the selection by one point" +msgstr "Expande la selección un punto" + + msgctxt "Operator" msgid "Select Random" msgstr "Seleccionar aleatoriamente" @@ -54154,6 +54288,14 @@ msgid "Allow >4 joint vertex influences. Models may appear incorrectly in many v msgstr "Permitir influencias de más de 4 huesos en vértices. Es posible que los modelos se muestren de forma incorrecta en muchos visualizadores" +msgid "Split Animation by Object" +msgstr "Dividir animación por objeto" + + +msgid "Export Scene as seen in Viewport, But split animation by Object" +msgstr "Exportar la escena tal como es mostrada en las vistas, pero dividir la animación por objeto" + + msgid "Export all Armature Actions" msgstr "Todas las acciones del esqueleto" @@ -54162,18 +54304,62 @@ msgid "Export all actions, bound to a single armature. WARNING: Option does not msgstr "Exportar todas las acciones enlazadas a un único esqueleto. ADVERTENCIA: La opción no soporta operaciones de exportación que incluyan a múltiples esqueletos" +msgid "Set all glTF Animation starting at 0" +msgstr "Definir todas las animaciones glTF para que comiencen en 0" + + +msgid "Set all glTF animation starting at 0.0s. Can be usefull for looping animations" +msgstr "Definir todas las animaciones glTF para que comiencen en 0.0s. Puede resultar útil para animaciones cíclicas" + + +msgid "Animation mode" +msgstr "Modo de animación" + + +msgid "Export Animation mode" +msgstr "Modo de exportación de animación" + + +msgid "Export actions (actives and on NLA tracks) as separate animations" +msgstr "Exportar acciones (activas y en pistas de ANL) como animaciones separadas" + + +msgid "Active actions merged" +msgstr "Acciones activas fusionadas" + + +msgid "All the currently assigned actions become one glTF animation" +msgstr "Todas las acciones actualmente asignadas serán fusionadas en una única animación glTF" + + +msgid "Export individual NLA Tracks as separate animation" +msgstr "Exportar cada pista de ANL como una animación separada" + + +msgid "Export baked scene as a single animation" +msgstr "Exportar la escena capturada como una única animación" + + msgid "Exports active actions and NLA tracks as glTF animations" -msgstr "Exportar las acciones activas y pistas de ANL como animaciones glTF" +msgstr "Exportar las acciones y pistas de ANL activas como animaciones glTF" msgid "Apply modifiers (excluding Armatures) to mesh objects -WARNING: prevents exporting shape keys" -msgstr "Aplica los modificadores a objetos poligonales (excepto a los esqueletos) - ADVERTENCIA: impide la exportación de Formas clave" +msgstr "Aplicar los modificadores a objetos poligonales (excepto a los esqueletos) - ADVERTENCIA: impide la exportación de Formas clave" msgid "Export Attributes (when starting with underscore)" msgstr "Exportar atributos (que comiencen con guion bajo)" +msgid "Bake All Objects Animations" +msgstr "Capturar animaciones de todos los objetos" + + +msgid "Force exporting animation on every objects. Can be usefull when using constraints or driver. Also useful when exporting only selection" +msgstr "Fuerza la exportación de la animación de cada objeto. Puede resultar útil al usar restricciones o controladores. También al exportar sólo la selección" + + msgid "Export cameras" msgstr "Exportar cámaras" @@ -54186,6 +54372,14 @@ msgid "Legal rights and conditions for the model" msgstr "Derechos y condiciones legales para el modelo" +msgid "Use Current Frame as Object Rest Transformations" +msgstr "Fotograma actual como reposo de transformaciones de objetos" + + +msgid "Export the scene in the current animation frame. When off, frame O is used as rest transformations for objects" +msgstr "Exporta la escena en el fotograma actual. Cuando se encuentre desactivado, el fotograma 0 será usado como reposo para las transformaciones de los objetos" + + msgid "Export Deformation Bones Only" msgstr "Sólo huesos de deformación" @@ -54298,6 +54492,14 @@ msgid "Clips animations to selected playback range" msgstr "Recorta las animaciones exportadas al rango de reproducción seleccionado" +msgid "Flatten Bone Hierarchy" +msgstr "Aplanar jerarquía de huesos" + + +msgid "Flatten Bone Hierarchy. Usefull in case of non decomposable TRS matrix" +msgstr "Aplana la jerarquía de huesos. Útil en caso de tener una matriz de traslación, rotación y escala que no sea posible descomponer" + + msgid "Output format for images. PNG is lossless and generally preferred, but JPEG might be preferable for web applications due to the smaller file size. Alternatively they can be omitted if they are not needed" msgstr "Formato de salida de imágenes. PNG no produce pérdida y por lo general es el preferido, pero es posible que se prefiera JPEG para aplicaciones web debido a su menor tamaño de archivo. Alternativamente podrán ser omitidos si no fueran necesarios" @@ -54366,6 +54568,14 @@ msgid "Export shape keys (morph targets)" msgstr "Exporta formas clave (objetivos de morph)" +msgid "Shape Key Animations" +msgstr "Animaciones de Formas clave" + + +msgid "Export shape keys animations (morph targets)" +msgstr "Exporta animaciones de Formas clave (objetivos de metamorfosis)" + + msgid "Shape Key Normals" msgstr "Normales" @@ -54382,6 +54592,26 @@ msgid "Export vertex tangents with shape keys (morph targets)" msgstr "Exportar tangentes a los vértices junto con las Formas clave (también llamados objetivos de metamorfosis)" +msgid "Negative Frames" +msgstr "Fotogramas negativos" + + +msgid "Negative Frames are slided or cropped" +msgstr "Los fotogramas negativos serán deslizados o recortados" + + +msgid "Slide" +msgstr "Deslizar" + + +msgid "Slide animation to start at frame 0" +msgstr "Desliza la animación para que comience en el fotograma 0" + + +msgid "Keep only frames above frame 0" +msgstr "Mantiene solamente los fotogramas a partir del fotograma 0" + + msgid "Merged Animation Name" msgstr "Nombre de animación fusionada" @@ -54394,6 +54624,22 @@ msgid "Export vertex normals with meshes" msgstr "Exportar normales de vértices junto con las mallas" +msgid "Force keeping channel for armature / bones" +msgstr "Preservar canal para esqueleto / huesos" + + +msgid "if all keyframes are identical in a rig force keeping the minimal animation" +msgstr "si todos los claves fueran idénticos en un sistema de control, forzará a que se preserve la mínima animación posible" + + +msgid "Force keeping channel for objects" +msgstr "Preservar canal para objetos" + + +msgid "if all keyframes are identical for object transformations force keeping the minimal animation" +msgstr "si todos los claves fueran idénticos en las transformaciones de un objeto, forzará a que se preserve la mínima animación posible" + + msgid "Optimize Animation Size" msgstr "Optimizar tamaño de animación" @@ -54418,8 +54664,16 @@ msgid "Reset pose bones between each action exported. This is needed when some b msgstr "Restablece los huesos de pose entre cada acción exportada. Esto es necesario cuando algunos de ellos no contengan claves en algunas animaciones" +msgid "Use Rest Position Armature" +msgstr "Usar posición reposo esqueleto" + + +msgid "Export armatures using rest position as joins rest pose. When off, current frame pose is used as rest pose" +msgstr "Exportar esqueletos usando su posición de reposo como pose de reposo de sus huesos. Si está desactivado, la pose del fotograma actual será usada" + + msgid "Skinning" -msgstr "Esqueletos" +msgstr "Deformación por esqueletos" msgid "Export skinning (armature) data" @@ -58331,14 +58585,31 @@ msgid "Place the cursor on the midpoint of selected keyframes" msgstr "Ubicar el cursor en el punto medio de los fotogramas clave seleccionados" +msgctxt "Operator" +msgid "Gaussian Smooth" +msgstr "Suavizado gaussiano" + + +msgid "Smooth the curve using a Gaussian filter" +msgstr "Suaviza la curva usando un filtro gaussiano" + + msgid "Filter Width" msgstr "Ancho de filtro" +msgid "How far to each side the operator will average the key values" +msgstr "Qué tan lejos hacia cada lado el filtro promediará los valores de los claves" + + msgid "Sigma" msgstr "Sigma" +msgid "The shape of the gaussian distribution, lower values make it sharper" +msgstr "La forma de la distribución gaussiana, valores menores la harán más aguda" + + msgctxt "Operator" msgid "Clear Ghost Curves" msgstr "Eliminar curvas atenuadas" @@ -58371,11 +58642,19 @@ msgstr "Oculta las curvas no seleccionadas" msgid "Insert a keyframe on all visible and editable F-Curves using each curve's current value" -msgstr "Inserta un fotograma clave en todas las curvas-f visibles y editables usando el valor actual en cada curva" +msgstr "Inserta un fotograma clave en todas las curvas-f visibles y editables, usando el valor actual en cada curva" msgid "Insert a keyframe on selected F-Curves using each curve's current value" -msgstr "Inserta un fotograma clave en las curvas-f seleccionadas usando el valor actual en cada curva" +msgstr "Inserta un fotograma clave en las curvas-f seleccionadas, usando el valor actual en cada curva" + + +msgid "Only Active F-Curve" +msgstr "Sólo curva-f activa" + + +msgid "Insert a keyframe on the active F-Curve using the curve's current value" +msgstr "Inserta un fotograma clave en la curva-f activa, usando su valor actual" msgid "Active Channels at Cursor" @@ -58410,6 +58689,46 @@ msgid "Flip times of selected keyframes, effectively reversing the order they ap msgstr "Invierte los tiempos de los fotogramas clave seleccionados, inviertiendo el orden en el que aparecen" +msgid "Paste keys with a value offset" +msgstr "Pega claves, aplicando un desplazamiento a sus valores" + + +msgid "Left Key" +msgstr "Clave a izquierda" + + +msgid "Paste keys with the first key matching the key left of the cursor" +msgstr "Pega claves, con el primero de ellos coincidiendo con el clave a la izquierda del puntero" + + +msgid "Right Key" +msgstr "Clave a derecha" + + +msgid "Paste keys with the last key matching the key right of the cursor" +msgstr "Pega claves, con el último de ellos coincidiendo con el clave a la derecha del puntero" + + +msgid "Current Frame Value" +msgstr "Valor del fotograma actual" + + +msgid "Paste keys relative to the value of the curve under the cursor" +msgstr "Pega claves, con valores relativos al valor de la curva bajo el puntero" + + +msgid "Cursor Value" +msgstr "Valor del cursor" + + +msgid "Paste keys relative to the Y-Position of the cursor" +msgstr "Pega claves, con valores relativos a la posición Y del puntero" + + +msgid "Paste keys with the same value as they were copied" +msgstr "Pega claves, usando sus valores originales" + + msgid "Set Preview Range based on range of selected keyframes" msgstr "Define el rango de previsualización basándose en el rango de claves seleccionados" @@ -58905,10 +59224,6 @@ msgid "Save the image with another name and/or settings" msgstr "Guarda la imagen con otro nombre y opciones" -msgid "Create a new image file without modifying the current image in blender" -msgstr "Crea un nuevo archivo de imagen sin modificar la imagen actual en Blender" - - msgid "Save As Render" msgstr "Guardar ya procesada" @@ -65062,10 +65377,18 @@ msgid "Curve from Mesh or Text objects" msgstr "Curva a partir de mallas o textos" +msgid "Mesh from Curve, Surface, Metaball, Text, or Point Cloud objects" +msgstr "Malla a partir de curvas, superficies, metabolas, textos o nubes de puntos" + + msgid "Grease Pencil from Curve or Mesh objects" msgstr "Lápiz de cera a partir de curvas o mallas" +msgid "Point Cloud from Mesh objects" +msgstr "Nube de puntos a partir de mallas" + + msgid "Curves from evaluated curve data" msgstr "Curvas a partir de datos evaluados de curva" @@ -65496,7 +65819,7 @@ msgstr "Agregar modificador" msgid "Add a procedural operation/effect to the active grease pencil object" -msgstr "Permite agregar una operación o efecto procedural al objeto de lápiz de cera activo" +msgstr "Permite agregar una operación o efecto procedimental al objeto de lápiz de cera activo" msgctxt "Operator" @@ -66188,7 +66511,7 @@ msgstr "Modo de malla" msgid "Add a procedural operation/effect to the active object" -msgstr "Permite agregar una operación o efecto procedural al objeto activo" +msgstr "Permite agregar una operación o efecto procedimental al objeto activo" msgid "For mesh objects, merge UV coordinates that share a vertex to account for imprecision in some modifiers" @@ -66587,6 +66910,30 @@ msgid "Paste onto all frames between the first and last selected key, creating n msgstr "Pegar sobre todos los fotogramas entre el primer y el último clave seleccionado, creando nuevos claves si fuera necesario" +msgid "Location Axis" +msgstr "Eje de posición" + + +msgid "Coordinate axis used to mirror the location part of the transform" +msgstr "Eje de coordenadas usado para simetrizar la posición de las transformaciones" + + +msgid "Rotation Axis" +msgstr "Eje de rotación" + + +msgid "Coordinate axis used to mirror the rotation part of the transform" +msgstr "Eje de coordenadas usado para simetrizar la rotación de las transformaciones" + + +msgid "Mirror Transform" +msgstr "Simetrizar transformaciones" + + +msgid "When pasting, mirror the transform relative to a specific object or bone" +msgstr "Al pegar, simetriza las transformaciones en torno a un objeto o hueso específico" + + msgctxt "Operator" msgid "Calculate Object Motion Paths" msgstr "Calcular trayectorias de movimiento" @@ -67049,10 +67396,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "Filtrado de nombres usando comodines estilo Unix '*', '?' y '[abc]'" -msgid "Set select on random visible objects" -msgstr "Definir aleatoriamente la selección de objetos visibles" - - msgctxt "Operator" msgid "Select Same Collection" msgstr "Seleccionar misma colección" @@ -67468,7 +67811,7 @@ msgstr "Transferir modo" msgid "Switches the active object and assigns the same mode to a new one under the mouse cursor, leaving the active mode in the current one" -msgstr "Cambia el objeto activo y asigna el mismo modo al que se encuentre bajo el puntero del ratón, manteniendo el modo activo en el objeto actual" +msgstr "Cambia el objeto activo y asigna el mismo modo a uno que se encuentre bajo el puntero del ratón, manteniendo el modo activo en el objeto actual" msgid "Flash On Transfer" @@ -69023,8 +69366,16 @@ msgid "Hide selected faces" msgstr "Oculta las caras seleccionadas" +msgid "Deselect Faces connected to existing selection" +msgstr "Deselecciona las caras conectadas a la selección actual" + + +msgid "Also deselect faces that only touch on a corner" +msgstr "También deseleccionar caras que únicamente se toquen en una esquina" + + msgid "Select linked faces" -msgstr "Seleccionar caras conectadas" +msgstr "Selecciona las caras conectadas" msgctxt "Operator" @@ -69036,6 +69387,14 @@ msgid "Select linked faces under the cursor" msgstr "Selecciona las caras vinculadas bajo el cursor" +msgid "Select Faces connected to existing selection" +msgstr "Selecciona las caras conectadas a la selección actual" + + +msgid "Also select faces that only touch on a corner" +msgstr "También seleccionar caras que únicamente se toquen en una esquina" + + msgctxt "Operator" msgid "Reveal Faces/Vertices" msgstr "Revelar caras/vértices" @@ -69260,7 +69619,7 @@ msgstr "Alterna el modo de pintura de texturas en la vista 3D" msgid "Change selection for all vertices" -msgstr "Cambiar la selección de todos los vértices" +msgstr "Cambia la selección de todos los vértices" msgctxt "Operator" @@ -69276,13 +69635,17 @@ msgid "Hide unselected rather than selected vertices" msgstr "Oculta los vértices no seleccionados" +msgid "Deselect Vertices connected to existing selection" +msgstr "Selecciona los vértices conectados a la selección actual" + + msgctxt "Operator" msgid "Select Linked Vertices" msgstr "Seleccionar vértices vinculados" msgid "Select linked vertices" -msgstr "Selecciona vértices vinculados" +msgstr "Selecciona los vértices vinculados" msgctxt "Operator" @@ -69298,6 +69661,10 @@ msgid "Whether to select or deselect linked vertices under the cursor" msgstr "Define si seleccionar o deseleccionar los vértices vinculados bajo el puntero" +msgid "Select Vertices connected to existing selection" +msgstr "Selecciona los vértices conectados a la selección actual" + + msgctxt "Operator" msgid "Dirty Vertex Colors" msgstr "Colores vértices sucios" @@ -72411,6 +72778,10 @@ msgid "Apply force in the Z axis" msgstr "Aplicar la fuerza en el eje Z" +msgid "How many times to repeat the filter" +msgstr "Cuántas veces repetir el filtro" + + msgid "Orientation of the axis to limit the filter force" msgstr "Orientación del eje que limitará la fuerza del filtro" @@ -72427,6 +72798,10 @@ msgid "Use the view axis to limit the force and set the gravity direction" msgstr "Usar el eje de la vista para limitar la fuerza y definir la dirección de la gravedad" +msgid "Starting Mouse" +msgstr "Inicio ratón" + + msgid "Filter strength" msgstr "Intensidad del filtro" @@ -74072,6 +74447,62 @@ msgid "Set render size and aspect from active sequence" msgstr "Define el tamaño y la proporción de procesamiento desde la secuencia activa" +msgctxt "Operator" +msgid "Add Retiming Handle" +msgstr "Agregar asa de re-temporización" + + +msgid "Add retiming Handle" +msgstr "Agrega un asa de re-temporización" + + +msgid "Timeline Frame" +msgstr "Fotograma de línea de tiempo" + + +msgid "Frame where handle will be added" +msgstr "Fotograma donde será agregada el asa" + + +msgctxt "Operator" +msgid "Move Retiming Handle" +msgstr "Mover asa re-temporización" + + +msgid "Move retiming handle" +msgstr "Mueve el asa de re-temporización" + + +msgid "Handle Index" +msgstr "Identificador de asa" + + +msgid "Index of handle to be moved" +msgstr "Identificador del asa a ser movida" + + +msgctxt "Operator" +msgid "Remove Retiming Handle" +msgstr "Eliminar asa de re-temporización" + + +msgid "Remove retiming handle" +msgstr "Elimina asa de re-temporización" + + +msgid "Index of handle to be removed" +msgstr "Identificador del asa a ser removida" + + +msgctxt "Operator" +msgid "Reset Retiming" +msgstr "Restablecer re-temporización" + + +msgid "Reset strip retiming" +msgstr "Restablece la re-temporización del clip" + + msgid "Use mouse to sample color in current frame" msgstr "Usar el ratón para muestrear un color en el fotograma actual" @@ -74090,10 +74521,6 @@ msgid "Add Scene Strip" msgstr "Agregar clip de escena" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "Agrega un clip a la línea de tiempo, que usa como fuente una escena de Blender" - - msgctxt "Operator" msgid "Add Strip with a new Scene" msgstr "Agregar clip con una nueva escena" @@ -75236,10 +75663,6 @@ msgid "Select word under cursor" msgstr "Seleccionar palabra bajo el cursor" -msgid "Set cursor selection" -msgstr "Definir selección de cursor" - - msgctxt "Operator" msgid "Find" msgstr "Buscar" @@ -76433,6 +76856,15 @@ msgid "Clear the property and use default or generated value in operators" msgstr "Quita la propiedad y usa el valor predefinido o generado en los operadores" +msgctxt "Operator" +msgid "View Drop" +msgstr "Soltar en vista" + + +msgid "Drag and drop onto a data-set or item within the data-set" +msgstr "Arrastrar y soltar sobre un conjunto de datos o uno de sus elementos" + + msgctxt "Operator" msgid "Rename View Item" msgstr "Renombrar elemento de la vista" @@ -76676,6 +77108,14 @@ msgid "Radius of the sphere or cylinder" msgstr "Radio de la esfera o cilindro" +msgid "Preserve Seams" +msgstr "Preservar costuras" + + +msgid "Separate projections by islands isolated by seams" +msgstr "Separa las proyecciones en islas demarcadas por costuras" + + msgctxt "Operator" msgid "Export UV Layout" msgstr "Exportar organización de UV" @@ -76897,10 +77337,34 @@ msgid "Rotate islands for best fit" msgstr "Rotar las islas para un mejor ajuste" +msgid "Shape Method" +msgstr "Tipo de forma" + + +msgid "Exact shape (Concave)" +msgstr "Exacta (cóncava)" + + +msgid "Uses exact geometry" +msgstr "Usa la geometría exacta" + + +msgid "Boundary shape (Convex)" +msgstr "Límites (convexa)" + + +msgid "Uses convex hull" +msgstr "Usa una envolvente convexa" + + msgid "Bounding box" msgstr "Marco delimitador" +msgid "Uses bounding boxes" +msgstr "Usa marcos delimitadores" + + msgid "Pack to" msgstr "Empacar a" @@ -76921,6 +77385,14 @@ msgid "Pack islands to active UDIM image tile or UDIM grid tile where 2D cursor msgstr "Empaca islas en la celda activa del UDIM o en la celda de la cuadrícula UDIM donde se encuentra el cursor 2D" +msgid "Original bounding box" +msgstr "Marco delimitador original" + + +msgid "Pack to starting bounding box of islands" +msgstr "Empaca hacia el marco delimitador inicial de las islas" + + msgctxt "Operator" msgid "Paste UVs" msgstr "Pegar UV" @@ -78801,10 +79273,6 @@ msgid "Rotate all root objects to match the global orientation settings otherwis msgstr "Rotar todos los objetos raíz para que coincidan con las preferencias de orientación global, de otro modo se define la orientación global por cada elemento de Collada" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Aplica los modificadores a la malla exportada (no destructivo)" - - msgid "Deform Bones Only" msgstr "Sólo huesos deformantes" @@ -79931,6 +80399,54 @@ msgid "Open a path in a file browser" msgstr "Abre una ruta en el explorador de archivos" +msgid "Save the scene to a PLY file" +msgstr "Guarda la escena a un archivo PLY" + + +msgid "ASCII Format" +msgstr "Formato ASCII" + + +msgid "Export file in ASCII format, export as binary otherwise" +msgstr "Exportar el archivo en formato ASCII, sino será exportado como binario" + + +msgid "Export Vertex Colors" +msgstr "Exportar colores de vértices" + + +msgid "Do not import/export color attributes" +msgstr "No importar/exportar atributos de color" + + +msgid "Vertex colors in the file are in sRGB color space" +msgstr "Los colores de vértices en el archivo están almacenados en espacio de color sRGB" + + +msgid "Vertex colors in the file are in linear color space" +msgstr "Los colores de vértices en el archivo están almacenados en espacio de color lineal" + + +msgid "Export Vertex Normals" +msgstr "Exportar normales de vértices" + + +msgid "Export specific vertex normals if available, export calculated normals otherwise" +msgstr "Exporta normales de vértices específicas, si estuvieran disponibles, de otro modo se exportarán normales calculadas" + + +msgid "Import an PLY file as an object" +msgstr "Importar un archivo PLY como un objeto" + + +msgid "Import Vertex Colors" +msgstr "Importar colores de vértices" + + +msgid "Merges vertices by distance" +msgstr "Fusionar vértices por distancia" + + msgctxt "Operator" msgid "Batch-Clear Previews" msgstr "Eliminar previsualizaciones por lotes" @@ -81784,10 +82300,6 @@ msgid "View Normal Limit" msgstr "Límite normal de vista" -msgid "Maximum edge length for dynamic topology sculpting (as divisor of blender unit - higher value means smaller edge length)" -msgstr "Longitud máxima de bordes durante el esculpido con topología dinámica (expresada como divisor de las unidades de Blender - valores mayores significan una longitud menor de bordes)" - - msgid "Detail Percentage" msgstr "Porcentaje de detalles" @@ -82041,7 +82553,7 @@ msgstr "Capas de redefinición" msgid "Render Procedural" -msgstr "Procesar procedimientos" +msgstr "Procesar procedimentales" msgid "Bone Constraints" @@ -82374,6 +82886,18 @@ msgid "Fluid Presets" msgstr "Ajustes de fluido" +msgid "Optimize Animations" +msgstr "Optimizar animaciones" + + +msgid "Rest & Ranges" +msgstr "Reposo y rangos" + + +msgid "Sampling Animations" +msgstr "Muestrear animaciones" + + msgid "PBR Extensions" msgstr "Extensiones PBR" @@ -82950,6 +83474,11 @@ msgid "Blade" msgstr "Dividir" +msgctxt "Operator" +msgid "Retime" +msgstr "Re-temporizar" + + msgid "Feature Weights" msgstr "Influencias" @@ -83241,6 +83770,10 @@ msgid "Global Transform" msgstr "Transformaciones globales" +msgid "Mirror Options" +msgstr "Opciones de simetría" + + msgid "Curves Sculpt Add Curve Options" msgstr "Opciones adición de curvas (esculpido de curvas)" @@ -85328,8 +85861,12 @@ msgid "Color of texture overlay" msgstr "Color de superposición de la textura" +msgid "Only Show Selected F-Curve Keyframes" +msgstr "Sólo mostrar claves de curva seleccionada" + + msgid "Only keyframes of selected F-Curves are visible and editable" -msgstr "Sólo mostrar y editar claves de las curvas-f seleccionadas" +msgstr "Sólo mostrar y permitir la edición de claves de las curvas-f seleccionadas" msgid "Undo Memory Size" @@ -85532,6 +86069,14 @@ msgid "Enter edit mode automatically after adding a new object" msgstr "Ingresar al modo Edición automáticamente luego de agregar un nuevo objeto" +msgid "F-Curve High Quality Drawing" +msgstr "Dibujo de curvas-f de alta calidad" + + +msgid "Draw F-Curves using Anti-Aliasing (disable for better performance)" +msgstr "Dibuja las curvas-f usando suavizado de bordes (deshabilitar para un mejor rendimiento)" + + msgid "Global Undo" msgstr "Deshacer global" @@ -87304,6 +87849,14 @@ msgid "Show Blender memory usage" msgstr "Muestra el uso de memoria de Blender" +msgid "Show Scene Duration" +msgstr "Mostrar duración de escena" + + +msgid "Show scene duration" +msgstr "Muestra la duración de la escena" + + msgid "Show Statistics" msgstr "Mostrar estadísticas" @@ -87372,14 +87925,6 @@ msgid "Slight" msgstr "Suave" -msgid "TimeCode Style" -msgstr "Código de tiempo" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "Formato de código de tiempo usado cuando no se muestra el tiempo en fotogramas" - - msgid "Minimal Info" msgstr "Información mínima" @@ -87556,6 +88101,38 @@ msgid "Color range used for weight visualization in weight painting mode" msgstr "Rango de colores usado para visualizar influencias en modo de pintura de influencias" +msgid "Primitive Boolean" +msgstr "Primitiva booleana" + + +msgid "RNA wrapped boolean" +msgstr "Envoltura RNA para una variable booleana" + + +msgid "Primitive Float" +msgstr "Primitiva decimal" + + +msgid "RNA wrapped float" +msgstr "Envoltura RNA para una variable decimal" + + +msgid "Primitive Int" +msgstr "Primitiva entera" + + +msgid "RNA wrapped int" +msgstr "Envoltura RNA para una variable entera" + + +msgid "String Value" +msgstr "Valor de texto" + + +msgid "RNA wrapped string" +msgstr "Envoltura RNA para una cadena de texto" + + msgid "ID Property Group" msgstr "Grupo de propiedades del ID" @@ -88637,7 +89214,7 @@ msgstr "Filtro caja" msgid "Gaussian filter" -msgstr "Filtro Gaussiano" +msgstr "Filtro gaussiano" msgid "Blackman-Harris" @@ -88868,10 +89445,6 @@ msgid "Tile Size" msgstr "Tamaño de celdas" -msgid "Limit the render time (excluding synchronization time).Zero disables the limit" -msgstr "Limita el tiempo de procesamiento (excluyendo el tiempo de sincronización). Cero para deshabilitar el límite" - - msgid "Transmission Bounces" msgstr "Rebotes de transmisión" @@ -89744,10 +90317,6 @@ msgid "Is Axis Aligned" msgstr "Es alineada a ejes" -msgid "Is current view aligned to an axis (does not check the view is orthographic use \"is_perspective\" for that). Assignment sets the \"view_rotation\" to the closest axis aligned view" -msgstr "Si la vista actual se encuentra alineada a un eje (no comprueba si la vista es ortogonal, usar \"is_perspective\" para ese fin). Define la rotación de la vista al eje ortogonal más próximo" - - msgid "Is Perspective" msgstr "Es perspectiva" @@ -90013,10 +90582,6 @@ msgid "Bias" msgstr "Desviación" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "Desviación hacia las caras más alejadas del objeto (en unidades de Blender)" - - msgid "Algorithm to generate the margin" msgstr "Algoritmo usado para generar el margen" @@ -90764,6 +91329,22 @@ msgid "Active index in render view array" msgstr "Identificador del elemento activo en la matriz de vistas" +msgid "Retiming Handle" +msgstr "Asa de re-temporización" + + +msgid "Handle mapped to particular frame that can be moved to change playback speed" +msgstr "Asa, mapeada a un fotograma específico, que puede ser movida para cambiar la velocidad de reproducción" + + +msgid "Position of retiming handle in timeline" +msgstr "Posición del asa de re-temporización en la línea de tiempo" + + +msgid "Collection of RetimingHandle" +msgstr "Colección de asas de re-temporización" + + msgid "Constraint influencing Objects inside Rigid Body Simulation" msgstr "Restricción que ejerce influencia sobre los objetos participantes de la simulación de cuerpos rígidos" @@ -91040,10 +91621,6 @@ msgid "Blender 2.7" msgstr "Blender 2.7" -msgid "Spring implementation used in blender 2.7. Damping is capped at 1.0" -msgstr "Implementación de tensores de Blender 2.7. Amortiguación topeada en 1,0" - - msgid "Blender 2.8" msgstr "Blender 2.8" @@ -91700,10 +92277,6 @@ msgid "4096 px" msgstr "4096 px" -msgid "Number of time the light is reinjected inside light grids, 0 disable indirect diffuse light" -msgstr "Cantidad de veces que la luz es reinyectada en las cuadrículas de iluminación, 0 deshabilita la iluminación difusa indirecta" - - msgid "Filter Quality" msgstr "Calidad de filtrado" @@ -91844,10 +92417,6 @@ msgid "Shadow Pool Size" msgstr "Memoria para sombras" -msgid "Size of the shadow pool, bigger pool size allows for more shadows in the scene but might not fits into GPU memory" -msgstr "Tamaño de memoria para sombras, un tamaño mayor permitirá más sombras en la escena, pero es posible que no entre en la memoria de la GPU" - - msgid "16 MB" msgstr "16 MB" @@ -93007,10 +93576,6 @@ msgid "Scene Sequence" msgstr "Escena" -msgid "Sequence strip to used the rendered image of a scene" -msgstr "Clip de secuencia para usar la imagen procesada de una escena" - - msgid "Scene that this sequence uses" msgstr "Escena que usa esta secuencia" @@ -93019,10 +93584,6 @@ msgid "Camera Override" msgstr "Redefinir cámara" -msgid "Override the scenes active camera" -msgstr "Redefine la cámara activa de la escena" - - msgid "Input type to use for the Scene strip" msgstr "Tipo de entrada a usar para el clip de Escena" @@ -93727,10 +94288,6 @@ msgid "How to resolve overlap after transformation" msgstr "Cómo resolver el solapamiento después de una transformación" -msgid "Move strips so transformed strips fits" -msgstr "Mueve los clips para que los clips transformados queden ajustados" - - msgid "Trim or split strips to resolve overlap" msgstr "Recorta o divide los clips para resolver el solapamiento" @@ -93840,11 +94397,11 @@ msgstr "Mostrar el efecto en las vistas" msgid "Gaussian Blur Effect" -msgstr "Desenfoque Gaussiano" +msgstr "Desenfoque gaussiano" msgid "Gaussian Blur effect" -msgstr "Efecto de desenfoque Gaussiano" +msgstr "Efecto de desenfoque gaussiano" msgid "Rotation of the effect" @@ -95883,6 +96440,14 @@ msgid "Show empty objects" msgstr "Mostrar objetos vacíos" +msgid "Show Grease Pencil" +msgstr "Mostrar lápiz de cera" + + +msgid "Show grease pencil objects" +msgstr "Mostrar objetos de lápiz de cera" + + msgid "Show Lights" msgstr "Mostrar luces" @@ -96603,10 +97168,6 @@ msgid "3D Region" msgstr "Región 3D" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "Región 3D en este espacio, en caso de que la región de cámara sea una vista cuádruple" - - msgid "Quad View Regions" msgstr "Regiones de vista cuádruple" @@ -97161,10 +97722,6 @@ msgid "Endpoint V" msgstr "Extremo V" -msgid "Make this nurbs surface meet the endpoints in the V direction " -msgstr "Hace que esta curva o superficie NURBS alcance los extremos en la dirección V " - - msgid "Smooth the normals of the surface or beveled curve" msgstr "Suaviza las normales de la superficie o curva biselada" @@ -98357,11 +98914,15 @@ msgstr "Opciones del tema para el editor de imágenes" msgid "Edge Select" -msgstr "Borde seleccionado" +msgstr "Borde - Seleccionado" + + +msgid "Edge Width" +msgstr "Borde - Ancho" msgid "Active Vertex/Edge/Face" -msgstr "Vértice/Borde/Cara activo" +msgstr "Vértice/Borde/Cara - Activo" msgid "Face Orientation Back" @@ -98376,6 +98937,10 @@ msgid "Face Orientation Front" msgstr "Cara - Orientación frontal" +msgid "Face Retopology" +msgstr "Cara - Retopología" + + msgid "Face Selected" msgstr "Cara - Seleccionada" @@ -99731,7 +100296,7 @@ msgstr "Tipo de elemento al cual adherir" msgid "Face Nearest Steps" -msgstr "Intervalo para más cercano sobre caras" +msgstr "Intervalos de Más cercano sobre caras" msgid "Number of steps to break transformation into for face nearest snapping" @@ -100042,6 +100607,10 @@ msgid "Consider objects as whole when finding volume center" msgstr "Considerar objetos completos al buscar el centro de los volúmenes" +msgid "Project individual elements on the surface of other objects (Always enabled with Face Nearest)" +msgstr "Proyectar elementos individuales sobre la superficie de otros objetos (siempre habilitado al usar Más cercano sobre caras)" + + msgid "Use Snap for Rotation" msgstr "Usar adherencia para rotación" @@ -100521,10 +101090,6 @@ msgid "Unit Scale" msgstr "Escala de unidades" -msgid "Scale to use when converting between blender units and dimensions. When working at microscopic or astronomical scale, a small or large unit scale respectively can be used to avoid numerical precision problems" -msgstr "Escala usada al convertir de unidades de Blender a dimensiones reales. Al trabajar en escalas microscópicas o astronómicas, es posible usar respectivamente escalas pequeñas o grandes para evitar problemas de precisión numérica" - - msgid "Unit System" msgstr "Sistema de unidades" @@ -100793,6 +101358,14 @@ msgid "Display size for normals in the 3D view" msgstr "Tamaño de visualización de las normales en la vista 3D" +msgid "Retopology Offset" +msgstr "Desplazamiento retopología" + + +msgid "Offset used to draw edit mesh in front of other geometry" +msgstr "Desplazamiento usado al dibujar la malla editable en frente de otra geometría" + + msgid "Curves Sculpt Cage Opacity" msgstr "Opacidad jaula de esculpido de curvas" @@ -100993,6 +101566,14 @@ msgid "Display Freestyle face marks, used with the Freestyle renderer" msgstr "Muestra las caras marcadas de Freestyle, usadas por el motor de procesamiento Freestyle" +msgid "Light Colors" +msgstr "Colores de luces" + + +msgid "Show light colors" +msgstr "Mostrar colores de luces" + + msgid "HDRI Preview" msgstr "Previsualizar HDRI" @@ -101061,6 +101642,10 @@ msgid "Show dashed lines indicating parent or constraint relationships" msgstr "Muestra líneas discontinuas indicando relaciones de jerarquía o restricción" +msgid "Retopology" +msgstr "Retopología" + + msgid "Sculpt Curves Cage" msgstr "Jaula de esculpido de curvas" @@ -105230,16 +105815,31 @@ msgid "Node Attachment (Off)" msgstr "No insertar nodos" +msgctxt "WindowManager" +msgid "Vert/Edge Slide" +msgstr "Deslizar vértices/bordes" + + msgctxt "WindowManager" msgid "Rotate" msgstr "Rotar" +msgctxt "WindowManager" +msgid "TrackBall" +msgstr "Rotación esférica" + + msgctxt "WindowManager" msgid "Resize" msgstr "Redimensionar" +msgctxt "WindowManager" +msgid "Rotate Normals" +msgstr "Rotar normales" + + msgctxt "WindowManager" msgid "Automatic Constraint" msgstr "Restricción automática" @@ -105285,10 +105885,20 @@ msgid "Sample a Point" msgstr "Muestrear un punto" +msgctxt "WindowManager" +msgid "Mesh Filter Modal Map" +msgstr "Mapa modal filtro de malla" + + msgid "No selected keys, pasting over scene range" msgstr "Ningún clave seleccionado, pegando sobre el rango de la escena" +msgctxt "Operator" +msgid "Mirrored" +msgstr "Simetrizada" + + msgid "Clipboard does not contain a valid matrix" msgstr "El portapapeles no contiene una matriz válida" @@ -105319,6 +105929,10 @@ msgid "Paste and Bake" msgstr "Pegar y capturar" +msgid "Unable to mirror, no mirror object/bone configured" +msgstr "No es posible simetrizar, no hay un objeto o hueso de simetría configurado" + + msgid "Denoising completed" msgstr "Reducción de ruidos finalizada" @@ -105363,6 +105977,10 @@ msgid "Requires NVIDIA GPU with compute capability %s" msgstr "Requiere una GPU de NVIDIA con capacidad de cálculo %s" +msgid "HIP temporarily disabled due to compiler bugs" +msgstr "HIP deshabilitado temporalmente debido a errores en el compilador" + + msgid "and NVIDIA driver version %s or newer" msgstr "y una versión del controlador de NVIDIA %s o más nueva" @@ -105691,6 +106309,10 @@ msgid "Generating Cycles/EEVEE compatible material, but won't be visible with %s msgstr "Generando un material compatible con Cycles/EEVEE, pero no será visible con el motor %s" +msgid "Limit to" +msgstr "Limitar a" + + msgid "Mesh '%s' has polygons with more than 4 vertices, cannot compute/export tangent space for it" msgstr "La malla '%s' contiene polígonos con más de 4 vértices, no es posible calcular/exportar un espacio tangencial para ésta" @@ -105744,6 +106366,10 @@ msgid "Add Material Variant" msgstr "Agregar variante de material" +msgid "No glTF Animation" +msgstr "No existe ninguna animación glTF" + + msgid "Variant" msgstr "Variante" @@ -105757,6 +106383,10 @@ msgid "Add a new Variant Slot" msgstr "Agrega un nuevo contenedor de variante" +msgid "Curves as NURBS" +msgstr "Curvas como NURBS" + + msgid "untitled" msgstr "sin_nombre" @@ -108923,7 +109553,7 @@ msgstr "Base secundaria" msgid "Gaussian Filter" -msgstr "Filtro Gaussiano" +msgstr "Filtro gaussiano" msgid "Calculate" @@ -109670,11 +110300,6 @@ msgid "Decimate (Ratio)" msgstr "Diezmar (porcentaje)" -msgctxt "Operator" -msgid "Decimate (Allowed Change)" -msgstr "Diezmar (cambio permitido)" - - msgctxt "Operator" msgid "Selection to Cursor Value" msgstr "Selección a valor del cursor" @@ -109685,6 +110310,11 @@ msgid "Flatten Handles" msgstr "Aplanar asas" +msgctxt "Operator" +msgid "Decimate (Allowed Change)" +msgstr "Diezmar (cambio permitido)" + + msgctxt "Operator" msgid "Less" msgstr "Menos" @@ -110113,6 +110743,11 @@ msgid "Link to Viewer" msgstr "Vincular a vista" +msgctxt "Operator" +msgid "Exit Group" +msgstr "Salir del grupo" + + msgctxt "Operator" msgid "Online Manual" msgstr "Manual en línea" @@ -110144,11 +110779,6 @@ msgid "Slot %d" msgstr "%d" -msgctxt "Operator" -msgid "Exit Group" -msgstr "Salir del grupo" - - msgctxt "Operator" msgid "Edit" msgstr "Editar" @@ -111241,6 +111871,11 @@ msgid "Wavefront (.obj)" msgstr "Wavefront (.obj)" +msgctxt "Operator" +msgid "Stanford PLY (.ply) (experimental)" +msgstr "PLY (.ply) de Stanford (experimental)" + + msgctxt "Operator" msgid "STL (.stl) (experimental)" msgstr "STL (.stl) (experimental)" @@ -111363,6 +111998,10 @@ msgid "Scene Statistics" msgstr "Estadísticas de escena" +msgid "Scene Duration" +msgstr "Duración de escena" + + msgid "System Memory" msgstr "Memoria del sistema" @@ -112256,9 +112895,24 @@ msgid "Locks" msgstr "Bloqueo" +msgctxt "Operator" +msgid "Sphere" +msgstr "Esferizar" + + msgctxt "Operator" msgid "Box Show" -msgstr "Mostrar caja" +msgstr "Mostrar (Marco)" + + +msgctxt "Operator" +msgid "Toggle Visibility" +msgstr "Alternar visibilidad" + + +msgctxt "Operator" +msgid "Hide Active Face Set" +msgstr "Ocultar conjunto de caras activo" msgctxt "Operator" @@ -112271,13 +112925,33 @@ msgid "Hide Masked" msgstr "Ocultar lo enmascarado" +msgctxt "Operator" +msgid "Box Add" +msgstr "Agregar (Marco)" + + +msgctxt "Operator" +msgid "Lasso Add" +msgstr "Agregar (Lazo)" + + +msgctxt "Operator" +msgid "Fair Positions" +msgstr "Posiciones justas" + + +msgctxt "Operator" +msgid "Fair Tangency" +msgstr "Tangencia justa" + + msgid "Set Pivot" msgstr "Definir pivote" msgctxt "Operator" msgid "Transfer Sculpt Mode" -msgstr "Transferir modo Esculpido" +msgstr "Transferir modo de Esculpido" msgctxt "Operator" @@ -113003,6 +113677,11 @@ msgid "Visual Geometry to Mesh" msgstr "Geometría visual a malla" +msgctxt "Operator" +msgid "Make Parent without Inverse (Keep Transform)" +msgstr "Asignar superior sin compensar (preservar transformaciones)" + + msgctxt "Operator" msgid "Limit Total Vertex Groups" msgstr "Limitar total de grupos de vértices" @@ -113960,6 +114639,10 @@ msgid "Loading failed: " msgstr "Falló la carga: " +msgid "Loading \"%s\" failed: " +msgstr "Falla al cargar '%s': " + + msgid "Linked Data" msgstr "Datos vinculados" @@ -115243,6 +115926,14 @@ msgid "Can't edit this property from a linked data-block" msgstr "No es posible editar esta propiedad proveniente de un bloque de datos vinculado" +msgid "No channels to operate on" +msgstr "Ningún canal sobre el cual operar" + + +msgid "No keyframes to focus on." +msgstr "Ningún clave sobre el cual poner foco." + + msgid "" msgstr "" @@ -115367,6 +116058,10 @@ msgid "Coefficient" msgstr "Coeficiente" +msgid "Modifier requires original data" +msgstr "El modificador requiere datos originales" + + msgid "" msgstr "" @@ -115656,7 +116351,7 @@ msgstr "Distender pose" msgid "Blend to Neighbor" -msgstr "Fusionar a cercano" +msgstr "Fundir a cercano" msgid "Sliding-Tool" @@ -116678,6 +117373,34 @@ msgid "Drop %s on slot %d of %s" msgstr "Soltar %s sobre el contenedor %d de %s" +msgid "Expected an array of numbers: [n, n, ...]" +msgstr "Se esperaba un vector numérico: [n, n, ...]" + + +msgid "Expected a number" +msgstr "Se esperaba un número" + + +msgid "Paste expected 3 numbers, formatted: '[n, n, n]'" +msgstr "Pegar esperaba 3 números, formateados así: '[n, n, n]'" + + +msgid "Paste expected 4 numbers, formatted: '[n, n, n, n]'" +msgstr "Pegar esperaba 4 números, formateados así: '[n, n, n, n]'" + + +msgid "Unsupported key: Unknown" +msgstr "Tecla no soportada: Desconocida" + + +msgid "Unsupported key: CapsLock" +msgstr "Tecla no soportada: BloqueoMayúsculas" + + +msgid "Failed to find '%s'" +msgstr "No se encontró '%s'" + + msgid "Menu Missing:" msgstr "Menú faltante:" @@ -117071,11 +117794,11 @@ msgstr "Mostrar registro de información" msgid "The Cycles Alembic Procedural is only available with the experimental feature set" -msgstr "El procedimiento de Cycles para Alembic sólo se encuentra disponible dentro del conjunto de características experimentales" +msgstr "El procedimental Alembic de Cycles sólo se encuentra disponible dentro del conjunto de características experimentales" msgid "The active render engine does not have an Alembic Procedural" -msgstr "El motor de procesamiento activo no tiene un procedimiento para Alembic" +msgstr "El motor de procesamiento activo no tiene un procedimental Alembic" msgid "Browse Scene to be linked" @@ -117218,6 +117941,18 @@ msgid "Browse ID data to be linked" msgstr "Explorar datos de ID a ser vinculados" +msgid "The data-block %s is not overridable" +msgstr "El bloque de datos %s no es redefinible" + + +msgid "The type of data-block %s is not yet implemented" +msgstr "El tipo de bloque de datos %s aún no se encuentra implementado" + + +msgid "The data-block %s could not be overridden" +msgstr "El bloque de datos %s no pudo ser redefinido" + + msgctxt "Object" msgid "New" msgstr "Nuevo" @@ -117396,6 +118131,10 @@ msgid "No filepath given" msgstr "No se proporcionó una ruta al archivo" +msgid "Could not add a layer to the cache file" +msgstr "No se pudo agregar una capa al archivo de caché" + + msgid "Global Orientation" msgstr "Orientación global" @@ -117464,18 +118203,10 @@ msgid "Unable to import '%s'" msgstr "No es posible importar '%s'" -msgid "Limit to" -msgstr "Limitar a" - - msgid "Triangulated Mesh" msgstr "Malla triangulada" -msgid "Curves as NURBS" -msgstr "Curvas como NURBS" - - msgid "Grouping" msgstr "Grupos" @@ -118767,6 +119498,22 @@ msgid "The remesher cannot run with a Multires modifier in the modifier stack" msgstr "No es posible rehacer una malla que contenga el modificador Multi-resolución" +msgid "QuadriFlow: Remeshing cancelled" +msgstr "Rehacer malla usando cuadriláteros: Operación cancelada" + + +msgid "QuadriFlow: The mesh needs to be manifold and have face normals that point in a consistent direction" +msgstr "Rehacer malla usando cuadriláteros: La malla necesita ser desplegable y contener normales de caras que apunten en una dirección consistente" + + +msgid "QuadriFlow: Remeshing completed" +msgstr "Rehacer malla usando cuadriláteros: Operación completada" + + +msgid "QuadriFlow: Remeshing failed" +msgstr "Rehacer malla usando cuadriláteros: Operación fallida" + + msgid "Select Collection" msgstr "Seleccionar colección" @@ -118999,6 +119746,18 @@ msgid "Bake failed: invalid canvas" msgstr "Captura fallida: lienzo inválido" +msgid "Baking canceled!" +msgstr "¡Captura cancelada!" + + +msgid "DynamicPaint: Bake complete! (%.2f)" +msgstr "PinturaDinámica: ¡Captura completada! (%.2f)" + + +msgid "DynamicPaint: Bake failed: %s" +msgstr "PinturaDinámica: Captura fallida: %s" + + msgid "Removed %d double particle(s)" msgstr "%d partículas duplicadas removidas" @@ -119043,6 +119802,18 @@ msgid "Fluid: Could not use default cache directory '%s', please define a valid msgstr "Fluido: no fue posible usar directorio de caché predefinido '%s', por favor definir manualmente una ruta de caché válida" +msgid "Fluid: %s complete! (%.2f)" +msgstr "Fluido: ¡%s completado! (%.2f)" + + +msgid "Fluid: %s failed: %s" +msgstr "Fluido: %s fallido: %s" + + +msgid "Fluid: %s canceled!" +msgstr "Fluido: ¡%s cancelado!" + + msgid "Library override data-blocks only support Disk Cache storage" msgstr "Los bloques de datos de biblioteca redefinidos sólo soportan almacenamiento en caché de disco" @@ -119327,6 +120098,14 @@ msgid "Skipping existing frame \"%s\"" msgstr "Omitiendo fotograma ya existente \"%s\"" +msgid "No active object, unable to apply the Action before rendering" +msgstr "Ningún objeto activo, no es posible aplicar la acción antes del procesamiento" + + +msgid "Object %s has no pose, unable to apply the Action before rendering" +msgstr "El objeto %s no contiene ninguna pose, no es posible aplicar la acción antes del procesamiento" + + msgid "Unable to remove material slot in edit mode" msgstr "No es posible eliminar un contenedor de material en modo edición" @@ -119584,6 +120363,10 @@ msgid "Invalid UV map: UV islands must not overlap" msgstr "Mapa UV inválido: Las islas UV no deben superponerse entre sí" +msgid "Cursor must be over the surface mesh" +msgstr "El puntero debe encontrarse sobre la superficie de la malla" + + msgid "Curves do not have surface attachment information" msgstr "Las curvas no contienen información de anclaje a superficie" @@ -119620,6 +120403,22 @@ msgid "Packed MultiLayer files cannot be painted: %s" msgstr "No es posible pintar los archivos multicapa empacados: %s" +msgid " UVs," +msgstr " UV," + + +msgid " Materials," +msgstr " Materiales," + + +msgid " Textures," +msgstr " Texturas," + + +msgid " Stencil," +msgstr " Esténcil," + + msgid "Untitled" msgstr "Sin nombre" @@ -119724,6 +120523,10 @@ msgid "Texture mapping not set to 3D, results may be unpredictable" msgstr "El mapeo de textura no está definido en 3D, es posible que los resultados sean impredecibles" +msgid "%s: Confirm, %s: Cancel" +msgstr "%s: Confirmar, %s: Cancelar" + + msgid "Move the mouse to expand the mask from the active vertex. LMB: confirm mask, ESC/RMB: cancel" msgstr "Mover el ratón para expandir la máscara desde el vértice activo. clic Izq: confirmar máscara, Esc/clic Der: cancelar" @@ -120120,6 +120923,10 @@ msgid "Yesterday" msgstr "Ayer" +msgid "Could not rename: %s" +msgstr "No fue posible renombrar: '%s'" + + msgid "Unable to create configuration directory to write bookmarks" msgstr "No es posible crear directorio de configuración para guardar los marcadores" @@ -120353,7 +121160,7 @@ msgstr "ERROR: El controlador es inútil sin valores de entrada" msgid "TIP: Use F-Curves for procedural animation instead" -msgstr "CONSEJO: Usar curvas-f para animación procedural" +msgstr "CONSEJO: Es mejor usar curvas-f para animación procedimental" msgid "F-Modifiers can generate curves for those too" @@ -120477,6 +121284,14 @@ msgid "All %d rotation channels were filtered" msgstr "Todos los %d canales de rotación fueron filtrados" +msgid "No drivers deleted" +msgstr "No se borró ningún controlador" + + +msgid "Deleted %u drivers" +msgstr "Se borraron %u controladores" + + msgid "Decimate Keyframes" msgstr "Diezmar claves" @@ -120493,6 +121308,18 @@ msgid "Ease Keys" msgstr "Suavizar claves" +msgid "Gaussian Smooth" +msgstr "Suavizado gaussiano" + + +msgid "Cannot find keys to operate on." +msgstr "No es posible encontrar claves sobre los cuales operar." + + +msgid "Decimate: Skipping non linear/bezier keyframes!" +msgstr "Diezmar: ¡Omitiendo claves distintos a lineal o Bezier!" + + msgid "There is no animation data to operate on" msgstr "No existen datos de animación sobre los cuales operar" @@ -120709,6 +121536,10 @@ msgid " | Objects:%s/%s" msgstr " | Objetos:%s/%s" +msgid "Duration: %s (Frame %i/%i)" +msgstr "Duración: %s (Fotograma %i/%i)" + + msgid "Memory: %s" msgstr "Memoria: %s" @@ -121738,6 +122569,14 @@ msgid "Select movie or image strips" msgstr "Seleccionar clips de película o imagen" +msgid "No handle available" +msgstr "Ningún asa disponible" + + +msgid "This strip type can not be retimed" +msgstr "Este tipo de clip no puede ser re-temporizado" + + msgid "No active sequence!" msgstr "No hay secuencia activa!" @@ -123009,6 +123848,142 @@ msgid "All line art objects are now cleared" msgstr "Todos los objetos de arte lineal se encuentran ahora limpios" +msgid "No active object or active object isn't a GPencil object." +msgstr "No hay un objeto activo o el objeto activo no es un objeto de Lápiz de cera." + + +msgid "Could not open Alembic archive for reading! See console for detail." +msgstr "¡No fue posible abrir el archivo Alembic para lectura! Ver la consola para más detalles." + + +msgid "PLY Importer: failed importing, unknown error." +msgstr "Importador de PLY: importación fallida, error desconocido." + + +msgid "PLY Importer: failed importing, no vertices." +msgstr "Importador de PLY: importación fallida, no hay vértices." + + +msgid "PLY Importer: %s: %s" +msgstr "Importador de PLY: %s: %s" + + +msgid "%s: Couldn't determine package-relative file name from path %s" +msgstr "%s: No fue posible determinar el nombre de archivo relativo al paquete, en la ruta %s" + + +msgid "%s: Couldn't copy file %s to %s." +msgstr "%s: No fue posible copiar el archivo %s a %s." + + +msgid "%s: Couldn't split UDIM pattern %s" +msgstr "%s: No fue posible dividir el patrón UDIM %s" + + +msgid "%s: Will not overwrite existing asset %s" +msgstr "%s: No se sobrescribirá el recurso existente %s" + + +msgid "%s: Can't resolve path %s" +msgstr "%s: No es posible resolver la ruta %s" + + +msgid "%s: Can't resolve path %s for writing" +msgstr "%s: No es posible resolver la ruta %s para escritura" + + +msgid "%s: Can't copy %s. The source and destination paths are the same" +msgstr "%s: No es posible copiar %s. Las rutas de origen y destino son idénticas" + + +msgid "%s: Can't write to asset %s. %s." +msgstr "%s: No es posible escribir en el recurso %s. %s." + + +msgid "%s: Can't open source asset %s" +msgstr "%s: No es posible abrir el recurso de origen %s" + + +msgid "%s: Will not copy zero size source asset %s" +msgstr "%s: No se copiará el recurso de origen %s cuyo tamaño es nulo" + + +msgid "%s: Null buffer for source asset %s" +msgstr "%s: Buffer nulo para el recurso de origen %s" + + +msgid "%s: Can't open destination asset %s for writing" +msgstr "%s: no es posible abrir el recurso de destino %s para escritura" + + +msgid "%s: Error writing to destination asset %s" +msgstr "%s: Error al escribir en el recurso de destino %s" + + +msgid "%s: Couldn't close destination asset %s" +msgstr "%s: No fue posible cerrar el recurso de destino %s" + + +msgid "%s: Texture import directory path empty, couldn't import %s" +msgstr "%s: Ruta del directorio de importación de texturas vacía, no fue posible importar %s" + + +msgid "%s: import directory is relative but the blend file path is empty. Please save the blend file before importing the USD or provide an absolute import directory path. Can't import %s" +msgstr "%s: el directorio de importación es relativo, pero la ruta del archivo .blend se encuentra vacía. Por favor guardar el archivo blend antes de importar el archivo USD o proporcionar una ruta absoluta para el directorio de importación. No es posible importar %s" + + +msgid "%s: Couldn't create texture import directory %s" +msgstr "%s: No fue posible crear directorio de importación de texturas %s" + + +msgid "USD Export: Unable to delete existing usdz file %s" +msgstr "Exportación de USD: No es posible borrar el archivo existente usdz %s" + + +msgid "USD Export: Couldn't move new usdz file from temporary location %s to %s" +msgstr "Exportación de USD: No fue posible mover el nuevo archivo usdz desde su ubicación temporal %s a %s" + + +msgid "USD Export: unable to find suitable USD plugin to write %s" +msgstr "Exportación de USD: No es posible encontrar un complemento USD apropiado para escribir %s" + + +msgid "Could not open USD archive for reading! See console for detail." +msgstr "¡No fue posible abrir el archivo USD para su lectura! Ver la consola para más detalles." + + +msgid "USD Import: unable to open stage to read %s" +msgstr "Importación de USD: No es posible abrir un stage para leer %s" + + +msgid "Unhandled Gprim type: %s (%s)" +msgstr "Tipo de gprim no conocido: %s (%s)" + + +msgid "USD Export: no bounds could be computed for %s" +msgstr "Exportación de USD: No fue posible calcular límites para %s" + + +msgid "USD export: couldn't export in-memory texture to %s" +msgstr "Exportación de USD: No fue posible exportar textura en memoria a %s" + + +msgid "USD export: couldn't copy texture tile from %s to %s" +msgstr "Exportación de USD: No fue posible copiar celda de textura de %s a %s" + + +msgid "USD export: couldn't copy texture from %s to %s" +msgstr "Exportación de USD: No fue posible copiar textura de %s a %s" + + +msgid "USD Export: failed to resolve .vdb file for object: %s" +msgstr "Exportación de USD: Falla al resolver archivo .vdb para el objeto: %s" + + +msgid "USD Export: couldn't construct relative file path for .vdb file, absolute path will be used instead" +msgstr "Exportación de USD: No fue posible construir una ruta relativa para el archivo .vdb, se usará una ruta absoluta" + + msgid "Override template experimental feature is disabled" msgstr "La característica experimental Plantillas de redefinición se encuentra deshabilitada" @@ -123600,6 +124575,10 @@ msgid "ViewLayer '%s' does not contain object '%s'" msgstr "La capa de visualización '%s' no contiene al objeto '%s'" +msgid "AOV not found in view-layer '%s'" +msgstr "No se encontró una AOV en la capa de visualización '%s'" + + msgid "Failed to add the color modifier" msgstr "Falla al agregar el modificador de color" @@ -124158,10 +125137,6 @@ msgid "Region not found in space type" msgstr "Región no encontrada en el tipo de espacio" -msgid "%s '%s' has category '%s' " -msgstr "%s '%s' tiene categoría '%s' " - - msgid "%s parent '%s' for '%s' not found" msgstr "%s superior '%s' de '%s' no encontrado" @@ -124178,6 +125153,10 @@ msgid "Font not packed" msgstr "Fuentes no empacadas" +msgid "Could not find grid with name %s" +msgstr "No fue posible encontrar una cuadrícula de nombre: %s" + + msgid "Not a non-modal keymap" msgstr "No es un mapa de teclas no-modal" @@ -126071,6 +127050,14 @@ msgid "Disabled, Blender was compiled without OpenSubdiv" msgstr "Deshabilitado, Blender fue compilado sin soporte para OpenSubdiv" +msgid "Half-Band Width" +msgstr "Medio ancho de banda" + + +msgid "Half the width of the narrow band in voxel units" +msgstr "La mitad del ancho de la banda angosta, en vóxeles" + + msgid "The face to retrieve data from. Defaults to the face from the context" msgstr "La cara de la cual proporcionar datos. De forma predefinida se usará la cara del contexto" @@ -126303,6 +127290,18 @@ msgid "Direction in which to scale the element" msgstr "Dirección en la cual escalar el elemento" +msgid "Radius must be greater than 0" +msgstr "El radio debe ser mayor que 0" + + +msgid "Half-band width must be greater than 1" +msgstr "La mitad del ancho de banda debe ser mayor que 1" + + +msgid "Voxel size is too small" +msgstr "El tamaño del vóxel es demasiado pequeño" + + msgid "The parts of the geometry that go into the first output" msgstr "Las partes de la geometría que irán a la primera salida" @@ -127033,6 +128032,10 @@ msgid "WaveDistortion" msgstr "Distorsión_ondas" +msgid "Region could not be drawn!" +msgstr "¡No se pudo dibujar la región!" + + msgid "Input pending " msgstr "Entrada pendiente " @@ -127117,6 +128120,10 @@ msgid "Engine '%s' not available for scene '%s' (an add-on may need to be instal msgstr "El motor '%s' no está disponible para la escena '%s' (es posible que se necesite instalar o activar un complemento)" +msgid "Library \"%s\" needs overrides resync" +msgstr "La biblioteca \"%s\" necesita resincronizar sus redefiniciones" + + msgid "%d libraries and %d linked data-blocks are missing (including %d ObjectData and %d Proxies), please check the Info and Outliner editors for details" msgstr "%d bibliotecas y %d bloques de datos vinculados se encuentran inaccesibles (incluyendo %d datos de objetos y %d reemplazos), por favor comprobar los editores Info y Listado para más detalles" @@ -127129,6 +128136,34 @@ msgid "%d sequence strips were not read because they were in a channel larger th msgstr "%d clips del editor de video no fueron leídos debido a que se encontraban en un canal mayor que %d" +msgid "Cannot read file \"%s\": %s" +msgstr "No es posible leer el archivo \"%s\": %s" + + +msgid "File format is not supported in file \"%s\"" +msgstr "Formato de archivo no soportado en archivo \"%s\"" + + +msgid "File path \"%s\" invalid" +msgstr "Ruta \"%s\" del archivo inválida" + + +msgid "Unknown error loading \"%s\"" +msgstr "Error desconocido cargando \"%s\"" + + +msgid "Application Template \"%s\" not found" +msgstr "Plantilla de aplicación \"%s\" no encontrada" + + +msgid "Could not read \"%s\"" +msgstr "No fue posible leer \"%s\"" + + +msgid "Cannot save blend file, path \"%s\" is not writable" +msgstr "No es posible guardar el archivo blend, no es posible escribir en la ruta \"%s\"" + + msgid "Cannot overwrite used library '%.240s'" msgstr "No es posible sobre escribir una biblioteca en uso '%.240s'" @@ -127137,6 +128172,10 @@ msgid "Saved \"%s\"" msgstr "Guardado \"%s\"" +msgid "Can't read alternative start-up file: \"%s\"" +msgstr "No es posible leer el archivo de inicio alternativo: \"%s\"" + + msgid "The \"filepath\" property was not an absolute path: \"%s\"" msgstr "La propiedad \"filepath\" no era una ruta absoluta: \"%s\"" @@ -127861,6 +128900,10 @@ msgid "View the viewport with virtual reality glasses (head-mounted displays)" msgstr "Permite ver la vista usando un casco de realidad virtual" +msgid "This is an early, limited preview of in development VR support for Blender." +msgstr "Esta es una versión temprana, limitada y de previsualización del soporte para RV en Blender, aún en desarrollo." + + msgid "Copy Global Transform" msgstr "Copiar transformaciones globales" @@ -128065,6 +129108,10 @@ msgid "Allows managing UI translations directly from Blender (update main .po fi msgstr "Permite administrar en forma directa las traducciones de la interfaz de usuario desde el propio Blender (actualiza los archivos .po principales, las traducciones de scripts, etc.)" +msgid "Still in development, not all features are fully implemented yet!" +msgstr "¡En desarrollo, no todas las opciones se encuentran implementadas completamente aún!" + + msgid "All Add-ons" msgstr "Todos los complementos" @@ -128296,3 +129343,219 @@ msgstr "En progreso" msgid "Starting" msgstr "Comenzando" + +msgid "Generation" +msgstr "Generación" + + +msgid "Utility" +msgstr "Utilitarios" + + +msgid "Attach Hair Curves to Surface" +msgstr "Anclar curvas de pelo a superficie" + + +msgid "Attaches hair curves to a surface mesh" +msgstr "Ancla curvas de pelo a la superficie de una malla" + + +msgid "Blend Hair Curves" +msgstr "Fundir curvas de pelo" + + +msgid "Blends shape between multiple hair curves in a certain radius" +msgstr "Funde la forma de múltiples curvas de pelo, dentro de un cierto radio" + + +msgid "Braid Hair Curves" +msgstr "Trenzar curvas de pelo" + + +msgid "Deforms existing hair curves into braids using guide curves" +msgstr "Deforma curvas de pelo existentes para que formen trenzas, usando curvas guía" + + +msgid "Clump Hair Curves" +msgstr "Mechones de curvas de pelo" + + +msgid "Clumps together existing hair curves using guide curves" +msgstr "Forma mechones usando curvas de pelo existentes, usando curvas guía" + + +msgid "Create Guide Index Map" +msgstr "Crear mapa identificador de guías" + + +msgid "Creates an attribute that maps each curve to its nearest guide via index" +msgstr "Crea un atributo que mapea cada curva a su guía más cercana, por intermedio de un identificador" + + +msgid "Curl Hair Curves" +msgstr "Enrular curvas de pelo" + + +msgid "Deforms existing hair curves into curls using guide curves" +msgstr "Deforma curvas de pelo existentes para que formen rulos, usando curvas guía" + + +msgid "Curve Info" +msgstr "Información de curva" + + +msgid "Reads information about each curve" +msgstr "Proporciona información acerca de cada curva" + + +msgid "Curve Root" +msgstr "Raíz de curva" + + +msgid "Reads information about each curve's root point" +msgstr "Proporciona información acerca de la raíz de cada curva" + + +msgid "Curve Segment" +msgstr "Segmento de curva" + + +msgid "Reads information each point's previous curve segment" +msgstr "Proporciona información acerca del segmento anterior de cada punto de la curva" + + +msgid "Curve Tip" +msgstr "Punta de curva" + + +msgid "Reads information about each curve's tip point" +msgstr "Proporciona información acerca de la punta de cada curva" + + +msgid "Displace Hair Curves" +msgstr "Desplazar curvas de pelo" + + +msgid "Displaces hair curves by a vector based on various options" +msgstr "Desplaza las curvas de pelo usando un vector, basándose en varias opciones" + + +msgid "Duplicate Hair Curves" +msgstr "Duplicar curvas de pelo" + + +msgid "Duplicates hair curves a certain number of times within a radius" +msgstr "Duplica curvas de pelo una cierta cantidad de veces dentro de un radio específico" + + +msgid "Frizz Hair Curves" +msgstr "Encrespar curvas de pelo" + + +msgid "Deforms hair curves using a random vector per point to frizz them" +msgstr "Deforma las curvas de pelo usando un vector aleatorio por cada punto, para provocar un encrespamiento de las mismas" + + +msgid "Generate Hair Curves" +msgstr "Generar curvas de pelo" + + +msgid "Generates new hair curves on a surface mesh" +msgstr "Genera nuevas curvas de pelo sobre la superficie de una malla" + + +msgid "Hair Attachment Info" +msgstr "Información de anclaje de pelo" + + +msgid "Reads attachment information regarding a surface mesh" +msgstr "Proporciona información de anclaje con respecto a la superficie de una malla" + + +msgid "Hair Curves Noise" +msgstr "Ruido de curvas de pelo" + + +msgid "Deforms hair curves using a noise texture" +msgstr "Deforma las curvas de pelo usando una textura de ruido" + + +msgid "Interpolate Hair Curves" +msgstr "Interpolar curvas de pelo" + + +msgid "Interpolates existing guide curves on a surface mesh" +msgstr "Interpola las curvas guía existentes sobre la superficie de una malla" + + +msgid "Redistribute Curve Points" +msgstr "Redistribuir puntos de curva" + + +msgid "Redistributes existing control points evenly along each curve" +msgstr "Redistribuye los puntos de control existentes de forma homogénea a lo largo de cada curva" + + +msgid "Restore Curve Segment Length" +msgstr "Restablecer longitud de segmento de curva" + + +msgid "Restores the length of each curve segment using a previous state after deformation" +msgstr "Restablece la longitud de cada segmento de curva usando un estado anterior a la deformación" + + +msgid "Roll Hair Curves" +msgstr "Enrollar curvas de pelo" + + +msgid "Rolls up hair curves starting from their tips" +msgstr "Enrolla las curvas de pelo, desde sus puntas" + + +msgid "Rotate Hair Curves" +msgstr "Rotar curvas de pelo" + + +msgid "Rotates each hair curve around an axis" +msgstr "Rota cada curva de pelo en torno a un eje" + + +msgid "Set Hair Curve Profile" +msgstr "Definir perfil de curva de pelo" + + +msgid "Sets the radius attribute of hair curves acoording to a profile shape" +msgstr "Define el atributo de radio de las curvas de pelo, de acuerdo a la forma de un perfil" + + +msgid "Shrinkwrap Hair Curves" +msgstr "Envolver curvas de pelo" + + +msgid "Shrinkwraps hair curves to a mesh surface from below and optionally from above" +msgstr "Envuelve las curvas de pelo alrededor de la superficie de una malla situada por debajo y opcionalmente por encima" + + +msgid "Smooth Hair Curves" +msgstr "Suavizar curvas de pelo" + + +msgid "Smoothes the shape of hair curves" +msgstr "Suaviza la forma de las curvas de pelo" + + +msgid "Straighten Hair Curves" +msgstr "Enderezar curvas de pelo" + + +msgid "Straightens hair curves between root and tip" +msgstr "Endereza las curvas de pelo, de su raíz a su punta" + + +msgid "Trim Hair Curves" +msgstr "Recortar curvas de pelo" + + +msgid "Trims or scales hair curves to a certain length" +msgstr "Recorta o escala las curvas de pelo a una cierta longitud" + diff --git a/locale/po/eu.po b/locale/po/eu.po index 06263347f8f..c6f0d025e0a 100644 --- a/locale/po/eu.po +++ b/locale/po/eu.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ainhize & Miriam \n" "Language-Team: Euskara \n" diff --git a/locale/po/fa.po b/locale/po/fa.po index 5db31692028..23a872de195 100644 --- a/locale/po/fa.po +++ b/locale/po/fa.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2012-10-31 17:00-0800\n" "Last-Translator: Amin Babaeipanah \n" "Language-Team: LeoMoon Studios \n" diff --git a/locale/po/fi.po b/locale/po/fi.po index c80afb6431d..16d95bf5692 100644 --- a/locale/po/fi.po +++ b/locale/po/fi.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -7531,10 +7531,6 @@ msgid "Save the image with another name and/or settings" msgstr "Tallenna kuva toisella nimellä ja/tai asetuksilla" -msgid "Create a new image file without modifying the current image in blender" -msgstr "Luo uusi kuvatiedosto muuttamatta nykyistä kuvaa Blenderissä" - - msgid "Save As Render" msgstr "Tallenna renderinä" @@ -7906,6 +7902,10 @@ msgid "Position:" msgstr "Sijainti:" +msgid "Limit to" +msgstr "Rajoita" + + msgctxt "Operator" msgid "Area" msgstr "Alue" @@ -9593,10 +9593,6 @@ msgid "Export Options" msgstr "Vienti asetukset" -msgid "Limit to" -msgstr "Rajoita" - - msgid "Grouping" msgstr "Ryhmittäminen" diff --git a/locale/po/fr.po b/locale/po/fr.po index 1a256e1526f..674939fd56b 100644 --- a/locale/po/fr.po +++ b/locale/po/fr.po @@ -1,10 +1,10 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2023-03-26 13:03+0200\n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"PO-Revision-Date: 2023-04-03 21:15+0200\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "Last-Translator: Damien Picard (pioverfour) \n" "Language-Team: French https://wiki.blender.org/wiki/Process/Translate_Blender/French_Team\n" "Language: fr\n" @@ -366,6 +366,10 @@ msgid "Displays glTF UI to manage material variants" msgstr "Afficher l’interface glTF pour gérer les variantes de matériaux" +msgid "Display glTF UI to manage animations" +msgstr "Afficher l’interface glTF pour gérer les animations" + + msgid "Displays glTF Material Output node in Shader Editor (Menu Add > Output)" msgstr "Afficher le nœud de sortie de matériau glTF (glTF Material Output) dans l’éditeur de shader (menu Ajouter > Sortie)" @@ -1583,7 +1587,7 @@ msgstr "Précalculer les normales en espace objet" msgid "Tangent" -msgstr "Tangent" +msgstr "Tangente" msgid "Bake the normals in tangent space" @@ -2154,6 +2158,10 @@ msgid "Simulations" msgstr "Simulations" +msgid "Simulation data-blocks" +msgstr "Blocs de données simulation" + + msgid "Sounds" msgstr "Sons" @@ -2466,6 +2474,14 @@ msgid "Collection of screens" msgstr "Collection d’écrans" +msgid "Main Simulations" +msgstr "Simulations du Main" + + +msgid "Collection of simulations" +msgstr "Collection de simulations" + + msgid "Main Sounds" msgstr "Sons du Main" @@ -3677,7 +3693,7 @@ msgstr "Détermine si la brosse ajoute ou enlève des courbes" msgid "Either add or remove curves depending on the minimum distance of the curves under the cursor" -msgstr "Ajouter ou enlever des courbes selon la distance minimale des courbes sous le curseur" +msgstr "Ajouter ou supprimer des courbes selon la distance minimale des courbes sous le curseur" msgid "Add new curves between existing curves, taking the minimum distance into account" @@ -3685,11 +3701,11 @@ msgstr "Ajouter de nouvelles courbes entre les courbes existantes, en prenant en msgid "Remove" -msgstr "Enlever" +msgstr "Supprimer" msgid "Remove curves whose root points are too close" -msgstr "Enlever les courbes dont les points racines sont trop proches" +msgstr "Supprimer les courbes dont les points racines sont trop proches" msgid "Interpolate Length" @@ -6674,7 +6690,7 @@ msgstr "Utiliser la position actuelle de l’os pour les enveloppes et le choix msgid "Preserve Volume" -msgstr "Préserver volume" +msgstr "Préserver le volume" msgid "Deform rotation interpolation with quaternions" @@ -7138,7 +7154,7 @@ msgstr "Appliquer la transformation copiée après l’original, manipulant l’ msgid "Remove Target Shear" -msgstr "Enlever cisaillement cible" +msgstr "Enlever le cisaillement de la cible" msgid "Remove shear from the target transformation before combining" @@ -9651,14 +9667,30 @@ msgid "Name of PoseBone to use as target" msgstr "Nom de la pose d’os à utiliser comme cible" +msgid "Context Property" +msgstr "Propriété contextuelle" + + +msgid "Type of a context-dependent data-block to access property from" +msgstr "Type de bloc de données variable selon le contexte, depuis lequel accéder à la propriété" + + msgid "Active Scene" msgstr "Scène active" +msgid "Currently evaluating scene" +msgstr "Scène en cours d’évaluation" + + msgid "Active View Layer" msgstr "Calque de vue actif" +msgid "Currently evaluating view layer" +msgstr "Calque de vue en cours d’évaluation" + + msgid "Data Path" msgstr "Chemin de données" @@ -9958,6 +9990,10 @@ msgid "Distance between two bones or objects" msgstr "Distance entre deux os ou objets" +msgid "Use the value from some RNA property within the current evaluation context" +msgstr "Utiliser la valeur d’une propriété RNA dans le contexte d’évaluation actuel" + + msgid "Brush Settings" msgstr "Réglages de brosse" @@ -12993,10 +13029,6 @@ msgid "Library Browser" msgstr "Navigateur de bibliothèque" -msgid "Whether we may browse blender files' content or not" -msgstr "Si l’on peut parcourir le contenu des fichiers Blender ou pas" - - msgid "Reverse Sorting" msgstr "Inverser l’ordre de tri" @@ -13354,7 +13386,7 @@ msgstr "Exporter script Mantaflow" msgid "Generate and export Mantaflow script from current domain settings during bake. This is only needed if you plan to analyze the cache (e.g. view grids, velocity vectors, particles) in Mantaflow directly (outside of Blender) after baking the simulation" -msgstr "Générer et exporter un script Mantaflow à partir des réglages de domaine actuels durant le précalcul. Ce n’est nécessaire que si vous voulez analyser le cache (par ex. visualiser les grilles, vecteurs de vélocité, particules) directement dans Mantaflow (en-dehors de Blender) après le précalcul de la simulation" +msgstr "Générer et exporter un script Mantaflow à partir des réglages de domaine actuels durant le précalcul. Ce n’est nécessaire que si vous voulez analyser le cache (par ex. visualiser les grilles, vecteurs de vélocité, particules) directement dans Mantaflow (en dehors de Blender) après le précalcul de la simulation" msgid "Flame Grid" @@ -14555,7 +14587,7 @@ msgstr "Contrôle l’émission de fluide depuis la surface du maillage (des val msgid "Temp. Diff." -msgstr "Diff. temp." +msgstr "Différence de température" msgid "Temperature difference to ambient temperature" @@ -15231,7 +15263,7 @@ msgstr "Image clé" msgid "Normal keyframe, e.g. for key poses" -msgstr "Image clé normale, par ex. pour des poses clé" +msgstr "Image clé normale, par ex. pour des poses clés" msgid "Breakdown" @@ -15239,7 +15271,7 @@ msgstr "Intervalle principal" msgid "A breakdown pose, e.g. for transitions between key poses" -msgstr "Un intervalle principal, par ex. pour des transitions entre poses clé" +msgstr "Un intervalle principal, par ex. pour des transitions entre poses clés" msgid "Moving Hold" @@ -16408,10 +16440,6 @@ msgid "Gizmo Properties" msgstr "Propriétés de gizmo" -msgid "Input properties of an Gizmo" -msgstr "Propriétés d’entrée d’un gizmo" - - msgid "Modifier affecting the Grease Pencil object" msgstr "Modificateur affectant l’objet crayon gras" @@ -17635,7 +17663,7 @@ msgstr "Utiliser une caméra personnalisée à la place de la caméra active" msgid "Preserve Details" -msgstr "Préserver détails" +msgstr "Préserver les détails" msgid "Keep the zig-zag \"noise\" in initial chaining" @@ -19103,6 +19131,22 @@ msgid "Show Armature in binding pose state (no posing possible)" msgstr "Afficher l’armature en état de pose liée (pas de mise en pose possible)" +msgid "Relation Line Position" +msgstr "Position des lignes de relation" + + +msgid "The start position of the relation lines from parent to child bones" +msgstr "Position de départ des lignes de relation entre les os parents et enfants" + + +msgid "Draw the relationship line from the parent tail to the child head" +msgstr "Dessiner la ligne de relation depuis la queue de l’os parent vers la tête de l’os enfant" + + +msgid "Draw the relationship line from the parent head to the child head" +msgstr "Dessiner la ligne de relation depuis la tête de l’os parent vers celle de l’os enfant" + + msgid "Display Axes" msgstr "Afficher les axes" @@ -20263,7 +20307,7 @@ msgstr "Couleur secondaire" msgid "Threshold below which, no sharpening is done" -msgstr "Seuil en-dessous duquel aucun « durcissement » n’est effectué" +msgstr "Seuil en dessous duquel aucun « durcissement » n’est effectué" msgid "Show Cursor Preview" @@ -21354,7 +21398,7 @@ msgstr "Afficher le passe-partout" msgid "Show a darkened overlay outside the image area in Camera view" -msgstr "Assombrir l’image en-dehors de la zone d’image, en vue caméra" +msgstr "Assombrir l’image en dehors de la zone d’image, en vue caméra" msgid "Show Safe Areas" @@ -24124,26 +24168,14 @@ msgid "Resolution X" msgstr "Résolution X" -msgid "Number of sample along the x axis of the volume" -msgstr "Nombre d’échantillons le long de l’axe X du volume" - - msgid "Resolution Y" msgstr "Résolution Y" -msgid "Number of sample along the y axis of the volume" -msgstr "Nombre d’échantillons le long de l’axe Y du volume" - - msgid "Resolution Z" msgstr "Résolution Z" -msgid "Number of sample along the z axis of the volume" -msgstr "Nombre d’échantillons le long de l’axe Z du volume" - - msgid "Influence Distance" msgstr "Distance d’influence" @@ -24829,7 +24861,7 @@ msgstr "Produit moins de pôles et un meilleur flux de topologie" msgid "Preserve Paint Mask" -msgstr "Préserver masque peinture" +msgstr "Préserver le masque de peinture" msgid "Keep the current mask on the new mesh" @@ -24837,7 +24869,7 @@ msgstr "Conserver le masque actuel sur le nouveau maillage" msgid "Preserve Face Sets" -msgstr "Préserver ensembles de faces" +msgstr "Préserver les ensembles de faces" msgid "Keep the current Face Sets on the new mesh" @@ -25381,7 +25413,7 @@ msgstr "Ajouter position de repos" msgid "Add a \"rest_position\" attribute that is a copy of the position attribute before shape keys and modifiers are evaluated" -msgstr "Ajouter un attribut « rest_position » (position de repos) qui est une copie de l’attribut de position avant que les clés de formes et les modificateurs ne soient appliqués" +msgstr "Ajouter un attribut « rest_position » (position de repos) qui est une copie de l’attribut de position avant que les clés de forme et les modificateurs ne soient appliqués" msgid "Bounding Box" @@ -27393,10 +27425,22 @@ msgid "Active Movie Clip that can be used by motion tracking constraints or as a msgstr "Clip vidéo actif utilisé par les contraintes de suivi de mouvement ou en tant qu’image d’arrière-plan d’une caméra" +msgid "Mirror Bone" +msgstr "Os miroir" + + +msgid "Bone to use for the mirroring" +msgstr "Os à utiliser pour l’opération de miroir" + + msgid "Mirror Object" msgstr "Objet miroir" +msgid "Object to mirror over. Leave empty and name a bone to always mirror over that bone of the active armature" +msgstr "Objet autour duquel appliquer le miroir. Laisser ce champ vide mais choisir plutôt le nom d’un os pour toujours utiliser cet os dans l’armature active" + + msgid "Distance Model" msgstr "Modèle de distance" @@ -27898,6 +27942,14 @@ msgid "Top-Left 3D Editor" msgstr "Éditeur 3D en haut à gauche" +msgid "Simulation data-block" +msgstr "Bloc de données simulation" + + +msgid "Node tree defining the simulation" +msgstr "Arborescence nodale définissant la simulation" + + msgid "Sound data-block referencing an external or packed sound file" msgstr "Bloc de données son référençant un fichier son externe ou empaqueté" @@ -29294,6 +29346,14 @@ msgid "Maintained by community developers" msgstr "Maintenus par les développeurs de la communauté" +msgid "Testing" +msgstr "En test" + + +msgid "Newly contributed scripts (excluded from release builds)" +msgstr "Scripts nouvellement contribués (exclus des versions release)" + + msgid "Asset Blend Path" msgstr "Chemin du blend d’asset" @@ -32451,7 +32511,7 @@ msgstr "Enfants de collection de calque" msgid "Collection this layer collection is wrapping" -msgstr "Collection à laquelle cette collection de calque fait référence" +msgstr "Collection à laquelle cette collection de calque sert d’adaptateur" msgid "Exclude from View Layer" @@ -35164,6 +35224,14 @@ msgid "Set the UV map as active for rendering" msgstr "Définir la carte UV comme active au rendu" +msgid "MeshUVLoop (Deprecated)" +msgstr "Boucle UV de maillage (obsolète)" + + +msgid "Deprecated, use 'uv', 'vertex_select', 'edge_select' or 'pin' properties instead" +msgstr "Obsolète, utiliser plutôt les propriétés 'uv', 'vertex_select', 'edge_select' ou 'pin'" + + msgid "UV Edge Selection" msgstr "Sélection d’arête UV" @@ -37957,7 +38025,7 @@ msgstr "Amortir les vagues reflétées allant dans le sens opposé au vent" msgid "Depth of the solid ground below the water surface" -msgstr "Profondeur du sol solide en-dessous de la surface de l’eau" +msgstr "Profondeur du sol solide en dessous de la surface de l’eau" msgid "Fetch" @@ -38398,7 +38466,7 @@ msgstr "Si suppression des pièces déconnectées, la taille minimum des composa msgid "Remove Disconnected" -msgstr "Enlever les pièces déconnectées" +msgstr "Supprimer les pièces déconnectées" msgid "Smooth Shading" @@ -39229,11 +39297,11 @@ msgstr "Ajouter les sommets ayant un poids supérieur à la limite au vgroupe" msgid "Group Remove" -msgstr "Enlever du groupe" +msgstr "Retirer du groupe" msgid "Remove vertices with weight below threshold from vgroup" -msgstr "Enlever du groupe les sommets dont le poids est inférieur à la limite" +msgstr "Retirer du groupe les sommets dont le poids est inférieur à la limite" msgid "WeightVG Mix Modifier" @@ -41146,7 +41214,7 @@ msgstr "Méthode à utiliser pour combiner les résultats de la bande avec ceux msgid "Action to take for gaps past the strip extents" -msgstr "Comment traiter les écarts en-dehors de la bande" +msgstr "Comment traiter les écarts en dehors de la bande" msgid "F-Curves for controlling the strip's influence and timing" @@ -41751,7 +41819,7 @@ msgstr "Ajuster la luminosité de toutes les ombres capturées" msgid "Tolerance below which colors will be considered as exact matches" -msgstr "Tolérance en-dessous de laquelle les couleurs seront considérées comme correspondances exactes" +msgstr "Tolérance en dessous de laquelle les couleurs seront considérées comme correspondances exactes" msgid "Acceptance" @@ -42223,7 +42291,7 @@ msgstr "Liste d’ID crypto d’objets et de matériaux à inclure dans le masqu msgid "Remove object or material from matte, by picking a color from the Pick output" -msgstr "Enlever un objet ou matériau du masque, en sélectionnant une couleur depuis la sortie Choisir" +msgstr "Retirer un objet ou matériau du masque, en sélectionnant une couleur depuis la sortie Choisir" msgid "Cryptomatte" @@ -42892,6 +42960,10 @@ msgid "Map Range" msgstr "Convertir intervalle" +msgid "Clamp the result of the node to the target range" +msgstr "Restreindre le résultat du nœud à l’intervalle de destination" + + msgid "Map UV" msgstr "Plaquer UV" @@ -43233,7 +43305,7 @@ msgstr "cos(A)" msgctxt "NodeTree" msgid "Tangent" -msgstr "Tangent" +msgstr "Tangente" msgid "tan(A)" @@ -44448,7 +44520,7 @@ msgstr "Supprimer la géométrie" msgid "Remove selected elements of a geometry" -msgstr "Enlever les éléments sélectionnés d’une géométrie" +msgstr "Supprimer les éléments sélectionnés d’une géométrie" msgid "Which domain to delete in" @@ -44652,7 +44724,7 @@ msgstr "Géométrie vers instance" msgid "Convert each input geometry into an instance, which can be much faster than the Join Geometry node when the inputs are large" -msgstr "Convertir chaque géométrie d’entrée en instance, ce qui peut être bien plus rapide que le nœud Joindre géométrie quand les entrées sont lourdes" +msgstr "Convertir chaque géométrie d’entrée en instance, ce qui peut être bien plus rapide que le nœud Fusionner géométrie quand les entrées sont lourdes" msgid "Image Info" @@ -44905,11 +44977,11 @@ msgstr "Savoir si les nœuds sont évalués pour la vue 3D plutôt que pour le r msgid "Join Geometry" -msgstr "Joindre géométrie" +msgstr "Fusionner géométrie" msgid "Merge separately generated geometries into a single one" -msgstr "Combiner des géométries générées séparément en une seule" +msgstr "Fusionner des géométries générées séparément en une seule" msgid "Material Selection" @@ -44920,12 +44992,20 @@ msgid "Provide a selection of faces that use the specified material" msgstr "Fournit une sélection de faces utilisant le matériau spécifié" +msgid "Mean Filter SDF Volume" +msgstr "Filtre moyenneur de volume FDS" + + +msgid "Smooth the surface of an SDF volume by applying a mean filter" +msgstr "Adoucir la surface d’un volume FDS en appliquant un filtre moyenneur" + + msgid "Merge by Distance" msgstr "Fusionner selon distance" msgid "Merge vertices or points within a given distance" -msgstr "Fusionner les sommets ou points en-dessous d’une certaine distance" +msgstr "Fusionner les sommets ou points en dessous d’une certaine distance" msgid "Merge all close selected points, whether or not they are connected" @@ -44941,7 +45021,7 @@ msgstr "Booléen maillages" msgid "Cut, subtract, or join multiple mesh inputs" -msgstr "Couper, soustraire, ou joindre plusieurs entrées de maillage" +msgstr "Couper, soustraire, ou fusionner plusieurs maillages en entrée" msgid "Mesh Circle" @@ -45056,6 +45136,14 @@ msgid "Create a point in the point cloud for each selected face corner" msgstr "Créer un point dans le nuage de points pour chaque coin de face sélectionné" +msgid "Mesh to SDF Volume" +msgstr "Maillage vers volume FDS" + + +msgid "Create an SDF volume with the shape of the input mesh's surface" +msgstr "Créer un volume FDS de la forme de la surface du maillage en entrée" + + msgid "How the voxel size is specified" msgstr "Comment la taille de voxel est spécifiée" @@ -45108,6 +45196,14 @@ msgid "Offset a control point index within its curve" msgstr "Décaler l’indice d’un point de contrôle à l’intérieur de sa courbe" +msgid "Offset SDF Volume" +msgstr "Décaler le volume FDS" + + +msgid "Move the surface of an SDF volume inwards or outwards" +msgstr "Décaler la surface d’un volume FDS vers l’intérieur ou l’extérieur" + + msgid "Generate a point cloud with positions and radii defined by fields" msgstr "Générer un nuage de points avec des positions et rayons définis par des champs" @@ -45120,6 +45216,14 @@ msgid "Retrieve a point index within a curve" msgstr "Obtenir un indice de point de la courbe" +msgid "Points to SDF Volume" +msgstr "Points vers volume FDS" + + +msgid "Generate an SDF volume sphere around every point" +msgstr "Générer une sphère de volume FDS autour de chaque point" + + msgid "Specify the approximate number of voxels along the diagonal" msgstr "Spécifier le nombre approximatif de voxels le long de la diagonale" @@ -45264,6 +45368,14 @@ msgid "Rotate geometry instances in local or global space" msgstr "Faire tourner les instances de géométrie dans l’espace local ou global" +msgid "SDF Volume Sphere" +msgstr "Sphère de volume FDS" + + +msgid "Generate an SDF Volume Sphere" +msgstr "Générer une sphère de volume FDS" + + msgid "Sample Curve" msgstr "Échantillonner courbe" @@ -48447,7 +48559,7 @@ msgstr "Supprimer images clés" msgid "Remove all selected keyframes" -msgstr "Enlever toutes les images clés sélectionnées" +msgstr "Supprimer toutes les images clés sélectionnées" msgid "Confirm" @@ -48531,7 +48643,7 @@ msgstr "Effacer cyclique (F-modificateur)" msgid "Remove Cycles F-Modifier if not needed anymore" -msgstr "Enlever le F-modificateur Cycles, s’il n’est plus nécessaire" +msgstr "Supprimer le F-modificateur Cycles, s’il n’est plus nécessaire" msgctxt "Operator" @@ -49020,7 +49132,7 @@ msgstr "Suppression forcée" msgid "Clear Fake User and remove copy stashed in this data-block's NLA stack" -msgstr "Effacer l’utilisateur factice et enlever la copie stockée dans la pile NLA de ce bloc de données" +msgstr "Effacer l’utilisateur factice et supprimer la copie stockée dans la pile NLA de ce bloc de données" msgctxt "Operator" @@ -49072,6 +49184,15 @@ msgid "Extend selection" msgstr "Étendre la sélection" +msgctxt "Operator" +msgid "Frame Channel Under Cursor" +msgstr "Voir le canal sous le curseur" + + +msgid "Reset viewable area to show the channel under the cursor" +msgstr "Réinitialiser la zone visible pour montrer le canal sous le curseur" + + msgid "Include Handles" msgstr "Inclure poignées" @@ -49080,6 +49201,10 @@ msgid "Include handles of keyframes when calculating extents" msgstr "Inclure les poignées des images clés lors du calcul des dimensions" +msgid "Ignore frames outside of the preview range" +msgstr "Ignorer les frames en dehors de l’intervalle de prévisualisation" + + msgctxt "Operator" msgid "Remove Empty Animation Data" msgstr "Supprimer données d’animation vides" @@ -49260,7 +49385,16 @@ msgstr "Dégrouper les canaux" msgid "Remove selected F-Curves from their current groups" -msgstr "Enlever les F-courbes sélectionnées de leurs groupes actuels" +msgstr "Retirer les F-courbes sélectionnées de leurs groupes actuels" + + +msgctxt "Operator" +msgid "Frame Selected Channels" +msgstr "Voir les canaux sélectionnés" + + +msgid "Reset viewable area to show the selected channels" +msgstr "Réinitialiser la zone visible pour montrer les canaux sélectionnés" msgctxt "Operator" @@ -49309,11 +49443,11 @@ msgstr "Éditer les contrôleurs pour les propriétés connectées représentée msgctxt "Operator" msgid "Remove Driver" -msgstr "Enlever contrôleur" +msgstr "Supprimer contrôleur" msgid "Remove the driver(s) for the connected property(s) represented by the highlighted button" -msgstr "Enlever les contrôleurs pour les propriétés connectées représentées par le bouton surligné" +msgstr "Supprimer les contrôleurs pour les propriétés connectées représentées par le bouton en surbrillance" msgid "Delete drivers for all elements of the array" @@ -49344,16 +49478,16 @@ msgstr "Effacer les images clés de tous les éléments du tableau" msgctxt "Operator" msgid "Remove Animation" -msgstr "Enlever animation" +msgstr "Supprimer l’animation" msgid "Remove all keyframe animation for selected objects" -msgstr "Supprimer toute animation par image clé pour les objets sélectionnés" +msgstr "Supprimer toutes les animations par image clé pour les objets sélectionnés" msgctxt "Operator" msgid "Delete Keying-Set Keyframe" -msgstr "Supprimer image clé pour l’ensemble de clés" +msgstr "Supprimer l’image clé pour l’ensemble de clés" msgid "Delete keyframes on the current frame for all properties in the specified Keying Set" @@ -49489,20 +49623,20 @@ msgstr "Ajouter un chemin vide à l’ensemble de clés actif" msgctxt "Operator" msgid "Remove Active Keying Set Path" -msgstr "Enlever chemin actif de l’ensemble de clés" +msgstr "Retirer le chemin actif de l’ensemble de clés" msgid "Remove active Path from active keying set" -msgstr "Enlever le chemin actif de l’ensemble de clés actif" +msgstr "Retirer le chemin actif de l’ensemble de clés actif" msgctxt "Operator" msgid "Remove Active Keying Set" -msgstr "Enlever ensemble de clés actif" +msgstr "Supprimer l’ensemble de clés actif" msgid "Remove the active keying set" -msgstr "Enlever l’ensemble de clés actif" +msgstr "Supprimer l’ensemble de clés actif" msgctxt "Operator" @@ -49520,11 +49654,11 @@ msgstr "Ajouter tous les éléments du tableau à un ensemble de clés" msgctxt "Operator" msgid "Remove from Keying Set" -msgstr "Enlever de l’ensemble de clés" +msgstr "Retirer de l’ensemble de clés" msgid "Remove current UI-active property from current keying set" -msgstr "Enlever la propriété active de l’interface de l’ensemble de clés actuel" +msgstr "Retirer de l’ensemble de clés actuel la propriété active dans l’interface" msgctxt "Operator" @@ -49745,7 +49879,7 @@ msgstr "Supprimer os sélectionné(s)" msgid "Remove selected bones from the armature" -msgstr "Enlever les os sélectionnés de l’armature" +msgstr "Supprimer les os sélectionnés de l’armature" msgctxt "Operator" @@ -49878,7 +50012,7 @@ msgstr "Effacer le parentage" msgid "Remove the parent-child relationship between selected bones and their parents" -msgstr "Enlever la relation de parenté entre les os sélectionnés et leurs parents" +msgstr "Effacer la relation de parenté entre les os sélectionnés et leurs parents" msgid "Clear Type" @@ -50395,7 +50529,7 @@ msgstr "Ajouter une règle de boid à l’état de boid actuel" msgctxt "Operator" msgid "Remove Boid Rule" -msgstr "Enlever règle de boids" +msgstr "Supprimer la règle de boids" msgid "Delete current boid rule" @@ -50404,7 +50538,7 @@ msgstr "Supprimer la règle de boids actuelle" msgctxt "Operator" msgid "Move Down Boid Rule" -msgstr "Descendre règle de boids" +msgstr "Descendre la règle de boids" msgid "Move boid rule down in the list" @@ -50413,7 +50547,7 @@ msgstr "Déplacer la règle de boid vers le bas de la liste" msgctxt "Operator" msgid "Move Up Boid Rule" -msgstr "Remonter règle de boid" +msgstr "Remonter la règle de boid" msgid "Move boid rule up in the list" @@ -50422,7 +50556,7 @@ msgstr "Déplacer la règle de boid vers le haut de la liste" msgctxt "Operator" msgid "Add Boid State" -msgstr "Ajouter état de boid" +msgstr "Ajouter un état de boid" msgid "Add a boid state to the particle system" @@ -50431,7 +50565,7 @@ msgstr "Ajouter un état de boid au système de particules" msgctxt "Operator" msgid "Remove Boid State" -msgstr "Enlever état de boid" +msgstr "Enlever l’état de boid" msgid "Delete current boid state" @@ -50440,7 +50574,7 @@ msgstr "Supprimer l’état de boid actuel" msgctxt "Operator" msgid "Move Down Boid State" -msgstr "Descendre état de boid" +msgstr "Descendre l’état de boid" msgid "Move boid state down in the list" @@ -50449,7 +50583,7 @@ msgstr "Déplacer l’état de boid vers le bas de la liste" msgctxt "Operator" msgid "Move Up Boid State" -msgstr "Remonter état de boid" +msgstr "Remonter l’état de boid" msgid "Move boid state up in the list" @@ -50458,7 +50592,7 @@ msgstr "Déplacer l’état de boid vers le haut de la liste" msgctxt "Operator" msgid "Add Brush" -msgstr "Ajouter brosse" +msgstr "Ajouter une brosse" msgid "Add brush by mode type" @@ -51192,7 +51326,7 @@ msgstr "Annuler cacher les pistes sélectionnées" msgctxt "Operator" msgid "Join Tracks" -msgstr "Joindre pistes" +msgstr "Joindre les pistes" msgid "Join selected tracks" @@ -51450,10 +51584,6 @@ msgid "Set Axis" msgstr "Définir l’axe" -msgid "Set direction of scene axis rotating camera (or its parent if present) and assume selected track lies on real axis, joining it with the origin" -msgstr "Définir la direction de l’axe de la scène en faisant tourner la caméra (ou son parent s’il existe), et en assumant que la piste sélectionnée se trouve sur l’axe réel, la joignant à l’origine" - - msgid "Axis to use to align bundle along" msgstr "Axe à utiliser pour aligner le faisceau" @@ -51590,7 +51720,7 @@ msgstr "Faire glisser les zones marqueur de plan" msgctxt "Operator" msgid "Solve Camera" -msgstr "Résoudre caméra" +msgstr "Résoudre la caméra" msgid "Solve camera motion from tracks" @@ -51599,61 +51729,61 @@ msgstr "Résoudre le mouvement de caméra d’après les pistes" msgctxt "Operator" msgid "Add Stabilization Tracks" -msgstr "Ajouter pistes de stabilisation" +msgstr "Ajouter les pistes à la stabilisation" msgid "Add selected tracks to 2D translation stabilization" -msgstr "Ajouter les pistes sélectionnées à la stabilisation 2D de translation" +msgstr "Ajouter les pistes sélectionnées à la stabilisation 2D en translation" msgctxt "Operator" msgid "Remove Stabilization Track" -msgstr "Enlever piste de stabilisation" +msgstr "Retirer la piste de la stabilisation" msgid "Remove selected track from translation stabilization" -msgstr "Enlever la piste sélectionnée de la stabilisation de translation" +msgstr "Retirer la piste sélectionnée de la stabilisation en translation" msgctxt "Operator" msgid "Add Stabilization Rotation Tracks" -msgstr "Ajouter pistes de stabilisation de rotation" +msgstr "Ajouter pistes à la stabilisation en rotation" msgid "Add selected tracks to 2D rotation stabilization" -msgstr "Ajouter les pistes sélectionnées à la stabilisation 2D de rotation" +msgstr "Ajouter les pistes sélectionnées à la stabilisation 2D en rotation" msgctxt "Operator" msgid "Remove Stabilization Rotation Track" -msgstr "Enlever piste de stabilisation de rotation" +msgstr "Retirer la piste de la stabilisation en rotation" msgid "Remove selected track from rotation stabilization" -msgstr "Enlever la piste sélectionnée de la stabilisation de rotation" +msgstr "Retirer la piste sélectionnée de la stabilisation de rotation" msgctxt "Operator" msgid "Select Stabilization Rotation Tracks" -msgstr "Sélectionner pistes de stabilisation de rotation" +msgstr "Sélectionner les pistes de stabilisation en rotation" msgid "Select tracks which are used for rotation stabilization" -msgstr "Sélectionner les pistes utilisées pour la stabilisation de rotation" +msgstr "Sélectionner les pistes utilisées pour la stabilisation en rotation" msgctxt "Operator" msgid "Select Stabilization Tracks" -msgstr "Sélectionner pistes de stabilisation" +msgstr "Sélectionner les pistes de stabilisation" msgid "Select tracks which are used for translation stabilization" -msgstr "Sélectionner les pistes utilisées pour la stabilisation de translation" +msgstr "Sélectionner les pistes utilisées pour la stabilisation en translation" msgctxt "Operator" msgid "Add Track Color Preset" -msgstr "Ajouter préréglage de couleur de piste" +msgstr "Ajouter un préréglage de couleur de piste" msgid "Add or remove a Clip Track Color Preset" @@ -51724,11 +51854,11 @@ msgstr "Ajouter un nouvel objet au tracking" msgctxt "Operator" msgid "Remove Tracking Object" -msgstr "Enlever l’objet de tracking" +msgstr "Supprimer l’objet du tracking" msgid "Remove object for tracking" -msgstr "Enlever l’objet du tracking" +msgstr "Supprimer l’objet du tracking" msgctxt "Operator" @@ -52142,6 +52272,10 @@ msgid "Selection" msgstr "Sélection" +msgid "Paste text selected elsewhere rather than copied (X11/Wayland only)" +msgstr "Coller le texte sélectionné ailleurs, plutôt que le texte copié (X11 et Wayland seulement)" + + msgctxt "Operator" msgid "Scrollback Append" msgstr "Ajouter sortie console" @@ -52430,10 +52564,18 @@ msgid "Select points at the end of the curve as opposed to the beginning" msgstr "Sélectionner des points à la fin de la courbe plutôt qu’au début" +msgid "Shrink the selection by one point" +msgstr "Réduire la sélection d’un point" + + msgid "Select all points in curves with any point selection" msgstr "Sélectionner tous les points des courbes contenant déjà des points sélectionnés" +msgid "Grow the selection by one point" +msgstr "Agrandir la sélection d’un point" + + msgctxt "Operator" msgid "Select Random" msgstr "Sélectionner aléatoirement" @@ -52849,7 +52991,7 @@ msgstr "Sélectionner seulement non-sélectionnés" msgid "Ignore the select action when the element is already selected" -msgstr "Ignerer l’action de sélection quand l’élément est déjà sélectionné" +msgstr "Ignorer l’action de sélection quand l’élément est déjà sélectionné" msgid "Select Point" @@ -54148,6 +54290,14 @@ msgid "Allow >4 joint vertex influences. Models may appear incorrectly in many v msgstr "Permettre plus de 4 influences d’os par sommet. L’affichage des modèles peut être incorrect dans de nombreux visualiseurs" +msgid "Split Animation by Object" +msgstr "Séparer l’animation par objet" + + +msgid "Export Scene as seen in Viewport, But split animation by Object" +msgstr "Exporter la scène telle qu’elle apparaît dans la vue 3D, mais séparer l’animation par objet" + + msgid "Export all Armature Actions" msgstr "Exporter toutes les actions d’armature" @@ -54156,6 +54306,42 @@ msgid "Export all actions, bound to a single armature. WARNING: Option does not msgstr "Exporter toutes les actions liées à une même armature. Attention : l’option en prend pas en charge les exports comprenant plusieurs armatures" +msgid "Set all glTF Animation starting at 0" +msgstr "Faire démarrer toutes les animations à 0" + + +msgid "Set all glTF animation starting at 0.0s. Can be usefull for looping animations" +msgstr "Définir le début de toutes les animations glTF à 0,0 s. Peut être utile pour les animations en boucle" + + +msgid "Animation mode" +msgstr "Mode d’animation" + + +msgid "Export Animation mode" +msgstr "Mode d’export de l’animation" + + +msgid "Export actions (actives and on NLA tracks) as separate animations" +msgstr "Exporter les actions (actives et sur des pistes NLA) en tant qu’animations distinctes" + + +msgid "Active actions merged" +msgstr "Actions actives fusionnées" + + +msgid "All the currently assigned actions become one glTF animation" +msgstr "Toutes les actions actuellement assignées deviennent une seule animation glTF" + + +msgid "Export individual NLA Tracks as separate animation" +msgstr "Exporter les pistes NLA en tant qu’animations distinctes" + + +msgid "Export baked scene as a single animation" +msgstr "Exporter la scène précalculée comme une seule animation" + + msgid "Exports active actions and NLA tracks as glTF animations" msgstr "Exporter les actions actives et les pistes NLA en tant qu’animations glTF" @@ -54168,8 +54354,16 @@ msgid "Export Attributes (when starting with underscore)" msgstr "Exporter les attributs (commençant par un tiret bas)" +msgid "Bake All Objects Animations" +msgstr "Précalcurer toutes les animations d’objets" + + +msgid "Force exporting animation on every objects. Can be usefull when using constraints or driver. Also useful when exporting only selection" +msgstr "Forcer l’export de l’animation sur tous les objets. Peut être utile lors de l’usage de contraintes ou de contrôleurs. Également utile quand seule la sélection est exportée" + + msgid "Export cameras" -msgstr "Exporter caméras" +msgstr "Exporter les caméras" msgid "Export vertex colors with meshes" @@ -54180,6 +54374,14 @@ msgid "Legal rights and conditions for the model" msgstr "Termes et conditions légales attachées au modèle" +msgid "Use Current Frame as Object Rest Transformations" +msgstr "Transformations de repos de la frame actuelle" + + +msgid "Export the scene in the current animation frame. When off, frame O is used as rest transformations for objects" +msgstr "Exporter la scène dans la frame d’animation actuelle. Si désactivé, la frame 0 est utilisée pour les transformations de repos de l’objet" + + msgid "Export Deformation Bones Only" msgstr "Exporter uniquement les os de déformation" @@ -54292,6 +54494,14 @@ msgid "Clips animations to selected playback range" msgstr "Limiter les animations à l’intervalle de lecture défini" +msgid "Flatten Bone Hierarchy" +msgstr "Aplatir la hiérarchie d’os" + + +msgid "Flatten Bone Hierarchy. Usefull in case of non decomposable TRS matrix" +msgstr "Aplatir la hiérarchie d’os. Utile en cas de matrices position, rotation, échelle non-décomposables" + + msgid "Output format for images. PNG is lossless and generally preferred, but JPEG might be preferable for web applications due to the smaller file size. Alternatively they can be omitted if they are not needed" msgstr "Format de sortie pour les images. PNG est sans perte et généralement préféré, mais JPEG peut être préférable pour des applications web à cause de sa plus petite taille de fichiers. Elles peuvent également être omises si elles ne sont pas nécessaires" @@ -54360,6 +54570,14 @@ msgid "Export shape keys (morph targets)" msgstr "Exporter les clés de forme (morph targets)" +msgid "Shape Key Animations" +msgstr "Animation des clés de forme" + + +msgid "Export shape keys animations (morph targets)" +msgstr "Exporter les animations des clés de forme (morph targets)" + + msgid "Shape Key Normals" msgstr "Normales de clés de forme" @@ -54376,6 +54594,26 @@ msgid "Export vertex tangents with shape keys (morph targets)" msgstr "Exporter les tangentes des sommets avec des clés de forme (morph targets)" +msgid "Negative Frames" +msgstr "Frames négatives" + + +msgid "Negative Frames are slided or cropped" +msgstr "Faire glisser ou couper les frames négatives" + + +msgid "Slide" +msgstr "Glisser" + + +msgid "Slide animation to start at frame 0" +msgstr "Faire glisser l’animation pour qu’elle commence à la frame 0" + + +msgid "Keep only frames above frame 0" +msgstr "Ne garder que les frames après 0" + + msgid "Merged Animation Name" msgstr "Nom de l’animation combinée" @@ -54388,6 +54626,22 @@ msgid "Export vertex normals with meshes" msgstr "Exporter les normales de sommets avec les maillages" +msgid "Force keeping channel for armature / bones" +msgstr "Forcer à garder le canal pour l’armature ou les os" + + +msgid "if all keyframes are identical in a rig force keeping the minimal animation" +msgstr "Si toutes les images clés sont identiques dans un rig, forcer à garder une animation minimale" + + +msgid "Force keeping channel for objects" +msgstr "Forcer à garder le canal pour les objets" + + +msgid "if all keyframes are identical for object transformations force keeping the minimal animation" +msgstr "Si toutes les images clés sont identiques pour les transformations d’objet, forcer à garder une animation minimale" + + msgid "Optimize Animation Size" msgstr "Optimiser la taille de l’animation" @@ -54412,6 +54666,14 @@ msgid "Reset pose bones between each action exported. This is needed when some b msgstr "Réinitialiser les os de pose entre chaque export d’action. C’est parfois nécessaire quand des os n’ont pas de clés sur certaines animations" +msgid "Use Rest Position Armature" +msgstr "Utiliser la position de repos de l’armature" + + +msgid "Export armatures using rest position as joins rest pose. When off, current frame pose is used as rest pose" +msgstr "Exporter les armatures en utilisant la position de repos comme pose de repos des articulations. Si désactivé, la pose de la frame actuelle est utilisée comme position de repos" + + msgid "Skinning" msgstr "Skinning" @@ -56760,7 +57022,7 @@ msgstr "Combiner les calques" msgid "Combine active layer into the layer below" -msgstr "Combiner le calque actif dans le calque situé en-dessous" +msgstr "Combiner le calque actif dans le calque situé en dessous" msgid "Combine all layers into the active layer" @@ -57513,7 +57775,7 @@ msgstr "Ajouter au dessin précédent" msgid "Draw new stroke below all previous strokes" -msgstr "Dessiner les nouveaux traits en-dessous de tous les traits précédents" +msgstr "Dessiner les nouveaux traits en dessous de tous les traits précédents" msgid "Dissolve Points" @@ -58325,14 +58587,31 @@ msgid "Place the cursor on the midpoint of selected keyframes" msgstr "Placer le curseur au point médian des images clés sélectionnées" +msgctxt "Operator" +msgid "Gaussian Smooth" +msgstr "Adoucissement gaussien" + + +msgid "Smooth the curve using a Gaussian filter" +msgstr "Adoucir la courbe en utilisant un filtre gaussien" + + msgid "Filter Width" -msgstr "Largeur de filtre" +msgstr "Largeur du filtre" + + +msgid "How far to each side the operator will average the key values" +msgstr "À quelle distance chaque côté l’opérateur va moyenner les valeurs des clés" msgid "Sigma" msgstr "Sigma" +msgid "The shape of the gaussian distribution, lower values make it sharper" +msgstr "La forme de la distribution gaussienne, des valeurs plus basses la rendent plus nette" + + msgctxt "Operator" msgid "Clear Ghost Curves" msgstr "Effacer les courbes fantômes" @@ -58372,6 +58651,14 @@ msgid "Insert a keyframe on selected F-Curves using each curve's current value" msgstr "Insérer une image clé sur toutes les F-courbes sélectionnées en utilisant la valeur actuelle de chacune" +msgid "Only Active F-Curve" +msgstr "F-courbe active uniquement" + + +msgid "Insert a keyframe on the active F-Curve using the curve's current value" +msgstr "Insérer une image clé sur la F-courbe active en utilisant sa valeur actuelle" + + msgid "Active Channels at Cursor" msgstr "Canaux actifs sous le curseur" @@ -58404,6 +58691,46 @@ msgid "Flip times of selected keyframes, effectively reversing the order they ap msgstr "Inverser les temps des images clés sélectionnées, inversant de fait l’ordre dans lequel elles apparaissent" +msgid "Paste keys with a value offset" +msgstr "Coller les clés en décalant la valeur" + + +msgid "Left Key" +msgstr "Clé de gauche" + + +msgid "Paste keys with the first key matching the key left of the cursor" +msgstr "Décaler les clés en faisant correspondre la première clé à la clé à gauche du curseur" + + +msgid "Right Key" +msgstr "Clé de droite" + + +msgid "Paste keys with the last key matching the key right of the cursor" +msgstr "Décaler les clés en faisant correspondre la première clé à la clé à droite du curseur" + + +msgid "Current Frame Value" +msgstr "Valeur de la frame actuelle" + + +msgid "Paste keys relative to the value of the curve under the cursor" +msgstr "Coller les clés relativement à la valeur de la courbe sous le curseur" + + +msgid "Cursor Value" +msgstr "Valeur du curseur" + + +msgid "Paste keys relative to the Y-Position of the cursor" +msgstr "Coller les clés relativement à la position en Y du curseur" + + +msgid "Paste keys with the same value as they were copied" +msgstr "Coller les clés avec les mêmes valeurs que quand elles ont été copiées" + + msgid "Set Preview Range based on range of selected keyframes" msgstr "Définir l’intervalle de prévisualisation d’après l’intervalle des images clés sélectionnées" @@ -58899,10 +59226,6 @@ msgid "Save the image with another name and/or settings" msgstr "Enregistrer l’image avec un autre nom et/ou d’autres réglages" -msgid "Create a new image file without modifying the current image in blender" -msgstr "Créer un nouveau fichier image, sans modifier l’image actuelle dans blender" - - msgid "Save As Render" msgstr "Enregistrer comme rendu" @@ -60645,7 +60968,7 @@ msgstr "Angle de face limit" msgid "Join Triangles" -msgstr "Joindre triangles" +msgstr "Réunir les triangles" msgid "Merge adjacent triangles into quads" @@ -63307,7 +63630,7 @@ msgstr "Tris vers quads" msgid "Join triangles into quads" -msgstr "Joindre triangles en quadrangles" +msgstr "Réunir les triangles en quadrangles" msgctxt "Operator" @@ -64284,7 +64607,7 @@ msgstr "Attacher les nœuds sélectionnés à un nouveau cadre commun" msgctxt "Operator" msgid "Link Nodes" -msgstr "Lier nœuds" +msgstr "Relier les nœuds" msgid "Use the mouse to create a link between two nodes" @@ -65056,10 +65379,18 @@ msgid "Curve from Mesh or Text objects" msgstr "Courbe depuis les objets maillages ou textes" +msgid "Mesh from Curve, Surface, Metaball, Text, or Point Cloud objects" +msgstr "Maillage depuis les objets courbes, surfaces, métaballes, textes ou nuages de points" + + msgid "Grease Pencil from Curve or Mesh objects" msgstr "Crayon gras depuis les objets courbes ou maillages" +msgid "Point Cloud from Mesh objects" +msgstr "Nuage de points depuis les objets maillages" + + msgid "Curves from evaluated curve data" msgstr "Courbes depuis les données évaluées" @@ -65757,12 +66088,12 @@ msgstr "Joindre" msgid "Join selected objects into active object" -msgstr "Joindre les objets sélectionnés dans l’objet actif" +msgstr "Combiner les objets sélectionnés dans l’objet actif" msgctxt "Operator" msgid "Join as Shapes" -msgstr "Joindre comme clés de forme" +msgstr "Combiner comme clés de forme" msgid "Copy the current resulting shape of another selected object to this one" @@ -66581,6 +66912,30 @@ msgid "Paste onto all frames between the first and last selected key, creating n msgstr "Coller dans toutes les frames entre les première et dernière clés sélectionnées, et créer de nouvelles images clés si nécessaire" +msgid "Location Axis" +msgstr "Axe de position" + + +msgid "Coordinate axis used to mirror the location part of the transform" +msgstr "Axe de coordonnée utilisé pour inverser en miroir la partie position de la transformation" + + +msgid "Rotation Axis" +msgstr "Axe de rotation" + + +msgid "Coordinate axis used to mirror the rotation part of the transform" +msgstr "Axe de coordonnée utilisé pour inverser en miroir la partie rotation de la transformation" + + +msgid "Mirror Transform" +msgstr "Inverser en miroir la transformation" + + +msgid "When pasting, mirror the transform relative to a specific object or bone" +msgstr "Lors du collage, inverser en miroir la transformation par rapport à un objet ou os spécifique" + + msgctxt "Operator" msgid "Calculate Object Motion Paths" msgstr "Calculer chemins de mouvement d’objet" @@ -67043,10 +67398,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "Filtre des noms, comprend les métacaractères unix '*', '?' et '[abc]'" -msgid "Set select on random visible objects" -msgstr "Sélectionner au hasard des objets visibles" - - msgctxt "Operator" msgid "Select Same Collection" msgstr "Sélectionner même collection" @@ -67277,7 +67628,7 @@ msgstr "Appliquer mélange" msgid "Apply current mix of shape keys to the geometry before removing them" -msgstr "Appliquer le mélange de clés de formes actuel à la géométrie avant de les supprimer" +msgstr "Appliquer le mélange de clés de forme actuel à la géométrie avant de les supprimer" msgctxt "Operator" @@ -69017,6 +69368,14 @@ msgid "Hide selected faces" msgstr "Cacher les faces sélectionnées" +msgid "Deselect Faces connected to existing selection" +msgstr "Désélectionner les faces connectées à la sélection existante" + + +msgid "Also deselect faces that only touch on a corner" +msgstr "Désélectionner également les faces qui ne se touchent que par un coin" + + msgid "Select linked faces" msgstr "Sélectionner faces liées" @@ -69030,6 +69389,14 @@ msgid "Select linked faces under the cursor" msgstr "Sélectionner les faces liées sous le curseur" +msgid "Select Faces connected to existing selection" +msgstr "Sélectionner les faces connectées à la sélection actuelle" + + +msgid "Also select faces that only touch on a corner" +msgstr "Sélectionner également les faces qui ne se touchent que par un coin" + + msgctxt "Operator" msgid "Reveal Faces/Vertices" msgstr "Révéler les faces et sommets" @@ -69270,6 +69637,10 @@ msgid "Hide unselected rather than selected vertices" msgstr "Cacher les sommets désélectionnés au lieu des sommets sélectionnés" +msgid "Deselect Vertices connected to existing selection" +msgstr "Désélectionner des sommets connectés à la sélection actuelle" + + msgctxt "Operator" msgid "Select Linked Vertices" msgstr "Sélectionner sommets liés" @@ -69292,6 +69663,10 @@ msgid "Whether to select or deselect linked vertices under the cursor" msgstr "Sélectionner ou désélectionner les sommets liés sous le curseur" +msgid "Select Vertices connected to existing selection" +msgstr "Sélectionner des sommets connectés à la sélection actuelle" + + msgctxt "Operator" msgid "Dirty Vertex Colors" msgstr "Couleurs de sommets sales" @@ -70744,28 +71119,28 @@ msgstr "Ajouter un raccourci" msgctxt "Operator" msgid "Remove Key Map Item" -msgstr "Enlever raccourci" +msgstr "Supprimer le raccourci" msgid "Remove key map item" -msgstr "Enlever un raccourci" +msgstr "Supprimer ce raccourci" msgid "Item Identifier" -msgstr "Identifiant raccourci" +msgstr "Identifiant du raccourci" msgid "Identifier of the item to remove" -msgstr "Identifiant de l’élément à enlever" +msgstr "Identifiant de l’élément à supprimer" msgctxt "Operator" msgid "Restore Key Map Item" -msgstr "Restaurer raccourci" +msgstr "Restaurer le raccourci" msgid "Restore key map item" -msgstr "Restaurer un raccourci" +msgstr "Restaurer ce raccourci" msgid "Identifier of the item to restore" @@ -70774,7 +71149,7 @@ msgstr "Identifiant du raccourci à restaurer" msgctxt "Operator" msgid "Restore Key Map(s)" -msgstr "Restaurer raccourcis" +msgstr "Restaurer les raccourcis" msgid "Restore key map(s)" @@ -71910,11 +72285,11 @@ msgstr "Dupliquer la zone sélectionnée dans une nouvelle fenêtre" msgctxt "Operator" msgid "Join Area" -msgstr "Joindre zones" +msgstr "Fusionner les zones" msgid "Join selected areas into new window" -msgstr "Joindre les zones sélectionnées en nouvelle fenêtre" +msgstr "Fusionner les zones sélectionnées en une nouvelle fenêtre" msgctxt "Operator" @@ -72405,6 +72780,10 @@ msgid "Apply force in the Z axis" msgstr "Appliquer la force dans l’axe Z" +msgid "How many times to repeat the filter" +msgstr "Combien de fois appliquer le filtre" + + msgid "Orientation of the axis to limit the filter force" msgstr "Orientation de l’axe pour limiter la force du filtre" @@ -72421,6 +72800,10 @@ msgid "Use the view axis to limit the force and set the gravity direction" msgstr "Utiliser l’axe de la vue pour limiter la force et définir la direction de la gravité" +msgid "Starting Mouse" +msgstr "Position initiale de la souris" + + msgid "Filter strength" msgstr "Force du filtre" @@ -72661,7 +73044,7 @@ msgstr "Changer la visibilité des ensembles de faces de la sculpture" msgid "Toggle Visibility" -msgstr "(Dés)activer visibilité" +msgstr "(Dés)activer la visibilité" msgid "Hide all Face Sets except for the active one" @@ -72899,7 +73282,7 @@ msgstr "Inverser le masque généré" msgid "Preserve Previous Mask" -msgstr "Préserver masque précédent" +msgstr "Préserver le masque précédent" msgid "Preserve the previous mask and add or subtract the new one generated by the colors" @@ -73384,7 +73767,7 @@ msgstr "Rendre symétriques les modifications topologiques" msgid "Distance within which symmetrical vertices are merged" -msgstr "Distance en-dessous de laquelle les sommets symétriques sont fusionnés" +msgstr "Distance en dessous de laquelle les sommets symétriques sont fusionnés" msgctxt "Operator" @@ -73517,11 +73900,11 @@ msgstr "Type de bande d’effet alpha au-dessus" msgid "Alpha Under" -msgstr "Alpha en-dessous" +msgstr "Alpha en dessous" msgid "Alpha Under effect strip type" -msgstr "Type de bande d’effet alpha en-dessous" +msgstr "Type de bande d’effet alpha en dessous" msgid "Gamma Cross" @@ -74066,6 +74449,62 @@ msgid "Set render size and aspect from active sequence" msgstr "Définir les taille et proportions du rendu d’après la séquence active" +msgctxt "Operator" +msgid "Add Retiming Handle" +msgstr "Ajouter une poignée de recalage" + + +msgid "Add retiming Handle" +msgstr "Ajouter une poignée de recalage" + + +msgid "Timeline Frame" +msgstr "Frame de la timeline" + + +msgid "Frame where handle will be added" +msgstr "Frame à laquelle la poignée sera ajoutée" + + +msgctxt "Operator" +msgid "Move Retiming Handle" +msgstr "Déplacer la poignée de recalage" + + +msgid "Move retiming handle" +msgstr "Déplacer la poignée de recalage" + + +msgid "Handle Index" +msgstr "Indice de la poignée" + + +msgid "Index of handle to be moved" +msgstr "Indice de la poignée à déplacer" + + +msgctxt "Operator" +msgid "Remove Retiming Handle" +msgstr "Supprimer la poignée de recalage" + + +msgid "Remove retiming handle" +msgstr "Supprimer la poignée de recalage" + + +msgid "Index of handle to be removed" +msgstr "Indice de la poignée à supprimer" + + +msgctxt "Operator" +msgid "Reset Retiming" +msgstr "Réinitialiser le recalage" + + +msgid "Reset strip retiming" +msgstr "Réinitialiser le recalage de la bande" + + msgid "Use mouse to sample color in current frame" msgstr "Utiliser la souris pour échantillonner une couleur dans l’image actuelle" @@ -74084,10 +74523,6 @@ msgid "Add Scene Strip" msgstr "Ajouter bande de scène" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "Ajouter une bande au séquenceur, utilisant une scène de blender comme source" - - msgctxt "Operator" msgid "Add Strip with a new Scene" msgstr "Ajouter bande avec une nouvelle scène" @@ -74198,7 +74633,7 @@ msgstr "Effet/liées" msgid "Other strips affected by the active one (sharing some time, and below or effect-assigned)" -msgstr "Les autres bandes affectées par l’active (partageant du temps, et en-dessous ou assignées à un effet)" +msgstr "Les autres bandes affectées par l’active (partageant du temps, et en dessous ou assignées à un effet)" msgid "Overlap" @@ -75042,7 +75477,7 @@ msgstr "Aller à ligne" msgid "Line number to jump to" -msgstr "Numéro de ligne à rejoindre" +msgstr "Numéro de la ligne à rejoindre" msgctxt "Operator" @@ -75230,10 +75665,6 @@ msgid "Select word under cursor" msgstr "Sélectionner le mot sous le curseur" -msgid "Set cursor selection" -msgstr "Définir la sélection et le curseur" - - msgctxt "Operator" msgid "Find" msgstr "Chercher" @@ -76188,7 +76619,7 @@ msgstr "Mettre à jour i18n add-on" msgid "Wrapper operator which will invoke given op after setting its module_name" -msgstr "Opérateur de servitude qui invoquera l’op donné après avoir défini son module_name" +msgstr "Opérateur adaptateur qui invoquera l’op donné après avoir défini son module_name" msgid "Operator Name" @@ -76427,6 +76858,15 @@ msgid "Clear the property and use default or generated value in operators" msgstr "Effacer la propriété et utiliser la valeur par défaut ou générée dans les opérateurs" +msgctxt "Operator" +msgid "View Drop" +msgstr "Déposer dans la vue" + + +msgid "Drag and drop onto a data-set or item within the data-set" +msgstr "Glisser et déposer sur un ensemble de données, ou sur un élément dans l’ensemble de données" + + msgctxt "Operator" msgid "Rename View Item" msgstr "Renommer l’élément dans la vue" @@ -76670,6 +77110,14 @@ msgid "Radius of the sphere or cylinder" msgstr "Rayon de la sphère ou du cylindre" +msgid "Preserve Seams" +msgstr "Préserver les coutures" + + +msgid "Separate projections by islands isolated by seams" +msgstr "Séparer les projections par îlots séparés par des coutures" + + msgctxt "Operator" msgid "Export UV Layout" msgstr "Exporter disposition UV" @@ -76891,10 +77339,34 @@ msgid "Rotate islands for best fit" msgstr "Faire tourner les îlots pour un meilleur ajustement" +msgid "Shape Method" +msgstr "Méthode de forme" + + +msgid "Exact shape (Concave)" +msgstr "Forme exacte (concave)" + + +msgid "Uses exact geometry" +msgstr "Utiliser la géométrie exacte" + + +msgid "Boundary shape (Convex)" +msgstr "Forme de la bordure (convexe)" + + +msgid "Uses convex hull" +msgstr "Utiliser une coque convexe" + + msgid "Bounding box" msgstr "Boîte englobante" +msgid "Uses bounding boxes" +msgstr "Utiliser une boîte englobante" + + msgid "Pack to" msgstr "Empaqueter dans" @@ -76915,6 +77387,14 @@ msgid "Pack islands to active UDIM image tile or UDIM grid tile where 2D cursor msgstr "Empaqueter les îlots dans la tuile UDIM active, ou dans la tuile UDIM dans laquelle se trouve le curseur 2D" +msgid "Original bounding box" +msgstr "Boîte englobante originale" + + +msgid "Pack to starting bounding box of islands" +msgstr "Empaquer les îlots à l’intérieur de leur boîte englobante de départ" + + msgctxt "Operator" msgid "Paste UVs" msgstr "Coller les UV" @@ -77218,11 +77698,11 @@ msgstr "Projeter les sommets UV du maillage sur la surface courbe d’une sphèr msgctxt "Operator" msgid "Stitch" -msgstr "Joindre" +msgstr "Fusionner" msgid "Stitch selected UV vertices by proximity" -msgstr "Joindre les sommets UV sélectionnés par proximité" +msgstr "Fusionner les sommets UV sélectionnés par proximité" msgid "Index of the active object" @@ -77282,7 +77762,7 @@ msgstr "Utiliser limite" msgid "Stitch UVs within a specified limit distance" -msgstr "Joindre les UV à l’intérieur d’une distance limite spécifiée" +msgstr "Fusionner les UV en dessous de la distance spécifiée" msgctxt "Operator" @@ -78795,10 +79275,6 @@ msgid "Rotate all root objects to match the global orientation settings otherwis msgstr "Faire tourner tous les objets à la racine de façon à correspondre aux réglages d’orientation globaux ; autrement, définir l’orientation globale pour chaque asset Collada" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Appliquer les modificateurs au maillage exporté (non destructif)" - - msgid "Deform Bones Only" msgstr "Os déformants uniquement" @@ -79197,7 +79673,7 @@ msgstr "Circuler dans contexte entier" msgid "Set a context value (useful for cycling active material, shape keys, groups, etc.)" -msgstr "Définir une valeur de contexte (utile pour circuler dans les matériaux, clés de formes, groupes, etc. actifs)" +msgstr "Définir une valeur de contexte (utile pour circuler dans les matériaux, clés de forme, groupes, etc. actifs)" msgctxt "Operator" @@ -79925,6 +80401,54 @@ msgid "Open a path in a file browser" msgstr "Ouvrir un chemin dans un navigateur de fichiers" +msgid "Save the scene to a PLY file" +msgstr "Enregistrer la scène dans un fichier PLY" + + +msgid "ASCII Format" +msgstr "Format ASCII" + + +msgid "Export file in ASCII format, export as binary otherwise" +msgstr "Exporter le fichier au format ASCII, ou en binaire autrement" + + +msgid "Export Vertex Colors" +msgstr "Exporter les couleurs de sommets" + + +msgid "Do not import/export color attributes" +msgstr "Ne pas importer ou exporter les attributs de couleur" + + +msgid "Vertex colors in the file are in sRGB color space" +msgstr "Les couleurs de sommets dans le fichier sont dans l’espace de couleur sRGB" + + +msgid "Vertex colors in the file are in linear color space" +msgstr "Les couleurs de sommets dans le fichier sont dans un espace de couleur linéaire" + + +msgid "Export Vertex Normals" +msgstr "Exporter les normales de sommets" + + +msgid "Export specific vertex normals if available, export calculated normals otherwise" +msgstr "Exporter les normales de sommets spécifiques si disponibles, sinon exporter des normales calculées" + + +msgid "Import an PLY file as an object" +msgstr "Importer un fichier PLY en tant qu’objet" + + +msgid "Import Vertex Colors" +msgstr "Importer les couleurs de sommets" + + +msgid "Merges vertices by distance" +msgstr "Fusionner les sommets selon la distance" + + msgctxt "Operator" msgid "Batch-Clear Previews" msgstr "Effacer les prévisualisations en masse" @@ -80216,7 +80740,7 @@ msgstr "Limites souples" msgid "Limits the Property Value slider to a range, values outside the range must be inputted numerically" -msgstr "Restreindre le curseur Valeur de propriété à un intervalle ; les valeurs en-dehors de cet intervalle doivent être manuellement entrées en tant que nombres" +msgstr "Restreindre le curseur Valeur de propriété à un intervalle ; les valeurs en dehors de cet intervalle doivent être manuellement entrées en tant que nombres" msgctxt "Operator" @@ -81778,10 +82302,6 @@ msgid "View Normal Limit" msgstr "Limite normale de vue" -msgid "Maximum edge length for dynamic topology sculpting (as divisor of blender unit - higher value means smaller edge length)" -msgstr "Longueur d’arête maximale pour la sculpture à topologie dynamique (en diviseur d’unité Blender – des valeurs plus élevées donnent des arêtes plus courtes)" - - msgid "Detail Percentage" msgstr "Pourcentage de détails" @@ -82368,6 +82888,18 @@ msgid "Fluid Presets" msgstr "Préréglages de fluide" +msgid "Optimize Animations" +msgstr "Optimiser les animations" + + +msgid "Rest & Ranges" +msgstr "Repos et intervalles" + + +msgid "Sampling Animations" +msgstr "Échantillonnage des animations" + + msgid "PBR Extensions" msgstr "Extensions PBR" @@ -82944,6 +83476,11 @@ msgid "Blade" msgstr "Lame" +msgctxt "Operator" +msgid "Retime" +msgstr "Recaler" + + msgid "Feature Weights" msgstr "Poids de la fonctionnalité" @@ -83235,6 +83772,10 @@ msgid "Global Transform" msgstr "Transformation globale" +msgid "Mirror Options" +msgstr "Options de miroir" + + msgid "Curves Sculpt Add Curve Options" msgstr "Sculpture courbes – options d’ajout de courbe" @@ -85174,7 +85715,7 @@ msgstr "Diviser depuis les coins" msgid "Split and join editors by dragging from corners" -msgstr "Diviser et joindre les éditeurs en glissant depuis les coins" +msgstr "Diviser et fusionner les éditeurs en glissant depuis les coins" msgid "Edge Resize" @@ -85322,6 +85863,10 @@ msgid "Color of texture overlay" msgstr "Couleur de la texture en surimpression" +msgid "Only Show Selected F-Curve Keyframes" +msgstr "N’afficher que les images clés des F-courbes sélectionnées" + + msgid "Only keyframes of selected F-Curves are visible and editable" msgstr "Seules les images clés des F-courbes sélectionnées sont visibles et éditables" @@ -85526,6 +86071,14 @@ msgid "Enter edit mode automatically after adding a new object" msgstr "Passer en mode édition automatiquement après avoir ajouté un nouvel objet" +msgid "F-Curve High Quality Drawing" +msgstr "Affichage haute qualité des F-courbes" + + +msgid "Draw F-Curves using Anti-Aliasing (disable for better performance)" +msgstr "Afficher les F-courbes avec anticrénelage (désactiver pour de meilleures performances)" + + msgid "Global Undo" msgstr "Historique global" @@ -87294,6 +87847,14 @@ msgid "Show Blender memory usage" msgstr "Afficher l’utilisation mémoire de Blender" +msgid "Show Scene Duration" +msgstr "Afficher la durée de la scène" + + +msgid "Show scene duration" +msgstr "Afficher la durée de la scène" + + msgid "Show Statistics" msgstr "Afficher les statistiques" @@ -87362,14 +87923,6 @@ msgid "Slight" msgstr "Légère" -msgid "TimeCode Style" -msgstr "Style de timecode" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "Format des timecodes affichés lorsque le temps n’est pas exprimé en images" - - msgid "Minimal Info" msgstr "Infos minimales" @@ -87546,6 +88099,38 @@ msgid "Color range used for weight visualization in weight painting mode" msgstr "Gradient de couleur utilisé pour la visualisation des poids en mode peinture de poids" +msgid "Primitive Boolean" +msgstr "Primitive booléen" + + +msgid "RNA wrapped boolean" +msgstr "Adaptateur RNA de booléen" + + +msgid "Primitive Float" +msgstr "Primitive flottant" + + +msgid "RNA wrapped float" +msgstr "Adaptateur RNA de flottant" + + +msgid "Primitive Int" +msgstr "Primitive entier" + + +msgid "RNA wrapped int" +msgstr "Adaptateur RNA d’entier" + + +msgid "String Value" +msgstr "Valeur de chaîne de caractères" + + +msgid "RNA wrapped string" +msgstr "Adaptateur RNA de chaîne de caractères" + + msgid "ID Property Group" msgstr "Groupe de propriétés ID" @@ -88858,10 +89443,6 @@ msgid "Tile Size" msgstr "Taille de tuile" -msgid "Limit the render time (excluding synchronization time).Zero disables the limit" -msgstr "Limite le temps de rendu (le temps de synchronisation n’est pas compté). Zéro désactive la limite" - - msgid "Transmission Bounces" msgstr "Rebonds de transmission" @@ -89475,7 +90056,7 @@ msgstr "Contient les propriétés de l’exporteur SVG" msgid "Line Join" -msgstr "Joindre lignes" +msgstr "Joindre les lignes" msgid "Miter" @@ -89734,10 +90315,6 @@ msgid "Is Axis Aligned" msgstr "L’axe est aligné" -msgid "Is current view aligned to an axis (does not check the view is orthographic use \"is_perspective\" for that). Assignment sets the \"view_rotation\" to the closest axis aligned view" -msgstr "Est-ce que la vue actuelle est alignée à un axe (ne vérifie pas si la vue est orthogonale, utiliser « is_perspective » pour cela). Une assignation définit la « view_rotation » à la vue alignée à l’axe le plus proche" - - msgid "Is Perspective" msgstr "Est en perspective" @@ -90003,10 +90580,6 @@ msgid "Bias" msgstr "Biais" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "Biais envers les faces plus éloignées de l’objet (en unités blender)" - - msgid "Algorithm to generate the margin" msgstr "Algorithme pour générer la marge" @@ -90754,6 +91327,22 @@ msgid "Active index in render view array" msgstr "Indice actif dans le tableau des vues de rendu" +msgid "Retiming Handle" +msgstr "Poignée de recalage" + + +msgid "Handle mapped to particular frame that can be moved to change playback speed" +msgstr "Poignée correspondant à une frame donnée et qui peut être déplacée pour changer la vitesse de lecture" + + +msgid "Position of retiming handle in timeline" +msgstr "Position de la poignée de recalage dans la timeline" + + +msgid "Collection of RetimingHandle" +msgstr "Collection de poignées de recalage" + + msgid "Constraint influencing Objects inside Rigid Body Simulation" msgstr "Contrainte influençant les objets dans la simulation de corps rigides" @@ -91030,10 +91619,6 @@ msgid "Blender 2.7" msgstr "Blender 2.7" -msgid "Spring implementation used in blender 2.7. Damping is capped at 1.0" -msgstr "Implémentation des ressorts utilisée dans Blender 2.7. L’amortissement est limité à 1.0" - - msgid "Blender 2.8" msgstr "Blender 2.8" @@ -91690,10 +92275,6 @@ msgid "4096 px" msgstr "4096 px" -msgid "Number of time the light is reinjected inside light grids, 0 disable indirect diffuse light" -msgstr "Nombre de fois que la lumière est réinjectée dans les grilles de lumière ; 0 désactive la lumière diffuse indirecte" - - msgid "Filter Quality" msgstr "Qualité du filtre" @@ -91834,10 +92415,6 @@ msgid "Shadow Pool Size" msgstr "Taille du pool d’ombre" -msgid "Size of the shadow pool, bigger pool size allows for more shadows in the scene but might not fits into GPU memory" -msgstr "Taille du pool d’ombre, une plus grande taille de pool permet d’avoir plus d’ombres dans la scène mais peut ne pas tenir dans la mémoire GPU" - - msgid "16 MB" msgstr "16 Mo" @@ -91899,7 +92476,7 @@ msgstr "Seuil d’agitation" msgid "Rotate samples that are below this threshold" -msgstr "Faire tourner les échantillons en-dessous de ce seuil" +msgstr "Faire tourner les échantillons en dessous de ce seuil" msgid "Number of samples to compute the scattering effect" @@ -92324,7 +92901,7 @@ msgstr "Alpha au-dessus" msgctxt "Sequence" msgid "Alpha Under" -msgstr "Alpha en-dessous" +msgstr "Alpha en dessous" msgctxt "Sequence" @@ -92525,7 +93102,7 @@ msgstr "Séquence de calque d’ajustement" msgid "Sequence strip to perform filter adjustments to layers below" -msgstr "Bande de séquence, pour effectuer des ajustements sur les calques en-dessous" +msgstr "Bande de séquence, pour effectuer des ajustements sur les calques en dessous" msgid "Animation End Offset" @@ -92997,10 +93574,6 @@ msgid "Scene Sequence" msgstr "Séquence scène" -msgid "Sequence strip to used the rendered image of a scene" -msgstr "Bande séquence pour utiliser l’image rendue d’une scène" - - msgid "Scene that this sequence uses" msgstr "Scène utilisée par cette séquence" @@ -93009,10 +93582,6 @@ msgid "Camera Override" msgstr "Remplacer caméra" -msgid "Override the scenes active camera" -msgstr "Remplacer la caméra active de la scène" - - msgid "Input type to use for the Scene strip" msgstr "Type d’entrée à utiliser pour la bande de scène" @@ -93717,10 +94286,6 @@ msgid "How to resolve overlap after transformation" msgstr "Comment résoudre les chevauchements après transformation" -msgid "Move strips so transformed strips fits" -msgstr "Écarter des bandes pour y faire tenir les bandes déplacées" - - msgid "Trim or split strips to resolve overlap" msgstr "Écraser les bandes pour résoudre les chevauchements" @@ -93962,7 +94527,7 @@ msgstr "Limiter l’effet luminescent à la couleur sélectionnée" msgid "Glow Under" -msgstr "Luminescence en-dessous" +msgstr "Luminescence en dessous" msgid "Glow only areas with alpha (not supported with Regular blend mode)" @@ -95873,6 +96438,14 @@ msgid "Show empty objects" msgstr "Afficher les objets vides" +msgid "Show Grease Pencil" +msgstr "Afficher les crayons gras" + + +msgid "Show grease pencil objects" +msgstr "Afficher les objets crayons gras" + + msgid "Show Lights" msgstr "Afficher les éclairages" @@ -96198,7 +96771,7 @@ msgstr "Utiliser le fond" msgid "Display result under strips" -msgstr "Afficher le résultat en-dessous des bandes" +msgstr "Afficher le résultat en dessous des bandes" msgid "Display Frames" @@ -96593,10 +97166,6 @@ msgid "3D Region" msgstr "Région 3D" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "Région 3D dans cet espace, la région caméra dans le cas d’une vue quad" - - msgid "Quad View Regions" msgstr "Régions de vue quad" @@ -97151,10 +97720,6 @@ msgid "Endpoint V" msgstr "Points terminaux V" -msgid "Make this nurbs surface meet the endpoints in the V direction " -msgstr "Faire en sorte que cette surface nurbs rencontre les points terminaux dans la direction V " - - msgid "Smooth the normals of the surface or beveled curve" msgstr "Lisser les normales de la surface ou de la courbe « biseautée »" @@ -98051,7 +98616,7 @@ msgstr "Ligne d’interpolation" msgid "Color of lines showing non-bezier interpolation modes" -msgstr "Couleur des lignes montrant les modes d’interpolation autres que bézier" +msgstr "Couleur des lignes montrant les modes d’interpolation autres que Bézier" msgid "Color of Keyframe" @@ -98350,6 +98915,10 @@ msgid "Edge Select" msgstr "Arêtes sélectionnées" +msgid "Edge Width" +msgstr "Largeur de trait" + + msgid "Active Vertex/Edge/Face" msgstr "Sommet/arête/face active" @@ -98366,6 +98935,10 @@ msgid "Face Orientation Front" msgstr "Orientation de face : avant" +msgid "Face Retopology" +msgstr "Retopologie de face" + + msgid "Face Selected" msgstr "Face sélectionnée" @@ -100032,6 +100605,10 @@ msgid "Consider objects as whole when finding volume center" msgstr "Considérer les objets comme un tout lors du calcul du centre du volume" +msgid "Project individual elements on the surface of other objects (Always enabled with Face Nearest)" +msgstr "Projeter des éléments individuels sur la surface d’autres objets (toujours actif avec Face la plus proche)" + + msgid "Use Snap for Rotation" msgstr "Utiliser l’aimantation pour la rotation" @@ -100511,10 +101088,6 @@ msgid "Unit Scale" msgstr "Échelle d’unité" -msgid "Scale to use when converting between blender units and dimensions. When working at microscopic or astronomical scale, a small or large unit scale respectively can be used to avoid numerical precision problems" -msgstr "Échelle à utiliser pour convertir entre les unités Blender et les dimensions. Pour travailler à une échelle microscopique ou astronomique, une petite (ou grande, respectivement) échelle d’unité peut être choisie afin d’éviter des problèmes de précision numérique" - - msgid "Unit System" msgstr "Système d’unités" @@ -100783,6 +101356,14 @@ msgid "Display size for normals in the 3D view" msgstr "Taille de l’affichage des normales dans la vue 3D" +msgid "Retopology Offset" +msgstr "Décalage de la retopologie" + + +msgid "Offset used to draw edit mesh in front of other geometry" +msgstr "Décalage utilisé pour afficher le maillage édité devant d’autres géométries" + + msgid "Curves Sculpt Cage Opacity" msgstr "Opacité de la cage de sculpture de courbes" @@ -100983,6 +101564,14 @@ msgid "Display Freestyle face marks, used with the Freestyle renderer" msgstr "Afficher les marques de faces Freestyle, utilisées par le moteur de rendu Freestyle" +msgid "Light Colors" +msgstr "Couleurs des éclairages" + + +msgid "Show light colors" +msgstr "Afficher les couleurs des éclairages" + + msgid "HDRI Preview" msgstr "Aperçu HDRI" @@ -101051,6 +101640,10 @@ msgid "Show dashed lines indicating parent or constraint relationships" msgstr "Afficher les lignes pointillées indiquant les relations de parentage ou de contrainte" +msgid "Retopology" +msgstr "Retopologie" + + msgid "Sculpt Curves Cage" msgstr "Cage de sculpture de courbes" @@ -105218,16 +105811,31 @@ msgid "Node Attachment (Off)" msgstr "Attachemement du nœud (désactiver)" +msgctxt "WindowManager" +msgid "Vert/Edge Slide" +msgstr "Glisser sommet ou arête" + + msgctxt "WindowManager" msgid "Rotate" msgstr "Tourner" +msgctxt "WindowManager" +msgid "TrackBall" +msgstr "Trackball" + + msgctxt "WindowManager" msgid "Resize" msgstr "Redimensionner" +msgctxt "WindowManager" +msgid "Rotate Normals" +msgstr "Tourner normales" + + msgctxt "WindowManager" msgid "Automatic Constraint" msgstr "Contrainte automatique" @@ -105273,10 +105881,20 @@ msgid "Sample a Point" msgstr "Échantillonnés un point" +msgctxt "WindowManager" +msgid "Mesh Filter Modal Map" +msgstr "Carte modale du filtre maillage" + + msgid "No selected keys, pasting over scene range" msgstr "Aucune clé sélectionnée, coller sur tout l’intervalle" +msgctxt "Operator" +msgid "Mirrored" +msgstr "En miroir" + + msgid "Clipboard does not contain a valid matrix" msgstr "Le presse-papier ne contient aucune matrice valide" @@ -105307,6 +105925,10 @@ msgid "Paste and Bake" msgstr "Coller et précalculer" +msgid "Unable to mirror, no mirror object/bone configured" +msgstr "Impossible de copier en miroir, aucun objet ni os choisi comme miroir" + + msgid "Denoising completed" msgstr "Débruitage terminer" @@ -105351,6 +105973,10 @@ msgid "Requires NVIDIA GPU with compute capability %s" msgstr "GPU NVIDIA avec capacité de calcul %s" +msgid "HIP temporarily disabled due to compiler bugs" +msgstr "HIP désactivé temporairement à cause de bugs de compilateur" + + msgid "and NVIDIA driver version %s or newer" msgstr "et pilote NVIDIA en version %s ou plus nécessaires" @@ -105679,6 +106305,10 @@ msgid "Generating Cycles/EEVEE compatible material, but won't be visible with %s msgstr "Génération d’un matériau compatible Cycles et Eevee, mais ne sera pas visible avec le moteur de rendu %s" +msgid "Limit to" +msgstr "Limiter à" + + msgid "Mesh '%s' has polygons with more than 4 vertices, cannot compute/export tangent space for it" msgstr "Le maillage « %s » a des polygones avec plus de quatre sommets, impossible de calculer et exporter son espace tangent" @@ -105732,6 +106362,10 @@ msgid "Add Material Variant" msgstr "Ajouter variante de matériau" +msgid "No glTF Animation" +msgstr "Aucune animation glTF" + + msgid "Variant" msgstr "Variante" @@ -105745,6 +106379,10 @@ msgid "Add a new Variant Slot" msgstr "Ajouter un nouvel emplacement de variante" +msgid "Curves as NURBS" +msgstr "Courbes en tant que NURBS" + + msgid "untitled" msgstr "sans_nom" @@ -109658,11 +110296,6 @@ msgid "Decimate (Ratio)" msgstr "Décimer (proportion)" -msgctxt "Operator" -msgid "Decimate (Allowed Change)" -msgstr "Décimer (changement autorisé)" - - msgctxt "Operator" msgid "Selection to Cursor Value" msgstr "Sélection vers valeur du curseur" @@ -109673,6 +110306,11 @@ msgid "Flatten Handles" msgstr "Aplatir poignées" +msgctxt "Operator" +msgid "Decimate (Allowed Change)" +msgstr "Décimer (changement autorisé)" + + msgctxt "Operator" msgid "Less" msgstr "Moins" @@ -110101,6 +110739,11 @@ msgid "Link to Viewer" msgstr "Lier au visualiseur" +msgctxt "Operator" +msgid "Exit Group" +msgstr "Sortir du groupe" + + msgctxt "Operator" msgid "Online Manual" msgstr "Manuel en ligne" @@ -110132,11 +110775,6 @@ msgid "Slot %d" msgstr "Emplacement %d" -msgctxt "Operator" -msgid "Exit Group" -msgstr "Sortir du groupe" - - msgctxt "Operator" msgid "Edit" msgstr "Éditer" @@ -110593,7 +111231,7 @@ msgstr "Alpha au-dessus" msgctxt "Operator" msgid "Alpha Under" -msgstr "Alpha en-dessous" +msgstr "Alpha en dessous" msgctxt "Operator" @@ -111229,6 +111867,11 @@ msgid "Wavefront (.obj)" msgstr "Wavefront (.obj)" +msgctxt "Operator" +msgid "Stanford PLY (.ply) (experimental)" +msgstr "Stanford PLY (.ply) (expérimental)" + + msgctxt "Operator" msgid "STL (.stl) (experimental)" msgstr "STL (.stl) (expérimental)" @@ -111351,6 +111994,10 @@ msgid "Scene Statistics" msgstr "Statistiques de la scène" +msgid "Scene Duration" +msgstr "Durée de la scène" + + msgid "System Memory" msgstr "Mémoire système" @@ -112244,11 +112891,26 @@ msgid "Locks" msgstr "Verrouillages" +msgctxt "Operator" +msgid "Sphere" +msgstr "Sphère" + + msgctxt "Operator" msgid "Box Show" msgstr "Afficher dans un rectangle" +msgctxt "Operator" +msgid "Toggle Visibility" +msgstr "(Dés)activer la visibilité" + + +msgctxt "Operator" +msgid "Hide Active Face Set" +msgstr "Cacher l’ensemble de faces actif" + + msgctxt "Operator" msgid "Invert Visible" msgstr "Inverser visible" @@ -112259,6 +112921,26 @@ msgid "Hide Masked" msgstr "Cacher masqués" +msgctxt "Operator" +msgid "Box Add" +msgstr "Ajouter une boîte" + + +msgctxt "Operator" +msgid "Lasso Add" +msgstr "Ajouter au lasso" + + +msgctxt "Operator" +msgid "Fair Positions" +msgstr "Positions élégantes" + + +msgctxt "Operator" +msgid "Fair Tangency" +msgstr "Tangentes élégantes" + + msgid "Set Pivot" msgstr "Définir le pivot" @@ -112991,6 +113673,11 @@ msgid "Visual Geometry to Mesh" msgstr "Géométrie visuelle vers maillage" +msgctxt "Operator" +msgid "Make Parent without Inverse (Keep Transform)" +msgstr "Créer parent sans inverse (conserver transformation)" + + msgctxt "Operator" msgid "Limit Total Vertex Groups" msgstr "Limiter total groupe de sommets" @@ -113948,6 +114635,10 @@ msgid "Loading failed: " msgstr "Le chargement a échoué : " +msgid "Loading \"%s\" failed: " +msgstr "Le chargement de « %s » a échoué : " + + msgid "Linked Data" msgstr "Données liées" @@ -115231,6 +115922,14 @@ msgid "Can't edit this property from a linked data-block" msgstr "Impossible d’éditer cette propriété dans un bloc de données lié" +msgid "No channels to operate on" +msgstr "Aucun canal sur lequel agir" + + +msgid "No keyframes to focus on." +msgstr "Aucune image clé vers laquelle aller" + + msgid "" msgstr "" @@ -115355,6 +116054,10 @@ msgid "Coefficient" msgstr "Coefficient" +msgid "Modifier requires original data" +msgstr "Le modificateur a besoin des données originales" + + msgid "" msgstr "" @@ -115788,7 +116491,7 @@ msgstr "%i blocs de données ne sont plus des assets" msgid "Selected path is outside of the selected asset library" -msgstr "Le chemin sélectionné est en-dehors de la bibliothèque d’assets sélectionnée" +msgstr "Le chemin sélectionné est en dehors de la bibliothèque d’assets sélectionnée" msgid "Unable to copy bundle due to external dependency: \"%s\"" @@ -116137,7 +116840,7 @@ msgstr "Le groupe de sommets actuel est verrouillé" msgid "Apply all rotations before join objects" -msgstr "Appliquer toutes les rotation avant de joindre les objets" +msgstr "Appliquer toutes les rotations avant de fusionner les objets" msgid "Active object is not a selected grease pencil" @@ -116666,6 +117369,34 @@ msgid "Drop %s on slot %d of %s" msgstr "Déposer %s sur l’emplacement %d de %s" +msgid "Expected an array of numbers: [n, n, ...]" +msgstr "Un tableau de nombres est attendu : [n, n, ...]" + + +msgid "Expected a number" +msgstr "Un nombre est attendu" + + +msgid "Paste expected 3 numbers, formatted: '[n, n, n]'" +msgstr "Pour coller, 3 nombres étaient attendus, au format : '[n, n, n]'" + + +msgid "Paste expected 4 numbers, formatted: '[n, n, n, n]'" +msgstr "Pour coller, 4 nombres étaient attendus, au format : '[n, n, n]'" + + +msgid "Unsupported key: Unknown" +msgstr "Touche non prise en charge : Inconnue" + + +msgid "Unsupported key: CapsLock" +msgstr "Touche non prise en charge : VerrMaj" + + +msgid "Failed to find '%s'" +msgstr "« %s » introuvable" + + msgid "Menu Missing:" msgstr "Menu manquant :" @@ -117206,6 +117937,18 @@ msgid "Browse ID data to be linked" msgstr "Parcourir données ID à lier" +msgid "The data-block %s is not overridable" +msgstr "Le bloc de données %s n’est pas redéfinissable" + + +msgid "The type of data-block %s is not yet implemented" +msgstr "Le type de bloc de données %s n’est pas encore implémenté" + + +msgid "The data-block %s could not be overridden" +msgstr "Le bloc de données %s n’a pas pu être redéfini" + + msgctxt "Object" msgid "New" msgstr "Nouveau" @@ -117384,6 +118127,10 @@ msgid "No filepath given" msgstr "Aucun chemin de fichier donné" +msgid "Could not add a layer to the cache file" +msgstr "Impossible d’ajouter un calque au fichier de cache" + + msgid "Global Orientation" msgstr "Orientation globale" @@ -117452,18 +118199,10 @@ msgid "Unable to import '%s'" msgstr "Impossible d’importer « %s »" -msgid "Limit to" -msgstr "Limiter à" - - msgid "Triangulated Mesh" msgstr "Maillage triangulé" -msgid "Curves as NURBS" -msgstr "Courbes en tant que NURBS" - - msgid "Grouping" msgstr "Grouper" @@ -117846,7 +118585,7 @@ msgstr "%d %s inversés en miroir" msgid "Cannot join while in edit mode" -msgstr "Impossible de joindre en mode édition" +msgstr "Impossible de fusionner en mode édition" msgid "Active object is not a selected mesh" @@ -117862,7 +118601,7 @@ msgstr "Les maillages sélectionnés doivent avoir le même nombre de sommets" msgid "No additional selected meshes with equal vertex count to join" -msgstr "Aucun autre maillage sélectionné ayant le même nombre de sommets à joindre" +msgstr "Aucun autre maillage sélectionné ayant le même nombre de sommets à fusionner" msgid "Joining results in %d vertices, limit is %ld" @@ -118755,6 +119494,22 @@ msgid "The remesher cannot run with a Multires modifier in the modifier stack" msgstr "Le remailleur ne fonctionne pas si un modificateur Multirésolutions se trouve dans la pile de modificateurs" +msgid "QuadriFlow: Remeshing cancelled" +msgstr "QuadriFlow : remaillage annulé" + + +msgid "QuadriFlow: The mesh needs to be manifold and have face normals that point in a consistent direction" +msgstr "QuadriFlow : le maillage doit être manifold et avoir toutes les normales de faces dans le même sens" + + +msgid "QuadriFlow: Remeshing completed" +msgstr "QuadriFlow : remaillage terminé" + + +msgid "QuadriFlow: Remeshing failed" +msgstr "QuadriFlow : le remaillage a échoué" + + msgid "Select Collection" msgstr "Sélectionner collection" @@ -118808,7 +119563,7 @@ msgstr "Impossible d’éditer des effets de shader provenant de données liées msgid "Apply current visible shape to the object data, and delete all shape keys" -msgstr "Appliquer la forme actuellement visible aux données d’objet, et supprimer toutes les clés de formes" +msgstr "Appliquer la forme actuellement visible aux données d’objet, et supprimer toutes les clés de forme" msgid "Objects have no data to transform" @@ -118987,6 +119742,18 @@ msgid "Bake failed: invalid canvas" msgstr "Le précalcul a échoué : canevas invalide" +msgid "Baking canceled!" +msgstr "Précalcul annulé !" + + +msgid "DynamicPaint: Bake complete! (%.2f)" +msgstr "Peinture dynamique : précalcul terminé ! (%.2f)" + + +msgid "DynamicPaint: Bake failed: %s" +msgstr "Peinture dynamique : le précalcul a échoué : %s" + + msgid "Removed %d double particle(s)" msgstr "Enlevé %d particule(s) en double" @@ -119031,6 +119798,10 @@ msgid "Fluid: Could not use default cache directory '%s', please define a valid msgstr "Fluide : impossible d’utiliser le dossier de cache par défaut « %s », veuillez définir un chemin de cache valide manuellement" +msgid "Fluid: %s complete! (%.2f)" +msgstr "Fluid : %s terminé ! (%.2f)" + + msgid "Library override data-blocks only support Disk Cache storage" msgstr "Les blocs de données avec redéfinitions de bibliothèque ne prennent en charge que le stockage cache sur disque" @@ -119315,6 +120086,14 @@ msgid "Skipping existing frame \"%s\"" msgstr "La frame existante « %s » est ignorée" +msgid "No active object, unable to apply the Action before rendering" +msgstr "Aucun objet actif, impossible d’appliquer l’action avant le rendu" + + +msgid "Object %s has no pose, unable to apply the Action before rendering" +msgstr "L’objet %s n’a aucune pose, impossible d’appliquer l’action avant le rendu" + + msgid "Unable to remove material slot in edit mode" msgstr "Impossible d’enlever un emplacement de matériau en mode édition" @@ -119376,7 +120155,7 @@ msgstr "Le calque de rendu « %s » n’a pu être enlevé de la scène « %s msgid "Join Areas" -msgstr "Joindre les zones" +msgstr "Fusionner les zones" msgid "Swap Areas" @@ -119572,6 +120351,10 @@ msgid "Invalid UV map: UV islands must not overlap" msgstr "Carte UV invalide : les îlots UV ne doivent pas se chevaucher" +msgid "Cursor must be over the surface mesh" +msgstr "Le curseur doit être au-dessus de la surface d’un maillage" + + msgid "Curves do not have surface attachment information" msgstr "Les courbes n’ont pas d’informations d’attachement de surface" @@ -119608,6 +120391,22 @@ msgid "Packed MultiLayer files cannot be painted: %s" msgstr "Les fichiers multicalques empaquetés ne peuvent être peints : %s" +msgid " UVs," +msgstr " UV," + + +msgid " Materials," +msgstr " Matériaux," + + +msgid " Textures," +msgstr " Textures," + + +msgid " Stencil," +msgstr " Pochoir," + + msgid "Untitled" msgstr "Sans nom" @@ -119712,6 +120511,10 @@ msgid "Texture mapping not set to 3D, results may be unpredictable" msgstr "Le placage de texture n’est pas réglé sur 3D, les résultats seront peut-être imprévisibles" +msgid "%s: Confirm, %s: Cancel" +msgstr "%s : Confirmer, %s : Annuler" + + msgid "Move the mouse to expand the mask from the active vertex. LMB: confirm mask, ESC/RMB: cancel" msgstr "Déplacer la souris pour étendre le masque depuis le sommet actif. ClicG : Confirmer masque, Échap/ClicG : Annuler" @@ -119989,7 +120792,7 @@ msgstr "Utiliser clic-gauche pour définir où placer le marqueur" msgid "No active track to join to" -msgstr "Aucune piste active à laquelle se joindre" +msgstr "Aucune piste active dans laquelle fusionner" msgid "Object used for camera tracking cannot be deleted" @@ -120108,6 +120911,10 @@ msgid "Yesterday" msgstr "Hier" +msgid "Could not rename: %s" +msgstr "Impossible de renommer « %s »" + + msgid "Unable to create configuration directory to write bookmarks" msgstr "Impossible de créer le dossier de configuration pour y écrire les signets" @@ -120253,7 +121060,7 @@ msgstr "Contrôleur :" msgid "Show in Drivers Editor" -msgstr "Afficher dans l’éditeur Contrôleurs" +msgstr "Afficher dans l’éditeur de contrôleurs" msgid "Add Modifier" @@ -120465,6 +121272,14 @@ msgid "All %d rotation channels were filtered" msgstr "Tous les %d canaux de rotation ont été filtrés" +msgid "No drivers deleted" +msgstr "Aucun contrôleur supprimé" + + +msgid "Deleted %u drivers" +msgstr "%u contrôleurs supprimés" + + msgid "Decimate Keyframes" msgstr "Supprimer images clés" @@ -120481,6 +121296,18 @@ msgid "Ease Keys" msgstr "Amortir clés" +msgid "Gaussian Smooth" +msgstr "Adoucissement gaussien" + + +msgid "Cannot find keys to operate on." +msgstr "Impossible de trouver de clés sur lesquelles agir" + + +msgid "Decimate: Skipping non linear/bezier keyframes!" +msgstr "Décimer : images clés non-linéaires ou Bézier ignorées !" + + msgid "There is no animation data to operate on" msgstr "Aucunes données d’animation sur lesquelles agir" @@ -120697,6 +121524,10 @@ msgid " | Objects:%s/%s" msgstr " | Objets:%s/%s" +msgid "Duration: %s (Frame %i/%i)" +msgstr "Durée : %s (frame %i/%i)" + + msgid "Memory: %s" msgstr "Mémoire: %s" @@ -121567,7 +122398,7 @@ msgstr "Ajouter une bande d’effet Alpha au-dessus au séquenceur" msgid "Add an alpha under effect strip to the sequencer" -msgstr "Ajouter une bande d’effet Alpha en-dessous au séquenceur" +msgstr "Ajouter une bande d’effet Alpha en dessous au séquenceur" msgid "Add a gamma cross transition to the sequencer" @@ -121726,6 +122557,14 @@ msgid "Select movie or image strips" msgstr "Sélectionner des bandes vidéo ou images" +msgid "No handle available" +msgstr "Aucune poignée disponible" + + +msgid "This strip type can not be retimed" +msgstr "Ce type de bande ne peut pas être recalé" + + msgid "No active sequence!" msgstr "Aucune séquence active !" @@ -121763,7 +122602,7 @@ msgstr "Type de colonne inconnu" msgid "File Modified Outside and Inside Blender" -msgstr "Fichier modifié en-dehors et dans Blender" +msgstr "Fichier modifié en dehors et dans Blender" msgid "Reload from disk (ignore local changes)" @@ -121779,7 +122618,7 @@ msgstr "Rendre le texte interne (copie séparée)" msgid "File Modified Outside Blender" -msgstr "Fichier modifier en-dehors de Blender" +msgstr "Fichier modifié en dehors de Blender" msgid "Reload from disk" @@ -121787,7 +122626,7 @@ msgstr "Recharger depuis le disque" msgid "File Deleted Outside Blender" -msgstr "Fichier supprimer en-dehors de Blender" +msgstr "Fichier supprimé en dehors de Blender" msgid "Make text internal" @@ -122123,11 +122962,11 @@ msgstr " (locale)" msgid " (Clipped)" -msgstr " (clippée)" +msgstr " (découpée)" msgid " (Viewer)" -msgstr " (Visualiseur)" +msgstr " (visualiseur)" msgid "fps: %.2f" @@ -122997,6 +123836,138 @@ msgid "All line art objects are now cleared" msgstr "Tous les objets Line Art ont été effacés" +msgid "No active object or active object isn't a GPencil object." +msgstr "Aucun object actif, ou l’objet actif n’est pas un crayon gras" + + +msgid "Could not open Alembic archive for reading! See console for detail." +msgstr "Impossible d’ouvrir l’archive Alembic en lecture ! Voir la console pour plus de détails" + + +msgid "PLY Importer: failed importing, unknown error." +msgstr "Importeur PLY : l’import a échoué, erreur inconnue." + + +msgid "PLY Importer: failed importing, no vertices." +msgstr "Importeur PLY : l’import a échoué, aucun sommet." + + +msgid "PLY Importer: %s: %s" +msgstr "Importeur PLY : %s : %s" + + +msgid "%s: Couldn't determine package-relative file name from path %s" +msgstr "%s : impossible de déterminer le nom de fichier relatif au paquet à partir du chemin %s" + + +msgid "%s: Couldn't copy file %s to %s." +msgstr "%s : impossible de copier le fichier %s vers %s" + + +msgid "%s: Couldn't split UDIM pattern %s" +msgstr "%s : impossible de séparer le motif UDIM %s" + + +msgid "%s: Will not overwrite existing asset %s" +msgstr "%s : l’asset existant %s ne sera pas écrasé" + + +msgid "%s: Can't resolve path %s" +msgstr "%s : impossible de résoudre le chemin %s" + + +msgid "%s: Can't resolve path %s for writing" +msgstr "%s : impossible de résoudre le chemin %s en écriture" + + +msgid "%s: Can't copy %s. The source and destination paths are the same" +msgstr "%s : impossible de copier %s. Les chemins source et de destination sont identiques" + + +msgid "%s: Can't write to asset %s. %s." +msgstr "%s : impossible d’écrire l’asset %s. %s" + + +msgid "%s: Can't open source asset %s" +msgstr "%s : impossible d’ouvrir l’asset source %s" + + +msgid "%s: Null buffer for source asset %s" +msgstr "%s : buffer null pour l’asset source %s" + + +msgid "%s: Can't open destination asset %s for writing" +msgstr "%s : impossible d’ouvrir l’asset de destination %s en écriture" + + +msgid "%s: Error writing to destination asset %s" +msgstr "%s : erreur lors de l’écriture de l’asset de destination %s" + + +msgid "%s: Couldn't close destination asset %s" +msgstr "%s : impossible de fermer l’asset de destination %s" + + +msgid "%s: Texture import directory path empty, couldn't import %s" +msgstr "%s : le chemin du dossier d’import de textures est vide, impossible d’importer %s" + + +msgid "%s: import directory is relative but the blend file path is empty. Please save the blend file before importing the USD or provide an absolute import directory path. Can't import %s" +msgstr "%s : le dossier d’import est en relatif, mais le chemin du fichier blend est vide. Veuillez enregistrer le fichier blend avant d’importer l’USD, ou donner un chemin absolu pour le dossier à importer. Impossible d’importer %s" + + +msgid "%s: Couldn't create texture import directory %s" +msgstr "%s : impossible de créer le dossier d’import de textures %s" + + +msgid "USD Export: Unable to delete existing usdz file %s" +msgstr "Export USD : impossible de supprimer le fichier usdz existant %s" + + +msgid "USD Export: Couldn't move new usdz file from temporary location %s to %s" +msgstr "Export USD : impossible de déplacer le nouveau fichier usdz depuis l’emplacement temporaire %s vers %s" + + +msgid "USD Export: unable to find suitable USD plugin to write %s" +msgstr "Export USD : impossible de trouver un plugin USD approprié pour écrire %s" + + +msgid "Could not open USD archive for reading! See console for detail." +msgstr "Ouverture en lecture de l’archive USD impossible ! Voir la console pour plus de détails" + + +msgid "USD Import: unable to open stage to read %s" +msgstr "Import USD : impossible d’ouvrir l’étage pour lire %s" + + +msgid "Unhandled Gprim type: %s (%s)" +msgstr "Type Gprim non géré : %s (%s)" + + +msgid "USD Export: no bounds could be computed for %s" +msgstr "Export USD : la boîte englobante n’a pas pu être calculée pour %s" + + +msgid "USD export: couldn't export in-memory texture to %s" +msgstr "Export USD : les textures en mémoire n’ont pas pu être exportées vers %s" + + +msgid "USD export: couldn't copy texture tile from %s to %s" +msgstr "Export USD : la tuile de texture n’a pas pu être copiée de %s vers %s" + + +msgid "USD export: couldn't copy texture from %s to %s" +msgstr "Export USD : la texture n’a pas pu être copiée de %s vers %s" + + +msgid "USD Export: failed to resolve .vdb file for object: %s" +msgstr "Export USD : impossible de résoudre le fichier .vdb pour l’objet : %s" + + +msgid "USD Export: couldn't construct relative file path for .vdb file, absolute path will be used instead" +msgstr "Export USD : impossible de construire un chemin de fichier relatif pour le fichier .vdb, un chemin absolu sera utilisé à la place" + + msgid "Override template experimental feature is disabled" msgstr "La fonctionnalité expérimentale des patrons de redéfinition est désactivée" @@ -123588,6 +124559,10 @@ msgid "ViewLayer '%s' does not contain object '%s'" msgstr "Le calque de vue « %s » ne contient pas l’objet « %s »" +msgid "AOV not found in view-layer '%s'" +msgstr "AOV introuvable pour le calque de rendu « %s »" + + msgid "Failed to add the color modifier" msgstr "Impossible d’ajouter le modificateur de couleur" @@ -123641,7 +124616,7 @@ msgstr "L’objet n’a pas de donnée de géométrie" msgid "%s '%s' is outside of main database and can not be removed from it" -msgstr "%s « %s » est en-dehors de la base de données principale et ne peut en être supprimé" +msgstr "%s « %s » est en dehors de la base de données principale et ne peut en être supprimé" msgid "%s '%s' must have zero users to be removed, found %d (try with do_unlink=True parameter)" @@ -124146,10 +125121,6 @@ msgid "Region not found in space type" msgstr "La région est introuvable dans le type d’espace" -msgid "%s '%s' has category '%s' " -msgstr "%s '%s' a la catégorie '%s'" - - msgid "%s parent '%s' for '%s' not found" msgstr "%s parent '%s' introuvable pour '%s'" @@ -124159,13 +125130,17 @@ msgstr "L’add-on n’est plus valide" msgid "Excluded path is no longer valid" -msgstr "Le chemin exclus n’est plus valide" +msgstr "Le chemin exclu n’est plus valide" msgid "Font not packed" msgstr "Police non-empaquetée" +msgid "Could not find grid with name %s" +msgstr "La grille nommée %s est introuvable" + + msgid "Not a non-modal keymap" msgstr "Pas un ensemble de raccourcis non-modal" @@ -126059,6 +127034,14 @@ msgid "Disabled, Blender was compiled without OpenSubdiv" msgstr "Désactivé, Blender a été compilé sans OpenSubdiv" +msgid "Half-Band Width" +msgstr "Largeur de demi-bande" + + +msgid "Half the width of the narrow band in voxel units" +msgstr "La moitié de la bande étroite, en unités de voxels" + + msgid "The face to retrieve data from. Defaults to the face from the context" msgstr "La face de laquelle obtenir les données. Utilise la face à partir du contexte par défaut" @@ -126291,6 +127274,18 @@ msgid "Direction in which to scale the element" msgstr "Direction dans laquelle redimensionner l’élément" +msgid "Radius must be greater than 0" +msgstr "Le rayon doit être supérieur à 0" + + +msgid "Half-band width must be greater than 1" +msgstr "La demi-largeur de bande doit être supérieure à 1" + + +msgid "Voxel size is too small" +msgstr "La taille de voxel est trop petite" + + msgid "The parts of the geometry that go into the first output" msgstr "Parties de la géométrie allant dans la première sortie" @@ -126728,7 +127723,7 @@ msgstr "Taille des joints" msgid "Mortar Smooth" -msgstr "Adoucir joints" +msgstr "Adoucir les joints" msgid "Brick Width" @@ -127021,6 +128016,10 @@ msgid "WaveDistortion" msgstr "DistorsionVagues" +msgid "Region could not be drawn!" +msgstr "La région n’a pas pu être affichée !" + + msgid "Input pending " msgstr "En attente d’entrée pour " @@ -127105,6 +128104,10 @@ msgid "Engine '%s' not available for scene '%s' (an add-on may need to be instal msgstr "Le moteur « %s » n’est pas disponible pour la scène « %s » (un add-on doit peut-être être installé ou activé)" +msgid "Library \"%s\" needs overrides resync" +msgstr "La bibliothèque « %s » nécessite une resynchro des redéfinitions" + + msgid "%d libraries and %d linked data-blocks are missing (including %d ObjectData and %d Proxies), please check the Info and Outliner editors for details" msgstr "%d bibliothèques et %d blocs de données liés manquants (dont %d données d’objets et %d proxies), voir les éditeurs infos et synoptique pour plus d’informations" @@ -127117,6 +128120,34 @@ msgid "%d sequence strips were not read because they were in a channel larger th msgstr "%d bandes de séquence n’ont pas été lues parce qu’elles étaient dans un canal supérieur à %d" +msgid "Cannot read file \"%s\": %s" +msgstr "Impossible de lire le fichier « %s » : %s" + + +msgid "File format is not supported in file \"%s\"" +msgstr "Le format du fichier « %s » n’est pas pris en charge" + + +msgid "File path \"%s\" invalid" +msgstr "Chemin de fichier « %s » invalide" + + +msgid "Unknown error loading \"%s\"" +msgstr "Erreur inconnue lors du chargement de « %s »" + + +msgid "Application Template \"%s\" not found" +msgstr "Le patron d’application « %s » est introuvable" + + +msgid "Could not read \"%s\"" +msgstr "Impossible de lire « %s »" + + +msgid "Cannot save blend file, path \"%s\" is not writable" +msgstr "Impossible d’enregistrer le fichier blend, le chemin « %s » n’est pas autorisé en écriture" + + msgid "Cannot overwrite used library '%.240s'" msgstr "Impossible d’écraser la bibliothèque utilisée « %.240s »" @@ -127125,6 +128156,10 @@ msgid "Saved \"%s\"" msgstr "Enregistré « %s »" +msgid "Can't read alternative start-up file: \"%s\"" +msgstr "Impossible de lire le fichier de démarrage alternatif : « %s »" + + msgid "The \"filepath\" property was not an absolute path: \"%s\"" msgstr "La propriété « filepath » n’est pas un chemin absolu : « %s »" @@ -127849,6 +128884,10 @@ msgid "View the viewport with virtual reality glasses (head-mounted displays)" msgstr "Voir la vue 3D avec des lunettes de réalité virtuelle (visiocasques)" +msgid "This is an early, limited preview of in development VR support for Blender." +msgstr "Cet add-on est un aperçu limité de la prise en charge de la VR pour Blender, en cours de développement" + + msgid "Copy Global Transform" msgstr "Copier les transformations globales" @@ -127914,7 +128953,7 @@ msgstr "Format NewTek MDD" msgid "Import-Export MDD as mesh shape keys" -msgstr "Importer et exporter MDD en tant que clés de formes de maillage" +msgstr "Importer et exporter MDD en tant que clés de forme de maillage" msgid "STL format" @@ -128053,6 +129092,10 @@ msgid "Allows managing UI translations directly from Blender (update main .po fi msgstr "Permet la gestion des traductions de l’interface directement depuis Blender (mettre à jour les fichiers .po, mettre à jour les traductions des scripts, etc.)" +msgid "Still in development, not all features are fully implemented yet!" +msgstr "En cours de développement, toutes les fonctionnalités ne sont pas encore complètement implémentées !" + + msgid "All Add-ons" msgstr "Tous les add-ons" @@ -128284,3 +129327,219 @@ msgstr "En cours" msgid "Starting" msgstr "Très partielles" + +msgid "Generation" +msgstr "Génération" + + +msgid "Utility" +msgstr "Utilitaires" + + +msgid "Attach Hair Curves to Surface" +msgstr "Attacher les courbes de poils à la surface" + + +msgid "Attaches hair curves to a surface mesh" +msgstr "Attacher les courbes de poils à la surface d’un maillage" + + +msgid "Blend Hair Curves" +msgstr "Uniformiser les courbes de poils" + + +msgid "Blends shape between multiple hair curves in a certain radius" +msgstr "Uniformiser la forme entre plusieurs courbes de poils, dans un certain rayon" + + +msgid "Braid Hair Curves" +msgstr "Tresser les courbes de poils" + + +msgid "Deforms existing hair curves into braids using guide curves" +msgstr "Déformer les courbes de poils existantes pour les tresser, en utilisant des courbes guides" + + +msgid "Clump Hair Curves" +msgstr "Agglutiner les courbes de poils" + + +msgid "Clumps together existing hair curves using guide curves" +msgstr "Agglutiner les courbes de poils existantes en utilisant des courbes guides" + + +msgid "Create Guide Index Map" +msgstr "Créer une correspondance des guides" + + +msgid "Creates an attribute that maps each curve to its nearest guide via index" +msgstr "Créer un attribut qui fait correspondre chaque courbe au guide le plus proche via son indice" + + +msgid "Curl Hair Curves" +msgstr "Boucler les courbes de poils" + + +msgid "Deforms existing hair curves into curls using guide curves" +msgstr "Déformer les courbes de poils existantes pour les faire boucler, en utilisant des courbes guides" + + +msgid "Curve Info" +msgstr "Infos des courbes" + + +msgid "Reads information about each curve" +msgstr "Lire des informations sur chaque courbe" + + +msgid "Curve Root" +msgstr "Racine de la courbe" + + +msgid "Reads information about each curve's root point" +msgstr "Lire des informations sur la racine de chaque courbe" + + +msgid "Curve Segment" +msgstr "Segment de courbe" + + +msgid "Reads information each point's previous curve segment" +msgstr "Lire des informations sur le segment de courbe précédent de chaque point" + + +msgid "Curve Tip" +msgstr "Pointe de la courbe" + + +msgid "Reads information about each curve's tip point" +msgstr "Lire des informations sur la pointe de chaque courbe" + + +msgid "Displace Hair Curves" +msgstr "Déplacer les courbes de poils" + + +msgid "Displaces hair curves by a vector based on various options" +msgstr "Déplacer les courbes de poils par un vecteur, selon diverses options" + + +msgid "Duplicate Hair Curves" +msgstr "Dupliquer les courbes de poils" + + +msgid "Duplicates hair curves a certain number of times within a radius" +msgstr "Dupliquer les courbes de poils un certain nombre de fois, dans un certain rayon" + + +msgid "Frizz Hair Curves" +msgstr "Friser les courbes de poils" + + +msgid "Deforms hair curves using a random vector per point to frizz them" +msgstr "Déformer les courbes de poils en utilisant un vecteur aléatoire par point pour les faire friser" + + +msgid "Generate Hair Curves" +msgstr "Générer des courbes de poils" + + +msgid "Generates new hair curves on a surface mesh" +msgstr "Générer de nouvelles courbes de poils à la surface d’un maillage" + + +msgid "Hair Attachment Info" +msgstr "Infos d’attache des poils" + + +msgid "Reads attachment information regarding a surface mesh" +msgstr "Lire les informations d’attache des poils par rapport à la surface d’un maillage" + + +msgid "Hair Curves Noise" +msgstr "Bruit de courbes de poils" + + +msgid "Deforms hair curves using a noise texture" +msgstr "Déformer les courbes de poils en utilisant une texture de bruit" + + +msgid "Interpolate Hair Curves" +msgstr "Interpoler les courbes de poils" + + +msgid "Interpolates existing guide curves on a surface mesh" +msgstr "Interpoler les courbes de poils existantes à la surface d’un maillage" + + +msgid "Redistribute Curve Points" +msgstr "Redistribuer les points des courbes" + + +msgid "Redistributes existing control points evenly along each curve" +msgstr "Redistribuer uniformément les points de contrôle existants le long de chaque courbe" + + +msgid "Restore Curve Segment Length" +msgstr "Restaurer la longueur du segment de courbe" + + +msgid "Restores the length of each curve segment using a previous state after deformation" +msgstr "Restaurer la longueur de chaque segment de courbe après déformation, en utilisant un état précédent" + + +msgid "Roll Hair Curves" +msgstr "Enrouler les courbes de poils" + + +msgid "Rolls up hair curves starting from their tips" +msgstr "Enrouler les courbes de poils, en commençant par la pointe" + + +msgid "Rotate Hair Curves" +msgstr "Faire tourner les courbes de poils" + + +msgid "Rotates each hair curve around an axis" +msgstr "Faire tourner chaque courbe de poil autour d’un axe" + + +msgid "Set Hair Curve Profile" +msgstr "Définir le profil de la courbe de poil" + + +msgid "Sets the radius attribute of hair curves acoording to a profile shape" +msgstr "Définir l’attribut de rayon des courbes de poils d’après une forme de profil" + + +msgid "Shrinkwrap Hair Curves" +msgstr "Contracter/envelopper les courbes de poils" + + +msgid "Shrinkwraps hair curves to a mesh surface from below and optionally from above" +msgstr "Contracter/envelopper les courbes de poils à la surface d’un maillage, depuis l’intérieur et éventuellement depuis l’extérieur" + + +msgid "Smooth Hair Curves" +msgstr "Adoucir les courbes de poils" + + +msgid "Smoothes the shape of hair curves" +msgstr "Adoucir la forme des courbes de poils" + + +msgid "Straighten Hair Curves" +msgstr "Dresser les courbes de poils" + + +msgid "Straightens hair curves between root and tip" +msgstr "Dresser les courbes de poils entre la racine et la pointe" + + +msgid "Trim Hair Curves" +msgstr "Tailler les courbes de poils" + + +msgid "Trims or scales hair curves to a certain length" +msgstr "Tailler ou redimensionner les courbes de poils à une certaine longueur" + diff --git a/locale/po/ha.po b/locale/po/ha.po index 49597410a26..e7ceaf93760 100644 --- a/locale/po/ha.po +++ b/locale/po/ha.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2017-12-25 14:01+0100\n" "Last-Translator: UMAR HARUNA ABDULLAHI \n" "Language-Team: BlenderNigeria \n" diff --git a/locale/po/he.po b/locale/po/he.po index 13afcbd40e8..37c19858344 100644 --- a/locale/po/he.po +++ b/locale/po/he.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2012-10-07 13:56+0300\n" "Last-Translator: Barak Itkin \n" "Language-Team: LANGUAGE \n" diff --git a/locale/po/hi.po b/locale/po/hi.po index 504c64f2784..97536628f88 100644 --- a/locale/po/hi.po +++ b/locale/po/hi.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2015-03-03 16:21+0530\n" "Last-Translator: Roshan Lal Gumasta \n" "Language-Team: Hindi \n" diff --git a/locale/po/hu.po b/locale/po/hu.po index 690393640a9..8a685b87abf 100644 --- a/locale/po/hu.po +++ b/locale/po/hu.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2015-02-21 19:17+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -13,9 +13,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.7.4\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -25,9 +25,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -37,9 +37,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -49,9 +49,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -61,9 +61,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -73,9 +73,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -85,9 +85,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -97,9 +97,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -109,9 +109,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -121,9 +121,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -133,9 +133,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -145,9 +145,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -157,9 +157,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -169,9 +169,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -181,9 +181,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 16:47+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -193,9 +193,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -205,9 +205,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -217,9 +217,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -229,9 +229,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -241,9 +241,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -253,9 +253,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -265,9 +265,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -277,9 +277,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -289,9 +289,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -301,9 +301,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -313,9 +313,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -325,9 +325,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -337,9 +337,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -349,9 +349,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -361,9 +361,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-12-27 18:52+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -373,9 +373,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.7.1\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -385,9 +385,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -397,9 +397,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -409,9 +409,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -421,9 +421,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -433,9 +433,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -445,9 +445,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -457,9 +457,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -469,9 +469,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -481,9 +481,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -493,9 +493,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -505,9 +505,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -517,9 +517,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -529,9 +529,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -541,9 +541,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 16:47+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -553,9 +553,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -565,9 +565,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -577,9 +577,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -589,9 +589,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -601,9 +601,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -613,9 +613,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -625,9 +625,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -637,9 +637,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -649,9 +649,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -661,9 +661,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -673,9 +673,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -685,9 +685,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -697,9 +697,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -709,9 +709,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -721,9 +721,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 17:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -733,9 +733,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -745,9 +745,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -757,9 +757,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -769,9 +769,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -781,9 +781,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -793,9 +793,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -805,9 +805,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -817,9 +817,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -829,9 +829,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -841,9 +841,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -853,9 +853,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -865,9 +865,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -877,9 +877,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -889,9 +889,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -901,9 +901,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 16:47+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -913,9 +913,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -925,9 +925,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -937,9 +937,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -949,9 +949,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -961,9 +961,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -973,9 +973,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -985,9 +985,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -997,9 +997,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1009,9 +1009,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1021,9 +1021,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1033,9 +1033,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1045,9 +1045,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1057,9 +1057,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1069,9 +1069,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1081,9 +1081,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2015-01-10 20:46+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1093,9 +1093,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.7.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1105,9 +1105,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1117,9 +1117,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1129,9 +1129,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1141,9 +1141,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1153,9 +1153,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1165,9 +1165,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1177,9 +1177,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1189,9 +1189,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1201,9 +1201,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1213,9 +1213,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1225,9 +1225,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1237,9 +1237,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1249,9 +1249,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1261,9 +1261,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 16:47+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1273,9 +1273,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1285,9 +1285,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1297,9 +1297,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1309,9 +1309,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1321,9 +1321,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1333,9 +1333,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1345,9 +1345,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1357,9 +1357,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1369,9 +1369,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1381,9 +1381,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1393,9 +1393,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1405,9 +1405,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1417,9 +1417,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1429,9 +1429,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1441,9 +1441,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-12-27 18:52+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1453,9 +1453,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.7.1\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1465,9 +1465,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1477,9 +1477,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1489,9 +1489,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1501,9 +1501,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1513,9 +1513,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1525,9 +1525,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1537,9 +1537,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1549,9 +1549,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1561,9 +1561,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1573,9 +1573,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1585,9 +1585,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1597,9 +1597,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1609,9 +1609,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1621,9 +1621,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 16:47+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1633,9 +1633,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1645,9 +1645,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1657,9 +1657,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1669,9 +1669,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1681,9 +1681,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1693,9 +1693,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1705,9 +1705,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1717,9 +1717,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1729,9 +1729,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1741,9 +1741,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1753,9 +1753,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1765,9 +1765,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1777,9 +1777,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1789,9 +1789,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1801,9 +1801,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 17:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1813,9 +1813,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1825,9 +1825,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1837,9 +1837,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1849,9 +1849,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1861,9 +1861,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1873,9 +1873,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1885,9 +1885,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1897,9 +1897,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1909,9 +1909,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1921,9 +1921,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1933,9 +1933,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1945,9 +1945,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1957,9 +1957,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1969,9 +1969,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -1981,9 +1981,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 16:47+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -1993,9 +1993,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2005,9 +2005,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2017,9 +2017,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2029,9 +2029,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2041,9 +2041,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2053,9 +2053,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2065,9 +2065,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2077,9 +2077,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2089,9 +2089,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2101,9 +2101,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2113,9 +2113,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2125,9 +2125,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2137,9 +2137,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2149,9 +2149,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2161,9 +2161,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2015-01-30 16:20+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2173,9 +2173,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.7.4\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2185,9 +2185,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2197,9 +2197,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2209,9 +2209,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2221,9 +2221,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2233,9 +2233,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2245,9 +2245,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2257,9 +2257,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2269,9 +2269,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2281,9 +2281,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2293,9 +2293,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2305,9 +2305,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2317,9 +2317,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2329,9 +2329,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2341,9 +2341,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 16:47+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2353,9 +2353,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2365,9 +2365,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2377,9 +2377,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2389,9 +2389,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2401,9 +2401,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2413,9 +2413,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2425,9 +2425,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2437,9 +2437,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2449,9 +2449,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2461,9 +2461,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2473,9 +2473,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2485,9 +2485,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2497,9 +2497,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2509,9 +2509,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2521,9 +2521,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-12-27 18:52+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2533,9 +2533,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.7.1\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2545,9 +2545,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2557,9 +2557,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2569,9 +2569,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2581,9 +2581,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2593,9 +2593,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2605,9 +2605,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2617,9 +2617,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2629,9 +2629,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2641,9 +2641,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2653,9 +2653,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2665,9 +2665,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2677,9 +2677,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2689,9 +2689,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2701,9 +2701,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 16:47+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2713,9 +2713,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2725,9 +2725,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2737,9 +2737,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2749,9 +2749,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2761,9 +2761,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2773,9 +2773,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2785,9 +2785,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2797,9 +2797,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2809,9 +2809,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2821,9 +2821,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2833,9 +2833,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2845,9 +2845,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2857,9 +2857,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2869,9 +2869,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2881,9 +2881,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 17:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2893,9 +2893,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2905,9 +2905,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2917,9 +2917,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2929,9 +2929,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2941,9 +2941,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -2953,9 +2953,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2965,9 +2965,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2977,9 +2977,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -2989,9 +2989,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3001,9 +3001,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3013,9 +3013,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3025,9 +3025,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3037,9 +3037,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3049,9 +3049,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3061,9 +3061,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 16:47+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3073,9 +3073,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3085,9 +3085,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3097,9 +3097,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3109,9 +3109,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3121,9 +3121,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3133,9 +3133,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3145,9 +3145,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3157,9 +3157,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3169,9 +3169,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3181,9 +3181,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3193,9 +3193,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3205,9 +3205,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3217,9 +3217,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3229,9 +3229,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3241,9 +3241,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2015-01-10 20:46+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3253,9 +3253,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.7.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3265,9 +3265,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3277,9 +3277,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3289,9 +3289,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3301,9 +3301,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3313,9 +3313,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3325,9 +3325,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3337,9 +3337,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3349,9 +3349,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3361,9 +3361,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3373,9 +3373,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3385,9 +3385,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3397,9 +3397,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3409,9 +3409,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3421,9 +3421,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 16:47+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3433,9 +3433,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3445,9 +3445,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3457,9 +3457,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3469,9 +3469,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3481,9 +3481,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3493,9 +3493,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3505,9 +3505,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3517,9 +3517,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3529,9 +3529,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3541,9 +3541,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3553,9 +3553,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3565,9 +3565,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3577,9 +3577,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3589,9 +3589,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3601,9 +3601,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-12-27 18:52+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3613,9 +3613,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.7.1\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3625,9 +3625,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3637,9 +3637,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3649,9 +3649,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3661,9 +3661,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3673,9 +3673,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3685,9 +3685,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3697,9 +3697,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3709,9 +3709,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3721,9 +3721,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3733,9 +3733,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3745,9 +3745,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3757,9 +3757,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3769,9 +3769,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3781,9 +3781,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 16:47+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3793,9 +3793,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3805,9 +3805,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3817,9 +3817,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3829,9 +3829,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3841,9 +3841,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3853,9 +3853,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3865,9 +3865,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3877,9 +3877,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3889,9 +3889,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3901,9 +3901,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3913,9 +3913,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3925,9 +3925,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3937,9 +3937,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3949,9 +3949,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3961,9 +3961,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 17:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -3973,9 +3973,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3985,9 +3985,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -3997,9 +3997,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4009,9 +4009,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4021,9 +4021,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -4033,9 +4033,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4045,9 +4045,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4057,9 +4057,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4069,9 +4069,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4081,9 +4081,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -4093,9 +4093,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4105,9 +4105,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4117,9 +4117,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4129,9 +4129,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4141,9 +4141,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-11-05 16:47+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -4153,9 +4153,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.10\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4165,9 +4165,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4177,9 +4177,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4189,9 +4189,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4201,9 +4201,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-09-08 18:25+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -4213,9 +4213,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.9\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4225,9 +4225,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4237,9 +4237,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4249,9 +4249,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4261,9 +4261,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2014-02-06 23:05+0100\n" "Last-Translator: Pomsár Miklós \n" "Language-Team: MagyarBlender \n" @@ -4273,9 +4273,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.6.3\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:27+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4285,9 +4285,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-03 20:47+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4297,9 +4297,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-09 21:29+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -4309,9 +4309,9 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Basepath: .\n" "X-Generator: Poedit 1.5.5\n" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-08-19 16:10+0100\n" "Last-Translator: Pomsár András \n" "Language-Team: MagyarBlender \n" @@ -14939,10 +14939,6 @@ msgid "Select all visible objects grouped by various properties" msgstr "Minden, különféle tulajdonságok alapján csoportosított látható objektum kijelölése" -msgid "Set select on random visible objects" -msgstr "Látjató objektumok véletlenszerű kijelölése" - - msgid "Render and display faces uniform, using Face Normals" msgstr "Oldallapok egységes megjelenítése és renderelése az oldallapok normálisának használatával" @@ -16514,10 +16510,6 @@ msgid "Save a Collada file" msgstr "Collada fájl mentése" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Módosítók elfogadása az exportált térhálónál (nem ártalmas)" - - msgid "Only export deforming bones with armatures" msgstr "Csak a deformáló csontok exportálása a csontvázzal" @@ -17595,14 +17587,6 @@ msgid "Time to animate the view in milliseconds, zero to disable" msgstr "Animáció ideje a nézet váltásakor miliszekundumban, nulla a letiltáshoz" -msgid "TimeCode Style" -msgstr "Időkód stílusa" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "Az Időkód formátuma akkor kerül megjelenítésre, ha nem a képkockák sorszámát mutatja" - - msgid "Minimal Info" msgstr "Minimális információ" @@ -17803,10 +17787,6 @@ msgid "Bias" msgstr "Eltérés" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "Eltérés az oldallapok felé, távolodva az objektumtól (blender egységekben)" - - msgid "Number of samples used for ambient occlusion baking from multires" msgstr "Mintavételek száma a multi-felbontásos objektumokból kisütött környezeti elnyelődésnél" diff --git a/locale/po/id.po b/locale/po/id.po index 9f2f156d6a8..e319c063e2a 100644 --- a/locale/po/id.po +++ b/locale/po/id.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2021-12-25 23:57-0800\n" "Last-Translator: Adriel Tristanputra \n" "Language-Team: Indonesian <>\n" @@ -18657,10 +18657,6 @@ msgid "Add Scene Strip" msgstr "Tambah Strip Adegan" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "Tambah strip ke sequencer menggunakan adegan blender sebagai sumber" - - msgid "Select a strip (last selected becomes the \"active strip\")" msgstr "Pilih strip (terseleksi akhir akan menjadi \"strip aktif\")" @@ -19082,10 +19078,6 @@ msgid "Select text by line" msgstr "Pilih teks dari garis" -msgid "Set cursor selection" -msgstr "Set seleksi kursor" - - msgctxt "Operator" msgid "Find" msgstr "Cari" diff --git a/locale/po/it.po b/locale/po/it.po index 8031d589462..c2e03dbf165 100644 --- a/locale/po/it.po +++ b/locale/po/it.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2022-01-21 16:08+0100\n" "Last-Translator: MT\n" "Language-Team: blend-it \n" @@ -30419,10 +30419,6 @@ msgid "Save the image with another name and/or settings" msgstr "Salva l'immagine con un altro nome e/o impostazioni" -msgid "Create a new image file without modifying the current image in blender" -msgstr "Crea un nuovo file immagine senza modificare l'immagine corrente in blender" - - msgid "Save As Render" msgstr "Salva Come Render" @@ -34946,10 +34942,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "Filtra il nome usando i caratteri jolly stile unix '*', '?' e '[abc]'" -msgid "Set select on random visible objects" -msgstr "Imposta una selezione casuale sugli oggetti visibili" - - msgid "Render and display faces uniform, using Face Normals" msgstr "Renderizza e mostra le facce uniformi, usando le normali delle facce" @@ -38591,10 +38583,6 @@ msgid "Add Scene Strip" msgstr "Aggiunge Spezzone Scena" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "Aggiunge uno spezzone al sequencer usando una scena blender come sorgente" - - msgid "Select a strip (last selected becomes the \"active strip\")" msgstr "Seleziona uno spezzone (l'ultimo selezionato diventa la \"strip attiva\")" @@ -39333,10 +39321,6 @@ msgid "Select word under cursor" msgstr "Seleziona la parola sotto il cursore" -msgid "Set cursor selection" -msgstr "Imposta la selezione del cursore" - - msgctxt "Operator" msgid "Find" msgstr "Trova" @@ -41223,10 +41207,6 @@ msgid "Only Selected UV Map" msgstr "Solo Mappe UV Selezionate" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Applica i modificatori alle mesh esportate (non distruttive)" - - msgid "Apply modifier's render settings" msgstr "Applica impostazioni di renderizzazione del modificatore" @@ -45168,14 +45148,6 @@ msgid "Text Hinting" msgstr "Crenatura Testo" -msgid "TimeCode Style" -msgstr "Stile Timecode" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "Formato del time code, quando il tempo non è mostrato come fotogrammi" - - msgid "Minimal Info" msgstr "Informazioni Minime" @@ -46248,10 +46220,6 @@ msgid "Bias" msgstr "Influenza" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "Influenza verso le facce più lontane dall'oggetto (in unità Blender)" - - msgid "Number of samples used for ambient occlusion baking from multires" msgstr "Numero di campioni usati dal buffer di mixaggio audio" diff --git a/locale/po/ja.po b/locale/po/ja.po index 578ff0a61c8..58ade1e9577 100644 --- a/locale/po/ja.po +++ b/locale/po/ja.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2016-10-13 03:05+0900\n" "Last-Translator: \n" "Language-Team: Japanese Translation Team (https://sites.google.com/site/blugjp/blender-translators)\n" @@ -13120,10 +13120,6 @@ msgid "Library Browser" msgstr "ライブラリブラウザー" -msgid "Whether we may browse blender files' content or not" -msgstr "Blenderファイルの内容を閲覧するかどうか" - - msgid "Reverse Sorting" msgstr "順序を反転" @@ -16636,10 +16632,6 @@ msgid "Gizmo Properties" msgstr "ギズモプロパティ" -msgid "Input properties of an Gizmo" -msgstr "ギズモの入力プロパティ" - - msgid "Modifier affecting the Grease Pencil object" msgstr "グリースペンシルオブジェクトに作用するモディファイアー" @@ -24425,26 +24417,14 @@ msgid "Resolution X" msgstr "解像度 X" -msgid "Number of sample along the x axis of the volume" -msgstr "ボリュームの X 軸のサンプル数" - - msgid "Resolution Y" msgstr "解像度 Y" -msgid "Number of sample along the y axis of the volume" -msgstr "ボリュームの Y 軸のサンプル数" - - msgid "Resolution Z" msgstr "解像度 Z" -msgid "Number of sample along the z axis of the volume" -msgstr "ボリュームの Z 軸のサンプル数" - - msgid "Influence Distance" msgstr "影響する距離" @@ -51916,10 +51896,6 @@ msgid "Set Axis" msgstr "軸を設定" -msgid "Set direction of scene axis rotating camera (or its parent if present) and assume selected track lies on real axis, joining it with the origin" -msgstr "原点に対応する現実の軸上に選択中のトラックがあると仮定し、カメラ(またはあればその親)を回転する、シーンの軸方向を設定します" - - msgid "Axis to use to align bundle along" msgstr "バンドルを揃えるのに使用する軸" @@ -59446,10 +59422,6 @@ msgid "Save the image with another name and/or settings" msgstr "画像を他のファイル名や設定で保存します" -msgid "Create a new image file without modifying the current image in blender" -msgstr "Blenderの現在の画像を変更せずに新しい画像ファイルを作成" - - msgid "Save As Render" msgstr "レンダー色空間で保存" @@ -67637,10 +67609,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "名前のフィルターでは'*'と'?'、'[abc]'(Unix系)のワイルドカードを使用します" -msgid "Set select on random visible objects" -msgstr "可視オブジェクトからランダムに選択します" - - msgctxt "Operator" msgid "Select Same Collection" msgstr "同じコレクションを選択" @@ -74725,10 +74693,6 @@ msgid "Add Scene Strip" msgstr "シーンストリップを追加" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "Blenderのシーンのストリップをシーケンサーに追加します" - - msgctxt "Operator" msgid "Add Strip with a new Scene" msgstr "ストリップと新規シーンを追加" @@ -75873,10 +75837,6 @@ msgid "Select word under cursor" msgstr "カーソル下の単語を選択します" -msgid "Set cursor selection" -msgstr "カーソル選択を設定" - - msgctxt "Operator" msgid "Find" msgstr "検索" @@ -79466,10 +79426,6 @@ msgstr "" "無効時:Collada アセット毎にグローバル方向を設定します" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "エクスポートするメッシュにモディファイアーを適用します(データ非破壊)" - - msgid "Deform Bones Only" msgstr "変形ボーンのみ" @@ -82473,12 +82429,6 @@ msgid "View Normal Limit" msgstr "ビュー法線を制限" -msgid "Maximum edge length for dynamic topology sculpting (as divisor of blender unit - higher value means smaller edge length)" -msgstr "" -"ダイナミックトポロジースカルプティングの辺の最大長\n" -"(Blender単位の除数。大きい値で辺が短くなります)" - - msgid "Detail Percentage" msgstr "ディテールの割合" @@ -88103,14 +88053,6 @@ msgid "Slight" msgstr "少し" -msgid "TimeCode Style" -msgstr "タイムコードスタイル" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "フレームのタイミングが表示されていない場合に表示されるタイムコードのフォーマット" - - msgid "Minimal Info" msgstr "最小限の情報" @@ -89656,10 +89598,6 @@ msgid "Tile Size" msgstr "タイルのサイズ" -msgid "Limit the render time (excluding synchronization time).Zero disables the limit" -msgstr "最大レンダリング時間(同期時間を除く)。0で無制限" - - msgid "Transmission Bounces" msgstr "伝播バウンス数" @@ -90539,10 +90477,6 @@ msgid "Is Axis Aligned" msgstr "軸と平行" -msgid "Is current view aligned to an axis (does not check the view is orthographic use \"is_perspective\" for that). Assignment sets the \"view_rotation\" to the closest axis aligned view" -msgstr "現在のビューが軸と平行か(ビューが平行投影かのチェックはしませんので「is_perspective」を使用してください)。割当がビューと平行な一番近い軸に「view_rotation」をセットします" - - msgid "Is Perspective" msgstr "透視投影" @@ -90808,10 +90742,6 @@ msgid "Bias" msgstr "バイアス" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "オブジェクトから遠い面の方向のバイアス値 (blender単位)" - - msgid "Algorithm to generate the margin" msgstr "マージンを生成する方法" @@ -91839,10 +91769,6 @@ msgid "Blender 2.7" msgstr "Blender 2.7" -msgid "Spring implementation used in blender 2.7. Damping is capped at 1.0" -msgstr "Blender 2.7で使用していたばねの実装。減速は最大1.0です" - - msgid "Blender 2.8" msgstr "Blender 2.8" @@ -92501,12 +92427,6 @@ msgid "4096 px" msgstr "4096ピクセル" -msgid "Number of time the light is reinjected inside light grids, 0 disable indirect diffuse light" -msgstr "" -"ライトグリッド内に光が再投入される回数\n" -"0 で間接ディフューズ光が無効になります" - - msgid "Filter Quality" msgstr "フィルターの品質" @@ -92649,10 +92569,6 @@ msgid "Shadow Pool Size" msgstr "シャドウプールサイズ" -msgid "Size of the shadow pool, bigger pool size allows for more shadows in the scene but might not fits into GPU memory" -msgstr "影を溜めるサイズ。大きなプールサイズでシーン内の影を増やすことができますが、GPU メモリに収まらない可能性があります" - - msgid "16 MB" msgstr "16 MB" @@ -93816,10 +93732,6 @@ msgid "Scene Sequence" msgstr "シーンシーケンス" -msgid "Sequence strip to used the rendered image of a scene" -msgstr "シーンのレンダー画像に使用するシーケンスストリップ" - - msgid "Scene that this sequence uses" msgstr "このシーケンスが使うシーン" @@ -93828,10 +93740,6 @@ msgid "Camera Override" msgstr "カメラオーバーライド" -msgid "Override the scenes active camera" -msgstr "シーンのアクティブカメラを置き換える" - - msgid "Input type to use for the Scene strip" msgstr "シーンストリップに使用する入力タイプ" @@ -94538,10 +94446,6 @@ msgid "How to resolve overlap after transformation" msgstr "トランスフォーム後の重複を解決する方法" -msgid "Move strips so transformed strips fits" -msgstr "ストリップを移動し、トランスフォームしたストリップを収めます" - - msgid "Trim or split strips to resolve overlap" msgstr "重複を防ぐため、ストリップをトリムまたは分割します" @@ -97426,10 +97330,6 @@ msgid "3D Region" msgstr "3D領域" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "この空間の3D領域、四分割ビューの場合はカメラ領域" - - msgid "Quad View Regions" msgstr "四分割ビュー領域" @@ -97988,10 +97888,6 @@ msgid "Endpoint V" msgstr "両端 V" -msgid "Make this nurbs surface meet the endpoints in the V direction " -msgstr "この NURBS サーフェスの V 方向の両端をぴったり合わせます" - - msgid "Smooth the normals of the surface or beveled curve" msgstr "サーフェスもしくはベベルしたカーブの法線のスムージング" @@ -101356,10 +101252,6 @@ msgid "Unit Scale" msgstr "単位の倍率" -msgid "Scale to use when converting between blender units and dimensions. When working at microscopic or astronomical scale, a small or large unit scale respectively can be used to avoid numerical precision problems" -msgstr "Blender 単位と寸法の間の変換時に使用される倍率。極小または天文学的スケールでの作業中は精度の問題を回避するため、それぞれ小さい、または大きい単位の倍率を使用してください" - - msgid "Unit System" msgstr "単位系" @@ -106549,6 +106441,10 @@ msgid "Generating Cycles/EEVEE compatible material, but won't be visible with %s msgstr "Cycles/EEVEE 互換のマテリアルを生成しましたが、%s エンジンでは表示できません" +msgid "Limit to" +msgstr "対象" + + msgid "Mesh '%s' has polygons with more than 4 vertices, cannot compute/export tangent space for it" msgstr "メッシュ「%s」に5頂点以上のポリゴンがあり、そのタンジェントスペースの計算・エクスポートができません" @@ -106615,6 +106511,10 @@ msgid "Add a new Variant Slot" msgstr "新規バリアントスロットを追加" +msgid "Curves as NURBS" +msgstr "カーブをNURBSに" + + msgid "untitled" msgstr "無題" @@ -110530,11 +110430,6 @@ msgid "Decimate (Ratio)" msgstr "減量(率)" -msgctxt "Operator" -msgid "Decimate (Allowed Change)" -msgstr "減量(変更可)" - - msgctxt "Operator" msgid "Selection to Cursor Value" msgstr "選択物 → カーソル値" @@ -110545,6 +110440,11 @@ msgid "Flatten Handles" msgstr "水平のハンドル" +msgctxt "Operator" +msgid "Decimate (Allowed Change)" +msgstr "減量(変更可)" + + msgctxt "Operator" msgid "Less" msgstr "縮小" @@ -110973,6 +110873,11 @@ msgid "Link to Viewer" msgstr "ビューアーにリンク" +msgctxt "Operator" +msgid "Exit Group" +msgstr "グループ退出" + + msgctxt "Operator" msgid "Online Manual" msgstr "オンラインマニュアル" @@ -111004,11 +110909,6 @@ msgid "Slot %d" msgstr "スロット%d" -msgctxt "Operator" -msgid "Exit Group" -msgstr "グループ退出" - - msgctxt "Operator" msgid "Edit" msgstr "編集" @@ -118332,18 +118232,10 @@ msgid "Unable to import '%s'" msgstr "「%s」のインポートができません" -msgid "Limit to" -msgstr "対象" - - msgid "Triangulated Mesh" msgstr "メッシュの三角面化" -msgid "Curves as NURBS" -msgstr "カーブをNURBSに" - - msgid "Grouping" msgstr "グループ化" @@ -125032,10 +124924,6 @@ msgid "Region not found in space type" msgstr "空間タイプに領域がありません" -msgid "%s '%s' has category '%s' " -msgstr "%s「%s」にカテゴリ「%s」があります " - - msgid "%s parent '%s' for '%s' not found" msgstr "%s 「%s」(「%s」の親)が見つかりません" diff --git a/locale/po/ka.po b/locale/po/ka.po index 0a452d8785b..2b8272178cf 100644 --- a/locale/po/ka.po +++ b/locale/po/ka.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Tamar Mebonia , 2023\n" "Language-Team: LANGUAGE \n" @@ -12935,10 +12935,6 @@ msgid "Library Browser" msgstr "ბიბლიოთეკის ბრაუზერი" -msgid "Whether we may browse blender files' content or not" -msgstr "არის თუ არა ნებადართული ბლენდერის ფაილების შიგთავსის დათვალიერება" - - msgid "Reverse Sorting" msgstr "უკუღმა დალაგება" @@ -16333,10 +16329,6 @@ msgid "Gizmo Properties" msgstr "გიზმოს თვისებები" -msgid "Input properties of an Gizmo" -msgstr "გიზმოს შემავალი თვისებები" - - msgid "Modifier affecting the Grease Pencil object" msgstr "მოდიფიკატორი, რომელიც გავლენას ახდენს ცვილის ფანქრის ობიექტზე" @@ -23947,26 +23939,14 @@ msgid "Resolution X" msgstr "გარჩევადობა X" -msgid "Number of sample along the x axis of the volume" -msgstr "სემპლების რაოდენობა ამ მოცულობის x ღერძის გაყოლებაზე" - - msgid "Resolution Y" msgstr "გარჩევადობა Y" -msgid "Number of sample along the y axis of the volume" -msgstr "სემპლების რაოდენობა ამ მოცულობის y ღერძის გაყოლებაზე" - - msgid "Resolution Z" msgstr "გარჩევადობა Z" -msgid "Number of sample along the z axis of the volume" -msgstr "სემპლების რაოდენობა ამ მოცულობის z ღერძის გაყოლებაზე" - - msgid "Influence Distance" msgstr "გავლენის მანძილი" @@ -36911,10 +36891,6 @@ msgid "Select objects matching a naming pattern" msgstr "მონიშნე ობიექტები, რომლებიც სახელწოდების შაბლონს ერგება" -msgid "Set select on random visible objects" -msgstr "დააყენე მონიშვნა შემთხვევით ხილულ ობიექტებზე" - - msgctxt "Operator" msgid "Select Same Collection" msgstr "მონიშნე იმავე კოლექციაში" diff --git a/locale/po/ko.po b/locale/po/ko.po index 821af9c4695..93ef40bde9d 100644 --- a/locale/po/ko.po +++ b/locale/po/ko.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2020-01-04 05:04+0900\n" "Last-Translator: Geuntak Jeong \n" "Language-Team: Korean (http://www.transifex.com/lxlalexlxl/blender/language/ko/)\n" @@ -10881,10 +10881,6 @@ msgid "Library Browser" msgstr "라이브러리 브라우저" -msgid "Whether we may browse blender files' content or not" -msgstr "블렌더 파일의 내용을 검색할지 여부" - - msgid "Reverse Sorting" msgstr "분류를 반전" @@ -13299,10 +13295,6 @@ msgid "Gizmo Properties" msgstr "기즈모 속성" -msgid "Input properties of an Gizmo" -msgstr "기즈모의 입력 속성" - - msgid "Modifier name" msgstr "모디파이어 이름" @@ -18304,26 +18296,14 @@ msgid "Resolution X" msgstr "해상도 X" -msgid "Number of sample along the x axis of the volume" -msgstr "볼륨의 x 축을 따른 샘플 수" - - msgid "Resolution Y" msgstr "해상도 Y" -msgid "Number of sample along the y axis of the volume" -msgstr "볼륨의 y 축을 따른 샘플 수" - - msgid "Resolution Z" msgstr "해상도 Z" -msgid "Number of sample along the z axis of the volume" -msgstr "볼륨의 z 축을 따른 샘플 수" - - msgid "Influence Distance" msgstr "영향 거리" @@ -38480,10 +38460,6 @@ msgid "Set Axis" msgstr "축을 설정" -msgid "Set direction of scene axis rotating camera (or its parent if present) and assume selected track lies on real axis, joining it with the origin" -msgstr "씬 축 회전 카메라 (또는 존재하는 경우 그 부모)의 방향을 설정하고 선택한 트랙이 오리진과 합쳐진 실제 축에 있다고 가정합니다" - - msgid "Axis to use to align bundle along" msgstr "번들을 따라 정렬할 때 사용하는 축" @@ -43677,10 +43653,6 @@ msgid "Save the image with another name and/or settings" msgstr "다른 이름 및/또는 설정으로 이미지를 저장" -msgid "Create a new image file without modifying the current image in blender" -msgstr "블렌더에서 현재 이미지 수정 없이 새로운 이미지 파일을 생성" - - msgid "Save As Render" msgstr "다른 렌더로 저장" @@ -50121,10 +50093,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "'*'를 사용하는 이름 필터, '?' 와 '[abc]'유닉스 스타일 와일드카드" -msgid "Set select on random visible objects" -msgstr "랜덤 보이는 오브젝트에 선택을 설정" - - msgctxt "Operator" msgid "Select Same Collection" msgstr "동일한 컬렉션을 선택" @@ -55159,10 +55127,6 @@ msgid "Add Scene Strip" msgstr "씬 스트립을 추가" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "소스로 믹서 씬을 사용하여 시퀀서에 스트립을 추가" - - msgid "Select a strip (last selected becomes the \"active strip\")" msgstr "스트립을 선택 (마지막 선택된 '활성 스트립'이 됨 )" @@ -56004,10 +55968,6 @@ msgid "Select word under cursor" msgstr "커서 아래의 단어를 선택" -msgid "Set cursor selection" -msgstr "커서 선택을 설정" - - msgctxt "Operator" msgid "Find" msgstr "찾기" @@ -58678,10 +58638,6 @@ msgid "Rotate all root objects to match the global orientation settings otherwis msgstr "모든 루트 오브젝트를 회전하여 글로벌 오리엔테이션을 설정과 일치 시키십시오. 그렇지 않으면 Collada 자산당 글로벌 오리엔테이션을 설정하십시오" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "내보낸 메쉬에 모디파이어를 적용 (비파괴))" - - msgid "Only export deforming bones with armatures" msgstr "아마튜어와 변형하는 본 만 내보내기" @@ -60447,10 +60403,6 @@ msgid "Set the mask layer from the UV map buttons" msgstr "UV 맵 버튼에서 마스크 레이어를 설정" -msgid "Maximum edge length for dynamic topology sculpting (as divisor of blender unit - higher value means smaller edge length)" -msgstr "다이나믹 토폴로지 스컬프트을 위한 최대 에지 길이 (블렌더 단위의 약수로 - 더 높은 값은 더 작은 모서리 길이를 의미함)" - - msgid "Detail Percentage" msgstr "디테일 비율" @@ -64788,14 +64740,6 @@ msgid "Slight" msgstr "약간" -msgid "TimeCode Style" -msgstr "타임코드 스타일" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "프레임을 기준으로 타이밍을 표시하지 않을 때 표시되는 타임 코드의 형식" - - msgid "Minimal Info" msgstr "최소의 정보" @@ -66616,10 +66560,6 @@ msgid "Bias" msgstr "성향" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "오브젝트에서 멀리 떨어진 페이스쪽으로 향하는 성향 (블렌더 단위)" - - msgid "Number of samples used for ambient occlusion baking from multires" msgstr "멀티리스로부터 주변 폐색 배이킹에 사용된 샘플 수" @@ -67540,10 +67480,6 @@ msgid "Blender 2.7" msgstr "Blender 2.7" -msgid "Spring implementation used in blender 2.7. Damping is capped at 1.0" -msgstr "블렌더 2.7에서 사용된 스프링 구현. 감폭은 1.0으로 제한됩니다" - - msgid "Blender 2.8" msgstr "Blender 2.8" @@ -68132,10 +68068,6 @@ msgid "Size of every cubemaps" msgstr "모든 큐브 맵의 크기" -msgid "Number of time the light is reinjected inside light grids, 0 disable indirect diffuse light" -msgstr "라이트 그리드 내부에서 라이트가 재주입되는 횟수, 0은 간접 확산 라이트를 비활성화합니다" - - msgid "Filter Quality" msgstr "필터 품질" @@ -69191,10 +69123,6 @@ msgid "Scene Sequence" msgstr "씬 시퀀스" -msgid "Sequence strip to used the rendered image of a scene" -msgstr "씬의 렌더링된 이미지를 사용하는 시퀀스 스트립" - - msgid "Scene that this sequence uses" msgstr "이 시퀀스가 사용하는 씬" @@ -69203,10 +69131,6 @@ msgid "Camera Override" msgstr "카메라 재정의" -msgid "Override the scenes active camera" -msgstr "씬 활성 카메라을 재정의" - - msgid "Input type to use for the Scene strip" msgstr "씬 스트립에 사용할 입력 유형" @@ -72043,10 +71967,6 @@ msgid "3D Region" msgstr "3D 지역" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "이 공간에서 3D 지역, 쿼드 뷰의 경우 카메라 지역" - - msgid "Quad View Regions" msgstr "쿼드 뷰 지역" @@ -74988,10 +74908,6 @@ msgid "Unit Scale" msgstr "단위 축적" -msgid "Scale to use when converting between blender units and dimensions. When working at microscopic or astronomical scale, a small or large unit scale respectively can be used to avoid numerical precision problems" -msgstr "블렌더 단위와 치수간에 변환할 때 사용할 배율입니다. 현미경 적 또는 천문학적 규모에서 작업 할 때, 작은 단위 또는 큰 단위 단위는 각각 숫자 정밀도 문제를 피하기 위해 사용될 수 있습니다" - - msgid "Unit System" msgstr "단위 시스템" @@ -79400,13 +79316,13 @@ msgstr "데시메이트 (비율)" msgctxt "Operator" -msgid "Decimate (Allowed Change)" -msgstr "데시메이트 (허용된 변경)" +msgid "Flatten Handles" +msgstr "평평한 핸들" msgctxt "Operator" -msgid "Flatten Handles" -msgstr "평평한 핸들" +msgid "Decimate (Allowed Change)" +msgstr "데시메이트 (허용된 변경)" msgctxt "Operator" diff --git a/locale/po/ky.po b/locale/po/ky.po index 193488cd394..99cf686bf25 100644 --- a/locale/po/ky.po +++ b/locale/po/ky.po @@ -1,10 +1,10 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "(b'0000000000000000000000000000000000000000')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2013-11-05 13:47+0600\n" "Last-Translator: Chyngyz Dzhumaliev \n" "Language-Team: Kirghiz \n" diff --git a/locale/po/nl.po b/locale/po/nl.po index fa95a6b30e9..c3f8e301980 100644 --- a/locale/po/nl.po +++ b/locale/po/nl.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2021-12-05 20:05+0100\n" "Language: nl\n" "MIME-Version: 1.0\n" diff --git a/locale/po/pl.po b/locale/po/pl.po index b71e842109e..f83b2ad093c 100644 --- a/locale/po/pl.po +++ b/locale/po/pl.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2017-08-26 11:13+0200\n" "Last-Translator: Mikołaj Juda \n" "Language: pl\n" diff --git a/locale/po/pt.po b/locale/po/pt.po index 7c8c96c2373..dc1807c3672 100644 --- a/locale/po/pt.po +++ b/locale/po/pt.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: Ivan Paulos Tomé \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2017-09-08 21:24-0300\n" "Last-Translator: Ivan Paulos Tomé \n" "Language-Team: Ivan Paulos Tomé, Inês Almeida, João Brandão (ULISBOA), Paulo Martins \n" @@ -9070,10 +9070,6 @@ msgid "Library Browser" msgstr "Navegador de bibliotecas" -msgid "Whether we may browse blender files' content or not" -msgstr "Permite definir se será possível ou não a navegação nos conteúdos dos ficheiros Blender." - - msgid "Link" msgstr "Vincular" @@ -31090,10 +31086,6 @@ msgid "Set Axis" msgstr "Definir eixo" -msgid "Set direction of scene axis rotating camera (or its parent if present) and assume selected track lies on real axis, joining it with the origin" -msgstr "Define a direção do eixo da cena rotacionando a câmara (ou o seu parente, caso presente), e assume que a trilha selecionada repousa no eixo real juntando-o com a origem." - - msgid "Axis to use to align bundle along" msgstr "Eixo ao longo do qual haverá uso para alinhar o feixe." @@ -34913,10 +34905,6 @@ msgid "Save the image with another name and/or settings" msgstr "Guarda a imagem com outro nome e / ou definições." -msgid "Create a new image file without modifying the current image in blender" -msgstr "Cria um novo ficheiro de imagem sem modificar a imagem atual dentro do Blender." - - msgid "Save As Render" msgstr "Guardar como renderização" @@ -39885,10 +39873,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "Filtra os nomes usando caracteres coringa estilo Unix \"*\", \"?\" e \"[abc]\"." -msgid "Set select on random visible objects" -msgstr "Define a seleção de maneira aleatória em objetos visíveis." - - msgid "Render and display faces uniform, using Face Normals" msgstr "Renderiza e mostra as faces de maneira uniforme, usando as normais das faces." @@ -43840,10 +43824,6 @@ msgid "Add Scene Strip" msgstr "Adicionar faixa de cena" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "Adiciona uma faixa ao editor de sequências usando a cena do Blender como fonte." - - msgid "Select a strip (last selected becomes the \"active strip\")" msgstr "Seleciona uma faixa (a última selecionada se torna a \"faixa ativa\")." @@ -44606,10 +44586,6 @@ msgid "Select word under cursor" msgstr "Seleciona a palavra abaixo do cursor." -msgid "Set cursor selection" -msgstr "Define a seleção do cursor" - - msgctxt "Operator" msgid "Find" msgstr "Localizar" @@ -46710,10 +46686,6 @@ msgid "Export only the selected UV Map" msgstr "Exporta somente o mapa UV selecionado." -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Aplica os modificadores para a malha exportada (não destrutivo)." - - msgid "Only export deforming bones with armatures" msgstr "Somente exportar os ossos que se deformam com as armações." @@ -48045,10 +48017,6 @@ msgid "Set the mask layer from the UV map buttons" msgstr "Define a camada de máscara a partir dos botões de mapa UV." -msgid "Maximum edge length for dynamic topology sculpting (as divisor of blender unit - higher value means smaller edge length)" -msgstr "O comprimento máximo de arestas para a escultura de topologia dinâmica, como um divisor para unidades Blender. Valores mais altos significam menores comprimentos de arestas." - - msgid "Detail Percentage" msgstr "Porcentagem de detalhes" @@ -50889,14 +50857,6 @@ msgid "Time to animate the view in milliseconds, zero to disable" msgstr "Tempo para animar a vista em microssegundos, zero para desativar." -msgid "TimeCode Style" -msgstr "Código de tempo" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "Formato dos códigos de tempo mostrados quando não se está mostrando a temporização em termos de fotogramas." - - msgid "Minimal Info" msgstr "Informação mínima" @@ -52201,10 +52161,6 @@ msgid "Bias" msgstr "Ajuste fino" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "Ajuste fino na direção de faces mais longínquas a partir do objeto (em unidades Blender)." - - msgid "Number of samples used for ambient occlusion baking from multires" msgstr "Número de amostras usadas para geração de oclusão ambiente a partir de multirresolução." @@ -54110,10 +54066,6 @@ msgid "Scene Sequence" msgstr "Sequência de cena" -msgid "Sequence strip to used the rendered image of a scene" -msgstr "Faixa de sequência que foi usada para a imagem renderizada de uma cena." - - msgid "Scene that this sequence uses" msgstr "Cena que esta sequência usa." @@ -54122,10 +54074,6 @@ msgid "Camera Override" msgstr "Sobrepor câmara" -msgid "Override the scenes active camera" -msgstr "Sobrepõe a câmara ativa das cenas." - - msgid "Sound Sequence" msgstr "Sequência de som" @@ -56234,10 +56182,6 @@ msgid "3D Region" msgstr "Região 3D" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "Região 3D neste espaço, em caso de visualização de quatro vistas, ver a região da câmara." - - msgid "Quad View Regions" msgstr "Regiões de visualização em quatro vistas" diff --git a/locale/po/pt_BR.po b/locale/po/pt_BR.po index b675239dd69..44193db972e 100644 --- a/locale/po/pt_BR.po +++ b/locale/po/pt_BR.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: Leandro Paganelli \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2022-03-21 19:03-0300\n" "Last-Translator: Leandro Paganelli \n" "Language-Team: Leandro Paganelli, Ivan Paulos Tomé, Dalai Felinto, Bruno Gonçalves Pirajá, Samuel Arataca, Daniel Tavares, Moraes Junior \n" @@ -9612,10 +9612,6 @@ msgid "Library Browser" msgstr "Navegador de bibliotecas" -msgid "Whether we may browse blender files' content or not" -msgstr "Permite definir se será possível ou não a navegação nos conteúdos dos arquivos Blender." - - msgid "Asset Library" msgstr "Biblioteca de Recursos" @@ -33284,10 +33280,6 @@ msgid "Set Axis" msgstr "Configurar eixo" -msgid "Set direction of scene axis rotating camera (or its parent if present) and assume selected track lies on real axis, joining it with the origin" -msgstr "Define a direção do eixo da cena rotacionando a câmera (ou o seu parente, caso presente), e assume que a trilha selecionada repousa no eixo real juntando-o com a origem." - - msgid "Axis to use to align bundle along" msgstr "Eixo ao longo do qual haverá uso para alinhar o feixe." @@ -38010,10 +38002,6 @@ msgid "Save the image with another name and/or settings" msgstr "Salva a imagem com outro nome e / ou configurações." -msgid "Create a new image file without modifying the current image in blender" -msgstr "Cria um novo arquivo de imagem sem modificar a imagem atual dentro do Blender." - - msgid "Save As Render" msgstr "Salvar como renderização" @@ -43588,10 +43576,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "Filtra os nomes usando caracteres coringa estilo Unix \"*\", \"?\" e \"[abc]\"." -msgid "Set select on random visible objects" -msgstr "Configura a seleção de maneira aleatória em objetos visíveis." - - msgctxt "Operator" msgid "Select Same Collection" msgstr "Selecionar a Mesma Coleção" @@ -48153,10 +48137,6 @@ msgid "Add Scene Strip" msgstr "Adicionar faixa de cena" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "Adiciona uma faixa ao editor de sequências usando a cena do Blender como fonte." - - msgid "Select a strip (last selected becomes the \"active strip\")" msgstr "Seleciona uma faixa (a última selecionada se torna a \"faixa ativa\")." @@ -48984,10 +48964,6 @@ msgid "Select word under cursor" msgstr "Seleciona a palavra abaixo do cursor." -msgid "Set cursor selection" -msgstr "Define a seleção do cursor" - - msgctxt "Operator" msgid "Find" msgstr "Localizar" @@ -51293,10 +51269,6 @@ msgid "Export only the selected UV Map" msgstr "Exporta somente o mapa UV selecionado." -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Aplica os modificadores para a malha exportada (não destrutivo)." - - msgid "Only export deforming bones with armatures" msgstr "Somente exportar os ossos que se deformam com as armações." @@ -52814,10 +52786,6 @@ msgid "Set the mask layer from the UV map buttons" msgstr "Configura a camada de máscara a partir dos botões de mapa UV." -msgid "Maximum edge length for dynamic topology sculpting (as divisor of blender unit - higher value means smaller edge length)" -msgstr "O comprimento máximo de arestas para a escultura de topologia dinâmica, como um divisor para unidades Blender. Valores mais altos significam menores comprimentos de arestas." - - msgid "Detail Percentage" msgstr "Porcentagem de detalhes" @@ -56423,14 +56391,6 @@ msgid "Slight" msgstr "Suave" -msgid "TimeCode Style" -msgstr "Código de tempo" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "Formato dos códigos de tempo mostrados quando não se está mostrando a temporização em termos de quadros." - - msgid "Minimal Info" msgstr "Informação mínima" @@ -57967,10 +57927,6 @@ msgid "Bias" msgstr "Ajuste fino" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "Ajuste fino na direção de faces mais longínquas a partir do objeto (em unidades Blender)." - - msgid "Number of samples used for ambient occlusion baking from multires" msgstr "Número de amostras usadas para geração de oclusão ambiente a partir de multirresolução." @@ -60110,10 +60066,6 @@ msgid "Scene Sequence" msgstr "Sequência de cena" -msgid "Sequence strip to used the rendered image of a scene" -msgstr "Faixa de sequência que foi usada para a imagem renderizada de uma cena." - - msgid "Scene that this sequence uses" msgstr "Cena que esta sequência usa." @@ -60122,10 +60074,6 @@ msgid "Camera Override" msgstr "Sobrepor câmera" -msgid "Override the scenes active camera" -msgstr "Sobrepõe a câmera ativa das cenas." - - msgid "Sound Sequence" msgstr "Sequência de som" @@ -62348,10 +62296,6 @@ msgid "3D Region" msgstr "Região 3D" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "Região 3D neste espaço, em caso de visualização de quatro vistas, ver a região da câmera." - - msgid "Quad View Regions" msgstr "Regiões de visualização em quatro vistas" diff --git a/locale/po/ru.po b/locale/po/ru.po index ae717ac6468..6da16f2d4fe 100644 --- a/locale/po/ru.po +++ b/locale/po/ru.po @@ -1,12 +1,12 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2018-01-03 14:47+0000\n" "Last-Translator: Lockal , 2023\n" -"Language-Team: Russian (https://www.transifex.com/translateblender/teams/82039/ru/)\n" +"Language-Team: Russian (https://app.transifex.com/translateblender/teams/82039/ru/)\n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -471,7 +471,7 @@ msgstr "Заменить" msgid "The strip values replace the accumulated results by amount specified by influence" -msgstr "Данные дорожки будут заменять результат предыдущих на величину, указанную во влиянии" +msgstr "Данные клипа будут заменять результат предыдущих на величину, указанную во влиянии" msgid "Combine" @@ -479,7 +479,7 @@ msgstr "Объединение" msgid "The strip values are combined with accumulated results by appropriately using addition, multiplication, or quaternion math, based on channel type" -msgstr "Данные дорожки будут комбинироваться с результатом предыдущих используя добавление, умножение или произведение кватернионов в зависимости от типа канала" +msgstr "Данные клипа будут комбинироваться с результатом предыдущих используя добавление, умножение или произведение кватернионов в зависимости от типа канала" msgid "Add" @@ -487,7 +487,7 @@ msgstr "Добавить" msgid "Weighted result of strip is added to the accumulated results" -msgstr "Взвешенный результат дорожки добавляется в накопленные результаты" +msgstr "Взвешенный результат клипа добавляется в накопленные результаты" msgid "Subtract" @@ -495,7 +495,7 @@ msgstr "Вычесть" msgid "Weighted result of strip is removed from the accumulated results" -msgstr "Взвешенный результат дорожки удаляется из накопленных результатов" +msgstr "Взвешенный результат клипа удаляется из накопленных результатов" msgid "Multiply" @@ -503,7 +503,7 @@ msgstr "Умножить" msgid "Weighted result of strip is multiplied with the accumulated results" -msgstr "Взвешенный результат дорожки перемножается с накопленными результатами" +msgstr "Взвешенный результат клипа перемножается с накопленными результатами" msgid "Action Extrapolation" @@ -519,7 +519,7 @@ msgstr "Ничего" msgid "Strip has no influence past its extents" -msgstr "Дорожка не влияет за пределами своего действия" +msgstr "Клип не влияет за пределами своего действия" msgid "Hold" @@ -527,7 +527,7 @@ msgstr "Удержание" msgid "Hold the first frame if no previous strips in track, and always hold last frame" -msgstr "Удержание первого кадра, если ранее в треке нет полос; постоянное удержание последнего кадра" +msgstr "Удерживать первый кадр, если ранее в дорожке нет клипов; постоянно удерживать последний кадр" msgid "Hold Forward" @@ -555,11 +555,11 @@ msgstr "Драйверы/выражения для этого датаблока msgid "NLA Tracks" -msgstr "НЛА-треки" +msgstr "НЛА-дорожки" msgid "NLA Tracks (i.e. Animation Layers)" -msgstr "НЛА-треки (т. е. слои анимации)" +msgstr "НЛА-дорожки (т. е. слои анимации)" msgid "NLA Evaluation Enabled" @@ -831,7 +831,7 @@ msgstr "Пустышка" msgid "3D Viewport" -msgstr "3D-вьюпорт" +msgstr "3D-сцена" msgid "Manipulate objects in a 3D environment" @@ -1118,6 +1118,10 @@ msgid "A description of the asset to be displayed for the user" msgstr "Описание ассета, показываемое пользователю" +msgid "License" +msgstr "Лицензия" + + msgid "Tags" msgstr "Теги" @@ -1322,6 +1326,10 @@ msgid "Float Color Attribute" msgstr "Атрибут цвета с плавающей точкой" +msgid "Geometry attribute that stores RGBA colors as floating-point values using 32-bits per channel" +msgstr "Атрибут геометрии, который хранит цвета RGBA в числах с плавающей точкой, используя 32 бит на канал" + + msgid "Float Vector Attribute" msgstr "Атрибут вектора чисел с плавающей точкой" @@ -1614,6 +1622,10 @@ msgid "Above Surface" msgstr "Над поверхностью" +msgid "Active Camera" +msgstr "Активная камера" + + msgid "Horizontal dimension of the baking map" msgstr "Горизонтальное разрешение запекаемой карты" @@ -1818,6 +1830,10 @@ msgid "Grease Pencil data-blocks" msgstr "Датаблоки Grease Pencil" +msgid "Hair Curves" +msgstr "Кривые волос" + + msgid "Images" msgstr "Изображения" @@ -2894,10 +2910,20 @@ msgid "Bone that serves as the start handle for the B-Bone curve" msgstr "Кость, выполняющая роль начальной рукоятки для кривой B-кости" +msgctxt "Armature" +msgid "Ease In" +msgstr "Вход" + + msgid "Length of first Bezier Handle (for B-Bones only)" msgstr "Длина первой рукоятки Безье (только для B-костей)" +msgctxt "Armature" +msgid "Ease Out" +msgstr "Выход" + + msgid "Length of second Bezier Handle (for B-Bones only)" msgstr "Длина второй рукоятки Безье (только для B-костей)" @@ -3890,6 +3916,11 @@ msgid "Material used for strokes drawn using this brush" msgstr "Материал, используемый для штрихов от этой кисти" +msgctxt "Brush" +msgid "Jitter" +msgstr "Дрожание" + + msgid "Jitter factor for new strokes" msgstr "Коэффициент дрожания для новых штрихов" @@ -4242,10 +4273,25 @@ msgid "Parameters defining which frame of the movie clip is displayed" msgstr "Параметры, определяющие отображаемый кадр видеофрагмента" +msgctxt "Camera" +msgid "Depth" +msgstr "Глубина" + + msgid "Display under or over everything" msgstr "Показывать под или поверх всего" +msgctxt "Camera" +msgid "Back" +msgstr "Сзади" + + +msgctxt "Camera" +msgid "Front" +msgstr "Спереди" + + msgid "Frame Method" msgstr "Метод вписания" @@ -5326,6 +5372,26 @@ msgid "Color space in the image file, to convert to and from when saving and loa msgstr "Цветовое пространство изображения, из которого и в которое его нужно конвертировать при сохранении и загрузке" +msgid "Filmic sRGB" +msgstr "Кинематографичный sRGB" + + +msgid "Linear ACES" +msgstr "Линейный ACES" + + +msgid "Linear ACEScg" +msgstr "Линейный ACEScg" + + +msgid "Non-Color" +msgstr "Нецветовое" + + +msgid "Raw" +msgstr "Исходное" + + msgid "Do not perform any color transform on load, treat colors as in scene linear space already" msgstr "Не выполнять цветовое преобразование при загрузке, считать, что цвета уже в линейном пространстве сцены" @@ -5423,7 +5489,7 @@ msgstr "Режим смешения с выходным цветом текст msgid "Mix" -msgstr "Микс" +msgstr "Смешать" msgid "Darken" @@ -6800,7 +6866,7 @@ msgstr "Объект видеофрагмента, по которому осу msgid "Track" -msgstr "Трек" +msgstr "Слежка" msgid "Movie tracking track to follow" @@ -8299,10 +8365,40 @@ msgid "Profile control points" msgstr "Контрольные точки профиля" +msgctxt "Mesh" +msgid "Preset" +msgstr "Предустановка" + + +msgctxt "Mesh" +msgid "Line" +msgstr "Линия" + + +msgctxt "Mesh" +msgid "Support Loops" +msgstr "Вспомогательные петли" + + msgid "Loops on each side of the profile" msgstr "Петли по обе стороны профиля" +msgctxt "Mesh" +msgid "Cornice Molding" +msgstr "Карнизный молдинг" + + +msgctxt "Mesh" +msgid "Crown Molding" +msgstr "Декоративный молдинг" + + +msgctxt "Mesh" +msgid "Steps" +msgstr "Шаги" + + msgid "A number of steps defined by the segments" msgstr "Количество шагов определяется сегментами" @@ -8716,7 +8812,7 @@ msgstr "Сворачивать сводку при отображении так msgid "Display Grease Pencil" -msgstr "Отображать Grease Pencil" +msgstr "Показать Grease Pencil" msgid "Include visualization of Grease Pencil related animation data and frames" @@ -9091,6 +9187,11 @@ msgid "Curve" msgstr "Кривая" +msgctxt "ID" +msgid "Curves" +msgstr "Кривые" + + msgctxt "ID" msgid "Font" msgstr "Шрифт" @@ -11735,6 +11836,10 @@ msgid "Both Z" msgstr "Вся ось Z" +msgid "Which asset types to show/hide, when browsing an asset library" +msgstr "Показываемые типы ассетов при просмотре библиотеки" + + msgid "Show Armature data-blocks" msgstr "Показать датаблоки арматур" @@ -11935,6 +12040,10 @@ msgid "Relative Path" msgstr "Относительный путь" +msgid "Path relative to the directory currently displayed in the File Browser (includes the file name)" +msgstr "Путь относительно каталога, отображаемого в данный момент в браузере файлов (включает имя файла)" + + msgid "File Select ID Filter" msgstr "ID-фильтр выбора файлов" @@ -12291,10 +12400,6 @@ msgid "Library Browser" msgstr "Обозреватель библиотек" -msgid "Whether we may browse blender files' content or not" -msgstr "Осуществлять обзор внутреннего содержимого файлов blender" - - msgid "Reverse Sorting" msgstr "Обратная сортировка" @@ -12315,10 +12420,18 @@ msgid "Asset Library" msgstr "Библиотека ассетов" +msgid "The UUID of the catalog shown in the browser" +msgstr "UUID каталога, отображаемого в браузере" + + msgid "Determine how the asset will be imported" msgstr "Способ импорта ассета" +msgid "Use the import method set in the Preferences for this asset library, don't override it for this Asset Browser" +msgstr "Использовать метод импорта, установленный в настройках для этой библиотеки активов, не переопределять его для этого браузера ассетов" + + msgid "Link" msgstr "Связать" @@ -12991,6 +13104,11 @@ msgid "Minimum number of particles per cell (ensures that each cell has at least msgstr "Минимальное число частиц на клетку (гарантирует, что в каждой клетке есть по крайней мере это количество частиц)" +msgctxt "Amount" +msgid "Number" +msgstr "Количество" + + msgid "Particle number factor (higher value results in more particles)" msgstr "Множитель числа частиц (более высокое значение увеличивает число частиц)" @@ -15557,10 +15675,6 @@ msgid "Gizmo Properties" msgstr "Свойства манипулятора" -msgid "Input properties of an Gizmo" -msgstr "Входные свойства манипулятора" - - msgid "Modifier affecting the Grease Pencil object" msgstr "Модификатор, влияющий на объект Grease Pencil" @@ -17223,6 +17337,10 @@ msgid "Statistical view of the levels of color in an image" msgstr "Статистическое представление цветовых уровней изображения" +msgid "Channels to display in the histogram" +msgstr "Каналы, отображаемые в гистограмме" + + msgid "Luma" msgstr "Яркость" @@ -17255,6 +17373,10 @@ msgid "Blue" msgstr "Синий" +msgid "A" +msgstr "A" + + msgid "Show Line" msgstr "Показывать линию" @@ -17800,6 +17922,51 @@ msgid "Editable falloff curve" msgstr "Редактируемая кривая спада" +msgctxt "Curves" +msgid "Custom" +msgstr "Особая" + + +msgctxt "Curves" +msgid "Smooth" +msgstr "Гладкая" + + +msgctxt "Curves" +msgid "Sphere" +msgstr "Сферическая" + + +msgctxt "Curves" +msgid "Root" +msgstr "Квадратный корень" + + +msgctxt "Curves" +msgid "Sharp" +msgstr "Острая" + + +msgctxt "Curves" +msgid "Linear" +msgstr "Линейная" + + +msgctxt "Curves" +msgid "Sharper" +msgstr "Острее" + + +msgctxt "Curves" +msgid "Inverse Square" +msgstr "Обратно-квадратичная" + + +msgctxt "Curves" +msgid "Constant" +msgstr "Постоянная" + + msgid "Ratio of samples in a cycle that the brush is enabled" msgstr "Число сэмплов на цикли при включении кисти" @@ -18112,6 +18279,10 @@ msgid "Scrape" msgstr "Царапина" +msgid "Multi-plane Scrape" +msgstr "Многоплоскостной скребок" + + msgid "Elastic Deform" msgstr "Эластичная деформация" @@ -18640,6 +18811,16 @@ msgid "Up" msgstr "Вверх" +msgctxt "Unit" +msgid "Second" +msgstr "Секунда" + + +msgctxt "Unit" +msgid "Frame" +msgstr "Кадр" + + msgid "Camera data-block for storing camera settings" msgstr "Датаблок камеры для хранения настроек камеры" @@ -20902,6 +21083,11 @@ msgid "Pixel thickness used to detect occlusion" msgstr "Толщина пикселей для определения перекрытий" +msgctxt "Light" +msgid "Power" +msgstr "Мощность" + + msgid "Falloff Type" msgstr "Тип спада" @@ -21142,26 +21328,14 @@ msgid "Resolution X" msgstr "Разрешение по X" -msgid "Number of sample along the x axis of the volume" -msgstr "Количество сэмплов вдоль оси x объёма" - - msgid "Resolution Y" msgstr "Разрешение по Y" -msgid "Number of sample along the y axis of the volume" -msgstr "Количество сэмплов вдоль оси y объёма" - - msgid "Resolution Z" msgstr "Разрешение по Z" -msgid "Number of sample along the z axis of the volume" -msgstr "Количество сэмплов вдоль оси z объёма" - - msgid "Influence Distance" msgstr "Расстояние влияния" @@ -22162,6 +22336,10 @@ msgid "Use two pass execution during editing: first calculate fast nodes, second msgstr "Использовать двухэтапное вычисление при редактировании: на первом рассчитать быстрые ноды, на втором рассчитать все ноды" +msgid "Viewer Region" +msgstr "Регион просмотра" + + msgid "Use boundaries for viewer nodes and composite backdrop" msgstr "Использовать границы для нодов предпросмотра и подложки в композитинге" @@ -22868,6 +23046,11 @@ msgid "Surface" msgstr "Поверхность" +msgctxt "ID" +msgid "Hair Curves" +msgstr "Кривые волос" + + msgctxt "ID" msgid "Empty" msgstr "Пустышка" @@ -23801,6 +23984,11 @@ msgid "Multiply mass by particle size" msgstr "Умножить массу на размер частицы" +msgctxt "ParticleSettings" +msgid "Parents" +msgstr "Родители" + + msgid "Render parent particles" msgstr "Выполнять рендеринг родительских частиц" @@ -23969,6 +24157,10 @@ msgid "Linear distance model with clamping" msgstr "Модель линейной зависимости от расстояния с отсечением" +msgid "Exponential" +msgstr "Экспоненциально" + + msgid "Doppler Factor" msgstr "Коэфф. Доплера" @@ -24133,6 +24325,10 @@ msgid "Only Keyframes from Selected Channels" msgstr "Только ключевые кадры от выделенных каналов" +msgid "Consider keyframes for active object and/or its selected bones only (in timeline and when jumping between keyframes)" +msgstr "Рассматривать ключевые кадры только для активного объекта и/или его выделенных костей (на временной шкале и при переходе между ключевыми кадрами)" + + msgid "Show Subframe" msgstr "Отображать подкадры" @@ -24198,7 +24394,7 @@ msgstr "Воспроизведение аудио из видеоредакто msgid "Audio Scrubbing" -msgstr "Звук при перемотке" +msgstr "Звук в перемотке" msgid "Play audio from Sequence Editor while scrubbing" @@ -24245,6 +24441,11 @@ msgid "Color management settings applied on image before saving" msgstr "Настройки управления цветом, применяемые перед сохранением изображения" +msgctxt "World" +msgid "World" +msgstr "Мир" + + msgid "World used for rendering the scene" msgstr "Окружающая среда, используемая при рендеринге сцены" @@ -24459,6 +24660,11 @@ msgid "Indent using tabs" msgstr "Отступ с помощью табуляции" +msgctxt "Text" +msgid "Spaces" +msgstr "Пробелы" + + msgid "Indent using spaces" msgstr "Отступ с помощью пробелов" @@ -24483,6 +24689,11 @@ msgid "Text file on disk is different than the one in memory" msgstr "Текстовой файл на диске отличается от файла в памяти" +msgctxt "Text" +msgid "Lines" +msgstr "Строки" + + msgid "Lines of text" msgstr "Строки текста" @@ -24915,14 +25126,29 @@ msgid "Minimum Y value to crop the image" msgstr "Минимальное значение Y для обрезания изображения" +msgctxt "Image" +msgid "Extension" +msgstr "Дополнение" + + msgid "How the image is extrapolated past its original bounds" msgstr "Метод экстраполяции изображения за его исходными границами" +msgctxt "Image" +msgid "Extend" +msgstr "Расширить" + + msgid "Extend by repeating edge pixels of the image" msgstr "Повторять крайние пиксели изображения за его пределами" +msgctxt "Image" +msgid "Clip" +msgstr "Обрезать" + + msgid "Clip to image size and set exterior pixels as transparent" msgstr "Отсекать по размеру изображения и устанавливать внешние пиксели прозрачными" @@ -24931,10 +25157,20 @@ msgid "Clip to cubic-shaped area around the image and set exterior pixels as tra msgstr "Выполнить отсечение до кубообразной площади вокруг изображения и установить пиксели за изображением прозрачными" +msgctxt "Image" +msgid "Repeat" +msgstr "Повторять" + + msgid "Cause the image to repeat horizontally and vertically" msgstr "Повторять изображение по горизонтали и по вертикали" +msgctxt "Image" +msgid "Checker" +msgstr "Шахматная доска" + + msgid "Cause the image to repeat in checker board pattern" msgstr "Повторять изображение по шаблону шахматной доски" @@ -25455,6 +25691,10 @@ msgid "Offset the number of the frame to use in the animation" msgstr "Отступ номера кадра в анимации" +msgid "Ping-Pong" +msgstr "Пинг-понг" + + msgid "Window Manager" msgstr "Менеджер окон" @@ -25539,6 +25779,14 @@ msgid "Workspace data-block, defining the working environment for the user" msgstr "Датаблок рабочего пространства, определяющие рабочее окружение пользователя" +msgid "Per workspace index of the active pose asset" +msgstr "Индекс рабочего пространства активного ассета позы" + + +msgid "Active asset library to show in the UI, not used by the Asset Browser (which has its own active asset library)" +msgstr "Активная библиотека ассетов для отображения в интерфейсе, не используется браузером ассетов ( у которого есть своя собственная активная библиотека ассетов)" + + msgid "Switch to this object mode when activating the workspace" msgstr "Переходить в объектный режим при активации этого рабочего пространства" @@ -26518,6 +26766,66 @@ msgid "WhOut" msgstr "КолНаружу" +msgctxt "UI_Events_KeyMaps" +msgid "A" +msgstr "A" + + +msgctxt "UI_Events_KeyMaps" +msgid "B" +msgstr "B" + + +msgctxt "UI_Events_KeyMaps" +msgid "G" +msgstr "G" + + +msgctxt "UI_Events_KeyMaps" +msgid "H" +msgstr "H" + + +msgctxt "UI_Events_KeyMaps" +msgid "R" +msgstr "R" + + +msgctxt "UI_Events_KeyMaps" +msgid "S" +msgstr "S" + + +msgctxt "UI_Events_KeyMaps" +msgid "U" +msgstr "U" + + +msgctxt "UI_Events_KeyMaps" +msgid "V" +msgstr "V" + + +msgctxt "UI_Events_KeyMaps" +msgid "W" +msgstr "W" + + +msgctxt "UI_Events_KeyMaps" +msgid "X" +msgstr "X" + + +msgctxt "UI_Events_KeyMaps" +msgid "Y" +msgstr "Y" + + +msgctxt "UI_Events_KeyMaps" +msgid "Z" +msgstr "Z" + + msgctxt "UI_Events_KeyMaps" msgid "Left Ctrl" msgstr "Левый Ctrl" @@ -26843,6 +27151,16 @@ msgid "Pad+" msgstr "Pad+" +msgctxt "UI_Events_KeyMaps" +msgid "F1" +msgstr "F1" + + +msgctxt "UI_Events_KeyMaps" +msgid "F2" +msgstr "F2" + + msgctxt "UI_Events_KeyMaps" msgid "Pause" msgstr "Pause" @@ -27459,6 +27777,11 @@ msgid "Amount to boost elastic bounces for 'elastic' easing" msgstr "Усиление упругих отскоков для «упругого» ослабления" +msgctxt "Action" +msgid "Back" +msgstr "К предыдущему" + + msgid "Amount of overshoot for 'back' easing" msgstr "Величина превышения для ослабления в обратную сторону" @@ -27543,46 +27866,101 @@ msgid "Right Handle Type" msgstr "Тип правой рукоятки" +msgctxt "Action" +msgid "Interpolation" +msgstr "Интерполяция" + + msgid "Interpolation method to use for segment of the F-Curve from this Keyframe until the next Keyframe" msgstr "Метод интерполяции для сегмента F-кривой от этого ключевого кадра до следующего ключевого кадра" +msgctxt "Action" +msgid "Constant" +msgstr "Постоянная" + + msgid "No interpolation, value of A gets held until B is encountered" msgstr "Без интерполяции, значение А остаётся неизменным, пока не встретится Б" +msgctxt "Action" +msgid "Linear" +msgstr "Линейная" + + msgid "Straight-line interpolation between A and B (i.e. no ease in/out)" msgstr "Интерполяция с помощью отрезка, соединяющего A и Б напрямую (т. е. без плавного перехода в начале или конце)" +msgctxt "Action" +msgid "Bezier" +msgstr "Безье" + + msgid "Smooth interpolation between A and B, with some control over curve shape" msgstr "Плавная интерполяция между А и Б с некоторым контролем над формой кривой" +msgctxt "Action" +msgid "Sinusoidal" +msgstr "Синусоидальная" + + msgid "Sinusoidal easing (weakest, almost linear but with a slight curvature)" msgstr "Синусоидальное ослабление (самое слабое, почти линейное, но с небольшой кривизной)" +msgctxt "Action" +msgid "Quadratic" +msgstr "Квадратичная" + + msgid "Quadratic easing" msgstr "Квадратичное ослабление" +msgctxt "Action" +msgid "Cubic" +msgstr "Кубическая" + + msgid "Cubic easing" msgstr "Кубическое ослабление" +msgctxt "Action" +msgid "Quartic" +msgstr "Четвёртой степени" + + msgid "Quartic easing" msgstr "Ослабление четвёртой степени" +msgctxt "Action" +msgid "Quintic" +msgstr "Пятой степени" + + msgid "Quintic easing" msgstr "Ослабление пятой степени" +msgctxt "Action" +msgid "Exponential" +msgstr "Экспоненциальная" + + msgid "Exponential easing (dramatic)" msgstr "Экспоненциальное ослабление (резкое)" +msgctxt "Action" +msgid "Circular" +msgstr "Круговая" + + msgid "Circular easing (strongest and most dynamic)" msgstr "Круговое ослабление (самое сильное и наиболее динамичное)" @@ -27591,10 +27969,20 @@ msgid "Cubic easing with overshoot and settle" msgstr "Кубическое ослабление с перелётом за пределы и стабилизацией" +msgctxt "Action" +msgid "Bounce" +msgstr "С отскоками" + + msgid "Exponentially decaying parabolic bounce, like when objects collide" msgstr "Экспоненциально затухающие параболические отскоки, как при столкновении объектов" +msgctxt "Action" +msgid "Elastic" +msgstr "Упругая" + + msgid "Exponentially decaying sine wave, like an elastic band" msgstr "Экспоненциально затухающая синусоидная волна, как для натянутой струны" @@ -29180,6 +29568,11 @@ msgid "Color for mixing with primary filling color" msgstr "Цвет для смеси с основным цветом заливки" +msgctxt "GPencil" +msgid "Mix" +msgstr "Смешать" + + msgid "Mix Factor" msgstr "Коэфф. смешения" @@ -29310,7 +29703,7 @@ msgstr "Инструменты треков вращения" msgid "Clean Up" -msgstr "Очистка" +msgstr "Очистить" msgid "Show/Hide" @@ -29321,6 +29714,11 @@ msgid "Context Menu" msgstr "Контекстное меню" +msgctxt "MovieClip" +msgid "Tracking" +msgstr "Трекинг" + + msgid "Fractional Zoom" msgstr "Выбор масштаба" @@ -29341,6 +29739,10 @@ msgid "Languages..." msgstr "Языки…" +msgid "Add Attribute" +msgstr "Добавить атрибут" + + msgid "Bone Group Specials" msgstr "Настройки группы костей" @@ -29417,6 +29819,11 @@ msgid "Unwrap" msgstr "Развёртка" +msgctxt "WindowManager" +msgid "Area" +msgstr "Область" + + msgid "Info Context Menu" msgstr "Контекстное меню информации" @@ -29482,6 +29889,11 @@ msgid "Attribute" msgstr "Атрибут" +msgctxt "NodeTree" +msgid "Constant" +msgstr "Константа" + + msgid "Mesh" msgstr "Меш" @@ -29507,7 +29919,7 @@ msgstr "Инструменты набора линий" msgid "Effect Strip" -msgstr "Дорожка эффектов" +msgstr "Клип эффектов" msgctxt "Operator" @@ -29531,6 +29943,10 @@ msgid "Navigation" msgstr "Навигация" +msgid "Sequencer Preview Context Menu" +msgstr "Контекстное меню предпросмотре в видеоредакторе" + + msgid "Select Channel" msgstr "Выделить канал" @@ -29540,7 +29956,7 @@ msgstr "Выделить рукоятку" msgid "Strip" -msgstr "Дорожка" +msgstr "Клип" msgid "Lock/Mute" @@ -29548,7 +29964,7 @@ msgstr "Заблокировать/выключить" msgid "Movie Strip" -msgstr "Видеодорожка" +msgstr "Видеоклип" msgid "Cache" @@ -29747,6 +30163,10 @@ msgid "Light Probe" msgstr "Зонд освещения" +msgid "Link/Transfer Data" +msgstr "Связать/передать данные" + + msgid "Make Single User" msgstr "Эксклюзивное использование" @@ -29755,6 +30175,10 @@ msgid "Object Context Menu" msgstr "Контекстное меню объектов" +msgid "Convert" +msgstr "Преобразовать" + + msgid "Quick Effects" msgstr "Быстрые эффекты" @@ -30479,6 +30903,10 @@ msgid "Edge Split" msgstr "Разделение рёбер" +msgid "Geometry Nodes" +msgstr "Ноды геометрии" + + msgid "Mesh to Volume" msgstr "Меш в объём" @@ -31296,7 +31724,7 @@ msgstr "Способ сопоставления рёбер источника и msgid "Copy from identical topology meshes" -msgstr "Копировать из меша с той же топологией" +msgstr "Копировать от мешей с той же топологией" msgid "Nearest Vertices" @@ -34063,6 +34491,10 @@ msgid "Tracks" msgstr "Треки" +msgid "Collection of tracks in this tracking data object. Deprecated, use objects[name].tracks" +msgstr "Коллекция треков в данном объекте данных отслеживания. Неактуально, используйте objects[name].tracks" + + msgid "Movie tracking camera data" msgstr "Данные камеры для видеотрекинга" @@ -34343,6 +34775,11 @@ msgid "Collection of tracking plane tracks" msgstr "Коллекция треков отслеживания плоскостей" +msgctxt "MovieClip" +msgid "Active Track" +msgstr "Активный трек" + + msgid "Active track in this tracking data object" msgstr "Активный трек этого отслеживаемого объекта" @@ -34551,6 +34988,10 @@ msgid "Search for markers that are perspectively deformed (homography) between f msgstr "Искать маркеры, подвергающиеся проективной деформации между кадрами" +msgid "Affine" +msgstr "Афинная" + + msgid "Search for markers that are affine-deformed (t, r, k, and skew) between frames" msgstr "Искать маркеры, подвергающиеся аффинным деформациям (перенос, вращение, сгиб и наклон) между кадрами" @@ -35000,7 +35441,7 @@ msgstr "Влияние этого трека на 2D-стабилизацию" msgid "NLA Strip" -msgstr "Дорожка НЛА" +msgstr "Клип NLA" msgid "A container referencing an existing Action" @@ -35008,7 +35449,7 @@ msgstr "Контейнер, ссылающийся на существующее msgid "Action referenced by this strip" -msgstr "Действие, на которое ссылается эта дорожка" +msgstr "Действие, на которое ссылается этот клип" msgid "Action End Frame" @@ -35028,11 +35469,11 @@ msgstr "Первый используемый кадр действия" msgid "NLA Strip is active" -msgstr "Дорожка НЛА активна" +msgstr "Клип НЛА активен" msgid "Number of frames at start of strip to fade in influence" -msgstr "Количество кадров в начале дорожки для усиления влияния" +msgstr "Количество кадров в начале клипа для усиления влияния" msgid "Blending" @@ -35040,19 +35481,19 @@ msgstr "Смешивание" msgid "Method used for combining strip's result with accumulated result" -msgstr "Метод объединения результата дорожки с накопленным результатом" +msgstr "Метод объединения результата клипа с накопленным результатом" msgid "Action to take for gaps past the strip extents" -msgstr "Действие, заполняющее пустоты между дорожками" +msgstr "Действие, заполняющее пустоты между клипами" msgid "F-Curves for controlling the strip's influence and timing" -msgstr "F-кривые, управляющие влиянием дорожки и таймингом" +msgstr "F-кривые, управляющие влиянием клипа и таймингом" msgid "Amount the strip contributes to the current result" -msgstr "Величина, привносимая дорожкой в текущий результат" +msgstr "Величина, привносимая клипом в текущий результат" msgid "Modifiers affecting all the F-Curves in the referenced Action" @@ -35060,7 +35501,7 @@ msgstr "Модификаторы, влияющие на все F-кривые в msgid "Disable NLA Strip evaluation" -msgstr "Отключить расчёт дорожки НЛА" +msgstr "Отключить расчёт клипа НЛА" msgid "Number of times to repeat the action range" @@ -35072,11 +35513,11 @@ msgstr "Коэффициент масштабирования для дейст msgid "NLA Strip is selected" -msgstr "НЛА-дорожка выбрана" +msgstr "НЛА-клип выбран" msgid "Strip Time" -msgstr "Время дорожки" +msgstr "Время клипа" msgid "Frame of referenced Action to evaluate" @@ -35084,15 +35525,15 @@ msgstr "Рассчитываемый кадр используемого дей msgid "NLA Strips" -msgstr "НЛА-дорожки" +msgstr "НЛА-клипы" msgid "NLA Strips that this strip acts as a container for (if it is of type Meta)" -msgstr "Дорожки НЛА, для которых эта дорожка выступает в роли контейнера (только если у неё тип «Мета»)" +msgstr "Клипы НЛА, для которых этот клип выступает в роли контейнера (только если у него тип «Мета»)" msgid "Type of NLA Strip" -msgstr "Тип НЛА-дорожки" +msgstr "Тип НЛА-клипа" msgid "Action Clip" @@ -35100,11 +35541,11 @@ msgstr "Отрезок действия" msgid "NLA Strip references some Action" -msgstr "НЛА-дорожка ссылается на какое-то действие" +msgstr "НЛА-клип ссылается на какое-то действие" msgid "NLA Strip 'transitions' between adjacent strips" -msgstr "Переходы НЛА-дорожек между соседними дорожками" +msgstr "Переходы НЛА-клипов между соседними клипами" msgid "Meta" @@ -35112,7 +35553,7 @@ msgstr "Мета" msgid "NLA Strip acts as a container for adjacent strips" -msgstr "НЛА-дорожка, выступающая в роли контейнера для дорожек" +msgstr "НЛА-клип, выступающий в роли контейнера для клипов" msgid "Sound Clip" @@ -35120,7 +35561,7 @@ msgstr "Аудио фрагмент" msgid "NLA Strip representing a sound event for speakers" -msgstr "НЛА-дорожка, представляющая звуковое событие для источников звука" +msgstr "НЛА-клип, представляющий звуковое событие для источников звука" msgid "Animated Influence" @@ -35132,15 +35573,15 @@ msgstr "Настройка влияния управляется F-кривой, msgid "Animated Strip Time" -msgstr "Анимированное время дорожки" +msgstr "Анимированное время клипа" msgid "Strip time is controlled by an F-Curve rather than automatically determined" -msgstr "Тайминг дорожки управляется F-кривой, а не определяется автоматически" +msgstr "Тайминг клипа управляется F-кривой, а не определяется автоматически" msgid "Cyclic Strip Time" -msgstr "Время дорожки зациклено" +msgstr "Время клипа зациклено" msgid "Auto Blend In/Out" @@ -35148,11 +35589,11 @@ msgstr "Автоусиление/затухание" msgid "Number of frames for Blending In/Out is automatically determined from overlapping strips" -msgstr "Количество кадров для усиления и затухания автоматически определяется из перекрывающихся дорожек" +msgstr "Количество кадров для усиления и затухания автоматически определяется из перекрывающихся клипов" msgid "NLA Strip is played back in reverse order (only when timing is automatically determined)" -msgstr "Воспроизведение НЛА-дорожки в обратном направлении (только если хронометраж определён автоматически)" +msgstr "Воспроизводить НЛА-клип в обратном направлении (только если хронометраж определён автоматически)" msgid "Sync Action Length" @@ -35160,15 +35601,15 @@ msgstr "Синхронизировать длину действия" msgid "Update range of frames referenced from action after tweaking strip and its keyframes" -msgstr "Обновлять диапазон кадров действия после изменения дорожки и её ключевых кадров" +msgstr "Обновлять диапазон кадров действия после изменения клипа и его ключевых кадров" msgid "NLA-Strip F-Curves" -msgstr "F-кривые НЛА-дорожки" +msgstr "F-кривые НЛА-клипа" msgid "Collection of NLA strip F-Curves" -msgstr "Коллекция F-кривых НЛА-дорожки" +msgstr "Коллекция F-кривых НЛА-клипа" msgid "NLA Track" @@ -35200,13 +35641,18 @@ msgstr "НЛА-трек выбран" msgid "NLA Strips on this NLA-track" -msgstr "НЛА-дорожки этого НЛА-трека" +msgstr "НЛА-клип этой НЛА-дорожки" msgid "Collection of NLA Tracks" msgstr "Коллекция треков НЛА" +msgctxt "Action" +msgid "Active Track" +msgstr "Активный трек" + + msgid "Node in a node tree" msgstr "Нода в системе нодов" @@ -36452,6 +36898,11 @@ msgid "For positive distortion factor only: scale image such that black areas ar msgstr "Только для искажения с положительным коэффициентом: масштабировать изображение до полного скрытия чёрных областей" +msgctxt "NodeTree" +msgid "Jitter" +msgstr "Дрожание" + + msgid "Enable/disable jittering (faster, but also noisier)" msgstr "Включить/отключить дрожание (быстрее, но больше шума)" @@ -36564,22 +37015,57 @@ msgid "Use multi-sampled motion blur of the mask" msgstr "Использовать размытие движения с множественной выборкой для маски" +msgctxt "NodeTree" +msgid "Operation" +msgstr "Операция" + + +msgctxt "NodeTree" +msgid "Add" +msgstr "Сложить" + + msgid "A + B" msgstr "A + B" +msgctxt "NodeTree" +msgid "Subtract" +msgstr "Вычесть" + + msgid "A - B" msgstr "A − B" +msgctxt "NodeTree" +msgid "Multiply" +msgstr "Перемножить" + + msgid "A * B" msgstr "A · B" +msgctxt "NodeTree" +msgid "Divide" +msgstr "Разделить" + + msgid "A / B" msgstr "A / B" +msgctxt "NodeTree" +msgid "Multiply Add" +msgstr "Умножить и сложить" + + +msgctxt "NodeTree" +msgid "Power" +msgstr "Возвести в степень" + + msgid "A power B" msgstr "A в степени B" @@ -36588,54 +37074,154 @@ msgid "Logarithm A base B" msgstr "Логарифм A по основанию B" +msgctxt "NodeTree" +msgid "Square Root" +msgstr "Квадратный корень" + + msgid "Square root of A" msgstr "Квадратный корень A" +msgctxt "NodeTree" +msgid "Absolute" +msgstr "Модуль" + + msgid "Magnitude of A" msgstr "Модуль A" +msgctxt "NodeTree" +msgid "Exponent" +msgstr "Экспонента" + + +msgctxt "NodeTree" +msgid "Minimum" +msgstr "Минимум" + + msgid "The minimum from A and B" msgstr "Наименьшее из А и В" +msgctxt "NodeTree" +msgid "Maximum" +msgstr "Максимум" + + msgid "The maximum from A and B" msgstr "Максимальное из А и В" +msgctxt "NodeTree" +msgid "Less Than" +msgstr "Меньше чем" + + msgid "1 if A < B else 0" msgstr "1 если A B else 0" msgstr "1 если A>B, иначе 0" +msgctxt "NodeTree" +msgid "Compare" +msgstr "Сравнить" + + +msgctxt "NodeTree" +msgid "Round" +msgstr "Округлить" + + msgid "Round A to the nearest integer. Round upward if the fraction part is 0.5" msgstr "Округление A до ближайшего целого. Округление в большую сторону, если дробная часть равна 0.5" +msgctxt "NodeTree" +msgid "Floor" +msgstr "Округлить вниз" + + msgid "The largest integer smaller than or equal A" msgstr "Округление А в меньшую сторону" +msgctxt "NodeTree" +msgid "Ceil" +msgstr "Округлить вверх" + + msgid "The smallest integer greater than or equal A" msgstr "Округление А в большую сторону" +msgctxt "NodeTree" +msgid "Truncate" +msgstr "Обрезать" + + +msgctxt "NodeTree" +msgid "Fraction" +msgstr "Дробная часть" + + msgid "The fraction part of A" msgstr "Дробная часть А" +msgctxt "NodeTree" +msgid "Modulo" +msgstr "Остаток деления" + + +msgctxt "NodeTree" +msgid "Wrap" +msgstr "Обернуть" + + +msgctxt "NodeTree" +msgid "Snap" +msgstr "Привязать" + + +msgctxt "NodeTree" +msgid "Ping-Pong" +msgstr "Пинг-понг" + + +msgctxt "NodeTree" +msgid "Sine" +msgstr "Синус" + + msgid "sin(A)" msgstr "sin(A)" +msgctxt "NodeTree" +msgid "Cosine" +msgstr "Косинус" + + msgid "cos(A)" msgstr "cos(A)" +msgctxt "NodeTree" +msgid "Tangent" +msgstr "Тангенс" + + msgid "tan(A)" msgstr "tan(A)" @@ -37048,6 +37634,14 @@ msgid "Convex Hull" msgstr "Выпуклая оболочка" +msgid "Set Handle Type" +msgstr "Установить тип рукоятки" + + +msgid "Set Spline Type" +msgstr "Установить тип сплайна" + + msgid "Only Edges & Faces" msgstr "Только рёбра и грани" @@ -37056,6 +37650,11 @@ msgid "Only Faces" msgstr "Только грани" +msgctxt "Image" +msgid "Mirror" +msgstr "Отразить" + + msgid "Linear interpolation" msgstr "Линейная интерполяция" @@ -37072,10 +37671,22 @@ msgid "Edge Angle" msgstr "По углу ребра" +msgid "Merge by Distance" +msgstr "Объединить по расстоянию" + + msgid "Fill Type" msgstr "Тип заполнения" +msgid "Ico Sphere" +msgstr "Икосфера" + + +msgid "UV Sphere" +msgstr "UV-сфера" + + msgid "Object Info" msgstr "Информация об объекте" @@ -37084,10 +37695,22 @@ msgid "Z Up" msgstr "Вверх по Z" +msgid "Set Curve Radius" +msgstr "Установить радиус кривой" + + +msgid "Set Material" +msgstr "Установить материал" + + msgid "Font of the text. Falls back to the UI font by default" msgstr "Шрифт текста. По умолчанию используется шрифт интерфейса" +msgid "Scale To Fit" +msgstr "Масштабировать до вмещения" + + msgid "Pack UV Islands" msgstr "Упаковать UV-острова" @@ -37321,6 +37944,10 @@ msgid "Fresnel" msgstr "Френель" +msgid "Curves Info" +msgstr "Информация о кривых" + + msgid "Layer Weight" msgstr "Вес слоя" @@ -37333,6 +37960,10 @@ msgid "Light Path" msgstr "Путь света" +msgid "Remap a value from a range to a target range" +msgstr "Переназначить значение из диапазона в целевой диапазон" + + msgid "Clamp the result to the target range [To Min, To Max]" msgstr "Обрезать результат до нужного диапазона [To Min, To Max]" @@ -37357,12 +37988,20 @@ msgid "Transform a unit normal vector. Location is ignored" msgstr "Преобразовать единичный вектор нормали. Местоположение игнорируется" +msgid "Clamp Factor" +msgstr "Ограничить коэффициент" + + +msgid "Clamp Result" +msgstr "Ограничить результат" + + msgid "MixRGB" -msgstr "Микс RGB" +msgstr "Смешать RGB" msgid "Mix Shader" -msgstr "Микс-шейдер" +msgstr "Смешивающий шейдер" msgid "Space of the input normal" @@ -37405,6 +38044,10 @@ msgid "UV Map for tangent space maps" msgstr "UV-карта для карт пространства касательных" +msgid "AOV Output" +msgstr "Вывод AOV" + + msgid "Light Output" msgstr "Вывод источника света" @@ -37449,6 +38092,10 @@ msgid "Particle Info" msgstr "Информация о частице" +msgid "Point Info" +msgstr "Информация о точке" + + msgid "Bytecode" msgstr "Байт-код" @@ -37841,10 +38488,18 @@ msgid "Feature Output" msgstr "Вывод особенностей" +msgid "F1" +msgstr "F1" + + msgid "Computes the distance to the closest point as well as its position and color" msgstr "Вычисляет расстояние до ближайшей точки, а также ее положение и цвет" +msgid "F2" +msgstr "F2" + + msgid "Computes the distance to the second closest point as well as its position and color" msgstr "Вычисляет расстояние до второй ближайшей точки, а также ее положение и цвет" @@ -37889,6 +38544,10 @@ msgid "Use wave texture in rings" msgstr "Использовать текстуру с волнами в виде колец" +msgid "White Noise Texture" +msgstr "Текстура белого шума" + + msgid "UV Along Stroke" msgstr "UV вдоль штриха" @@ -37917,6 +38576,10 @@ msgid "World space vector displacement mapping" msgstr "Отображение смещения по векторам в пространстве мира" +msgid "Multiply Add" +msgstr "Умножить и сложить" + + msgid "Cross Product" msgstr "Вект. произведение" @@ -37973,6 +38636,10 @@ msgid "Round A to the largest integer multiple of B less than or equal A" msgstr "Округлить A до наибольшего значения множителя B, меньшего или равного A" +msgid "Vector Rotate" +msgstr "Повернуть вектор" + + msgid "Z Axis" msgstr "Ось Z" @@ -38066,7 +38733,7 @@ msgstr "Параметры, определяющие длительность и msgid "Mix RGB" -msgstr "Микс RGB" +msgstr "Смешать RGB" msgid "Value to Normal" @@ -38453,6 +39120,10 @@ msgid "Collection of object grease pencil modifiers" msgstr "Коллекция модификаторов объекта Grease Pencil" +msgid "Object Line Art" +msgstr "Обвести объект" + + msgid "Angles smaller than this will be treated as creases" msgstr "Углы меньше этого значения будут рассматриваться как складки" @@ -38885,7 +39556,7 @@ msgstr "Выдвинуть действие" msgid "Push action down on to the NLA stack as a new strip" -msgstr "Переместить действие вниз по стеку НЛА в виде новой дорожки" +msgstr "Переместить действие вниз по стеку НЛА в виде нового клипа" msgctxt "Operator" @@ -39034,6 +39705,14 @@ msgid "Check if Select Left or Right" msgstr "Проверить на выделение слева или справа" +msgid "Before Current Frame" +msgstr "Перед текущим кадром" + + +msgid "After Current Frame" +msgstr "После текущего кадра" + + msgctxt "Operator" msgid "Select Less" msgstr "Выделить меньше" @@ -40044,7 +40723,7 @@ msgstr "Выделить кратчайший путь между двумя к msgctxt "Operator" msgid "Split" -msgstr "Разделить" +msgstr "Разрезать" msgid "Split off selected bones from connected unselected bones" @@ -40435,6 +41114,10 @@ msgid "Accept" msgstr "Принять" +msgid "Open a directory browser, hold Shift to open the file, Alt to browse containing directory" +msgstr "Открыть браузер директорий, удерживайте Shift для открытия файла, Alt для просмотра содержимого директории" + + msgid "Directory of the file" msgstr "Папка файла" @@ -40443,6 +41126,10 @@ msgid "Select the file relative to the blend file" msgstr "Выбрать файл относительно текущего blend-файла" +msgid "Open a file browser, hold Shift to open the file, Alt to browse containing directory" +msgstr "Открыть браузер файлов, удерживайте Shift для открытия файла, Alt для просмотра содержимого директории" + + msgctxt "Operator" msgid "Filter" msgstr "Фильтр" @@ -40557,6 +41244,11 @@ msgid "Distance between selected tracks" msgstr "Расстояние между выделенными треками" +msgctxt "MovieClip" +msgid "Keep Original" +msgstr "Сохранить оригинал" + + msgctxt "Operator" msgid "3D Markers to Mesh" msgstr "3D-маркеры в меш" @@ -40613,6 +41305,10 @@ msgid "Clear path at remaining frames (after current)" msgstr "Очистить путь на оставшихся кадрах (после текущего)" +msgid "Clear All" +msgstr "Очистить всё" + + msgid "Clear the whole path" msgstr "Очистить весь путь" @@ -40968,10 +41664,20 @@ msgid "Set the clip interaction mode" msgstr "Установить режим взаимодействия с видеофрагментом" +msgctxt "MovieClip" +msgid "Mode" +msgstr "Режим" + + msgid "Show tracking and solving tools" msgstr "Отображать инструменты трекинга и расчёта" +msgctxt "MovieClip" +msgid "Mask" +msgstr "Маска" + + msgid "Show mask editing tools" msgstr "Показать инструменты редактирования маски" @@ -41121,10 +41827,6 @@ msgid "Set Axis" msgstr "Установить ось" -msgid "Set direction of scene axis rotating camera (or its parent if present) and assume selected track lies on real axis, joining it with the origin" -msgstr "Установить положение вращаемой камеры на сцене (или её родителя, если он присутствует) с предположением, что выделенный трек лежит на фактической оси, проходящей через опорную точку" - - msgid "Axis to use to align bundle along" msgstr "Ось, вдоль которой выравнивается пакет" @@ -42065,6 +42767,10 @@ msgid "Skin Resize" msgstr "Изменить размер скелетной оболочки" +msgid "To Sphere" +msgstr "В сферу" + + msgid "Shrink/Fatten" msgstr "Сжать/расжать" @@ -42073,6 +42779,18 @@ msgid "Trackball" msgstr "Трекбол" +msgid "Push/Pull" +msgstr "Толкать/тянуть" + + +msgid "Vertex Crease" +msgstr "Складка вершин" + + +msgid "Bone Size" +msgstr "Размер кости" + + msgid "Bone Envelope" msgstr "Оболочка кости" @@ -42161,6 +42879,10 @@ msgid "Recalculate handle length" msgstr "Пересчитать длины рукояток" +msgid "Delete Point" +msgstr "Удалить точку" + + msgid "Remove from selection" msgstr "Убрать из выделения" @@ -43002,7 +43724,7 @@ msgstr "Принудительно экспортировать хотя бы о msgid "Export each non-muted NLA strip as a separated FBX's AnimStack, if any, instead of global scene animation" -msgstr "Экспортировать каждую незаглушенную дорожку НЛА в виде отдельного AnimStack FBX (если есть), а не в виде глобальной анимации сцены" +msgstr "Экспортировать каждый незаглушенный НЛА-клип в виде отдельного AnimStack FBX (если есть), а не в виде глобальной анимации сцены" msgid "Active scene to file" @@ -43378,6 +44100,10 @@ msgid "Export vertex tangents with shape keys (morph targets)" msgstr "Экспортировать касательные вершин с ключами формы (целями морфинга)" +msgid "Slide" +msgstr "Передвинуть" + + msgid "Export vertex normals with meshes" msgstr "Экспортировать нормали вершин вместе с мешами" @@ -43609,6 +44335,11 @@ msgid "Write the rest state at the first frame" msgstr "Записать состояние покоя на первом кадре" +msgctxt "Operator" +msgid "Automatically Pack Resources" +msgstr "Автоматически упаковывать ресурсы" + + msgid "Automatically pack all external files into the .blend file" msgstr "Автоматически упаковать все внешние файлы в файл .blend" @@ -43762,10 +44493,20 @@ msgid "Highlight selected file(s)" msgstr "Подсветить выбранные файлы" +msgctxt "Operator" +msgid "Make Paths Absolute" +msgstr "Сделать пути полным" + + msgid "Make all paths to external files absolute" msgstr "Преобразовать все пути в внешним файлам в абсолютные" +msgctxt "Operator" +msgid "Make Paths Relative" +msgstr "Сделать пути относительными" + + msgid "Make all paths to external files relative to current .blend" msgstr "Преобразовать все пути к внешним файлам в относительные пути к текущему .blend-файлу" @@ -43779,6 +44520,11 @@ msgid "Move to next folder" msgstr "Перейти в следующую папку" +msgctxt "Operator" +msgid "Pack Resources" +msgstr "Упаковать ресурсы" + + msgctxt "Operator" msgid "Parent File" msgstr "Родительская папка" @@ -43797,6 +44543,11 @@ msgid "Move to previous folder" msgstr "Перейти в предыдущую папку" +msgctxt "Operator" +msgid "Refresh File List" +msgstr "Обновить список файлов" + + msgid "Refresh the file list" msgstr "Обновить список файлов" @@ -43897,6 +44648,11 @@ msgid "Change sorting to use column under cursor" msgstr "Использовать этот столбец для сортировки" +msgctxt "Operator" +msgid "Unpack Resources" +msgstr "Распаковать ресурсы" + + msgid "Unpack all files packed into this .blend to external ones" msgstr "Распаковать все файлы, упакованные в файл .blend, во внешние файлы" @@ -44020,10 +44776,25 @@ msgid "Set font case" msgstr "Установить регистр символов" +msgctxt "Text" +msgid "Case" +msgstr "Регистр" + + msgid "Lower or upper case" msgstr "Нижний или верхний регистр символов" +msgctxt "Text" +msgid "Lower" +msgstr "Нижний" + + +msgctxt "Text" +msgid "Upper" +msgstr "Верхний" + + msgctxt "Operator" msgid "Toggle Case" msgstr "Переключить регистр" @@ -44222,6 +44993,11 @@ msgid "Unlink active font data-block" msgstr "Отсоединить активный датаблок шрифта" +msgctxt "Operator" +msgid "Add Attribute" +msgstr "Добавить атрибут" + + msgid "Generic" msgstr "Общий тип" @@ -44813,14 +45589,44 @@ msgid "Generate 'in-betweens' to smoothly interpolate between Grease Pencil fram msgstr "Создать промежуточные кадры для плавной интерполяции между кадрами Grease Pencil" +msgctxt "GPencil" +msgid "Easing" +msgstr "Ослабление" + + msgid "Which ends of the segment between the preceding and following grease pencil frames easing interpolation is applied to" msgstr "К какому концу применять сглаживающую интерполяцию между предшествующим и последующим кадром Grease Pencil" +msgctxt "GPencil" +msgid "Automatic Easing" +msgstr "Автоматическое ослабление" + + msgid "Easing type is chosen automatically based on what the type of interpolation used (e.g. 'Ease In' for transitional types, and 'Ease Out' for dynamic effects)" msgstr "Выбирать тип ослабления автоматически на основе используемого типа интерполяции (т. е. использовать вход для переходных типов и выход для динамических эффектов)" +msgctxt "GPencil" +msgid "Ease In" +msgstr "Вход" + + +msgctxt "GPencil" +msgid "Ease Out" +msgstr "Выход" + + +msgctxt "GPencil" +msgid "Ease In and Out" +msgstr "Вхождение и выхождение" + + +msgctxt "GPencil" +msgid "Type" +msgstr "Тип" + + msgid "Interpolation method to use the next time 'Interpolate Sequence' is run" msgstr "Метод интерполяции, который будет использоваться при следующей интерполяции последовательности" @@ -45788,6 +46594,11 @@ msgid "Place the cursor on the midpoint of selected keyframes" msgstr "Поместить курсор в центре выделенных ключевых кадров" +msgctxt "Operator" +msgid "Gaussian Smooth" +msgstr "Гауссово сглаживание" + + msgid "Filter Width" msgstr "Ширина фильтра" @@ -46234,10 +47045,6 @@ msgid "Save the image with another name and/or settings" msgstr "Сохранить изображение с другим именем и/или параметрами" -msgid "Create a new image file without modifying the current image in blender" -msgstr "Создать новый файл изображения без изменения текущего изображения в Blender" - - msgid "Save As Render" msgstr "Сохранить как рендер" @@ -49591,6 +50398,76 @@ msgid "Select similar vertices, edges or faces by property types" msgstr "Выделить вершины, рёбра или грани, схожие по типу свойств" +msgctxt "Mesh" +msgid "Type" +msgstr "Тип" + + +msgctxt "Mesh" +msgid "Normal" +msgstr "Нормаль" + + +msgctxt "Mesh" +msgid "Vertex Groups" +msgstr "Группы вершин" + + +msgctxt "Mesh" +msgid "Vertex Crease" +msgstr "Складка вершин" + + +msgctxt "Mesh" +msgid "Length" +msgstr "Длина" + + +msgctxt "Mesh" +msgid "Direction" +msgstr "Направление" + + +msgctxt "Mesh" +msgid "Face Angles" +msgstr "Углы граней" + + +msgctxt "Mesh" +msgid "Crease" +msgstr "Складка" + + +msgctxt "Mesh" +msgid "Bevel" +msgstr "Фаска" + + +msgctxt "Mesh" +msgid "Seam" +msgstr "Шов" + + +msgctxt "Mesh" +msgid "Sharpness" +msgstr "Острогранность" + + +msgctxt "Mesh" +msgid "Material" +msgstr "Материал" + + +msgctxt "Mesh" +msgid "Area" +msgstr "Площадь" + + +msgctxt "Mesh" +msgid "Face Map" +msgstr "Карта граней" + + msgctxt "Operator" msgid "Select Similar Regions" msgstr "Выделить схожие участки" @@ -50042,7 +50919,7 @@ msgstr "Удалить исходные грани" msgid "Push action down onto the top of the NLA stack as a new strip" -msgstr "Выдвинуть действие в начало стека НЛА в виде новой дорожки" +msgstr "Выдвинуть действие в начало стека НЛА в виде нового клипа" msgid "Channel Index" @@ -50059,24 +50936,24 @@ msgstr "Синхронизировать длину действия" msgid "Synchronize the length of the referenced Action with the length used in the strip" -msgstr "Синхронизировать длину используемого действия с длиной, используемой в дорожке" +msgstr "Синхронизировать длину используемого действия с длиной, используемой в клипе" msgid "Active Strip Only" -msgstr "Только активная дорожка" +msgstr "Только активный клип" msgid "Only sync the active length for the active strip" -msgstr "Синхронизировать активную длину только с активной дорожкой" +msgstr "Синхронизировать активную длину только с активным клипом" msgctxt "Operator" msgid "Add Action Strip" -msgstr "Добавить дорожку действия" +msgstr "Добавить клип действия" msgid "Add an Action-Clip strip (i.e. an NLA Strip referencing an Action) to the active track" -msgstr "Добавить дорожку действия(то есть дорожку НЛА, ссылающуюся на действие) к активному треку" +msgstr "Добавить клип действия (то есть НЛА-клип, ссылающийся на действие) на активную дорожку" msgctxt "Operator" @@ -50085,7 +50962,7 @@ msgstr "Применить масштаб" msgid "Apply scaling of selected strips to their referenced Actions" -msgstr "Применить масштабирование выделенных дорожек к действиям, на которые они ссылаются" +msgstr "Применить масштабирование выделенных клипов к действиям, на которые они ссылаются" msgctxt "Operator" @@ -50160,33 +51037,33 @@ msgstr "Сбросить масштаб" msgid "Reset scaling of selected strips" -msgstr "Сбросить масштаб выделенных дорожек" +msgstr "Сбросить масштаб выделенных клипов" msgid "Handle clicks to select NLA Strips" -msgstr "Обработать нажатие мыши для выделения НЛА-дорожек" +msgstr "Обработать нажатие мыши для выделения НЛА-клипов" msgctxt "Operator" msgid "Delete Strips" -msgstr "Удалить дорожки" +msgstr "Удалить клипы" msgid "Delete selected strips" -msgstr "Удалить выделенные дорожки" +msgstr "Удалить выделенные клипы" msgctxt "Operator" msgid "Duplicate Strips" -msgstr "Дублировать дорожки" +msgstr "Дублировать клипы" msgid "Duplicate selected NLA-Strips, adding the new strips in new tracks above the originals" -msgstr "Дублировать выделенные НЛА-дорожки, добавив новые дорожки в новых треках над оригиналами" +msgstr "Дублировать выделенные НЛА-клипы, добавив новые клипы в новых дорожках над оригиналами" msgid "When duplicating strips, assign new copies of the actions they use" -msgstr "Назначать новые копии действий, используемых дорожками, при копировании дорожек" +msgstr "Назначать новые копии действий, используемых клипами, при копировании клипов" msgctxt "Operator" @@ -50195,11 +51072,11 @@ msgstr "Дублировать со связями" msgid "Duplicate selected strips and move them" -msgstr "Дублировать выделенные дорожки и переместить их" +msgstr "Дублировать выделенные клипы и переместить их" msgid "Duplicate Strips" -msgstr "Дублировать дорожки" +msgstr "Дублировать клипы" msgctxt "Operator" @@ -50208,23 +51085,23 @@ msgstr "Добавить F-модификатор" msgid "Add F-Modifier to the active/selected NLA-Strips" -msgstr "Добавить F-модификатор к активным/выбранным НЛА-дорожки" +msgstr "Добавить F-модификатор к активным/выделенным НЛА-клипам" msgid "Only add a F-Modifier of the specified type to the active strip" -msgstr "Добавлять F-модификатор выбранного типа только к активной дорожке" +msgstr "Добавлять F-модификатор выбранного типа только к активному клипу" msgid "Copy the F-Modifier(s) of the active NLA-Strip" -msgstr "Копировать F-модификаторы активной НЛА-дорожки" +msgstr "Копировать F-модификаторы активного НЛА-клипа" msgid "Add copied F-Modifiers to the selected NLA-Strips" -msgstr "Добавить скопированные F-модификаторы к выделенным НЛА-дорожкам" +msgstr "Добавить скопированные F-модификаторы к выделенным НЛА-клипам" msgid "Only paste F-Modifiers on active strip" -msgstr "Только скопировать F-модификаторы на активную НЛА-дорожку" +msgstr "Только скопировать F-модификаторы на активный НЛА-клип" msgctxt "Operator" @@ -50233,43 +51110,43 @@ msgstr "Использовать эксклюзивно" msgid "Ensure that each action is only used once in the set of strips selected" -msgstr "Проверить, что каждое действие используется только один раз в наборе выделенных дорожек" +msgstr "Проверить, что каждое действие используется только один раз в наборе выделенных клипов" msgctxt "Operator" msgid "Add Meta-Strips" -msgstr "Добавить мета-дорожку" +msgstr "Добавить мета-клип" msgid "Add new meta-strips incorporating the selected strips" -msgstr "Добавить новые мета-дорожки, содержащие в себе выделенные дорожки" +msgstr "Добавить новые мета-клипы, содержащие в себе выделенные клипы" msgctxt "Operator" msgid "Remove Meta-Strips" -msgstr "Удалить мета-дорожки" +msgstr "Удалить мета-клипы" msgid "Separate out the strips held by the selected meta-strips" -msgstr "Отделить дорожки, включённые в выделенные мета-дорожки" +msgstr "Отделить клипы, включённые в выделенные мета-клипы" msgctxt "Operator" msgid "Move Strips Down" -msgstr "Переместить дорожки вниз" +msgstr "Переместить клипы вниз" msgid "Move selected strips down a track if there's room" -msgstr "Переместить выделенные дорожки вниз по трекам, если есть место" +msgstr "Переместить выделенные клипы на дорожку ниже, если есть место" msgctxt "Operator" msgid "Move Strips Up" -msgstr "Переместить дорожки вверх" +msgstr "Переместить клипы вверх" msgid "Move selected strips up a track if there's room" -msgstr "Переместить выделенные дорожки вверх по трекам, если есть место" +msgstr "Переместить выделенные клипы на дорожку выше, если есть место" msgctxt "Operator" @@ -50278,19 +51155,19 @@ msgstr "Переключить заглушение" msgid "Mute or un-mute selected strips" -msgstr "Установить или снять заглушение с выделенных дорожек" +msgstr "Установить или снять заглушение с выделенных клипов" msgid "Select or deselect all NLA-Strips" -msgstr "Установить или снять выделение со всех НЛА-дорожек" +msgstr "Установить или снять выделение со всех НЛА-клипов" msgid "Use box selection to grab NLA-Strips" -msgstr "Использовать выделение прямоугольником для захвата НЛА-дорожек" +msgstr "Использовать выделение прямоугольником для захвата НЛА-клипов" msgid "Select strips to the left or the right of the current frame" -msgstr "Выделить дорожки слева или справа от текущего кадра" +msgstr "Выделить клипы слева или справа от текущего кадра" msgctxt "Operator" @@ -50304,11 +51181,11 @@ msgstr "Отобразить выделенные объекты в нелине msgctxt "Operator" msgid "Snap Strips" -msgstr "Привязать дорожки" +msgstr "Привязать клипы" msgid "Move start of strips to specified time" -msgstr "Переместить начало дорожек на заданное время" +msgstr "Переместить начало клипов на заданное время" msgctxt "Operator" @@ -50317,25 +51194,25 @@ msgstr "Добавить аудио фрагмент" msgid "Add a strip for controlling when speaker plays its sound clip" -msgstr "Добавить дорожку, управляющую временем воспроизведения аудио фрагментов" +msgstr "Добавить клип, управляющий временем воспроизведения аудиофрагментов" msgctxt "Operator" msgid "Split Strips" -msgstr "Разделить дорожки" +msgstr "Разрезать клип" msgid "Split selected strips at their midpoints" -msgstr "Разделить выделенные дорожки в их центральных точках" +msgstr "Разрезать выделенные клипы в их центральных точках" msgctxt "Operator" msgid "Swap Strips" -msgstr "Поменять местами дорожки" +msgstr "Поменять местами клипы" msgid "Swap order of selected strips within tracks" -msgstr "Поменять порядок выделенных дорожек внутри треков" +msgstr "Поменять порядок выделенных клипов внутри дорожки" msgctxt "Operator" @@ -50361,7 +51238,7 @@ msgstr "Удалить треки" msgid "Delete selected NLA-Tracks and the strips they contain" -msgstr "Удалить выделенные треки НЛА и содержащиеся в них дорожки" +msgstr "Удалить выделенные НЛА-дорожки и содержащиеся в них клипы" msgctxt "Operator" @@ -50370,7 +51247,7 @@ msgstr "Добавить переход" msgid "Add a transition strip between two adjacent selected strips" -msgstr "Добавить дорожку перехода между двумя смежными выделенными дорожками" +msgstr "Добавить клип перехода между двумя смежными выделенными клипами" msgctxt "Operator" @@ -50379,7 +51256,7 @@ msgstr "Войти в режим подстройки" msgid "Enter tweaking mode for the action referenced by the active strip to edit its keyframes" -msgstr "Войти в режим подстройки действия, на которое ссылается активная дорожка, и изменить его ключевые кадры" +msgstr "Войти в режим подстройки действия, на которое ссылается активный клип, и изменить его ключевые кадры" msgid "Isolate Action" @@ -50387,7 +51264,7 @@ msgstr "Изолировать действие" msgid "Enable 'solo' on the NLA Track containing the active strip, to edit it without seeing the effects of the NLA stack" -msgstr "Включить режим «соло» на НЛА-треке с активной дорожкой для редактирования без отображения эффектов стека НЛА" +msgstr "Включить режим «соло» на НЛА-треке с активным клипом для редактирования без отображения эффектов стека НЛА" msgctxt "Operator" @@ -50396,7 +51273,7 @@ msgstr "Выйти из режима подстройки" msgid "Exit tweaking mode for the action referenced by the active strip" -msgstr "Выйти из режима подстройки для действия, на которое ссылается активная дорожка" +msgstr "Выйти из режима подстройки для действия, на которое ссылается активный клип" msgid "Disable 'solo' on any of the NLA Tracks after exiting tweak mode to get things back to normal" @@ -50404,11 +51281,11 @@ msgstr "Отключить режим «соло» на НЛА-треке пос msgid "Reset viewable area to show full strips range" -msgstr "Сбросить область просмотра, чтобы показать весь диапазон дорожек" +msgstr "Сбросить область просмотра, чтобы показать весь диапазон клипов" msgid "Reset viewable area to show selected strips range" -msgstr "Сбросить область просмотра, чтобы показать диапазон выделенных дорожек" +msgstr "Сбросить область просмотра, чтобы показать диапазон выделенных клипов" msgctxt "Operator" @@ -50460,7 +51337,7 @@ msgstr "Добавить перенаправление" msgid "Add a reroute node" -msgstr "Добавить перенаправляющий узел" +msgstr "Добавить перенаправляющую ноду" msgctxt "Operator" @@ -50679,7 +51556,7 @@ msgstr "Переключить скрытие сокетов ноды" msgid "Toggle unused node socket display" -msgstr "Переключить отображение неиспользованных сокетов ноды" +msgstr "Переключить показ неиспользованных сокетов ноды" msgctxt "Operator" @@ -50820,7 +51697,7 @@ msgstr "Переключить параметры ноды" msgid "Toggle option buttons display for selected nodes" -msgstr "Переключить отображение кнопок параметров для выделенных нодов" +msgstr "Переключить показ кнопок параметров для выделенных нодов" msgctxt "Operator" @@ -51538,6 +52415,14 @@ msgid "Construct a Suzanne grease pencil object" msgstr "Создать объект Grease Pencil с Сюзанной" +msgid "Scene Line Art" +msgstr "Обвести сцену" + + +msgid "Collection Line Art" +msgstr "Обвести коллекцию" + + msgctxt "Operator" msgid "Add Modifier" msgstr "Добавить модификатор" @@ -51587,7 +52472,7 @@ msgstr "Дублировать модификатор на той же пози msgctxt "Operator" msgid "Copy Modifier to Selected" -msgstr "Скопировать модификаторы на выделенное" +msgstr "Скопировать модификаторы на выделение" msgid "Copy the modifier from the active object to all selected objects" @@ -51883,6 +52768,35 @@ msgid "Convert objects into instanced faces" msgstr "Преобразовать объекты в экземплярные грани" +msgctxt "Operator" +msgid "Link/Transfer Data" +msgstr "Связать/передать данные" + + +msgid "Link Object Data" +msgstr "Связать данные объекта" + + +msgid "Link Materials" +msgstr "Связать материалы" + + +msgid "Link Animation Data" +msgstr "Связать данные анимации" + + +msgid "Link Collections" +msgstr "Объединить коллекции" + + +msgid "Link Fonts to Text" +msgstr "Связать шрифты текста" + + +msgid "Copy Modifiers" +msgstr "Копировать модификаторы" + + msgctxt "Operator" msgid "Link Objects to Scene" msgstr "Связать объекты со сценой" @@ -51954,7 +52868,7 @@ msgstr "Назначить активный слой материала для msgctxt "Operator" msgid "Copy Material to Selected" -msgstr "Скопировать материал на выделенное" +msgstr "Скопировать материал на выделение" msgid "Copy material to selected objects" @@ -52644,10 +53558,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "Фильтр имени с использованием подстановочных знаков unix «*», «?» и «[abc]»" -msgid "Set select on random visible objects" -msgstr "Выделить случайные видимые объекты" - - msgctxt "Operator" msgid "Select Same Collection" msgstr "Выделить в той же коллекции" @@ -52980,6 +53890,10 @@ msgid "Make the object track another object, using various methods/constraints" msgstr "Включить следование одного объекта за другим с помощью разных методов и ограничителей" +msgid "Track to Constraint" +msgstr "Ограничитель «слежение за»" + + msgid "Lock Track Constraint" msgstr "Ограничитель слежения с фиксацией" @@ -53069,6 +53983,11 @@ msgid "Assign the selected vertices to a new vertex group" msgstr "Назначить выделенные вершины к новой группе вершин" +msgctxt "Operator" +msgid "Clean Vertex Group Weights" +msgstr "Очистить веса группы вершин" + + msgid "Remove vertex group assignments which are not required" msgstr "Удалить ненужные назначения для группы вершин" @@ -53360,7 +54279,7 @@ msgstr "Нормализовать веса активной вершины" msgctxt "Operator" msgid "Paste Weight to Selected" -msgstr "Вставить вес на выделенное" +msgstr "Вставить вес на выделение" msgctxt "Operator" @@ -56383,6 +57302,11 @@ msgid "Add new scene by type" msgstr "Добавить новую сцену по типу" +msgctxt "Scene" +msgid "Type" +msgstr "Тип" + + msgctxt "Scene" msgid "New" msgstr "Создать" @@ -56516,6 +57440,11 @@ msgid "Step through animation by position" msgstr "Шагнуть по анимации на заданное положение" +msgctxt "Operator" +msgid "Close Area" +msgstr "Закрыть область" + + msgctxt "Operator" msgid "Duplicate Area into New Window" msgstr "Дублировать область в новое окно" @@ -56781,7 +57710,7 @@ msgstr "Переключиться по циклу между доступным msgctxt "Operator" msgid "Save Screenshot" -msgstr "Сохранить скриншот" +msgstr "Сохранить снимок экрана" msgctxt "Operator" @@ -56910,7 +57839,7 @@ msgstr "Переключить динамическую топологию" msgid "Dynamic topology alters the mesh topology while sculpting" -msgstr "Динамическая топология изменяет топологию меша во время скульптинга" +msgstr "Динамическая топология изменяет топологию сетки во время скульптинга" msgid "Grow Face Set" @@ -57220,19 +58149,19 @@ msgstr "Перекрёстное затухание" msgid "Crossfade effect strip type" -msgstr "Дорожка с эффектом перекрёстного затухания" +msgstr "Клип с эффектом перекрёстного затухания" msgid "Add effect strip type" -msgstr "Дорожка с эффектом добавления" +msgstr "Клип с эффектом добавления" msgid "Subtract effect strip type" -msgstr "Дорожка с эффектом вычитания" +msgstr "Клип с эффектом вычитания" msgid "Alpha Over effect strip type" -msgstr "Дорожка с эффектом альфа-наложения" +msgstr "Клип с эффектом альфа-наложения" msgid "Alpha Under" @@ -57240,7 +58169,7 @@ msgstr "Альфа снизу" msgid "Alpha Under effect strip type" -msgstr "Дорожка с эффектом альфа-подкладки" +msgstr "Клип с эффектом альфа-подкладки" msgid "Gamma Cross" @@ -57248,11 +58177,11 @@ msgstr "Гамма-наложение" msgid "Gamma Cross effect strip type" -msgstr "Дорожка с эффектом гамма-пересечения" +msgstr "Клип с эффектом гамма-пересечения" msgid "Multiply effect strip type" -msgstr "Дорожка с эффектом умножения" +msgstr "Клип с эффектом умножения" msgid "Alpha Over Drop" @@ -57260,7 +58189,7 @@ msgstr "Альфа-наложение сверху" msgid "Alpha Over Drop effect strip type" -msgstr "Дорожка с эффектом альфа-наложения" +msgstr "Клип с эффектом альфа-наложения" msgid "Wipe" @@ -57268,7 +58197,7 @@ msgstr "Затирание" msgid "Wipe effect strip type" -msgstr "Дорожка с эффектом затирания" +msgstr "Клип с эффектом затирания" msgid "Glow" @@ -57276,15 +58205,15 @@ msgstr "Свечение" msgid "Glow effect strip type" -msgstr "Дорожка с эффектом свечения" +msgstr "Клип с эффектом свечения" msgid "Transform effect strip type" -msgstr "Дорожка с эффектом трансформации" +msgstr "Клип с эффектом трансформации" msgid "Color effect strip type" -msgstr "Дорожка с цветным фоном" +msgstr "Клип с цветным фоном" msgid "Multicam Selector" @@ -57300,7 +58229,7 @@ msgstr "Гауссово размытие" msgid "Color Mix" -msgstr "Микс цветов" +msgstr "Смешение цветов" msgctxt "Operator" @@ -57313,7 +58242,7 @@ msgstr "Использовать заполнители" msgid "Use placeholders for missing frames of the strip" -msgstr "Использовать заполнители для отсутствующих кадров дорожки" +msgstr "Использовать заполнители для отсутствующих кадров клипа" msgctxt "Operator" @@ -57322,7 +58251,7 @@ msgstr "Копировать" msgid "Copy selected strips to clipboard" -msgstr "Копировать выделенные дорожки в буфер обмена" +msgstr "Копировать выделенные клипы в буфер обмена" msgctxt "Operator" @@ -57331,7 +58260,7 @@ msgstr "Смикшировать аудио" msgid "Do cross-fading volume animation of two selected sound strips" -msgstr "Создать плавный переход громкости между двумя выделенными аудиодорожками" +msgstr "Создать плавный переход громкости между двумя выделенными аудиоклипами" msgctxt "Operator" @@ -57345,40 +58274,40 @@ msgstr "Удалить чересстрочную развёртку для вы msgctxt "Operator" msgid "Erase Strips" -msgstr "Удалить дорожки" +msgstr "Удалить клипы" msgid "Erase selected strips from the sequencer" -msgstr "Удалить выделенные дорожки из видеоредактора" +msgstr "Удалить выделенные клипы из видеоредактора" msgid "Duplicate the selected strips" -msgstr "Дублировать выделенные дорожки" +msgstr "Дублировать выделенные клипы" msgid "Slide a sequence strip in time" -msgstr "Сдвинуть дорожку во времени" +msgstr "Сдвинуть клип во времени" msgctxt "Operator" msgid "Add Effect Strip" -msgstr "Добавить дорожку эффекта" +msgstr "Добавить клип эффекта" msgid "Add an effect to the sequencer, most are applied on top of existing strips" -msgstr "Добавить эффект в видеоредактор; большая часть эффектов применяется поверх существующих дорожек" +msgstr "Добавить эффект в видеоредактор; большая часть эффектов применяется поверх существующих клипов" msgid "Channel to place this strip into" -msgstr "Канал, на котором нужно разместить эту дорожку" +msgstr "Канал, на котором нужно разместить этот клип" msgid "End frame for the color strip" -msgstr "Конечный кадр для дорожки цвета" +msgstr "Конечный кадр для клипа цвета" msgid "Start frame of the sequence strip" -msgstr "Начальный кадр для дорожки видеоредактора" +msgstr "Начальный кадр для клипа подследовательности" msgid "Allow Overlap" @@ -57386,7 +58315,7 @@ msgstr "Альфа-перекрытие" msgid "Don't correct overlap on new sequence strips" -msgstr "Не исправлять перекрытие для новых дорожек видеоредактора" +msgstr "Не исправлять перекрытие для новых клипов видеоредактора" msgid "Replace Selection" @@ -57399,7 +58328,7 @@ msgstr "Заменить текущее выделение" msgctxt "Operator" msgid "Set Selected Strip Proxies" -msgstr "Установить прокси выделенных дорожек" +msgstr "Установить прокси выделенных клипов" msgctxt "Operator" @@ -57408,7 +58337,7 @@ msgstr "Экспорт субтитров" msgid "Export .srt file containing text strips" -msgstr "Экспортировать файл .srt с содержанием текстовых дорожек" +msgstr "Экспортировать файл .srt с субтитрами из текстовых клипов" msgctxt "Operator" @@ -57417,7 +58346,7 @@ msgstr "Добавить затухания" msgid "Adds or updates a fade animation for either visual or audio strips" -msgstr "Добавить или обновить анимацию затухания визуальных или аудио-дорожек" +msgstr "Добавить или обновить анимацию затухания визуальных или аудиоклипов" msgid "Fade Duration" @@ -57453,7 +58382,7 @@ msgstr "От текущего кадра" msgid "Fade from the time cursor to the end of overlapping sequences" -msgstr "Затухание от точки воспроизведения до конца перекрывающихся дорожек" +msgstr "Затухание от точки воспроизведения до конца перекрывающихся клипов" msgid "To Current Frame" @@ -57470,7 +58399,7 @@ msgstr "Очистить затухания" msgid "Removes fade animation from selected sequences" -msgstr "Удалить анимацию затухания у выделенных дорожек" +msgstr "Удалить анимацию затухания у выделенных клипов" msgctxt "Operator" @@ -57479,11 +58408,11 @@ msgstr "Вставить разрыв" msgid "Insert gap at current frame to first strips at the right, independent of selection or locked state of strips" -msgstr "Вставить разрыв между текущим кадром и ближайшей дорожкой справа, независимо от выделения и блокировки дорожек" +msgstr "Вставить разрыв между текущим кадром и ближайшим клипом справа, независимо от выделения и блокировки клипов" msgid "Frames to insert after current strip" -msgstr "Количество вставляемых кадров после текущей дорожки" +msgstr "Количество вставляемых кадров после текущего клипа" msgctxt "Operator" @@ -57492,7 +58421,7 @@ msgstr "Удалить разрывы" msgid "Remove gap at current frame to first strip at the right, independent of selection or locked state of strips" -msgstr "Удалить разрыв от текущего кадра до ближайшей дорожки справа, независимо от выделения и блокировки дорожек" +msgstr "Удалить разрыв от текущего кадра до ближайшего клипа справа, независимо от выделения и блокировки клипов" msgid "All Gaps" @@ -57505,7 +58434,7 @@ msgstr "Для всех разрывов справа от текущего ка msgctxt "Operator" msgid "Add Image Strip" -msgstr "Добавить дорожку с изображением" +msgstr "Добавить клип с изображением" msgid "Add an image or image sequence to the sequencer" @@ -57518,7 +58447,7 @@ msgstr "Разделить изображения" msgid "On image sequence strips, it returns a strip for each image" -msgstr "Создать отдельные дорожки для каждого изображения при использовании дорожки с последовательностью изображений" +msgstr "Создать отдельные клипы для каждого изображения при использовании клипов с последовательностью изображений" msgid "Length of each frame" @@ -57527,44 +58456,44 @@ msgstr "Длина каждого кадра" msgctxt "Operator" msgid "Lock Strips" -msgstr "Заблокировать дорожки" +msgstr "Заблокировать клипы" msgid "Lock strips so they can't be transformed" -msgstr "Заблокировать дорожки, чтобы их нельзя было случайно изменить" +msgstr "Заблокировать клипы, чтобы их нельзя было случайно изменить" msgctxt "Operator" msgid "Add Mask Strip" -msgstr "Добавить дорожку маски" +msgstr "Добавить клип маски" msgid "Add a mask strip to the sequencer" -msgstr "Добавить дорожку с маской в видеоредактор" +msgstr "Добавить клип с маской в видеоредактор" msgctxt "Operator" msgid "Make Meta Strip" -msgstr "Создать метадорожку" +msgstr "Создать метаклип" msgctxt "Operator" msgid "UnMeta Strip" -msgstr "Расформировать метадорожку" +msgstr "Расформировать метаклип" msgctxt "Operator" msgid "Toggle Meta Strip" -msgstr "Редактировать метадорожку" +msgstr "Редактировать метаклип" msgctxt "Operator" msgid "Add Movie Strip" -msgstr "Добавить видеодорожку" +msgstr "Добавить видеоклип" msgid "Add a movie strip to the sequencer" -msgstr "Добавить видеодорожку в видеоредактор" +msgstr "Добавить видеоклип в видеоредактор" msgid "Load sound with the movie" @@ -57581,33 +58510,33 @@ msgstr "Использовать частоту кадров из видео, ч msgctxt "Operator" msgid "Add MovieClip Strip" -msgstr "Добавить дорожку видеоклипа" +msgstr "Добавить клип с видео" msgid "Add a movieclip strip to the sequencer" -msgstr "Добавить дорожку видеоклипа в видеоредактор" +msgstr "Добавить клип с видео в видеоредактор" msgctxt "Operator" msgid "Mute Strips" -msgstr "Выключить дорожки" +msgstr "Выключить клипы" msgid "Mute (un)selected strips" -msgstr "Выключить (не)выделенные дорожки" +msgstr "Выключить (не)выделенные клипы" msgid "Mute unselected rather than selected strips" -msgstr "Выключить невыделенные дорожки вместо выделенных" +msgstr "Выключить невыделенные клипы вместо выделенных" msgctxt "Operator" msgid "Clear Strip Offset" -msgstr "Очистить смещение дорожки" +msgstr "Очистить смещение клип" msgid "Clear strip offsets from the start and end frames" -msgstr "Очистить смещения дорожки для начальных и конечных кадров" +msgstr "Очистить смещения клипа для начальных и конечных кадров" msgctxt "Operator" @@ -57616,7 +58545,7 @@ msgstr "Вставить" msgid "Paste strips from clipboard" -msgstr "Вставить дорожки из буфера обмена" +msgstr "Вставить клипы из буфера обмена" msgctxt "Operator" @@ -57625,7 +58554,7 @@ msgstr "Переназначить входы" msgid "Reassign the inputs for the effect strip" -msgstr "Переназначить входы для дорожки эффекта" +msgstr "Переназначить входы для клипа эффекта" msgid "Rebuild all selected proxies and timecode indices using the job system" @@ -57643,11 +58572,11 @@ msgstr "Обновить нелинейный видеоредактор" msgctxt "Operator" msgid "Reload Strips" -msgstr "Перезагрузить дорожки" +msgstr "Перезагрузить клипы" msgid "Reload strips in the sequencer" -msgstr "Перезагрузить дорожки в видеоредакторе" +msgstr "Перезагрузить клипы в видеоредакторе" msgid "Adjust Length" @@ -57655,7 +58584,7 @@ msgstr "Настроить длину" msgid "Adjust length of strips to their data length" -msgstr "Настроить длину дорожек в соответствии с длиной их данных" +msgstr "Настроить длину клипов в соответствии с длиной их данных" msgctxt "Operator" @@ -57673,15 +58602,11 @@ msgstr "Снять цвет в текущем кадре с помощью мы msgctxt "Operator" msgid "Add Scene Strip" -msgstr "Добавить дорожку сцены" - - -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "Добавить в видеоредактор дорожку, использующую сцену Blender в качестве источника" +msgstr "Добавить клип сцены" msgid "Select a strip (last selected becomes the \"active strip\")" -msgstr "Выделить дорожку (последняя выделенная дорожка становится активной)" +msgstr "Выделить клип (последний выделенный клип становится активным)" msgid "Linked Handle" @@ -57689,7 +58614,7 @@ msgstr "Связанные рукоятки" msgid "Select handles next to the active strip" -msgstr "Выделить рукоятки за активной дорожкой" +msgstr "Выделить рукоятки за активным клипом" msgid "Linked Time" @@ -57697,27 +58622,27 @@ msgstr "По временной связи" msgid "Select other strips at the same time" -msgstr "Выделить другие дорожки в том же времени" +msgstr "Выделить другие клипы в том же времени" msgid "Select all strips on same side of the current frame as the mouse cursor" -msgstr "Выделить все дорожки слева/справа от текущего кадра в зависимости от курсора" +msgstr "Выделить все клипы слева/справа от текущего кадра в зависимости от курсора" msgid "Select or deselect all strips" -msgstr "Установить или снять выделение для всех дорожек" +msgstr "Установить или снять выделение для всех клипов" msgid "Select strips using box selection" -msgstr "Выделить дорожки, используя выделение прямоугольником" +msgstr "Выделить клипы, используя выделение прямоугольником" msgid "Select all strips grouped by various properties" -msgstr "Выделить все дорожки по различным характеристикам" +msgstr "Выделить все клипы по определённым характеристикам" msgid "Shared strip type" -msgstr "Дорожки общего типа" +msgstr "Клипы общего типа" msgid "Global Type" @@ -57725,7 +58650,7 @@ msgstr "Глобальный тип" msgid "Shared strip effect type (if active strip is not an effect one, select all non-effect strips)" -msgstr "Общие тип эффекта (если активная дорожка не является дорожкой эффекта, выбираются все обычные дорожки)" +msgstr "Общие тип эффекта (если активный клип не является клипом эффекта, выбираются все обычные клипы)" msgid "Shared data (scene, image, sound, etc.)" @@ -57745,7 +58670,7 @@ msgstr "Эффект со связью" msgid "Other strips affected by the active one (sharing some time, and below or effect-assigned)" -msgstr "Другие дорожки, находящиеся под воздействием активного эффекта (имеют общий интервал времени, находятся снизу или назначены эффекту)" +msgstr "Другие клипы, находящиеся под воздействием активного эффекта (имеют общий интервал времени, находятся снизу или назначены эффекту)" msgid "Overlap" @@ -57761,7 +58686,7 @@ msgstr "Тот-же канал" msgid "Only consider strips on the same channel as the active one" -msgstr "Выделить дорожки находящиеся на том-же канале что и активная" +msgstr "Выделить клипы находящиеся на том же канале, что и активный" msgctxt "Operator" @@ -57770,7 +58695,7 @@ msgstr "Выделить рукоятки" msgid "Select gizmo handles on the sides of the selected strip" -msgstr "Выделить управляющие элементы выделенной дорожки" +msgstr "Выделить управляющие элементы выделенного клипа" msgid "The side of the handle that is selected" @@ -57778,11 +58703,11 @@ msgstr "Выделенная сторона рукоятки" msgid "Shrink the current selection of adjacent selected strips" -msgstr "Сузить текущее выделение примыкающих друг к другу выделенных дорожек" +msgstr "Сузить текущее выделение примыкающих друг к другу выделенных клипов" msgid "Select all strips adjacent to the current selection" -msgstr "Выделить дорожки, прилегающие к текущему выделению" +msgstr "Выделить клипы, прилегающие к текущему выделению" msgctxt "Operator" @@ -57791,15 +58716,23 @@ msgstr "Выделить связанные с подбором" msgid "Select a chain of linked strips nearest to the mouse pointer" -msgstr "Выделить цепочку связанных дорожек, находящихся рядом с указателем мыши" +msgstr "Выделить цепочку связанных клипов, находящихся рядом с указателем мыши" msgid "Select more strips adjacent to the current selection" -msgstr "Выделить дорожки, прилегающие к текущему выделению" +msgstr "Выделить клипы, прилегающие к текущему выделению" + + +msgid "Mouse Position" +msgstr "У курсора" + + +msgid "No Change" +msgstr "Без изменения" msgid "Select strips relative to the current frame" -msgstr "Выделить дорожки относительно текущего кадра" +msgstr "Выделить клипы относительно текущего кадра" msgid "Select to the left of the current frame" @@ -57815,25 +58748,25 @@ msgstr "Установить диапазон предпросмотра" msgid "Offset to the data of the strip" -msgstr "Смещение к данным дорожки" +msgstr "Смещение к данным клипа" msgctxt "Operator" msgid "Snap Strips to the Current Frame" -msgstr "Привязать дорожки к текущему кадру" +msgstr "Привязать клипы к текущему кадру" msgid "Frame where selected strips will be snapped" -msgstr "Кадр, к которому осуществляется привязка выделенных дорожек" +msgstr "Кадр, к которому осуществляется привязка выделенных клипов" msgctxt "Operator" msgid "Add Sound Strip" -msgstr "Добавить аудиодорожку" +msgstr "Добавить аудиоклип" msgid "Add a sound strip to the sequencer" -msgstr "Добавить звуковую дорожку в видеоредактор" +msgstr "Добавить звуковой клип в видеоредактор" msgid "Cache the sound in memory" @@ -57844,13 +58777,54 @@ msgid "Merge all the sound's channels into one" msgstr "Объединить все аудиоканалы в один" +msgid "Split the selected strips in two" +msgstr "Разрезать выделенные клипы на две части" + + +msgid "Channel in which strip will be cut" +msgstr "Канал, на котором нужно разрезать клип" + + +msgid "Frame where selected strips will be split" +msgstr "Кадр, на котором нужно разрезать клип" + + +msgid "Ignore Selection" +msgstr "Игнорировать выделение" + + +msgid "Make cut event if strip is not selected preserving selection state after cut" +msgstr "Выполнить разрезание, если клип не выделен, сохраняя состояние выделения после разрезания" + + +msgid "The side that remains selected after splitting" +msgstr "Сторона, которая остаётся выделенной после разрезания" + + +msgid "The type of split operation to perform on strips" +msgstr "Тип операции разрезания, выполняемый над клипами" + + +msgid "Use Cursor Position" +msgstr "Использовать положение курсора" + + msgid "Split at position of the cursor instead of current frame" -msgstr "Разделить на месте курсора, а не на текущем кадре" +msgstr "Разрезать на месте курсора, а не на текущем кадре" + + +msgctxt "Operator" +msgid "Split Multicam" +msgstr "Разрезать мультикамеру" + + +msgid "Split multicam strip and select camera" +msgstr "Разрезать клип мультикамеры и выделить камеру" msgctxt "Operator" msgid "Jump to Strip" -msgstr "Перейти к дорожке" +msgstr "Перейти к клипу" msgid "Move frame to previous edit point" @@ -57858,16 +58832,16 @@ msgstr "Переместить кадр к предыдущей точке ре msgid "Next Strip" -msgstr "Следующая дорожка" +msgstr "Следующий клип" msgctxt "Operator" msgid "Add Strip Modifier" -msgstr "Добавить модификатор дорожки" +msgstr "Добавить модификатор клипа" msgid "Add a modifier to the strip" -msgstr "Добавить модификатор к дорожке" +msgstr "Добавить модификатор к клип" msgid "Tone Map" @@ -57880,11 +58854,11 @@ msgstr "Баланс белого" msgctxt "Operator" msgid "Copy to Selected Strips" -msgstr "Скопировать на выделенные дорожки" +msgstr "Скопировать на выделенные клипы" msgid "Copy modifiers of the active strip to all selected strips" -msgstr "Скопировать модификаторы с активной дорожки на выделенные" +msgstr "Скопировать модификаторы с активного клипа на выделенные клипы" msgid "Replace modifiers in destination" @@ -57892,12 +58866,12 @@ msgstr "Заменить модификаторы" msgid "Append active modifiers to selected strips" -msgstr "Добавить модификаторы с активной на выделенные дорожки" +msgstr "Добавить модификаторы с активного клипа на выделенные клипы" msgctxt "Operator" msgid "Move Strip Modifier" -msgstr "Переместить модификатор дорожки" +msgstr "Переместить модификатор клипа" msgid "Move modifier up and down in the stack" @@ -57910,11 +58884,11 @@ msgstr "Имя удаляемого модификатора" msgctxt "Operator" msgid "Remove Strip Modifier" -msgstr "Удалить модификатор дорожки" +msgstr "Удалить модификатор клип" msgid "Remove a modifier from the strip" -msgstr "Удалить модификатор у дорожки" +msgstr "Удалить модификатор у клипа" msgid "Property" @@ -57923,15 +58897,15 @@ msgstr "Свойство" msgctxt "Operator" msgid "Swap Strip" -msgstr "Поменять местами дорожки" +msgstr "Поменять местами клипы" msgid "Swap active strip with strip to the right or left" -msgstr "Поменять местами активную дорожку и дорожку слева или справа" +msgstr "Поменять местами активный клип и клип слева или справа" msgid "Side of the strip to swap" -msgstr "Сторона дорожки для обмена" +msgstr "Сторона клипа для обмена" msgctxt "Operator" @@ -57940,7 +58914,7 @@ msgstr "Обменять данные в видеоредакторе" msgid "Swap 2 sequencer strips" -msgstr "Поменять местами две дорожки в видеоредакторе" +msgstr "Поменять местами два клипа в видеоредакторе" msgctxt "Operator" @@ -57949,33 +58923,33 @@ msgstr "Обменять входы" msgid "Swap the first two inputs for the effect strip" -msgstr "Поменять местами два первых входа дорожки эффекта" +msgstr "Поменять местами два первых входа клипа эффекта" msgctxt "Operator" msgid "Unlock Strips" -msgstr "Разблокировать дорожки" +msgstr "Разблокировать клипы" msgid "Unlock strips so they can be transformed" -msgstr "Разблокировать дорожки, чтобы она могли быть изменены" +msgstr "Разблокировать клипы, чтобы она могли быть изменены" msgctxt "Operator" msgid "Unmute Strips" -msgstr "Включить дорожки" +msgstr "Включить клипы" msgid "Unmute (un)selected strips" -msgstr "Включить (не)выделенные дорожки" +msgstr "Включить (не)выделенные клипы" msgid "Unmute unselected rather than selected strips" -msgstr "Включить невыделенные вместо выделенных дорожек" +msgstr "Включить невыделенные вместо выделенных клипов" msgid "View all the strips in the sequencer" -msgstr "Показать все дорожки в видеоредакторе" +msgstr "Показать все клипы в видеоредакторе" msgid "Zoom preview to fit in the area" @@ -57988,7 +58962,7 @@ msgstr "Вид по границам" msgid "Zoom the sequencer on the selected strips" -msgstr "Масштабировать видеоредактор по выделенным дорожкам" +msgstr "Масштабировать видеоредактор по выделенным клипам" msgctxt "Operator" @@ -58524,10 +59498,6 @@ msgid "Select word under cursor" msgstr "Выделить слово под курсором" -msgid "Set cursor selection" -msgstr "Установить выделение по курсору" - - msgctxt "Operator" msgid "Find" msgstr "Найти" @@ -58824,7 +59794,7 @@ msgstr "Скосить выделенные элементы вдоль гори msgid "Axis Ortho" -msgstr "Ортографические оси" +msgstr "Орто-оси" msgctxt "Operator" @@ -59005,11 +59975,11 @@ msgstr "Копировать команду Python, соответствующу msgctxt "Operator" msgid "Copy to Selected" -msgstr "Копировать на выделенное" +msgstr "Копировать на выделение" msgid "Copy to selected all elements of the array" -msgstr "Копировать на выделенное все элементы массива" +msgstr "Копировать на выделение все элементы массива" msgctxt "Operator" @@ -60722,6 +61692,36 @@ msgid "Rotate relative to the current orientation" msgstr "Поворачивать относительно текущей ориентации" +msgctxt "View3D" +msgid "Left" +msgstr "Слева" + + +msgctxt "View3D" +msgid "Right" +msgstr "Справа" + + +msgctxt "View3D" +msgid "Bottom" +msgstr "Снизу" + + +msgctxt "View3D" +msgid "Top" +msgstr "Сверху" + + +msgctxt "View3D" +msgid "Front" +msgstr "Спереди" + + +msgctxt "View3D" +msgid "Back" +msgstr "Сзади" + + msgctxt "Operator" msgid "View Camera" msgstr "Вид из камеры" @@ -61117,11 +62117,11 @@ msgstr "Тип данных для переименования" msgid "Grease Pencils" -msgstr "Grease Pencil" +msgstr "Объекты Grease Pencil" msgid "Sequence Strips" -msgstr "Дорожки видеоредактора" +msgstr "Клипы видеоредактора" msgctxt "Operator" @@ -61197,10 +62197,6 @@ msgid "Rotate all root objects to match the global orientation settings otherwis msgstr "Повернуть все корневые объекты для соответствия настройкам глобальной ориентации, либо установить глобальную ориентацию для каждого ассета Collada" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Применить модификаторы к экспортируемого меша (недеструктивно)" - - msgid "Only export deforming bones with armatures" msgstr "Экспортировать только деформирующие кости со арматурами" @@ -62373,7 +63369,11 @@ msgstr "Сохранить копию текущего рабочего окру msgid "Remap Relative" -msgstr "Переписать относительные пути" +msgstr "Переназначить относительные пути" + + +msgid "Remap relative paths when saving to a different directory" +msgstr "Переназначить относительные пути при сохранении в другую директорию" msgctxt "Operator" @@ -62953,10 +63953,6 @@ msgid "Set the mask layer from the UV map buttons" msgstr "Установить слой маски с помощью кнопок UV-карты" -msgid "Maximum edge length for dynamic topology sculpting (as divisor of blender unit - higher value means smaller edge length)" -msgstr "Максимальная длина ребра для динамической топологии режима скульптинга (как делитель единицы измерения Blender — чем больше это значение, тем меньше размеры рёбер)" - - msgid "Detail Percentage" msgstr "Процент детализации" @@ -63434,6 +64430,11 @@ msgid "Recent" msgstr "Недавнее" +msgctxt "File browser" +msgid "Volumes" +msgstr "Диски" + + msgid "Directory Path" msgstr "Путь к директории" @@ -63936,11 +64937,11 @@ msgstr "Настройки прокси" msgid "Strip Cache" -msgstr "Кэш дорожки" +msgstr "Кэш клипа" msgid "Strip Proxy & Timecode" -msgstr "Прокси и таймкод дорожки" +msgstr "Прокси и таймкод клипа" msgid "Feature Weights" @@ -64213,7 +65214,7 @@ msgstr "Измерение" msgid "Motion Tracking" -msgstr "Трекинг движения" +msgstr "Отслеживание движения" msgid "Texture Paint Context Menu" @@ -64580,7 +65581,7 @@ msgstr "Опции позы" msgid "Transform Orientations" -msgstr "Ориентации осей" +msgstr "Ориентация осей" msgid "View Lock" @@ -67307,14 +68308,6 @@ msgid "Slight" msgstr "Незначительный" -msgid "TimeCode Style" -msgstr "Тип таймкода" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "Формат временных кодов, используемый в случае отсчёта времени не по кадрам" - - msgid "Minimal Info" msgstr "Минимум информации" @@ -69155,10 +70148,6 @@ msgid "Bias" msgstr "Погрешность" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "Отклонение к граням, находящимся в стороне от объектов (в единицах blender)" - - msgid "Number of samples used for ambient occlusion baking from multires" msgstr "Количество сэмплов, используемый для запекания Ambient Occlusion из мультиразрешения" @@ -69312,7 +70301,7 @@ msgstr "Источник метаданных" msgid "Use metadata from the strips in the sequencer" -msgstr "Использовать данные дорожек из видеоредактора" +msgstr "Использовать данные клипов из видеоредактора" msgid "Time taken in frames between shutter open and close" @@ -69600,7 +70589,7 @@ msgstr "Сохранять кэш рендера в файлы EXR (полезн msgid "Process the render (and composited) result through the video sequence editor pipeline, if sequencer strips exist" -msgstr "Обработать рендер (и постобработку) через нелинейный видеоредактор, если в нём есть дорожки" +msgstr "Обработать рендер (и постобработку) через нелинейный видеоредактор, если в нём есть клипы" msgid "Override Scene Settings" @@ -69740,11 +70729,11 @@ msgstr "Добавить название активной сцены в мет msgid "Stamp Sequence Strip" -msgstr "Штамп дорожки видеоредактора" +msgstr "Штамп клипа видеоредактора" msgid "Include the name of the foreground sequence strip in image metadata" -msgstr "Включить имя основной дорожки секвенсора в метаданные изображения" +msgstr "Включить имя основного клипа секвенсора в метаданные изображения" msgid "Stamp Time" @@ -70087,10 +71076,6 @@ msgid "Blender 2.7" msgstr "Blender 2.7" -msgid "Spring implementation used in blender 2.7. Damping is capped at 1.0" -msgstr "Алгоритм упругости, использовавшийся в Blender 2.7x; торможение ограничено до 1.0" - - msgid "Blender 2.8" msgstr "Blender 2.8" @@ -70707,10 +71692,6 @@ msgid "4096 px" msgstr "4096 пикс" -msgid "Number of time the light is reinjected inside light grids, 0 disable indirect diffuse light" -msgstr "Количество отражений света внутри сетки отражённого освещения; 0 отключает отражённое диффузное освещение" - - msgid "Filter Quality" msgstr "Качество фильтра" @@ -71072,7 +72053,7 @@ msgstr "YCbCr (Jpeg)" msgid "Sequence strip in the sequence editor" -msgstr "Дорожка видеоредактора в нелинейном видеоредакторе" +msgstr "Клип последовательности кадров в нелинейном видеоредакторе" msgid "Blend Opacity" @@ -71080,11 +72061,11 @@ msgstr "Непрозрачность смешения" msgid "Percentage of how much the strip's colors affect other strips" -msgstr "Процентная сила цветового влияния дорожки на другие дорожки" +msgstr "Процентная сила цветового влияния клипа на другие клипы" msgid "Method for controlling how the strip combines with other strips" -msgstr "Метод наложения дорожки на остальные дорожки" +msgstr "Метод наложения клипа на остальные клипы" msgid "Over Drop" @@ -71092,7 +72073,7 @@ msgstr "Бросок сверху" msgid "Y position of the sequence strip" -msgstr "Y-положение у дорожки" +msgstr "Y-положение у клипа" msgid "Effect Fader Position" @@ -71104,11 +72085,11 @@ msgstr "Особая величина спада" msgid "The length of the contents of this strip before the handles are applied" -msgstr "Длина содержимого этой дорожки перед применением рукояток" +msgstr "Длина содержимого этого клипа перед применением рукояток" msgid "The length of the contents of this strip after the handles are applied" -msgstr "Длина содержимого этой дорожки после применения рукояток" +msgstr "Длина содержимого этого клипа после применения рукояток" msgid "End frame displayed in the sequence editor after offsets are applied" @@ -71124,19 +72105,19 @@ msgstr "Конечное смещение" msgid "X position where the strip begins" -msgstr "Координата X начала дорожки" +msgstr "Координата X начала клипа" msgid "Lock strip so that it cannot be transformed" -msgstr "Заблокировать дорожку, чтобы её нельзя было случайно подвинуть" +msgstr "Заблокировать клип, чтобы его нельзя было случайно сдвинуть" msgid "Modifiers affecting this strip" -msgstr "Модификаторы, влияющие на эту дорожку" +msgstr "Модификаторы, влияющие на этот клип" msgid "Disable strip so that it cannot be viewed in the output" -msgstr "Отключить дорожку, чтобы её не было видно в выводе" +msgstr "Отключить клип, чтобы его не было видно в выводе" msgid "Override Cache Settings" @@ -71282,7 +72263,7 @@ msgstr "Текст" msgctxt "Sequence" msgid "Color Mix" -msgstr "Микс цветов" +msgstr "Смешение цветов" msgid "Cache Composite" @@ -71290,7 +72271,7 @@ msgstr "Кэшировать обработанные" msgid "Cache intermediate composited images, for faster tweaking of stacked strips at the cost of memory usage" -msgstr "Кэшировать промежуточные изображения после композитинга для более быстрой настройки дорожек, наложенных друг на друга, за счёт использования памяти" +msgstr "Кэшировать промежуточные изображения после композитинга для более быстрой настройки клипов, наложенных друг на друга, за счёт использования памяти" msgid "Cache Raw" @@ -71298,7 +72279,7 @@ msgstr "Кэшировать исходники" msgid "Cache raw images read from disk, for faster tweaking of strip parameters at the cost of memory usage" -msgstr "Кэшировать сырые изображения с диска для более быстрой настройки параметров дорожек за счёт использования памяти" +msgstr "Кэшировать сырые изображения с диска для более быстрой настройки параметров клипов за счёт использования памяти" msgid "Use Default Fade" @@ -71306,11 +72287,11 @@ msgstr "Затухание по умолчанию" msgid "Fade effect using the built-in default (usually make transition as long as effect strip)" -msgstr "Эффект затемнения по умолчанию (обычно это продление перехода до конца дорожки эффекта)" +msgstr "Эффект затемнения по умолчанию (обычно это продление перехода до конца клипа эффекта)" msgid "Use Linear Modifiers" -msgstr "Использовать линейные модификаторы" +msgstr "Линейные модификаторы" msgid "Calculate modifiers in linear space instead of sequencer's space" @@ -71322,7 +72303,7 @@ msgstr "Последовательность эффекта" msgid "Sequence strip applying an effect on the images created by other strips" -msgstr "Дорожка видеоредактора, применяющая эффект на изображения, создаваемые другими дорожками" +msgstr "Клип видеоредактора, применяющий эффект на изображения, создаваемые другими клипами" msgid "Representation of alpha information in the RGBA pixels" @@ -71390,7 +72371,7 @@ msgstr "Вход 1" msgid "First input for the effect strip" -msgstr "Первый вход для дорожки эффектов" +msgstr "Первый вход для клипа эффектов" msgid "Input 2" @@ -71398,7 +72379,7 @@ msgstr "Вход 2" msgid "Second input for the effect strip" -msgstr "Второй вход для дорожки эффектов" +msgstr "Второй вход для клипа эффектов" msgid "Adjustment Layer Sequence" @@ -71406,7 +72387,7 @@ msgstr "Последовательность корректирующего сл msgid "Sequence strip to perform filter adjustments to layers below" -msgstr "Дорожка видеоредактора, использующая корректирующие фильтры для слоёв ниже" +msgstr "Клип видеоредактора, использующий корректирующие фильтры для слоёв ниже" msgid "Animation End Offset" @@ -71434,7 +72415,7 @@ msgstr "Последовательность «Альфа снизу»" msgid "Color Mix Sequence" -msgstr "Последовательность миксов цветов" +msgstr "Последовательность смешивания цветов" msgid "Color Sequence" @@ -71442,7 +72423,7 @@ msgstr "Последовательность цвета" msgid "Sequence strip creating an image filled with a single color" -msgstr "Дорожка видеоредактора, создающая изображение, заполненное одним цветом" +msgstr "Клип видеоредактора, создающий изображение, заполненное одним цветом" msgid "Effect Strip color" @@ -71462,7 +72443,7 @@ msgstr "Последовательность Гауссова размытия" msgid "Sequence strip creating a gaussian blur" -msgstr "Дорожка видеоредактора, создающая Гауссово размытие" +msgstr "Клип видеоредактора, создающий Гауссово размытие" msgid "Size of the blur along X axis" @@ -71478,7 +72459,7 @@ msgstr "Последовательность свечения" msgid "Sequence strip creating a glow effect" -msgstr "Дорожка видеоредактора, создающая эффект свечения" +msgstr "Клип видеоредактора, создающий эффект свечения" msgid "Blur Distance" @@ -71522,7 +72503,7 @@ msgstr "Последовательность выбора мультикамер msgid "Sequence strip to perform multicam editing" -msgstr "Дорожка видеоредактора, выполняющая редактирование мультикамеры" +msgstr "Клип видеоредактора, выполняющий редактирование мультикамеры" msgid "Multicam Source Channel" @@ -71542,7 +72523,7 @@ msgstr "Последовательность управления скорост msgid "Sequence strip to control the speed of other strips" -msgstr "Дорожка видеоредактора, управляющая скоростью других дорожек" +msgstr "Клип видеоредактора, управляющий скоростью других клипов" msgid "Multiply the current speed of the sequence with this number or remap current frame to this frame" @@ -71558,7 +72539,7 @@ msgstr "Текстовая последовательность" msgid "Sequence strip creating text" -msgstr "Дорожка видеоредактора, для создания текста" +msgstr "Клип видеоредактора для создания текста" msgid "Align the text along the X axis, relative to the text bounds" @@ -71602,7 +72583,7 @@ msgstr "Последовательность преобразования" msgid "Sequence strip applying affine transformations to other strips" -msgstr "Дорожка видеоредактора, применяющая аффинные преобразования к другим дорожкам" +msgstr "Клип видеоредактора, применяющий аффинные преобразования к другим клипам" msgid "Method to determine how missing pixels are created" @@ -71662,7 +72643,7 @@ msgstr "Затирающая последовательность" msgid "Sequence strip creating a wipe transition" -msgstr "Дорожка видеоредактора, создающая эффект затирания" +msgstr "Клип видеоредактора, создающий эффект затирания" msgid "Edge angle" @@ -71707,7 +72688,7 @@ msgstr "Часы" msgid "Sequence strip to load one or more images" -msgstr "Дорожка видеоредактора, загружающая одно или более изображений" +msgstr "Клип видеоредактора, загружающий одно или несколько изображений" msgid "Mask Sequence" @@ -71715,7 +72696,7 @@ msgstr "Последовательность маски" msgid "Sequence strip to load a video from a mask" -msgstr "Дорожка видеоредактора, загружающая видео из маски" +msgstr "Клип видеоредактора, загружающий видео из маски" msgid "Mask that this sequence uses" @@ -71727,7 +72708,7 @@ msgstr "Метапоследовательность" msgid "Sequence strip to group other strips as a single sequence strip" -msgstr "Дорожка видеоредактора, группирующая другие дорожки в одну дорожку видеоредактора " +msgstr "Клип видеоредактора, группирующий другие клипы в один клип видеоредактора" msgid "Sequences" @@ -71739,7 +72720,7 @@ msgstr "Последовательность видеофрагмента" msgid "Sequence strip to load a video from the clip editor" -msgstr "Дорожка видеоредактора, загружающая видео из редактора видеоклипов" +msgstr "Клип видеоредактора, загружающий видео из редактора видеоклипов" msgid "Frames per second" @@ -71767,7 +72748,7 @@ msgstr "Последовательность фильма" msgid "Sequence strip to load a video" -msgstr "Дорожка видеоредактора, загружающая видео" +msgstr "Клип видеоредактора, загружающий видео" msgid "Stream Index" @@ -71786,10 +72767,6 @@ msgid "Scene Sequence" msgstr "Последовательность сцены" -msgid "Sequence strip to used the rendered image of a scene" -msgstr "Дорожка видеоредактора, использующая рендер сцены" - - msgid "Scene that this sequence uses" msgstr "Сцена, используемая последовательностью" @@ -71798,12 +72775,8 @@ msgid "Camera Override" msgstr "Переопределить камеру" -msgid "Override the scenes active camera" -msgstr "Переопределить активную камеру сцены" - - msgid "Input type to use for the Scene strip" -msgstr "Тип входа, используемый для дорожки сцены" +msgstr "Тип входа, используемый для клипа сцены" msgid "Use the Scene's 3D camera as input" @@ -71819,7 +72792,7 @@ msgstr "Аудио последовательность" msgid "Sequence strip defining a sound to be played over a period of time" -msgstr "Дорожка видеоредактора, определяющая звук, воспроизводимый на заданном временном интервале" +msgstr "Клип видеоредактора, определяющий звук, воспроизводимый на заданном временном интервале" msgid "Playback panning of the sound (only for Mono sources)" @@ -71831,7 +72804,7 @@ msgstr "Показывать форму волны" msgid "Display the audio waveform inside the strip" -msgstr "Показывать форму волны аудиосигнала внутри дорожки" +msgstr "Показывать форму волны аудиосигнала внутри клипа" msgid "Sound data-block used by this sequence" @@ -71883,7 +72856,7 @@ msgstr "Цветовой баланс последовательности" msgid "Color balance parameters for a sequence strip" -msgstr "Параметры цветового баланса для дорожки видеоредактора" +msgstr "Параметры цветового баланса для клипа видеоредактора" msgid "Sequence Crop" @@ -71891,7 +72864,7 @@ msgstr "Обрезка последовательности" msgid "Cropping parameters for a sequence strip" -msgstr "Параметры обрезки для дорожки последовательности" +msgstr "Параметры обрезки для клипа последовательности" msgid "Number of pixels to crop from the right side" @@ -71915,11 +72888,11 @@ msgstr "Данные видеоредактора для датаблока сц msgid "Active Strip" -msgstr "Активная дорожка" +msgstr "Активный клип" msgid "Sequencer's active strip" -msgstr "Активная дорожка видеоредактора" +msgstr "Активный клип видеоредактора" msgid "Meta Stack" @@ -71927,7 +72900,7 @@ msgstr "Мета-стек" msgid "Meta strip stack, last is currently edited meta strip" -msgstr "Мета-стек дорожек, последний элемент которого редактируется в данный момент" +msgstr "Мета-стек клипов, последний элемент которого редактируется в данный момент" msgid "Overlay Offset" @@ -71947,7 +72920,7 @@ msgstr "Способ хранение прокси-файлов для этог msgid "Store proxies using per strip settings" -msgstr "Хранить прокси-файлы, используя настройки отдельных дорожек" +msgstr "Хранить прокси-файлы, используя настройки отдельных клипов" msgid "Store proxies using project directory" @@ -71955,7 +72928,7 @@ msgstr "Хранить прокси в папке проекта" msgid "Top-level strips only" -msgstr "Только дорожки верхнего уровня" +msgstr "Только клипы верхнего уровня" msgid "All Sequences" @@ -71963,7 +72936,7 @@ msgstr "Все последовательности" msgid "All strips, recursively including those inside metastrips" -msgstr "Все дорожки, включая многократно вложенные в метадорожки" +msgstr "Все клипы, включая многократно вложенные в метаклипы" msgid "Show Cache" @@ -72031,7 +73004,7 @@ msgstr "Элемент последовательности" msgid "Sequence strip data for a single frame" -msgstr "Данные дорожки последовательности для одного кадра" +msgstr "Данные клипа последовательности для одного кадра" msgid "Name of the source file" @@ -72059,7 +73032,7 @@ msgstr "Коллекция элементов видеоредактора" msgid "Modifier for sequence strip" -msgstr "Модификатор дорожки видеоредактора" +msgstr "Модификатор клипа видеоредактора" msgid "Mask ID used as mask input for the modifier" @@ -72067,11 +73040,11 @@ msgstr "Идентификатор маски, используемый для msgid "Mask Strip" -msgstr "Дорожка маски" +msgstr "Клип маски" msgid "Strip used as mask input for the modifier" -msgstr "Дорожка, используемая в качестве маски для этого модификатора" +msgstr "Клип, используемый в качестве маски для этого модификатора" msgid "Mask Input Type" @@ -72083,7 +73056,7 @@ msgstr "Тип входных данных, используемых для ма msgid "Use sequencer strip as mask input" -msgstr "Использовать дорожку видеоредактора в качестве маски" +msgstr "Использовать клип последовательности в качестве маски" msgid "Use mask ID as mask input" @@ -72099,7 +73072,7 @@ msgstr "Время, использующееся в анимации маски" msgid "Mask animation is offset to start of strip" -msgstr "Начало анимации рассчитывается относительно начала дорожки" +msgstr "Рассчитывать начало анимации относительно начала клипа" msgid "Mask animation is in sync with scene frame" @@ -72115,7 +73088,7 @@ msgstr "Свернуть/развернуть настройки для этог msgid "Bright/contrast modifier data for sequence strip" -msgstr "Данные модификатора яркости/контраста для дорожки видеоредактора" +msgstr "Данные модификатора яркости/контраста для клипа последовательности" msgid "Bright" @@ -72131,7 +73104,7 @@ msgstr "Настроить разницу в яркости между пикс msgid "Color balance modifier for sequence strip" -msgstr "Модификатор цветового баланса для дорожки видеоредактора" +msgstr "Модификатор цветового баланса для клипа последовательности" msgid "Multiply the intensity of each pixel" @@ -72139,7 +73112,7 @@ msgstr "Умножить интенсивность каждого пиксел msgid "RGB curves modifier for sequence strip" -msgstr "Модификатор RGB-кривых для дорожки видеоредактора" +msgstr "Модификатор RGB-кривых для клипа последовательности" msgid "Curve Mapping" @@ -72147,7 +73120,7 @@ msgstr "Отображение кривой" msgid "Hue correction modifier for sequence strip" -msgstr "Модификатор изменения оттенка для дорожки видеоредактора" +msgstr "Модификатор изменения оттенка для клипа последовательности" msgid "Tone mapping modifier" @@ -72159,7 +73132,7 @@ msgstr "Алгоритм тонального отображения" msgid "White balance modifier for sequence strip" -msgstr "Модификатор баланса белого для дорожки видеоредактора" +msgstr "Модификатор баланса белого для клипа последовательности" msgid "White Value" @@ -72167,15 +73140,15 @@ msgstr "Белая точка" msgid "This color defines white in the strip" -msgstr "Этот цвет задаёт белый тон в дорожке" +msgstr "Этот цвет задаёт белый тон в клипе" msgid "Strip Modifiers" -msgstr "Модификаторы дорожки" +msgstr "Модификаторы клипа" msgid "Collection of strip modifiers" -msgstr "Коллекция модификаторов дорожек" +msgstr "Коллекция модификаторов клипа" msgid "Sequence Proxy" @@ -72183,7 +73156,7 @@ msgstr "Прокси последовательности" msgid "Proxy parameters for a sequence strip" -msgstr "Параметры прокси для дорожки видеоредактора" +msgstr "Параметры прокси для клип последовательности" msgid "Build 100% proxy resolution" @@ -72238,12 +73211,16 @@ msgid "Use a custom file to read proxy data from" msgstr "Использовать особый файл для чтения данных прокси" +msgid "Mute channel" +msgstr "Выключить канал" + + msgid "Sequence Transform" msgstr "Преобразование последовательности" msgid "Transform parameters for a sequence strip" -msgstr "Параметры трансформации для дорожки видеоредактора" +msgstr "Параметры трансформации для клипа последовательности" msgid "Show Annotation" @@ -72259,7 +73236,7 @@ msgstr "Показать метаданные" msgid "Show metadata of first visible strip" -msgstr "Показать данные первой видимой дорожки" +msgstr "Показать данные первого видимого клипа" msgid "Show TV title safe and action safe areas in preview" @@ -72275,7 +73252,7 @@ msgstr "Показывать смещения" msgid "Display strip in/out offsets" -msgstr "Показывать смещения начала/конца дорожки" +msgstr "Показывать смещения начала/конца клипа" msgid "Waveforms Off" @@ -72287,7 +73264,11 @@ msgstr "Включить формы волн" msgid "Use Strip Option" -msgstr "Использовать настройки дорожек" +msgstr "Использовать настройки клипа" + + +msgid "Shuffle" +msgstr "Перемешать" msgid "Bounding Box Center" @@ -72956,7 +73937,7 @@ msgstr "Показывать заметки, которые принадлежа msgctxt "MovieClip" msgid "Track" -msgstr "Трек" +msgstr "Слежка" msgid "Show annotation data-block which belongs to active track" @@ -73875,7 +74856,7 @@ msgstr "Показать локальные маркеры" msgid "Show action-local markers on the strips, useful when synchronizing timing across strips" -msgstr "Показать локальные маркеры на дорожках, полезно для синхронизации дорожек по времени" +msgstr "Показать локальные маркеры на клипах, полезно для синхронизации клипов по времени" msgid "Show Control F-Curves" @@ -73883,11 +74864,11 @@ msgstr "Показать F-кривые управления" msgid "Show influence F-Curves on strips" -msgstr "Показать F-кривые влияния на дорожки" +msgstr "Показать F-кривые влияния на клипы" msgid "When transforming strips, changes to the animation data are flushed to other views" -msgstr "Сбрасывать изменения данных анимации в других видах при изменении дорожек" +msgstr "Сбрасывать изменения данных анимации в других видах при изменении клипов" msgid "Space Node Editor" @@ -74062,6 +75043,11 @@ msgid "Display data-blocks which are unused and/or will be lost when the file is msgstr "Показать датаблоки, которые не используются и/или будут потеряны при переоткрытии файла" +msgctxt "ID" +msgid "Filter by Type" +msgstr "Фильтровать по типу" + + msgid "Data-block type to show" msgstr "Отображаемый тип датаблока" @@ -74094,6 +75080,10 @@ msgid "Live search filtering string" msgstr "Строка фильтрации" +msgid "Show Mode Column" +msgstr "Показать колонку режима" + + msgid "Indirect only" msgstr "Только отражения" @@ -74187,7 +75177,7 @@ msgstr "Показывать меши" msgid "Show mesh objects" -msgstr "Показывать меш-объекты" +msgstr "Показывать объекты мешей" msgid "Show Other Objects" @@ -74198,6 +75188,10 @@ msgid "Show curves, lattices, light probes, fonts, ..." msgstr "Показывать кривые, решётки, зонды освещения, шрифты, …" +msgid "Show All View Layers" +msgstr "Показать все видовые слои" + + msgid "Sort Alphabetically" msgstr "Сортировать по алфавиту" @@ -74298,14 +75292,29 @@ msgid "Texture Properties" msgstr "Настройки текстур" +msgctxt "ID" +msgid "Particles" +msgstr "Частицы" + + msgid "Particle Properties" msgstr "Настройки частиц" +msgctxt "ID" +msgid "Physics" +msgstr "Физика" + + msgid "Physics Properties" msgstr "Настройки физики" +msgctxt "ID" +msgid "Effects" +msgstr "Эффекты" + + msgid "Visual Effects Properties" msgstr "Настройки визуальных эффектов" @@ -74331,7 +75340,7 @@ msgstr "Отобразить канал" msgid "The channel number shown in the image preview. 0 is the result of all strips combined" -msgstr "Номер канала, отображаемого на предпросмотре изображения. Для отображения всех дорожек выберите 0" +msgstr "Номер канала, отображаемого на предпросмотре изображения. Для отображения всех клипов выберите 0" msgid "View mode to use for displaying sequencer output" @@ -74383,7 +75392,7 @@ msgstr "Использовать подложку" msgid "Display result under strips" -msgstr "Отображать результат под дорожками" +msgstr "Отображать результат под клипами" msgid "Display Frames" @@ -74431,7 +75440,7 @@ msgstr "Разделение цветовых каналов на предпро msgid "Transform markers as well as strips" -msgstr "Трансформировать маркеры вместе с дорожками" +msgstr "Трансформировать маркеры вместе с клипами" msgid "View Type" @@ -74442,6 +75451,14 @@ msgid "Type of the Sequencer view (sequencer, preview or both)" msgstr "Тип вида видеоредактора (видеоредактор, предпросмотр или оба типа вместе)" +msgid "Sequencer & Preview" +msgstr "Видеоредактор и предпросмотр" + + +msgid "Viewer Node" +msgstr "Нода предпросмотра" + + msgid "Space Text Editor" msgstr "Пространство редактора текста" @@ -74642,10 +75659,6 @@ msgid "3D Region" msgstr "3D-регион" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "3D-регион в этом пространстве при просмотре с 4-х видов региона камеры" - - msgid "Quad View Regions" msgstr "Регионы просмотра с 4-х видов" @@ -74834,6 +75847,11 @@ msgid "UV editor data for the image editor space" msgstr "Данные UV-редактора для пространства редактора изображений" +msgctxt "Mesh" +msgid "Angle" +msgstr "Угол" + + msgid "Angular distortion between UV and 3D angles" msgstr "Угловое искажение между углами UV и 3D" @@ -75102,6 +76120,21 @@ msgid "Lights user to display objects in solid draw mode" msgstr "Источники света для отображения объектов в режиме сплошного затенения" +msgctxt "Light" +msgid "Studio" +msgstr "Студийный" + + +msgctxt "Light" +msgid "World" +msgstr "Мир" + + +msgctxt "Light" +msgid "MatCap" +msgstr "MatCap" + + msgid "Collection of studio lights" msgstr "Коллекция вариантов студийного освещения" @@ -75687,11 +76720,11 @@ msgstr "Настройки списка пространств" msgid "Strips" -msgstr "Дорожки" +msgstr "Клипы" msgid "Strips Selected" -msgstr "Выделенные дорожки" +msgstr "Выделенные клипы" msgid "Scrubbing/Markers Region" @@ -76075,11 +77108,11 @@ msgstr "Канал нелинейной анимации" msgid "Meta Strips" -msgstr "Метадорожки" +msgstr "Метаклипы" msgid "Meta Strips Selected" -msgstr "Выделенные метадорожки" +msgstr "Выделенные метаклипы" msgid "Nonlinear Animation Track" @@ -76087,11 +77120,11 @@ msgstr "Треки нелинейной анимации" msgid "Sound Strips" -msgstr "Аудиодорожки" +msgstr "Аудиоклипы" msgid "Sound Strips Selected" -msgstr "Выделенные аудиодорожки" +msgstr "Выделенные аудиоклипы" msgid "Transitions" @@ -76107,7 +77140,7 @@ msgstr "Индикатор дублирования в подстройке" msgid "Warning/error indicator color for strips referencing the strip being tweaked" -msgstr "Цвет индикатора предупруждения/ошибки для дорожек, ссылающихся на настраиваемую дорожку" +msgstr "Цвет индикатора предупруждения/ошибки для клипов, ссылающихся на настраиваемый клип" msgid "Theme Node Editor" @@ -76259,7 +77292,7 @@ msgstr "Настройки темы редактора последовател msgid "Audio Strip" -msgstr "Аудиодорожка" +msgstr "Аудиоклип" msgid "Draw Action" @@ -76267,15 +77300,15 @@ msgstr "Действие рисования" msgid "Image Strip" -msgstr "Дорожка изображений" +msgstr "Клип с изображением" msgid "Meta Strip" -msgstr "Метадорожка" +msgstr "Метаклип" msgid "Clip Strip" -msgstr "Дорожка видеоклипа" +msgstr "Клип с видео" msgid "Preview Background" @@ -76283,11 +77316,11 @@ msgstr "Фон предпросмотра" msgid "Scene Strip" -msgstr "Дорожка сцены" +msgstr "Клип сцены" msgid "Text Strip" -msgstr "Дорожка текста" +msgstr "Клип с текстом" msgid "Theme Space Settings" @@ -76638,6 +77671,11 @@ msgid "Edge Bevel" msgstr "Фаска на ребре" +msgctxt "WindowManager" +msgid "Edge Crease" +msgstr "Складка на ребре" + + msgid "Edge UV Face Select" msgstr "Рёбра выделенной UV-грани" @@ -77103,6 +78141,10 @@ msgid "Cycle-Aware Keying" msgstr "Установка ключей внутри цикла" +msgid "For channels with cyclic extrapolation, keyframe insertion is automatically remapped inside the cycle time range, and keeps ends in sync. Curves newly added to actions with a Manual Frame Range and Cyclic Animation are automatically made cyclic" +msgstr "Для каналов с циклической экстраполяцией вставка ключевых кадров автоматически переназначается внутри диапазона времени цикла и синхронизирует концы. Кривые, добавленные в действия с ручным диапазоном кадров и циклической анимацией, автоматически становятся циклическими" + + msgid "Auto Keying" msgstr "Автосоздание ключей" @@ -77192,7 +78234,7 @@ msgstr "Со слоями" msgid "Add a new NLA Track + Strip for every loop/pass made over the animation to allow non-destructive tweaking" -msgstr "Добавить новый трек и дорожку НЛА для каждого цикла/прохода анимации для обеспечения недеструктивной настройки" +msgstr "Добавить новую дорожку и клип НЛА для каждого цикла/прохода анимации для обеспечения недеструктивной настройки" msgid "Snap during transform" @@ -77371,6 +78413,21 @@ msgid "Weight to assign in vertex groups" msgstr "Вес, назначаемый для группы вершин" +msgctxt "View3D" +msgid "Drag" +msgstr "Перетаскивание" + + +msgctxt "View3D" +msgid "Active Tool" +msgstr "Активный инструмент" + + +msgctxt "View3D" +msgid "Select" +msgstr "Выделение" + + msgid "Name of the custom transform orientation" msgstr "Имя особой ориентации осей" @@ -77531,10 +78588,6 @@ msgid "Unit Scale" msgstr "Масштаб единиц" -msgid "Scale to use when converting between blender units and dimensions. When working at microscopic or astronomical scale, a small or large unit scale respectively can be used to avoid numerical precision problems" -msgstr "Масштаб, используемый при преобразовании единиц измерения в Blender. При работе в микроскопическом или астрономическом масштабе можно использовать малые или большие единицы измерения соответственно, чтобы избежать проблем с числовой точностью" - - msgid "Unit System" msgstr "Система единиц" @@ -77992,7 +79045,7 @@ msgstr "Показывать редактируемые линии" msgid "Fade Grease Pencil Objects" -msgstr "Приглушить объекты Grease Pencil " +msgstr "Приглушить объекты Grease Pencil" msgid "Fade Grease Pencil Objects, except the active one" @@ -78071,14 +79124,34 @@ msgid "Color for custom background color" msgstr "Цвет настраиваемого фонового цвета" +msgctxt "View3D" +msgid "Background" +msgstr "Фон" + + +msgctxt "View3D" +msgid "Theme" +msgstr "Тема" + + msgid "Use the theme for background color" msgstr "Использовать фоновый цвет темы" +msgctxt "View3D" +msgid "World" +msgstr "Мир" + + msgid "Use the world for background color" msgstr "Использовать фоновый цвет мира" +msgctxt "View3D" +msgid "Viewport" +msgstr "Вьюпорт" + + msgid "Use a custom color limited to this viewport only" msgstr "Использовать цвет только для этого вьюпорта" @@ -78095,10 +79168,20 @@ msgid "Cavity shading computed in world space, useful for larger-scale occlusion msgstr "Вычислять эффект выделения впадин и граней в пространстве мира; подходит для неровностей большого масштаба" +msgctxt "View3D" +msgid "Screen" +msgstr "Экран" + + msgid "Curvature-based shading, useful for making fine details more visible" msgstr "Затенять на основе искривлений поверхностей; подходит для подчёркивания мелких деталей" +msgctxt "View3D" +msgid "Both" +msgstr "Оба" + + msgid "Use both effects simultaneously" msgstr "Использовать одновременно оба эффекта" @@ -78371,6 +79454,41 @@ msgid "Render cryptomatte object pass, for isolating objects in compositing" msgstr "Рендерить проход объектов Сryptomatte, изолирующий объекты в постобработке" +msgctxt "Volume" +msgid "Data Type" +msgstr "Тип данных" + + +msgctxt "Volume" +msgid "Boolean" +msgstr "Булевый" + + +msgctxt "Volume" +msgid "Float" +msgstr "С плавающей точкой" + + +msgctxt "Volume" +msgid "Double" +msgstr "Двойной точности" + + +msgctxt "Volume" +msgid "Integer" +msgstr "Целочисленный" + + +msgctxt "Volume" +msgid "Mask" +msgstr "Маска" + + +msgctxt "Volume" +msgid "Unknown" +msgstr "Неизвестный" + + msgid "Volume grid name" msgstr "Имя сетки у объёма" @@ -78447,6 +79565,27 @@ msgid "Multiplication factor when using the fast or slow modifiers" msgstr "Коэффициент умножения при использовании быстрых или медленных модификаторов" +msgid "Active workspace and scene follow this window" +msgstr "Активное рабочее пространство и сцена, привязанные к этому окну" + + +msgctxt "Screen" +msgid "Screen" +msgstr "Экран" + + +msgid "Active workspace screen showing in the window" +msgstr "Активный экран рабочего пространства для этого окна" + + +msgid "The active workspace view layer showing in the window" +msgstr "Активный слой рабочего пространства для этого окна" + + +msgid "Active workspace showing in the window" +msgstr "Активное рабочее пространство для этого окна" + + msgid "Work Space Tool" msgstr "Инструмент рабочего стола" @@ -78677,6 +79816,11 @@ msgid "Font:" msgstr "Шрифт:" +msgctxt "Operator" +msgid "Geometry:" +msgstr "Геометрия:" + + msgctxt "Operator" msgid "Gizmogroup:" msgstr "Группа манипуляторов:" @@ -79055,6 +80199,11 @@ msgid "Curve" msgstr "Кривая" +msgctxt "WindowManager" +msgid "Curves" +msgstr "Кривые" + + msgctxt "WindowManager" msgid "Armature" msgstr "Арматура" @@ -79100,6 +80249,11 @@ msgid "Sculpt" msgstr "Скульптинг" +msgctxt "WindowManager" +msgid "Sculpt Curves" +msgstr "Кривые скульптинга" + + msgctxt "WindowManager" msgid "Particle" msgstr "Частица" @@ -79110,11 +80264,51 @@ msgid "Knife Tool Modal Map" msgstr "Модальная карта инструмента разрезания" +msgctxt "WindowManager" +msgid "Cancel" +msgstr "Отмена" + + +msgctxt "WindowManager" +msgid "Confirm" +msgstr "Подтвердить" + + +msgctxt "WindowManager" +msgid "Undo" +msgstr "Отменить" + + msgctxt "WindowManager" msgid "Custom Normals Modal Map" msgstr "Модальная карта настраиваемых нормалей" +msgctxt "WindowManager" +msgid "Reset" +msgstr "Сбросить" + + +msgctxt "WindowManager" +msgid "Invert" +msgstr "Инвертировать" + + +msgctxt "WindowManager" +msgid "Spherize" +msgstr "К сфере" + + +msgctxt "WindowManager" +msgid "Align" +msgstr "Выровнять" + + +msgctxt "WindowManager" +msgid "Use Object" +msgstr "Использовать объект" + + msgctxt "WindowManager" msgid "Bevel Modal Map" msgstr "Модальная карта фаски" @@ -79140,11 +80334,66 @@ msgid "View3D Walk Modal" msgstr "Модельная ходьба в 3D-виде" +msgctxt "WindowManager" +msgid "Forward" +msgstr "Вперёд" + + +msgctxt "WindowManager" +msgid "Left" +msgstr "Слева" + + +msgctxt "WindowManager" +msgid "Right" +msgstr "Справа" + + +msgctxt "WindowManager" +msgid "Up" +msgstr "Сверху" + + +msgctxt "WindowManager" +msgid "Down" +msgstr "Снизу" + + +msgctxt "WindowManager" +msgid "Fast" +msgstr "Быстро" + + +msgctxt "WindowManager" +msgid "Slow" +msgstr "Медленно" + + +msgctxt "WindowManager" +msgid "Jump" +msgstr "Перепрыгнуть" + + msgctxt "WindowManager" msgid "View3D Fly Modal" msgstr "Модальный облёт в 3D-виде" +msgctxt "WindowManager" +msgid "Pan" +msgstr "Панорамировать" + + +msgctxt "WindowManager" +msgid "Precision" +msgstr "Точность" + + +msgctxt "WindowManager" +msgid "Rotation" +msgstr "Повернуть" + + msgctxt "WindowManager" msgid "View3D Rotate Modal" msgstr "Модальное вращение в 3D-виде" @@ -79415,16 +80664,66 @@ msgid "View3D Gesture Circle" msgstr "Круговой жест в 3D-виде" +msgctxt "WindowManager" +msgid "Add" +msgstr "Добавить" + + +msgctxt "WindowManager" +msgid "Subtract" +msgstr "Вычесть" + + +msgctxt "WindowManager" +msgid "Size" +msgstr "Размер" + + +msgctxt "WindowManager" +msgid "Select" +msgstr "Выделить" + + +msgctxt "WindowManager" +msgid "Deselect" +msgstr "Снять выделение" + + msgctxt "WindowManager" msgid "Gesture Straight Line" msgstr "Жест прямой линии" +msgctxt "WindowManager" +msgid "Move" +msgstr "Переместить" + + +msgctxt "WindowManager" +msgid "Snap" +msgstr "Привязать" + + +msgctxt "WindowManager" +msgid "Flip" +msgstr "Отразить" + + msgctxt "WindowManager" msgid "Gesture Zoom Border" msgstr "Жест граничного масштабирования" +msgctxt "WindowManager" +msgid "In" +msgstr "Вход" + + +msgctxt "WindowManager" +msgid "Out" +msgstr "Выход" + + msgctxt "WindowManager" msgid "Gesture Box" msgstr "Жест квадрата" @@ -79435,11 +80734,66 @@ msgid "Standard Modal Map" msgstr "Стандартная модальная карта" +msgctxt "WindowManager" +msgid "Apply" +msgstr "Применить" + + msgctxt "WindowManager" msgid "Transform Modal Map" msgstr "Модальная карта трансформации" +msgctxt "WindowManager" +msgid "X Axis" +msgstr "Ось X" + + +msgctxt "WindowManager" +msgid "Y Axis" +msgstr "Ось Y" + + +msgctxt "WindowManager" +msgid "Z Axis" +msgstr "Ось Z" + + +msgctxt "WindowManager" +msgid "X Plane" +msgstr "Плоскость X" + + +msgctxt "WindowManager" +msgid "Y Plane" +msgstr "Плоскость Y" + + +msgctxt "WindowManager" +msgid "Z Plane" +msgstr "Плоскость Z" + + +msgctxt "WindowManager" +msgid "Clear Constraints" +msgstr "Очистить ограничители" + + +msgctxt "WindowManager" +msgid "Rotate" +msgstr "Повернуть" + + +msgctxt "WindowManager" +msgid "Resize" +msgstr "Масштабировать" + + +msgctxt "WindowManager" +msgid "Rotate Normals" +msgstr "Повернуть нормали" + + msgctxt "WindowManager" msgid "Eyedropper Modal Map" msgstr "Модальная карта пипетки" @@ -79962,6 +81316,10 @@ msgid "3D View" msgstr "3D-вид" +msgid "Torus" +msgstr "Тор" + + msgid "Active object is not a mesh" msgstr "Активный объект не является мешем" @@ -80134,6 +81492,11 @@ msgid "Order" msgstr "Порядок" +msgctxt "Constraint" +msgid "Mix" +msgstr "Смешать" + + msgid "Volume Min" msgstr "Мин. объём" @@ -81865,7 +83228,7 @@ msgstr "Рекурсия" msgid "Sort By" -msgstr "Сортировать по" +msgstr "Сортировка" msgid "Folders" @@ -81902,7 +83265,7 @@ msgstr ".blend-файлы" msgid "Backup .blend Files" -msgstr "Файлы резервных копий .blend" +msgstr "Резервные копии .blend" msgid "Image Files" @@ -81914,7 +83277,7 @@ msgstr "Видеофайлы" msgid "Script Files" -msgstr "Файлы скриптов" +msgstr "Скрипты" msgid "Font Files" @@ -82236,7 +83599,7 @@ msgstr "Связанные дубликаты" msgctxt "Operator" msgid "Stop Tweaking Strip Actions" -msgstr "Остановить настройку действий дорожки" +msgstr "Остановить настройку действий клипа" msgctxt "Operator" @@ -82273,6 +83636,14 @@ msgid "Fit" msgstr "Вписать" +msgid "Node Editor Overlays" +msgstr "Оверлеи нодового редактора" + + +msgid "Wire Colors" +msgstr "Цвета сетки" + + msgctxt "Operator" msgid "Search..." msgstr "Поиск…" @@ -82386,6 +83757,10 @@ msgid "Paste Data-Blocks" msgstr "Вставить датаблоки" +msgid "All View Layers" +msgstr "Все видовые слои" + + msgid "Object Contents" msgstr "Содержимое объектов" @@ -82418,6 +83793,10 @@ msgid "Make" msgstr "Сделать" +msgid "Restriction Toggles" +msgstr "Переключатели ограничителей" + + msgid "Sync Selection" msgstr "Синхронизировать выделение" @@ -82461,6 +83840,11 @@ msgid "Sequence Render Animation" msgstr "Рендер анимации из видеоредактора" +msgctxt "Operator" +msgid "Toggle Sequencer/Preview" +msgstr "Переключить видеоредактор и предпросмотр" + + msgctxt "Operator" msgid "Grouped" msgstr "По характеристике" @@ -82473,22 +83857,22 @@ msgstr "Директории/файлы" msgctxt "Operator" msgid "Jump to Previous Strip" -msgstr "Перейти к предыдущей дорожке" +msgstr "Перейти к предыдущему клипу" msgctxt "Operator" msgid "Jump to Next Strip" -msgstr "Перейти к следующей дорожке" +msgstr "Перейти к следующему клипу" msgctxt "Operator" msgid "Jump to Previous Strip (Center)" -msgstr "Перейти к предыдущей дорожке (центр)" +msgstr "Перейти к предыдущему клипу (центр)" msgctxt "Operator" msgid "Jump to Next Strip (Center)" -msgstr "Перейти к следующей дорожке (центр)" +msgstr "Перейти к следующему клипу (центр)" msgctxt "Operator" @@ -82532,7 +83916,7 @@ msgstr "Обменять данные" msgctxt "Operator" msgid "Slip Strip Contents" -msgstr "Сместить содержимое дорожки" +msgstr "Сместить содержимое клип" msgid "Position X" @@ -82558,7 +83942,7 @@ msgstr "Смещение:" msgctxt "Operator" msgid "Set Preview Range to Strips" -msgstr "Установить диапазон предпросмотра согласно дорожкам" +msgstr "Установить диапазон предпросмотра согласно клипам" msgid "Preview as Backdrop" @@ -82676,7 +84060,7 @@ msgstr "Альфа снизу" msgctxt "Operator" msgid "Color Mix" -msgstr "Микс цветов" +msgstr "Смешение цветов" msgctxt "Operator" @@ -82701,17 +84085,17 @@ msgstr "Гауссово размытие" msgctxt "Operator" msgid "Reload Strips and Adjust Length" -msgstr "Перезагрузить дорожки и отрегулировать длину" +msgstr "Перезагрузить клипы и отрегулировать длину" msgctxt "Operator" msgid "Mute Unselected Strips" -msgstr "Выключить невыделенные дорожки" +msgstr "Выключить невыделенные клипы" msgctxt "Operator" msgid "Unmute Deselected Strips" -msgstr "Включить невыделенные дорожки" +msgstr "Включить невыделенные клипы" msgctxt "Operator" @@ -82720,7 +84104,7 @@ msgstr "Повернуть" msgid "Strip Offset Start" -msgstr "Начальное смещение дорожки" +msgstr "Начальное смещение клипов" msgid "Hold Offset Start" @@ -82751,7 +84135,7 @@ msgstr "Переместить/расширить от текущего кадр msgctxt "Operator" msgid "Copy Modifiers to Selection" -msgstr "Скопировать модификаторы на выделенное" +msgstr "Скопировать модификаторы на выделение" msgctxt "Operator" @@ -82761,7 +84145,7 @@ msgstr "Очистить затухание" msgctxt "Operator" msgid "Toggle Meta" -msgstr "Переключить метадорожку" +msgstr "Переключить метаклип" msgid "Effect Fader" @@ -82793,7 +84177,7 @@ msgstr "Канал-источник" msgid "Two or more channels are needed below this strip" -msgstr "Два или больше каналов нужно под этой дорожкой" +msgstr "Два или больше каналов нужно под этим клипом" msgctxt "Text" @@ -82902,6 +84286,11 @@ msgid "Move Marker" msgstr "Переместить маркеры" +msgctxt "WindowManager" +msgid "Keying" +msgstr "Кеинг" + + msgctxt "Operator" msgid "Duplicate Marker to Scene..." msgstr "Дублировать маркеры в сцену…" @@ -82923,7 +84312,7 @@ msgstr "Перейти к предыдущему маркеру" msgid "Scrubbing" -msgstr "Звук при перемотке" +msgstr "Звук в перемотке" msgid "Follow Current Frame" @@ -82934,6 +84323,10 @@ msgid "Layered Recording" msgstr "Запись по слоям" +msgid "Drag:" +msgstr "Захват:" + + msgid "Unable to find toolbar group" msgstr "Невозможно найти группу панели инструментов" @@ -82955,6 +84348,36 @@ msgid "Install Application Template..." msgstr "Установить шаблон приложения…" +msgctxt "Operator" +msgid "Unused Data-Blocks" +msgstr "Неиспользуемые блоки данных" + + +msgctxt "Operator" +msgid "Recursive Unused Data-Blocks" +msgstr "Рекурсивные неиспользуемые блоки данных" + + +msgctxt "Operator" +msgid "Unused Linked Data-Blocks" +msgstr "Неиспользуемые связанные блоки данных" + + +msgctxt "Operator" +msgid "Recursive Unused Linked Data-Blocks" +msgstr "Рекурсивные неиспользуемые связанные блоки данных" + + +msgctxt "Operator" +msgid "Unused Local Data-Blocks" +msgstr "Неиспользуемые локальные датаблоки" + + +msgctxt "Operator" +msgid "Recursive Unused Local Data-Blocks" +msgstr "Неиспользуемые локальные датаблоки рекурсивно" + + msgctxt "WindowManager" msgid "New" msgstr "Создать" @@ -83106,7 +84529,7 @@ msgstr "Сообщить об ошибке" msgid "Sequence Strip Name" -msgstr "Название дорожки последовательности" +msgstr "Название клипа последовательности" msgid "No active item" @@ -83446,7 +84869,7 @@ msgstr "Рендеринг ключевых кадров из вьюпорта" msgctxt "Operator" msgid "Toggle Local View" -msgstr "Переключиться в локальный вид" +msgstr "Переключиться локальный вид" msgctxt "Operator" @@ -83454,6 +84877,11 @@ msgid "Active Camera" msgstr "Активная камера" +msgctxt "View3D" +msgid "Camera" +msgstr "Камера" + + msgctxt "Operator" msgid "Orbit Opposite" msgstr "Противоположный облёт" @@ -83706,7 +85134,7 @@ msgstr "Источник звука" msgctxt "Operator" msgid "Reference" -msgstr "Референс" +msgstr "Образец" msgctxt "Operator" @@ -83788,6 +85216,11 @@ msgid "Visual Transform" msgstr "Визуальная трансформация" +msgctxt "Operator" +msgid "Remove Unused Material Slots" +msgstr "Удалить неиспользуемые слоты материалов" + + msgctxt "Operator" msgid "Object" msgstr "Объект" @@ -83813,6 +85246,11 @@ msgid "Object Animation" msgstr "Анимация объекта" +msgctxt "Operator" +msgid "Copy UV Maps" +msgstr "Копировать UV-карты" + + msgctxt "Operator" msgid "Add New Group" msgstr "Добавить новую группу" @@ -84164,6 +85602,14 @@ msgid "Toggle Overlays" msgstr "Включить/выключить наложения" +msgid "Local Camera" +msgstr "Локальная камера" + + +msgid "Camera to View" +msgstr "Камера к виду" + + msgid "Object Types Visibility" msgstr "Видимость типов объектов" @@ -84310,6 +85756,11 @@ msgid "Collection Instance" msgstr "Экземпляр коллекции" +msgctxt "Operator" +msgid "Shade Auto Smooth" +msgstr "Автоматическое гладкое затенение" + + msgctxt "Operator" msgid "Delete Global" msgstr "Удалить глобально" @@ -84345,6 +85796,11 @@ msgid "Visual Geometry to Mesh" msgstr "Визуальная геометрия в меш" +msgctxt "Operator" +msgid "Limit Total Vertex Groups" +msgstr "Ограничить число групп вершин" + + msgctxt "Operator" msgid "Hook to Selected Object Bone" msgstr "Создать крюк к выделенной объектной кости" @@ -85202,7 +86658,7 @@ msgstr "Трек НЛА" msgid "NlaStrip" -msgstr "Дорожка НЛА" +msgstr "Клип НЛА" msgid "[Action Stash]" @@ -85518,6 +86974,14 @@ msgid "Eevee material conversion problem. Error in console" msgstr "Ошибка преобразования материалов EEVEE. Текст ошибки в консоли" +msgid "2D_Animation" +msgstr "2D_Animation" + + +msgid "Sculpting" +msgstr "Скульптинг" + + msgid "Video_Editing" msgstr "Video_Editing" @@ -85627,7 +87091,7 @@ msgstr "Workbench" msgid "NLA Strip Controls" -msgstr "Элементы управления дорожек НЛА" +msgstr "Элементы управления клипами НЛА" msgid "Grease Pencil layer is visible in the viewport" @@ -85647,7 +87111,7 @@ msgstr "Редактируемость ключевых кадров для эт msgid "Editability of NLA Strips in this track" -msgstr "Редактируемость дорожек НЛА в этом треке" +msgstr "Редактируемость клипов НЛА в этом треке" msgid "Does F-Curve contribute to result" @@ -85875,7 +87339,7 @@ msgstr "К клавише не прикреплена информация о с msgid "Not deleting keyframe for locked F-Curve for NLA Strip influence on %s - %s '%s'" -msgstr "Не удален ключевой кадр для заблокированной F-кривой влияния дорожки НЛА на %s - %s «%s»" +msgstr "Не удален ключевой кадр для заблокированной F-кривой влияния клипа НЛА на %s - %s «%s»" msgid "Keying set '%s' not found" @@ -86621,12 +88085,12 @@ msgstr "Сбросить одиночно на значение по умолч msgctxt "Operator" msgid "Copy All to Selected" -msgstr "Копировать всё на выделенное" +msgstr "Копировать всё на выделение" msgctxt "Operator" msgid "Copy Single to Selected" -msgstr "Копировать одно на выделенное" +msgstr "Копировать одно на выделение" msgctxt "Operator" @@ -87555,7 +89019,7 @@ msgstr "Результат объединения состоит из %d вер msgid "SoundTrack" -msgstr "Звуковая дорожка" +msgstr "Звуковой клип" msgctxt "Light" @@ -87633,6 +89097,16 @@ msgid "Field" msgstr "Поле" +msgctxt "GPencil" +msgid "Suzanne" +msgstr "Сюзанна" + + +msgctxt "GPencil" +msgid "Stroke" +msgstr "Штрих" + + msgid "Cannot create editmode armature" msgstr "Невозможно создать арматуру в режиме редактирования" @@ -89476,7 +90950,7 @@ msgstr "Внутренняя ошибка — блок AnimData не являе msgid "Cannot push down actions while tweaking a strip's action, exit tweak mode first" -msgstr "Невозможно выдвинуть действия в режиме настройки дорожки, выйдите из этого режима" +msgstr "Невозможно выдвинуть действия в режиме настройки клипа, выйдите из этого режима" msgid "No active action to push down" @@ -89500,7 +90974,7 @@ msgstr "Нет блоков AnimData для перехода в режим по msgid "No active strip(s) to enter tweak mode on" -msgstr "Нет активных дорожек для перехода в режим настройки" +msgstr "Нет активных клипов для перехода в режим настройки" msgid "No AnimData blocks in tweak mode to exit from" @@ -89508,7 +90982,7 @@ msgstr "Нет блоков данных анимации для выхода и msgid "No active track(s) to add strip to, select an existing track or add one before trying again" -msgstr "Нет активных треков для добавления дорожки, выберите существующий трек или добавьте новый" +msgstr "Нет активных дорожек для добавления клипа, выберите существующую дорожку или добавьте новую" msgid "No valid action to add" @@ -89516,11 +90990,11 @@ msgstr "Нет допустимого действия для добавлени msgid "Needs at least a pair of adjacent selected strips with a gap between them" -msgstr "Необходимо выделить хотя бы две соседние дорожки с интервалом между ними" +msgstr "Необходимо выделить хотя бы два соседних клипа с интервалом между ними" msgid "Cannot swap selected strips as they will not be able to fit in their new places" -msgstr "Невозможно поменять местами выделенные дорожки, поскольку они не смогут поместиться в новых местах" +msgstr "Невозможно поменять местами выделенные клипы, поскольку они не смогут поместиться в новых местах" msgid "Action '%s' does not specify what data-blocks it can be used on (try setting the 'ID Root Type' setting from the data-blocks editor for this action to avoid future problems)" @@ -89532,11 +91006,11 @@ msgstr "Не удалось добавить действие «%s», поско msgid "Too many clusters of strips selected in NLA Track (%s): needs exactly 2 to be selected" -msgstr "Выделено слишком много кластеров дорожек в НЛА-треке (%s): необходимо выделить только 2 кластера" +msgstr "Выделено слишком много кластеров клипов в НЛА-дорожке (%s): необходимо выделить только 2 кластера" msgid "Too few clusters of strips selected in NLA Track (%s): needs exactly 2 to be selected" -msgstr "Выделено слишком мало кластеров дорожек в НЛА-треке (%s): необходимо выделить ровно 2 кластера" +msgstr "Выделено слишком мало кластеров клипов в НЛА-дорожке (%s): необходимо выделить ровно 2 кластера" msgid "Cannot swap '%s' and '%s' as one or both will not be able to fit in their new places" @@ -89801,7 +91275,7 @@ msgstr "(пусто)" msgid "Strip None" -msgstr "Без дорожки" +msgstr "Без клипа" msgid "Can't reload with running modal operators" @@ -89821,19 +91295,19 @@ msgstr "Файл «%s» не может быть загружен" msgid "Cannot apply effects to audio sequence strips" -msgstr "Невозможно применить эффекты к аудиодорожкам" +msgstr "Невозможно применить эффекты к аудиоклипам" msgid "Cannot apply effect to more than 3 sequence strips" -msgstr "Невозможно применить эффект для более чем 3-х дорожек" +msgstr "Невозможно применить эффект для более чем трёх клипов" msgid "At least one selected sequence strip is needed" -msgstr "Необходимо выделить хотя бы одну дорожку" +msgstr "Необходимо выделить хотя бы один клип" msgid "2 selected sequence strips are needed" -msgstr "Необходимо выделить две дорожки" +msgstr "Необходимо выделить два клипа" msgid "TODO: in what cases does this happen?" @@ -89845,11 +91319,11 @@ msgstr "Нет допустимых входов для обмена" msgid "Please select all related strips" -msgstr "Необходимо выделить все связанные дорожки" +msgstr "Необходимо выделить все связанные клипы" msgid "Please select two strips" -msgstr "Необходимо выделить две дорожки" +msgstr "Необходимо выделить два клипа" msgid "One of the effect inputs is unset, cannot swap" @@ -89857,7 +91331,7 @@ msgstr "Один из входов эффекта не установлен, н msgid "New effect needs more input strips" -msgstr "Для нового эффекта необходимо больше входных дорожек" +msgstr "Для нового эффекта необходимо больше входных клипов" msgid "Can't create subtitle file" @@ -89865,7 +91339,7 @@ msgstr "Не удалось создать файл субтитров" msgid "No subtitles (text strips) to export" -msgstr "Нет субтитров (текстовых дорожек) для экспорта" +msgstr "Нет субтитров (текстовых клипов) для экспорта" msgid "No active sequence!" @@ -89944,6 +91418,10 @@ msgid "Open Recent" msgstr "Недавние файлы…" +msgid "Undo History" +msgstr "Отменить по истории" + + msgid "Control Point:" msgstr "Контрольная точка:" @@ -91087,15 +92565,15 @@ msgstr "Дублирующийся индекс%d в списке vertex_indices msgid "Unable to create new strip" -msgstr "Не удалось создать новую дорожку" +msgstr "Не удалось создать новый клип" msgid "Unable to add strip (the track does not have any space to accommodate this new strip)" -msgstr "Не удалось добавить дорожку (в треке недостаточно места для размещения новой дорожки)" +msgstr "Не удалось добавить клип (в дорожке недостаточно места для размещения нового клипа)" msgid "NLA strip '%s' not found in track '%s'" -msgstr "НЛА-дорожка «%s» не найдена в треке «%s»" +msgstr "НЛА-клип «%s» не найден в дорожке «%s»" msgid "Same input/output direction of sockets" @@ -91632,6 +93110,10 @@ msgid "Val" msgstr "Знач." +msgid "Geometry Node Editor" +msgstr "Нодовый редактор геометрии" + + msgid "Edge Crease" msgstr "Складка на ребре" @@ -92067,15 +93549,15 @@ msgstr "Тоновая карта" msgid "Strips must be the same length" -msgstr "Дорожки должны быть одинаковой длины" +msgstr "Клипы должны быть одинаковой длины" msgid "Strips were not compatible" -msgstr "Дорожки не совместимы" +msgstr "Клипы не совместимы" msgid "Strips must have the same number of inputs" -msgstr "Дорожки должны иметь одинаковое число входов" +msgstr "Клипы должны иметь одинаковое число входов" msgid "Blur X" @@ -92226,6 +93708,10 @@ msgid "dbl-" msgstr "дабл-" +msgid "drag-" +msgstr "захват-" + + msgid "ON" msgstr "вкл." @@ -92382,6 +93868,11 @@ msgid "Stereo 3D Mode requires the window to be fullscreen" msgstr "Для работы в режиме стерео-3d необходимо полноэкранное окно" +msgctxt "WorkSpace" +msgid "2D Animation" +msgstr "2D-анимация" + + msgctxt "WorkSpace" msgid "Animation" msgstr "Анимация" @@ -92454,6 +93945,10 @@ msgid "Export the UV layout as a 2D graphic" msgstr "Экспортировать UV-развёртку в 2D-графику" +msgid "Scatter Objects" +msgstr "Рассеивание объектов" + + msgid "All Add-ons" msgstr "Все аддоны" diff --git a/locale/po/sk.po b/locale/po/sk.po index e90f3869f8f..e4ea8fa7d45 100644 --- a/locale/po/sk.po +++ b/locale/po/sk.po @@ -1,10 +1,10 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" -"PO-Revision-Date: 2023-03-29 12:12+0200\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" +"PO-Revision-Date: 2023-04-07 09:40+0200\n" "Last-Translator: Jozef Matta \n" "Language-Team: Jozef Matta\n" "Language: sk_SK\n" @@ -368,6 +368,10 @@ msgid "Displays glTF UI to manage material variants" msgstr "Zobrazí užívateľské rozhranie glTF na správu variantov materiálu" +msgid "Display glTF UI to manage animations" +msgstr "Zobrazí užívateľské rozhranie glTF na správu animácií" + + msgid "Displays glTF Material Output node in Shader Editor (Menu Add > Output)" msgstr "Zobrazí uzol Výstup materiálu glTF v editore tieňovačov (ponuka Pridať > Výstup)" @@ -2156,6 +2160,10 @@ msgid "Simulations" msgstr "Simulácia" +msgid "Simulation data-blocks" +msgstr "Bloky údajov simulácie" + + msgid "Sounds" msgstr "Zvuky" @@ -2468,6 +2476,14 @@ msgid "Collection of screens" msgstr "Kolekcia obrazoviek" +msgid "Main Simulations" +msgstr "Hlavná simulácia" + + +msgid "Collection of simulations" +msgstr "Kolekcia simulácií" + + msgid "Main Sounds" msgstr "Hlavné zvuky" @@ -9653,14 +9669,30 @@ msgid "Name of PoseBone to use as target" msgstr "Názov pózy kosti na použitie ako cieľa" +msgid "Context Property" +msgstr "Vlastnosť kontextu" + + +msgid "Type of a context-dependent data-block to access property from" +msgstr "Typ kontextovo závislého bloku údajov na prístup k vlastnosti" + + msgid "Active Scene" msgstr "Aktívna scéna" +msgid "Currently evaluating scene" +msgstr "Aktuálne vyhodnocovanie scény" + + msgid "Active View Layer" msgstr "Vrstva aktívneho zobrazenia" +msgid "Currently evaluating view layer" +msgstr "Momentálne sa vyhodnocuje vrstva zobrazenia" + + msgid "Data Path" msgstr "Cesta údajov" @@ -9960,6 +9992,10 @@ msgid "Distance between two bones or objects" msgstr "Vzdialenosť medzi dvoma kosťami alebo objektami" +msgid "Use the value from some RNA property within the current evaluation context" +msgstr "Použite hodnotu z nejakej vlastnosti RNA v kontexte aktuálneho hodnotenia" + + msgid "Brush Settings" msgstr "Nastavenie štetca" @@ -12995,10 +13031,6 @@ msgid "Library Browser" msgstr "Prehliadač knižníc" -msgid "Whether we may browse blender files' content or not" -msgstr "Možnosť prehliadania obsahu súborov Blendera" - - msgid "Reverse Sorting" msgstr "Obrátené triedenie" @@ -16410,10 +16442,6 @@ msgid "Gizmo Properties" msgstr "Vlastnosti manipulačných prvkov" -msgid "Input properties of an Gizmo" -msgstr "Vstupné vlastnosti manipulačných prvkov" - - msgid "Modifier affecting the Grease Pencil object" msgstr "Modifikátor ovplyvňujúci objekt Pastelky" @@ -19105,6 +19133,22 @@ msgid "Show Armature in binding pose state (no posing possible)" msgstr "Zobrazí armatúru v pospájanom stave (bez možnosti pózovania)" +msgid "Relation Line Position" +msgstr "Poloha vzťahovej čiary" + + +msgid "The start position of the relation lines from parent to child bones" +msgstr "Počiatočná pozícia vzťahových čiar od rodičovských ku kostiam potomkov" + + +msgid "Draw the relationship line from the parent tail to the child head" +msgstr "Nakreslí vzťahovú čiaru od chvosta rodiča k hlave potomka" + + +msgid "Draw the relationship line from the parent head to the child head" +msgstr "Nakreslí vzťahovú čiaru od hlavy rodiča k hlave potomka" + + msgid "Display Axes" msgstr "Zobraziť osi" @@ -24126,26 +24170,14 @@ msgid "Resolution X" msgstr "Rozlíšenie X" -msgid "Number of sample along the x axis of the volume" -msgstr "Počet snímok pozdĺž osi X objemu" - - msgid "Resolution Y" msgstr "Rozlíšenie Y" -msgid "Number of sample along the y axis of the volume" -msgstr "Počet snímok pozdĺž osi Y objemu" - - msgid "Resolution Z" msgstr "Rozlíšenie Z" -msgid "Number of sample along the z axis of the volume" -msgstr "Počet snímok pozdĺž osi Z objemu" - - msgid "Influence Distance" msgstr "Vzdialenosť vplyvu" @@ -27395,10 +27427,22 @@ msgid "Active Movie Clip that can be used by motion tracking constraints or as a msgstr "Aktívny filmový klip, ktorý sa môže použiť pri sledovaní pohybu alebo ako obrázok na pozadí kamery" +msgid "Mirror Bone" +msgstr "Zrkadlená kosť" + + +msgid "Bone to use for the mirroring" +msgstr "Kosť na použitie na zrkadlenie" + + msgid "Mirror Object" msgstr "Objekt zrkadla" +msgid "Object to mirror over. Leave empty and name a bone to always mirror over that bone of the active armature" +msgstr "Objekt, ktorý sa má zrkadliť. Nechajte prázdne a pomenujte kosť, aby sa vždy zrkadlila nad touto kosťou aktívnej armatúry" + + msgid "Distance Model" msgstr "Model vzdialenosti" @@ -27900,6 +27944,14 @@ msgid "Top-Left 3D Editor" msgstr "3D editor hore-vľavo" +msgid "Simulation data-block" +msgstr "Blok údajov simulácie" + + +msgid "Node tree defining the simulation" +msgstr "Strom uzlov definujúcich simuláciu" + + msgid "Sound data-block referencing an external or packed sound file" msgstr "Blok údajov zvuku odkazujúci na externý alebo zbalený zvukový súbor" @@ -29296,6 +29348,14 @@ msgid "Maintained by community developers" msgstr "Udržiavané komunitou vývojárov" +msgid "Testing" +msgstr "Testovacie" + + +msgid "Newly contributed scripts (excluded from release builds)" +msgstr "Nové príspevky skriptov (vylúčené z uvoľnenej zostavy)" + + msgid "Asset Blend Path" msgstr "Cesta prelínania aktív" @@ -42901,6 +42961,10 @@ msgid "Map Range" msgstr "Rozsah mapovania" +msgid "Clamp the result of the node to the target range" +msgstr "Pripne výsledok uzla na cieľový rozsah" + + msgid "Map UV" msgstr "UV mapovania" @@ -42972,7 +43036,7 @@ msgstr "Operácia" msgctxt "NodeTree" msgid "Add" -msgstr "Sčítať" +msgstr "Pripočítať" msgid "A + B" @@ -43008,7 +43072,7 @@ msgstr "A / B" msgctxt "NodeTree" msgid "Multiply Add" -msgstr "Sčítať vynásobenie" +msgstr "Pripočítať vynásobenie" msgid "A * B + C" @@ -44929,6 +44993,14 @@ msgid "Provide a selection of faces that use the specified material" msgstr "Poskytne výber plôšok, ktoré používajú určený materiál" +msgid "Mean Filter SDF Volume" +msgstr "Priemerný objem filtra SDF" + + +msgid "Smooth the surface of an SDF volume by applying a mean filter" +msgstr "Vyhladzujte povrch objemu SDF použitím stredného filtra" + + msgid "Merge by Distance" msgstr "Zlúčiť podľa vzdialenosti" @@ -45065,6 +45137,14 @@ msgid "Create a point in the point cloud for each selected face corner" msgstr "Vytvorí bod v mračne bodov pre každý vybraný roh plôšky" +msgid "Mesh to SDF Volume" +msgstr "Povrchová sieť na objem SDF" + + +msgid "Create an SDF volume with the shape of the input mesh's surface" +msgstr "Vytvorí objem SDF s tvarom povrchu vstupnej povrchovej siete" + + msgid "How the voxel size is specified" msgstr "Ako je určená veľkosť voxelu" @@ -45117,6 +45197,14 @@ msgid "Offset a control point index within its curve" msgstr "Posuv indexu riadiaceho bodu v rámci jeho krivky" +msgid "Offset SDF Volume" +msgstr "Posuv objemu SDF" + + +msgid "Move the surface of an SDF volume inwards or outwards" +msgstr "Posunie povrch objemu SDF smerom dovnútra alebo von" + + msgid "Generate a point cloud with positions and radii defined by fields" msgstr "Vygeneruje mračno bodov s polohami a polomermi definovanými poľami" @@ -45129,6 +45217,14 @@ msgid "Retrieve a point index within a curve" msgstr "Načíta index bodu v rámci krivky" +msgid "Points to SDF Volume" +msgstr "Body na objem SDF" + + +msgid "Generate an SDF volume sphere around every point" +msgstr "Vygeneruje sféru objemu SDF okolo každého bodu" + + msgid "Specify the approximate number of voxels along the diagonal" msgstr "Určiť približný počet voxelov pozdĺž uhlopriečky" @@ -45273,6 +45369,14 @@ msgid "Rotate geometry instances in local or global space" msgstr "Otáča inštanciami geometrie v lokálnom alebo globálnom priestore" +msgid "SDF Volume Sphere" +msgstr "Sféra objemu SDF" + + +msgid "Generate an SDF Volume Sphere" +msgstr "Vygeneruje sféru objemu SDF" + + msgid "Sample Curve" msgstr "Snímka krivky" @@ -49081,6 +49185,15 @@ msgid "Extend selection" msgstr "Rozšíriť výber" +msgctxt "Operator" +msgid "Frame Channel Under Cursor" +msgstr "Kanál snímok pod kurzorom" + + +msgid "Reset viewable area to show the channel under the cursor" +msgstr "Resetuje zobraziteľnú oblasť na zobrazenie kanála pod kurzorom" + + msgid "Include Handles" msgstr "Zahrnúť manipulátory" @@ -49089,6 +49202,10 @@ msgid "Include handles of keyframes when calculating extents" msgstr "Zahrnie manipulátory kľúčovej snímky pri výpočte dosahov" +msgid "Ignore frames outside of the preview range" +msgstr "Ignoruje snímky mimo rozsah náhľadu" + + msgctxt "Operator" msgid "Remove Empty Animation Data" msgstr "Odstrániť prázdne údaje animácie" @@ -49272,6 +49389,15 @@ msgid "Remove selected F-Curves from their current groups" msgstr "Odstráni vybrané F-krivky z ich aktuálnych skupín" +msgctxt "Operator" +msgid "Frame Selected Channels" +msgstr "Kanály vybraných snímok" + + +msgid "Reset viewable area to show the selected channels" +msgstr "Resetuje zobraziteľnú oblasť pre zobrazenie vybraných kanálov" + + msgctxt "Operator" msgid "Clear Useless Actions" msgstr "Zmazať nepotrebné akcie" @@ -51459,10 +51585,6 @@ msgid "Set Axis" msgstr "Nastaviť osi" -msgid "Set direction of scene axis rotating camera (or its parent if present) and assume selected track lies on real axis, joining it with the origin" -msgstr "Nastaví smer osi scény rotujúcej kamery (alebo jeho rodiča, ak je prítomný) a predpokladaná vybraná stopa leží na skutočnej osi, spájajúcu ju s počiatkom" - - msgid "Axis to use to align bundle along" msgstr "Os použitá na zarovnanie pozdĺž balíka" @@ -52151,6 +52273,10 @@ msgid "Selection" msgstr "Výber" +msgid "Paste text selected elsewhere rather than copied (X11/Wayland only)" +msgstr "Prilepí text vybratý inde namiesto kopírovania (iba X11/Wayland)" + + msgctxt "Operator" msgid "Scrollback Append" msgstr "Pripojenie posunúť späť" @@ -52439,10 +52565,18 @@ msgid "Select points at the end of the curve as opposed to the beginning" msgstr "Výber bodov na konci krivky na rozdiel od jej začiatku" +msgid "Shrink the selection by one point" +msgstr "Zmenší výber o jeden bod" + + msgid "Select all points in curves with any point selection" msgstr "Vyberie všetky body v krivkách s ľubovoľným výberom bodu" +msgid "Grow the selection by one point" +msgstr "Zväčší výber o jeden bod" + + msgctxt "Operator" msgid "Select Random" msgstr "Vybrať náhodne" @@ -54157,6 +54291,14 @@ msgid "Allow >4 joint vertex influences. Models may appear incorrectly in many v msgstr "Povolí >4 spojené vplyvy vrcholov. Modely sa môžu javiť nesprávne v mnohých zobrazovačoch" +msgid "Split Animation by Object" +msgstr "Rozdeliť animácie podľa objektu" + + +msgid "Export Scene as seen in Viewport, But split animation by Object" +msgstr "Exportuje scénu tak, ako je to zobrazené v zábere, ale rozdelí animáciu podľa objektu" + + msgid "Export all Armature Actions" msgstr "Exportovať všetky akcie armatúry" @@ -54165,6 +54307,42 @@ msgid "Export all actions, bound to a single armature. WARNING: Option does not msgstr "Exportuje všetky akcie viazané na jednu armatúru. VAROVANIE: Možnosť nepodporuje export vrátane viacerých armatúr" +msgid "Set all glTF Animation starting at 0" +msgstr "Nastaviť všetky animácie glTF od 0" + + +msgid "Set all glTF animation starting at 0.0s. Can be usefull for looping animations" +msgstr "Nastaví všetky animácie glTF na 0,0 s. Môže byť užitočné pre slučkové animácie" + + +msgid "Animation mode" +msgstr "Režim animácie" + + +msgid "Export Animation mode" +msgstr "Režim exportu animácie" + + +msgid "Export actions (actives and on NLA tracks) as separate animations" +msgstr "Exportuje akcie (aktívne a v kanáloch NLA) ako samostatné animácie" + + +msgid "Active actions merged" +msgstr "Zlúčené aktívne akcie" + + +msgid "All the currently assigned actions become one glTF animation" +msgstr "Všetky aktuálne priradené akcie sa stanú jednou animáciou glTF" + + +msgid "Export individual NLA Tracks as separate animation" +msgstr "Exportuje jednotlivé stopy NLA ako samostatné animácie" + + +msgid "Export baked scene as a single animation" +msgstr "Exportuje zapečenú scénu ako jednu animáciu" + + msgid "Exports active actions and NLA tracks as glTF animations" msgstr "Exportuje aktívne akcie a stopy NLA ako glTF (GL Transmission Format) animácie" @@ -54177,6 +54355,14 @@ msgid "Export Attributes (when starting with underscore)" msgstr "Exportuje atribúty (ak začínajú podčiarknikom)" +msgid "Bake All Objects Animations" +msgstr "Zapečenie animácie všetkých objektov" + + +msgid "Force exporting animation on every objects. Can be usefull when using constraints or driver. Also useful when exporting only selection" +msgstr "Vynúti export animácie na všetky objekty. Môže byť užitočné pri použití vynútenie alebo ovládača. Užitočné aj pri exporte iba výberu" + + msgid "Export cameras" msgstr "Export kamier" @@ -54189,6 +54375,14 @@ msgid "Legal rights and conditions for the model" msgstr "Zákonné práva a podmienky pre model" +msgid "Use Current Frame as Object Rest Transformations" +msgstr "Použije aktuálnu snímku ako transformácie pokojového objektu" + + +msgid "Export the scene in the current animation frame. When off, frame O is used as rest transformations for objects" +msgstr "Exportuje scénu v aktuálnej snímke animácie. Keď je vypnuté, snímka O sa používa ako pokojová transformácia pre objekty" + + msgid "Export Deformation Bones Only" msgstr "Exportuje iba deformácie kostí" @@ -54301,6 +54495,14 @@ msgid "Clips animations to selected playback range" msgstr "Klipy animácie na vybraný rozsah prehrávania" +msgid "Flatten Bone Hierarchy" +msgstr "Zarovnať hierarchiu kostí" + + +msgid "Flatten Bone Hierarchy. Usefull in case of non decomposable TRS matrix" +msgstr "Zarovná hierarchiu kostí. Užitočné v prípade nerozložiteľnej TRS matrice" + + msgid "Output format for images. PNG is lossless and generally preferred, but JPEG might be preferable for web applications due to the smaller file size. Alternatively they can be omitted if they are not needed" msgstr "Výstupný formát pre obrázky. PNG je bezstratový a všeobecne sa uprednostňuje, ale JPEG môže byť vhodnejší pre webové aplikácie kvôli menšej veľkosti súboru. Prípadne sa môžu vynechať, ak nie sú potrebné" @@ -54369,6 +54571,14 @@ msgid "Export shape keys (morph targets)" msgstr "Exportuje kľúčové tvary (ciele Morph)" +msgid "Shape Key Animations" +msgstr "Animácie kľúčových tvarov" + + +msgid "Export shape keys animations (morph targets)" +msgstr "Exportuje animácie kľúčových tvarov (morfologické ciele)" + + msgid "Shape Key Normals" msgstr "Normály kľúčového tvaru" @@ -54385,6 +54595,26 @@ msgid "Export vertex tangents with shape keys (morph targets)" msgstr "Exportuje dotyčnice vrcholov s kľúčovými tvarmi (ciele Morph)" +msgid "Negative Frames" +msgstr "Negatívne snímky" + + +msgid "Negative Frames are slided or cropped" +msgstr "Negatívne snímky sú posunuté alebo orezané" + + +msgid "Slide" +msgstr "Posunúť" + + +msgid "Slide animation to start at frame 0" +msgstr "Posunie štart animácie od snímky 0" + + +msgid "Keep only frames above frame 0" +msgstr "Zachová len snímky nad snímkou 0" + + msgid "Merged Animation Name" msgstr "Zlúčený názov animácie" @@ -54397,6 +54627,22 @@ msgid "Export vertex normals with meshes" msgstr "Exportuje normály vrcholov s povrchovými sieťami" +msgid "Force keeping channel for armature / bones" +msgstr "Kanál vynúteného zachovania pre armatúry/kosti" + + +msgid "if all keyframes are identical in a rig force keeping the minimal animation" +msgstr "Ak sú všetky kľúčové snímky v zariadení identické, vynúti zachovanie minimálnej animácie." + + +msgid "Force keeping channel for objects" +msgstr "Kanál vynúteného zachovania pre objekty" + + +msgid "if all keyframes are identical for object transformations force keeping the minimal animation" +msgstr "Ak sú všetky kľúčové snímky pre transformácie objektov identické, vynúti zachovanie minimálnej animácie" + + msgid "Optimize Animation Size" msgstr "Optimalizácia veľkosti animácie" @@ -54421,6 +54667,14 @@ msgid "Reset pose bones between each action exported. This is needed when some b msgstr "Resetujte kosti pózy medzi každou akciou exportu. Je to potrebné, ak niektoré kosti nie sú kľúčované k niektorým animáciám" +msgid "Use Rest Position Armature" +msgstr "Použije armatúru v pokojovej polohe" + + +msgid "Export armatures using rest position as joins rest pose. When off, current frame pose is used as rest pose" +msgstr "Exportuje armatúry použitím pokojovej polohy ako spojovacej pózy pokoja. Keď je vypnuté, aktuálna snímka pózy sa používa ako pokojová póza" + + msgid "Skinning" msgstr "Vytvorenie pokožky" @@ -58334,14 +58588,31 @@ msgid "Place the cursor on the midpoint of selected keyframes" msgstr "Umiestni kurzor na stred vybraných kľúčových snímok" +msgctxt "Operator" +msgid "Gaussian Smooth" +msgstr "Gaussovo vyhladenie" + + +msgid "Smooth the curve using a Gaussian filter" +msgstr "Vyhladzuje krivku použitím Gaussovho filtra" + + msgid "Filter Width" msgstr "Šírka filtra" +msgid "How far to each side the operator will average the key values" +msgstr "Určuje, ako ďaleko na každú stranu operátor spriemeruje kľúčové hodnoty" + + msgid "Sigma" msgstr "Sigma" +msgid "The shape of the gaussian distribution, lower values make it sharper" +msgstr "Tvar Gaussovho rozdelenia, nižšie hodnoty ho robia ostrejším" + + msgctxt "Operator" msgid "Clear Ghost Curves" msgstr "Zmazať duchov kriviek" @@ -58381,6 +58652,14 @@ msgid "Insert a keyframe on selected F-Curves using each curve's current value" msgstr "Vloží kľúčovú snímky na vybrané F-krivky použitím aktuálnej hodnoty krivky" +msgid "Only Active F-Curve" +msgstr "Iba aktívna F-krivka" + + +msgid "Insert a keyframe on the active F-Curve using the curve's current value" +msgstr "Vloží kľúčovú snímky na vybrané F-krivky použitím aktuálnej hodnoty krivky" + + msgid "Active Channels at Cursor" msgstr "Aktívne kanály na kurzor" @@ -58413,6 +58692,46 @@ msgid "Flip times of selected keyframes, effectively reversing the order they ap msgstr "Preklopí časy vybraných kľúčových snímok, účinne obráti poradie, v ktorom sa objavujú" +msgid "Paste keys with a value offset" +msgstr "Prilepí kľúčové snímky s posunom hodnoty" + + +msgid "Left Key" +msgstr "Ľavý kľúč" + + +msgid "Paste keys with the first key matching the key left of the cursor" +msgstr "Prilepí kľúčové snímky tak, aby sa prvá kľúčová snímka zhodovala s kľúčovou snímkou vľavo od kurzora" + + +msgid "Right Key" +msgstr "Pravý kľúč" + + +msgid "Paste keys with the last key matching the key right of the cursor" +msgstr "Prilepí kľúčové snímky tak, aby sa prvá kľúčová snímka zhodovala s kľúčovou snímkou vpravo od kurzora" + + +msgid "Current Frame Value" +msgstr "Aktuálna hodnota snímky" + + +msgid "Paste keys relative to the value of the curve under the cursor" +msgstr "Prilepí kľúčovú snímku vzhľadom na hodnotu krivky pod kurzor" + + +msgid "Cursor Value" +msgstr "Hodnota kurzora" + + +msgid "Paste keys relative to the Y-Position of the cursor" +msgstr "Prilepí kľúčové snímky vzhľadom na polohu Y kurzora" + + +msgid "Paste keys with the same value as they were copied" +msgstr "Prilepí kľúčové snímky s rovnakou hodnotou, v akou boli skopírované" + + msgid "Set Preview Range based on range of selected keyframes" msgstr "Nastaví rozsahu náhľadu na základe rozsahu vybraných kľúčových snímok" @@ -58908,10 +59227,6 @@ msgid "Save the image with another name and/or settings" msgstr "Uloží obrázok pod iným názvom a/alebo nastaveniami" -msgid "Create a new image file without modifying the current image in blender" -msgstr "Vytvorí nový súbor obrázka bez úpravy aktuálneho obrázka v Blenderi" - - msgid "Save As Render" msgstr "Uložiť ako prekreslenie" @@ -65065,10 +65380,18 @@ msgid "Curve from Mesh or Text objects" msgstr "Krivka podľa objektov povrchovej siete alebo textu" +msgid "Mesh from Curve, Surface, Metaball, Text, or Point Cloud objects" +msgstr "Povrchová sieť z objektov krivky, povrchu, meta gule, textu alebo mračna bodov" + + msgid "Grease Pencil from Curve or Mesh objects" msgstr "Pastelka z objektov krivky alebo povrchovej siete objektu" +msgid "Point Cloud from Mesh objects" +msgstr "Mračno bodov z povrchovej siete objektu" + + msgid "Curves from evaluated curve data" msgstr "Krivky z vyhodnotených údajov krivky" @@ -66590,6 +66913,30 @@ msgid "Paste onto all frames between the first and last selected key, creating n msgstr "Prilepí na všetky snímky medzi prvým a posledným vybraným kľúčom, v prípade potreby vytvoriť nové kľúčové snímky" +msgid "Location Axis" +msgstr "Os umiestnenia" + + +msgid "Coordinate axis used to mirror the location part of the transform" +msgstr "Súradnicová os používaná na zrkadlenie časti transformácie týkajúcej sa umiestnenia" + + +msgid "Rotation Axis" +msgstr "Os otáčania" + + +msgid "Coordinate axis used to mirror the rotation part of the transform" +msgstr "Súradnicová os používaná na zrkadlenie rotačnej časti transformácie" + + +msgid "Mirror Transform" +msgstr "Zrkadlová transformácia" + + +msgid "When pasting, mirror the transform relative to a specific object or bone" +msgstr "Pri vkladaní zrkadlí transformáciu vzhľadom na konkrétny objekt alebo kosť" + + msgctxt "Operator" msgid "Calculate Object Motion Paths" msgstr "Vypočítať dráhy pohybu objektu" @@ -67052,10 +67399,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "Názov použitého filtra \"*\", \"?\" a \"[abc]\" v štýle náhradných znakov UNIX" -msgid "Set select on random visible objects" -msgstr "Nastaví výber náhodných viditeľných objektov" - - msgctxt "Operator" msgid "Select Same Collection" msgstr "Vybrať rovnakú kolekciu" @@ -69026,6 +69369,14 @@ msgid "Hide selected faces" msgstr "Skryje vybrané plôšky" +msgid "Deselect Faces connected to existing selection" +msgstr "Zruší výber plôšky pripojenej k existujúcemu výberu" + + +msgid "Also deselect faces that only touch on a corner" +msgstr "Zruší tiež výber plôšok, ktoré sa dotýkajú iba rohu" + + msgid "Select linked faces" msgstr "Vyberie prepojené plôšky" @@ -69039,6 +69390,14 @@ msgid "Select linked faces under the cursor" msgstr "Vyberie prepojené plôšky pod kurzorom" +msgid "Select Faces connected to existing selection" +msgstr "Vyberie plôšky pripojené k existujúcemu výberu" + + +msgid "Also select faces that only touch on a corner" +msgstr "Vyberie tiež plôšky, ktoré sa dotýkajú iba rohu" + + msgctxt "Operator" msgid "Reveal Faces/Vertices" msgstr "Odhaliť plôšky/vrcholy" @@ -69279,6 +69638,10 @@ msgid "Hide unselected rather than selected vertices" msgstr "Skryje nevybrané a nie vybrané vrcholy" +msgid "Deselect Vertices connected to existing selection" +msgstr "Zruší výber vrcholov pripojených k existujúcemu výberu" + + msgctxt "Operator" msgid "Select Linked Vertices" msgstr "Vybrať Prepojené vrcholy" @@ -69301,6 +69664,10 @@ msgid "Whether to select or deselect linked vertices under the cursor" msgstr "Určuje, či chcete vybrať alebo zrušiť výber prepojených vrcholov pod kurzorom" +msgid "Select Vertices connected to existing selection" +msgstr "Vyberie vrcholy pripojené k existujúcemu výberu" + + msgctxt "Operator" msgid "Dirty Vertex Colors" msgstr "Rozmazať farby vrcholov" @@ -72414,6 +72781,10 @@ msgid "Apply force in the Z axis" msgstr "Použije silu v osi Z" +msgid "How many times to repeat the filter" +msgstr "Určuje, počet opakovaní filtra" + + msgid "Orientation of the axis to limit the filter force" msgstr "Orientácia osi limituje silu filtra" @@ -72430,6 +72801,10 @@ msgid "Use the view axis to limit the force and set the gravity direction" msgstr "Použitím osi zobrazenia obmedzí silu a nastaví smer gravitácie" +msgid "Starting Mouse" +msgstr "Spustenie myši" + + msgid "Filter strength" msgstr "Intenzita filtra" @@ -74075,6 +74450,62 @@ msgid "Set render size and aspect from active sequence" msgstr "Nastaví veľkosti prekreslenia zo zobrazenia aktívnej sekvencie" +msgctxt "Operator" +msgid "Add Retiming Handle" +msgstr "Pridať manipulátor opätovného časovania" + + +msgid "Add retiming Handle" +msgstr "Pridá manipulátor opätovného časovania" + + +msgid "Timeline Frame" +msgstr "Snímka časovej osi" + + +msgid "Frame where handle will be added" +msgstr "Snímka, do ktorej bude pridaný manipulátor" + + +msgctxt "Operator" +msgid "Move Retiming Handle" +msgstr "Presunúť manipulátor opätovného časovania" + + +msgid "Move retiming handle" +msgstr "Presunie manipulátor opätovného časovania" + + +msgid "Handle Index" +msgstr "Index manipulátora" + + +msgid "Index of handle to be moved" +msgstr "Index manipulátora na presunutie" + + +msgctxt "Operator" +msgid "Remove Retiming Handle" +msgstr "Odstrániť manipulátor časovania" + + +msgid "Remove retiming handle" +msgstr "Odstráni manipulátor časovania" + + +msgid "Index of handle to be removed" +msgstr "Index manipulátora na odstránenie" + + +msgctxt "Operator" +msgid "Reset Retiming" +msgstr "Resetovať opätovné časovanie" + + +msgid "Reset strip retiming" +msgstr "Resetuje opätovné časovanie" + + msgid "Use mouse to sample color in current frame" msgstr "Použije myš na snímku farby v aktuálnej snímke" @@ -74093,10 +74524,6 @@ msgid "Add Scene Strip" msgstr "Pridať pás scény" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "Pridá pás do radiča sekvencií použitím scény Blendera ako zdroja" - - msgctxt "Operator" msgid "Add Strip with a new Scene" msgstr "Pridať pás s novou scénou" @@ -75239,10 +75666,6 @@ msgid "Select word under cursor" msgstr "Vyberie slovo pod kurzorom" -msgid "Set cursor selection" -msgstr "Nastavenie výberu kurzora" - - msgctxt "Operator" msgid "Find" msgstr "Prehľadať" @@ -76436,6 +76859,15 @@ msgid "Clear the property and use default or generated value in operators" msgstr "Vymaže vlastnosť a použije predvolenú alebo vygenerovanú hodnotu operátora" +msgctxt "Operator" +msgid "View Drop" +msgstr "Pustiť pohľad" + + +msgid "Drag and drop onto a data-set or item within the data-set" +msgstr "Ťahanie a pustenie sústavy údajov alebo položky v rámci sústavy údajov" + + msgctxt "Operator" msgid "Rename View Item" msgstr "Premenovať položku pohľadu" @@ -76679,6 +77111,14 @@ msgid "Radius of the sphere or cylinder" msgstr "Polomer gule alebo valca" +msgid "Preserve Seams" +msgstr "Zachovať švy" + + +msgid "Separate projections by islands isolated by seams" +msgstr "Oddelí premietanie izolovaných ostrovčekov švami." + + msgctxt "Operator" msgid "Export UV Layout" msgstr "Exportovať UV rozloženie" @@ -76900,10 +77340,34 @@ msgid "Rotate islands for best fit" msgstr "Otáča ostrovmi pre najlepšie prispôsobenie" +msgid "Shape Method" +msgstr "Metóda tvaru" + + +msgid "Exact shape (Concave)" +msgstr "Presný tvar (konkávny)" + + +msgid "Uses exact geometry" +msgstr "Používa presnú geometriu" + + +msgid "Boundary shape (Convex)" +msgstr "Hraničný tvar (konvexný)" + + +msgid "Uses convex hull" +msgstr "Používa konvexný trup" + + msgid "Bounding box" msgstr "Pole ohraničenia" +msgid "Uses bounding boxes" +msgstr "Používa pole ohraničenia" + + msgid "Pack to" msgstr "Zbaliť do" @@ -76924,6 +77388,14 @@ msgid "Pack islands to active UDIM image tile or UDIM grid tile where 2D cursor msgstr "Zbalí ostrovy do aktívnej dlaždice obrázku UDIM alebo dlaždice mriežky UDIM, kde sa nachádza 2D kurzor" +msgid "Original bounding box" +msgstr "Pôvodné pole ohraničenia" + + +msgid "Pack to starting bounding box of islands" +msgstr "Zbalí na počiatočné pole ohraničenia ostrovov" + + msgctxt "Operator" msgid "Paste UVs" msgstr "Prilepiť UV" @@ -78804,10 +79276,6 @@ msgid "Rotate all root objects to match the global orientation settings otherwis msgstr "Otočí všetky koreňové objekty, aby zodpovedali globálnemu nastaveniu orientácie inak nastaví globálnu orientáciu na aktíva Collada" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Použiť modifikátory na exportované povrchové siete (nedeštruktívne)" - - msgid "Deform Bones Only" msgstr "Len deformované kosti" @@ -79934,6 +80402,54 @@ msgid "Open a path in a file browser" msgstr "Otvoriť cestu v prehľadávači súborov" +msgid "Save the scene to a PLY file" +msgstr "Uloží scénu do PLY súboru" + + +msgid "ASCII Format" +msgstr "Formát ASCII" + + +msgid "Export file in ASCII format, export as binary otherwise" +msgstr "Exportuje súbor vo formáte ASCII, inak exportovaný ako binárny" + + +msgid "Export Vertex Colors" +msgstr "Exportuje farby vrcholov s povrchovými sieťami." + + +msgid "Do not import/export color attributes" +msgstr "Import/export bez atribútov farieb" + + +msgid "Vertex colors in the file are in sRGB color space" +msgstr "Farby vrcholov v súbore sú vo farebnom priestore sRGB" + + +msgid "Vertex colors in the file are in linear color space" +msgstr "Farby vrcholov v súbore sú v lineárnom farebnom priestore" + + +msgid "Export Vertex Normals" +msgstr "Exportovať normály vrcholov" + + +msgid "Export specific vertex normals if available, export calculated normals otherwise" +msgstr "Exportuje špecifické normály vrcholov, ak sú k dispozícii, inak exportujte vypočítané normály" + + +msgid "Import an PLY file as an object" +msgstr "Importuje súbor PLY ako objekt" + + +msgid "Import Vertex Colors" +msgstr "Importuje farby vrcholov" + + +msgid "Merges vertices by distance" +msgstr "Zlučuje vrcholy podľa vzdialenosti" + + msgctxt "Operator" msgid "Batch-Clear Previews" msgstr "Dávkové zmazanie náhľadov" @@ -81787,10 +82303,6 @@ msgid "View Normal Limit" msgstr "Zobraziť normálny limit" -msgid "Maximum edge length for dynamic topology sculpting (as divisor of blender unit - higher value means smaller edge length)" -msgstr "Maximálna dĺžka hrany pre dynamickú topológiu tvarovania (ako deliteľ Blender jednotky - vyššia hodnota znamená menšiu dĺžku hrany)" - - msgid "Detail Percentage" msgstr "Percento podrobnosti" @@ -82377,6 +82889,18 @@ msgid "Fluid Presets" msgstr "Predvoľby kvapalnosti" +msgid "Optimize Animations" +msgstr "Optimalizácia animácií" + + +msgid "Rest & Ranges" +msgstr "Pokoj a rozsahy" + + +msgid "Sampling Animations" +msgstr "Snímanie animácií" + + msgid "PBR Extensions" msgstr "Rozšírenia PBR" @@ -82953,6 +83477,11 @@ msgid "Blade" msgstr "Čepeľ" +msgctxt "Operator" +msgid "Retime" +msgstr "Znovu časovať" + + msgid "Feature Weights" msgstr "Vlastnosti vplyvov" @@ -83244,6 +83773,10 @@ msgid "Global Transform" msgstr "Globálna transformácia" +msgid "Mirror Options" +msgstr "Možnosti zrkadla" + + msgid "Curves Sculpt Add Curve Options" msgstr "Možnosti kriviek tvarovania Pridať krivku" @@ -85331,6 +85864,10 @@ msgid "Color of texture overlay" msgstr "Farba prekrytia textúry" +msgid "Only Show Selected F-Curve Keyframes" +msgstr "Zobrazí iba vybrané kľúčové snímky s F-krivkou" + + msgid "Only keyframes of selected F-Curves are visible and editable" msgstr "Iba kľúčové snímky vybraných F-kriviek sú viditeľné a upraviteľné" @@ -85535,6 +86072,14 @@ msgid "Enter edit mode automatically after adding a new object" msgstr "Po pridaní nového objektu automaticky prejde do režimu editácie" +msgid "F-Curve High Quality Drawing" +msgstr "Vysokokvalitné kreslenie F-krivky" + + +msgid "Draw F-Curves using Anti-Aliasing (disable for better performance)" +msgstr "Nakreslí F-krivky použitím funkcie Anti-Aliasing - vyhladzovania hrán (vypnutie zlepší výkon)" + + msgid "Global Undo" msgstr "Globálne späť" @@ -87303,6 +87848,14 @@ msgid "Show Blender memory usage" msgstr "Zobrazí využitie pamäte aplikácie Blender" +msgid "Show Scene Duration" +msgstr "Zobraziť trvanie scény" + + +msgid "Show scene duration" +msgstr "Zobrazí trvanie scény" + + msgid "Show Statistics" msgstr "Zobraziť štatistiku" @@ -87371,14 +87924,6 @@ msgid "Slight" msgstr "Štíhle" -msgid "TimeCode Style" -msgstr "Štýl časového kódu" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "Formát zobrazených časových kódov pri nezobrazovaní časovania podľa snímok" - - msgid "Minimal Info" msgstr "Minimálne informácie" @@ -87555,6 +88100,38 @@ msgid "Color range used for weight visualization in weight painting mode" msgstr "Rozsah farby použitý na vizualizáciu váhy v režime maľovania váh" +msgid "Primitive Boolean" +msgstr "Primitívna logická hodnota" + + +msgid "RNA wrapped boolean" +msgstr "RNA zabalené logickou hodnotou" + + +msgid "Primitive Float" +msgstr "Primitívna hodnoty na pohyblivej čiarke" + + +msgid "RNA wrapped float" +msgstr "RNA zabalené hodnotou na pohyblivej čiarke" + + +msgid "Primitive Int" +msgstr "Primitívna hodnota celého čísla" + + +msgid "RNA wrapped int" +msgstr "RNA zabalené hodnotou celého čísla" + + +msgid "String Value" +msgstr "Hodnota reťazca" + + +msgid "RNA wrapped string" +msgstr "RNA zabalené reťazcom" + + msgid "ID Property Group" msgstr "ID skupiny vlastností" @@ -88867,10 +89444,6 @@ msgid "Tile Size" msgstr "Veľkosť dlaždice" -msgid "Limit the render time (excluding synchronization time).Zero disables the limit" -msgstr "Limit času prekreslenia (okrem času synchronizácie). Nula limit vypne" - - msgid "Transmission Bounces" msgstr "Odrazy prestupu" @@ -89743,10 +90316,6 @@ msgid "Is Axis Aligned" msgstr "Je zarovnaná os" -msgid "Is current view aligned to an axis (does not check the view is orthographic use \"is_perspective\" for that). Assignment sets the \"view_rotation\" to the closest axis aligned view" -msgstr "Je aktuálny pohľad zarovnaný na os (nekontroluje, či je pohľad ortografický, na to použite \"is_perspective\" - Je perspektívne). Priradenie nastaví \"view_rotation\" (otočenie pohľadu) na najbližší pohľad zarovnaný na os" - - msgid "Is Perspective" msgstr "Je perspektívne" @@ -90012,10 +90581,6 @@ msgid "Bias" msgstr "Sklon" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "Sklon smerom k plôške ďalej od objektu (v Blender jednotkách)" - - msgid "Algorithm to generate the margin" msgstr "Algoritmus na vygenerovanie okrajov" @@ -90763,6 +91328,22 @@ msgid "Active index in render view array" msgstr "Aktívny index v poli zobrazenia prekreslenia" +msgid "Retiming Handle" +msgstr "Manipulátor opätovného časovania" + + +msgid "Handle mapped to particular frame that can be moved to change playback speed" +msgstr "Manipulátor mapovaný na konkrétnu snímku, ktorú je možné presunúť a zmeniť tak rýchlosť prehrávania" + + +msgid "Position of retiming handle in timeline" +msgstr "Poloha manipulátora opätovného časovania na časovej osi" + + +msgid "Collection of RetimingHandle" +msgstr "Kolekcia manipulátorov opätovného časovania" + + msgid "Constraint influencing Objects inside Rigid Body Simulation" msgstr "Vynútenie ovplyvňujúce objekty vnútri Simulácie pevného telesa" @@ -91039,10 +91620,6 @@ msgid "Blender 2.7" msgstr "Blender 2.7" -msgid "Spring implementation used in blender 2.7. Damping is capped at 1.0" -msgstr "Implementácia pružnosti vo verzii Blender 2.7. Tlmenie je limitované na 1,0" - - msgid "Blender 2.8" msgstr "Blender 2.8" @@ -91699,10 +92276,6 @@ msgid "4096 px" msgstr "4096 px" -msgid "Number of time the light is reinjected inside light grids, 0 disable indirect diffuse light" -msgstr "Viackrát je zasvietené dovnútra svetelných mriežok, 0 vypne nepriame rozptylové svetlo" - - msgid "Filter Quality" msgstr "Kvalita filtra" @@ -91843,10 +92416,6 @@ msgid "Shadow Pool Size" msgstr "Veľkosť nádrže tieňov" -msgid "Size of the shadow pool, bigger pool size allows for more shadows in the scene but might not fits into GPU memory" -msgstr "Veľkosť nádrže tieňov, väčšia veľkosť nádrže umožňuje viac tieňov v scéne, ale nemusí sa vtesnať do pamäte GPU" - - msgid "16 MB" msgstr "16 MB" @@ -93006,10 +93575,6 @@ msgid "Scene Sequence" msgstr "Sekvencia scény" -msgid "Sequence strip to used the rendered image of a scene" -msgstr "Sekvenčný pás použitý na prekreslenie obrazu scény" - - msgid "Scene that this sequence uses" msgstr "Scéna, ktorú táto sekvencia používa" @@ -93018,10 +93583,6 @@ msgid "Camera Override" msgstr "Prepísať kameru" -msgid "Override the scenes active camera" -msgstr "Prepíše scény aktívnej kamery" - - msgid "Input type to use for the Scene strip" msgstr "Typ vstupu použitý pre pás scény" @@ -93726,10 +94287,6 @@ msgid "How to resolve overlap after transformation" msgstr "Určuje vyriešenie prekrytia po transformácii" -msgid "Move strips so transformed strips fits" -msgstr "Presunie pásy tak, aby sa prispôsobili transformovaným pásom" - - msgid "Trim or split strips to resolve overlap" msgstr "Orezanie alebo rozdelenie pásov na vyriešenie prekrytia" @@ -95882,6 +96439,14 @@ msgid "Show empty objects" msgstr "Zobrazí prázdne objekty" +msgid "Show Grease Pencil" +msgstr "Zobraziť pastelku" + + +msgid "Show grease pencil objects" +msgstr "Zobrazí objekty pastelky" + + msgid "Show Lights" msgstr "Zobraziť svetlá" @@ -96602,10 +97167,6 @@ msgid "3D Region" msgstr "3D región" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "3D región v tomto priestore, v prípade štvoritého zobrazenia oblasti kamery" - - msgid "Quad View Regions" msgstr "Štvorité zobrazenie regiónov" @@ -97160,10 +97721,6 @@ msgid "Endpoint V" msgstr "Koncový bod V" -msgid "Make this nurbs surface meet the endpoints in the V direction " -msgstr "Vytvorí tento povrch nurbs, ktorý sa stretáva s koncovými bodmi v smere V " - - msgid "Smooth the normals of the surface or beveled curve" msgstr "Vyhladí normály povrchov alebo kriviek skosení" @@ -98359,6 +98916,10 @@ msgid "Edge Select" msgstr "Vybraná hrana" +msgid "Edge Width" +msgstr "Šírka hrany" + + msgid "Active Vertex/Edge/Face" msgstr "Aktívny vrchol/hrana/plôška" @@ -98375,6 +98936,10 @@ msgid "Face Orientation Front" msgstr "Predná orientácia plôšky" +msgid "Face Retopology" +msgstr "Opätovná topológia plôšky" + + msgid "Face Selected" msgstr "Vybraná plôška" @@ -100041,6 +100606,10 @@ msgid "Consider objects as whole when finding volume center" msgstr "Pri hľadaní stredu objemu posudzuje objekty ako celok" +msgid "Project individual elements on the surface of other objects (Always enabled with Face Nearest)" +msgstr "Premietanie jednotlivých prvkov na povrch iných objektov (vždy zapnuté s funkciou Susedná plôška)" + + msgid "Use Snap for Rotation" msgstr "Použiť prichytenie pre rotáciu" @@ -100520,10 +101089,6 @@ msgid "Unit Scale" msgstr "Jednotka mierky" -msgid "Scale to use when converting between blender units and dimensions. When working at microscopic or astronomical scale, a small or large unit scale respectively can be used to avoid numerical precision problems" -msgstr "Mierka použitá pri konverzii medzi jednotkami a rozmermi Blendera. Pri práci na mikroskopickej alebo astronomickej stupnici sa môže použiť malá alebo veľká jednotka stupnice, aby sa predišlo problémom s číselnou presnosťou" - - msgid "Unit System" msgstr "Jednotková sústava" @@ -100792,6 +101357,14 @@ msgid "Display size for normals in the 3D view" msgstr "Zobrazí veľkosť pre normálne 3D zobrazenie" +msgid "Retopology Offset" +msgstr "Posuv opätovnej topológie" + + +msgid "Offset used to draw edit mesh in front of other geometry" +msgstr "Posuv používaný na kreslenie upravovanej povrchovej siete pred inou geometriou" + + msgid "Curves Sculpt Cage Opacity" msgstr "Nepriehľadnosť klietky tvarovania kriviek" @@ -100992,6 +101565,14 @@ msgid "Display Freestyle face marks, used with the Freestyle renderer" msgstr "Zobrazí značky plôšok Voľný štýl, používané prekreslením Voľný štýl" +msgid "Light Colors" +msgstr "Farby svetla" + + +msgid "Show light colors" +msgstr "Zobrazí farby svetla" + + msgid "HDRI Preview" msgstr "Náhľad HDRI" @@ -101060,6 +101641,10 @@ msgid "Show dashed lines indicating parent or constraint relationships" msgstr "Zobrazí prerušované čiary označujúce vzťahy rodiča alebo vynútenia príbuzenstva" +msgid "Retopology" +msgstr "Pretvorenie topológie" + + msgid "Sculpt Curves Cage" msgstr "Klietka tvarovania kriviek" @@ -105229,16 +105814,31 @@ msgid "Node Attachment (Off)" msgstr "Pripojenie uzla (vypnuté)" +msgctxt "WindowManager" +msgid "Vert/Edge Slide" +msgstr "Posunúť vrchol/hranu" + + msgctxt "WindowManager" msgid "Rotate" msgstr "Rotovať" +msgctxt "WindowManager" +msgid "TrackBall" +msgstr "Otočná guľa" + + msgctxt "WindowManager" msgid "Resize" msgstr "Zmeniť veľkosť" +msgctxt "WindowManager" +msgid "Rotate Normals" +msgstr "Otočiť normály" + + msgctxt "WindowManager" msgid "Automatic Constraint" msgstr "Automatické vynútenie" @@ -105284,10 +105884,20 @@ msgid "Sample a Point" msgstr "Zosnímať bod" +msgctxt "WindowManager" +msgid "Mesh Filter Modal Map" +msgstr "Modálna mapa filtra povrchovej siete" + + msgid "No selected keys, pasting over scene range" msgstr "Žiadne vybrané kľúče, prilepenie cez rozsah scény" +msgctxt "Operator" +msgid "Mirrored" +msgstr "Zrkadlené" + + msgid "Clipboard does not contain a valid matrix" msgstr "Schránka neobsahuje platnú matricu" @@ -105318,6 +105928,10 @@ msgid "Paste and Bake" msgstr "Prilepiť a zapiecť" +msgid "Unable to mirror, no mirror object/bone configured" +msgstr "Nemožno zrkadliť, nie je nakonfigurovaný žiadny objekt/kosť zrkadlenia" + + msgid "Denoising completed" msgstr "Odstránenie šumu dokončené" @@ -105362,6 +105976,10 @@ msgid "Requires NVIDIA GPU with compute capability %s" msgstr "Vyžaduje grafický procesor NVIDIA s možnosťou výpočtu %s" +msgid "HIP temporarily disabled due to compiler bugs" +msgstr "HIP dočasne vypnutý kvôli chybám kompilátora" + + msgid "and NVIDIA driver version %s or newer" msgstr "a NVIDIA driver verzia %s alebo novšia" @@ -105690,6 +106308,10 @@ msgid "Generating Cycles/EEVEE compatible material, but won't be visible with %s msgstr "Vygenerovanie cyklov/EEVEE kompatibilného materiálu, ale nebude viditeľný s mechanizmom %s" +msgid "Limit to" +msgstr "Limit na" + + msgid "Mesh '%s' has polygons with more than 4 vertices, cannot compute/export tangent space for it" msgstr "Povrchová sieť '%s' má mnohouholníky s viac ako 4 vrcholmi, nemôže pre ne vypočítať/exportovať tangenciálny priestor" @@ -105743,6 +106365,10 @@ msgid "Add Material Variant" msgstr "Pridať variant materiálu" +msgid "No glTF Animation" +msgstr "Bez glTF animácie" + + msgid "Variant" msgstr "Variant" @@ -105756,6 +106382,10 @@ msgid "Add a new Variant Slot" msgstr "Pridať novú zásuvku Variant" +msgid "Curves as NURBS" +msgstr "Krivky ako NURBS" + + msgid "untitled" msgstr "nepomenované" @@ -109669,11 +110299,6 @@ msgid "Decimate (Ratio)" msgstr "Zdecimovať (pomer)" -msgctxt "Operator" -msgid "Decimate (Allowed Change)" -msgstr "Zdecimovať (povolená zmena)" - - msgctxt "Operator" msgid "Selection to Cursor Value" msgstr "Výber na hodnotu kurzora" @@ -109684,6 +110309,11 @@ msgid "Flatten Handles" msgstr "Zrovnať manipulátory" +msgctxt "Operator" +msgid "Decimate (Allowed Change)" +msgstr "Zdecimovať (povolená zmena)" + + msgctxt "Operator" msgid "Less" msgstr "Menej" @@ -110112,6 +110742,11 @@ msgid "Link to Viewer" msgstr "Prepojiť na diváka" +msgctxt "Operator" +msgid "Exit Group" +msgstr "Ukončiť skupinu" + + msgctxt "Operator" msgid "Online Manual" msgstr "Priame prepojenie manuálu" @@ -110143,11 +110778,6 @@ msgid "Slot %d" msgstr "Zásuvka %d" -msgctxt "Operator" -msgid "Exit Group" -msgstr "Ukončiť skupinu" - - msgctxt "Operator" msgid "Edit" msgstr "Upraviť" @@ -111240,6 +111870,11 @@ msgid "Wavefront (.obj)" msgstr "Wavefront (.obj)" +msgctxt "Operator" +msgid "Stanford PLY (.ply) (experimental)" +msgstr "Stanford PLY (.ply) (experimentálne)" + + msgctxt "Operator" msgid "STL (.stl) (experimental)" msgstr "STL (.stl) (experimentálne)" @@ -111362,6 +111997,10 @@ msgid "Scene Statistics" msgstr "Štatistika scény" +msgid "Scene Duration" +msgstr "Trvanie scény" + + msgid "System Memory" msgstr "Systémová pamäť" @@ -112255,11 +112894,26 @@ msgid "Locks" msgstr "Zamykanie" +msgctxt "Operator" +msgid "Sphere" +msgstr "Guľa" + + msgctxt "Operator" msgid "Box Show" msgstr "Pole zobrazenia" +msgctxt "Operator" +msgid "Toggle Visibility" +msgstr "Prepnúť viditeľnosť" + + +msgctxt "Operator" +msgid "Hide Active Face Set" +msgstr "Skryť aktívnu sústavu plôšok" + + msgctxt "Operator" msgid "Invert Visible" msgstr "Inverzia viditeľných" @@ -112270,6 +112924,26 @@ msgid "Hide Masked" msgstr "Skryť maskované" +msgctxt "Operator" +msgid "Box Add" +msgstr "Pridať poľom" + + +msgctxt "Operator" +msgid "Lasso Add" +msgstr "Pridať lasom" + + +msgctxt "Operator" +msgid "Fair Positions" +msgstr "Spravodlivé pozície" + + +msgctxt "Operator" +msgid "Fair Tangency" +msgstr "Spravodlivá dotyčnica" + + msgid "Set Pivot" msgstr "Nastaviť otočný bod" @@ -113002,6 +113676,11 @@ msgid "Visual Geometry to Mesh" msgstr "Vizuálna geometria na povrchovú sieť" +msgctxt "Operator" +msgid "Make Parent without Inverse (Keep Transform)" +msgstr "Vytvoriť rodiča bez inverzie (zachovať transformáciu)" + + msgctxt "Operator" msgid "Limit Total Vertex Groups" msgstr "Celkový limit skupín vrcholov" @@ -113959,6 +114638,10 @@ msgid "Loading failed: " msgstr "Načítanie zlyhalo: " +msgid "Loading \"%s\" failed: " +msgstr "Načítanie \"%s\" zlyhalo: " + + msgid "Linked Data" msgstr "Prepojené údaje" @@ -115242,6 +115925,14 @@ msgid "Can't edit this property from a linked data-block" msgstr "Nemožno upravovať túto vlastnosť z prepojeného bloku údajov" +msgid "No channels to operate on" +msgstr "Žiadne kanály na prevádzku" + + +msgid "No keyframes to focus on." +msgstr "Žiadne kľúčové snímky na zameranie." + + msgid "" msgstr "" @@ -115366,6 +116057,10 @@ msgid "Coefficient" msgstr "Koeficient" +msgid "Modifier requires original data" +msgstr "Modifikátor vyžaduje pôvodné údaje" + + msgid "" msgstr "" @@ -116677,6 +117372,34 @@ msgid "Drop %s on slot %d of %s" msgstr "Upustenie %s do zásuvky %d z %s" +msgid "Expected an array of numbers: [n, n, ...]" +msgstr "Očakávané pole čísel: [n, n, ...]" + + +msgid "Expected a number" +msgstr "Očakávané číslo" + + +msgid "Paste expected 3 numbers, formatted: '[n, n, n]'" +msgstr "Prilepia sa očakávané 3 čísla vo formáte: '[n, n, n]'" + + +msgid "Paste expected 4 numbers, formatted: '[n, n, n, n]'" +msgstr "Prilepia sa očakávané 4 čísla vo formáte: '[n, n, n, n]'" + + +msgid "Unsupported key: Unknown" +msgstr "Nepodporovaná klávesa: Neznáma" + + +msgid "Unsupported key: CapsLock" +msgstr "Nepodporovaný klávesa: CapsLock" + + +msgid "Failed to find '%s'" +msgstr "Nepodarilo sa nájsť '%s'" + + msgid "Menu Missing:" msgstr "Chýbajúca ponuka:" @@ -117217,6 +117940,18 @@ msgid "Browse ID data to be linked" msgstr "Prehľadávať údaje ID na prepojenie" +msgid "The data-block %s is not overridable" +msgstr "Blok údajov %s nie je prepísateľný" + + +msgid "The type of data-block %s is not yet implemented" +msgstr "Typ %s bloku údajov ešte nie je implementovaný" + + +msgid "The data-block %s could not be overridden" +msgstr "Blok údajov %s nebolo možné prepísať" + + msgctxt "Object" msgid "New" msgstr "Nový" @@ -117395,6 +118130,10 @@ msgid "No filepath given" msgstr "Nie je zadaná žiadna cesta k súboru" +msgid "Could not add a layer to the cache file" +msgstr "Nepodarilo sa pridať vrstvu do súboru zásobníka" + + msgid "Global Orientation" msgstr "Globálna orientácia" @@ -117463,18 +118202,10 @@ msgid "Unable to import '%s'" msgstr "Nemožno importovať \"%s\"" -msgid "Limit to" -msgstr "Limit na" - - msgid "Triangulated Mesh" msgstr "Trojuholníková povrchová sieť" -msgid "Curves as NURBS" -msgstr "Krivky ako NURBS" - - msgid "Grouping" msgstr "Zoskupenie" @@ -118766,6 +119497,22 @@ msgid "The remesher cannot run with a Multires modifier in the modifier stack" msgstr "Pretvárač povrchovej siete nemôže byť spustený s modifikátorom Viacnásobné rozlíšenie v zásobníku modifikátorov" +msgid "QuadriFlow: Remeshing cancelled" +msgstr "QuadriFlow: Pretvorenie povrchovej siete zrušené" + + +msgid "QuadriFlow: The mesh needs to be manifold and have face normals that point in a consistent direction" +msgstr "QuadriFlow: Povrchová sieť musí byť rozmanitá a musí mať normály plôšok, ktoré ukazujú konzistentným smerom" + + +msgid "QuadriFlow: Remeshing completed" +msgstr "QuadriFlow: Pretvorenie povrchovej siete dokončené" + + +msgid "QuadriFlow: Remeshing failed" +msgstr "QuadriFlow: Pretvorenie povrchovej siete zlyhalo" + + msgid "Select Collection" msgstr "Vybrať kolekciu" @@ -118998,6 +119745,18 @@ msgid "Bake failed: invalid canvas" msgstr "Zapečenie zlyhalo: neplatné plátno" +msgid "Baking canceled!" +msgstr "Zapečenie zrušené!" + + +msgid "DynamicPaint: Bake complete! (%.2f)" +msgstr "Dynamická maľba: Zapečenie dokončené! (%.2f)" + + +msgid "DynamicPaint: Bake failed: %s" +msgstr "Dynamická maľba: Zapečenie zlyhalo: %s" + + msgid "Removed %d double particle(s)" msgstr "Odstránených %d dvojitých častíc" @@ -119042,6 +119801,18 @@ msgid "Fluid: Could not use default cache directory '%s', please define a valid msgstr "Kvapalina: Nepodarilo sa použiť predvolený priečinok vyrovnávacej pamäte '%s', definujte, prosím, platnú cestu zásobníka manuálne" +msgid "Fluid: %s complete! (%.2f)" +msgstr "Kvapalina: %s dokončené! (%.2f)" + + +msgid "Fluid: %s failed: %s" +msgstr "Kvapalina: %s zlyhala: %s" + + +msgid "Fluid: %s canceled!" +msgstr "Kvapalina: %s zrušené!" + + msgid "Library override data-blocks only support Disk Cache storage" msgstr "Blok údajov prepisu knižnice iba podporuje úložisko zásobníka disku" @@ -119326,6 +120097,14 @@ msgid "Skipping existing frame \"%s\"" msgstr "Preskočenie existujúcej snímky \"%s\"" +msgid "No active object, unable to apply the Action before rendering" +msgstr "Žiadny aktívny objekt, nemožné použiť akciu pred prekreslením" + + +msgid "Object %s has no pose, unable to apply the Action before rendering" +msgstr "Objekt %s nemá žiadnu pozíciu, nemožno použiť akciu pred prekreslením" + + msgid "Unable to remove material slot in edit mode" msgstr "Nemožno odstrániť zásuvku materiálu v režime editácie" @@ -119583,6 +120362,10 @@ msgid "Invalid UV map: UV islands must not overlap" msgstr "Neplatná UV mapa: UV ostrovy sa nesmú prekrývať" +msgid "Cursor must be over the surface mesh" +msgstr "Kurzor musí byť nad povrchovou sieťou" + + msgid "Curves do not have surface attachment information" msgstr "Krivky nemajú informácie o pripojení povrchu" @@ -119619,6 +120402,22 @@ msgid "Packed MultiLayer files cannot be painted: %s" msgstr "Zbalené viacvrstvové súbory nemožno maľovať: %s" +msgid " UVs," +msgstr "UV" + + +msgid " Materials," +msgstr " Materiály," + + +msgid " Textures," +msgstr " Textúry," + + +msgid " Stencil," +msgstr " Šablóna," + + msgid "Untitled" msgstr "Nepomenovaný" @@ -119723,6 +120522,10 @@ msgid "Texture mapping not set to 3D, results may be unpredictable" msgstr "Mapovanie textúr nie je nastavené na 3D, výsledky môžu byť nepredvídateľné" +msgid "%s: Confirm, %s: Cancel" +msgstr "%s: Potvrdiť, %s: Zrušiť" + + msgid "Move the mouse to expand the mask from the active vertex. LMB: confirm mask, ESC/RMB: cancel" msgstr "Pohybom myši rozšírite masku aktívneho vrcholu. ĽTM: potvrdenie masky, ESC/PTM: zrušenie" @@ -120119,6 +120922,10 @@ msgid "Yesterday" msgstr "Včera" +msgid "Could not rename: %s" +msgstr "Nepodarilo sa premenovať: %s" + + msgid "Unable to create configuration directory to write bookmarks" msgstr "Nemožno vytvoriť konfiguračný priečinok na písanie záložiek" @@ -120476,6 +121283,14 @@ msgid "All %d rotation channels were filtered" msgstr "Filtrované boli všetky %d kanály rotácie" +msgid "No drivers deleted" +msgstr "Neodstránili sa žiadne ovládače" + + +msgid "Deleted %u drivers" +msgstr "Odstránené %u ovládače" + + msgid "Decimate Keyframes" msgstr "Zdecimovať kľúčové snímky" @@ -120492,6 +121307,18 @@ msgid "Ease Keys" msgstr "Odľahčiť kľúčové" +msgid "Gaussian Smooth" +msgstr "Gaussovo vyhladenie" + + +msgid "Cannot find keys to operate on." +msgstr "Nemožno nájsť kľúče na ovládanie." + + +msgid "Decimate: Skipping non linear/bezier keyframes!" +msgstr "Decimovanie: Preskočenie nelineárnych/bézierových kľúčových snímok!" + + msgid "There is no animation data to operate on" msgstr "Neexistujú žiadne údaje animácie na spracovanie" @@ -120708,6 +121535,10 @@ msgid " | Objects:%s/%s" msgstr " | Objekty:%s/%s" +msgid "Duration: %s (Frame %i/%i)" +msgstr "Trvanie: %s (snímka %i/%i)" + + msgid "Memory: %s" msgstr "Pamäť: %s" @@ -121737,6 +122568,14 @@ msgid "Select movie or image strips" msgstr "Vyberie filmové alebo obrazové pásy" +msgid "No handle available" +msgstr "Žiadny dostupný manipulátor" + + +msgid "This strip type can not be retimed" +msgstr "Tento typ pásu nemožno opätovne časovať" + + msgid "No active sequence!" msgstr "Žiadna aktívna sekvencia!" @@ -123008,6 +123847,142 @@ msgid "All line art objects are now cleared" msgstr "Všetky objekty čiarovej grafiky sú teraz zmazané" +msgid "No active object or active object isn't a GPencil object." +msgstr "Žiadny aktívny objekt ani aktívny objekt nie je objektom Pastelky" + + +msgid "Could not open Alembic archive for reading! See console for detail." +msgstr "Nepodarilo sa otvoriť archív Alembic na čítanie! Podrobnosti nájdete v časti konzola." + + +msgid "PLY Importer: failed importing, unknown error." +msgstr "Importér PLY: neúspešný import, neznáma chyba." + + +msgid "PLY Importer: failed importing, no vertices." +msgstr "Importér PLY: neúspešný import, žiadne vrcholy." + + +msgid "PLY Importer: %s: %s" +msgstr "Importér PLY: %s: %s" + + +msgid "%s: Couldn't determine package-relative file name from path %s" +msgstr "%s: Z cesty %s sa nepodarilo určiť relatívny názov súboru balíka" + + +msgid "%s: Couldn't copy file %s to %s." +msgstr "%s: Nepodarilo sa skopírovať súbor %s do %s." + + +msgid "%s: Couldn't split UDIM pattern %s" +msgstr "%s: Nepodarilo sa rozdeliť vzor UDIM %s" + + +msgid "%s: Will not overwrite existing asset %s" +msgstr "%s: Existujúcich %s aktív nebude prepísaných" + + +msgid "%s: Can't resolve path %s" +msgstr "%s: Nedá sa vyriešiť cesta %s" + + +msgid "%s: Can't resolve path %s for writing" +msgstr "%s: Nemožno vyriešiť cestu %s pre zápis" + + +msgid "%s: Can't copy %s. The source and destination paths are the same" +msgstr "%s: Nemožno kopírovať %s. Zdrojová a cieľová cesta sú rovnaké" + + +msgid "%s: Can't write to asset %s. %s." +msgstr "%s: Nemožno zapísať do aktíva %s. %s." + + +msgid "%s: Can't open source asset %s" +msgstr "%s: Aktíva s otvoreným zdrojovým kódom nemožné %s" + + +msgid "%s: Will not copy zero size source asset %s" +msgstr "%s: Zdrojový zdroj s nulovou veľkosťou %s nebude skopírovaný" + + +msgid "%s: Null buffer for source asset %s" +msgstr "%s: Nulový zásobník pre %s zdrojových aktív" + + +msgid "%s: Can't open destination asset %s for writing" +msgstr "%s: Nemožno otvoriť %s cieľových zdrojov pre zápis" + + +msgid "%s: Error writing to destination asset %s" +msgstr "%s: Chyba pri zápise do cieľového zdroja %s" + + +msgid "%s: Couldn't close destination asset %s" +msgstr "%s: Nepodarilo sa uzavrieť cieľové aktívum %s" + + +msgid "%s: Texture import directory path empty, couldn't import %s" +msgstr "%s: Cesta priečinka importu textúr je prázdna, nepodarilo sa importovať %s" + + +msgid "%s: import directory is relative but the blend file path is empty. Please save the blend file before importing the USD or provide an absolute import directory path. Can't import %s" +msgstr "%s: Importovať priečinok je relatívne, ale cesta k zmiešanému súboru je prázdna. Pred importom USD uložte blend súbor alebo zadajte absolútnu cestu k priečinku importu. Nemožno importovať %s" + + +msgid "%s: Couldn't create texture import directory %s" +msgstr "%s: Nepodarilo sa vytvoriť priečinok importu textúr %s" + + +msgid "USD Export: Unable to delete existing usdz file %s" +msgstr "USD Export: Nemožno odstrániť existujúci súbor USDZ %s" + + +msgid "USD Export: Couldn't move new usdz file from temporary location %s to %s" +msgstr "USD Export: Nový súbor USDZ sa nepodarilo presunúť z dočasného umiestnenia %s do %s" + + +msgid "USD Export: unable to find suitable USD plugin to write %s" +msgstr "USD Export: nemožno nájsť vhodný doplnok USD pre zápis %s" + + +msgid "Could not open USD archive for reading! See console for detail." +msgstr "Nepodarilo sa otvoriť archív USD na čítanie! Podrobnosti nájdete v časti konzola." + + +msgid "USD Import: unable to open stage to read %s" +msgstr "Import USD: nemožné otvoriť oblasť na čítanie %s" + + +msgid "Unhandled Gprim type: %s (%s)" +msgstr "Typ Gprim bez manipulácie: %s (%s)" + + +msgid "USD Export: no bounds could be computed for %s" +msgstr "USD Export: pre %s nebolo možné vypočítať žiadne hranice" + + +msgid "USD export: couldn't export in-memory texture to %s" +msgstr "Export v USD: textúru v pamäti nebolo možné exportovať do %s" + + +msgid "USD export: couldn't copy texture tile from %s to %s" +msgstr "Export USD: nepodarilo sa skopírovať dlaždicu textúry z %s do %s" + + +msgid "USD export: couldn't copy texture from %s to %s" +msgstr "Export USD: nepodarilo sa skopírovať textúru z %s do %s" + + +msgid "USD Export: failed to resolve .vdb file for object: %s" +msgstr "USD Export: nepodarilo sa vyriešiť súbor .vdb pre objekt: %s" + + +msgid "USD Export: couldn't construct relative file path for .vdb file, absolute path will be used instead" +msgstr "USD Export: nebolo možné vytvoriť relatívnu cestu súboru pre súbor .vdb, namiesto toho sa použije absolútna cesta" + + msgid "Override template experimental feature is disabled" msgstr "Experimentálna funkcia šablóny prepisu je vypnutá" @@ -123599,6 +124574,10 @@ msgid "ViewLayer '%s' does not contain object '%s'" msgstr "Zobrazená vrstva '%s' neobsahuje objekt '%s'" +msgid "AOV not found in view-layer '%s'" +msgstr "AOV sa nenašiel vo vrstve zobrazenia \"%s\"" + + msgid "Failed to add the color modifier" msgstr "Zlyhalo pridanie modifikátora farby" @@ -124157,10 +125136,6 @@ msgid "Region not found in space type" msgstr "Oblasť sa v type priestoru nenašla" -msgid "%s '%s' has category '%s' " -msgstr "%s '%s' má kategóriu '%s' " - - msgid "%s parent '%s' for '%s' not found" msgstr "%s rodič '%s' pre '%s' sa nenašiel" @@ -124177,6 +125152,10 @@ msgid "Font not packed" msgstr "Písmo nie je zbalené" +msgid "Could not find grid with name %s" +msgstr "Nepodarilo sa nájsť mriežku s názvom %s" + + msgid "Not a non-modal keymap" msgstr "Bez netypického priradenia kláves" @@ -126070,6 +127049,14 @@ msgid "Disabled, Blender was compiled without OpenSubdiv" msgstr "Zakázané, Blender bol skompilovaný bez OpenSubdiv" +msgid "Half-Band Width" +msgstr "Šírka polovičného pásma" + + +msgid "Half the width of the narrow band in voxel units" +msgstr "Polovica šírky úzkeho pásma vo voxelových jednotkách" + + msgid "The face to retrieve data from. Defaults to the face from the context" msgstr "Plôška na načítanie údajov. Predvolené hodnoty plôšky z kontextu" @@ -126302,6 +127289,18 @@ msgid "Direction in which to scale the element" msgstr "Smer, v ktorom má prvok zmeniť mierku" +msgid "Radius must be greater than 0" +msgstr "Polomer musí byť väčší ako 0" + + +msgid "Half-band width must be greater than 1" +msgstr "Šírka polovičného pásma musí byť väčšia ako 1" + + +msgid "Voxel size is too small" +msgstr "Veľkosť voxelu je príliš malá" + + msgid "The parts of the geometry that go into the first output" msgstr "Časti geometrie, ktoré sa dostanú do prvého výstupu" @@ -127032,6 +128031,10 @@ msgid "WaveDistortion" msgstr "SkreslenieVlny" +msgid "Region could not be drawn!" +msgstr "Región sa nedal nakresliť!" + + msgid "Input pending " msgstr "Čaká sa na vstup " @@ -127116,6 +128119,10 @@ msgid "Engine '%s' not available for scene '%s' (an add-on may need to be instal msgstr "Mechanizmus '%s' nie je k dispozícii pre scénu '%s' (doplnok je potrebné nainštalovať alebo zapnúť)" +msgid "Library \"%s\" needs overrides resync" +msgstr "Knižnica \"%s\" potrebuje opätovnú synchronizáciu prepisov" + + msgid "%d libraries and %d linked data-blocks are missing (including %d ObjectData and %d Proxies), please check the Info and Outliner editors for details" msgstr "Chýbajú %d knižnice a %d prepojené bloky údajov (vrátane %d ObjectData a %d náhrady), podrobnosti nájdete v editoroch Informácie a Líniový prehľad" @@ -127128,6 +128135,34 @@ msgid "%d sequence strips were not read because they were in a channel larger th msgstr "%d pásy sekvencií neboli prečítané, pretože boli v kanáli väčšom ako %d" +msgid "Cannot read file \"%s\": %s" +msgstr "Súbor \"%s\" nemožno načítať: %s" + + +msgid "File format is not supported in file \"%s\"" +msgstr "Formát súboru nie je podporovaný v súbore \"%s\"" + + +msgid "File path \"%s\" invalid" +msgstr "Cesta k súboru \"%s\" je neplatná" + + +msgid "Unknown error loading \"%s\"" +msgstr "Neznáma chyba pri načítaní \"%s\"" + + +msgid "Application Template \"%s\" not found" +msgstr "Šablóna aplikácie \"%s\" sa nenašla" + + +msgid "Could not read \"%s\"" +msgstr "Nemožno načítať \"%s\"" + + +msgid "Cannot save blend file, path \"%s\" is not writable" +msgstr "Nemožno uložiť blend súbor, cesta \"%s\" nie je zapisovateľná" + + msgid "Cannot overwrite used library '%.240s'" msgstr "Použitú knižnicu '%.240s' nemožno prepísať" @@ -127136,6 +128171,10 @@ msgid "Saved \"%s\"" msgstr "Uložené \"%s\"" +msgid "Can't read alternative start-up file: \"%s\"" +msgstr "Nemožno načítať alternatívny spúšťací súbor: \"%s\"" + + msgid "The \"filepath\" property was not an absolute path: \"%s\"" msgstr "Vlastnosť \"filepath\" nebola absolútna cesta: \"%s\"" @@ -127860,6 +128899,10 @@ msgid "View the viewport with virtual reality glasses (head-mounted displays)" msgstr "Prezrite si záber s okuliarmi pre virtuálnu realitu (displejmi pripevnenými na hlavu)." +msgid "This is an early, limited preview of in development VR support for Blender." +msgstr "Toto je prvotný, obmedzený náhľad vo vývoji podpory VR pre Blender" + + msgid "Copy Global Transform" msgstr "Kopírovať globálnu transformáciu" @@ -128064,6 +129107,10 @@ msgid "Allows managing UI translations directly from Blender (update main .po fi msgstr "Umožní riadiť preklad UI priamo z Blendera (aktualizovať hlavný .po súbor, aktualizovať preklady skriptov, atď.)" +msgid "Still in development, not all features are fully implemented yet!" +msgstr " Stále vo vývoji, nie všetky vlastnosti sú ešte úplne implementované!" + + msgid "All Add-ons" msgstr "Všetky doplnky" @@ -128295,3 +129342,219 @@ msgstr "Rozpracovaný" msgid "Starting" msgstr "Začínajúci" + +msgid "Generation" +msgstr "Generovanie" + + +msgid "Utility" +msgstr "Obslužný program" + + +msgid "Attach Hair Curves to Surface" +msgstr "Pripevniť krivky vlasov na povrch" + + +msgid "Attaches hair curves to a surface mesh" +msgstr "Pripevní krivky vlasov na povrch siete" + + +msgid "Blend Hair Curves" +msgstr "Prelínať krivky vlasov" + + +msgid "Blends shape between multiple hair curves in a certain radius" +msgstr "Prelína tvar medzi viacerými krivkami vlasov v určitom okruhu" + + +msgid "Braid Hair Curves" +msgstr "Krivky vrkočov vlasov" + + +msgid "Deforms existing hair curves into braids using guide curves" +msgstr "Deformuje existujúce krivky vlasov na vrkoče použitím vodiacich kriviek" + + +msgid "Clump Hair Curves" +msgstr "Zhlukovať krivky vlasov" + + +msgid "Clumps together existing hair curves using guide curves" +msgstr "Zhlukuje existujúce krivky vlasov pomocou vodiacich kriviek" + + +msgid "Create Guide Index Map" +msgstr "Vytvoriť mapu indexu vodenia" + + +msgid "Creates an attribute that maps each curve to its nearest guide via index" +msgstr "Vytvorí atribút, ktorý mapuje každú krivku k jej najbližšiemu vodeniu prostredníctvom indexu" + + +msgid "Curl Hair Curves" +msgstr "Krivky kučery vlasov" + + +msgid "Deforms existing hair curves into curls using guide curves" +msgstr "Deformuje existujúce krivky vlasov na kučery použitím kriviek vodenia" + + +msgid "Curve Info" +msgstr "Informácia krivky" + + +msgid "Reads information about each curve" +msgstr "Číta informácie o každej krivke" + + +msgid "Curve Root" +msgstr "Koreň krivky" + + +msgid "Reads information about each curve's root point" +msgstr "Číta informácie o koreňovom bode každej krivky" + + +msgid "Curve Segment" +msgstr "Segment krivky" + + +msgid "Reads information each point's previous curve segment" +msgstr "Číta informácie o predošlom segmente krivky každého bodu" + + +msgid "Curve Tip" +msgstr "Špička krivky" + + +msgid "Reads information about each curve's tip point" +msgstr "Číta informácie o bode špičky každej krivky" + + +msgid "Displace Hair Curves" +msgstr "Posunúť krivky vlasov" + + +msgid "Displaces hair curves by a vector based on various options" +msgstr "Posúva krivky vlasov vektorom na základe rôznych možností" + + +msgid "Duplicate Hair Curves" +msgstr "Vytvoriť kópiu krivky vlasov" + + +msgid "Duplicates hair curves a certain number of times within a radius" +msgstr "Vytvorí kópie krivky vlasov určitý počet krát v rámci polomeru" + + +msgid "Frizz Hair Curves" +msgstr "Rozstrapatiť krivky vlasov" + + +msgid "Deforms hair curves using a random vector per point to frizz them" +msgstr "Deformuje krivky vlasov pomocou náhodného vektora na bod, čím ich rozstrapatí" + + +msgid "Generate Hair Curves" +msgstr "Vygenerovať krivky vlasov" + + +msgid "Generates new hair curves on a surface mesh" +msgstr "Vygeneruje nové krivky vlasov na povrchovej sieti" + + +msgid "Hair Attachment Info" +msgstr "Informácie o prichytení vlasov" + + +msgid "Reads attachment information regarding a surface mesh" +msgstr "Číta informácie o prichytení týkajúce sa povrchovej siete" + + +msgid "Hair Curves Noise" +msgstr "Šum krivky vlasov" + + +msgid "Deforms hair curves using a noise texture" +msgstr "Deformuje krivky vlasov použitím textúry šumu" + + +msgid "Interpolate Hair Curves" +msgstr "Interpolovať krivky vlasov" + + +msgid "Interpolates existing guide curves on a surface mesh" +msgstr "Interpoluje existujúce vodiace krivky na povrchovej sieti" + + +msgid "Redistribute Curve Points" +msgstr "Prerozdeliť body krivky" + + +msgid "Redistributes existing control points evenly along each curve" +msgstr "Prerozdelí existujúce riadiace body rovnomerne pozdĺž každej krivky" + + +msgid "Restore Curve Segment Length" +msgstr "Obnoviť dĺžku segmentu krivky" + + +msgid "Restores the length of each curve segment using a previous state after deformation" +msgstr "Obnoví dĺžku každého segmentu krivky použitím predošlého stavu po deformácii" + + +msgid "Roll Hair Curves" +msgstr "Zvinúť krivky vlasov" + + +msgid "Rolls up hair curves starting from their tips" +msgstr "Zvinie krivky vlasov od ich špičiek" + + +msgid "Rotate Hair Curves" +msgstr "Otočiť krivky vlasov" + + +msgid "Rotates each hair curve around an axis" +msgstr "Otáča každú krivku vlasov okolo osi" + + +msgid "Set Hair Curve Profile" +msgstr "Nastaviť profil krivky vlasov" + + +msgid "Sets the radius attribute of hair curves acoording to a profile shape" +msgstr "Nastaví atribút polomeru kriviek vlasov na tvar profilu" + + +msgid "Shrinkwrap Hair Curves" +msgstr "Zmrštiť krivky vlasov" + + +msgid "Shrinkwraps hair curves to a mesh surface from below and optionally from above" +msgstr "Zmrští krivky vlasov na povrchovej sieti zdola a voliteľne zhora" + + +msgid "Smooth Hair Curves" +msgstr "Vyhladiť krivky vlasov" + + +msgid "Smoothes the shape of hair curves" +msgstr "Vyhladí tvar kriviek vlasov" + + +msgid "Straighten Hair Curves" +msgstr "Narovnať krivky vlasov" + + +msgid "Straightens hair curves between root and tip" +msgstr "Narovná krivky vlasov medzi koreňom a špičkou" + + +msgid "Trim Hair Curves" +msgstr "Zastrihnúť krivky vlasov" + + +msgid "Trims or scales hair curves to a certain length" +msgstr "Zastrihne alebo upraví krivky vlasov na určitú dĺžku" + diff --git a/locale/po/sr.po b/locale/po/sr.po index c621818e85e..ce16d815cf4 100644 --- a/locale/po/sr.po +++ b/locale/po/sr.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2012-09-07 22:32+0100\n" "Last-Translator: Nikola Radovanovic \n" "Language-Team: Nikola Radovanovic\n" @@ -20424,10 +20424,6 @@ msgid "Save a Collada file" msgstr "Сачувај као Collada датотеку" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Примени модификаторе пи извозу меша (без губитка квалитета)" - - msgid "Only export deforming bones with armatures" msgstr "Извози само кости деформације са костуром" @@ -22481,10 +22477,6 @@ msgid "Bias" msgstr "Пристрасност" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "Пристрасност према лицима удаљеним од објекта (у блендеровим јединицама)" - - msgid "Number of samples used for ambient occlusion baking from multires" msgstr "Број узорака коришћених за печење амбијенталног сенчења за вишерезолуцијоне објекте" @@ -23069,10 +23061,6 @@ msgid "Scene Sequence" msgstr "Секвенца сцене" -msgid "Override the scenes active camera" -msgstr "Величина текста" - - msgid "Sound Sequence" msgstr "Звучна секвенца" diff --git a/locale/po/sr@latin.po b/locale/po/sr@latin.po index 797262a50a2..1d86a4985cf 100644 --- a/locale/po/sr@latin.po +++ b/locale/po/sr@latin.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2012-09-07 22:32+0100\n" "Last-Translator: Nikola Radovanovic \n" "Language-Team: Nikola Radovanovic\n" @@ -20424,10 +20424,6 @@ msgid "Save a Collada file" msgstr "Sačuvaj kao Collada datoteku" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Primeni modifikatore pi izvozu meša (bez gubitka kvaliteta)" - - msgid "Only export deforming bones with armatures" msgstr "Izvozi samo kosti deformacije sa kosturom" @@ -22481,10 +22477,6 @@ msgid "Bias" msgstr "Pristrasnost" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "Pristrasnost prema licima udaljenim od objekta (u blenderovim jedinicama)" - - msgid "Number of samples used for ambient occlusion baking from multires" msgstr "Broj uzoraka korišćenih za pečenje ambijentalnog senčenja za višerezolucijone objekte" @@ -23069,10 +23061,6 @@ msgid "Scene Sequence" msgstr "Sekvenca scene" -msgid "Override the scenes active camera" -msgstr "Veličina teksta" - - msgid "Sound Sequence" msgstr "Zvučna sekvenca" diff --git a/locale/po/sv.po b/locale/po/sv.po index 24b80cc4e3d..9dda4a56773 100644 --- a/locale/po/sv.po +++ b/locale/po/sv.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: \n" "Last-Translator: Arvid Rudling \n" "Language-Team: \n" @@ -2444,10 +2444,6 @@ msgid "Lock to Object" msgstr "Lås till objekt" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "3D-område i detta rum, kameraområde vid 4-vägsvy" - - msgid "Texture slot name" msgstr "Namn på texturplats" diff --git a/locale/po/th.po b/locale/po/th.po index 4e49c08b794..a624a92a30b 100644 --- a/locale/po/th.po +++ b/locale/po/th.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2019-12-08 17:40+0700\n" "Last-Translator: gongpha \n" "Language-Team: Thai Translation Team \n" diff --git a/locale/po/tr.po b/locale/po/tr.po index 381423a8eab..50cde620b4a 100644 --- a/locale/po/tr.po +++ b/locale/po/tr.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2023-02-05 22:00+0300\n" "Last-Translator: Emir SARI \n" "Language-Team: Turkish <>\n" @@ -5139,10 +5139,6 @@ msgid "Save the image with another name and/or settings" msgstr "Görseli başka ad ve/veya ayarlarla kaydet" -msgid "Create a new image file without modifying the current image in blender" -msgstr "Blender'daki geçerli dosyayı değiştirmeden yeni bir görsel dosyası oluştur" - - msgid "Save As Render" msgstr "Sunum Olarak Kaydet" @@ -5467,10 +5463,6 @@ msgid "Tooltips" msgstr "İpuçları" -msgid "TimeCode Style" -msgstr "Zaman Kodu Biçimi" - - msgid "Minimal Info" msgstr "Asgari Bilgi" diff --git a/locale/po/uk.po b/locale/po/uk.po index e1ad9a84cfd..b6f46605f69 100644 --- a/locale/po/uk.po +++ b/locale/po/uk.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2021-03-01 19:15+0000\n" "Last-Translator: lxlalexlxl \n" "Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/lxlalexlxl/blender/language/uk_UA/)\n" @@ -11871,10 +11871,6 @@ msgid "Library Browser" msgstr "Огляд бібліотек" -msgid "Whether we may browse blender files' content or not" -msgstr "Можливо чи ні оглядати вміст файлів Blender" - - msgid "Reverse Sorting" msgstr "Розвернути Сортування" @@ -15089,10 +15085,6 @@ msgid "Gizmo Properties" msgstr "Властивості гізмо" -msgid "Input properties of an Gizmo" -msgstr "Увідні властивості гізмо" - - msgid "Modifier name" msgstr "Назва модифікатора" @@ -21206,26 +21198,14 @@ msgid "Resolution X" msgstr "Роздільність X" -msgid "Number of sample along the x axis of the volume" -msgstr "Кількість вибірок уздовж осі x об'єму " - - msgid "Resolution Y" msgstr "Роздільність Y" -msgid "Number of sample along the y axis of the volume" -msgstr "Кількість вибірок уздовж осі y об'єму" - - msgid "Resolution Z" msgstr "Роздільність Z" -msgid "Number of sample along the z axis of the volume" -msgstr "Кількість вибірок уздовж осі z об'єму" - - msgid "Influence Distance" msgstr "Відстань Впливу" @@ -43839,10 +43819,6 @@ msgid "Set Axis" msgstr "Задати вісь" -msgid "Set direction of scene axis rotating camera (or its parent if present) and assume selected track lies on real axis, joining it with the origin" -msgstr "Задати напрям осей сцени обертом камери (або її предка, якщо є) і вважаючи, що вибрана стежка лежить на справжній осі, що сполучає її з початком" - - msgid "Axis to use to align bundle along" msgstr "Вісь, вздовж якої вирівнюється пакет" @@ -50086,10 +50062,6 @@ msgid "Save the image with another name and/or settings" msgstr "Зберегти зображення з іншою назвою та/або параметрами" -msgid "Create a new image file without modifying the current image in blender" -msgstr "Створити новий файл зображення не змінюючи поточного зображення у Blender" - - msgid "Save As Render" msgstr "Зберегти Рендер Як" @@ -57288,10 +57260,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "Фільтр назви з використанням підстановочних символів Unix '*', '?' та '[abc]'" -msgid "Set select on random visible objects" -msgstr "Вибрати випадкові з видимих ​​об'єктів" - - msgctxt "Operator" msgid "Select Same Collection" msgstr "Вибрати Таку саму Колекцію" @@ -63524,10 +63492,6 @@ msgid "Add Scene Strip" msgstr "Додати смужку сцени" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "Додати у відеорядник смужку, джерелом для якої є сцена Blender" - - msgid "Select a strip (last selected becomes the \"active strip\")" msgstr "Вибрати смужку (остання вибрана стає \"активною смужкою\")" @@ -64580,10 +64544,6 @@ msgid "Select word under cursor" msgstr "Вибрати слово під курсором" -msgid "Set cursor selection" -msgstr "Задати вибір за курсором" - - msgctxt "Operator" msgid "Find" msgstr "Знайти" @@ -67702,10 +67662,6 @@ msgid "Rotate all root objects to match the global orientation settings otherwis msgstr "Обертати всі кореневі об'єкти для узгодження з уставами глобальної орієнтації, інакше задати глобальну орієнтацію залежно від активу Collada" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Застосувати модифікатори до експортованої сіті (не руйнуючи)" - - msgid "Deform Bones Only" msgstr "Лише Деформувальні Кістки" @@ -69698,10 +69654,6 @@ msgid "Set the mask layer from the UV map buttons" msgstr "Встановити шар маски за допомогою кнопок UV-карти" -msgid "Maximum edge length for dynamic topology sculpting (as divisor of blender unit - higher value means smaller edge length)" -msgstr "Найбільша довжина ребра для динамічної топології ліплення (як дільник одиниці Blender - більше значення означає меншу довжину ребра)" - - msgid "Detail Percentage" msgstr "Відсоток детальності" @@ -74562,14 +74514,6 @@ msgid "Slight" msgstr "Злегка" -msgid "TimeCode Style" -msgstr "Стиль час-коду" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "Формат коду часу, що використовується, коли відлік часу ведеться не за кадрами" - - msgid "Minimal Info" msgstr "Мінімальна інформація" @@ -76558,10 +76502,6 @@ msgid "Bias" msgstr "Відхил" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "Відхилення до граней, віддалених від об'єкта (в одиницях Blender)" - - msgid "Number of samples used for ambient occlusion baking from multires" msgstr "Кількість вибірок для запікання впливу середовища з багатороздільного" @@ -77538,10 +77478,6 @@ msgid "Blender 2.7" msgstr "Blender 2.7" -msgid "Spring implementation used in blender 2.7. Damping is capped at 1.0" -msgstr "Реалізація пружності, використовувана у Blender 2.7. Згасання завершується на 1.0" - - msgid "Blender 2.8" msgstr "Blender 2.8" @@ -78194,10 +78130,6 @@ msgid "4096 px" msgstr "4096 px" -msgid "Number of time the light is reinjected inside light grids, 0 disable indirect diffuse light" -msgstr "Кількість часу, коли освітлювач повторно уводиться всередину сіток освітлення, 0 вимикає побічне розсіяне освітлення" - - msgid "Filter Quality" msgstr "Фільтр якості" @@ -79373,10 +79305,6 @@ msgid "Scene Sequence" msgstr "Послідовність сцени" -msgid "Sequence strip to used the rendered image of a scene" -msgstr "Смужка послідовності, що використовує рендерене зображення сцени" - - msgid "Scene that this sequence uses" msgstr "Сцена, яку ця послідовність використовує" @@ -79385,10 +79313,6 @@ msgid "Camera Override" msgstr "Заміщення камери" -msgid "Override the scenes active camera" -msgstr "Перевизначити активну камеру сцени" - - msgid "Input type to use for the Scene strip" msgstr "Тип уводу для використання для смужки Сцена" @@ -82463,10 +82387,6 @@ msgid "3D Region" msgstr "3D-область" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "3D-регіон у цьому просторі; у разі чотирибічного огляду - регіон камери" - - msgid "Quad View Regions" msgstr "Регіони Чотирибічного Огляду" @@ -85892,10 +85812,6 @@ msgid "Unit Scale" msgstr "Масштаб одиниць" -msgid "Scale to use when converting between blender units and dimensions. When working at microscopic or astronomical scale, a small or large unit scale respectively can be used to avoid numerical precision problems" -msgstr "Масштаб для використання при конвертуванні між одиницями Blender'а та розмірностями. При роботі у мікроскопічному або астрономічному масштабах, може використовуватися малий або великий масштаб одиниць для уникання проблем з числовою точністю" - - msgid "Unit System" msgstr "Система одиниць" @@ -91858,11 +91774,6 @@ msgid "Decimate (Ratio)" msgstr "Спрощення (Пропорція)" -msgctxt "Operator" -msgid "Decimate (Allowed Change)" -msgstr "Спрощення (Дозволена Зміна)" - - msgctxt "Operator" msgid "Selection to Cursor Value" msgstr "Вибрання до Значення Курсора" @@ -91873,6 +91784,11 @@ msgid "Flatten Handles" msgstr "Сплощити Держаки" +msgctxt "Operator" +msgid "Decimate (Allowed Change)" +msgstr "Спрощення (Дозволена Зміна)" + + msgctxt "Operator" msgid "Less" msgstr "Менше" diff --git a/locale/po/vi.po b/locale/po/vi.po index 9ffc76de47a..e2eeb8a9995 100644 --- a/locale/po/vi.po +++ b/locale/po/vi.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2022-08-19 12:33+0700\n" "Last-Translator: HỒ NHỰT CHÂU \n" "Language-Team: Tỉnh An Giang, Đình Bình Phú\n" @@ -12748,10 +12748,6 @@ msgid "Library Browser" msgstr "Trình Duyệt Thư Viện" -msgid "Whether we may browse blender files' content or not" -msgstr "Chúng tôi có thể trình duyệt nội dung của tập tin .blend hay không" - - msgid "Reverse Sorting" msgstr "Sắp Xếp Ngược" @@ -16118,10 +16114,6 @@ msgid "Gizmo Properties" msgstr "Đặc Tính Đồ Đạc" -msgid "Input properties of an Gizmo" -msgstr "Đặc tính ngõ vào của một Đồ Đạc" - - msgid "Modifier affecting the Grease Pencil object" msgstr "Bộ điều chỉnh đang ảnh hướng vật thể Bút Sáp" @@ -23496,26 +23488,14 @@ msgid "Resolution X" msgstr "Độ Phôn Giải X" -msgid "Number of sample along the x axis of the volume" -msgstr "Số lượng mẫu vật cho hướng X của thể tích" - - msgid "Resolution Y" msgstr "Độ Phân Giải Y" -msgid "Number of sample along the y axis of the volume" -msgstr "Số lượng mẫu vật cho hướng Y của thể tích" - - msgid "Resolution Z" msgstr "Độ Phân Giải Z" -msgid "Number of sample along the z axis of the volume" -msgstr "Số lượng mẫu vật cho hướng Z của thể tích" - - msgid "Influence Distance" msgstr "Khoảng Cách Sự Ảnh Hưởng" @@ -50049,10 +50029,6 @@ msgid "Set Axis" msgstr "Đặt Trục" -msgid "Set direction of scene axis rotating camera (or its parent if present) and assume selected track lies on real axis, joining it with the origin" -msgstr "Đặt hướng của trục xoay của máy quay phim cảnh (hay phụ huynh của nó, nếu có) và dự đóan đường vết được chọn nằm ở trên trục thật sự, kết nối nó với gốc tọa độ" - - msgid "Axis to use to align bundle along" msgstr "Dùng trục nào cho sắp xếp gói" @@ -57232,10 +57208,6 @@ msgid "Save the image with another name and/or settings" msgstr "Lưu ảnh dùng tên va/hay cài đặt khác" -msgid "Create a new image file without modifying the current image in blender" -msgstr "Chế tạo một tập tin ảnh mới mà không sửa đổi ảnh hiện tại trong Blender" - - msgid "Save As Render" msgstr "Lưu Như Kết Xuất" @@ -64962,10 +64934,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "Lọc tên bằng ký tự đại diện unix như '*', '?' và '[abc]'" -msgid "Set select on random visible objects" -msgstr "Ngẫu nhiên chọn vật thể đang hiển thị" - - msgctxt "Operator" msgid "Select Same Collection" msgstr "Chọn Cùng Sưu Tập" @@ -71836,10 +71804,6 @@ msgid "Add Scene Strip" msgstr "Thêm Đoạn Cảnh" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "Thêm một đoạn cho bộ trình tự mà dùng một cảnh Blender làm một nguồn" - - msgctxt "Operator" msgid "Add Strip with a new Scene" msgstr "Thêm Đoạn có một Cảnh mới" @@ -72978,10 +72942,6 @@ msgid "Select word under cursor" msgstr "Chọn chữ ở đưới con trỏ" -msgid "Set cursor selection" -msgstr "Đặt sự lựa chọn con trỏ" - - msgctxt "Operator" msgid "Find" msgstr "Tìm" @@ -76381,10 +76341,6 @@ msgid "Rotate all root objects to match the global orientation settings otherwis msgstr "Xoay hết vật thể rễ cho giống cài đặt định hướng toàn cầu, nếu không, đặt định hướng toàn cầu từng tích sản Collada" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "Áp dụng bộ điều chỉnh với mạng lưới xuất (không pha/đổi cái gì)" - - msgid "Deform Bones Only" msgstr "Chỉ Méo Hóa Xương" @@ -79228,10 +79184,6 @@ msgid "Set the mask layer from the UV map buttons" msgstr "Đặt lớp mặt nạ từ nút bản đồ UV" -msgid "Maximum edge length for dynamic topology sculpting (as divisor of blender unit - higher value means smaller edge length)" -msgstr "Bề dài cạnh cực đại cho khắc hình dạng học động lý (mẫu số của đơn vị blender - giá trị càng lớn cạnh càng nhỏ)" - - msgid "Detail Percentage" msgstr "Phần Trăm Chi Tiết" @@ -84670,14 +84622,6 @@ msgid "Slight" msgstr "Chút" -msgid "TimeCode Style" -msgstr "Phong Cách Mã Thời Gian" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "Định dạng của Mã Thời Gian khi không hiển thị thời tự bằng số bức ảnh" - - msgid "Minimal Info" msgstr "Thông Tin Tối Thiểu" @@ -86046,10 +85990,6 @@ msgid "Tile Size" msgstr "Kích Cỡ Ô" -msgid "Limit the render time (excluding synchronization time).Zero disables the limit" -msgstr "Hạn chế thời gian kết xuất (trừ thời gian đồng bộ hóa). 0 = tắt hạn chế" - - msgid "Transmission Bounces" msgstr "Nhồi Truyền" @@ -86854,10 +86794,6 @@ msgid "Is Axis Aligned" msgstr "Trục Được Sắp Xếp" -msgid "Is current view aligned to an axis (does not check the view is orthographic use \"is_perspective\" for that). Assignment sets the \"view_rotation\" to the closest axis aligned view" -msgstr "Màn hiện tại đang sắp hàng với một trục hay không (nó không kiểm tra màn là trực giao, sử dụng \"là_chiếu_phoối_cảnh\" cho kiểm tra cái đó). Nó đặt \"xoay_màn\" đến màn sắp hàng với trục gần nhất" - - msgid "Is Perspective" msgstr "Là Chiếu Phối Cảnh" @@ -87118,10 +87054,6 @@ msgid "Bias" msgstr "Thành Kiến" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "Thành kiến đến mặt xa hơn từ vật thể (đơn vị Blender)" - - msgid "Algorithm to generate the margin" msgstr "Giải thuật cho chế tạo lề" @@ -88122,10 +88054,6 @@ msgid "Blender 2.7" msgstr "Blender 2.7" -msgid "Spring implementation used in blender 2.7. Damping is capped at 1.0" -msgstr "Thực hành lò xo được dùng trong Blender 2.7. Tắt dần được kẹp tại 1.0" - - msgid "Blender 2.8" msgstr "Blender 2.8" @@ -88778,10 +88706,6 @@ msgid "4096 px" msgstr "4096 điểm ảnh" -msgid "Number of time the light is reinjected inside light grids, 0 disable indirect diffuse light" -msgstr "Số lần tiêm ánh sáng vào đồ thị ánh sáng, đặt = 0 để tắt" - - msgid "Filter Quality" msgstr "Chất Lương Bộ Lọc" @@ -90013,10 +89937,6 @@ msgid "Scene Sequence" msgstr "Trình Tự Cảnh" -msgid "Sequence strip to used the rendered image of a scene" -msgstr "Đoán trình tự cảnh dùng cho kết xuất ảnh của một cảnh" - - msgid "Scene that this sequence uses" msgstr "Cảnh trình tự này đang dùng" @@ -90025,10 +89945,6 @@ msgid "Camera Override" msgstr "Vượt Quyền Máy Quay Phim" -msgid "Override the scenes active camera" -msgstr "Vượt quyền máy quay phim của cảnh hoạt động" - - msgid "Input type to use for the Scene strip" msgstr "Loại ngõ vào cho đoạn Cảnh" @@ -90701,10 +90617,6 @@ msgid "How to resolve overlap after transformation" msgstr "Làm sao giải quyết lấn trên sau biến hóa" -msgid "Move strips so transformed strips fits" -msgstr "Di chuyển đoạn cho được vừa đoạn biến hóa" - - msgid "Trim or split strips to resolve overlap" msgstr "Cắt hay chẻ đoạn để giải quyết lấn trên" @@ -93487,10 +93399,6 @@ msgid "3D Region" msgstr "Vùng 3D" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "Vùng 3D trong không gian này, trương hợp tư màn vùng máy quay phim" - - msgid "Quad View Regions" msgstr "Vùng Tư Màn" @@ -93967,10 +93875,6 @@ msgid "Endpoint V" msgstr "Điểm Kết Thúc V" -msgid "Make this nurbs surface meet the endpoints in the V direction " -msgstr "Nối các điểm kết thúc của đường cong hay bề mặt NURBS cho hướng V (phải tắt Chu Trình V)" - - msgid "Smooth the normals of the surface or beveled curve" msgstr "Mịn hóa pháp tuyến của bề mặt hay đường cong được cạnh tròn" @@ -97279,10 +97183,6 @@ msgid "Unit Scale" msgstr "Đơn Vị Phóng To" -msgid "Scale to use when converting between blender units and dimensions. When working at microscopic or astronomical scale, a small or large unit scale respectively can be used to avoid numerical precision problems" -msgstr "Phóng to để dùng khi biến đổi giữa đơn vị Blebder và kích thước. Khi dùng Phóng to vi mô hay quy mô văn học, một phóng to nhỏ hay lớn được giúp đỡ tránh vấn đề độ chính xác số" - - msgid "Unit System" msgstr "Hệ Thống Đơn Vị" @@ -101970,6 +101870,10 @@ msgid "Add a new Variant Slot" msgstr "Thêm một Lhe Biến Thể mới" +msgid "Curves as NURBS" +msgstr "Đường Cong sang NURBS" + + msgid "Multiple selected objects. Only the active one will be evaluated" msgstr "Được chọn nhiều vật thể. Chỉ sẽ đánh giá vật thể hoạt động" @@ -105645,11 +105549,6 @@ msgid "Decimate (Ratio)" msgstr "Cắt Chẻ (Tỉ Số)" -msgctxt "Operator" -msgid "Decimate (Allowed Change)" -msgstr "Cắt Chẻ (Được Đổi)" - - msgctxt "Operator" msgid "Selection to Cursor Value" msgstr "Sự Lựa Chọn Đến Giá Trị Con Trỏ" @@ -105660,6 +105559,11 @@ msgid "Flatten Handles" msgstr "Bằng Phẳng Hóa Tay Cầm" +msgctxt "Operator" +msgid "Decimate (Allowed Change)" +msgstr "Cắt Chẻ (Được Đổi)" + + msgctxt "Operator" msgid "Less" msgstr "Ít Hơn" @@ -113036,10 +112940,6 @@ msgid "Triangulated Mesh" msgstr "Mạng Lưới Tam Giác Hóa" -msgid "Curves as NURBS" -msgstr "Đường Cong sang NURBS" - - msgid "Grouping" msgstr "Nhóm Hóa" diff --git a/locale/po/zh_CN.po b/locale/po/zh_CN.po index b0ee802943f..34f106b96ad 100644 --- a/locale/po/zh_CN.po +++ b/locale/po/zh_CN.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: \n" "Last-Translator: DeathBlood\n" "Language-Team: \n" @@ -369,6 +369,10 @@ msgid "Displays glTF UI to manage material variants" msgstr "显示 glTF UI 以管理材质变量" +msgid "Display glTF UI to manage animations" +msgstr "显示 glTF UI 以管理动画" + + msgid "Displays glTF Material Output node in Shader Editor (Menu Add > Output)" msgstr "在着色器编辑器中显示 glTF 材质输出节点(菜单添加>输出)" @@ -1113,6 +1117,10 @@ msgid "Copyright" msgstr "版权" +msgid "Copyright notice for this asset. An empty copyright notice does not necessarily indicate that this is copyright-free. Contact the author if any clarification is needed" +msgstr "此资产的版权声明。空的版权声明并不一定表示这是无版权的。如果需要任何澄清,请联系作者" + + msgid "Description" msgstr "描述" @@ -1121,6 +1129,14 @@ msgid "A description of the asset to be displayed for the user" msgstr "为用户显示的资产的说明" +msgid "License" +msgstr "许可证" + + +msgid "The type of license this asset is distributed under. An empty license name does not necessarily indicate that this is free of licensing terms. Contact the author if any clarification is needed" +msgstr "分发此资产的许可证类型。空许可证名称并不一定表示它没有许可条款。如果需要任何澄清,请联系作者" + + msgid "Tags" msgstr "标签" @@ -1129,6 +1145,10 @@ msgid "Custom tags (name tokens) for the asset, used for filtering and general a msgstr "资产的自定义标签(名称令牌),用于筛选和通用资产管理" +msgid "Information about an entity that makes it possible for the asset system to deal with the entity as asset" +msgstr "关于实体的信息,使资产系统能够将该实体作为资产处理" + + msgid "Asset Tag" msgstr "资产标签" @@ -2137,6 +2157,10 @@ msgid "Simulations" msgstr "模拟" +msgid "Simulation data-blocks" +msgstr "模拟数据块" + + msgid "Sounds" msgstr "声音" @@ -2449,6 +2473,14 @@ msgid "Collection of screens" msgstr "屏幕集合" +msgid "Main Simulations" +msgstr "主模拟" + + +msgid "Collection of simulations" +msgstr "模拟集合" + + msgid "Main Sounds" msgstr "主声音" @@ -5663,6 +5695,10 @@ msgid "Enabled" msgstr "已开启" +msgid "Enable this object as a collider for physics systems" +msgstr "启用该物体作为物理系统的碰撞体" + + msgid "Single Sided" msgstr "单面" @@ -9630,14 +9666,30 @@ msgid "Name of PoseBone to use as target" msgstr "用着目标的姿态骨头名字" +msgid "Context Property" +msgstr "上下文属性" + + +msgid "Type of a context-dependent data-block to access property from" +msgstr "要从中访问属性的上下文相关数据块的类型" + + msgid "Active Scene" msgstr "活动场景" +msgid "Currently evaluating scene" +msgstr "当前评估场景" + + msgid "Active View Layer" msgstr "活动视图层" +msgid "Currently evaluating view layer" +msgstr "当前正在评估的视图层" + + msgid "Data Path" msgstr "数据路径" @@ -9937,6 +9989,10 @@ msgid "Distance between two bones or objects" msgstr "两个骨骼或物体的间距" +msgid "Use the value from some RNA property within the current evaluation context" +msgstr "在当前评估上下文中使用某些 RNA 属性的值" + + msgid "Brush Settings" msgstr "笔刷设置" @@ -12972,10 +13028,6 @@ msgid "Library Browser" msgstr "库浏览器" -msgid "Whether we may browse blender files' content or not" -msgstr "是否可浏览 blender 文件的内容或否" - - msgid "Reverse Sorting" msgstr "反向排序" @@ -13708,6 +13760,11 @@ msgid "Minimum number of particles per cell (ensures that each cell has at least msgstr "每个单元的最小粒子数(确保每个单元至少具有此数量的粒子)" +msgctxt "Amount" +msgid "Number" +msgstr "数量" + + msgid "Particle number factor (higher value results in more particles)" msgstr "粒子数因子(值越高,粒子越多)" @@ -16382,10 +16439,6 @@ msgid "Gizmo Properties" msgstr "Gizmo属性" -msgid "Input properties of an Gizmo" -msgstr "Gizmo输入属性" - - msgid "Modifier affecting the Grease Pencil object" msgstr "修改器影响蜡笔物体" @@ -16426,6 +16479,10 @@ msgid "Texture Mapping" msgstr "纹理映射" +msgid "Change stroke UV texture values" +msgstr "修改UV笔画纹理值" + + msgid "Time Offset" msgstr "时间偏移" @@ -17936,6 +17993,10 @@ msgid "Amount of noise to apply to thickness" msgstr "应用于宽度的噪波量" +msgid "Amount of noise to apply to UV rotation" +msgstr "应用于UV旋转的噪波量" + + msgid "Noise Offset" msgstr "噪波偏移" @@ -19069,6 +19130,22 @@ msgid "Show Armature in binding pose state (no posing possible)" msgstr "在姿态绑定状态中(无法调节姿态)显示骨架" +msgid "Relation Line Position" +msgstr "关系线位置" + + +msgid "The start position of the relation lines from parent to child bones" +msgstr "从父骨骼到子骨骼的关系线的起始位置" + + +msgid "Draw the relationship line from the parent tail to the child head" +msgstr "绘制从父级尾部到子级头部的关系线" + + +msgid "Draw the relationship line from the parent head to the child head" +msgstr "绘制从父级头部到子级头部的关系线" + + msgid "Display Axes" msgstr "显示轴线" @@ -19541,6 +19618,61 @@ msgid "Editable falloff curve" msgstr "可编辑衰减曲线" +msgctxt "Curves" +msgid "Curve Preset" +msgstr "曲线预设" + + +msgctxt "Curves" +msgid "Custom" +msgstr "自定义" + + +msgctxt "Curves" +msgid "Smooth" +msgstr "平滑" + + +msgctxt "Curves" +msgid "Smoother" +msgstr "平滑器" + + +msgctxt "Curves" +msgid "Sphere" +msgstr "球形" + + +msgctxt "Curves" +msgid "Root" +msgstr "根" + + +msgctxt "Curves" +msgid "Sharp" +msgstr "锐利" + + +msgctxt "Curves" +msgid "Linear" +msgstr "线性" + + +msgctxt "Curves" +msgid "Sharper" +msgstr "较锐利" + + +msgctxt "Curves" +msgid "Inverse Square" +msgstr "平方反比" + + +msgctxt "Curves" +msgid "Constant" +msgstr "常量" + + msgid "Curves Sculpt Settings" msgstr "曲线雕刻设置" @@ -20985,10 +21117,25 @@ msgid "Name of the Alembic attribute used for generating motion blur data" msgstr "用于生成运动模糊数据的Alembic属性的名称" +msgctxt "Unit" +msgid "Velocity Unit" +msgstr "速度单位" + + msgid "Define how the velocity vectors are interpreted with regard to time, 'frame' means the delta time is 1 frame, 'second' means the delta time is 1 / FPS" msgstr "定义如何速度矢量相对时间的解析方式, '帧'表示时间增量是1帧, \"秒\" 表示时间增量是 1/Fps" +msgctxt "Unit" +msgid "Second" +msgstr "秒" + + +msgctxt "Unit" +msgid "Frame" +msgstr "帧" + + msgid "Camera data-block for storing camera settings" msgstr "用于存储摄像机设置的摄像机数据块" @@ -24020,26 +24167,14 @@ msgid "Resolution X" msgstr "分辨率 X" -msgid "Number of sample along the x axis of the volume" -msgstr "体积在x轴向采样的数量" - - msgid "Resolution Y" msgstr "分辨率 Y" -msgid "Number of sample along the y axis of the volume" -msgstr "体积在y轴向采样的数量" - - msgid "Resolution Z" msgstr "分辨率 Z" -msgid "Number of sample along the z axis of the volume" -msgstr "体积在z轴向采样的数量" - - msgid "Influence Distance" msgstr "影响距离" @@ -27289,10 +27424,22 @@ msgid "Active Movie Clip that can be used by motion tracking constraints or as a msgstr "可由运动跟踪约束使用或用作摄像机背景图像的活动影片剪辑" +msgid "Mirror Bone" +msgstr "镜像骨骼" + + +msgid "Bone to use for the mirroring" +msgstr "用于镜像的骨骼" + + msgid "Mirror Object" msgstr "镜像物体" +msgid "Object to mirror over. Leave empty and name a bone to always mirror over that bone of the active armature" +msgstr "要镜像的物体。留空并命名骨骼以始终镜像到活动骨架的骨骼上" + + msgid "Distance Model" msgstr "间距样式" @@ -27794,6 +27941,14 @@ msgid "Top-Left 3D Editor" msgstr "左上角的 3D 编辑器" +msgid "Simulation data-block" +msgstr "模拟数据块" + + +msgid "Node tree defining the simulation" +msgstr "定义模拟的节点树" + + msgid "Sound data-block referencing an external or packed sound file" msgstr "引用外部或打包的声音文件的声音数据块" @@ -28015,6 +28170,11 @@ msgid "Text file on disk is different than the one in memory" msgstr "磁盘上的文本文件与内存中的不同" +msgctxt "Text" +msgid "Lines" +msgstr "行数" + + msgid "Lines of text" msgstr "文本行" @@ -29185,6 +29345,14 @@ msgid "Maintained by community developers" msgstr "由社区开发者进行维护" +msgid "Testing" +msgstr "测试中" + + +msgid "Newly contributed scripts (excluded from release builds)" +msgstr "新近贡献的脚本 (不包括官方发布版)" + + msgid "Asset Blend Path" msgstr "资产blend路径" @@ -33514,6 +33682,10 @@ msgid "Active Point" msgstr "活动点" +msgid "Active point of masking layer" +msgstr "遮罩层的活动点" + + msgid "Grease Pencil Color" msgstr "蜡笔颜色" @@ -34051,6 +34223,11 @@ msgid "Write" msgstr "写入" +msgctxt "NodeTree" +msgid "Constant" +msgstr "常量" + + msgid "Instances" msgstr "实例" @@ -35044,6 +35221,14 @@ msgid "Set the UV map as active for rendering" msgstr "将UV贴图设置为活动状态以用于渲染" +msgid "MeshUVLoop (Deprecated)" +msgstr "MeshUVLoop(已弃用)" + + +msgid "Deprecated, use 'uv', 'vertex_select', 'edge_select' or 'pin' properties instead" +msgstr "已弃用,请改用 'uv', 'vertex_select', 'edge_select' 或 'pin' 属性" + + msgid "UV Edge Selection" msgstr "UV 边选择" @@ -35060,6 +35245,10 @@ msgid "UV Pin" msgstr "UV 钉固" +msgid "UV pinned state in the UV editor" +msgstr "UV 编辑器中的 UV 钉固状态" + + msgid "UV coordinates on face corners" msgstr "面角上的 UV 坐标" @@ -38889,6 +39078,10 @@ msgid "UVWarp Modifier" msgstr "UV 偏移修改器" +msgid "Add target position to UV coordinates" +msgstr "将目标位置添加到 UV 坐标" + + msgid "U-Axis" msgstr "U- 轴" @@ -42764,6 +42957,10 @@ msgid "Map Range" msgstr "映射范围" +msgid "Clamp the result of the node to the target range" +msgstr "将节点结果钳制在目标范围" + + msgid "Map UV" msgstr "映射 UV" @@ -44648,6 +44845,10 @@ msgid "Is Face Planar" msgstr "面是否平直" +msgid "Retrieve whether all triangles in a face are on the same plane, i.e. whether they have the same normal" +msgstr "检索面中的所有三角形是否在同一平面上,即是否具有相同的法向" + + msgid "Face Neighbors" msgstr "面的邻项" @@ -48940,6 +49141,15 @@ msgid "Extend selection" msgstr "扩展选择" +msgctxt "Operator" +msgid "Frame Channel Under Cursor" +msgstr "光标下的帧通道" + + +msgid "Reset viewable area to show the channel under the cursor" +msgstr "重置可视区域以显示在光标下方的通道" + + msgid "Include Handles" msgstr "包括控制柄" @@ -48948,6 +49158,10 @@ msgid "Include handles of keyframes when calculating extents" msgstr "计算范围时包括关键帧控制柄" +msgid "Ignore frames outside of the preview range" +msgstr "忽略预览范围之外的帧" + + msgctxt "Operator" msgid "Remove Empty Animation Data" msgstr "删除空白动画数据" @@ -51318,10 +51532,6 @@ msgid "Set Axis" msgstr "设置轴" -msgid "Set direction of scene axis rotating camera (or its parent if present) and assume selected track lies on real axis, joining it with the origin" -msgstr "设置场景轴, 旋转摄像机(或其父级, 如果存在), 并假定所选的轨迹位于原点的真实轴上" - - msgid "Axis to use to align bundle along" msgstr "点束的定位参照轴" @@ -58755,10 +58965,6 @@ msgid "Save the image with another name and/or settings" msgstr "使用另外一个名称或设置来保存图像" -msgid "Create a new image file without modifying the current image in blender" -msgstr "在不修改当前图像的情况下新建一个图像文件" - - msgid "Save As Render" msgstr "另存为渲染图" @@ -66858,10 +67064,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "使用通配符'*'和'?'进行名称过滤" -msgid "Set select on random visible objects" -msgstr "可见物体的随机选择设置" - - msgctxt "Operator" msgid "Select Same Collection" msgstr "选择相同集合" @@ -73883,10 +74085,6 @@ msgid "Add Scene Strip" msgstr "添加场景片段" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "使用一个场景的输出为源片段到序列编辑器中" - - msgctxt "Operator" msgid "Add Strip with a new Scene" msgstr "添加附带新场景的片段" @@ -75029,10 +75227,6 @@ msgid "Select word under cursor" msgstr "选定光标位置的文字" -msgid "Set cursor selection" -msgstr "设置光标选择" - - msgctxt "Operator" msgid "Find" msgstr "查找" @@ -78578,10 +78772,6 @@ msgid "Rotate all root objects to match the global orientation settings otherwis msgstr "旋转所有的根对象,使其与全局方向设置相匹配,否则将为每个 Collada 资产设置全局方向" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "为输出的网格应用修改器(非结构类)" - - msgid "Deform Bones Only" msgstr "仅参与形变的骨骼" @@ -81549,10 +81739,6 @@ msgid "View Normal Limit" msgstr "视图法向限值" -msgid "Maximum edge length for dynamic topology sculpting (as divisor of blender unit - higher value means smaller edge length)" -msgstr "动态拓扑雕刻的最大边线长度(为Blender单位的除数-数值越大意味着边长越小)" - - msgid "Detail Percentage" msgstr "细节百分比" @@ -87113,14 +87299,6 @@ msgid "Slight" msgstr "轻微" -msgid "TimeCode Style" -msgstr "时间码样式" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "无时间线时帧的显示格式" - - msgid "Minimal Info" msgstr "最少信息" @@ -88611,10 +88789,6 @@ msgid "Tile Size" msgstr "平铺尺寸" -msgid "Limit the render time (excluding synchronization time).Zero disables the limit" -msgstr "限制渲染时间(同步时间不包括在内)。0为禁用该限制" - - msgid "Transmission Bounces" msgstr "透射反弹" @@ -89487,10 +89661,6 @@ msgid "Is Axis Aligned" msgstr "是否轴对齐" -msgid "Is current view aligned to an axis (does not check the view is orthographic use \"is_perspective\" for that). Assignment sets the \"view_rotation\" to the closest axis aligned view" -msgstr "当前视图是否与轴对齐(不检查视图是否正交使用“is_perspective”)。指定将“view_rotation”设置为最接近的轴对齐视图" - - msgid "Is Perspective" msgstr "是否透视" @@ -89756,10 +89926,6 @@ msgid "Bias" msgstr "偏移" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "物体与面的烘焙偏移量(以Blender单位计量)" - - msgid "Algorithm to generate the margin" msgstr "产生边距的算法" @@ -90768,10 +90934,6 @@ msgid "Blender 2.7" msgstr "Blender2.7" -msgid "Spring implementation used in blender 2.7. Damping is capped at 1.0" -msgstr "在 blender 2.7 使用的弹簧. 阻尼限制在 1.0" - - msgid "Blender 2.8" msgstr "Blender2.8" @@ -91428,10 +91590,6 @@ msgid "4096 px" msgstr "4096 px" -msgid "Number of time the light is reinjected inside light grids, 0 disable indirect diffuse light" -msgstr "光在光网内反弹的次数, 0为禁用间接漫反射光" - - msgid "Filter Quality" msgstr "过滤品质" @@ -92727,10 +92885,6 @@ msgid "Scene Sequence" msgstr "场景序列" -msgid "Sequence strip to used the rendered image of a scene" -msgstr "使用场景渲染图像的序列片段" - - msgid "Scene that this sequence uses" msgstr "序列所使用的场景" @@ -92739,10 +92893,6 @@ msgid "Camera Override" msgstr "替换摄像机" -msgid "Override the scenes active camera" -msgstr "重写场景中激活的摄像机" - - msgid "Input type to use for the Scene strip" msgstr "使用场景片段的输入类型" @@ -93447,10 +93597,6 @@ msgid "How to resolve overlap after transformation" msgstr "解决变换后的重叠的方法" -msgid "Move strips so transformed strips fits" -msgstr "移动片段,以使被变换片段匹配" - - msgid "Trim or split strips to resolve overlap" msgstr "修剪或拆分片段以解决重叠" @@ -96323,10 +96469,6 @@ msgid "3D Region" msgstr "3D 区域" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "基于正交视图中摄像机视角的当前空间 3D 区域" - - msgid "Quad View Regions" msgstr "四分视图区域" @@ -96877,10 +97019,6 @@ msgid "Endpoint V" msgstr "末端点 V" -msgid "Make this nurbs surface meet the endpoints in the V direction " -msgstr "使此NURBS曲线或曲面与V向上的端点相遇 " - - msgid "Smooth the normals of the surface or beveled curve" msgstr "平滑曲面或倒角曲线的法线" @@ -100237,10 +100375,6 @@ msgid "Unit Scale" msgstr "缩放单位" -msgid "Scale to use when converting between blender units and dimensions. When working at microscopic or astronomical scale, a small or large unit scale respectively can be used to avoid numerical precision problems" -msgstr "在 blender 单位和尺寸之间转换时使用的比例. 在微观和宏观比例工作时, 可分别使用小或大的单位比例以避免数值精度问题" - - msgid "Unit System" msgstr "单位系统" @@ -105309,6 +105443,10 @@ msgid "Generating Cycles/EEVEE compatible material, but won't be visible with %s msgstr "创建Cycles/EEVEE适配材质,但无法在 %s 引擎中可见" +msgid "Limit to" +msgstr "限制到" + + msgid "Mesh '%s' has polygons with more than 4 vertices, cannot compute/export tangent space for it" msgstr "网格 '%s' 包含具有 4 个以上顶点的多边形,无法为其计算/导出切向空间" @@ -105375,6 +105513,10 @@ msgid "Add a new Variant Slot" msgstr "添加新的变量槽" +msgid "Curves as NURBS" +msgstr "曲线为NURBS" + + msgid "untitled" msgstr "无标题" @@ -109263,11 +109405,6 @@ msgid "Decimate (Ratio)" msgstr "精简(比例)" -msgctxt "Operator" -msgid "Decimate (Allowed Change)" -msgstr "精简(受允许修改)" - - msgctxt "Operator" msgid "Selection to Cursor Value" msgstr "选中项 -> 游标值" @@ -109278,6 +109415,11 @@ msgid "Flatten Handles" msgstr "展平控制柄" +msgctxt "Operator" +msgid "Decimate (Allowed Change)" +msgstr "精简(受允许修改)" + + msgctxt "Operator" msgid "Less" msgstr "缩减选区" @@ -109706,6 +109848,11 @@ msgid "Link to Viewer" msgstr "连接预览器" +msgctxt "Operator" +msgid "Exit Group" +msgstr "退出组" + + msgctxt "Operator" msgid "Online Manual" msgstr "在线手册" @@ -109737,11 +109884,6 @@ msgid "Slot %d" msgstr "槽 %d" -msgctxt "Operator" -msgid "Exit Group" -msgstr "退出组" - - msgctxt "Operator" msgid "Edit" msgstr "编辑" @@ -116993,18 +117135,10 @@ msgid "Unable to import '%s'" msgstr "无法导入 '%s'" -msgid "Limit to" -msgstr "限制到" - - msgid "Triangulated Mesh" msgstr "三角化网格" -msgid "Curves as NURBS" -msgstr "曲线为NURBS" - - msgid "Grouping" msgstr "分组" diff --git a/locale/po/zh_TW.po b/locale/po/zh_TW.po index 938bdd9eb5a..159716ce168 100644 --- a/locale/po/zh_TW.po +++ b/locale/po/zh_TW.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: Blender 3.6.0 Alpha (b'e05010b2f292')\n" +"Project-Id-Version: Blender 3.6.0 Alpha (b'bca2090724a3')\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-03 10:36:36\n" +"POT-Creation-Date: 2023-04-11 10:34:35\n" "PO-Revision-Date: 2023-01-28 11:09+0800\n" "Last-Translator: Cheng-Chia Tseng \n" "Language-Team: Chinese (Traditional) \n" @@ -31687,10 +31687,6 @@ msgid "Save the image with another name and/or settings" msgstr "以另一個名稱與/或設定儲存該影像" -msgid "Create a new image file without modifying the current image in blender" -msgstr "在不修改目前影像的情況下在 blender 中建立一個新的影像檔" - - msgid "Save As Render" msgstr "另存為算繪" @@ -36071,10 +36067,6 @@ msgid "Name filter using '*', '?' and '[abc]' unix style wildcards" msgstr "使用 '*'、'?' 和 '[abc]' 等 unix 樣式萬用符來過濾名稱" -msgid "Set select on random visible objects" -msgstr "設定可見物體的隨機選取" - - msgid "Render and display faces uniform, using Face Normals" msgstr "使用面法線算繪而顯示出統一的面" @@ -39944,10 +39936,6 @@ msgid "Add Scene Strip" msgstr "添加場景片段" -msgid "Add a strip to the sequencer using a blender scene as a source" -msgstr "使用一個 blendr 場景作為來源添加片段至序段編輯器中" - - msgid "Select a strip (last selected becomes the \"active strip\")" msgstr "選取一個片段 (最後一個選取項會成為「作用中片段」)" @@ -40642,10 +40630,6 @@ msgid "Select word under cursor" msgstr "所選游標位置的單詞" -msgid "Set cursor selection" -msgstr "設定游標選取" - - msgctxt "Operator" msgid "Find" msgstr "尋找" @@ -42515,10 +42499,6 @@ msgid "Save a Collada file" msgstr "儲存一件 Collada 檔案" -msgid "Apply modifiers to exported mesh (non destructive))" -msgstr "為匯出的網格套用修改器 (無破壞性)" - - msgid "Only export deforming bones with armatures" msgstr "僅匯出含骨架的變形骨骼" @@ -43561,10 +43541,6 @@ msgid "Set the mask layer from the UV map buttons" msgstr "從 UV 映射按鈕設定遮罩分層" -msgid "Maximum edge length for dynamic topology sculpting (as divisor of blender unit - higher value means smaller edge length)" -msgstr "動態拓撲雕刻的邊線最大長度 (作為 Blender 單位的除數 - 值越大代表邊線長度越短)" - - msgid "Detail Refine Method" msgstr "細化方式" @@ -46409,14 +46385,6 @@ msgid "Time to animate the view in milliseconds, zero to disable" msgstr "讓視圖動畫的時間,單位為 ms,0 為停用" -msgid "TimeCode Style" -msgstr "時間碼樣式" - - -msgid "Format of Time Codes displayed when not displaying timing in terms of frames" -msgstr "當不以框幀作計時顯示時,要顯示的時間碼格式" - - msgid "Minimal Info" msgstr "最少資訊" @@ -47281,10 +47249,6 @@ msgid "Bias" msgstr "偏差" -msgid "Bias towards faces further away from the object (in blender units)" -msgstr "遠離物體朝向面的偏差 (以 bender 單位計量)" - - msgid "Number of samples used for ambient occlusion baking from multires" msgstr "用於從多解析度烘焙周遭遮擋的樣本數" @@ -48813,10 +48777,6 @@ msgid "Scene Sequence" msgstr "場景序段" -msgid "Sequence strip to used the rendered image of a scene" -msgstr "場景的算繪影像要使用的序段片段" - - msgid "Scene that this sequence uses" msgstr "此序段使用的場景" @@ -48825,10 +48785,6 @@ msgid "Camera Override" msgstr "攝影機凌駕" -msgid "Override the scenes active camera" -msgstr "凌駕場景作用中攝影機" - - msgid "Sound Sequence" msgstr "聲音序段" @@ -50757,10 +50713,6 @@ msgid "3D Region" msgstr "3D 區塊" -msgid "3D region in this space, in case of quad view the camera region" -msgstr "此空間中的 3D 區塊,避免攝影機區塊的四角形視圖" - - msgid "Quad View Regions" msgstr "四視圖區塊" -- 2.30.2 From d07b82d16dec0ea238409a12b153253b539a16a1 Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Tue, 11 Apr 2023 13:46:09 +0200 Subject: [PATCH 14/47] GPU: Use Same Type in Comparisons. Legacy drivers don't support auto type casting in comparisons. This PR fixes some comparisons cast. Thanks to Johannes J. for working/thinking along with the PR. Pull Request: https://projects.blender.org/blender/blender/pulls/106789 --- .../overlay_edit_curve_handle_geom.glsl | 22 +++++++++---------- ...verlay_edit_curve_handle_vert_no_geom.glsl | 22 +++++++++---------- .../overlay_edit_curve_point_vert.glsl | 10 ++++----- .../overlay_edit_lattice_point_vert.glsl | 4 ++-- 4 files changed, 29 insertions(+), 29 deletions(-) diff --git a/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_handle_geom.glsl b/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_handle_geom.glsl index 3a3c34b39e5..5cd7f1c1325 100644 --- a/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_handle_geom.glsl +++ b/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_handle_geom.glsl @@ -26,7 +26,7 @@ void main() uint color_id = (vert[1].flag >> COLOR_SHIFT); /* Don't output any edges if we don't show handles */ - if (!showCurveHandles && (color_id < 5)) { + if (!showCurveHandles && (color_id < 5u)) { return; } @@ -37,10 +37,10 @@ void main() bool is_gpencil = ((vert[1].flag & VERT_GPENCIL_BEZT_HANDLE) != 0u); /* If handle type is only selected and the edge is not selected, don't show. */ - if ((curveHandleDisplay != CURVE_HANDLE_ALL) && (!handle_selected)) { + if ((uint(curveHandleDisplay) != CURVE_HANDLE_ALL) && (!handle_selected)) { /* Nurbs must show the handles always. */ bool is_u_segment = (((vert[1].flag ^ vert[0].flag) & EVEN_U_BIT) != 0u); - if ((!is_u_segment) && (color_id <= 4)) { + if ((!is_u_segment) && (color_id <= 4u)) { return; } if (is_gpencil) { @@ -49,24 +49,24 @@ void main() } vec4 inner_color; - if (color_id == 0) { + if (color_id == 0u) { inner_color = (edge_selected) ? colorHandleSelFree : colorHandleFree; } - else if (color_id == 1) { + else if (color_id == 1u) { inner_color = (edge_selected) ? colorHandleSelAuto : colorHandleAuto; } - else if (color_id == 2) { + else if (color_id == 2u) { inner_color = (edge_selected) ? colorHandleSelVect : colorHandleVect; } - else if (color_id == 3) { + else if (color_id == 3u) { inner_color = (edge_selected) ? colorHandleSelAlign : colorHandleAlign; } - else if (color_id == 4) { + else if (color_id == 4u) { inner_color = (edge_selected) ? colorHandleSelAutoclamp : colorHandleAutoclamp; } else { - bool is_selected = (((vert[1].flag & vert[0].flag) & VERT_SELECTED) != 0); - bool is_u_segment = (((vert[1].flag ^ vert[0].flag) & EVEN_U_BIT) != 0); + bool is_selected = (((vert[1].flag & vert[0].flag) & VERT_SELECTED) != 0u); + bool is_u_segment = (((vert[1].flag ^ vert[0].flag) & EVEN_U_BIT) != 0u); if (is_u_segment) { inner_color = (is_selected) ? colorNurbSelUline : colorNurbUline; } @@ -75,7 +75,7 @@ void main() } } - vec4 outer_color = (is_active_nurb != 0) ? + vec4 outer_color = (is_active_nurb != 0u) ? mix(colorActiveSpline, inner_color, 0.25) /* Minimize active color bleeding on inner_color. */ diff --git a/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_handle_vert_no_geom.glsl b/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_handle_vert_no_geom.glsl index 518b98e4ce5..5dc294e119f 100644 --- a/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_handle_vert_no_geom.glsl +++ b/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_handle_vert_no_geom.glsl @@ -47,7 +47,7 @@ void main() uint color_id = (vert_flag[1] >> COLOR_SHIFT); /* Don't output any edges if we don't show handles */ - if (!showCurveHandles && (color_id < 5)) { + if (!showCurveHandles && (color_id < 5u)) { return; } @@ -58,10 +58,10 @@ void main() bool is_gpencil = ((vert_flag[1] & VERT_GPENCIL_BEZT_HANDLE) != 0u); /* If handle type is only selected and the edge is not selected, don't show. */ - if ((curveHandleDisplay != CURVE_HANDLE_ALL) && (!handle_selected)) { + if ((uint(curveHandleDisplay) != CURVE_HANDLE_ALL) && (!handle_selected)) { /* Nurbs must show the handles always. */ bool is_u_segment = (((vert_flag[1] ^ vert_flag[0]) & EVEN_U_BIT) != 0u); - if ((!is_u_segment) && (color_id <= 4)) { + if ((!is_u_segment) && (color_id <= 4u)) { return; } if (is_gpencil) { @@ -70,24 +70,24 @@ void main() } vec4 inner_color; - if (color_id == 0) { + if (color_id == 0u) { inner_color = (edge_selected) ? colorHandleSelFree : colorHandleFree; } - else if (color_id == 1) { + else if (color_id == 1u) { inner_color = (edge_selected) ? colorHandleSelAuto : colorHandleAuto; } - else if (color_id == 2) { + else if (color_id == 2u) { inner_color = (edge_selected) ? colorHandleSelVect : colorHandleVect; } - else if (color_id == 3) { + else if (color_id == 3u) { inner_color = (edge_selected) ? colorHandleSelAlign : colorHandleAlign; } - else if (color_id == 4) { + else if (color_id == 4u) { inner_color = (edge_selected) ? colorHandleSelAutoclamp : colorHandleAutoclamp; } else { - bool is_selected = (((vert_flag[1] & vert_flag[0]) & VERT_SELECTED) != 0); - bool is_u_segment = (((vert_flag[1] ^ vert_flag[0]) & EVEN_U_BIT) != 0); + bool is_selected = (((vert_flag[1] & vert_flag[0]) & VERT_SELECTED) != 0u); + bool is_u_segment = (((vert_flag[1] ^ vert_flag[0]) & EVEN_U_BIT) != 0u); if (is_u_segment) { inner_color = (is_selected) ? colorNurbSelUline : colorNurbUline; } @@ -96,7 +96,7 @@ void main() } } - vec4 outer_color = (is_active_nurb != 0) ? + vec4 outer_color = (is_active_nurb != 0u) ? mix(colorActiveSpline, inner_color, 0.25) /* Minimize active color bleeding on inner_color. */ diff --git a/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_point_vert.glsl b/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_point_vert.glsl index a30496177c3..40cc7922949 100644 --- a/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_point_vert.glsl +++ b/source/blender/draw/engines/overlay/shaders/overlay_edit_curve_point_vert.glsl @@ -7,9 +7,9 @@ void main() GPU_INTEL_VERTEX_SHADER_WORKAROUND /* Reuse the FREESTYLE flag to determine is GPencil. */ - bool is_gpencil = ((data & EDGE_FREESTYLE) != 0); - if ((data & VERT_SELECTED) != 0) { - if ((data & VERT_ACTIVE) != 0) { + bool is_gpencil = ((data & EDGE_FREESTYLE) != 0u); + if ((data & VERT_SELECTED) != 0u) { + if ((data & VERT_ACTIVE) != 0u) { finalColor = colorEditMeshActive; } else { @@ -26,11 +26,11 @@ void main() view_clipping_distances(world_pos); bool show_handle = showCurveHandles; - if ((curveHandleDisplay == CURVE_HANDLE_SELECTED) && ((data & VERT_SELECTED_BEZT_HANDLE) == 0)) { + if ((uint(curveHandleDisplay) == CURVE_HANDLE_SELECTED) && ((data & VERT_SELECTED_BEZT_HANDLE) == 0u)) { show_handle = false; } - if (!show_handle && ((data & BEZIER_HANDLE) != 0)) { + if (!show_handle && ((data & BEZIER_HANDLE) != 0u)) { /* We set the vertex at the camera origin to generate 0 fragments. */ gl_Position = vec4(0.0, 0.0, -3e36, 0.0); } diff --git a/source/blender/draw/engines/overlay/shaders/overlay_edit_lattice_point_vert.glsl b/source/blender/draw/engines/overlay/shaders/overlay_edit_lattice_point_vert.glsl index 38ba80a981a..265fb818ec5 100644 --- a/source/blender/draw/engines/overlay/shaders/overlay_edit_lattice_point_vert.glsl +++ b/source/blender/draw/engines/overlay/shaders/overlay_edit_lattice_point_vert.glsl @@ -6,10 +6,10 @@ void main() { GPU_INTEL_VERTEX_SHADER_WORKAROUND - if ((data & VERT_SELECTED) != 0) { + if ((data & VERT_SELECTED) != 0u) { finalColor = colorVertexSelect; } - else if ((data & VERT_ACTIVE) != 0) { + else if ((data & VERT_ACTIVE) != 0u) { finalColor = colorEditMeshActive; } else { -- 2.30.2 From dc402a8b96dc50f5958fd923e533799f0ebf6432 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Tue, 11 Apr 2023 14:15:34 +0200 Subject: [PATCH 15/47] Core: Fix ASAN on Clang-14 / Linux When using ASAN on Clang / Linux, the call to `find_library(... asan ...)` works against us, as it finds GCC's `libasan.so`. To work with Clang, we should simply not pass any explicit library, as Clang will figure things out by itself with the `-fsanitize=xxx` options. Furthermore, Clang is incompatible with `-fsanitize=object-size`, so that's now also no longer passed on Linux (mimicking the Apple) configuration. For the long run, it would be better to rewrite this entire section to select behaviour on a per-compiler basis, rather than per platform. That's tracked in #105956 Pull Request: https://projects.blender.org/blender/blender/pulls/106675 --- CMakeLists.txt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 43855083b0c..2477ab1679e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -693,8 +693,10 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") else() string(APPEND _asan_defaults " -fsanitize=object-size") endif() - else() + elseif(CMAKE_COMPILER_IS_GNUCC) string(APPEND _asan_defaults " -fsanitize=leak -fsanitize=object-size") + else() + string(APPEND _asan_defaults " -fsanitize=leak") endif() set(COMPILER_ASAN_CFLAGS "${_asan_defaults}" CACHE STRING "C flags for address sanitizer") @@ -711,6 +713,7 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\LLVM\\LLVM;]/lib/clang/7.0.0/lib/windows [HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\LLVM\\LLVM;]/lib/clang/6.0.0/lib/windows ) + mark_as_advanced(COMPILER_ASAN_LIBRARY) elseif(APPLE) execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=lib @@ -725,13 +728,14 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") "${CLANG_LIB_DIR}/darwin/" ) unset(CLANG_LIB_DIR) - else() + mark_as_advanced(COMPILER_ASAN_LIBRARY) + elseif(CMAKE_COMPILER_IS_GNUCC) find_library( COMPILER_ASAN_LIBRARY asan ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES} ) + mark_as_advanced(COMPILER_ASAN_LIBRARY) endif() - mark_as_advanced(COMPILER_ASAN_LIBRARY) endif() endif() -- 2.30.2 From ba25023d2217b4589a7366ebf3f14e800831bfb7 Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Tue, 11 Apr 2023 15:20:52 +0200 Subject: [PATCH 16/47] Python: Support multiple custom script directories in Preferences Makes it possible to select multiple custom script directories in Preferences > File Paths, replacing the single Scripts path option. Each of these directories supports the regular script directory layout with a startup file (or files?), add-ons, modules and presets. When installing an add-on, the script directory can be chosen. NOTE: Deprecates the `bpy.types.PreferencesFilePaths.script_directory` property, and replaces `bpy.utils.script_path_pref` with `bpy.utils.script_paths_pref`. Pull Request: https://projects.blender.org/blender/blender/pulls/104876 --- release/datafiles/userdef/userdef_default.c | 2 +- scripts/modules/bpy/utils/__init__.py | 16 +-- scripts/modules/sys_info.py | 4 +- scripts/startup/bl_operators/userpref.py | 78 ++++++++++-- scripts/startup/bl_ui/space_userpref.py | 48 +++++++- .../blender/blenkernel/BKE_blender_version.h | 2 +- source/blender/blenkernel/intern/blender.c | 1 + source/blender/blenloader/intern/readfile.cc | 1 + .../blenloader/intern/versioning_userdef.c | 15 +++ source/blender/blenloader/intern/writefile.cc | 4 + source/blender/editors/space_file/fsmenu.c | 9 +- source/blender/makesdna/DNA_userdef_types.h | 45 ++++--- .../blender/makesdna/intern/dna_rename_defs.h | 1 + source/blender/makesrna/intern/rna_userdef.c | 112 ++++++++++++++++-- 14 files changed, 292 insertions(+), 46 deletions(-) diff --git a/release/datafiles/userdef/userdef_default.c b/release/datafiles/userdef/userdef_default.c index d62f95d83f6..b3a8ec5889d 100644 --- a/release/datafiles/userdef/userdef_default.c +++ b/release/datafiles/userdef/userdef_default.c @@ -34,7 +34,7 @@ const UserDef U_default = { .renderdir = "//", .render_cachedir = "", .textudir = "//", - .pythondir = "", + .script_directories = {NULL, NULL}, .sounddir = "//", .i18ndir = "", .image_editor = "", diff --git a/scripts/modules/bpy/utils/__init__.py b/scripts/modules/bpy/utils/__init__.py index 8865abab186..406016d82a0 100644 --- a/scripts/modules/bpy/utils/__init__.py +++ b/scripts/modules/bpy/utils/__init__.py @@ -30,7 +30,6 @@ __all__ = ( "previews", "resource_path", "script_path_user", - "script_path_pref", "script_paths", "smpte_from_frame", "smpte_from_seconds", @@ -340,10 +339,14 @@ def script_path_user(): return _os.path.normpath(path) if path else None -def script_path_pref(): - """returns the user preference or None""" - path = _preferences.filepaths.script_directory - return _os.path.normpath(path) if path else None +def script_paths_pref(): + """Returns a list of user preference script directories.""" + paths = [] + for script_directory in _preferences.filepaths.script_directories: + directory = script_directory.directory + if directory: + paths.append(_os.path.normpath(directory)) + return paths def script_paths(*, subdir=None, user_pref=True, check_all=False, use_user=True): @@ -384,9 +387,6 @@ def script_paths(*, subdir=None, user_pref=True, check_all=False, use_user=True) if use_user: base_paths.append(path_user) - if user_pref: - base_paths.append(script_path_pref()) - scripts = [] for path in base_paths: if not path: diff --git a/scripts/modules/sys_info.py b/scripts/modules/sys_info.py index 5bd38acb19c..368531d4ce2 100644 --- a/scripts/modules/sys_info.py +++ b/scripts/modules/sys_info.py @@ -88,7 +88,9 @@ def write_sysinfo(filepath): for p in bpy.utils.script_paths(): output.write("\t%r\n" % p) output.write("user scripts: %r\n" % (bpy.utils.script_path_user())) - output.write("pref scripts: %r\n" % (bpy.utils.script_path_pref())) + output.write("pref scripts:\n") + for p in bpy.utils.script_paths_pref(): + output.write("\t%r\n" % p) output.write("datafiles: %r\n" % (bpy.utils.user_resource('DATAFILES'))) output.write("config: %r\n" % (bpy.utils.user_resource('CONFIG'))) output.write("scripts : %r\n" % (bpy.utils.user_resource('SCRIPTS'))) diff --git a/scripts/startup/bl_operators/userpref.py b/scripts/startup/bl_operators/userpref.py index d0134bd076f..a6efa7f149a 100644 --- a/scripts/startup/bl_operators/userpref.py +++ b/scripts/startup/bl_operators/userpref.py @@ -587,12 +587,18 @@ class PREFERENCES_OT_addon_install(Operator): description="Remove existing add-ons with the same ID", default=True, ) + + def _target_path_items(_self, context): + paths = context.preferences.filepaths + return ( + ('DEFAULT', "Default", ""), + None, + *[(item.name, item.name, "") for index, item in enumerate(paths.script_directories) if item.directory], + ) + target: EnumProperty( name="Target Path", - items=( - ('DEFAULT', "Default", ""), - ('PREFS', "Preferences", ""), - ), + items=_target_path_items, ) filepath: StringProperty( @@ -626,9 +632,11 @@ class PREFERENCES_OT_addon_install(Operator): # Don't use `bpy.utils.script_paths(path="addons")` because we may not be able to write to it. path_addons = bpy.utils.user_resource('SCRIPTS', path="addons", create=True) else: - path_addons = context.preferences.filepaths.script_directory - if path_addons: - path_addons = os.path.join(path_addons, "addons") + paths = context.preferences.filepaths + for script_directory in paths.script_directories: + if script_directory.name == self.target: + path_addons = os.path.join(script_directory.directory, "addons") + break if not path_addons: self.report({'ERROR'}, "Failed to get add-ons path") @@ -1139,6 +1147,60 @@ class PREFERENCES_OT_studiolight_show(Operator): return {'FINISHED'} +class PREFERENCES_OT_script_directory_new(Operator): + bl_idname = "preferences.script_directory_add" + bl_label = "Add Python Script Directory" + + directory: StringProperty( + subtype='DIR_PATH', + ) + filter_folder: BoolProperty( + name="Filter Folders", + default=True, + options={'HIDDEN'}, + ) + + def execute(self, context): + import os + + script_directories = context.preferences.filepaths.script_directories + + new_dir = script_directories.new() + # Assign path selected via file browser. + new_dir.directory = self.directory + new_dir.name = os.path.basename(self.directory.rstrip(os.sep)) + + assert context.preferences.is_dirty == True + + return {'FINISHED'} + + def invoke(self, context, _event): + wm = context.window_manager + + wm.fileselect_add(self) + return {'RUNNING_MODAL'} + + +class PREFERENCES_OT_script_directory_remove(Operator): + bl_idname = "preferences.script_directory_remove" + bl_label = "Remove Python Script Directory" + + index: IntProperty( + name="Index", + description="Index of the script directory to remove", + ) + + def execute(self, context): + script_directories = context.preferences.filepaths.script_directories + for search_index, script_directory in enumerate(script_directories): + if search_index == self.index: + script_directories.remove(script_directory) + break + + assert context.preferences.is_dirty == True + + return {'FINISHED'} + classes = ( PREFERENCES_OT_addon_disable, PREFERENCES_OT_addon_enable, @@ -1164,4 +1226,6 @@ classes = ( PREFERENCES_OT_studiolight_uninstall, PREFERENCES_OT_studiolight_copy_settings, PREFERENCES_OT_studiolight_show, + PREFERENCES_OT_script_directory_new, + PREFERENCES_OT_script_directory_remove, ) diff --git a/scripts/startup/bl_ui/space_userpref.py b/scripts/startup/bl_ui/space_userpref.py index 8d1fa237754..fc4cc0e15b8 100644 --- a/scripts/startup/bl_ui/space_userpref.py +++ b/scripts/startup/bl_ui/space_userpref.py @@ -1333,11 +1333,52 @@ class USERPREF_PT_file_paths_data(FilePathsPanel, Panel): col = self.layout.column() col.prop(paths, "font_directory", text="Fonts") col.prop(paths, "texture_directory", text="Textures") - col.prop(paths, "script_directory", text="Scripts") col.prop(paths, "sound_directory", text="Sounds") col.prop(paths, "temporary_directory", text="Temporary Files") +class USERPREF_PT_file_paths_script_directories(FilePathsPanel, Panel): + bl_label = "Script Directories" + + def draw(self, context): + layout = self.layout + + paths = context.preferences.filepaths + + if len(paths.script_directories) == 0: + layout.operator("preferences.script_directory_add", text="Add", icon='ADD') + return + + layout.use_property_split = False + layout.use_property_decorate = False + + box = layout.box() + split = box.split(factor=0.35) + name_col = split.column() + path_col = split.column() + + row = name_col.row(align=True) # Padding + row.separator() + row.label(text="Name") + + row = path_col.row(align=True) # Padding + row.separator() + row.label(text="Path") + + row.operator("preferences.script_directory_add", text="", icon='ADD', emboss=False) + + for i, script_directory in enumerate(paths.script_directories): + row = name_col.row() + row.alert = not script_directory.name + row.prop(script_directory, "name", text="") + + row = path_col.row() + subrow = row.row() + subrow.alert = not script_directory.directory + subrow.prop(script_directory, "directory", text="") + row.operator("preferences.script_directory_remove", text="", icon='X', emboss=False).index = i + + class USERPREF_PT_file_paths_render(FilePathsPanel, Panel): bl_label = "Render" @@ -1878,7 +1919,7 @@ class USERPREF_PT_addons(AddOnPanel, Panel): if not user_addon_paths: for path in ( bpy.utils.script_path_user(), - bpy.utils.script_path_pref(), + *bpy.utils.script_paths_pref(), ): if path is not None: user_addon_paths.append(os.path.join(path, "addons")) @@ -1910,7 +1951,7 @@ class USERPREF_PT_addons(AddOnPanel, Panel): addon_user_dirs = tuple( p for p in ( - os.path.join(prefs.filepaths.script_directory, "addons"), + *[os.path.join(pref_p, "addons") for pref_p in bpy.utils.script_path_user()], bpy.utils.user_resource('SCRIPTS', path="addons"), ) if p @@ -2457,6 +2498,7 @@ classes = ( USERPREF_PT_theme_strip_colors, USERPREF_PT_file_paths_data, + USERPREF_PT_file_paths_script_directories, USERPREF_PT_file_paths_render, USERPREF_PT_file_paths_applications, USERPREF_PT_file_paths_development, diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h index 6c85f234d57..cfd38d6167b 100644 --- a/source/blender/blenkernel/BKE_blender_version.h +++ b/source/blender/blenkernel/BKE_blender_version.h @@ -25,7 +25,7 @@ extern "C" { /* Blender file format version. */ #define BLENDER_FILE_VERSION BLENDER_VERSION -#define BLENDER_FILE_SUBVERSION 4 +#define BLENDER_FILE_SUBVERSION 5 /* Minimum Blender version that supports reading file written with the current * version. Older Blender versions will test this and show a warning if the file diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c index 3598201d906..305ac5f62cc 100644 --- a/source/blender/blenkernel/intern/blender.c +++ b/source/blender/blenkernel/intern/blender.c @@ -296,6 +296,7 @@ void BKE_blender_userdef_data_free(UserDef *userdef, bool clear_fonts) } BLI_freelistN(&userdef->autoexec_paths); + BLI_freelistN(&userdef->script_directories); BLI_freelistN(&userdef->asset_libraries); BLI_freelistN(&userdef->uistyles); diff --git a/source/blender/blenloader/intern/readfile.cc b/source/blender/blenloader/intern/readfile.cc index a9353e8ba13..30e875f6f2d 100644 --- a/source/blender/blenloader/intern/readfile.cc +++ b/source/blender/blenloader/intern/readfile.cc @@ -3700,6 +3700,7 @@ static BHead *read_userdef(BlendFileData *bfd, FileData *fd, BHead *bhead) BLO_read_list(reader, &user->user_menus); BLO_read_list(reader, &user->addons); BLO_read_list(reader, &user->autoexec_paths); + BLO_read_list(reader, &user->script_directories); BLO_read_list(reader, &user->asset_libraries); LISTBASE_FOREACH (wmKeyMap *, keymap, &user->user_keymaps) { diff --git a/source/blender/blenloader/intern/versioning_userdef.c b/source/blender/blenloader/intern/versioning_userdef.c index a6e55f7b12d..9b7468636cf 100644 --- a/source/blender/blenloader/intern/versioning_userdef.c +++ b/source/blender/blenloader/intern/versioning_userdef.c @@ -31,8 +31,12 @@ #include "BLO_readfile.h" +#include "BLT_translation.h" + #include "GPU_platform.h" +#include "MEM_guardedalloc.h" + #include "readfile.h" /* Own include. */ #include "WM_types.h" @@ -798,6 +802,17 @@ void blo_do_versions_userdef(UserDef *userdef) } } + if (!USER_VERSION_ATLEAST(306, 5)) { + if (userdef->pythondir_legacy[0]) { + bUserScriptDirectory *script_dir = MEM_callocN(sizeof(*script_dir), + "Versioning user script path"); + + STRNCPY(script_dir->dir_path, userdef->pythondir_legacy); + STRNCPY(script_dir->name, DATA_("Untitled")); + BLI_addhead(&userdef->script_directories, script_dir); + } + } + /** * Versioning code until next subversion bump goes here. * diff --git a/source/blender/blenloader/intern/writefile.cc b/source/blender/blenloader/intern/writefile.cc index ca8c9f75b44..0b5eb9aac51 100644 --- a/source/blender/blenloader/intern/writefile.cc +++ b/source/blender/blenloader/intern/writefile.cc @@ -922,6 +922,10 @@ static void write_userdef(BlendWriter *writer, const UserDef *userdef) BLO_write_struct(writer, bPathCompare, path_cmp); } + LISTBASE_FOREACH (const bUserScriptDirectory *, script_dir, &userdef->script_directories) { + BLO_write_struct(writer, bUserScriptDirectory, script_dir); + } + LISTBASE_FOREACH (const bUserAssetLibrary *, asset_library_ref, &userdef->asset_libraries) { BLO_write_struct(writer, bUserAssetLibrary, asset_library_ref); } diff --git a/source/blender/editors/space_file/fsmenu.c b/source/blender/editors/space_file/fsmenu.c index 0e46a2eafe3..41b78ff3562 100644 --- a/source/blender/editors/space_file/fsmenu.c +++ b/source/blender/editors/space_file/fsmenu.c @@ -1033,7 +1033,14 @@ void fsmenu_read_system(struct FSMenu *fsmenu, int read_bookmarks) FS_UDIR_PATH(U.fontdir, ICON_FILE_FONT) FS_UDIR_PATH(U.textudir, ICON_FILE_IMAGE) - FS_UDIR_PATH(U.pythondir, ICON_FILE_SCRIPT) + LISTBASE_FOREACH (bUserScriptDirectory *, script_dir, &U.script_directories) { + fsmenu_insert_entry(fsmenu, + FS_CATEGORY_OTHER, + script_dir->dir_path, + script_dir->name, + ICON_FILE_SCRIPT, + FS_INSERT_LAST); + } FS_UDIR_PATH(U.sounddir, ICON_FILE_SOUND) FS_UDIR_PATH(U.tempdir, ICON_TEMP) diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index 1d8cb6f7baa..70aed0eab5b 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -679,6 +679,17 @@ typedef struct UserDef_Experimental { #define USER_EXPERIMENTAL_TEST(userdef, member) \ (((userdef)->flag & USER_DEVELOPER_UI) && ((userdef)->experimental).member) +/** + * Container to store multiple directory paths and a name for each as a #ListBase. + */ +typedef struct bUserScriptDirectory { + struct bUserScriptDirectory *next, *prev; + + /** Name must be unique. */ + char name[64]; /* MAX_NAME */ + char dir_path[768]; /* FILE_MAXDIR */ +} bUserScriptDirectory; + typedef struct UserDef { DNA_DEFINE_CXX_METHODS(UserDef) @@ -703,22 +714,8 @@ typedef struct UserDef { /** 768 = FILE_MAXDIR. */ char render_cachedir[768]; char textudir[768]; - /** - * Optional user location for scripts. - * - * This supports the same layout as Blender's scripts directory `scripts`. - * - * \note Unlike most paths, changing this is not fully supported at run-time, - * requiring a restart to properly take effect. Supporting this would cause complications as - * the script path can contain `startup`, `addons` & `modules` etc. properly unwinding the - * Python environment to the state it _would_ have been in gets complicated. - * - * Although this is partially supported as the `sys.path` is refreshed when loading preferences. - * This is done to support #PREFERENCES_OT_copy_prev which is available to the user when they - * launch with a new version of Blender. In this case setting the script path on top of - * factory settings will work without problems. - */ - char pythondir[768]; + /* Deprecated, use #UserDef.script_directories instead. */ + char pythondir_legacy[768] DNA_DEPRECATED; char sounddir[768]; char i18ndir[768]; /** 1024 = FILE_MAX. */ @@ -790,6 +787,22 @@ typedef struct UserDef { struct ListBase user_keyconfig_prefs; struct ListBase addons; struct ListBase autoexec_paths; + /** + * Optional user locations for Python scripts. + * + * This supports the same layout as Blender's scripts directory `scripts`. + * + * \note Unlike most paths, changing this is not fully supported at run-time, + * requiring a restart to properly take effect. Supporting this would cause complications as + * the script path can contain `startup`, `addons` & `modules` etc. properly unwinding the + * Python environment to the state it _would_ have been in gets complicated. + * + * Although this is partially supported as the `sys.path` is refreshed when loading preferences. + * This is done to support #PREFERENCES_OT_copy_prev which is available to the user when they + * launch with a new version of Blender. In this case setting the script path on top of + * factory settings will work without problems. + */ + ListBase script_directories; /* #bUserScriptDirectory */ /** #bUserMenu. */ struct ListBase user_menus; /** #bUserAssetLibrary */ diff --git a/source/blender/makesdna/intern/dna_rename_defs.h b/source/blender/makesdna/intern/dna_rename_defs.h index 3318603ffd3..d1fcd09231d 100644 --- a/source/blender/makesdna/intern/dna_rename_defs.h +++ b/source/blender/makesdna/intern/dna_rename_defs.h @@ -148,6 +148,7 @@ DNA_STRUCT_RENAME_ELEM(ThemeSpace, scrubbing_background, time_scrub_background) DNA_STRUCT_RENAME_ELEM(ThemeSpace, show_back_grad, background_type) DNA_STRUCT_RENAME_ELEM(UVProjectModifierData, num_projectors, projectors_num) DNA_STRUCT_RENAME_ELEM(UserDef, gp_manhattendist, gp_manhattandist) +DNA_STRUCT_RENAME_ELEM(UserDef, pythondir, pythondir_legacy) DNA_STRUCT_RENAME_ELEM(VFont, name, filepath) DNA_STRUCT_RENAME_ELEM(View3D, far, clip_end) DNA_STRUCT_RENAME_ELEM(View3D, near, clip_start) diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index e24c975bfa3..24b8b368551 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -150,6 +150,7 @@ static const EnumPropertyItem rna_enum_preference_gpu_backend_items[] = { #ifdef RNA_RUNTIME # include "BLI_math_vector.h" +# include "BLI_string_utils.h" # include "DNA_object_types.h" # include "DNA_screen_types.h" @@ -344,6 +345,52 @@ static void rna_userdef_script_autoexec_update(Main *UNUSED(bmain), USERDEF_TAG_DIRTY; } +static void rna_userdef_script_directory_name_set(PointerRNA *ptr, const char *value) +{ + bUserScriptDirectory *script_dir = ptr->data; + bool value_invalid = false; + + if (!value[0]) { + value_invalid = true; + } + if (STREQ(value, "DEFAULT")) { + value_invalid = true; + } + + if (value_invalid) { + value = DATA_("Untitled"); + } + + BLI_strncpy_utf8(script_dir->name, value, sizeof(script_dir->name)); + BLI_uniquename(&U.script_directories, + script_dir, + value, + '.', + offsetof(bUserScriptDirectory, name), + sizeof(script_dir->name)); +} + +static bUserScriptDirectory *rna_userdef_script_directory_new(void) +{ + bUserScriptDirectory *script_dir = MEM_callocN(sizeof(*script_dir), __func__); + BLI_addtail(&U.script_directories, script_dir); + USERDEF_TAG_DIRTY; + return script_dir; +} + +static void rna_userdef_script_directory_remove(ReportList *reports, PointerRNA *ptr) +{ + bUserScriptDirectory *script_dir = ptr->data; + if (BLI_findindex(&U.script_directories, script_dir) == -1) { + BKE_report(reports, RPT_ERROR, "Script directory not found"); + return; + } + + BLI_freelinkN(&U.script_directories, script_dir); + RNA_POINTER_INVALIDATE(ptr); + USERDEF_TAG_DIRTY; +} + static void rna_userdef_load_ui_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr) { UserDef *userdef = (UserDef *)ptr->data; @@ -6212,6 +6259,57 @@ static void rna_def_userdef_filepaths_asset_library(BlenderRNA *brna) RNA_def_property_update(prop, 0, "rna_userdef_update"); } +static void rna_def_userdef_script_directory(BlenderRNA *brna) +{ + StructRNA *srna = RNA_def_struct(brna, "ScriptDirectory", NULL); + RNA_def_struct_sdna(srna, "bUserScriptDirectory"); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); + RNA_def_struct_ui_text(srna, "Python Scripts Directory", ""); + + PropertyRNA *prop; + + prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE); + RNA_def_property_ui_text(prop, "Name", "Identifier for the Python scripts directory"); + RNA_def_property_string_funcs(prop, NULL, NULL, "rna_userdef_script_directory_name_set"); + RNA_def_struct_name_property(srna, prop); + RNA_def_property_update(prop, 0, "rna_userdef_update"); + + prop = RNA_def_property(srna, "directory", PROP_STRING, PROP_DIRPATH); + RNA_def_property_string_sdna(prop, NULL, "dir_path"); + RNA_def_property_ui_text( + prop, + "Python Scripts Directory", + "Alternate script path, matching the default layout with sub-directories: startup, add-ons, " + "modules, and presets (requires restart)"); + /* TODO: editing should reset sys.path! */ +} + +static void rna_def_userdef_script_directory_collection(BlenderRNA *brna, PropertyRNA *cprop) +{ + StructRNA *srna; + FunctionRNA *func; + PropertyRNA *parm; + + RNA_def_property_srna(cprop, "ScriptDirectoryCollection"); + srna = RNA_def_struct(brna, "ScriptDirectoryCollection", NULL); + RNA_def_struct_clear_flag(srna, STRUCT_UNDO); + RNA_def_struct_ui_text(srna, "Python Scripts Directories", ""); + + func = RNA_def_function(srna, "new", "rna_userdef_script_directory_new"); + RNA_def_function_flag(func, FUNC_NO_SELF); + RNA_def_function_ui_description(func, "Add a new python script directory"); + /* return type */ + parm = RNA_def_pointer(func, "script_directory", "ScriptDirectory", "", ""); + RNA_def_function_return(func, parm); + + func = RNA_def_function(srna, "remove", "rna_userdef_script_directory_remove"); + RNA_def_function_flag(func, FUNC_NO_SELF | FUNC_USE_REPORTS); + RNA_def_function_ui_description(func, "Remove a python script directory"); + parm = RNA_def_pointer(func, "script_directory", "ScriptDirectory", "", ""); + RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR); + RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0); +} + static void rna_def_userdef_filepaths(BlenderRNA *brna) { PropertyRNA *prop; @@ -6311,14 +6409,12 @@ static void rna_def_userdef_filepaths(BlenderRNA *brna) "Render Output Directory", "The default directory for rendering output, for new scenes"); - prop = RNA_def_property(srna, "script_directory", PROP_STRING, PROP_DIRPATH); - RNA_def_property_string_sdna(prop, NULL, "pythondir"); - RNA_def_property_ui_text( - prop, - "Python Scripts Directory", - "Alternate script path, matching the default layout with subdirectories: " - "`startup`, `addons`, `modules`, and `presets` (requires restart)"); - /* TODO: editing should reset sys.path! */ + rna_def_userdef_script_directory(brna); + + prop = RNA_def_property(srna, "script_directories", PROP_COLLECTION, PROP_NONE); + RNA_def_property_struct_type(prop, "ScriptDirectory"); + RNA_def_property_ui_text(prop, "Python Scripts Directory", ""); + rna_def_userdef_script_directory_collection(brna, prop); prop = RNA_def_property(srna, "i18n_branches_directory", PROP_STRING, PROP_DIRPATH); RNA_def_property_string_sdna(prop, NULL, "i18ndir"); -- 2.30.2 From d299b1157ff373d6dd16b9821e6a015f9874e972 Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Tue, 11 Apr 2023 15:34:31 +0200 Subject: [PATCH 17/47] Cleanup: Update versioning code after subversion bump Subversion was bumped in ba25023d22, so no need to execute this always now, just do it for necessary file versions. --- .../blenloader/intern/versioning_300.cc | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/source/blender/blenloader/intern/versioning_300.cc b/source/blender/blenloader/intern/versioning_300.cc index 708f842b6da..82375346a74 100644 --- a/source/blender/blenloader/intern/versioning_300.cc +++ b/source/blender/blenloader/intern/versioning_300.cc @@ -4251,18 +4251,7 @@ void blo_do_versions_300(FileData *fd, Library * /*lib*/, Main *bmain) } } - /** - * Versioning code until next subversion bump goes here. - * - * \note Be sure to check when bumping the version: - * - "versioning_userdef.c", #blo_do_versions_userdef - * - "versioning_userdef.c", #do_versions_theme - * - * \note Keep this message at the bottom of the function. - */ - { - /* Keep this block, even when empty. */ - + if (!MAIN_VERSION_ATLEAST(bmain, 306, 5)) { /* Some regions used to be added/removed dynamically. Ensure they are always there, there is a * `ARegionType.poll()` now. */ LISTBASE_FOREACH (bScreen *, screen, &bmain->screens) { @@ -4293,4 +4282,17 @@ void blo_do_versions_300(FileData *fd, Library * /*lib*/, Main *bmain) } } } + + /** + * Versioning code until next subversion bump goes here. + * + * \note Be sure to check when bumping the version: + * - "versioning_userdef.c", #blo_do_versions_userdef + * - "versioning_userdef.c", #do_versions_theme + * + * \note Keep this message at the bottom of the function. + */ + { + /* Keep this block, even when empty. */ + } } -- 2.30.2 From 43b37fbc93c719c0b9579083aeb3f00595ad5f9d Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 11 Apr 2023 15:59:39 +0200 Subject: [PATCH 18/47] Fix #106722: Motion tracking data lost on recovering autosave This is mistake in the refactor of the DNA storage which unified the camera and object storage. The bit which was missed from the initial logic is that the autosave does not use regular file write. Detect this in the do-versioning code and rely on the new data format when it exists. A candidate for 3.5.1 release. Pull Request: https://projects.blender.org/blender/blender/pulls/106811 --- .../blenloader/intern/versioning_400.cc | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/source/blender/blenloader/intern/versioning_400.cc b/source/blender/blenloader/intern/versioning_400.cc index c56c8a2608d..00ae25ebeb5 100644 --- a/source/blender/blenloader/intern/versioning_400.cc +++ b/source/blender/blenloader/intern/versioning_400.cc @@ -49,32 +49,37 @@ static void version_motion_tracking_legacy_camera_object(MovieClip &movieclip) MovieTrackingObject *active_tracking_object = BKE_tracking_object_get_active(&tracking); MovieTrackingObject *tracking_camera_object = BKE_tracking_object_get_camera(&tracking); - /* Sanity check. - * The camera tracking object is not supposed to have tracking and reconstruction read into it - * yet. */ - BLI_assert(tracking_camera_object != nullptr); - BLI_assert(BLI_listbase_is_empty(&tracking_camera_object->tracks)); - BLI_assert(BLI_listbase_is_empty(&tracking_camera_object->plane_tracks)); - BLI_assert(tracking_camera_object->reconstruction.cameras == nullptr); - /* Move storage from tracking to the actual tracking object. */ + /* NOTE: The regular .blend file saving converts the new format to the legacy format, but the + * auto-save one does not do this. Likely, the regular saving clears the new storage before + * write, so it can be used to make a decision here. + * + * The idea is basically to not override the new storage if it exists. This is only supposed to + * happen for auto-save files. */ - tracking_camera_object->tracks = tracking.tracks_legacy; - tracking_camera_object->plane_tracks = tracking.plane_tracks_legacy; + if (BLI_listbase_is_empty(&tracking_camera_object->tracks)) { + tracking_camera_object->tracks = tracking.tracks_legacy; + active_tracking_object->active_track = tracking.act_track_legacy; + } - tracking_camera_object->reconstruction = tracking.reconstruction_legacy; - memset(&tracking.reconstruction_legacy, 0, sizeof(tracking.reconstruction_legacy)); + if (BLI_listbase_is_empty(&tracking_camera_object->plane_tracks)) { + tracking_camera_object->plane_tracks = tracking.plane_tracks_legacy; + active_tracking_object->active_plane_track = tracking.act_plane_track_legacy; + } - /* The active track in the tracking structure used to be shared across all tracking objects. */ - active_tracking_object->active_track = tracking.act_track_legacy; - active_tracking_object->active_plane_track = tracking.act_plane_track_legacy; + if (tracking_camera_object->reconstruction.cameras == nullptr) { + tracking_camera_object->reconstruction = tracking.reconstruction_legacy; + } - /* Clear pointers in the legacy storage. */ + /* Clear pointers in the legacy storage. + * Always do it, in the case something got missed in the logic above, so that the legacy storage + * is always ensured to be empty after load. */ BLI_listbase_clear(&tracking.tracks_legacy); BLI_listbase_clear(&tracking.plane_tracks_legacy); tracking.act_track_legacy = nullptr; tracking.act_plane_track_legacy = nullptr; + memset(&tracking.reconstruction_legacy, 0, sizeof(tracking.reconstruction_legacy)); } static void version_movieclips_legacy_camera_object(Main *bmain) -- 2.30.2 From 9477ab65a46f800781307d64729784b4baf43bfd Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Tue, 11 Apr 2023 16:20:26 +0200 Subject: [PATCH 19/47] ImageEngine: Improve Performance and Quality. Blender 3.5 has a performance regression in the image engine that made the image engine 3-4x slower then 3.4. The cause of this was the new way how panning was implemented. This PR disables the new panning for now as a short term fix. In the future the panning and improvements we did ensured better performance when dealing with higher resolution images. But the regression for regular images weren't acceptable. This fix might introduce other performance regressions on lower end systems. In the future we still want to improve the performance to get back to Blender 3.0 performance, but that requires more work and has a different priority. Pull Request: https://projects.blender.org/blender/blender/pulls/106803 --- .../draw/engines/image/image_batches.hh | 39 +++--- .../draw/engines/image/image_drawing_mode.hh | 122 ++++++++++++++++-- .../draw/engines/image/image_engine.cc | 2 +- .../draw/engines/image/image_texture_info.hh | 24 +--- .../shaders/image_engine_color_vert.glsl | 5 +- .../shaders/image_engine_depth_vert.glsl | 5 +- .../image/shaders/infos/engine_image_info.hh | 4 +- 7 files changed, 143 insertions(+), 58 deletions(-) diff --git a/source/blender/draw/engines/image/image_batches.hh b/source/blender/draw/engines/image/image_batches.hh index 67a8e8976d1..739a2c800e8 100644 --- a/source/blender/draw/engines/image/image_batches.hh +++ b/source/blender/draw/engines/image/image_batches.hh @@ -44,24 +44,8 @@ class BatchUpdater { GPU_batch_init_ex(info.batch, GPU_PRIM_TRI_FAN, vbo, nullptr, GPU_BATCH_OWNS_VBO); } - GPUVertBuf *create_vbo() - { - GPUVertBuf *vbo = GPU_vertbuf_create_with_format(&format); - GPU_vertbuf_data_alloc(vbo, 4); - float pos[4][2]; - fill_tri_fan_from_rctf(pos, info.clipping_bounds); - float uv[4][2]; - fill_tri_fan_from_rctf(uv, info.clipping_uv_bounds); - - for (int i = 0; i < 4; i++) { - GPU_vertbuf_attr_set(vbo, pos_id, i, pos[i]); - GPU_vertbuf_attr_set(vbo, uv_id, i, uv[i]); - } - - return vbo; - } - - static void fill_tri_fan_from_rctf(float result[4][2], rctf &rect) + template + static void fill_tri_fan_from_rect(DataType result[4][2], RectType &rect) { result[0][0] = rect.xmin; result[0][1] = rect.ymin; @@ -73,10 +57,27 @@ class BatchUpdater { result[3][1] = rect.ymax; } + GPUVertBuf *create_vbo() + { + GPUVertBuf *vbo = GPU_vertbuf_create_with_format(&format); + GPU_vertbuf_data_alloc(vbo, 4); + int pos[4][2]; + fill_tri_fan_from_rect(pos, info.clipping_bounds); + float uv[4][2]; + fill_tri_fan_from_rect(uv, info.clipping_uv_bounds); + + for (int i = 0; i < 4; i++) { + GPU_vertbuf_attr_set(vbo, pos_id, i, pos[i]); + GPU_vertbuf_attr_set(vbo, uv_id, i, uv[i]); + } + + return vbo; + } + void ensure_format() { if (format.attr_len == 0) { - GPU_vertformat_attr_add(&format, "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT); + GPU_vertformat_attr_add(&format, "pos", GPU_COMP_I32, 2, GPU_FETCH_INT); GPU_vertformat_attr_add(&format, "uv", GPU_COMP_F32, 2, GPU_FETCH_FLOAT); pos_id = GPU_vertformat_attr_id_get(&format, "pos"); diff --git a/source/blender/draw/engines/image/image_drawing_mode.hh b/source/blender/draw/engines/image/image_drawing_mode.hh index 4169f8dd836..e1499cf2711 100644 --- a/source/blender/draw/engines/image/image_drawing_mode.hh +++ b/source/blender/draw/engines/image/image_drawing_mode.hh @@ -21,11 +21,84 @@ namespace blender::draw::image_engine { constexpr float EPSILON_UV_BOUNDS = 0.00001f; +class BaseTextureMethod { + protected: + IMAGE_InstanceData *instance_data; + + protected: + BaseTextureMethod(IMAGE_InstanceData *instance_data) : instance_data(instance_data) {} + + public: + /** + * \brief Ensure enough texture infos are allocated in `instance_data`. + */ + virtual void ensure_texture_infos() = 0; + + /** + * \brief Update the uv and region bounds of all texture_infos of instance_data. + */ + virtual void update_bounds(const ARegion *region) = 0; + + virtual void ensure_gpu_textures_allocation() = 0; +}; + +/** + * Uses a single texture that covers the area. Every zoom/pan change requires a full + * update of the texture. + */ +class OneTexture : public BaseTextureMethod { + public: + OneTexture(IMAGE_InstanceData *instance_data) : BaseTextureMethod(instance_data) {} + void ensure_texture_infos() override + { + instance_data->texture_infos.resize(1); + } + + void update_bounds(const ARegion *region) override + { + float4x4 mat = math::invert(float4x4(instance_data->ss_to_texture)); + float2 region_uv_min = math::transform_point(mat, float3(0.0f, 0.0f, 0.0f)).xy(); + float2 region_uv_max = math::transform_point(mat, float3(1.0f, 1.0f, 0.0f)).xy(); + + TextureInfo &texture_info = instance_data->texture_infos[0]; + texture_info.tile_id = int2(0); + texture_info.need_full_update = false; + rctf new_clipping_uv_bounds; + BLI_rctf_init(&new_clipping_uv_bounds, + region_uv_min.x, + region_uv_max.x, + region_uv_min.y, + region_uv_max.y); + + if (memcmp(&new_clipping_uv_bounds, &texture_info.clipping_uv_bounds, sizeof(rctf))) { + texture_info.clipping_uv_bounds = new_clipping_uv_bounds; + texture_info.need_full_update = true; + } + + rcti new_clipping_bounds; + BLI_rcti_init(&new_clipping_bounds, 0, region->winx, 0, region->winy); + if (memcmp(&new_clipping_bounds, &texture_info.clipping_bounds, sizeof(rcti))) { + texture_info.clipping_bounds = new_clipping_bounds; + texture_info.need_full_update = true; + } + } + + void ensure_gpu_textures_allocation() override + { + TextureInfo &texture_info = instance_data->texture_infos[0]; + int2 texture_size = int2(BLI_rcti_size_x(&texture_info.clipping_bounds), + BLI_rcti_size_y(&texture_info.clipping_bounds)); + texture_info.ensure_gpu_texture(texture_size); + } +}; + /** * \brief Screen space method using a multiple textures covering the region. * + * This method improves panning speed, but has some drawing artifacts and + * therefore isn't selected. */ -template class ScreenTileTextures { +template class ScreenTileTextures : public BaseTextureMethod { public: static const size_t TexturesPerDimension = Divisions + 1; static const size_t TexturesRequired = TexturesPerDimension * TexturesPerDimension; @@ -38,17 +111,17 @@ template class ScreenTileTextures { struct TextureInfoBounds { TextureInfo *info = nullptr; rctf uv_bounds; + /* Offset of this tile to be drawn on the screen (number of tiles from bottom left corner). */ + int2 tile_id; }; - IMAGE_InstanceData *instance_data; - public: - ScreenTileTextures(IMAGE_InstanceData *instance_data) : instance_data(instance_data) {} + ScreenTileTextures(IMAGE_InstanceData *instance_data) : BaseTextureMethod(instance_data) {} /** * \brief Ensure enough texture infos are allocated in `instance_data`. */ - void ensure_texture_infos() + void ensure_texture_infos() override { instance_data->texture_infos.resize(TexturesRequired); } @@ -56,7 +129,7 @@ template class ScreenTileTextures { /** * \brief Update the uv and region bounds of all texture_infos of instance_data. */ - void update_bounds(const ARegion *region) + void update_bounds(const ARegion *region) override { /* determine uv_area of the region. */ Vector unassigned_textures; @@ -76,13 +149,22 @@ template class ScreenTileTextures { rctf region_uv_bounds; BLI_rctf_init( ®ion_uv_bounds, region_uv_min.x, region_uv_max.x, region_uv_min.y, region_uv_max.y); - update_region_bounds_from_uv_bounds(region_uv_bounds, float2(region->winx, region->winy)); + update_region_bounds_from_uv_bounds(region_uv_bounds, int2(region->winx, region->winy)); } - void ensure_gpu_textures_allocation() + /** + * Get the texture size of a single texture for the current settings. + */ + int2 gpu_texture_size() const { float2 viewport_size = DRW_viewport_size_get(); int2 texture_size(ceil(viewport_size.x / Divisions), ceil(viewport_size.y / Divisions)); + return texture_size; + } + + void ensure_gpu_textures_allocation() override + { + int2 texture_size = gpu_texture_size(); for (TextureInfo &info : instance_data->texture_infos) { info.ensure_gpu_texture(texture_size); } @@ -107,6 +189,7 @@ template class ScreenTileTextures { for (int x = 0; x < TexturesPerDimension; x++) { for (int y = 0; y < TexturesPerDimension; y++) { TextureInfoBounds texture_info_bounds; + texture_info_bounds.tile_id = int2(x, y); BLI_rctf_init(&texture_info_bounds.uv_bounds, uv_coords[x][y].x, uv_coords[x + 1][y + 1].x, @@ -127,6 +210,7 @@ template class ScreenTileTextures { if (info_bound.info == nullptr && BLI_rctf_compare(&info_bound.uv_bounds, &info.clipping_uv_bounds, 0.001)) { info_bound.info = &info; + info.tile_id = info_bound.tile_id; assigned = true; break; } @@ -143,20 +227,34 @@ template class ScreenTileTextures { for (TextureInfoBounds &info_bound : info_bounds) { if (info_bound.info == nullptr) { info_bound.info = unassigned_textures.pop_last(); + info_bound.info->tile_id = info_bound.tile_id; info_bound.info->need_full_update = true; info_bound.info->clipping_uv_bounds = info_bound.uv_bounds; } } } - void update_region_bounds_from_uv_bounds(const rctf ®ion_uv_bounds, const float2 region_size) + void update_region_bounds_from_uv_bounds(const rctf ®ion_uv_bounds, const int2 region_size) { rctf region_bounds; BLI_rctf_init(®ion_bounds, 0.0, region_size.x, 0.0, region_size.y); float4x4 uv_to_screen; BLI_rctf_transform_calc_m4_pivot_min(®ion_uv_bounds, ®ion_bounds, uv_to_screen.ptr()); + int2 tile_origin(0); + for (const TextureInfo &info : instance_data->texture_infos) { + if (info.tile_id == int2(0)) { + tile_origin = int2(math::transform_point( + uv_to_screen, + float3(info.clipping_uv_bounds.xmin, info.clipping_uv_bounds.ymin, 0.0))); + break; + } + } + + const int2 texture_size = gpu_texture_size(); for (TextureInfo &info : instance_data->texture_infos) { - info.update_region_bounds_from_uv_bounds(uv_to_screen); + int2 bottom_left = tile_origin + texture_size * info.tile_id; + int2 top_right = bottom_left + texture_size; + BLI_rcti_init(&info.clipping_bounds, bottom_left.x, top_right.x, bottom_left.y, top_right.y); } } }; @@ -497,7 +595,7 @@ template class ScreenSpaceDrawingMode : public AbstractD tile_buffer.y * (texture_info.clipping_uv_bounds.ymin - image_tile.get_tile_y_offset()), tile_buffer.y * (texture_info.clipping_uv_bounds.ymax - image_tile.get_tile_y_offset())); BLI_rctf_transform_calc_m4_pivot_min(&tile_area, &texture_area, uv_to_texel.ptr()); - invert_m4(uv_to_texel.ptr()); + uv_to_texel = math::invert(uv_to_texel); rctf crop_rect; rctf *crop_rect_ptr = nullptr; @@ -584,6 +682,6 @@ template class ScreenSpaceDrawingMode : public AbstractD DRW_view_set_active(nullptr); GPU_framebuffer_bind(dfbl->default_fb); } -}; // namespace clipping +}; } // namespace blender::draw::image_engine diff --git a/source/blender/draw/engines/image/image_engine.cc b/source/blender/draw/engines/image/image_engine.cc index a836ee928cd..1584a2f0a8f 100644 --- a/source/blender/draw/engines/image/image_engine.cc +++ b/source/blender/draw/engines/image/image_engine.cc @@ -53,7 +53,7 @@ template< * * Useful during development to switch between drawing implementations. */ - typename DrawingMode = ScreenSpaceDrawingMode>> + typename DrawingMode = ScreenSpaceDrawingMode> class ImageEngine { private: const DRWContextState *draw_ctx; diff --git a/source/blender/draw/engines/image/image_texture_info.hh b/source/blender/draw/engines/image/image_texture_info.hh index ead037196d6..1e0eb2162fb 100644 --- a/source/blender/draw/engines/image/image_texture_info.hh +++ b/source/blender/draw/engines/image/image_texture_info.hh @@ -24,15 +24,19 @@ struct TextureInfo { bool need_full_update : 1; /** \brief area of the texture in screen space. */ - rctf clipping_bounds; + rcti clipping_bounds; /** \brief uv area of the texture in screen space. */ rctf clipping_uv_bounds; + /* Which tile of the screen is used with this texture. Used to safely calculate the correct + * offset of the textures. */ + int2 tile_id; + /** * \brief Batch to draw the associated text on the screen. * * Contains a VBO with `pos` and `uv`. - * `pos` (2xF32) is relative to the origin of the space. + * `pos` (2xI32) is relative to the origin of the space. * `uv` (2xF32) reflect the uv bounds. */ GPUBatch *batch = nullptr; @@ -68,22 +72,6 @@ struct TextureInfo { return int2(clipping_bounds.xmin, clipping_bounds.ymin); } - /** - * \brief Update the region bounds from the uv bounds by applying the given transform matrix. - */ - void update_region_bounds_from_uv_bounds(const float4x4 &uv_to_region) - { - float3 bottom_left_uv = float3(clipping_uv_bounds.xmin, clipping_uv_bounds.ymin, 0.0f); - float3 top_right_uv = float3(clipping_uv_bounds.xmax, clipping_uv_bounds.ymax, 0.0f); - float3 bottom_left_region = math::transform_point(uv_to_region, bottom_left_uv); - float3 top_right_region = math::transform_point(uv_to_region, top_right_uv); - BLI_rctf_init(&clipping_bounds, - bottom_left_region.x, - top_right_region.x, - bottom_left_region.y, - top_right_region.y); - } - void ensure_gpu_texture(int2 texture_size) { const bool is_allocated = texture != nullptr; diff --git a/source/blender/draw/engines/image/shaders/image_engine_color_vert.glsl b/source/blender/draw/engines/image/shaders/image_engine_color_vert.glsl index fb72a132613..53b67032815 100644 --- a/source/blender/draw/engines/image/shaders/image_engine_color_vert.glsl +++ b/source/blender/draw/engines/image/shaders/image_engine_color_vert.glsl @@ -2,10 +2,9 @@ void main() { - vec3 image_pos = vec3(pos, 0.0); + vec3 image_pos = vec3(pos.x, pos.y, 0.0); uv_screen = image_pos.xy; - vec3 world_pos = point_object_to_world(image_pos); - vec4 position = point_world_to_ndc(world_pos); + vec4 position = point_world_to_ndc(image_pos); gl_Position = position; } diff --git a/source/blender/draw/engines/image/shaders/image_engine_depth_vert.glsl b/source/blender/draw/engines/image/shaders/image_engine_depth_vert.glsl index 3181a85ff55..c1516e09213 100644 --- a/source/blender/draw/engines/image/shaders/image_engine_depth_vert.glsl +++ b/source/blender/draw/engines/image/shaders/image_engine_depth_vert.glsl @@ -2,10 +2,9 @@ void main() { - vec3 image_pos = vec3(pos, 0.0); + vec3 image_pos = vec3(pos.x, pos.y, 0.0); uv_image = uv; - vec3 world_pos = point_object_to_world(image_pos); - vec4 position = point_world_to_ndc(world_pos); + vec4 position = point_world_to_ndc(image_pos); gl_Position = position; } diff --git a/source/blender/draw/engines/image/shaders/infos/engine_image_info.hh b/source/blender/draw/engines/image/shaders/infos/engine_image_info.hh index 3e6673b79a2..6495ee03326 100644 --- a/source/blender/draw/engines/image/shaders/infos/engine_image_info.hh +++ b/source/blender/draw/engines/image/shaders/infos/engine_image_info.hh @@ -5,7 +5,7 @@ GPU_SHADER_INTERFACE_INFO(image_engine_color_iface, "").smooth(Type::VEC2, "uv_screen"); GPU_SHADER_CREATE_INFO(image_engine_color_shader) - .vertex_in(0, Type::VEC2, "pos") + .vertex_in(0, Type::IVEC2, "pos") .vertex_out(image_engine_color_iface) .fragment_out(0, Type::VEC4, "fragColor") .push_constant(Type::VEC4, "shuffle") @@ -23,7 +23,7 @@ GPU_SHADER_CREATE_INFO(image_engine_color_shader) GPU_SHADER_INTERFACE_INFO(image_engine_depth_iface, "").smooth(Type::VEC2, "uv_image"); GPU_SHADER_CREATE_INFO(image_engine_depth_shader) - .vertex_in(0, Type::VEC2, "pos") + .vertex_in(0, Type::IVEC2, "pos") .vertex_in(1, Type::VEC2, "uv") .vertex_out(image_engine_depth_iface) .push_constant(Type::VEC4, "min_max_uv") -- 2.30.2 From b03174782eb106e65deb201cbaadeefea2b7533a Mon Sep 17 00:00:00 2001 From: Harley Acheson Date: Tue, 11 Apr 2023 17:00:52 +0200 Subject: [PATCH 20/47] Fix #106775: File Draw Negative Width Buttons Do not include Fake Draggable button in file lists if the space is so constrained that they have negative widths. Avoids debug assert. Pull Request: https://projects.blender.org/blender/blender/pulls/106777 --- .../blender/editors/space_file/file_draw.cc | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/source/blender/editors/space_file/file_draw.cc b/source/blender/editors/space_file/file_draw.cc index 3306a8eed1a..b99c94b6d77 100644 --- a/source/blender/editors/space_file/file_draw.cc +++ b/source/blender/editors/space_file/file_draw.cc @@ -1033,22 +1033,24 @@ void file_draw_list(const bContext *C, ARegion *region) const uiStyle *style = UI_style_get(); const int str_width = UI_fontstyle_string_width(&style->widget, file->name); const int drag_width = MIN2(str_width + icon_ofs, column_width - ATTRIBUTE_COLUMN_PADDING); - uiBut *drag_but = uiDefBut(block, - UI_BTYPE_LABEL, - 0, - "", - tile_draw_rect.xmin, - tile_draw_rect.ymin - 1, - drag_width, - layout->tile_h + layout->tile_border_y * 2, - nullptr, - 0, - 0, - 0, - 0, - 0); - UI_but_dragflag_enable(drag_but, UI_BUT_DRAG_FULL_BUT); - file_but_enable_drag(drag_but, sfile, file, path, nullptr, icon, UI_SCALE_FAC); + if (drag_width > 0) { + uiBut *drag_but = uiDefBut(block, + UI_BTYPE_LABEL, + 0, + "", + tile_draw_rect.xmin, + tile_draw_rect.ymin - 1, + drag_width, + layout->tile_h + layout->tile_border_y * 2, + nullptr, + 0, + 0, + 0, + 0, + 0); + UI_but_dragflag_enable(drag_but, UI_BUT_DRAG_FULL_BUT); + file_but_enable_drag(drag_but, sfile, file, path, nullptr, icon, UI_SCALE_FAC); + } } /* Add this after the fake draggable button, so the icon button tooltip is displayed. */ -- 2.30.2 From 4472717de216bacd8c52db4c71af6d0af87442f3 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Tue, 11 Apr 2023 11:06:26 -0400 Subject: [PATCH 21/47] Cleanup: Remove unnecessary PBVH attribute pointer Material indices are only used when the structure is built. It's simpler not to keep a longer-term reference available if it isn't needed. --- source/blender/blenkernel/intern/pbvh.cc | 48 ++++++++++++------- .../blender/blenkernel/intern/pbvh_intern.hh | 3 +- 2 files changed, 33 insertions(+), 18 deletions(-) diff --git a/source/blender/blenkernel/intern/pbvh.cc b/source/blender/blenkernel/intern/pbvh.cc index d279877e748..7819094cfb6 100644 --- a/source/blender/blenkernel/intern/pbvh.cc +++ b/source/blender/blenkernel/intern/pbvh.cc @@ -155,13 +155,13 @@ static void update_node_vb(PBVH *pbvh, PBVHNode *node) // BB_expand(&node->vb, co); //} -static bool face_materials_match(const PBVH *pbvh, +static bool face_materials_match(const int *material_indices, const bool *sharp_faces, const int a, const int b) { - if (pbvh->material_indices) { - if (pbvh->material_indices[a] != pbvh->material_indices[b]) { + if (material_indices) { + if (material_indices[a] != material_indices[b]) { return false; } } @@ -241,7 +241,8 @@ static int partition_indices_grids(int *prim_indices, } /* Returns the index of the first element on the right of the partition */ -static int partition_indices_material(PBVH *pbvh, const bool *sharp_faces, int lo, int hi) +static int partition_indices_material( + PBVH *pbvh, const int *material_indices, const bool *sharp_faces, int lo, int hi) { const MLoopTri *looptri = pbvh->looptri; const DMFlagMat *flagmats = pbvh->grid_flag_mats; @@ -251,10 +252,12 @@ static int partition_indices_material(PBVH *pbvh, const bool *sharp_faces, int l for (;;) { if (pbvh->looptri) { const int first = looptri[pbvh->prim_indices[lo]].poly; - for (; face_materials_match(pbvh, sharp_faces, first, looptri[indices[i]].poly); i++) { + for (; face_materials_match(material_indices, sharp_faces, first, looptri[indices[i]].poly); + i++) { /* pass */ } - for (; !face_materials_match(pbvh, sharp_faces, first, looptri[indices[j]].poly); j--) { + for (; !face_materials_match(material_indices, sharp_faces, first, looptri[indices[j]].poly); + j--) { /* pass */ } } @@ -462,7 +465,8 @@ static void build_leaf(PBVH *pbvh, int node_index, BBC *prim_bbc, int offset, in /* Return zero if all primitives in the node can be drawn with the * same material (including flat/smooth shading), non-zero otherwise */ -static bool leaf_needs_material_split(PBVH *pbvh, const bool *sharp_faces, int offset, int count) +static bool leaf_needs_material_split( + PBVH *pbvh, const int *material_indices, const bool *sharp_faces, int offset, int count) { if (count <= 1) { return false; @@ -472,7 +476,8 @@ static bool leaf_needs_material_split(PBVH *pbvh, const bool *sharp_faces, int o const MLoopTri *first = &pbvh->looptri[pbvh->prim_indices[offset]]; for (int i = offset + count - 1; i > offset; i--) { int prim = pbvh->prim_indices[i]; - if (!face_materials_match(pbvh, sharp_faces, first->poly, pbvh->looptri[prim].poly)) { + if (!face_materials_match( + material_indices, sharp_faces, first->poly, pbvh->looptri[prim].poly)) { return true; } } @@ -551,6 +556,7 @@ static void test_face_boundaries(PBVH *pbvh) */ static void build_sub(PBVH *pbvh, + const int *material_indices, const bool *sharp_faces, int node_index, BB *cb, @@ -570,7 +576,7 @@ static void build_sub(PBVH *pbvh, /* Decide whether this is a leaf or not */ const bool below_leaf_limit = count <= pbvh->leaf_limit || depth >= STACK_FIXED_DEPTH - 1; if (below_leaf_limit) { - if (!leaf_needs_material_split(pbvh, sharp_faces, offset, count)) { + if (!leaf_needs_material_split(pbvh, material_indices, sharp_faces, offset, count)) { build_leaf(pbvh, node_index, prim_bbc, offset, count); if (node_index == 0) { @@ -623,11 +629,13 @@ static void build_sub(PBVH *pbvh, } else { /* Partition primitives by material */ - end = partition_indices_material(pbvh, sharp_faces, offset, offset + count - 1); + end = partition_indices_material( + pbvh, material_indices, sharp_faces, offset, offset + count - 1); } /* Build children */ build_sub(pbvh, + material_indices, sharp_faces, pbvh->nodes[node_index].children_offset, nullptr, @@ -637,6 +645,7 @@ static void build_sub(PBVH *pbvh, prim_scratch, depth + 1); build_sub(pbvh, + material_indices, sharp_faces, pbvh->nodes[node_index].children_offset + 1, nullptr, @@ -651,7 +660,12 @@ static void build_sub(PBVH *pbvh, } } -static void pbvh_build(PBVH *pbvh, const bool *sharp_faces, BB *cb, BBC *prim_bbc, int totprim) +static void pbvh_build(PBVH *pbvh, + const int *material_indices, + const bool *sharp_faces, + BB *cb, + BBC *prim_bbc, + int totprim) { if (totprim != pbvh->totprim) { pbvh->totprim = totprim; @@ -674,7 +688,7 @@ static void pbvh_build(PBVH *pbvh, const bool *sharp_faces, BB *cb, BBC *prim_bb } pbvh->totnode = 1; - build_sub(pbvh, sharp_faces, 0, cb, prim_bbc, 0, totprim, nullptr, 0); + build_sub(pbvh, material_indices, sharp_faces, 0, cb, prim_bbc, 0, totprim, nullptr, 0); } static void pbvh_draw_args_init(PBVH *pbvh, PBVH_GPU_Args *args, PBVHNode *node) @@ -839,8 +853,6 @@ void BKE_pbvh_update_mesh_pointers(PBVH *pbvh, Mesh *mesh) pbvh->vert_positions = BKE_mesh_vert_positions_for_write(mesh); } - pbvh->material_indices = static_cast( - CustomData_get_layer_named(&mesh->pdata, CD_PROP_INT32, "material_index")); pbvh->hide_poly = static_cast(CustomData_get_layer_named_for_write( &mesh->pdata, CD_PROP_BOOL, ".hide_poly", mesh->totpoly)); pbvh->hide_vert = static_cast(CustomData_get_layer_named_for_write( @@ -919,9 +931,11 @@ void BKE_pbvh_build_mesh(PBVH *pbvh, Mesh *mesh) } if (looptri_num) { + const int *material_indices = static_cast( + CustomData_get_layer_named(&mesh->pdata, CD_PROP_INT32, "material_index")); const bool *sharp_faces = (const bool *)CustomData_get_layer_named( &mesh->pdata, CD_PROP_BOOL, "sharp_face"); - pbvh_build(pbvh, sharp_faces, &cb, prim_bbc, looptri_num); + pbvh_build(pbvh, material_indices, sharp_faces, &cb, prim_bbc, looptri_num); #ifdef TEST_PBVH_FACE_SPLIT test_face_boundaries(pbvh); @@ -1008,9 +1022,11 @@ void BKE_pbvh_build_grids(PBVH *pbvh, } if (totgrid) { + const int *material_indices = static_cast( + CustomData_get_layer_named(&me->pdata, CD_PROP_INT32, "material_index")); const bool *sharp_faces = (const bool *)CustomData_get_layer_named( &me->pdata, CD_PROP_BOOL, "sharp_face"); - pbvh_build(pbvh, sharp_faces, &cb, prim_bbc, totgrid); + pbvh_build(pbvh, material_indices, sharp_faces, &cb, prim_bbc, totgrid); #ifdef TEST_PBVH_FACE_SPLIT test_face_boundaries(pbvh); diff --git a/source/blender/blenkernel/intern/pbvh_intern.hh b/source/blender/blenkernel/intern/pbvh_intern.hh index a32d7174bf8..22c6b1c7fe2 100644 --- a/source/blender/blenkernel/intern/pbvh_intern.hh +++ b/source/blender/blenkernel/intern/pbvh_intern.hh @@ -157,8 +157,7 @@ struct PBVH { float (*vert_positions)[3]; blender::OffsetIndices polys; bool *hide_poly; - /** Material indices. Only valid for polygon meshes. */ - const int *material_indices; + /** Only valid for polygon meshes. */ const int *corner_verts; /* Owned by the #PBVH, because after deformations they have to be recomputed. */ const MLoopTri *looptri; -- 2.30.2 From 90ad930a018e21f6df36f0532aae897a9e6a0559 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Tue, 11 Apr 2023 12:01:59 -0400 Subject: [PATCH 22/47] Fix #106778: Incomplete copy of curves radius to Cycles The number of curves was used as a number of points by mistake. Caused by ae017b3ab7fb119d8a33. --- intern/cycles/blender/curves.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/intern/cycles/blender/curves.cpp b/intern/cycles/blender/curves.cpp index 51785c55425..f98719ff4f0 100644 --- a/intern/cycles/blender/curves.cpp +++ b/intern/cycles/blender/curves.cpp @@ -921,7 +921,7 @@ static void export_hair_curves(Scene *scene, std::copy(b_attr_radius, b_attr_radius + num_keys, curve_radius); } else { - std::fill(curve_radius, curve_radius + num_curves, 0.005f); + std::fill(curve_radius, curve_radius + num_keys, 0.005f); } /* Export curves and points. */ -- 2.30.2 From cd30bce7f180e9fd307ecf808ef2d363e0ab0973 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Tue, 11 Apr 2023 12:27:41 -0400 Subject: [PATCH 23/47] Fix #106743: Crash writing with legacy mesh format The new poly offsets were needed to interpolate attribute to a different domain, but they were cleared when the legacy MPoly array was built. Instead just clear the offsets a bit later after the other conversions. --- source/blender/blenkernel/intern/mesh.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/blenkernel/intern/mesh.cc b/source/blender/blenkernel/intern/mesh.cc index 8f7bbff61a7..34b720bdc36 100644 --- a/source/blender/blenkernel/intern/mesh.cc +++ b/source/blender/blenkernel/intern/mesh.cc @@ -278,7 +278,6 @@ static void mesh_blend_write(BlendWriter *writer, ID *id, const void *id_address MutableSpan legacy_polys = BKE_mesh_legacy_convert_offsets_to_polys( mesh, temp_arrays_for_legacy_format, poly_layers); - mesh->poly_offset_indices = nullptr; BKE_mesh_legacy_convert_hide_layers_to_flags(mesh, legacy_polys); BKE_mesh_legacy_convert_selection_layers_to_flags(mesh, legacy_polys); @@ -292,6 +291,7 @@ static void mesh_blend_write(BlendWriter *writer, ID *id, const void *id_address mesh->active_color_attribute = nullptr; mesh->default_color_attribute = nullptr; BKE_mesh_legacy_convert_loose_edges_to_flag(mesh); + mesh->poly_offset_indices = nullptr; /* Set deprecated mesh data pointers for forward compatibility. */ mesh->medge = const_cast(mesh->edges().data()); -- 2.30.2 From 03c4173d81df642a85cf8355679a6366caca7285 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Tue, 11 Apr 2023 12:35:52 -0400 Subject: [PATCH 24/47] Fix #106780: Crash with sculpt undo and poly offsets The poly offsets need to be copied when converting a geometry undo step into a full mesh, they were only assigned. --- source/blender/editors/sculpt_paint/sculpt_undo.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/editors/sculpt_paint/sculpt_undo.cc b/source/blender/editors/sculpt_paint/sculpt_undo.cc index f2815ff8c39..2d613443b9d 100644 --- a/source/blender/editors/sculpt_paint/sculpt_undo.cc +++ b/source/blender/editors/sculpt_paint/sculpt_undo.cc @@ -784,7 +784,7 @@ static void sculpt_undo_geometry_restore_data(SculptUndoNodeGeometry *geometry, &geometry->ldata, &mesh->ldata, CD_MASK_MESH.lmask, CD_DUPLICATE, geometry->totloop); CustomData_copy( &geometry->pdata, &mesh->pdata, CD_MASK_MESH.pmask, CD_DUPLICATE, geometry->totpoly); - mesh->poly_offset_indices = static_cast(geometry->poly_offset_indices); + mesh->poly_offset_indices = static_cast(MEM_dupallocN(geometry->poly_offset_indices)); BKE_mesh_runtime_clear_cache(mesh); } -- 2.30.2 From c7995f3185c7a975c605bd2ebab3669b471f115a Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Tue, 11 Apr 2023 19:19:41 +0200 Subject: [PATCH 25/47] Fix #106366: Handle exceptions in add fur operator Give errors in a few cases: - The mesh has no UV map - The faces have no area - The applied modifier has no curve data (it may have been modified) Use errors instead of cancelling the operator completely so the operator can still do something useful when many meshes are selected and only some fail. Pull Request: https://projects.blender.org/blender/blender/pulls/106823 --- .../bl_operators/object_quick_effects.py | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/scripts/startup/bl_operators/object_quick_effects.py b/scripts/startup/bl_operators/object_quick_effects.py index 6fd7dde3301..9d997e9eec7 100644 --- a/scripts/startup/bl_operators/object_quick_effects.py +++ b/scripts/startup/bl_operators/object_quick_effects.py @@ -121,8 +121,16 @@ class QuickFur(ObjectModeOperator, Operator): material = bpy.data.materials.new("Fur Material") + mesh_with_zero_area = False + mesh_missing_uv_map = False + modifier_apply_error = False + for mesh_object in mesh_objects: mesh = mesh_object.data + if len(mesh.uv_layers) == 0: + mesh_missing_uv_map = True + continue + with context.temp_override(active_object=mesh_object): bpy.ops.object.curves_empty_hair_add() curves_object = context.active_object @@ -132,7 +140,11 @@ class QuickFur(ObjectModeOperator, Operator): area = 0.0 for poly in mesh.polygons: area += poly.area - density = count / area + if area == 0.0: + mesh_with_zero_area = True + density = 10 + else: + density = count / area generate_modifier = curves_object.modifiers.new(name="Generate", type='NODES') generate_modifier.node_group = generate_group @@ -166,7 +178,10 @@ class QuickFur(ObjectModeOperator, Operator): if self.apply_hair_guides: with context.temp_override(object=curves_object): - bpy.ops.object.modifier_apply(modifier=generate_modifier.name) + try: + bpy.ops.object.modifier_apply(modifier=generate_modifier.name) + except: + modifier_apply_error = True curves_object.modifiers.move(0, len(curves_object.modifiers) - 1) @@ -174,6 +189,13 @@ class QuickFur(ObjectModeOperator, Operator): for modifier in curves_object.modifiers: modifier.node_group = modifier.node_group + if mesh_with_zero_area: + self.report({'WARNING'}, "Mesh has no face area") + if mesh_missing_uv_map: + self.report({'WARNING'}, "Mesh UV map required") + if modifier_apply_error and not mesh_with_zero_area: + self.report({'WARNING'}, "Unable to apply \"Generate\" modifier") + return {'FINISHED'} -- 2.30.2 From 1a6cfa1ae1621b1498431a3d9c21932abd48549c Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Tue, 11 Apr 2023 13:25:50 -0400 Subject: [PATCH 26/47] Fix: Incorrect mesh data used in mesh remap code Mistake in 7966cd16d6dc4e66d01f Related to #106671 --- source/blender/blenkernel/intern/mesh_remap.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/blenkernel/intern/mesh_remap.cc b/source/blender/blenkernel/intern/mesh_remap.cc index 1d1c5c67f7d..46b4512fdca 100644 --- a/source/blender/blenkernel/intern/mesh_remap.cc +++ b/source/blender/blenkernel/intern/mesh_remap.cc @@ -1642,7 +1642,7 @@ void BKE_mesh_remap_calc_loops_from_mesh(const int mode, pcent_dst = blender::bke::mesh::poly_center_calc( {reinterpret_cast(vert_positions_dst), numverts_dst}, - corner_verts_src.slice(poly_dst)); + blender::Span(corner_verts_dst, numloops_dst).slice(poly_dst)); pcent_dst_valid = true; } pcent_src = poly_cents_src[pidx_src]; -- 2.30.2 From 99c630cd9cb6d814e5ea5ab68d6ba0575989a755 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Tue, 11 Apr 2023 14:00:16 -0400 Subject: [PATCH 27/47] Fix #106802: Incorrect modifier deform evaluation result Since the positions of the final mesh are modified rather than a separate array after d20f9923224d2637374d, the final mesh has to become the deformed mesh after the deform modifiers, rather than the input mesh. The arrays can't be shared anymore, but that performance loss will be solved by implicit sharing shortly. --- source/blender/blenkernel/intern/DerivedMesh.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/blenkernel/intern/DerivedMesh.cc b/source/blender/blenkernel/intern/DerivedMesh.cc index af777ed7122..b6931b2d7bf 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.cc +++ b/source/blender/blenkernel/intern/DerivedMesh.cc @@ -699,7 +699,7 @@ static void mesh_calc_modifiers(struct Depsgraph *depsgraph, * places that wish to use the original mesh but with deformed * coordinates (like vertex paint). */ if (r_deform) { - mesh_deform = BKE_mesh_copy_for_eval(mesh_input, true); + mesh_deform = BKE_mesh_copy_for_eval(mesh_final, false); } } -- 2.30.2 From fd234fe1cede29173f1ba204d2b0aae29c08420c Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Tue, 11 Apr 2023 15:28:08 -0400 Subject: [PATCH 28/47] Fix #106745: Subdivision surface crash with more than 8 UV maps Before 6c774feba2c9a1eb5834, the maximum number of UV maps was enforced throughout Blender. Now it has to be enforced in the few places that actually have the limit. In the future the limit of the subsurf could be lifted, but that isn't done now to keep the crash fix simple. --- source/blender/blenkernel/intern/subdiv_mesh.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/blender/blenkernel/intern/subdiv_mesh.cc b/source/blender/blenkernel/intern/subdiv_mesh.cc index 320678be9da..f5c755a6930 100644 --- a/source/blender/blenkernel/intern/subdiv_mesh.cc +++ b/source/blender/blenkernel/intern/subdiv_mesh.cc @@ -85,7 +85,8 @@ struct SubdivMeshContext { static void subdiv_mesh_ctx_cache_uv_layers(SubdivMeshContext *ctx) { Mesh *subdiv_mesh = ctx->subdiv_mesh; - ctx->num_uv_layers = CustomData_number_of_layers(&subdiv_mesh->ldata, CD_PROP_FLOAT2); + ctx->num_uv_layers = std::min(CustomData_number_of_layers(&subdiv_mesh->ldata, CD_PROP_FLOAT2), + MAX_MTFACE); for (int layer_index = 0; layer_index < ctx->num_uv_layers; layer_index++) { ctx->uv_layers[layer_index] = static_cast(CustomData_get_layer_n_for_write( &subdiv_mesh->ldata, CD_PROP_FLOAT2, layer_index, subdiv_mesh->totloop)); -- 2.30.2 From f8108d6dfd6d0b8c4e3fccfd8abce421d8836697 Mon Sep 17 00:00:00 2001 From: zanqdo Date: Tue, 11 Apr 2023 21:32:29 +0200 Subject: [PATCH 29/47] UI: Rename Bright/Contrast to Brightness/Contrast Rename *Bright/Contrast* to *Brightness/Contrast* in order to avoid the use of shortened names and improve consistency within Blender and with industry conventions. Reasoning: The modified color characteristic is called *brightness*, not *bright*. You don't modify the *bright* of an image. This also interferes with search in case someone searches for brightness, producing no results. *Note: This patch should only touch UI names which do not need versioning. It leaves the actual property name in nodes for a future breaking release.* Pull Request: https://projects.blender.org/blender/blender/pulls/104998 --- scripts/startup/bl_ui/space_view3d.py | 4 ++-- source/blender/makesrna/intern/rna_sequencer.c | 2 +- source/blender/nodes/NOD_static_types.h | 4 ++-- .../nodes/composite/nodes/node_composite_brightness.cc | 4 ++-- source/blender/nodes/shader/nodes/node_shader_brightness.cc | 2 +- source/blender/sequencer/intern/modifier.c | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/scripts/startup/bl_ui/space_view3d.py b/scripts/startup/bl_ui/space_view3d.py index e55490282e0..5815d8bba47 100644 --- a/scripts/startup/bl_ui/space_view3d.py +++ b/scripts/startup/bl_ui/space_view3d.py @@ -1962,7 +1962,7 @@ class VIEW3D_MT_paint_gpencil(Menu): layout.operator("gpencil.vertex_color_invert", text="Invert") layout.operator("gpencil.vertex_color_levels", text="Levels") layout.operator("gpencil.vertex_color_hsv", text="Hue Saturation Value") - layout.operator("gpencil.vertex_color_brightness_contrast", text="Bright/Contrast") + layout.operator("gpencil.vertex_color_brightness_contrast", text="Brightness/Contrast") class VIEW3D_MT_select_gpencil(Menu): @@ -3060,7 +3060,7 @@ class VIEW3D_MT_paint_vertex(Menu): layout.operator("paint.vertex_color_invert", text="Invert") layout.operator("paint.vertex_color_levels", text="Levels") layout.operator("paint.vertex_color_hsv", text="Hue Saturation Value") - layout.operator("paint.vertex_color_brightness_contrast", text="Bright/Contrast") + layout.operator("paint.vertex_color_brightness_contrast", text="Brightness/Contrast") class VIEW3D_MT_hook(Menu): diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c index d6e9a3a4f81..1cad3b2bb75 100644 --- a/source/blender/makesrna/intern/rna_sequencer.c +++ b/source/blender/makesrna/intern/rna_sequencer.c @@ -62,7 +62,7 @@ typedef struct EffectInfo { } EffectInfo; const EnumPropertyItem rna_enum_sequence_modifier_type_items[] = { - {seqModifierType_BrightContrast, "BRIGHT_CONTRAST", ICON_NONE, "Bright/Contrast", ""}, + {seqModifierType_BrightContrast, "BRIGHT_CONTRAST", ICON_NONE, "Brightness/Contrast", ""}, {seqModifierType_ColorBalance, "COLOR_BALANCE", ICON_NONE, "Color Balance", ""}, {seqModifierType_Curves, "CURVES", ICON_NONE, "Curves", ""}, {seqModifierType_HueCorrect, "HUE_CORRECT", ICON_NONE, "Hue Correct", ""}, diff --git a/source/blender/nodes/NOD_static_types.h b/source/blender/nodes/NOD_static_types.h index bbd44be2f61..c61d7606cae 100644 --- a/source/blender/nodes/NOD_static_types.h +++ b/source/blender/nodes/NOD_static_types.h @@ -31,7 +31,7 @@ DefNode(ShaderNode, SH_NODE_RGBTOBW, 0, "RGBTOB DefNode(ShaderNode, SH_NODE_SHADERTORGB, 0, "SHADERTORGB", ShaderToRGB, "Shader to RGB", "Convert rendering effect (such as light and shadow) to color. Typically used for non-photorealistic rendering, to apply additional effects on the output of BSDFs.\nNote: only supported for Eevee") DefNode(ShaderNode, SH_NODE_NORMAL, 0, "NORMAL", Normal, "Normal", "Generate a normal vector and a dot product") DefNode(ShaderNode, SH_NODE_GAMMA, 0, "GAMMA", Gamma, "Gamma", "Apply a gamma correction") -DefNode(ShaderNode, SH_NODE_BRIGHTCONTRAST, 0, "BRIGHTCONTRAST", BrightContrast, "Bright Contrast", "Control the brightness and contrast of the input color") +DefNode(ShaderNode, SH_NODE_BRIGHTCONTRAST, 0, "BRIGHTCONTRAST", BrightContrast, "Brightness/Contrast","Control the brightness and contrast of the input color") DefNode(ShaderNode, SH_NODE_MAPPING, def_sh_mapping, "MAPPING", Mapping, "Mapping", "Transform the input vector by applying translation, rotation, and scale") DefNode(ShaderNode, SH_NODE_CURVE_VEC, def_vector_curve, "CURVE_VEC", VectorCurve, "Vector Curves", "Map an input vectors to curves, used to fine-tune the interpolation of the input") DefNode(ShaderNode, SH_NODE_CURVE_RGB, def_rgb_curve, "CURVE_RGB", RGBCurve, "RGB Curves", "Apply color corrections for each color channel") @@ -176,7 +176,7 @@ DefNode(CompositorNode, CMP_NODE_DISPLACE, 0, "DISPLA DefNode(CompositorNode, CMP_NODE_COMBHSVA_LEGACY,0, "COMBHSVA", CombHSVA, "Combine HSVA", "" ) DefNode(CompositorNode, CMP_NODE_MATH, def_math, "MATH", Math, "Math", "" ) DefNode(CompositorNode, CMP_NODE_LUMA_MATTE, def_cmp_luma_matte, "LUMA_MATTE", LumaMatte, "Luminance Key", "" ) -DefNode(CompositorNode, CMP_NODE_BRIGHTCONTRAST, def_cmp_brightcontrast, "BRIGHTCONTRAST", BrightContrast, "Bright/Contrast", "" ) +DefNode(CompositorNode, CMP_NODE_BRIGHTCONTRAST, def_cmp_brightcontrast, "BRIGHTCONTRAST", BrightContrast, "Brightness/Contrast","" ) DefNode(CompositorNode, CMP_NODE_GAMMA, 0, "GAMMA", Gamma, "Gamma", "" ) DefNode(CompositorNode, CMP_NODE_INVERT, def_cmp_invert, "INVERT", Invert, "Invert", "" ) DefNode(CompositorNode, CMP_NODE_NORMALIZE, 0, "NORMALIZE", Normalize, "Normalize", "" ) diff --git a/source/blender/nodes/composite/nodes/node_composite_brightness.cc b/source/blender/nodes/composite/nodes/node_composite_brightness.cc index 4c1de27e6ed..d8dffcc71ee 100644 --- a/source/blender/nodes/composite/nodes/node_composite_brightness.cc +++ b/source/blender/nodes/composite/nodes/node_composite_brightness.cc @@ -14,7 +14,7 @@ #include "node_composite_util.hh" -/* **************** Bright and Contrast ******************** */ +/* **************** Brightness and Contrast ******************** */ namespace blender::nodes::node_composite_brightness_cc { @@ -78,7 +78,7 @@ void register_node_type_cmp_brightcontrast() static bNodeType ntype; - cmp_node_type_base(&ntype, CMP_NODE_BRIGHTCONTRAST, "Bright/Contrast", NODE_CLASS_OP_COLOR); + cmp_node_type_base(&ntype, CMP_NODE_BRIGHTCONTRAST, "Brightness/Contrast", NODE_CLASS_OP_COLOR); ntype.declare = file_ns::cmp_node_brightcontrast_declare; ntype.draw_buttons = file_ns::node_composit_buts_brightcontrast; ntype.initfunc = file_ns::node_composit_init_brightcontrast; diff --git a/source/blender/nodes/shader/nodes/node_shader_brightness.cc b/source/blender/nodes/shader/nodes/node_shader_brightness.cc index 2c98bd7b291..d9410e028cc 100644 --- a/source/blender/nodes/shader/nodes/node_shader_brightness.cc +++ b/source/blender/nodes/shader/nodes/node_shader_brightness.cc @@ -30,7 +30,7 @@ void register_node_type_sh_brightcontrast() static bNodeType ntype; - sh_node_type_base(&ntype, SH_NODE_BRIGHTCONTRAST, "Bright/Contrast", NODE_CLASS_OP_COLOR); + sh_node_type_base(&ntype, SH_NODE_BRIGHTCONTRAST, "Brightness/Contrast", NODE_CLASS_OP_COLOR); ntype.declare = file_ns::node_declare; ntype.gpu_fn = file_ns::gpu_shader_brightcontrast; diff --git a/source/blender/sequencer/intern/modifier.c b/source/blender/sequencer/intern/modifier.c index f645b7732a4..06e2b276533 100644 --- a/source/blender/sequencer/intern/modifier.c +++ b/source/blender/sequencer/intern/modifier.c @@ -976,7 +976,7 @@ static SequenceModifierTypeInfo seqModifier_HueCorrect = { /** \} */ /* -------------------------------------------------------------------- */ -/** \name Bright/Contrast Modifier +/** \name Brightness/Contrast Modifier * \{ */ typedef struct BrightContrastThreadData { @@ -1071,7 +1071,7 @@ static void brightcontrast_apply(struct SequenceModifierData *smd, ImBuf *ibuf, } static SequenceModifierTypeInfo seqModifier_BrightContrast = { - /*name*/ CTX_N_(BLT_I18NCONTEXT_ID_SEQUENCE, "Bright/Contrast"), + /*name*/ CTX_N_(BLT_I18NCONTEXT_ID_SEQUENCE, "Brightness/Contrast"), /*struct_name*/ "BrightContrastModifierData", /*struct_size*/ sizeof(BrightContrastModifierData), /*init_data*/ NULL, -- 2.30.2 From 4170545dc5216755098a6fb6dcd65943ca8205d7 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Tue, 11 Apr 2023 15:33:47 -0400 Subject: [PATCH 30/47] Fix #106828: Extrude individual mode crash on mesh with no faces Caused by 7966cd16d6dc4e66d01f --- source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc b/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc index dbdc28d8d16..b0ada8950a3 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc @@ -1060,6 +1060,9 @@ static void extrude_individual_mesh_faces(Mesh &mesh, poly_evaluator.add_with_destination(offset_field, poly_offset.as_mutable_span()); poly_evaluator.evaluate(); const IndexMask poly_selection = poly_evaluator.get_evaluated_selection_as_mask(); + if (poly_selection.is_empty()) { + return; + } /* Build an array of offsets into the new data for each polygon. This is used to facilitate * parallelism later on by avoiding the need to keep track of an offset when iterating through -- 2.30.2 From 5df8e35da74a23ce468d12e19198a6cde23e4a70 Mon Sep 17 00:00:00 2001 From: zanqdo Date: Tue, 11 Apr 2023 23:48:05 +0200 Subject: [PATCH 31/47] UI: Add slash separators to Hue/Saturation/Value It was that names of related "combo" operations like Hue/Saturation/Value, *Dilate/Erode* and Brightness/Contrast should be separated by slashes in their names. This patch changes this for the multiple nodes and operators concerning Hue/Saturation/Value across Blender. Note1: This patch should only touch UI names which do not need versioning and should not break scripts. Note2: This breaks first letter fuzzy search for "hsv". It was noted by @HooglyBoogly that the "/" character needs to be added to the fuzzy search split list. Note however that such search is already broken in Main for nodes like Brightness/Contrast and Dilate/Erode which already use slash separators Pull Request: https://projects.blender.org/blender/blender/pulls/106721 --- intern/cycles/scene/shader_nodes.cpp | 2 +- scripts/startup/bl_ui/space_view3d.py | 4 ++-- source/blender/editors/gpencil/gpencil_vertex_ops.c | 2 +- .../blender/editors/sculpt_paint/paint_vertex_color_ops.cc | 4 ++-- source/blender/nodes/NOD_static_types.h | 6 +++--- .../nodes/composite/nodes/node_composite_hue_sat_val.cc | 4 ++-- source/blender/nodes/shader/nodes/node_shader_hueSatVal.cc | 2 +- .../blender/nodes/texture/nodes/node_texture_hueSatVal.cc | 2 +- 8 files changed, 13 insertions(+), 13 deletions(-) diff --git a/intern/cycles/scene/shader_nodes.cpp b/intern/cycles/scene/shader_nodes.cpp index dcaece5af97..120dfeae51d 100644 --- a/intern/cycles/scene/shader_nodes.cpp +++ b/intern/cycles/scene/shader_nodes.cpp @@ -5726,7 +5726,7 @@ void SeparateHSVNode::compile(OSLCompiler &compiler) compiler.add(this, "node_separate_hsv"); } -/* Hue Saturation Value */ +/* Hue/Saturation/Value */ NODE_DEFINE(HSVNode) { diff --git a/scripts/startup/bl_ui/space_view3d.py b/scripts/startup/bl_ui/space_view3d.py index 5815d8bba47..85ab6bad721 100644 --- a/scripts/startup/bl_ui/space_view3d.py +++ b/scripts/startup/bl_ui/space_view3d.py @@ -1961,7 +1961,7 @@ class VIEW3D_MT_paint_gpencil(Menu): layout.separator() layout.operator("gpencil.vertex_color_invert", text="Invert") layout.operator("gpencil.vertex_color_levels", text="Levels") - layout.operator("gpencil.vertex_color_hsv", text="Hue Saturation Value") + layout.operator("gpencil.vertex_color_hsv", text="Hue/Saturation/Value") layout.operator("gpencil.vertex_color_brightness_contrast", text="Brightness/Contrast") @@ -3059,7 +3059,7 @@ class VIEW3D_MT_paint_vertex(Menu): layout.operator("paint.vertex_color_invert", text="Invert") layout.operator("paint.vertex_color_levels", text="Levels") - layout.operator("paint.vertex_color_hsv", text="Hue Saturation Value") + layout.operator("paint.vertex_color_hsv", text="Hue/Saturation/Value") layout.operator("paint.vertex_color_brightness_contrast", text="Brightness/Contrast") diff --git a/source/blender/editors/gpencil/gpencil_vertex_ops.c b/source/blender/editors/gpencil/gpencil_vertex_ops.c index f8ee23d7f9b..4fe87a51b93 100644 --- a/source/blender/editors/gpencil/gpencil_vertex_ops.c +++ b/source/blender/editors/gpencil/gpencil_vertex_ops.c @@ -331,7 +331,7 @@ static int gpencil_vertexpaint_hsv_exec(bContext *C, wmOperator *op) void GPENCIL_OT_vertex_color_hsv(wmOperatorType *ot) { /* identifiers */ - ot->name = "Vertex Paint Hue Saturation Value"; + ot->name = "Vertex Paint Hue/Saturation/Value"; ot->idname = "GPENCIL_OT_vertex_color_hsv"; ot->description = "Adjust vertex color HSV values"; diff --git a/source/blender/editors/sculpt_paint/paint_vertex_color_ops.cc b/source/blender/editors/sculpt_paint/paint_vertex_color_ops.cc index f3c22333b0f..852fa700db6 100644 --- a/source/blender/editors/sculpt_paint/paint_vertex_color_ops.cc +++ b/source/blender/editors/sculpt_paint/paint_vertex_color_ops.cc @@ -420,9 +420,9 @@ static int vertex_color_hsv_exec(bContext *C, wmOperator *op) void PAINT_OT_vertex_color_hsv(wmOperatorType *ot) { /* identifiers */ - ot->name = "Vertex Paint Hue Saturation Value"; + ot->name = "Vertex Paint Hue/Saturation/Value"; ot->idname = "PAINT_OT_vertex_color_hsv"; - ot->description = "Adjust vertex color HSV values"; + ot->description = "Adjust vertex color Hue/Saturation/Value"; /* api callbacks */ ot->exec = vertex_color_hsv_exec; diff --git a/source/blender/nodes/NOD_static_types.h b/source/blender/nodes/NOD_static_types.h index c61d7606cae..c4f7541e4bb 100644 --- a/source/blender/nodes/NOD_static_types.h +++ b/source/blender/nodes/NOD_static_types.h @@ -44,7 +44,7 @@ DefNode(ShaderNode, SH_NODE_SQUEEZE, 0, "SQUEEZ DefNode(ShaderNode, SH_NODE_INVERT, 0, "INVERT", Invert, "Invert", "Invert a color, producing a negative") DefNode(ShaderNode, SH_NODE_SEPRGB_LEGACY, 0, "SEPRGB", SeparateRGB, "Separate RGB", "Split a color into its red, green, and blue channels (Deprecated)") DefNode(ShaderNode, SH_NODE_COMBRGB_LEGACY, 0, "COMBRGB", CombineRGB, "Combine RGB", "Generate a color from its red, green, and blue channels (Deprecated)") -DefNode(ShaderNode, SH_NODE_HUE_SAT, 0, "HUE_SAT", HueSaturation, "Hue Saturation Value","Apply a color transformation in the HSV color model") +DefNode(ShaderNode, SH_NODE_HUE_SAT, 0, "HUE_SAT", HueSaturation, "Hue/Saturation/Value","Apply a color transformation in the HSV color model") DefNode(ShaderNode, SH_NODE_OUTPUT_MATERIAL, def_sh_output, "OUTPUT_MATERIAL", OutputMaterial, "Material Output", "Output surface material information for use in rendering") DefNode(ShaderNode, SH_NODE_EEVEE_SPECULAR, 0, "EEVEE_SPECULAR", EeveeSpecular, "Specular BSDF", "Similar to the Principled BSDF node but uses the specular workflow instead of metallic, which functions by specifying the facing (along normal) reflection color. Energy is not conserved, so the result may not be physically accurate") @@ -143,7 +143,7 @@ DefNode(CompositorNode, CMP_NODE_VECBLUR, def_cmp_vector_blur, "VECBLU DefNode(CompositorNode, CMP_NODE_SEPRGBA_LEGACY, 0, "SEPRGBA", SepRGBA, "Separate RGBA", "" ) DefNode(CompositorNode, CMP_NODE_SEPHSVA_LEGACY, 0, "SEPHSVA", SepHSVA, "Separate HSVA", "" ) DefNode(CompositorNode, CMP_NODE_SETALPHA, def_cmp_set_alpha, "SETALPHA", SetAlpha, "Set Alpha", "" ) -DefNode(CompositorNode, CMP_NODE_HUE_SAT, 0, "HUE_SAT", HueSat, "Hue Saturation Value","" ) +DefNode(CompositorNode, CMP_NODE_HUE_SAT, 0, "HUE_SAT", HueSat, "Hue/Saturation/Value","" ) DefNode(CompositorNode, CMP_NODE_IMAGE, def_cmp_image, "IMAGE", Image, "Image", "" ) DefNode(CompositorNode, CMP_NODE_R_LAYERS, def_cmp_render_layers, "R_LAYERS", RLayers, "Render Layers", "" ) DefNode(CompositorNode, CMP_NODE_COMPOSITE, def_cmp_composite, "COMPOSITE", Composite, "Composite", "" ) @@ -235,7 +235,7 @@ DefNode(TextureNode, TEX_NODE_VALTORGB, def_colorramp, "VALTOR DefNode(TextureNode, TEX_NODE_IMAGE, def_tex_image, "IMAGE", Image, "Image", "" ) DefNode(TextureNode, TEX_NODE_CURVE_RGB, def_rgb_curve, "CURVE_RGB", CurveRGB, "RGB Curves", "" ) DefNode(TextureNode, TEX_NODE_INVERT, 0, "INVERT", Invert, "Invert", "" ) -DefNode(TextureNode, TEX_NODE_HUE_SAT, 0, "HUE_SAT", HueSaturation, "Hue Saturation Value", "" ) +DefNode(TextureNode, TEX_NODE_HUE_SAT, 0, "HUE_SAT", HueSaturation, "Hue/Saturation/Value", "" ) DefNode(TextureNode, TEX_NODE_CURVE_TIME, def_time, "CURVE_TIME", CurveTime, "Curve Time", "" ) DefNode(TextureNode, TEX_NODE_ROTATE, 0, "ROTATE", Rotate, "Rotate", "" ) DefNode(TextureNode, TEX_NODE_VIEWER, 0, "VIEWER", Viewer, "Viewer", "" ) diff --git a/source/blender/nodes/composite/nodes/node_composite_hue_sat_val.cc b/source/blender/nodes/composite/nodes/node_composite_hue_sat_val.cc index 10c69fa5ccc..1b8811cc8fd 100644 --- a/source/blender/nodes/composite/nodes/node_composite_hue_sat_val.cc +++ b/source/blender/nodes/composite/nodes/node_composite_hue_sat_val.cc @@ -11,7 +11,7 @@ #include "node_composite_util.hh" -/* **************** Hue Saturation ******************** */ +/* **************** Hue/Saturation/Value ******************** */ namespace blender::nodes::node_composite_hue_sat_val_cc { @@ -75,7 +75,7 @@ void register_node_type_cmp_hue_sat() static bNodeType ntype; - cmp_node_type_base(&ntype, CMP_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR); + cmp_node_type_base(&ntype, CMP_NODE_HUE_SAT, "Hue/Saturation/Value", NODE_CLASS_OP_COLOR); ntype.declare = file_ns::cmp_node_huesatval_declare; ntype.get_compositor_shader_node = file_ns::get_compositor_shader_node; diff --git a/source/blender/nodes/shader/nodes/node_shader_hueSatVal.cc b/source/blender/nodes/shader/nodes/node_shader_hueSatVal.cc index 2b1fe785e80..51ffb4421c1 100644 --- a/source/blender/nodes/shader/nodes/node_shader_hueSatVal.cc +++ b/source/blender/nodes/shader/nodes/node_shader_hueSatVal.cc @@ -36,7 +36,7 @@ void register_node_type_sh_hue_sat() static bNodeType ntype; - sh_node_type_base(&ntype, SH_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR); + sh_node_type_base(&ntype, SH_NODE_HUE_SAT, "Hue/Saturation/Value", NODE_CLASS_OP_COLOR); ntype.declare = file_ns::node_declare; node_type_size_preset(&ntype, NODE_SIZE_MIDDLE); ntype.gpu_fn = file_ns::gpu_shader_hue_sat; diff --git a/source/blender/nodes/texture/nodes/node_texture_hueSatVal.cc b/source/blender/nodes/texture/nodes/node_texture_hueSatVal.cc index bf883a9d58e..30be3d801cf 100644 --- a/source/blender/nodes/texture/nodes/node_texture_hueSatVal.cc +++ b/source/blender/nodes/texture/nodes/node_texture_hueSatVal.cc @@ -91,7 +91,7 @@ void register_node_type_tex_hue_sat() { static bNodeType ntype; - tex_node_type_base(&ntype, TEX_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR); + tex_node_type_base(&ntype, TEX_NODE_HUE_SAT, "Hue/Saturation/Value", NODE_CLASS_OP_COLOR); node_type_socket_templates(&ntype, inputs, outputs); node_type_size_preset(&ntype, NODE_SIZE_MIDDLE); ntype.exec_fn = exec; -- 2.30.2 From ccea39b53892b6b5fd41c8b0dfa9fac4848485a9 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 12 Apr 2023 11:24:10 +1000 Subject: [PATCH 32/47] Cleanup: spelling in comments --- intern/cycles/blender/pointcloud.cpp | 2 +- intern/cycles/bvh/build.cpp | 4 +- intern/cycles/device/optix/device_impl.cpp | 6 +-- intern/cycles/kernel/types.h | 2 +- intern/ghost/intern/GHOST_SystemX11.cc | 12 ++--- source/blender/blenkernel/BKE_paint.h | 3 +- source/blender/blenkernel/BKE_pointcache.h | 30 ++++++----- source/blender/blenkernel/intern/mask.c | 2 +- .../intern/subdiv_displacement_multires.cc | 16 +++--- .../realtime_compositor/COM_operation.hh | 2 +- .../draw/engines/eevee_next/eevee_view.hh | 2 +- source/blender/editors/gpencil/gpencil_edit.c | 2 +- .../composite/nodes/node_composite_glare.cc | 53 ++++++++++--------- 13 files changed, 70 insertions(+), 66 deletions(-) diff --git a/intern/cycles/blender/pointcloud.cpp b/intern/cycles/blender/pointcloud.cpp index 8565dd0eead..f8b656ce688 100644 --- a/intern/cycles/blender/pointcloud.cpp +++ b/intern/cycles/blender/pointcloud.cpp @@ -244,7 +244,7 @@ static void export_pointcloud_motion(PointCloud *pointcloud, const int num_points = pointcloud->num_points(); /* Point cloud attributes are stored as float4 with the radius in the w element. - * This is explict now as float3 is no longer interchangeable with float4 as it + * This is explicit now as float3 is no longer interchangeable with float4 as it * is packed now. */ float4 *mP = attr_mP->data_float4() + motion_step * num_points; bool have_motion = false; diff --git a/intern/cycles/bvh/build.cpp b/intern/cycles/bvh/build.cpp index 83c54bed664..69fbb242bb6 100644 --- a/intern/cycles/bvh/build.cpp +++ b/intern/cycles/bvh/build.cpp @@ -1167,8 +1167,8 @@ BVHNode *BVHBuild::create_leaf_node(const BVHRange &range, const vector pipeline_groups; pipeline_groups.reserve(NUM_PROGRAM_GROUPS); if (kernel_features & KERNEL_FEATURE_NODE_RAYTRACE) { diff --git a/intern/cycles/kernel/types.h b/intern/cycles/kernel/types.h index 2650ab753b9..1993b1f4f58 100644 --- a/intern/cycles/kernel/types.h +++ b/intern/cycles/kernel/types.h @@ -834,7 +834,7 @@ enum ShaderDataFlag { SD_NEED_VOLUME_ATTRIBUTES = (1 << 28), /* Shader has emission */ SD_HAS_EMISSION = (1 << 29), - /* Shader has raytracing */ + /* Shader has ray-tracing. */ SD_HAS_RAYTRACE = (1 << 30), /* Use back side for direct light sampling. */ SD_MIS_BACK = (1 << 31), diff --git a/intern/ghost/intern/GHOST_SystemX11.cc b/intern/ghost/intern/GHOST_SystemX11.cc index 19dfd717c04..744204004f2 100644 --- a/intern/ghost/intern/GHOST_SystemX11.cc +++ b/intern/ghost/intern/GHOST_SystemX11.cc @@ -2157,7 +2157,7 @@ char *GHOST_SystemX11::getClipboard(bool selection) const Atom target = m_atom.UTF8_STRING; Window owner; - /* from xclip.c doOut() v0.11 */ + /* From `xclip.c` `doOut()` v0.11. */ char *sel_buf; ulong sel_len = 0; XEvent evt; @@ -2614,13 +2614,13 @@ static bool match_token(const char *haystack, const char *needle) /* Determining if an X device is a Tablet style device is an imperfect science. * We rely on common conventions around device names as well as the type reported - * by Wacom tablets. This code will likely need to be expanded for alternate tablet types + * by WACOM tablets. This code will likely need to be expanded for alternate tablet types * - * Wintab refers to any device that interacts with the tablet as a cursor, + * WINTAB refers to any device that interacts with the tablet as a cursor, * (stylus, eraser, tablet mouse, airbrush, etc) - * this is not to be confused with wacom x11 configuration "cursor" device. - * Wacoms x11 config "cursor" refers to its device slot (which we mirror with - * our gSysCursors) for puck like devices (tablet mice essentially). + * this is not to be confused with WACOM X11 configuration "cursor" device. + * WACOM tablets X11 configuration "cursor" refers to its device slot (which we mirror with + * our `gSysCursors`) for puck like devices (tablet mice essentially). */ static GHOST_TTabletMode tablet_mode_from_name(const char *name, const char *type) { diff --git a/source/blender/blenkernel/BKE_paint.h b/source/blender/blenkernel/BKE_paint.h index 358537ee4fe..bd615886f38 100644 --- a/source/blender/blenkernel/BKE_paint.h +++ b/source/blender/blenkernel/BKE_paint.h @@ -524,7 +524,8 @@ typedef struct SculptAttribute { /* Sculpt usage */ SculptAttributeParams params; - /* Used to keep track of which preallocated SculptAttribute instances + /** + * Used to keep track of which pre-allocated SculptAttribute instances * inside of SculptSession.temp_attribute are used. */ bool used; diff --git a/source/blender/blenkernel/BKE_pointcache.h b/source/blender/blenkernel/BKE_pointcache.h index b9b46d3f245..a07ce3d16b2 100644 --- a/source/blender/blenkernel/BKE_pointcache.h +++ b/source/blender/blenkernel/BKE_pointcache.h @@ -119,14 +119,14 @@ typedef struct PTCacheID { unsigned int default_step; unsigned int max_step; - /* flags defined in DNA_object_force_types.h */ + /** flags defined in `DNA_object_force_types.h`. */ unsigned int data_types, info_types; - /* Copies point data to cache data. */ + /** Copies point data to cache data. */ int (*write_point)(int index, void *calldata, void **data, int cfra); - /* Copies cache data to point data. */ + /** Copies cache data to point data. */ void (*read_point)(int index, void *calldata, void **data, float cfra, const float *old_data); - /* Interpolated between previously read point data and cache data. */ + /** Interpolated between previously read point data and cache data. */ void (*interpolate_point)(int index, void *calldata, void **data, @@ -135,32 +135,34 @@ typedef struct PTCacheID { float cfra2, const float *old_data); - /* copies point data to cache data */ + /** Copies point data to cache data. */ int (*write_stream)(PTCacheFile *pf, void *calldata); - /* copies cache cata to point data */ + /** Copies cache data to point data. */ int (*read_stream)(PTCacheFile *pf, void *calldata); - /* copies custom extradata to cache data */ + /** Copies custom #PTCacheMem::extradata to cache data. */ void (*write_extra_data)(void *calldata, struct PTCacheMem *pm, int cfra); - /* copies custom extradata to cache data */ + /** Copies custom #PTCacheMem::extradata to cache data. */ void (*read_extra_data)(void *calldata, struct PTCacheMem *pm, float cfra); - /* copies custom extradata to cache data */ + /** Copies custom #PTCacheMem::extradata to cache data */ void (*interpolate_extra_data)( void *calldata, struct PTCacheMem *pm, float cfra, float cfra1, float cfra2); - /* Total number of simulated points - * (the cfra parameter is just for using same function pointer with totwrite). */ + /** + * Total number of simulated points + * (the `cfra` parameter is just for using same function pointer with `totwrite`). + */ int (*totpoint)(void *calldata, int cfra); - /* report error if number of points does not match */ + /** Report error if number of points does not match */ void (*error)(const struct ID *owner_id, void *calldata, const char *message); - /* number of points written for current cache frame */ + /** Number of points written for current cache frame. */ int (*totwrite)(void *calldata, int cfra); int (*write_header)(PTCacheFile *pf); int (*read_header)(PTCacheFile *pf); struct PointCache *cache; - /* used for setting the current cache from ptcaches list */ + /** Used for setting the current cache from `ptcaches` list. */ struct PointCache **cache_ptr; struct ListBase *ptcaches; } PTCacheID; diff --git a/source/blender/blenkernel/intern/mask.c b/source/blender/blenkernel/intern/mask.c index f3fbbfee227..45ab6289c14 100644 --- a/source/blender/blenkernel/intern/mask.c +++ b/source/blender/blenkernel/intern/mask.c @@ -139,7 +139,7 @@ static void mask_blend_read_data(BlendDataReader *reader, ID *id) BLO_read_list(reader, &mask->masklayers); LISTBASE_FOREACH (MaskLayer *, masklay, &mask->masklayers) { - /* can't use newdataadr since it's a pointer within an array */ + /* Can't use #newdataadr since it's a pointer within an array. */ MaskSplinePoint *act_point_search = NULL; BLO_read_list(reader, &masklay->splines); diff --git a/source/blender/blenkernel/intern/subdiv_displacement_multires.cc b/source/blender/blenkernel/intern/subdiv_displacement_multires.cc index 4868ed74fe0..016b9b9e171 100644 --- a/source/blender/blenkernel/intern/subdiv_displacement_multires.cc +++ b/source/blender/blenkernel/intern/subdiv_displacement_multires.cc @@ -37,13 +37,13 @@ struct MultiresDisplacementData { const MultiresModifierData *mmd; blender::OffsetIndices polys; const MDisps *mdisps; - /* Indexed by ptex face index, contains polygon/corner which corresponds + /* Indexed by PTEX face index, contains polygon/corner which corresponds * to it. * * NOTE: For quad polygon this is an index of first corner only, since - * there we only have one ptex. */ + * there we only have one PTEX. */ PolyCornerIndex *ptex_poly_corner; - /* Indexed by coarse face index, returns first ptex face index corresponding + /* Indexed by coarse face index, returns first PTEX face index corresponding * to that coarse face. */ int *face_ptex_offset; /* Sanity check, is used in debug builds. @@ -52,7 +52,7 @@ struct MultiresDisplacementData { }; /* Denotes which grid to use to average value of the displacement read from the - * grid which corresponds to the ptex face. */ + * grid which corresponds to the PTEX face. */ typedef enum eAverageWith { AVERAGE_WITH_NONE, AVERAGE_WITH_ALL, @@ -175,12 +175,12 @@ static void average_read_displacement_object(MultiresDisplacementData *data, { const PolyCornerIndex *poly_corner = &data->ptex_poly_corner[ptex_face_index]; const int num_corners = data->polys[poly_corner->poly_index].size(); - /* Get (u, v) coordinate within the other ptex face which corresponds to + /* Get (u, v) coordinate within the other PTEX face which corresponds to * the grid coordinates. */ float u, v; average_convert_grid_coord_to_ptex(num_corners, corner_index, grid_u, grid_v, &u, &v); /* Construct tangent matrix which corresponds to partial derivatives - * calculated for the other ptex face. */ + * calculated for the other PTEX face. */ float tangent_matrix[3][3]; average_construct_tangent_matrix( data->subdiv, num_corners, ptex_face_index, corner_index, u, v, tangent_matrix); @@ -208,7 +208,7 @@ static void average_get_other_ptex_and_corner(MultiresDisplacementData *data, start_ptex_face_index + *r_other_corner_index; } -/* NOTE: Grid coordinates are relatiev to the other grid already. */ +/* NOTE: Grid coordinates are relative to the other grid already. */ static void average_with_other(SubdivDisplacement *displacement, const int ptex_face_index, const int corner, @@ -380,7 +380,7 @@ static void displacement_data_init_mapping(SubdivDisplacement *displacement, con const int num_ptex_faces = count_num_ptex_faces(mesh); /* Allocate memory. */ data->ptex_poly_corner = static_cast( - MEM_malloc_arrayN(num_ptex_faces, sizeof(*data->ptex_poly_corner), "ptex poly corner")); + MEM_malloc_arrayN(num_ptex_faces, sizeof(*data->ptex_poly_corner), "PTEX poly corner")); /* Fill in offsets. */ int ptex_face_index = 0; PolyCornerIndex *ptex_poly_corner = data->ptex_poly_corner; diff --git a/source/blender/compositor/realtime_compositor/COM_operation.hh b/source/blender/compositor/realtime_compositor/COM_operation.hh index 1ca22719fbc..16c77bd1d22 100644 --- a/source/blender/compositor/realtime_compositor/COM_operation.hh +++ b/source/blender/compositor/realtime_compositor/COM_operation.hh @@ -172,7 +172,7 @@ class Operation { void release_inputs(); /* Release the results that were allocated in the execute method but are not actually needed. - * This can be the case if the execute method allocated a dummy texture for an unndeeded result, + * This can be the case if the execute method allocated a dummy texture for an unneeded result, * see the description of Result::allocate_texture() for more information. This is called after * the evaluation of the operation. */ void release_unneeded_results(); diff --git a/source/blender/draw/engines/eevee_next/eevee_view.hh b/source/blender/draw/engines/eevee_next/eevee_view.hh index ebee30f9394..df5fb5c2ed1 100644 --- a/source/blender/draw/engines/eevee_next/eevee_view.hh +++ b/source/blender/draw/engines/eevee_next/eevee_view.hh @@ -41,7 +41,7 @@ class ShadingView { /** Matrix to apply to the viewmat. */ const float4x4 &face_matrix_; - /** Raytracing persistent buffers. Only opaque and refraction can have surface tracing. */ + /** Ray-tracing persistent buffers. Only opaque and refraction can have surface tracing. */ // RaytraceBuffer rt_buffer_opaque_; // RaytraceBuffer rt_buffer_refract_; DepthOfFieldBuffer dof_buffer_; diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c index 7035ba0e25c..f832ca337b2 100644 --- a/source/blender/editors/gpencil/gpencil_edit.c +++ b/source/blender/editors/gpencil/gpencil_edit.c @@ -1714,7 +1714,7 @@ static int gpencil_strokes_paste_exec(bContext *C, wmOperator *op) * doesn't exist already depending on REC button status. */ - /* Multiframe paste. */ + /* Multi-frame paste. */ if (is_multiedit) { for (bGPDframe *gpf = init_gpf; gpf; gpf = gpf->next) { /* Active frame is copied later, so don't need duplicate the stroke here. */ diff --git a/source/blender/nodes/composite/nodes/node_composite_glare.cc b/source/blender/nodes/composite/nodes/node_composite_glare.cc index 2b303957e73..e0c6213fe32 100644 --- a/source/blender/nodes/composite/nodes/node_composite_glare.cc +++ b/source/blender/nodes/composite/nodes/node_composite_glare.cc @@ -690,34 +690,34 @@ class GlareOperation : public NodeOperation { * Fog Glow Glare. * --------------- */ - /* Fog glow is computed by first progressively half-downsampling the highlights down to a certain - * size, then progressively double-upsampling the last downsampled result up to the original size - * of the highlights, adding the downsampled result of the same size in each upsampling step. - * This can be illustrated as follows: + /* Fog glow is computed by first progressively half-down-sampling the highlights down to a + * certain size, then progressively double-up-sampling the last down-sampled result up to the + * original size of the highlights, adding the down-sampled result of the same size in each + * up-sampling step. This can be illustrated as follows: * - * Highlights ---+---> Fog Glare + * Highlights ---+---> Fog Glare * | | - * Downsampled ---+---> Upsampled + * Down-sampled ---+---> Up-sampled * | | - * Downsampled ---+---> Upsampled + * Down-sampled ---+---> Up-sampled * | | - * Downsampled ---+---> Upsampled + * Down-sampled ---+---> Up-sampled * | ^ * ... | - * Downsampled ------------' + * Down-sampled ------------' * - * The smooth downsampling followed by smooth upsampling can be thought of as a cheap way to - * approximate a large radius blur, and adding the corresponding downsampled result while - * upsampling is done to counter the attenuation that happens during downsampling. + * The smooth down-sampling followed by smooth up-sampling can be thought of as a cheap way to + * approximate a large radius blur, and adding the corresponding down-sampled result while + * up-sampling is done to counter the attenuation that happens during down-sampling. * - * Smaller downsampled results contribute to larger glare size, so controlling the size can be - * done by stopping downsampling down to a certain size, where the maximum possible size is - * achieved when downsampling happens down to the smallest size of 2. */ + * Smaller down-sampled results contribute to larger glare size, so controlling the size can be + * done by stopping down-sampling down to a certain size, where the maximum possible size is + * achieved when down-sampling happens down to the smallest size of 2. */ Result execute_fog_glow(Result &highlights_result) { - /* The maximum possible glare size is achieved when we downsampled down to the smallest size of - * 2, which would result in a downsampling chain length of the binary logarithm of the smaller - * dimension of the size of the highlights. + /* The maximum possible glare size is achieved when we down-sampled down to the smallest size + * of 2, which would result in a down-sampling chain length of the binary logarithm of the + * smaller dimension of the size of the highlights. * * However, as users might want a smaller glare size, we reduce the chain length by the halving * count supplied by the user. */ @@ -729,7 +729,7 @@ class GlareOperation : public NodeOperation { Array downsample_chain = compute_fog_glow_downsample_chain(highlights_result, chain_length); - /* Notice that for a chain length of n, we need (n - 1) upsampling passes. */ + /* Notice that for a chain length of n, we need (n - 1) up-sampling passes. */ const IndexRange upsample_passes_range(chain_length - 1); GPUShader *shader = shader_manager().get("compositor_glare_fog_glow_upsample"); GPU_shader_bind(shader); @@ -754,11 +754,12 @@ class GlareOperation : public NodeOperation { return downsample_chain[0]; } - /* Progressively downsample the given result into a result with half the size for the given chain - * length, returning an array containing the chain of downsampled results. The first result of - * the chain is the given result itself for easier handling. The chain length is expected not - * to exceed the binary logarithm of the smaller dimension of the given result, because that - * would result in downsampling passes that produce useless textures with just one pixel. */ + /* Progressively down-sample the given result into a result with half the size for the given + * chain length, returning an array containing the chain of down-sampled results. The first + * result of the chain is the given result itself for easier handling. The chain length is + * expected not to exceed the binary logarithm of the smaller dimension of the given result, + * because that would result in down-sampling passes that produce useless textures with just + * one pixel. */ Array compute_fog_glow_downsample_chain(Result &highlights_result, int chain_length) { const Result downsampled_result = Result::Temporary(ResultType::Color, texture_pool()); @@ -772,9 +773,9 @@ class GlareOperation : public NodeOperation { GPUShader *shader; for (const int i : downsample_passes_range) { - /* For the first downsample pass, we use a special "Karis" downsample pass that applies a + /* For the first down-sample pass, we use a special "Karis" down-sample pass that applies a * form of local tone mapping to reduce the contributions of fireflies, see the shader for - * more information. Later passes use a simple average downsampling filter because fireflies + * more information. Later passes use a simple average down-sampling filter because fireflies * doesn't service the first pass. */ if (i == downsample_passes_range.first()) { shader = shader_manager().get("compositor_glare_fog_glow_downsample_karis_average"); -- 2.30.2 From 6fa80d1e1d0af011620a6978fea89a324a9d8d3d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 12 Apr 2023 11:24:12 +1000 Subject: [PATCH 33/47] Cleanup: add doc-strings to upper/lowecase functions Move detailed note into the implementation. --- source/blender/blenlib/BLI_string_utf8.h | 11 ++++++++--- source/blender/blenlib/intern/string_utf8.c | 20 +++++++++++++++----- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/source/blender/blenlib/BLI_string_utf8.h b/source/blender/blenlib/BLI_string_utf8.h index 1ac319a5c9d..b298415908a 100644 --- a/source/blender/blenlib/BLI_string_utf8.h +++ b/source/blender/blenlib/BLI_string_utf8.h @@ -173,11 +173,16 @@ int BLI_wcwidth(char32_t ucs) ATTR_WARN_UNUSED_RESULT; int BLI_wcswidth(const char32_t *pwcs, size_t n) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1); /** - * Upper and lowercase for 32-bit characters for all scripts that distinguish case. One-to-one - * mappings so this doesn't work corectly for uppercase Σ (two lowercase forms) and lowercase ß - * won't become "SS". + * Return the uppercase of a 32-bit character or the character when no case change is needed. + * + * \note A 1:1 mapping doesn't account for multiple characters as part of conversion in some cases. */ char32_t BLI_str_utf32_char_to_upper(char32_t wc); +/** + * Return the lowercase of a 32-bit character or the character when no case change is needed. + * + * \note A 1:1 mapping doesn't account for multiple characters as part of conversion in some cases. + */ char32_t BLI_str_utf32_char_to_lower(char32_t wc); /** diff --git a/source/blender/blenlib/intern/string_utf8.c b/source/blender/blenlib/intern/string_utf8.c index aa859e529a6..e1977427b68 100644 --- a/source/blender/blenlib/intern/string_utf8.c +++ b/source/blender/blenlib/intern/string_utf8.c @@ -399,7 +399,17 @@ int BLI_str_utf8_char_width_safe(const char *p) return (columns < 0) ? 1 : columns; } -char32_t BLI_str_utf32_char_to_upper(char32_t wc) +/* -------------------------------------------------------------------- */ +/** \name UTF32 Case Conversion + * + * \warning the lower/uppercase form of some characters use multiple characters. + * These cases are not accounted for by this conversion function. + * A common example is the German `eszett` / `scharfes`. + * Supporting such cases would have to operate on a character array, with support for resizing. + * (for reference - Python's upper/lower functions support this). + * \{ */ + +char32_t BLI_str_utf32_char_to_upper(const char32_t wc) { if (wc < U'\xFF') { /* Latin. */ if ((wc <= U'z' && wc >= U'a') || (wc <= U'\xF6' && wc >= U'\xE0') || @@ -420,7 +430,7 @@ char32_t BLI_str_utf32_char_to_upper(char32_t wc) if (wc <= U'\x24E9' && wc >= U'\x24D0') { /* Enclosed Numerals. */ return wc - 26; } - if (wc <= U'\xFF5A' && wc >= U'\xFF41') { /* Fullwidth Forms. */ + if (wc <= U'\xFF5A' && wc >= U'\xFF41') { /* Full-width Forms. */ return wc - 32; } @@ -506,7 +516,7 @@ char32_t BLI_str_utf32_char_to_upper(char32_t wc) return wc; } -char32_t BLI_str_utf32_char_to_lower(char32_t wc) +char32_t BLI_str_utf32_char_to_lower(const char32_t wc) { if (wc < U'\xD8') { /* Latin. */ if ((wc <= U'Z' && wc >= U'A') || (wc <= U'\xD6' && wc >= U'\xC0')) { @@ -525,7 +535,7 @@ char32_t BLI_str_utf32_char_to_lower(char32_t wc) if (wc <= U'\x24CF' && wc >= U'\x24B6') { /* Enclosed Numerals. */ return wc + 26; } - if (wc <= U'\xFF3A' && wc >= U'\xFF21') { /* Fullwidth Forms. */ + if (wc <= U'\xFF3A' && wc >= U'\xFF21') { /* Full-width Forms. */ return wc + 32; } @@ -611,7 +621,7 @@ char32_t BLI_str_utf32_char_to_lower(char32_t wc) return wc; } -/* -------------------------------------------------------------------- */ +/** \} */ /* -------------------------------------------------------------------- */ /* copied from glib's gutf8.c, added 'Err' arg */ -- 2.30.2 From b6457dc568ae00eb70ba9e0b9fcba93f43be329a Mon Sep 17 00:00:00 2001 From: Richard Antalik Date: Wed, 12 Apr 2023 03:28:54 +0200 Subject: [PATCH 34/47] Fix #106740: VSE Image sequence can't be loaded from python Caused by introduction of `SEQ_SINGLE_FRAME_CONTENT` flag (66eedc542b). The flag was not updated in `SequenceElements` `append` and `pop` functions. --- source/blender/makesrna/intern/rna_sequencer_api.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/blender/makesrna/intern/rna_sequencer_api.c b/source/blender/makesrna/intern/rna_sequencer_api.c index 8175416eda4..423e185ddc3 100644 --- a/source/blender/makesrna/intern/rna_sequencer_api.c +++ b/source/blender/makesrna/intern/rna_sequencer_api.c @@ -580,6 +580,8 @@ static StripElem *rna_SequenceElements_append(ID *id, Sequence *seq, const char BLI_strncpy(se->name, filename, sizeof(se->name)); seq->len++; + seq->flag &= ~SEQ_SINGLE_FRAME_CONTENT; + WM_main_add_notifier(NC_SCENE | ND_SEQUENCER, scene); return se; @@ -608,6 +610,10 @@ static void rna_SequenceElements_pop(ID *id, Sequence *seq, ReportList *reports, new_seq = MEM_callocN(sizeof(StripElem) * (seq->len - 1), "SequenceElements_pop"); seq->len--; + if (seq->len == 1) { + seq->flag |= SEQ_SINGLE_FRAME_CONTENT; + } + se = seq->strip->stripdata; if (index > 0) { memcpy(new_seq, se, sizeof(StripElem) * index); -- 2.30.2 From c6d686917137314102ecc819860059dd21272e26 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 12 Apr 2023 13:06:30 +1000 Subject: [PATCH 35/47] GHOST/Wayland: suppress EGL_BAD_SURFACE error on exit Freeing ContextEGL would attempt to free the context's EGLSurface, which was already freed by the native-window, causing 2x bad-surface errors on exit. Suppress the warning by clearing the surface from releaseNativeHandles when the surface was created by a native window. --- intern/ghost/intern/GHOST_ContextEGL.cc | 10 ++++++++-- intern/ghost/intern/GHOST_ContextEGL.hh | 5 +++++ intern/ghost/intern/GHOST_SystemWayland.cc | 7 ++++--- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/intern/ghost/intern/GHOST_ContextEGL.cc b/intern/ghost/intern/GHOST_ContextEGL.cc index 91f86bbd262..2530827b6ae 100644 --- a/intern/ghost/intern/GHOST_ContextEGL.cc +++ b/intern/ghost/intern/GHOST_ContextEGL.cc @@ -204,7 +204,8 @@ GHOST_ContextEGL::GHOST_ContextEGL(const GHOST_System *const system, m_swap_interval(1), m_sharedContext( choose_api(api, s_gl_sharedContext, s_gles_sharedContext, s_vg_sharedContext)), - m_sharedCount(choose_api(api, s_gl_sharedCount, s_gles_sharedCount, s_vg_sharedCount)) + m_sharedCount(choose_api(api, s_gl_sharedCount, s_gles_sharedCount, s_vg_sharedCount)), + m_surface_from_native_window(false) { } @@ -454,6 +455,7 @@ GHOST_TSuccess GHOST_ContextEGL::initializeDrawingContext() if (m_nativeWindow != 0) { m_surface = ::eglCreateWindowSurface(m_display, m_config, m_nativeWindow, nullptr); + m_surface_from_native_window = true; } else { static const EGLint pb_attrib_list[] = { @@ -598,8 +600,12 @@ error: GHOST_TSuccess GHOST_ContextEGL::releaseNativeHandles() { - m_nativeWindow = 0; m_nativeDisplay = nullptr; + m_nativeWindow = 0; + if (m_surface_from_native_window) { + m_surface = EGL_NO_SURFACE; + } + return GHOST_kSuccess; } diff --git a/intern/ghost/intern/GHOST_ContextEGL.hh b/intern/ghost/intern/GHOST_ContextEGL.hh index 4fae6487d4d..7fb36392612 100644 --- a/intern/ghost/intern/GHOST_ContextEGL.hh +++ b/intern/ghost/intern/GHOST_ContextEGL.hh @@ -122,6 +122,11 @@ class GHOST_ContextEGL : public GHOST_Context { EGLContext &m_sharedContext; EGLint &m_sharedCount; + /** + * True when the surface is created from `m_nativeWindow`. + */ + bool m_surface_from_native_window; + static EGLContext s_gl_sharedContext; static EGLint s_gl_sharedCount; diff --git a/intern/ghost/intern/GHOST_SystemWayland.cc b/intern/ghost/intern/GHOST_SystemWayland.cc index 17e35e6c2ac..e3dc00ce812 100644 --- a/intern/ghost/intern/GHOST_SystemWayland.cc +++ b/intern/ghost/intern/GHOST_SystemWayland.cc @@ -6339,14 +6339,15 @@ GHOST_TSuccess GHOST_SystemWayland::disposeContext(GHOST_IContext *context) #ifdef USE_EVENT_BACKGROUND_THREAD std::lock_guard lock_server_guard{*server_mutex}; #endif - struct wl_surface *wl_surface = (struct wl_surface *)((GHOST_Context *)context)->getUserData(); + /* Delete the context before the window so the context is able to release + * native resources (such as the #EGLSurface) before WAYLAND frees them. */ + delete context; + wl_egl_window *egl_window = (wl_egl_window *)wl_surface_get_user_data(wl_surface); wl_egl_window_destroy(egl_window); wl_surface_destroy(wl_surface); - delete context; - return GHOST_kSuccess; } -- 2.30.2 From aa3bdfd76a3dc6536532f3cfd4d6313f09805817 Mon Sep 17 00:00:00 2001 From: Jesse Yurkovich Date: Wed, 12 Apr 2023 05:22:26 +0200 Subject: [PATCH 36/47] Image: Use OpenImageIO for loading and saving a variety of image formats This checkin will use OIIO to replace the image save/load code for BMP, DDS, DPX, HDR, PNG, TGA, and TIFF. This simplifies our build environment, reduces binary duplication, removes large amounts of hard to maintain code, and fixes some bugs along the way. It should also help reduce rare differences between Blender and Cycles which already uses OIIO for most situations. Or potentially makes them easier to solve once discovered. This is a continuation of the work for #101413 Pull Request: https://projects.blender.org/blender/blender/pulls/105785 --- CMakeLists.txt | 9 - build_files/cmake/config/blender_full.cmake | 3 - build_files/cmake/config/blender_lite.cmake | 3 - .../cmake/config/blender_release.cmake | 3 - .../cmake/platform/platform_apple.cmake | 6 +- .../cmake/platform/platform_unix.cmake | 11 +- .../cmake/platform/platform_win32.cmake | 14 +- source/blender/CMakeLists.txt | 4 - source/blender/blenkernel/CMakeLists.txt | 12 - .../blender/blenkernel/intern/image_format.cc | 37 - .../blender/editors/space_file/CMakeLists.txt | 12 - .../editors/space_image/CMakeLists.txt | 4 - source/blender/gpu/CMakeLists.txt | 4 - source/blender/imbuf/CMakeLists.txt | 39 +- source/blender/imbuf/IMB_imbuf_types.h | 43 +- source/blender/imbuf/intern/IMB_filetype.h | 70 +- source/blender/imbuf/intern/bmp.c | 383 -------- .../blender/imbuf/intern/cineon/cineon_dpx.c | 18 - source/blender/imbuf/intern/filetype.c | 36 +- source/blender/imbuf/intern/format_bmp.cc | 39 + source/blender/imbuf/intern/format_dds.cc | 319 +++++++ source/blender/imbuf/intern/format_dpx.cc | 82 ++ source/blender/imbuf/intern/format_hdr.cc | 50 ++ source/blender/imbuf/intern/format_png.cc | 62 ++ source/blender/imbuf/intern/format_targa.cc | 39 + source/blender/imbuf/intern/format_tiff.cc | 69 ++ .../imbuf/intern/oiio/openimageio_support.cc | 27 +- .../imbuf/intern/oiio/openimageio_support.hh | 7 +- source/blender/imbuf/intern/png.c | 814 ----------------- source/blender/imbuf/intern/radiance_hdr.c | 438 --------- source/blender/imbuf/intern/targa.c | 791 ----------------- source/blender/imbuf/intern/tiff.c | 832 ------------------ source/blender/imbuf/intern/util.c | 14 +- source/blender/imbuf/intern/util_gpu.c | 4 - source/blender/io/gpencil/CMakeLists.txt | 5 + source/blender/makesrna/intern/CMakeLists.txt | 12 - source/blender/makesrna/intern/rna_scene.c | 36 +- source/blender/python/intern/CMakeLists.txt | 12 - .../python/intern/bpy_app_build_options.c | 15 +- tests/python/CMakeLists.txt | 6 - tests/python/bl_imbuf_load.py | 6 - tests/python/bl_imbuf_save.py | 6 - 42 files changed, 793 insertions(+), 3603 deletions(-) delete mode 100644 source/blender/imbuf/intern/bmp.c create mode 100644 source/blender/imbuf/intern/format_bmp.cc create mode 100644 source/blender/imbuf/intern/format_dds.cc create mode 100644 source/blender/imbuf/intern/format_dpx.cc create mode 100644 source/blender/imbuf/intern/format_hdr.cc create mode 100644 source/blender/imbuf/intern/format_png.cc create mode 100644 source/blender/imbuf/intern/format_targa.cc create mode 100644 source/blender/imbuf/intern/format_tiff.cc delete mode 100644 source/blender/imbuf/intern/png.c delete mode 100644 source/blender/imbuf/intern/radiance_hdr.c delete mode 100644 source/blender/imbuf/intern/targa.c delete mode 100644 source/blender/imbuf/intern/tiff.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 2477ab1679e..2f8e3460f09 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -333,10 +333,7 @@ option(WITH_MOD_OCEANSIM "Enable Ocean Modifier" ON) # Image format support option(WITH_IMAGE_OPENEXR "Enable OpenEXR Support (http://www.openexr.com)" ON) option(WITH_IMAGE_OPENJPEG "Enable OpenJpeg Support (http://www.openjpeg.org)" ON) -option(WITH_IMAGE_TIFF "Enable LibTIFF Support" ON) -option(WITH_IMAGE_DDS "Enable DDS Image Support" ON) option(WITH_IMAGE_CINEON "Enable CINEON and DPX Image Support" ON) -option(WITH_IMAGE_HDR "Enable HDR Image Support" ON) option(WITH_IMAGE_WEBP "Enable WebP Image Support" ON) # Audio/Video format support @@ -896,9 +893,6 @@ set_and_warn_dependency(WITH_IMAGE_OPENEXR WITH_ALEMBIC OFF) set_and_warn_dependency(WITH_IMAGE_OPENEXR WITH_VULKAN_BACKEND OFF) set_and_warn_dependency(WITH_IMAGE_OPENEXR WITH_CYCLES_OSL OFF) -# Haru needs `TIFFFaxBlackCodes` & `TIFFFaxWhiteCodes` symbols from TIFF. -set_and_warn_dependency(WITH_IMAGE_TIFF WITH_HARU OFF) - # auto enable openimageio for cycles if(WITH_CYCLES) # auto enable llvm for cycles_osl @@ -1941,11 +1935,8 @@ if(FIRST_RUN) info_cfg_text("Image Formats:") info_cfg_option(WITH_IMAGE_CINEON) - info_cfg_option(WITH_IMAGE_DDS) - info_cfg_option(WITH_IMAGE_HDR) info_cfg_option(WITH_IMAGE_OPENEXR) info_cfg_option(WITH_IMAGE_OPENJPEG) - info_cfg_option(WITH_IMAGE_TIFF) info_cfg_text("Audio:") info_cfg_option(WITH_CODEC_AVI) diff --git a/build_files/cmake/config/blender_full.cmake b/build_files/cmake/config/blender_full.cmake index b44250b011b..384ab56b19e 100644 --- a/build_files/cmake/config/blender_full.cmake +++ b/build_files/cmake/config/blender_full.cmake @@ -26,11 +26,8 @@ set(WITH_HARU ON CACHE BOOL "" FORCE) set(WITH_IK_ITASC ON CACHE BOOL "" FORCE) set(WITH_IK_SOLVER ON CACHE BOOL "" FORCE) set(WITH_IMAGE_CINEON ON CACHE BOOL "" FORCE) -set(WITH_IMAGE_DDS ON CACHE BOOL "" FORCE) -set(WITH_IMAGE_HDR ON CACHE BOOL "" FORCE) set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE) set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE) -set(WITH_IMAGE_TIFF ON CACHE BOOL "" FORCE) set(WITH_IMAGE_WEBP ON CACHE BOOL "" FORCE) set(WITH_INPUT_NDOF ON CACHE BOOL "" FORCE) set(WITH_INPUT_IME ON CACHE BOOL "" FORCE) diff --git a/build_files/cmake/config/blender_lite.cmake b/build_files/cmake/config/blender_lite.cmake index 942c6cf395e..2dbccc95bdf 100644 --- a/build_files/cmake/config/blender_lite.cmake +++ b/build_files/cmake/config/blender_lite.cmake @@ -27,11 +27,8 @@ set(WITH_HARU OFF CACHE BOOL "" FORCE) set(WITH_IK_ITASC OFF CACHE BOOL "" FORCE) set(WITH_IK_SOLVER OFF CACHE BOOL "" FORCE) set(WITH_IMAGE_CINEON OFF CACHE BOOL "" FORCE) -set(WITH_IMAGE_DDS OFF CACHE BOOL "" FORCE) -set(WITH_IMAGE_HDR OFF CACHE BOOL "" FORCE) set(WITH_IMAGE_OPENEXR OFF CACHE BOOL "" FORCE) set(WITH_IMAGE_OPENJPEG OFF CACHE BOOL "" FORCE) -set(WITH_IMAGE_TIFF OFF CACHE BOOL "" FORCE) set(WITH_IMAGE_WEBP OFF CACHE BOOL "" FORCE) set(WITH_INPUT_IME OFF CACHE BOOL "" FORCE) set(WITH_INPUT_NDOF OFF CACHE BOOL "" FORCE) diff --git a/build_files/cmake/config/blender_release.cmake b/build_files/cmake/config/blender_release.cmake index 10805728574..bcee440adcb 100644 --- a/build_files/cmake/config/blender_release.cmake +++ b/build_files/cmake/config/blender_release.cmake @@ -27,11 +27,8 @@ set(WITH_HARU ON CACHE BOOL "" FORCE) set(WITH_IK_ITASC ON CACHE BOOL "" FORCE) set(WITH_IK_SOLVER ON CACHE BOOL "" FORCE) set(WITH_IMAGE_CINEON ON CACHE BOOL "" FORCE) -set(WITH_IMAGE_DDS ON CACHE BOOL "" FORCE) -set(WITH_IMAGE_HDR ON CACHE BOOL "" FORCE) set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE) set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE) -set(WITH_IMAGE_TIFF ON CACHE BOOL "" FORCE) set(WITH_IMAGE_WEBP ON CACHE BOOL "" FORCE) set(WITH_INPUT_NDOF ON CACHE BOOL "" FORCE) set(WITH_INPUT_IME ON CACHE BOOL "" FORCE) diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index 326830ae0fa..942e86f617d 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -221,10 +221,8 @@ find_package(PNG REQUIRED) set(JPEG_ROOT ${LIBDIR}/jpeg) find_package(JPEG REQUIRED) -if(WITH_IMAGE_TIFF) - set(TIFF_ROOT ${LIBDIR}/tiff) - find_package(TIFF REQUIRED) -endif() +set(TIFF_ROOT ${LIBDIR}/tiff) +find_package(TIFF REQUIRED) if(WITH_IMAGE_WEBP) set(WEBP_ROOT_DIR ${LIBDIR}/webp) diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake index 6adc39ab703..5ce2791bc29 100644 --- a/build_files/cmake/platform/platform_unix.cmake +++ b/build_files/cmake/platform/platform_unix.cmake @@ -109,6 +109,10 @@ find_package_wrapper(ZLIB REQUIRED) find_package_wrapper(Zstd REQUIRED) find_package_wrapper(Epoxy REQUIRED) +# XXX Linking errors with debian static tiff :/ +# find_package_wrapper(TIFF REQUIRED) +find_package(TIFF) + if(WITH_VULKAN_BACKEND) find_package_wrapper(Vulkan REQUIRED) find_package_wrapper(ShaderC REQUIRED) @@ -190,13 +194,6 @@ if(WITH_IMAGE_OPENJPEG) set_and_warn_library_found("OpenJPEG" OPENJPEG_FOUND WITH_IMAGE_OPENJPEG) endif() -if(WITH_IMAGE_TIFF) - # XXX Linking errors with debian static tiff :/ -# find_package_wrapper(TIFF) - find_package(TIFF) - set_and_warn_library_found("TIFF" TIFF_FOUND WITH_IMAGE_TIFF) -endif() - if(WITH_OPENAL) find_package_wrapper(OpenAL) set_and_warn_library_found("OpenAL" OPENAL_FOUND WITH_OPENAL) diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index c7bad653098..9b7256a2120 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -487,14 +487,12 @@ if(WITH_IMAGE_OPENEXR) endif() endif() -if(WITH_IMAGE_TIFF) - # Try to find tiff first then complain and set static and maybe wrong paths - windows_find_package(TIFF) - if(NOT TIFF_FOUND) - warn_hardcoded_paths(libtiff) - set(TIFF_LIBRARY ${LIBDIR}/tiff/lib/libtiff.lib) - set(TIFF_INCLUDE_DIR ${LIBDIR}/tiff/include) - endif() +# Try to find tiff first then complain and set static and maybe wrong paths +windows_find_package(TIFF) +if(NOT TIFF_FOUND) + warn_hardcoded_paths(libtiff) + set(TIFF_LIBRARY ${LIBDIR}/tiff/lib/libtiff.lib) + set(TIFF_INCLUDE_DIR ${LIBDIR}/tiff/include) endif() if(WITH_JACK) diff --git a/source/blender/CMakeLists.txt b/source/blender/CMakeLists.txt index 8dd363e5f2a..554f1d4b057 100644 --- a/source/blender/CMakeLists.txt +++ b/source/blender/CMakeLists.txt @@ -165,10 +165,6 @@ if(WITH_IMAGE_OPENEXR) add_subdirectory(imbuf/intern/openexr) endif() -if(WITH_IMAGE_DDS) - add_subdirectory(imbuf/intern/dds) -endif() - if(WITH_IMAGE_CINEON) add_subdirectory(imbuf/intern/cineon) endif() diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt index 76324facc9d..c193570a2f8 100644 --- a/source/blender/blenkernel/CMakeLists.txt +++ b/source/blender/blenkernel/CMakeLists.txt @@ -594,26 +594,14 @@ if(WITH_IMAGE_OPENEXR) add_definitions(-DWITH_OPENEXR) endif() -if(WITH_IMAGE_TIFF) - add_definitions(-DWITH_TIFF) -endif() - if(WITH_IMAGE_OPENJPEG) add_definitions(-DWITH_OPENJPEG) endif() -if(WITH_IMAGE_DDS) - add_definitions(-DWITH_DDS) -endif() - if(WITH_IMAGE_CINEON) add_definitions(-DWITH_CINEON) endif() -if(WITH_IMAGE_HDR) - add_definitions(-DWITH_HDR) -endif() - if(WITH_IMAGE_WEBP) add_definitions(-DWITH_WEBP) endif() diff --git a/source/blender/blenkernel/intern/image_format.cc b/source/blender/blenkernel/intern/image_format.cc index a4759216ca1..9d134129c06 100644 --- a/source/blender/blenkernel/intern/image_format.cc +++ b/source/blender/blenkernel/intern/image_format.cc @@ -80,28 +80,22 @@ int BKE_imtype_to_ftype(const char imtype, ImbFormatOptions *r_options) if (imtype == R_IMF_IMTYPE_IRIS) { return IMB_FTYPE_IMAGIC; } -#ifdef WITH_HDR if (imtype == R_IMF_IMTYPE_RADHDR) { return IMB_FTYPE_RADHDR; } -#endif if (imtype == R_IMF_IMTYPE_PNG) { r_options->quality = 15; return IMB_FTYPE_PNG; } -#ifdef WITH_DDS if (imtype == R_IMF_IMTYPE_DDS) { return IMB_FTYPE_DDS; } -#endif if (imtype == R_IMF_IMTYPE_BMP) { return IMB_FTYPE_BMP; } -#ifdef WITH_TIFF if (imtype == R_IMF_IMTYPE_TIFF) { return IMB_FTYPE_TIF; } -#endif if (ELEM(imtype, R_IMF_IMTYPE_OPENEXR, R_IMF_IMTYPE_MULTILAYER)) { return IMB_FTYPE_OPENEXR; } @@ -139,27 +133,21 @@ char BKE_ftype_to_imtype(const int ftype, const ImbFormatOptions *options) if (ftype == IMB_FTYPE_IMAGIC) { return R_IMF_IMTYPE_IRIS; } -#ifdef WITH_HDR if (ftype == IMB_FTYPE_RADHDR) { return R_IMF_IMTYPE_RADHDR; } -#endif if (ftype == IMB_FTYPE_PNG) { return R_IMF_IMTYPE_PNG; } -#ifdef WITH_DDS if (ftype == IMB_FTYPE_DDS) { return R_IMF_IMTYPE_DDS; } -#endif if (ftype == IMB_FTYPE_BMP) { return R_IMF_IMTYPE_BMP; } -#ifdef WITH_TIFF if (ftype == IMB_FTYPE_TIF) { return R_IMF_IMTYPE_TIFF; } -#endif if (ftype == IMB_FTYPE_OPENEXR) { return R_IMF_IMTYPE_OPENEXR; } @@ -327,11 +315,9 @@ char BKE_imtype_from_arg(const char *imtype_arg) if (STREQ(imtype_arg, "IRIS")) { return R_IMF_IMTYPE_IRIS; } -#ifdef WITH_DDS if (STREQ(imtype_arg, "DDS")) { return R_IMF_IMTYPE_DDS; } -#endif if (STREQ(imtype_arg, "JPEG")) { return R_IMF_IMTYPE_JPEG90; } @@ -353,16 +339,12 @@ char BKE_imtype_from_arg(const char *imtype_arg) if (STREQ(imtype_arg, "BMP")) { return R_IMF_IMTYPE_BMP; } -#ifdef WITH_HDR if (STREQ(imtype_arg, "HDR")) { return R_IMF_IMTYPE_RADHDR; } -#endif -#ifdef WITH_TIFF if (STREQ(imtype_arg, "TIFF")) { return R_IMF_IMTYPE_TIFF; } -#endif #ifdef WITH_OPENEXR if (STREQ(imtype_arg, "OPEN_EXR")) { return R_IMF_IMTYPE_OPENEXR; @@ -422,13 +404,11 @@ static bool do_add_image_extension(char *string, extension = extension_test; } } -#ifdef WITH_HDR else if (imtype == R_IMF_IMTYPE_RADHDR) { if (!BLI_path_extension_check(string, extension_test = ".hdr")) { extension = extension_test; } } -#endif else if (ELEM(imtype, R_IMF_IMTYPE_PNG, R_IMF_IMTYPE_FFMPEG, @@ -440,13 +420,11 @@ static bool do_add_image_extension(char *string, extension = extension_test; } } -#ifdef WITH_DDS else if (imtype == R_IMF_IMTYPE_DDS) { if (!BLI_path_extension_check(string, extension_test = ".dds")) { extension = extension_test; } } -#endif else if (ELEM(imtype, R_IMF_IMTYPE_TARGA, R_IMF_IMTYPE_RAWTGA)) { if (!BLI_path_extension_check(string, extension_test = ".tga")) { extension = extension_test; @@ -457,13 +435,11 @@ static bool do_add_image_extension(char *string, extension = extension_test; } } -#ifdef WITH_TIFF else if (imtype == R_IMF_IMTYPE_TIFF) { if (!BLI_path_extension_check_n(string, extension_test = ".tif", ".tiff", nullptr)) { extension = extension_test; } } -#endif else if (imtype == R_IMF_IMTYPE_PSD) { if (!BLI_path_extension_check(string, extension_test = ".psd")) { extension = extension_test; @@ -617,11 +593,9 @@ void BKE_image_format_to_imbuf(ImBuf *ibuf, const ImageFormatData *imf) if (imtype == R_IMF_IMTYPE_IRIS) { ibuf->ftype = IMB_FTYPE_IMAGIC; } -#ifdef WITH_HDR else if (imtype == R_IMF_IMTYPE_RADHDR) { ibuf->ftype = IMB_FTYPE_RADHDR; } -#endif else if (ELEM(imtype, R_IMF_IMTYPE_PNG, R_IMF_IMTYPE_FFMPEG, @@ -639,15 +613,12 @@ void BKE_image_format_to_imbuf(ImBuf *ibuf, const ImageFormatData *imf) ibuf->foptions.quality = compress; } } -#ifdef WITH_DDS else if (imtype == R_IMF_IMTYPE_DDS) { ibuf->ftype = IMB_FTYPE_DDS; } -#endif else if (imtype == R_IMF_IMTYPE_BMP) { ibuf->ftype = IMB_FTYPE_BMP; } -#ifdef WITH_TIFF else if (imtype == R_IMF_IMTYPE_TIFF) { ibuf->ftype = IMB_FTYPE_TIF; @@ -667,7 +638,6 @@ void BKE_image_format_to_imbuf(ImBuf *ibuf, const ImageFormatData *imf) ibuf->foptions.flag |= TIF_COMPRESS_PACKBITS; } } -#endif #ifdef WITH_OPENEXR else if (ELEM(imtype, R_IMF_IMTYPE_OPENEXR, R_IMF_IMTYPE_MULTILAYER)) { ibuf->ftype = IMB_FTYPE_OPENEXR; @@ -787,11 +757,9 @@ void BKE_image_format_from_imbuf(ImageFormatData *im_format, const ImBuf *imbuf) if (ftype == IMB_FTYPE_IMAGIC) { im_format->imtype = R_IMF_IMTYPE_IRIS; } -#ifdef WITH_HDR else if (ftype == IMB_FTYPE_RADHDR) { im_format->imtype = R_IMF_IMTYPE_RADHDR; } -#endif else if (ftype == IMB_FTYPE_PNG) { im_format->imtype = R_IMF_IMTYPE_PNG; @@ -801,16 +769,12 @@ void BKE_image_format_from_imbuf(ImageFormatData *im_format, const ImBuf *imbuf) im_format->compress = quality; } - -#ifdef WITH_DDS else if (ftype == IMB_FTYPE_DDS) { im_format->imtype = R_IMF_IMTYPE_DDS; } -#endif else if (ftype == IMB_FTYPE_BMP) { im_format->imtype = R_IMF_IMTYPE_BMP; } -#ifdef WITH_TIFF else if (ftype == IMB_FTYPE_TIF) { im_format->imtype = R_IMF_IMTYPE_TIFF; if (custom_flags & TIF_16BIT) { @@ -829,7 +793,6 @@ void BKE_image_format_from_imbuf(ImageFormatData *im_format, const ImBuf *imbuf) im_format->tiff_codec = R_IMF_TIFF_CODEC_PACKBITS; } } -#endif #ifdef WITH_OPENEXR else if (ftype == IMB_FTYPE_OPENEXR) { diff --git a/source/blender/editors/space_file/CMakeLists.txt b/source/blender/editors/space_file/CMakeLists.txt index 0a1e8f27af4..76768d16d01 100644 --- a/source/blender/editors/space_file/CMakeLists.txt +++ b/source/blender/editors/space_file/CMakeLists.txt @@ -66,26 +66,14 @@ if(WITH_IMAGE_OPENEXR) add_definitions(-DWITH_OPENEXR) endif() -if(WITH_IMAGE_TIFF) - add_definitions(-DWITH_TIFF) -endif() - if(WITH_IMAGE_OPENJPEG) add_definitions(-DWITH_OPENJPEG) endif() -if(WITH_IMAGE_DDS) - add_definitions(-DWITH_DDS) -endif() - if(WITH_IMAGE_CINEON) add_definitions(-DWITH_CINEON) endif() -if(WITH_IMAGE_HDR) - add_definitions(-DWITH_HDR) -endif() - if(WITH_IMAGE_WEBP) add_definitions(-DWITH_WEBP) endif() diff --git a/source/blender/editors/space_image/CMakeLists.txt b/source/blender/editors/space_image/CMakeLists.txt index 81e457eaea6..e708dc4e63e 100644 --- a/source/blender/editors/space_image/CMakeLists.txt +++ b/source/blender/editors/space_image/CMakeLists.txt @@ -54,10 +54,6 @@ if(WITH_IMAGE_OPENEXR) add_definitions(-DWITH_OPENEXR) endif() -if(WITH_IMAGE_TIFF) - add_definitions(-DWITH_TIFF) -endif() - if(WITH_IMAGE_CINEON) add_definitions(-DWITH_CINEON) endif() diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt index 070131a186e..df021f12d68 100644 --- a/source/blender/gpu/CMakeLists.txt +++ b/source/blender/gpu/CMakeLists.txt @@ -738,10 +738,6 @@ if(WITH_MOD_FLUID) add_definitions(-DWITH_FLUID) endif() -if(WITH_IMAGE_DDS) - add_definitions(-DWITH_DDS) -endif() - if(WITH_OPENCOLORIO) add_definitions(-DWITH_OCIO) endif() diff --git a/source/blender/imbuf/CMakeLists.txt b/source/blender/imbuf/CMakeLists.txt index 654e6fac323..600cf7b5172 100644 --- a/source/blender/imbuf/CMakeLists.txt +++ b/source/blender/imbuf/CMakeLists.txt @@ -16,7 +16,6 @@ set(INC set(INC_SYS ${JPEG_INCLUDE_DIR} - ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ${OPENIMAGEIO_INCLUDE_DIRS} ) @@ -24,13 +23,19 @@ set(INC_SYS set(SRC intern/allocimbuf.c intern/anim_movie.c - intern/bmp.c intern/colormanagement.c intern/colormanagement_inline.c intern/divers.c intern/filetype.c intern/filter.c + intern/format_bmp.cc + intern/format_dds.cc + intern/format_dpx.cc + intern/format_hdr.cc + intern/format_png.cc intern/format_psd.cc + intern/format_targa.cc + intern/format_tiff.cc intern/imageprocess.c intern/indexer.c intern/iris.c @@ -38,13 +43,11 @@ set(SRC intern/metadata.c intern/module.c intern/moviecache.cc - intern/png.c intern/readimage.c intern/rectop.c intern/rotate.c intern/scaling.c intern/stereoimbuf.c - intern/targa.c intern/thumbs.c intern/thumbs_blend.c intern/thumbs_font.c @@ -81,7 +84,6 @@ set(LIB bf_intern_memutil bf_intern_opencolorio - ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ) @@ -96,19 +98,6 @@ else() ) endif() -if(WITH_IMAGE_TIFF) - list(APPEND INC_SYS - ${TIFF_INCLUDE_DIR} - ) - list(APPEND SRC - intern/tiff.c - ) - list(APPEND LIB - ${TIFF_LIBRARY} - ) - add_definitions(-DWITH_TIFF) -endif() - if(WITH_IMAGE_OPENJPEG) list(APPEND INC_SYS ${OPENJPEG_INCLUDE_DIRS} @@ -147,13 +136,6 @@ if(WITH_CODEC_FFMPEG) add_definitions(-DWITH_FFMPEG) endif() -if(WITH_IMAGE_DDS) - list(APPEND LIB - bf_imbuf_dds - ) - add_definitions(-DWITH_DDS) -endif() - if(WITH_IMAGE_CINEON) list(APPEND LIB bf_imbuf_cineon @@ -161,13 +143,6 @@ if(WITH_IMAGE_CINEON) add_definitions(-DWITH_CINEON) endif() -if(WITH_IMAGE_HDR) - list(APPEND SRC - intern/radiance_hdr.c - ) - add_definitions(-DWITH_HDR) -endif() - if(WITH_IMAGE_WEBP) list(APPEND SRC intern/webp.c diff --git a/source/blender/imbuf/IMB_imbuf_types.h b/source/blender/imbuf/IMB_imbuf_types.h index c5bd60358b0..d8e0106b957 100644 --- a/source/blender/imbuf/IMB_imbuf_types.h +++ b/source/blender/imbuf/IMB_imbuf_types.h @@ -63,20 +63,14 @@ enum eImbFileType { #ifdef WITH_OPENJPEG IMB_FTYPE_JP2 = 8, #endif -#ifdef WITH_HDR IMB_FTYPE_RADHDR = 9, -#endif -#ifdef WITH_TIFF IMB_FTYPE_TIF = 10, -#endif #ifdef WITH_CINEON IMB_FTYPE_CINEON = 11, IMB_FTYPE_DPX = 12, #endif -#ifdef WITH_DDS IMB_FTYPE_DDS = 13, -#endif #ifdef WITH_WEBP IMB_FTYPE_WEBP = 14, #endif @@ -113,13 +107,11 @@ enum eImbFileType { #define RAWTGA 1 -#ifdef WITH_TIFF -# define TIF_16BIT (1 << 8) -# define TIF_COMPRESS_NONE (1 << 7) -# define TIF_COMPRESS_DEFLATE (1 << 6) -# define TIF_COMPRESS_LZW (1 << 5) -# define TIF_COMPRESS_PACKBITS (1 << 4) -#endif +#define TIF_16BIT (1 << 8) +#define TIF_COMPRESS_NONE (1 << 7) +#define TIF_COMPRESS_DEFLATE (1 << 6) +#define TIF_COMPRESS_LZW (1 << 5) +#define TIF_COMPRESS_PACKBITS (1 << 4) typedef struct ImbFormatOptions { short flag; @@ -295,25 +287,24 @@ enum { /** \} */ /* dds */ -#ifdef WITH_DDS -# ifndef DDS_MAKEFOURCC -# define DDS_MAKEFOURCC(ch0, ch1, ch2, ch3) \ - ((unsigned long)(unsigned char)(ch0) | ((unsigned long)(unsigned char)(ch1) << 8) | \ - ((unsigned long)(unsigned char)(ch2) << 16) | ((unsigned long)(unsigned char)(ch3) << 24)) -# endif /* DDS_MAKEFOURCC */ +#ifndef DDS_MAKEFOURCC +# define DDS_MAKEFOURCC(ch0, ch1, ch2, ch3) \ + ((unsigned long)(unsigned char)(ch0) | ((unsigned long)(unsigned char)(ch1) << 8) | \ + ((unsigned long)(unsigned char)(ch2) << 16) | ((unsigned long)(unsigned char)(ch3) << 24)) +#endif /* DDS_MAKEFOURCC */ /* * FOURCC codes for DX compressed-texture pixel formats. */ -# define FOURCC_DDS (DDS_MAKEFOURCC('D', 'D', 'S', ' ')) -# define FOURCC_DXT1 (DDS_MAKEFOURCC('D', 'X', 'T', '1')) -# define FOURCC_DXT2 (DDS_MAKEFOURCC('D', 'X', 'T', '2')) -# define FOURCC_DXT3 (DDS_MAKEFOURCC('D', 'X', 'T', '3')) -# define FOURCC_DXT4 (DDS_MAKEFOURCC('D', 'X', 'T', '4')) -# define FOURCC_DXT5 (DDS_MAKEFOURCC('D', 'X', 'T', '5')) +#define FOURCC_DDS (DDS_MAKEFOURCC('D', 'D', 'S', ' ')) +#define FOURCC_DX10 (DDS_MAKEFOURCC('D', 'X', '1', '0')) +#define FOURCC_DXT1 (DDS_MAKEFOURCC('D', 'X', 'T', '1')) +#define FOURCC_DXT2 (DDS_MAKEFOURCC('D', 'X', 'T', '2')) +#define FOURCC_DXT3 (DDS_MAKEFOURCC('D', 'X', 'T', '3')) +#define FOURCC_DXT4 (DDS_MAKEFOURCC('D', 'X', 'T', '4')) +#define FOURCC_DXT5 (DDS_MAKEFOURCC('D', 'X', 'T', '5')) -#endif /* DDS */ extern const char *imb_ext_image[]; extern const char *imb_ext_movie[]; extern const char *imb_ext_audio[]; diff --git a/source/blender/imbuf/intern/IMB_filetype.h b/source/blender/imbuf/intern/IMB_filetype.h index 4a226cbc9fd..005b56ba7b4 100644 --- a/source/blender/imbuf/intern/IMB_filetype.h +++ b/source/blender/imbuf/intern/IMB_filetype.h @@ -80,11 +80,11 @@ void imb_filetypes_exit(void); * \{ */ bool imb_is_a_png(const unsigned char *mem, size_t size); -struct ImBuf *imb_loadpng(const unsigned char *mem, - size_t size, - int flags, - char colorspace[IM_MAX_SPACE]); -bool imb_savepng(struct ImBuf *ibuf, const char *filepath, int flags); +struct ImBuf *imb_load_png(const unsigned char *mem, + size_t size, + int flags, + char colorspace[IM_MAX_SPACE]); +bool imb_save_png(struct ImBuf *ibuf, const char *filepath, int flags); /** \} */ @@ -92,12 +92,12 @@ bool imb_savepng(struct ImBuf *ibuf, const char *filepath, int flags); /** \name Format: TARGA (#IMB_FTYPE_TGA) * \{ */ -bool imb_is_a_targa(const unsigned char *buf, size_t size); -struct ImBuf *imb_loadtarga(const unsigned char *mem, - size_t size, - int flags, - char colorspace[IM_MAX_SPACE]); -bool imb_savetarga(struct ImBuf *ibuf, const char *filepath, int flags); +bool imb_is_a_tga(const unsigned char *mem, size_t size); +struct ImBuf *imb_load_tga(const unsigned char *mem, + size_t size, + int flags, + char colorspace[IM_MAX_SPACE]); +bool imb_save_tga(struct ImBuf *ibuf, const char *filepath, int flags); /** \} */ @@ -157,12 +157,12 @@ struct ImBuf *imb_thumbnail_jpeg(const char *filepath, * \{ */ bool imb_is_a_bmp(const unsigned char *buf, size_t size); -struct ImBuf *imb_bmp_decode(const unsigned char *mem, - size_t size, - int flags, - char colorspace[IM_MAX_SPACE]); +struct ImBuf *imb_load_bmp(const unsigned char *mem, + size_t size, + int flags, + char colorspace[IM_MAX_SPACE]); /* Found write info at http://users.ece.gatech.edu/~slabaugh/personal/c/bitmapUnix.c */ -bool imb_savebmp(struct ImBuf *ibuf, const char *filepath, int flags); +bool imb_save_bmp(struct ImBuf *ibuf, const char *filepath, int flags); /** \} */ @@ -197,11 +197,11 @@ struct ImBuf *imb_load_dpx(const unsigned char *mem, * \{ */ bool imb_is_a_hdr(const unsigned char *buf, size_t size); -struct ImBuf *imb_loadhdr(const unsigned char *mem, - size_t size, - int flags, - char colorspace[IM_MAX_SPACE]); -bool imb_savehdr(struct ImBuf *ibuf, const char *filepath, int flags); +struct ImBuf *imb_load_hdr(const unsigned char *mem, + size_t size, + int flags, + char colorspace[IM_MAX_SPACE]); +bool imb_save_hdr(struct ImBuf *ibuf, const char *filepath, int flags); /** \} */ @@ -209,7 +209,6 @@ bool imb_savehdr(struct ImBuf *ibuf, const char *filepath, int flags); /** \name Format: TIFF (#IMB_FTYPE_TIF) * \{ */ -void imb_inittiff(void); bool imb_is_a_tiff(const unsigned char *buf, size_t size); /** * Loads a TIFF file. @@ -220,10 +219,10 @@ bool imb_is_a_tiff(const unsigned char *buf, size_t size); * * \return A newly allocated #ImBuf structure if successful, otherwise NULL. */ -struct ImBuf *imb_loadtiff(const unsigned char *mem, - size_t size, - int flags, - char colorspace[IM_MAX_SPACE]); +struct ImBuf *imb_load_tiff(const unsigned char *mem, + size_t size, + int flags, + char colorspace[IM_MAX_SPACE]); /** * Saves a TIFF file. * @@ -238,12 +237,12 @@ struct ImBuf *imb_loadtiff(const unsigned char *mem, * * \return 1 if the function is successful, 0 on failure. */ -bool imb_savetiff(struct ImBuf *ibuf, const char *filepath, int flags); +bool imb_save_tiff(struct ImBuf *ibuf, const char *filepath, int flags); /** \} */ /* -------------------------------------------------------------------- */ -/** \name Format: TIFF (#IMB_FTYPE_WEBP) +/** \name Format: WEBP (#IMB_FTYPE_WEBP) * \{ */ bool imb_is_a_webp(const unsigned char *buf, size_t size); @@ -261,13 +260,26 @@ bool imb_savewebp(struct ImBuf *ibuf, const char *name, int flags); /** \} */ +/* -------------------------------------------------------------------- */ +/** \name Format: DDS (#IMB_FTYPE_DDS) + * \{ */ + +bool imb_is_a_dds(const unsigned char *buf, size_t size); + +struct ImBuf *imb_load_dds(const unsigned char *mem, + size_t size, + int flags, + char colorspace[IM_MAX_SPACE]); + +/** \} */ + /* -------------------------------------------------------------------- */ /** \name Format: PSD (#IMB_FTYPE_PSD) * \{ */ bool imb_is_a_psd(const unsigned char *buf, size_t size); -struct ImBuf *imb_load_psd(const uchar *mem, +struct ImBuf *imb_load_psd(const unsigned char *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE]); diff --git a/source/blender/imbuf/intern/bmp.c b/source/blender/imbuf/intern/bmp.c deleted file mode 100644 index 495ec286de3..00000000000 --- a/source/blender/imbuf/intern/bmp.c +++ /dev/null @@ -1,383 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later - * Copyright 2001-2002 NaN Holding BV. All rights reserved. */ - -/** \file - * \ingroup imbuf - */ - -#include - -#include "BLI_fileops.h" -#include "BLI_utildefines.h" - -#include "imbuf.h" - -#include "IMB_filetype.h" -#include "IMB_imbuf.h" -#include "IMB_imbuf_types.h" - -#include "IMB_colormanagement.h" -#include "IMB_colormanagement_intern.h" - -/* Some code copied from article on microsoft.com, - * copied here for enhanced BMP support in the future: - * http://www.microsoft.com/msj/defaultframe.asp?page=/msj/0197/mfcp1/mfcp1.htm&nav=/msj/0197/newnav.htm - */ - -typedef struct BMPINFOHEADER { - uint biSize; - uint biWidth; - uint biHeight; - ushort biPlanes; - ushort biBitCount; - uint biCompression; - uint biSizeImage; - uint biXPelsPerMeter; - uint biYPelsPerMeter; - uint biClrUsed; - uint biClrImportant; -} BMPINFOHEADER; - -#if 0 -typedef struct BMPHEADER { - ushort biType; - uint biSize; - ushort biRes1; - ushort biRes2; - uint biOffBits; -} BMPHEADER; -#endif - -#define BMP_FILEHEADER_SIZE 14 - -#define CHECK_HEADER_FIELD(_mem, _field) ((_mem[0] == _field[0]) && (_mem[1] == _field[1])) -#define CHECK_HEADER_FIELD_BMP(_mem) \ - (CHECK_HEADER_FIELD(_mem, "BM") || CHECK_HEADER_FIELD(_mem, "BA") || \ - CHECK_HEADER_FIELD(_mem, "CI") || CHECK_HEADER_FIELD(_mem, "CP") || \ - CHECK_HEADER_FIELD(_mem, "IC") || CHECK_HEADER_FIELD(_mem, "PT")) - -static bool checkbmp(const uchar *mem, const size_t size) -{ - if (size < (BMP_FILEHEADER_SIZE + sizeof(BMPINFOHEADER))) { - return false; - } - - if (!CHECK_HEADER_FIELD_BMP(mem)) { - return false; - } - - bool ok = false; - BMPINFOHEADER bmi; - uint u; - - /* Skip file-header. */ - mem += BMP_FILEHEADER_SIZE; - - /* for systems where an int needs to be 4 bytes aligned */ - memcpy(&bmi, mem, sizeof(bmi)); - - u = LITTLE_LONG(bmi.biSize); - /* we only support uncompressed images for now. */ - if (u >= sizeof(BMPINFOHEADER)) { - if (bmi.biCompression == 0) { - u = LITTLE_SHORT(bmi.biBitCount); - if (u > 0 && u <= 32) { - ok = true; - } - } - } - - return ok; -} - -bool imb_is_a_bmp(const uchar *buf, size_t size) -{ - return checkbmp(buf, size); -} - -static size_t imb_bmp_calc_row_size_in_bytes(size_t x, size_t depth) -{ - /* https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns-wingdi-bitmapinfoheader#calculating-surface-stride - */ - return (((x * depth) + 31) & ~31) >> 3; -} - -ImBuf *imb_bmp_decode(const uchar *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE]) -{ - ImBuf *ibuf = NULL; - BMPINFOHEADER bmi; - int ibuf_depth; - const uchar *bmp; - uchar *rect; - ushort col; - bool top_to_bottom = false; - - if (checkbmp(mem, size) == 0) { - return NULL; - } - - colorspace_set_default_role(colorspace, IM_MAX_SPACE, COLOR_ROLE_DEFAULT_BYTE); - - /* For systems where an int needs to be 4 bytes aligned. */ - memcpy(&bmi, mem + BMP_FILEHEADER_SIZE, sizeof(bmi)); - - const size_t palette_offset = (size_t)BMP_FILEHEADER_SIZE + LITTLE_LONG(bmi.biSize); - const int depth = LITTLE_SHORT(bmi.biBitCount); - const int xppm = LITTLE_LONG(bmi.biXPelsPerMeter); - const int yppm = LITTLE_LONG(bmi.biYPelsPerMeter); - const int x = LITTLE_LONG(bmi.biWidth); - int y = LITTLE_LONG(bmi.biHeight); - - /* Negative height means bitmap is stored top-to-bottom. */ - if (y < 0) { - y = -y; - top_to_bottom = true; - } - - /* Validate and cross-check offsets and sizes. */ - if (x < 1 || !ELEM(depth, 1, 4, 8, 16, 24, 32)) { - return NULL; - } - - const size_t pixel_data_offset = (size_t)LITTLE_LONG(*(int *)(mem + 10)); - const size_t header_bytes = BMP_FILEHEADER_SIZE + sizeof(BMPINFOHEADER); - const size_t num_actual_data_bytes = size - pixel_data_offset; - const size_t row_size_in_bytes = imb_bmp_calc_row_size_in_bytes(x, depth); - const size_t num_expected_data_bytes = row_size_in_bytes * y; - if (num_actual_data_bytes < num_expected_data_bytes || num_actual_data_bytes > size || - pixel_data_offset < header_bytes || pixel_data_offset > (size - num_expected_data_bytes) || - palette_offset < header_bytes || palette_offset > pixel_data_offset) { - return NULL; - } - - if (depth <= 8) { - ibuf_depth = 24; - } - else { - ibuf_depth = depth; - } - - bmp = mem + pixel_data_offset; - -#if 0 - printf("palette_offset: %d, x: %d y: %d, depth: %d\n", palette_offset, x, y, depth); -#endif - - if (flags & IB_test) { - ibuf = IMB_allocImBuf(x, y, ibuf_depth, 0); - } - else { - ibuf = IMB_allocImBuf(x, y, ibuf_depth, IB_rect); - if (!ibuf) { - return NULL; - } - - rect = (uchar *)ibuf->rect; - - if (depth <= 8) { - const char(*palette)[4] = (const char(*)[4])(mem + palette_offset); - const int startmask = ((1 << depth) - 1) << 8; - for (size_t i = y; i > 0; i--) { - int bitoffs = 8; - int bitmask = startmask; - int nbytes = 0; - const char *pcol; - if (top_to_bottom) { - rect = (uchar *)&ibuf->rect[(i - 1) * x]; - } - for (size_t j = x; j > 0; j--) { - bitoffs -= depth; - bitmask >>= depth; - const int index = (bmp[0] & bitmask) >> bitoffs; - pcol = palette[index]; - /* intentionally BGR -> RGB */ - rect[0] = pcol[2]; - rect[1] = pcol[1]; - rect[2] = pcol[0]; - - rect[3] = 255; - rect += 4; - if (bitoffs == 0) { - /* Advance to the next byte */ - bitoffs = 8; - bitmask = startmask; - nbytes += 1; - bmp += 1; - } - } - /* Advance to the next row */ - bmp += (row_size_in_bytes - nbytes); - } - } - else if (depth == 16) { - for (size_t i = y; i > 0; i--) { - if (top_to_bottom) { - rect = (uchar *)&ibuf->rect[(i - 1) * x]; - } - for (size_t j = x; j > 0; j--) { - col = bmp[0] + (bmp[1] << 8); - rect[0] = ((col >> 10) & 0x1f) << 3; - rect[1] = ((col >> 5) & 0x1f) << 3; - rect[2] = ((col >> 0) & 0x1f) << 3; - - rect[3] = 255; - rect += 4; - bmp += 2; - } - } - } - else if (depth == 24) { - const int x_pad = x % 4; - for (size_t i = y; i > 0; i--) { - if (top_to_bottom) { - rect = (uchar *)&ibuf->rect[(i - 1) * x]; - } - for (size_t j = x; j > 0; j--) { - rect[0] = bmp[2]; - rect[1] = bmp[1]; - rect[2] = bmp[0]; - - rect[3] = 255; - rect += 4; - bmp += 3; - } - /* for 24-bit images, rows are padded to multiples of 4 */ - bmp += x_pad; - } - } - else if (depth == 32) { - for (size_t i = y; i > 0; i--) { - if (top_to_bottom) { - rect = (uchar *)&ibuf->rect[(i - 1) * x]; - } - for (size_t j = x; j > 0; j--) { - rect[0] = bmp[2]; - rect[1] = bmp[1]; - rect[2] = bmp[0]; - rect[3] = bmp[3]; - rect += 4; - bmp += 4; - } - } - } - } - - if (ibuf) { - ibuf->ppm[0] = xppm; - ibuf->ppm[1] = yppm; - ibuf->ftype = IMB_FTYPE_BMP; - } - - return ibuf; -} - -#undef CHECK_HEADER_FIELD_BMP -#undef CHECK_HEADER_FIELD - -/* Couple of helper functions for writing our data */ -static int putIntLSB(uint ui, FILE *ofile) -{ - putc((ui >> 0) & 0xFF, ofile); - putc((ui >> 8) & 0xFF, ofile); - putc((ui >> 16) & 0xFF, ofile); - return putc((ui >> 24) & 0xFF, ofile); -} - -static int putShortLSB(ushort us, FILE *ofile) -{ - putc((us >> 0) & 0xFF, ofile); - return putc((us >> 8) & 0xFF, ofile); -} - -bool imb_savebmp(ImBuf *ibuf, const char *filepath, int UNUSED(flags)) -{ - BMPINFOHEADER infoheader; - - const size_t bytes_per_pixel = (ibuf->planes + 7) >> 3; - BLI_assert(ELEM(bytes_per_pixel, 1, 3)); - - const size_t pad_bytes_per_scanline = (4 - ibuf->x * bytes_per_pixel % 4) % 4; - const size_t bytesize = (ibuf->x * bytes_per_pixel + pad_bytes_per_scanline) * ibuf->y; - - const uchar *data = (const uchar *)ibuf->rect; - FILE *ofile = BLI_fopen(filepath, "wb"); - if (ofile == NULL) { - return 0; - } - - const bool is_grayscale = bytes_per_pixel == 1; - const size_t palette_size = is_grayscale ? 255 * 4 : 0; /* RGBA32 */ - const size_t pixel_array_start = BMP_FILEHEADER_SIZE + sizeof(infoheader) + palette_size; - - putShortLSB(19778, ofile); /* "BM" */ - putIntLSB(bytesize + pixel_array_start, ofile); /* Total file size */ - putShortLSB(0, ofile); /* Res1 */ - putShortLSB(0, ofile); /* Res2 */ - putIntLSB(pixel_array_start, ofile); /* offset to start of pixel array */ - - putIntLSB(sizeof(infoheader), ofile); - putIntLSB(ibuf->x, ofile); - putIntLSB(ibuf->y, ofile); - putShortLSB(1, ofile); - putShortLSB(is_grayscale ? 8 : 24, ofile); - putIntLSB(0, ofile); - putIntLSB(bytesize, ofile); - putIntLSB(round(ibuf->ppm[0]), ofile); - putIntLSB(round(ibuf->ppm[1]), ofile); - putIntLSB(0, ofile); - putIntLSB(0, ofile); - - /* color palette table, which is just every grayscale color, full alpha */ - if (is_grayscale) { - for (char i = 0; i < 255; i++) { - putc(i, ofile); - putc(i, ofile); - putc(i, ofile); - putc(0xFF, ofile); - } - } - - if (is_grayscale) { - for (size_t y = 0; y < ibuf->y; y++) { - for (size_t x = 0; x < ibuf->x; x++) { - const size_t ptr = (x + y * ibuf->x) * 4; - if (putc(data[ptr], ofile) == EOF) { - return 0; - } - } - /* Add padding here. */ - for (size_t t = 0; t < pad_bytes_per_scanline; t++) { - if (putc(0, ofile) == EOF) { - return 0; - } - } - } - } - else { - /* Need to write out padded image data in BGR format. */ - for (size_t y = 0; y < ibuf->y; y++) { - for (size_t x = 0; x < ibuf->x; x++) { - const size_t ptr = (x + y * ibuf->x) * 4; - if (putc(data[ptr + 2], ofile) == EOF) { - return 0; - } - if (putc(data[ptr + 1], ofile) == EOF) { - return 0; - } - if (putc(data[ptr], ofile) == EOF) { - return 0; - } - } - /* Add padding here. */ - for (size_t t = 0; t < pad_bytes_per_scanline; t++) { - if (putc(0, ofile) == EOF) { - return 0; - } - } - } - } - - fflush(ofile); - fclose(ofile); - return 1; -} diff --git a/source/blender/imbuf/intern/cineon/cineon_dpx.c b/source/blender/imbuf/intern/cineon/cineon_dpx.c index 3bff8184b19..e6ee1144ff7 100644 --- a/source/blender/imbuf/intern/cineon/cineon_dpx.c +++ b/source/blender/imbuf/intern/cineon/cineon_dpx.c @@ -182,21 +182,3 @@ ImBuf *imb_load_cineon(const uchar *mem, size_t size, int flags, char colorspace } return imb_load_dpx_cineon(mem, size, 1, flags, colorspace); } - -bool imb_save_dpx(struct ImBuf *buf, const char *filepath, int flags) -{ - return imb_save_dpx_cineon(buf, filepath, 0, flags); -} - -bool imb_is_a_dpx(const uchar *buf, size_t size) -{ - return logImageIsDpx(buf, size); -} - -ImBuf *imb_load_dpx(const uchar *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE]) -{ - if (!imb_is_a_dpx(mem, size)) { - return NULL; - } - return imb_load_dpx_cineon(mem, size, 0, flags, colorspace); -} diff --git a/source/blender/imbuf/intern/filetype.c b/source/blender/imbuf/intern/filetype.c index aef1088efd4..fd62ee087d8 100644 --- a/source/blender/imbuf/intern/filetype.c +++ b/source/blender/imbuf/intern/filetype.c @@ -20,10 +20,6 @@ # include "openexr/openexr_api.h" #endif -#ifdef WITH_DDS -# include "dds/dds_api.h" -#endif - const ImFileType IMB_FILE_TYPES[] = { { .init = NULL, @@ -41,10 +37,10 @@ const ImFileType IMB_FILE_TYPES[] = { .init = NULL, .exit = NULL, .is_a = imb_is_a_png, - .load = imb_loadpng, + .load = imb_load_png, .load_filepath = NULL, .load_filepath_thumbnail = NULL, - .save = imb_savepng, + .save = imb_save_png, .flag = 0, .filetype = IMB_FTYPE_PNG, .default_save_role = COLOR_ROLE_DEFAULT_BYTE, @@ -53,10 +49,10 @@ const ImFileType IMB_FILE_TYPES[] = { .init = NULL, .exit = NULL, .is_a = imb_is_a_bmp, - .load = imb_bmp_decode, + .load = imb_load_bmp, .load_filepath = NULL, .load_filepath_thumbnail = NULL, - .save = imb_savebmp, + .save = imb_save_bmp, .flag = 0, .filetype = IMB_FTYPE_BMP, .default_save_role = COLOR_ROLE_DEFAULT_BYTE, @@ -64,11 +60,11 @@ const ImFileType IMB_FILE_TYPES[] = { { .init = NULL, .exit = NULL, - .is_a = imb_is_a_targa, - .load = imb_loadtarga, + .is_a = imb_is_a_tga, + .load = imb_load_tga, .load_filepath = NULL, .load_filepath_thumbnail = NULL, - .save = imb_savetarga, + .save = imb_save_tga, .flag = 0, .filetype = IMB_FTYPE_TGA, .default_save_role = COLOR_ROLE_DEFAULT_BYTE, @@ -85,7 +81,6 @@ const ImFileType IMB_FILE_TYPES[] = { .filetype = IMB_FTYPE_IMAGIC, .default_save_role = COLOR_ROLE_DEFAULT_BYTE, }, -#ifdef WITH_CINEON { .init = NULL, .exit = NULL, @@ -98,6 +93,7 @@ const ImFileType IMB_FILE_TYPES[] = { .filetype = IMB_FTYPE_DPX, .default_save_role = COLOR_ROLE_DEFAULT_FLOAT, }, +#ifdef WITH_CINEON { .init = NULL, .exit = NULL, @@ -111,34 +107,30 @@ const ImFileType IMB_FILE_TYPES[] = { .default_save_role = COLOR_ROLE_DEFAULT_FLOAT, }, #endif -#ifdef WITH_TIFF { - .init = imb_inittiff, + .init = NULL, .exit = NULL, .is_a = imb_is_a_tiff, - .load = imb_loadtiff, + .load = imb_load_tiff, .load_filepath = NULL, .load_filepath_thumbnail = NULL, - .save = imb_savetiff, + .save = imb_save_tiff, .flag = 0, .filetype = IMB_FTYPE_TIF, .default_save_role = COLOR_ROLE_DEFAULT_BYTE, }, -#endif -#ifdef WITH_HDR { .init = NULL, .exit = NULL, .is_a = imb_is_a_hdr, - .load = imb_loadhdr, + .load = imb_load_hdr, .load_filepath = NULL, .load_filepath_thumbnail = NULL, - .save = imb_savehdr, + .save = imb_save_hdr, .flag = IM_FTYPE_FLOAT, .filetype = IMB_FTYPE_RADHDR, .default_save_role = COLOR_ROLE_DEFAULT_FLOAT, }, -#endif #ifdef WITH_OPENEXR { .init = imb_initopenexr, @@ -167,7 +159,6 @@ const ImFileType IMB_FILE_TYPES[] = { .default_save_role = COLOR_ROLE_DEFAULT_BYTE, }, #endif -#ifdef WITH_DDS { .init = NULL, .exit = NULL, @@ -180,7 +171,6 @@ const ImFileType IMB_FILE_TYPES[] = { .filetype = IMB_FTYPE_DDS, .default_save_role = COLOR_ROLE_DEFAULT_BYTE, }, -#endif { .init = NULL, .exit = NULL, diff --git a/source/blender/imbuf/intern/format_bmp.cc b/source/blender/imbuf/intern/format_bmp.cc new file mode 100644 index 00000000000..b0a66e3a605 --- /dev/null +++ b/source/blender/imbuf/intern/format_bmp.cc @@ -0,0 +1,39 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "oiio/openimageio_support.hh" + +#include "IMB_filetype.h" +#include "IMB_imbuf_types.h" + +OIIO_NAMESPACE_USING +using namespace blender::imbuf; + +extern "C" { + +bool imb_is_a_bmp(const uchar *mem, size_t size) +{ + return imb_oiio_check(mem, size, "bmp"); +} + +ImBuf *imb_load_bmp(const uchar *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE]) +{ + ImageSpec config, spec; + + /* Keep historical behavior - do not use a 1-channel format for a black-white image. */ + config.attribute("bmp:monochrome_detect", 0); + + ReadContext ctx{mem, size, "bmp", IMB_FTYPE_BMP, flags}; + return imb_oiio_read(ctx, config, colorspace, spec); +} + +bool imb_save_bmp(struct ImBuf *ibuf, const char *filepath, int flags) +{ + const int file_channels = ibuf->planes >> 3; + const TypeDesc data_format = TypeDesc::UINT8; + + WriteContext ctx = imb_create_write_context("bmp", ibuf, flags, false); + ImageSpec file_spec = imb_create_write_spec(ctx, file_channels, data_format); + + return imb_oiio_write(ctx, filepath, file_spec); +} +} diff --git a/source/blender/imbuf/intern/format_dds.cc b/source/blender/imbuf/intern/format_dds.cc new file mode 100644 index 00000000000..dbebf93dd3c --- /dev/null +++ b/source/blender/imbuf/intern/format_dds.cc @@ -0,0 +1,319 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later AND BSD-3-Clause + * Copyright 2009 Google Inc. All rights reserved. (BSD-3-Clause) + * Copyright 2023 Blender Foundation (GPL-2.0-or-later). */ + +/** + * Some portions of this file are from the Chromium project and have been adapted + * for Blender use when flipping DDS images to the OpenGL convention. + */ + +#include +#include + +#include "oiio/openimageio_support.hh" + +#include "IMB_filetype.h" +#include "IMB_imbuf_types.h" + +#ifdef __BIG_ENDIAN__ +# include "BLI_endian_switch.h" +#endif + +OIIO_NAMESPACE_USING +using namespace blender::imbuf; + +using std::unique_ptr; + +extern "C" { + +static void LoadDXTCImage(ImBuf *ibuf, Filesystem::IOMemReader &mem_reader); + +bool imb_is_a_dds(const uchar *buf, size_t size) +{ + return imb_oiio_check(buf, size, "dds"); +} + +ImBuf *imb_load_dds(const uchar *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE]) +{ + ImageSpec config, spec; + ReadContext ctx{mem, size, "dds", IMB_FTYPE_DDS, flags}; + + ImBuf *ibuf = imb_oiio_read(ctx, config, colorspace, spec); + + /* Load compressed DDS information if available. */ + if (ibuf && (flags & IB_test) == 0) { + Filesystem::IOMemReader mem_reader(cspan(mem, size)); + LoadDXTCImage(ibuf, mem_reader); + } + + return ibuf; +} + +/* A function that flips a DXTC block. */ +using FlipBlockFunction = void (*)(uint8_t *block); + +/* Flips a full DXT1 block in the y direction. */ +static void FlipDXT1BlockFull(uint8_t *block) +{ + /* A DXT1 block layout is: + * [0-1] color0. + * [2-3] color1. + * [4-7] color bitmap, 2 bits per pixel. + * So each of the 4-7 bytes represents one line, flipping a block is just + * flipping those bytes. */ + uint8_t tmp = block[4]; + block[4] = block[7]; + block[7] = tmp; + tmp = block[5]; + block[5] = block[6]; + block[6] = tmp; +} + +/* Flips the first 2 lines of a DXT1 block in the y direction. */ +static void FlipDXT1BlockHalf(uint8_t *block) +{ + /* See layout above. */ + uint8_t tmp = block[4]; + block[4] = block[5]; + block[5] = tmp; +} + +/* Flips a full DXT3 block in the y direction. */ +static void FlipDXT3BlockFull(uint8_t *block) +{ + /* A DXT3 block layout is: + * [0-7] alpha bitmap, 4 bits per pixel. + * [8-15] a DXT1 block. */ + + /* We can flip the alpha bits at the byte level (2 bytes per line). */ + uint8_t tmp = block[0]; + + block[0] = block[6]; + block[6] = tmp; + tmp = block[1]; + block[1] = block[7]; + block[7] = tmp; + tmp = block[2]; + block[2] = block[4]; + block[4] = tmp; + tmp = block[3]; + block[3] = block[5]; + block[5] = tmp; + + /* And flip the DXT1 block using the above function. */ + FlipDXT1BlockFull(block + 8); +} + +/* Flips the first 2 lines of a DXT3 block in the y direction. */ +static void FlipDXT3BlockHalf(uint8_t *block) +{ + /* See layout above. */ + uint8_t tmp = block[0]; + + block[0] = block[2]; + block[2] = tmp; + tmp = block[1]; + block[1] = block[3]; + block[3] = tmp; + FlipDXT1BlockHalf(block + 8); +} + +/* Flips a full DXT5 block in the y direction. */ +static void FlipDXT5BlockFull(uint8_t *block) +{ + /* A DXT5 block layout is: + * [0] alpha0. + * [1] alpha1. + * [2-7] alpha bitmap, 3 bits per pixel. + * [8-15] a DXT1 block. */ + + /* The alpha bitmap doesn't easily map lines to bytes, so we have to + * interpret it correctly. Extracted from + * http://www.opengl.org/registry/specs/EXT/texture_compression_s3tc.txt : + * + * The 6 "bits" bytes of the block are decoded into one 48-bit integer: + * + * bits = bits_0 + 256 * (bits_1 + 256 * (bits_2 + 256 * (bits_3 + + * 256 * (bits_4 + 256 * bits_5)))) + * + * bits is a 48-bit unsigned-integer, from which a three-bit control code + * is extracted for a texel at location (x,y) in the block using: + * + * code(x,y) = bits[3*(4*y+x)+1..3*(4*y+x)+0] + * + * where bit 47 is the most significant and bit 0 is the least + * significant bit. */ + uint line_0_1 = block[2] + 256 * (block[3] + 256 * block[4]); + uint line_2_3 = block[5] + 256 * (block[6] + 256 * block[7]); + /* swap lines 0 and 1 in line_0_1. */ + uint line_1_0 = ((line_0_1 & 0x000fff) << 12) | ((line_0_1 & 0xfff000) >> 12); + /* swap lines 2 and 3 in line_2_3. */ + uint line_3_2 = ((line_2_3 & 0x000fff) << 12) | ((line_2_3 & 0xfff000) >> 12); + + block[2] = line_3_2 & 0xff; + block[3] = (line_3_2 & 0xff00) >> 8; + block[4] = (line_3_2 & 0xff0000) >> 16; + block[5] = line_1_0 & 0xff; + block[6] = (line_1_0 & 0xff00) >> 8; + block[7] = (line_1_0 & 0xff0000) >> 16; + + /* And flip the DXT1 block using the above function. */ + FlipDXT1BlockFull(block + 8); +} + +/* Flips the first 2 lines of a DXT5 block in the y direction. */ +static void FlipDXT5BlockHalf(uint8_t *block) +{ + /* See layout above. */ + uint line_0_1 = block[2] + 256 * (block[3] + 256 * block[4]); + uint line_1_0 = ((line_0_1 & 0x000fff) << 12) | ((line_0_1 & 0xfff000) >> 12); + block[2] = line_1_0 & 0xff; + block[3] = (line_1_0 & 0xff00) >> 8; + block[4] = (line_1_0 & 0xff0000) >> 16; + FlipDXT1BlockHalf(block + 8); +} + +/** + * Flips a DXTC image, by flipping and swapping DXTC blocks as appropriate. + * + * Use to flip vertically to fit OpenGL convention. + */ +static void FlipDXTCImage(ImBuf *ibuf) +{ + uint32_t width = ibuf->x; + uint32_t height = ibuf->y; + uint32_t levels = ibuf->dds_data.nummipmaps; + int fourcc = ibuf->dds_data.fourcc; + uint8_t *data = ibuf->dds_data.data; + int data_size = ibuf->dds_data.size; + + uint32_t *num_valid_levels = &ibuf->dds_data.nummipmaps; + *num_valid_levels = 0; + + /* Must have valid dimensions. */ + if (width == 0 || height == 0) { + return; + } + /* Height must be a power-of-two. */ + if ((height & (height - 1)) != 0) { + return; + } + + FlipBlockFunction full_block_function; + FlipBlockFunction half_block_function; + uint block_bytes = 0; + + switch (fourcc) { + case FOURCC_DXT1: + full_block_function = FlipDXT1BlockFull; + half_block_function = FlipDXT1BlockHalf; + block_bytes = 8; + break; + case FOURCC_DXT3: + full_block_function = FlipDXT3BlockFull; + half_block_function = FlipDXT3BlockHalf; + block_bytes = 16; + break; + case FOURCC_DXT5: + full_block_function = FlipDXT5BlockFull; + half_block_function = FlipDXT5BlockHalf; + block_bytes = 16; + break; + default: + return; + } + + *num_valid_levels = levels; + + uint mip_width = width; + uint mip_height = height; + + const uint8_t *data_end = data + data_size; + + for (uint i = 0; i < levels; i++) { + uint blocks_per_row = (mip_width + 3) / 4; + uint blocks_per_col = (mip_height + 3) / 4; + uint blocks = blocks_per_row * blocks_per_col; + + if (data + block_bytes * blocks > data_end) { + /* Stop flipping when running out of data to be modified, avoiding possible buffer overrun + * on a malformed files. */ + *num_valid_levels = i; + break; + } + + if (mip_height == 1) { + /* no flip to do, and we're done. */ + break; + } + if (mip_height == 2) { + /* flip the first 2 lines in each block. */ + for (uint i = 0; i < blocks_per_row; i++) { + half_block_function(data + i * block_bytes); + } + } + else { + /* flip each block. */ + for (uint i = 0; i < blocks; i++) { + full_block_function(data + i * block_bytes); + } + + /* Swap each block line in the first half of the image with the + * corresponding one in the second half. + * note that this is a no-op if mip_height is 4. */ + uint row_bytes = block_bytes * blocks_per_row; + uint8_t *temp_line = new uint8_t[row_bytes]; + + for (uint y = 0; y < blocks_per_col / 2; y++) { + uint8_t *line1 = data + y * row_bytes; + uint8_t *line2 = data + (blocks_per_col - y - 1) * row_bytes; + + memcpy(temp_line, line1, row_bytes); + memcpy(line1, line2, row_bytes); + memcpy(line2, temp_line, row_bytes); + } + + delete[] temp_line; + } + + /* mip levels are contiguous. */ + data += block_bytes * blocks; + mip_width = std::max(1U, mip_width >> 1); + mip_height = std::max(1U, mip_height >> 1); + } +} + +static void LoadDXTCImage(ImBuf *ibuf, Filesystem::IOMemReader &mem_reader) +{ + /* Reach into memory and pull out the pixel format flags and mipmap counts. This is safe if + * we've made it this far. */ + uint32_t flags = 0; + mem_reader.pread(&flags, sizeof(uint32_t), 8); + mem_reader.pread(&ibuf->dds_data.nummipmaps, sizeof(uint32_t), 28); + mem_reader.pread(&ibuf->dds_data.fourcc, sizeof(uint32_t), 84); + +#ifdef __BIG_ENDIAN__ + BLI_endian_switch_uint32(&ibuf->dds_data.nummipmaps); +#endif + + const uint32_t DDSD_MIPMAPCOUNT = 0x00020000U; + if ((flags & DDSD_MIPMAPCOUNT) == 0) { + ibuf->dds_data.nummipmaps = 1; + } + + /* Load the compressed data. */ + if (ibuf->dds_data.fourcc != FOURCC_DDS) { + uint32_t dds_header_size = 128; + if (ibuf->dds_data.fourcc == FOURCC_DX10) { + dds_header_size += 20; + } + + ibuf->dds_data.size = mem_reader.size() - dds_header_size; + ibuf->dds_data.data = (uchar *)malloc(ibuf->dds_data.size); + mem_reader.pread(ibuf->dds_data.data, ibuf->dds_data.size, dds_header_size); + + /* Flip compressed image data to match OpenGL convention. */ + FlipDXTCImage(ibuf); + } +} +} diff --git a/source/blender/imbuf/intern/format_dpx.cc b/source/blender/imbuf/intern/format_dpx.cc new file mode 100644 index 00000000000..f8a09e581a9 --- /dev/null +++ b/source/blender/imbuf/intern/format_dpx.cc @@ -0,0 +1,82 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "oiio/openimageio_support.hh" + +#include "IMB_colormanagement.h" +#include "IMB_filetype.h" +#include "IMB_imbuf_types.h" + +OIIO_NAMESPACE_USING +using namespace blender::imbuf; + +extern "C" { +bool imb_is_a_dpx(const uchar *mem, size_t size) +{ + return imb_oiio_check(mem, size, "dpx"); +} + +ImBuf *imb_load_dpx(const uchar *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE]) +{ + ImageSpec config, spec; + + ReadContext ctx{mem, size, "dpx", IMB_FTYPE_DPX, flags}; + + ctx.use_colorspace_role = COLOR_ROLE_DEFAULT_FLOAT; + + ImBuf *ibuf = imb_oiio_read(ctx, config, colorspace, spec); + if (ibuf) { + if (flags & IB_alphamode_detect) { + ibuf->flags |= IB_alphamode_premul; + } + } + + return ibuf; +} + +bool imb_save_dpx(struct ImBuf *ibuf, const char *filepath, int flags) +{ + int bits_per_sample = 8; + if (ibuf->foptions.flag & CINEON_10BIT) { + bits_per_sample = 10; + } + else if (ibuf->foptions.flag & CINEON_12BIT) { + bits_per_sample = 12; + } + else if (ibuf->foptions.flag & CINEON_16BIT) { + bits_per_sample = 16; + } + + const int file_channels = ibuf->planes >> 3; + const TypeDesc data_format = bits_per_sample == 8 ? TypeDesc::UINT8 : TypeDesc::UINT16; + + WriteContext ctx = imb_create_write_context("dpx", ibuf, flags); + ImageSpec file_spec = imb_create_write_spec(ctx, file_channels, data_format); + + const float max_value = powf(2, bits_per_sample) - 1.0f; + file_spec.attribute("oiio:BitsPerSample", bits_per_sample); + file_spec.attribute("dpx:WhiteLevel", 685.0f / 1023.0f * max_value); + file_spec.attribute("dpx:BlackLevel", 95.0f / 1023.0f * max_value); + file_spec.attribute("dpx:HighData", max_value); + file_spec.attribute("dpx:LowData", 0); + file_spec.attribute("dpx:LowQuantity", 0.0f); + + if (ibuf->foptions.flag & CINEON_LOG) { + /* VERIFY: This matches previous code but seems odd. Needs a comment if confirmed. */ + file_spec.attribute("dpx:Transfer", "Printing density"); + file_spec.attribute("dpx:HighQuantity", 2.048f); + } + else { + file_spec.attribute("dpx:Transfer", "Linear"); + file_spec.attribute("dpx:HighQuantity", max_value); + } + + if (ELEM(bits_per_sample, 8, 16)) { + file_spec.attribute("dpx:Packing", "Packed"); + } + else { + file_spec.attribute("dpx:Packing", "Filled, method A"); + } + + return imb_oiio_write(ctx, filepath, file_spec); +} +} diff --git a/source/blender/imbuf/intern/format_hdr.cc b/source/blender/imbuf/intern/format_hdr.cc new file mode 100644 index 00000000000..3378247361c --- /dev/null +++ b/source/blender/imbuf/intern/format_hdr.cc @@ -0,0 +1,50 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "oiio/openimageio_support.hh" + +#include "IMB_filetype.h" +#include "IMB_imbuf_types.h" + +OIIO_NAMESPACE_USING +using namespace blender::imbuf; + +extern "C" { + +bool imb_is_a_hdr(const uchar *mem, size_t size) +{ + return imb_oiio_check(mem, size, "hdr"); +} + +ImBuf *imb_load_hdr(const uchar *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE]) +{ + ImageSpec config, spec; + + ReadContext ctx{mem, size, "hdr", IMB_FTYPE_RADHDR, flags}; + + /* Always create ImBufs with a 4th alpha channel despite the format only supporting 3. */ + ctx.use_all_planes = true; + + ImBuf *ibuf = imb_oiio_read(ctx, config, colorspace, spec); + if (ibuf) { + if (flags & IB_alphamode_detect) { + ibuf->flags |= IB_alphamode_premul; + } + if (flags & IB_rect) { + IMB_rect_from_float(ibuf); + } + } + + return ibuf; +} + +bool imb_save_hdr(struct ImBuf *ibuf, const char *filepath, int flags) +{ + const int file_channels = 3; + const TypeDesc data_format = TypeDesc::FLOAT; + + WriteContext ctx = imb_create_write_context("hdr", ibuf, flags); + ImageSpec file_spec = imb_create_write_spec(ctx, file_channels, data_format); + + return imb_oiio_write(ctx, filepath, file_spec); +} +} diff --git a/source/blender/imbuf/intern/format_png.cc b/source/blender/imbuf/intern/format_png.cc new file mode 100644 index 00000000000..c00b7057588 --- /dev/null +++ b/source/blender/imbuf/intern/format_png.cc @@ -0,0 +1,62 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "oiio/openimageio_support.hh" + +#include "IMB_colormanagement.h" +#include "IMB_filetype.h" +#include "IMB_imbuf_types.h" + +OIIO_NAMESPACE_USING +using namespace blender::imbuf; + +extern "C" { + +bool imb_is_a_png(const uchar *mem, size_t size) +{ + return imb_oiio_check(mem, size, "png"); +} + +ImBuf *imb_load_png(const uchar *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE]) +{ + ImageSpec config, spec; + config.attribute("oiio:UnassociatedAlpha", 1); + + ReadContext ctx{mem, size, "png", IMB_FTYPE_PNG, flags}; + + /* Both 8 and 16 bit PNGs should be in default byte colorspace. */ + ctx.use_colorspace_role = COLOR_ROLE_DEFAULT_BYTE; + + ImBuf *ibuf = imb_oiio_read(ctx, config, colorspace, spec); + if (ibuf) { + if (spec.format == TypeDesc::UINT16) { + ibuf->flags |= PNG_16BIT; + } + } + + return ibuf; +} + +bool imb_save_png(struct ImBuf *ibuf, const char *filepath, int flags) +{ + const bool is_16bit = (ibuf->foptions.flag & PNG_16BIT); + const int file_channels = ibuf->planes >> 3; + const TypeDesc data_format = is_16bit ? TypeDesc::UINT16 : TypeDesc::UINT8; + + WriteContext ctx = imb_create_write_context("png", ibuf, flags, is_16bit); + ImageSpec file_spec = imb_create_write_spec(ctx, file_channels, data_format); + + /* Skip if the float buffer was managed already. */ + if (is_16bit && (ibuf->float_colorspace || (ibuf->colormanage_flag & IMB_COLORMANAGE_IS_DATA))) { + file_spec.attribute("oiio:UnassociatedAlpha", 0); + } + else { + file_spec.attribute("oiio:UnassociatedAlpha", 1); + } + + int compression = (int)((float)ibuf->foptions.quality / 11.1111f); + compression = compression < 0 ? 0 : (compression > 9 ? 9 : compression); + file_spec.attribute("png:compressionLevel", compression); + + return imb_oiio_write(ctx, filepath, file_spec); +} +} diff --git a/source/blender/imbuf/intern/format_targa.cc b/source/blender/imbuf/intern/format_targa.cc new file mode 100644 index 00000000000..f2b2f0dc617 --- /dev/null +++ b/source/blender/imbuf/intern/format_targa.cc @@ -0,0 +1,39 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "oiio/openimageio_support.hh" + +#include "IMB_filetype.h" +#include "IMB_imbuf_types.h" + +OIIO_NAMESPACE_USING +using namespace blender::imbuf; + +extern "C" { + +bool imb_is_a_tga(const uchar *mem, size_t size) +{ + return imb_oiio_check(mem, size, "tga"); +} + +ImBuf *imb_load_tga(const uchar *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE]) +{ + ImageSpec config, spec; + config.attribute("oiio:UnassociatedAlpha", 1); + + ReadContext ctx{mem, size, "tga", IMB_FTYPE_TGA, flags}; + return imb_oiio_read(ctx, config, colorspace, spec); +} + +bool imb_save_tga(struct ImBuf *ibuf, const char *filepath, int flags) +{ + const int file_channels = ibuf->planes >> 3; + const TypeDesc data_format = TypeDesc::UINT8; + + WriteContext ctx = imb_create_write_context("tga", ibuf, flags, false); + ImageSpec file_spec = imb_create_write_spec(ctx, file_channels, data_format); + file_spec.attribute("oiio:UnassociatedAlpha", 1); + file_spec.attribute("compression", (ibuf->foptions.flag & RAWTGA) ? "none" : "rle"); + + return imb_oiio_write(ctx, filepath, file_spec); +} +} diff --git a/source/blender/imbuf/intern/format_tiff.cc b/source/blender/imbuf/intern/format_tiff.cc new file mode 100644 index 00000000000..b779e3973de --- /dev/null +++ b/source/blender/imbuf/intern/format_tiff.cc @@ -0,0 +1,69 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "oiio/openimageio_support.hh" + +#include "IMB_colormanagement.h" +#include "IMB_filetype.h" +#include "IMB_imbuf_types.h" + +OIIO_NAMESPACE_USING +using namespace blender::imbuf; + +extern "C" { + +bool imb_is_a_tiff(const uchar *mem, size_t size) +{ + return imb_oiio_check(mem, size, "tif"); +} + +ImBuf *imb_load_tiff(const uchar *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE]) +{ + ImageSpec config, spec; + config.attribute("oiio:UnassociatedAlpha", 1); + + ReadContext ctx{mem, size, "tif", IMB_FTYPE_TIF, flags}; + + /* All TIFFs should be in default byte colorspace. */ + ctx.use_colorspace_role = COLOR_ROLE_DEFAULT_BYTE; + + ImBuf *ibuf = imb_oiio_read(ctx, config, colorspace, spec); + if (ibuf) { + if (flags & IB_alphamode_detect) { + if (spec.nchannels == 4 && spec.format == TypeDesc::UINT16) { + ibuf->flags |= IB_alphamode_premul; + } + } + } + + return ibuf; +} + +bool imb_save_tiff(struct ImBuf *ibuf, const char *filepath, int flags) +{ + const bool is_16bit = ((ibuf->foptions.flag & TIF_16BIT) && ibuf->rect_float); + const int file_channels = ibuf->planes >> 3; + const TypeDesc data_format = is_16bit ? TypeDesc::UINT16 : TypeDesc::UINT8; + + WriteContext ctx = imb_create_write_context("tif", ibuf, flags, is_16bit); + ImageSpec file_spec = imb_create_write_spec(ctx, file_channels, data_format); + + if (is_16bit && file_channels == 4) { + file_spec.attribute("oiio:UnassociatedAlpha", 0); + } + else { + file_spec.attribute("oiio:UnassociatedAlpha", 1); + } + + if (ibuf->foptions.flag & TIF_COMPRESS_DEFLATE) { + file_spec.attribute("compression", "zip"); + } + else if (ibuf->foptions.flag & TIF_COMPRESS_LZW) { + file_spec.attribute("compression", "lzw"); + } + else if (ibuf->foptions.flag & TIF_COMPRESS_PACKBITS) { + file_spec.attribute("compression", "packbits"); + } + + return imb_oiio_write(ctx, filepath, file_spec); +} +} diff --git a/source/blender/imbuf/intern/oiio/openimageio_support.cc b/source/blender/imbuf/intern/oiio/openimageio_support.cc index 6be6d94ae0d..b1395cefddd 100644 --- a/source/blender/imbuf/intern/oiio/openimageio_support.cc +++ b/source/blender/imbuf/intern/oiio/openimageio_support.cc @@ -1,6 +1,8 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */ #include "openimageio_support.hh" +#include +#include #include "BLI_blenlib.h" @@ -289,10 +291,19 @@ bool imb_oiio_write(const WriteContext &ctx, const char *filepath, const ImageSp return false; } - auto write_op = [&out, &ctx]() { - return out->write_image( - ctx.mem_format, ctx.mem_start, ctx.mem_xstride, -ctx.mem_ystride, AutoStride); - }; + ImageBuf orig_buf(ctx.mem_spec, ctx.mem_start, ctx.mem_xstride, -ctx.mem_ystride, AutoStride); + ImageBuf final_buf{}; + + /* Grayscale images need to be based on luminance weights rather than only + * using a single channel from the source. */ + if (file_spec.nchannels == 1) { + float weights[3]; + IMB_colormanagement_get_luminance_coefficients(weights); + ImageBufAlgo::channel_sum(final_buf, orig_buf, weights); + } + else { + final_buf = std::move(orig_buf); + } bool ok = false; if (ctx.flags & IB_mem) { @@ -302,11 +313,11 @@ bool imb_oiio_write(const WriteContext &ctx, const char *filepath, const ImageSp imb_addencodedbufferImBuf(ctx.ibuf); out->set_ioproxy(&writer); out->open("", file_spec); - ok = write_op(); + ok = final_buf.write(out.get()); } else { out->open(filepath, file_spec); - ok = write_op(); + ok = final_buf.write(out.get()); } out->close(); @@ -330,15 +341,15 @@ WriteContext imb_create_write_context(const char *file_format, const int mem_channels = ibuf->channels ? ibuf->channels : 4; ctx.mem_xstride = sizeof(float) * mem_channels; ctx.mem_ystride = width * ctx.mem_xstride; - ctx.mem_format = TypeDesc::FLOAT; ctx.mem_start = reinterpret_cast(ibuf->rect_float); + ctx.mem_spec = ImageSpec(width, height, mem_channels, TypeDesc::FLOAT); } else { const int mem_channels = 4; ctx.mem_xstride = sizeof(uchar) * mem_channels; ctx.mem_ystride = width * ctx.mem_xstride; - ctx.mem_format = TypeDesc::UINT8; ctx.mem_start = reinterpret_cast(ibuf->rect); + ctx.mem_spec = ImageSpec(width, height, mem_channels, TypeDesc::UINT8); } /* We always write using a negative y-stride so ensure we start at the end. */ diff --git a/source/blender/imbuf/intern/oiio/openimageio_support.hh b/source/blender/imbuf/intern/oiio/openimageio_support.hh index f6bf8bda9bc..0910910826a 100644 --- a/source/blender/imbuf/intern/oiio/openimageio_support.hh +++ b/source/blender/imbuf/intern/oiio/openimageio_support.hh @@ -40,13 +40,12 @@ struct ReadContext { struct WriteContext { const char *file_format; ImBuf *ibuf; + int flags; + uchar *mem_start; OIIO::stride_t mem_xstride; OIIO::stride_t mem_ystride; - OIIO::TypeDesc mem_format; - uchar *mem_start; - - int flags; + OIIO::ImageSpec mem_spec; }; /** diff --git a/source/blender/imbuf/intern/png.c b/source/blender/imbuf/intern/png.c deleted file mode 100644 index 1736329cbff..00000000000 --- a/source/blender/imbuf/intern/png.c +++ /dev/null @@ -1,814 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later - * Copyright 2001-2002 NaN Holding BV. All rights reserved. */ - -/** \file - * \ingroup imbuf - * - * \todo Save floats as 16 bits per channel, currently readonly. - */ - -#include - -#include "BLI_fileops.h" -#include "BLI_math.h" -#include "BLI_utildefines.h" - -#include "BKE_global.h" -#include "BKE_idprop.h" - -#include "DNA_ID.h" /* ID property definitions. */ - -#include "MEM_guardedalloc.h" - -#include "IMB_imbuf.h" -#include "IMB_imbuf_types.h" - -#include "IMB_allocimbuf.h" -#include "IMB_filetype.h" -#include "IMB_metadata.h" - -#include "IMB_colormanagement.h" -#include "IMB_colormanagement_intern.h" - -typedef struct PNGReadStruct { - const uchar *data; - uint size; - uint seek; -} PNGReadStruct; - -static void ReadData(png_structp png_ptr, png_bytep data, png_size_t length); -static void WriteData(png_structp png_ptr, png_bytep data, png_size_t length); -static void Flush(png_structp png_ptr); - -BLI_INLINE ushort UPSAMPLE_8_TO_16(const uchar _val) -{ - return (_val << 8) + _val; -} - -bool imb_is_a_png(const uchar *mem, size_t size) -{ - const int num_to_check = 8; - if (size < num_to_check) { - return false; - } - bool ok = false; - -#if (PNG_LIBPNG_VER_MAJOR == 1) && (PNG_LIBPNG_VER_MINOR == 2) - /* Older version of libpng doesn't use const pointer to memory. */ - ok = !png_sig_cmp((png_bytep)mem, 0, num_to_check); -#else - ok = !png_sig_cmp(mem, 0, num_to_check); -#endif - return ok; -} - -static void Flush(png_structp png_ptr) -{ - (void)png_ptr; -} - -static void WriteData(png_structp png_ptr, png_bytep data, png_size_t length) -{ - ImBuf *ibuf = (ImBuf *)png_get_io_ptr(png_ptr); - - /* if buffer is too small increase it. */ - while (ibuf->encodedsize + length > ibuf->encodedbuffersize) { - imb_enlargeencodedbufferImBuf(ibuf); - } - - memcpy(ibuf->encodedbuffer + ibuf->encodedsize, data, length); - ibuf->encodedsize += length; -} - -static void ReadData(png_structp png_ptr, png_bytep data, png_size_t length) -{ - PNGReadStruct *rs = (PNGReadStruct *)png_get_io_ptr(png_ptr); - - if (rs) { - if (length <= rs->size - rs->seek) { - memcpy(data, rs->data + rs->seek, length); - rs->seek += length; - return; - } - } - - printf("Reached EOF while decoding PNG\n"); - longjmp(png_jmpbuf(png_ptr), 1); -} - -static float channel_colormanage_noop(float value) -{ - return value; -} - -/* wrap to avoid macro calling functions multiple times */ -BLI_INLINE ushort ftoshort(float val) -{ - return unit_float_to_ushort_clamp(val); -} - -bool imb_savepng(struct ImBuf *ibuf, const char *filepath, int flags) -{ - png_structp png_ptr; - png_infop info_ptr; - - uchar *pixels = NULL; - uchar *from, *to; - ushort *pixels16 = NULL, *to16; - float *from_float, from_straight[4]; - png_bytepp row_pointers = NULL; - int i, bytesperpixel, color_type = PNG_COLOR_TYPE_GRAY; - FILE *fp = NULL; - - bool is_16bit = (ibuf->foptions.flag & PNG_16BIT) != 0; - bool has_float = (ibuf->rect_float != NULL); - int channels_in_float = ibuf->channels ? ibuf->channels : 4; - - float (*chanel_colormanage_cb)(float); - size_t num_bytes; - - /* use the jpeg quality setting for compression */ - int compression; - compression = (int)((float)(ibuf->foptions.quality) / 11.1111f); - compression = compression < 0 ? 0 : (compression > 9 ? 9 : compression); - - if (ibuf->float_colorspace || (ibuf->colormanage_flag & IMB_COLORMANAGE_IS_DATA)) { - /* float buffer was managed already, no need in color space conversion */ - chanel_colormanage_cb = channel_colormanage_noop; - } - else { - /* Standard linear-to-SRGB conversion if float buffer wasn't managed. */ - chanel_colormanage_cb = linearrgb_to_srgb; - } - - /* for prints */ - if (flags & IB_mem) { - filepath = ""; - } - - bytesperpixel = (ibuf->planes + 7) >> 3; - if ((bytesperpixel > 4) || (bytesperpixel == 2)) { - printf( - "imb_savepng: Unsupported bytes per pixel: %d for file: '%s'\n", bytesperpixel, filepath); - return 0; - } - - png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); - if (png_ptr == NULL) { - printf("imb_savepng: Cannot png_create_write_struct for file: '%s'\n", filepath); - return 0; - } - - info_ptr = png_create_info_struct(png_ptr); - if (info_ptr == NULL) { - png_destroy_write_struct(&png_ptr, (png_infopp)NULL); - printf("imb_savepng: Cannot png_create_info_struct for file: '%s'\n", filepath); - return 0; - } - - /* copy image data */ - num_bytes = ((size_t)ibuf->x) * ibuf->y * bytesperpixel; - if (is_16bit) { - pixels16 = MEM_mallocN(num_bytes * sizeof(ushort), "png 16bit pixels"); - } - else { - pixels = MEM_mallocN(num_bytes * sizeof(uchar), "png 8bit pixels"); - } - if (pixels == NULL && pixels16 == NULL) { - printf( - "imb_savepng: Cannot allocate pixels array of %dx%d, %d bytes per pixel for file: " - "'%s'\n", - ibuf->x, - ibuf->y, - bytesperpixel, - filepath); - } - - /* allocate memory for an array of row-pointers */ - row_pointers = (png_bytepp)MEM_mallocN(ibuf->y * sizeof(png_bytep), "row_pointers"); - if (row_pointers == NULL) { - printf("imb_savepng: Cannot allocate row-pointers array for file '%s'\n", filepath); - } - - if ((pixels == NULL && pixels16 == NULL) || (row_pointers == NULL) || - setjmp(png_jmpbuf(png_ptr))) { - /* On error jump here, and free any resources. */ - png_destroy_write_struct(&png_ptr, &info_ptr); - if (pixels) { - MEM_freeN(pixels); - } - if (pixels16) { - MEM_freeN(pixels16); - } - if (row_pointers) { - MEM_freeN(row_pointers); - } - if (fp) { - fflush(fp); - fclose(fp); - } - return 0; - } - - from = (uchar *)ibuf->rect; - to = pixels; - from_float = ibuf->rect_float; - to16 = pixels16; - - switch (bytesperpixel) { - case 4: - color_type = PNG_COLOR_TYPE_RGBA; - if (is_16bit) { - if (has_float) { - if (channels_in_float == 4) { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - premul_to_straight_v4_v4(from_straight, from_float); - to16[0] = ftoshort(chanel_colormanage_cb(from_straight[0])); - to16[1] = ftoshort(chanel_colormanage_cb(from_straight[1])); - to16[2] = ftoshort(chanel_colormanage_cb(from_straight[2])); - to16[3] = ftoshort(chanel_colormanage_cb(from_straight[3])); - to16 += 4; - from_float += 4; - } - } - else if (channels_in_float == 3) { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - to16[0] = ftoshort(chanel_colormanage_cb(from_float[0])); - to16[1] = ftoshort(chanel_colormanage_cb(from_float[1])); - to16[2] = ftoshort(chanel_colormanage_cb(from_float[2])); - to16[3] = 65535; - to16 += 4; - from_float += 3; - } - } - else { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - to16[0] = ftoshort(chanel_colormanage_cb(from_float[0])); - to16[2] = to16[1] = to16[0]; - to16[3] = 65535; - to16 += 4; - from_float++; - } - } - } - else { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - to16[0] = UPSAMPLE_8_TO_16(from[0]); - to16[1] = UPSAMPLE_8_TO_16(from[1]); - to16[2] = UPSAMPLE_8_TO_16(from[2]); - to16[3] = UPSAMPLE_8_TO_16(from[3]); - to16 += 4; - from += 4; - } - } - } - else { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - to[0] = from[0]; - to[1] = from[1]; - to[2] = from[2]; - to[3] = from[3]; - to += 4; - from += 4; - } - } - break; - case 3: - color_type = PNG_COLOR_TYPE_RGB; - if (is_16bit) { - if (has_float) { - if (channels_in_float == 4) { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - premul_to_straight_v4_v4(from_straight, from_float); - to16[0] = ftoshort(chanel_colormanage_cb(from_straight[0])); - to16[1] = ftoshort(chanel_colormanage_cb(from_straight[1])); - to16[2] = ftoshort(chanel_colormanage_cb(from_straight[2])); - to16 += 3; - from_float += 4; - } - } - else if (channels_in_float == 3) { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - to16[0] = ftoshort(chanel_colormanage_cb(from_float[0])); - to16[1] = ftoshort(chanel_colormanage_cb(from_float[1])); - to16[2] = ftoshort(chanel_colormanage_cb(from_float[2])); - to16 += 3; - from_float += 3; - } - } - else { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - to16[0] = ftoshort(chanel_colormanage_cb(from_float[0])); - to16[2] = to16[1] = to16[0]; - to16 += 3; - from_float++; - } - } - } - else { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - to16[0] = UPSAMPLE_8_TO_16(from[0]); - to16[1] = UPSAMPLE_8_TO_16(from[1]); - to16[2] = UPSAMPLE_8_TO_16(from[2]); - to16 += 3; - from += 4; - } - } - } - else { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - to[0] = from[0]; - to[1] = from[1]; - to[2] = from[2]; - to += 3; - from += 4; - } - } - break; - case 1: - color_type = PNG_COLOR_TYPE_GRAY; - if (is_16bit) { - if (has_float) { - float rgb[3]; - if (channels_in_float == 4) { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - premul_to_straight_v4_v4(from_straight, from_float); - rgb[0] = chanel_colormanage_cb(from_straight[0]); - rgb[1] = chanel_colormanage_cb(from_straight[1]); - rgb[2] = chanel_colormanage_cb(from_straight[2]); - to16[0] = ftoshort(IMB_colormanagement_get_luminance(rgb)); - to16++; - from_float += 4; - } - } - else if (channels_in_float == 3) { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - rgb[0] = chanel_colormanage_cb(from_float[0]); - rgb[1] = chanel_colormanage_cb(from_float[1]); - rgb[2] = chanel_colormanage_cb(from_float[2]); - to16[0] = ftoshort(IMB_colormanagement_get_luminance(rgb)); - to16++; - from_float += 3; - } - } - else { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - to16[0] = ftoshort(chanel_colormanage_cb(from_float[0])); - to16++; - from_float++; - } - } - } - else { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - to16[0] = UPSAMPLE_8_TO_16(from[0]); - to16++; - from += 4; - } - } - } - else { - for (i = ibuf->x * ibuf->y; i > 0; i--) { - to[0] = from[0]; - to++; - from += 4; - } - } - break; - } - - if (flags & IB_mem) { - /* create image in memory */ - imb_addencodedbufferImBuf(ibuf); - ibuf->encodedsize = 0; - - png_set_write_fn(png_ptr, (png_voidp)ibuf, WriteData, Flush); - } - else { - fp = BLI_fopen(filepath, "wb"); - if (!fp) { - png_destroy_write_struct(&png_ptr, &info_ptr); - if (pixels) { - MEM_freeN(pixels); - } - if (pixels16) { - MEM_freeN(pixels16); - } - MEM_freeN(row_pointers); - printf("imb_savepng: Cannot open file for writing: '%s'\n", filepath); - return 0; - } - png_init_io(png_ptr, fp); - } - -#if 0 - png_set_filter(png_ptr, - 0, - PNG_FILTER_NONE | PNG_FILTER_VALUE_NONE | PNG_FILTER_SUB | PNG_FILTER_VALUE_SUB | - PNG_FILTER_UP | PNG_FILTER_VALUE_UP | PNG_FILTER_AVG | PNG_FILTER_VALUE_AVG | - PNG_FILTER_PAETH | PNG_FILTER_VALUE_PAETH | PNG_ALL_FILTERS); -#endif - - png_set_compression_level(png_ptr, compression); - - /* png image settings */ - png_set_IHDR(png_ptr, - info_ptr, - ibuf->x, - ibuf->y, - is_16bit ? 16 : 8, - color_type, - PNG_INTERLACE_NONE, - PNG_COMPRESSION_TYPE_DEFAULT, - PNG_FILTER_TYPE_DEFAULT); - - /* image text info */ - if (ibuf->metadata) { - png_text *metadata; - IDProperty *prop; - - int num_text = 0; - - for (prop = ibuf->metadata->data.group.first; prop; prop = prop->next) { - if (prop->type == IDP_STRING) { - num_text++; - } - } - - metadata = MEM_callocN(num_text * sizeof(png_text), "png_metadata"); - num_text = 0; - for (prop = ibuf->metadata->data.group.first; prop; prop = prop->next) { - if (prop->type == IDP_STRING) { - metadata[num_text].compression = PNG_TEXT_COMPRESSION_NONE; - metadata[num_text].key = prop->name; - metadata[num_text].text = IDP_String(prop); - num_text++; - } - } - - png_set_text(png_ptr, info_ptr, metadata, num_text); - MEM_freeN(metadata); - } - - if (ibuf->ppm[0] > 0.0 && ibuf->ppm[1] > 0.0) { - png_set_pHYs(png_ptr, - info_ptr, - (uint)(ibuf->ppm[0] + 0.5), - (uint)(ibuf->ppm[1] + 0.5), - PNG_RESOLUTION_METER); - } - - /* write the file header information */ - png_write_info(png_ptr, info_ptr); - -#ifdef __LITTLE_ENDIAN__ - png_set_swap(png_ptr); -#endif - - /* set the individual row-pointers to point at the correct offsets */ - if (is_16bit) { - for (i = 0; i < ibuf->y; i++) { - row_pointers[ibuf->y - 1 - i] = (png_bytep)((ushort *)pixels16 + - (((size_t)i) * ibuf->x) * bytesperpixel); - } - } - else { - for (i = 0; i < ibuf->y; i++) { - row_pointers[ibuf->y - 1 - i] = (png_bytep)((uchar *)pixels + (((size_t)i) * ibuf->x) * - bytesperpixel * - sizeof(uchar)); - } - } - - /* write out the entire image data in one call */ - png_write_image(png_ptr, row_pointers); - - /* write the additional chunks to the PNG file (not really needed) */ - png_write_end(png_ptr, info_ptr); - - /* clean up */ - if (pixels) { - MEM_freeN(pixels); - } - if (pixels16) { - MEM_freeN(pixels16); - } - MEM_freeN(row_pointers); - png_destroy_write_struct(&png_ptr, &info_ptr); - - if (fp) { - fflush(fp); - fclose(fp); - } - - return 1; -} - -static void imb_png_warning(png_structp UNUSED(png_ptr), png_const_charp message) -{ - /* We suppress iCCP warnings. That's how Blender always used to behave, - * and with new libpng it became too much picky, giving a warning on - * the splash screen even. - */ - if ((G.debug & G_DEBUG) == 0 && STRPREFIX(message, "iCCP")) { - return; - } - fprintf(stderr, "libpng warning: %s\n", message); -} - -static void imb_png_error(png_structp UNUSED(png_ptr), png_const_charp message) -{ - fprintf(stderr, "libpng error: %s\n", message); -} - -ImBuf *imb_loadpng(const uchar *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE]) -{ - struct ImBuf *ibuf = NULL; - png_structp png_ptr; - png_infop info_ptr; - uchar *pixels = NULL; - ushort *pixels16 = NULL; - png_bytepp row_pointers = NULL; - png_uint_32 width, height; - int bit_depth, color_type; - PNGReadStruct ps; - - uchar *from, *to; - ushort *from16; - float *to_float; - uint channels; - - if (imb_is_a_png(mem, size) == 0) { - return NULL; - } - - /* both 8 and 16 bit PNGs are default to standard byte colorspace */ - colorspace_set_default_role(colorspace, IM_MAX_SPACE, COLOR_ROLE_DEFAULT_BYTE); - - png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); - if (png_ptr == NULL) { - printf("Cannot png_create_read_struct\n"); - return NULL; - } - - png_set_error_fn(png_ptr, NULL, imb_png_error, imb_png_warning); - - info_ptr = png_create_info_struct(png_ptr); - if (info_ptr == NULL) { - png_destroy_read_struct(&png_ptr, (png_infopp)NULL, (png_infopp)NULL); - printf("Cannot png_create_info_struct\n"); - return NULL; - } - - ps.size = size; /* XXX, 4gig limit! */ - ps.data = mem; - ps.seek = 0; - - png_set_read_fn(png_ptr, (void *)&ps, ReadData); - - if (setjmp(png_jmpbuf(png_ptr))) { - /* On error jump here, and free any resources. */ - png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); - if (pixels) { - MEM_freeN(pixels); - } - if (pixels16) { - MEM_freeN(pixels16); - } - if (row_pointers) { - MEM_freeN(row_pointers); - } - if (ibuf) { - IMB_freeImBuf(ibuf); - } - return NULL; - } - - // png_set_sig_bytes(png_ptr, 8); - - png_read_info(png_ptr, info_ptr); - png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, NULL, NULL, NULL); - - channels = png_get_channels(png_ptr, info_ptr); - - switch (color_type) { - case PNG_COLOR_TYPE_RGB: - case PNG_COLOR_TYPE_RGB_ALPHA: - break; - case PNG_COLOR_TYPE_PALETTE: - png_set_palette_to_rgb(png_ptr); - if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) { - channels = 4; - } - else { - channels = 3; - } - break; - case PNG_COLOR_TYPE_GRAY: - case PNG_COLOR_TYPE_GRAY_ALPHA: - if (bit_depth < 8) { - png_set_expand(png_ptr); - bit_depth = 8; - if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) { - /* PNG_COLOR_TYPE_GRAY may also have alpha 'values', like with palette. */ - channels = 2; - } - } - break; - default: - printf("PNG format not supported\n"); - longjmp(png_jmpbuf(png_ptr), 1); - } - - ibuf = IMB_allocImBuf(width, height, 8 * channels, 0); - - if (ibuf) { - ibuf->ftype = IMB_FTYPE_PNG; - if (bit_depth == 16) { - ibuf->foptions.flag |= PNG_16BIT; - } - - if (png_get_valid(png_ptr, info_ptr, PNG_INFO_pHYs)) { - int unit_type; - png_uint_32 xres, yres; - - if (png_get_pHYs(png_ptr, info_ptr, &xres, &yres, &unit_type)) { - if (unit_type == PNG_RESOLUTION_METER) { - ibuf->ppm[0] = xres; - ibuf->ppm[1] = yres; - } - } - } - } - else { - printf("Couldn't allocate memory for PNG image\n"); - } - - if (ibuf && ((flags & IB_test) == 0)) { - if (bit_depth == 16) { - imb_addrectfloatImBuf(ibuf, 4); - png_set_swap(png_ptr); - - pixels16 = imb_alloc_pixels(ibuf->x, ibuf->y, channels, sizeof(png_uint_16), "pixels"); - if (pixels16 == NULL || ibuf->rect_float == NULL) { - printf("Cannot allocate pixels array\n"); - longjmp(png_jmpbuf(png_ptr), 1); - } - - /* allocate memory for an array of row-pointers */ - row_pointers = (png_bytepp)MEM_mallocN((size_t)ibuf->y * sizeof(png_uint_16p), - "row_pointers"); - if (row_pointers == NULL) { - printf("Cannot allocate row-pointers array\n"); - longjmp(png_jmpbuf(png_ptr), 1); - } - - /* set the individual row-pointers to point at the correct offsets */ - for (size_t i = 0; i < ibuf->y; i++) { - row_pointers[ibuf->y - 1 - i] = (png_bytep)((png_uint_16 *)pixels16 + - (i * ibuf->x) * channels); - } - - png_read_image(png_ptr, row_pointers); - - /* copy image data */ - - to_float = ibuf->rect_float; - from16 = pixels16; - - switch (channels) { - case 4: - for (size_t i = (size_t)ibuf->x * (size_t)ibuf->y; i > 0; i--) { - to_float[0] = from16[0] / 65535.0; - to_float[1] = from16[1] / 65535.0; - to_float[2] = from16[2] / 65535.0; - to_float[3] = from16[3] / 65535.0; - to_float += 4; - from16 += 4; - } - break; - case 3: - for (size_t i = (size_t)ibuf->x * (size_t)ibuf->y; i > 0; i--) { - to_float[0] = from16[0] / 65535.0; - to_float[1] = from16[1] / 65535.0; - to_float[2] = from16[2] / 65535.0; - to_float[3] = 1.0; - to_float += 4; - from16 += 3; - } - break; - case 2: - for (size_t i = (size_t)ibuf->x * (size_t)ibuf->y; i > 0; i--) { - to_float[0] = to_float[1] = to_float[2] = from16[0] / 65535.0; - to_float[3] = from16[1] / 65535.0; - to_float += 4; - from16 += 2; - } - break; - case 1: - for (size_t i = (size_t)ibuf->x * (size_t)ibuf->y; i > 0; i--) { - to_float[0] = to_float[1] = to_float[2] = from16[0] / 65535.0; - to_float[3] = 1.0; - to_float += 4; - from16++; - } - break; - } - } - else { - imb_addrectImBuf(ibuf); - - pixels = imb_alloc_pixels(ibuf->x, ibuf->y, channels, sizeof(uchar), "pixels"); - if (pixels == NULL || ibuf->rect == NULL) { - printf("Cannot allocate pixels array\n"); - longjmp(png_jmpbuf(png_ptr), 1); - } - - /* allocate memory for an array of row-pointers */ - row_pointers = (png_bytepp)MEM_mallocN((size_t)ibuf->y * sizeof(png_bytep), "row_pointers"); - if (row_pointers == NULL) { - printf("Cannot allocate row-pointers array\n"); - longjmp(png_jmpbuf(png_ptr), 1); - } - - /* set the individual row-pointers to point at the correct offsets */ - for (int i = 0; i < ibuf->y; i++) { - row_pointers[ibuf->y - 1 - i] = (png_bytep)((uchar *)pixels + (((size_t)i) * ibuf->x) * - channels * - sizeof(uchar)); - } - - png_read_image(png_ptr, row_pointers); - - /* copy image data */ - - to = (uchar *)ibuf->rect; - from = pixels; - - switch (channels) { - case 4: - for (size_t i = (size_t)ibuf->x * (size_t)ibuf->y; i > 0; i--) { - to[0] = from[0]; - to[1] = from[1]; - to[2] = from[2]; - to[3] = from[3]; - to += 4; - from += 4; - } - break; - case 3: - for (size_t i = (size_t)ibuf->x * (size_t)ibuf->y; i > 0; i--) { - to[0] = from[0]; - to[1] = from[1]; - to[2] = from[2]; - to[3] = 0xff; - to += 4; - from += 3; - } - break; - case 2: - for (size_t i = (size_t)ibuf->x * (size_t)ibuf->y; i > 0; i--) { - to[0] = to[1] = to[2] = from[0]; - to[3] = from[1]; - to += 4; - from += 2; - } - break; - case 1: - for (size_t i = (size_t)ibuf->x * (size_t)ibuf->y; i > 0; i--) { - to[0] = to[1] = to[2] = from[0]; - to[3] = 0xff; - to += 4; - from++; - } - break; - } - } - - if (flags & IB_metadata) { - png_text *text_chunks; - int count = png_get_text(png_ptr, info_ptr, &text_chunks, NULL); - IMB_metadata_ensure(&ibuf->metadata); - for (int i = 0; i < count; i++) { - IMB_metadata_set_field(ibuf->metadata, text_chunks[i].key, text_chunks[i].text); - ibuf->flags |= IB_metadata; - } - } - - png_read_end(png_ptr, info_ptr); - } - - /* clean up */ - if (pixels) { - MEM_freeN(pixels); - } - if (pixels16) { - MEM_freeN(pixels16); - } - if (row_pointers) { - MEM_freeN(row_pointers); - } - png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); - - return ibuf; -} diff --git a/source/blender/imbuf/intern/radiance_hdr.c b/source/blender/imbuf/intern/radiance_hdr.c deleted file mode 100644 index 00ef12a54f8..00000000000 --- a/source/blender/imbuf/intern/radiance_hdr.c +++ /dev/null @@ -1,438 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -/** \file - * \ingroup imbuf - * Radiance High Dynamic Range image file IO - * For description and code for reading/writing of radiance hdr files - * by Greg Ward, refer to: - * http://radsite.lbl.gov/radiance/refer/Notes/picture_format.html - */ - -#include "MEM_guardedalloc.h" - -#include "BLI_fileops.h" -#include "BLI_utildefines.h" - -#include "imbuf.h" - -#include "IMB_imbuf.h" -#include "IMB_imbuf_types.h" - -#include "IMB_allocimbuf.h" -#include "IMB_filetype.h" - -#include "IMB_colormanagement.h" -#include "IMB_colormanagement_intern.h" - -/* needed constants */ -#define MINELEN 8 -#define MAXELEN 0x7fff -#define MINRUN 4 /* minimum run length */ -#define RED 0 -#define GRN 1 -#define BLU 2 -#define EXP 3 -#define COLXS 128 -typedef uchar RGBE[4]; -typedef float fCOLOR[3]; - -/* copy source -> dest */ -#define COPY_RGBE(c1, c2) \ - (c2[RED] = c1[RED], c2[GRN] = c1[GRN], c2[BLU] = c1[BLU], c2[EXP] = c1[EXP]) - -/* read routines */ -static const uchar *oldreadcolrs(RGBE *scan, const uchar *mem, int xmax, const uchar *mem_eof) -{ - size_t i, rshift = 0, len = xmax; - while (len > 0) { - if (UNLIKELY(mem_eof - mem < 4)) { - return NULL; - } - scan[0][RED] = *mem++; - scan[0][GRN] = *mem++; - scan[0][BLU] = *mem++; - scan[0][EXP] = *mem++; - if (scan[0][RED] == 1 && scan[0][GRN] == 1 && scan[0][BLU] == 1) { - for (i = scan[0][EXP] << rshift; i > 0 && len > 0; i--) { - COPY_RGBE(scan[-1], scan[0]); - scan++; - len--; - } - rshift += 8; - } - else { - scan++; - len--; - rshift = 0; - } - } - return mem; -} - -static const uchar *freadcolrs(RGBE *scan, const uchar *mem, int xmax, const uchar *mem_eof) -{ - if (UNLIKELY(mem_eof - mem < 4)) { - return NULL; - } - - if (UNLIKELY((xmax < MINELEN) | (xmax > MAXELEN))) { - return oldreadcolrs(scan, mem, xmax, mem_eof); - } - - int val = *mem++; - if (val != 2) { - return oldreadcolrs(scan, mem - 1, xmax, mem_eof); - } - - scan[0][GRN] = *mem++; - scan[0][BLU] = *mem++; - - val = *mem++; - - if (scan[0][GRN] != 2 || scan[0][BLU] & 128) { - scan[0][RED] = 2; - scan[0][EXP] = val; - return oldreadcolrs(scan + 1, mem, xmax - 1, mem_eof); - } - - if (UNLIKELY(((scan[0][BLU] << 8) | val) != xmax)) { - return NULL; - } - - for (size_t i = 0; i < 4; i++) { - if (UNLIKELY(mem_eof - mem < 2)) { - return NULL; - } - for (size_t j = 0; j < xmax;) { - int code = *mem++; - if (code > 128) { - code &= 127; - if (UNLIKELY(code + j > xmax)) { - return NULL; - } - val = *mem++; - while (code--) { - scan[j++][i] = (uchar)val; - } - } - else { - if (UNLIKELY(mem_eof - mem < code)) { - return NULL; - } - if (UNLIKELY(code + j > xmax)) { - return NULL; - } - while (code--) { - scan[j++][i] = *mem++; - } - } - } - } - - return mem; -} - -/* helper functions */ - -/* rgbe -> float color */ -static void RGBE2FLOAT(RGBE rgbe, fCOLOR fcol) -{ - if (rgbe[EXP] == 0) { - fcol[RED] = fcol[GRN] = fcol[BLU] = 0; - } - else { - float f = ldexp(1.0, rgbe[EXP] - (COLXS + 8)); - fcol[RED] = f * (rgbe[RED] + 0.5f); - fcol[GRN] = f * (rgbe[GRN] + 0.5f); - fcol[BLU] = f * (rgbe[BLU] + 0.5f); - } -} - -/* float color -> rgbe */ -static void FLOAT2RGBE(const fCOLOR fcol, RGBE rgbe) -{ - int e; - float d = (fcol[RED] > fcol[GRN]) ? fcol[RED] : fcol[GRN]; - if (fcol[BLU] > d) { - d = fcol[BLU]; - } - if (d <= 1e-32f) { - rgbe[RED] = rgbe[GRN] = rgbe[BLU] = rgbe[EXP] = 0; - } - else { - d = (float)frexp(d, &e) * 256.0f / d; - rgbe[RED] = (uchar)(fcol[RED] * d); - rgbe[GRN] = (uchar)(fcol[GRN] * d); - rgbe[BLU] = (uchar)(fcol[BLU] * d); - rgbe[EXP] = (uchar)(e + COLXS); - } -} - -/* ImBuf read */ - -bool imb_is_a_hdr(const uchar *buf, const size_t size) -{ - /* NOTE: `#?RADIANCE` is used by other programs such as `ImageMagik`, - * Although there are some files in the wild that only use `#?` (from looking online). - * If this is ever a problem we could check for the longer header since this is part of the spec. - * - * We could check `32-bit_rle_rgbe` or `32-bit_rle_xyze` too since this is part of the format. - * Currently this isn't needed. - * - * See: http://paulbourke.net/dataformats/pic/ - */ - const uchar magic[2] = {'#', '?'}; - if (size < sizeof(magic)) { - return false; - } - return memcmp(buf, magic, sizeof(magic)) == 0; -} - -struct ImBuf *imb_loadhdr(const uchar *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE]) -{ - struct ImBuf *ibuf; - RGBE *sline; - fCOLOR fcol; - float *rect_float; - int found = 0; - int width = 0, height = 0; - const uchar *ptr, *mem_eof = mem + size; - char oriY[3], oriX[3]; - - if (!imb_is_a_hdr(mem, size)) { - return NULL; - } - - colorspace_set_default_role(colorspace, IM_MAX_SPACE, COLOR_ROLE_DEFAULT_FLOAT); - - /* find empty line, next line is resolution info */ - size_t x; - for (x = 1; x < size; x++) { - if ((mem[x - 1] == '\n') && (mem[x] == '\n')) { - found = 1; - break; - } - } - - if ((found && (x < (size - 1))) == 0) { - /* Data not found! */ - return NULL; - } - - x++; - - /* sscanf requires a null-terminated buffer argument */ - char buf[32] = {0}; - memcpy(buf, &mem[x], MIN2(sizeof(buf) - 1, size - x)); - - if (sscanf(buf, "%2s %d %2s %d", (char *)&oriY, &height, (char *)&oriX, &width) != 4) { - return NULL; - } - - if (width < 1 || height < 1) { - return NULL; - } - - /* Checking that width x height does not extend past mem_eof is not easily possible - * since the format uses RLE compression. Can cause excessive memory allocation to occur. */ - - /* find end of this line, data right behind it */ - ptr = (const uchar *)strchr((const char *)&mem[x], '\n'); - if (ptr == NULL || ptr >= mem_eof) { - return NULL; - } - ptr++; - - if (flags & IB_test) { - ibuf = IMB_allocImBuf(width, height, 32, 0); - } - else { - ibuf = IMB_allocImBuf(width, height, 32, (flags & IB_rect) | IB_rectfloat); - } - - if (UNLIKELY(ibuf == NULL)) { - return NULL; - } - - ibuf->ftype = IMB_FTYPE_RADHDR; - - if (flags & IB_alphamode_detect) { - ibuf->flags |= IB_alphamode_premul; - } - - if (flags & IB_test) { - return ibuf; - } - - /* read in and decode the actual data */ - sline = (RGBE *)MEM_mallocN(sizeof(*sline) * width, __func__); - rect_float = ibuf->rect_float; - - for (size_t y = 0; y < height; y++) { - ptr = freadcolrs(sline, ptr, width, mem_eof); - if (ptr == NULL) { - printf("WARNING! HDR decode error, image may be just truncated, or completely wrong...\n"); - break; - } - for (x = 0; x < width; x++) { - /* Convert to LDR. */ - RGBE2FLOAT(sline[x], fcol); - *rect_float++ = fcol[RED]; - *rect_float++ = fcol[GRN]; - *rect_float++ = fcol[BLU]; - *rect_float++ = 1.0f; - } - } - MEM_freeN(sline); - if (oriY[0] == '-') { - IMB_flipy(ibuf); - } - - if (flags & IB_rect) { - IMB_rect_from_float(ibuf); - } - - return ibuf; -} - -/* ImBuf write */ -static int fwritecolrs( - FILE *file, int width, int channels, const uchar *ibufscan, const float *fpscan) -{ - int beg, c2, count = 0; - fCOLOR fcol; - RGBE rgbe, *rgbe_scan; - - if (UNLIKELY((ibufscan == NULL) && (fpscan == NULL))) { - return 0; - } - - rgbe_scan = (RGBE *)MEM_mallocN(sizeof(RGBE) * width, "radhdr_write_tmpscan"); - - /* Convert scan-line. */ - for (size_t i = 0, j = 0; i < width; i++) { - if (fpscan) { - fcol[RED] = fpscan[j]; - fcol[GRN] = (channels >= 2) ? fpscan[j + 1] : fpscan[j]; - fcol[BLU] = (channels >= 3) ? fpscan[j + 2] : fpscan[j]; - } - else { - fcol[RED] = (float)ibufscan[j] / 255.0f; - fcol[GRN] = (float)((channels >= 2) ? ibufscan[j + 1] : ibufscan[j]) / 255.0f; - fcol[BLU] = (float)((channels >= 3) ? ibufscan[j + 2] : ibufscan[j]) / 255.0f; - } - FLOAT2RGBE(fcol, rgbe); - COPY_RGBE(rgbe, rgbe_scan[i]); - j += channels; - } - - if ((width < MINELEN) | (width > MAXELEN)) { /* OOBs, write out flat */ - int x = fwrite((char *)rgbe_scan, sizeof(RGBE), width, file) - width; - MEM_freeN(rgbe_scan); - return x; - } - /* put magic header */ - putc(2, file); - putc(2, file); - putc((uchar)(width >> 8), file); - putc((uchar)(width & 255), file); - /* put components separately */ - for (size_t i = 0; i < 4; i++) { - for (size_t j = 0; j < width; j += count) { /* find next run */ - for (beg = j; beg < width; beg += count) { - for (count = 1; (count < 127) && ((beg + count) < width) && - (rgbe_scan[beg + count][i] == rgbe_scan[beg][i]); - count++) { - /* pass */ - } - if (count >= MINRUN) { - break; /* long enough */ - } - } - if (((beg - j) > 1) && ((beg - j) < MINRUN)) { - c2 = j + 1; - while (rgbe_scan[c2++][i] == rgbe_scan[j][i]) { - if (c2 == beg) { /* short run */ - putc((uchar)(128 + beg - j), file); - putc((uchar)(rgbe_scan[j][i]), file); - j = beg; - break; - } - } - } - while (j < beg) { /* write out non-run */ - if ((c2 = beg - j) > 128) { - c2 = 128; - } - putc((uchar)(c2), file); - while (c2--) { - putc(rgbe_scan[j++][i], file); - } - } - if (count >= MINRUN) { /* write out run */ - putc((uchar)(128 + count), file); - putc(rgbe_scan[beg][i], file); - } - else { - count = 0; - } - } - } - MEM_freeN(rgbe_scan); - return (ferror(file) ? -1 : 0); -} - -static void writeHeader(FILE *file, int width, int height) -{ - fprintf(file, "#?RADIANCE"); - fputc(10, file); - fprintf(file, "# %s", "Created with Blender"); - fputc(10, file); - fprintf(file, "EXPOSURE=%25.13f", 1.0); - fputc(10, file); - fprintf(file, "FORMAT=32-bit_rle_rgbe"); - fputc(10, file); - fputc(10, file); - fprintf(file, "-Y %d +X %d", height, width); - fputc(10, file); -} - -bool imb_savehdr(struct ImBuf *ibuf, const char *filepath, int flags) -{ - FILE *file = BLI_fopen(filepath, "wb"); - float *fp = NULL; - size_t width = ibuf->x, height = ibuf->y; - uchar *cp = NULL; - - (void)flags; /* unused */ - - if (file == NULL) { - return 0; - } - - writeHeader(file, width, height); - - if (ibuf->rect) { - cp = (uchar *)ibuf->rect + ibuf->channels * (height - 1) * width; - } - if (ibuf->rect_float) { - fp = ibuf->rect_float + ibuf->channels * (height - 1) * width; - } - - for (size_t y = 0; y < height; y++) { - if (fwritecolrs(file, width, ibuf->channels, cp, fp) < 0) { - fclose(file); - printf("HDR write error\n"); - return 0; - } - if (cp) { - cp -= ibuf->channels * width; - } - if (fp) { - fp -= ibuf->channels * width; - } - } - - fclose(file); - return 1; -} diff --git a/source/blender/imbuf/intern/targa.c b/source/blender/imbuf/intern/targa.c deleted file mode 100644 index 6c2f1eb6dd2..00000000000 --- a/source/blender/imbuf/intern/targa.c +++ /dev/null @@ -1,791 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later - * Copyright 2001-2002 NaN Holding BV. All rights reserved. */ - -/** \file - * \ingroup imbuf - */ - -#ifdef WIN32 -# include -#endif - -#include "BLI_fileops.h" -#include "BLI_utildefines.h" - -#include "MEM_guardedalloc.h" - -#include "imbuf.h" - -#include "IMB_imbuf.h" -#include "IMB_imbuf_types.h" - -#include "IMB_filetype.h" - -#include "IMB_colormanagement.h" -#include "IMB_colormanagement_intern.h" - -/* this one is only def-ed once, strangely... related to GS? */ -#define GSS(x) (((uchar *)(x))[1] << 8 | ((uchar *)(x))[0]) - -/***/ - -typedef struct TARGA { - uchar numid; - uchar maptyp; - uchar imgtyp; - short maporig; - short mapsize; - uchar mapbits; - short xorig; - short yorig; - short xsize; - short ysize; - uchar pixsize; - uchar imgdes; -} TARGA; - -/** - * On-disk header size. - * - * \note In theory it's possible padding would make the struct and on-disk size differ, - * so use a constant instead of `sizeof(TARGA)`. - */ -#define TARGA_HEADER_SIZE 18 - -/***/ - -static int tga_out1(uint data, FILE *file) -{ - uchar *p; - - p = (uchar *)&data; - if (putc(p[0], file) == EOF) { - return EOF; - } - return ~EOF; -} - -static int tga_out2(uint data, FILE *file) -{ - uchar *p; - - p = (uchar *)&data; - if (putc(p[0], file) == EOF) { - return EOF; - } - if (putc(p[1], file) == EOF) { - return EOF; - } - return ~EOF; -} - -static int tga_out3(uint data, FILE *file) -{ - uchar *p; - - p = (uchar *)&data; - if (putc(p[2], file) == EOF) { - return EOF; - } - if (putc(p[1], file) == EOF) { - return EOF; - } - if (putc(p[0], file) == EOF) { - return EOF; - } - return ~EOF; -} - -static int tga_out4(uint data, FILE *file) -{ - uchar *p; - - p = (uchar *)&data; - /* Order = BGRA. */ - if (putc(p[2], file) == EOF) { - return EOF; - } - if (putc(p[1], file) == EOF) { - return EOF; - } - if (putc(p[0], file) == EOF) { - return EOF; - } - if (putc(p[3], file) == EOF) { - return EOF; - } - return ~EOF; -} - -static bool makebody_tga(ImBuf *ibuf, FILE *file, int (*out)(uint, FILE *)) -{ - int last, this; - int copy, bytes; - uint *rect, *rectstart, *temp; - int y; - - for (y = 0; y < ibuf->y; y++) { - bytes = ibuf->x - 1; - rectstart = rect = ibuf->rect + (y * ibuf->x); - last = *rect++; - this = *rect++; - copy = last ^ this; - while (bytes > 0) { - if (copy) { - do { - last = this; - this = *rect++; - if (last == this) { - if (this == rect[-3]) { /* three the same? */ - bytes--; /* set bytes */ - break; - } - } - } while (--bytes != 0); - - copy = rect - rectstart; - copy--; - if (bytes) { - copy -= 2; - } - - temp = rect; - rect = rectstart; - - while (copy) { - last = copy; - if (copy >= 128) { - last = 128; - } - copy -= last; - if (fputc(last - 1, file) == EOF) { - return 0; - } - do { - if (out(*rect++, file) == EOF) { - return 0; - } - } while (--last != 0); - } - rectstart = rect; - rect = temp; - last = this; - - copy = 0; - } - else { - while (*rect++ == this) { /* seek for first different byte */ - if (--bytes == 0) { - break; /* Or end of line. */ - } - } - rect--; - copy = rect - rectstart; - rectstart = rect; - bytes--; - this = *rect++; - - while (copy) { - if (copy > 128) { - if (fputc(255, file) == EOF) { - return 0; - } - copy -= 128; - } - else { - if (copy == 1) { - if (fputc(0, file) == EOF) { - return 0; - } - } - else if (fputc(127 + copy, file) == EOF) { - return 0; - } - copy = 0; - } - if (out(last, file) == EOF) { - return 0; - } - } - copy = 1; - } - } - } - return 1; -} - -static bool dumptarga(struct ImBuf *ibuf, FILE *file) -{ - int size; - uchar *rect; - - if (ibuf == NULL) { - return 0; - } - if (ibuf->rect == NULL) { - return 0; - } - - size = ibuf->x * ibuf->y; - rect = (uchar *)ibuf->rect; - - if (ibuf->planes <= 8) { - while (size > 0) { - if (putc(*rect, file) == EOF) { - return 0; - } - size--; - rect += 4; - } - } - else if (ibuf->planes <= 16) { - while (size > 0) { - putc(rect[0], file); - if (putc(rect[1], file) == EOF) { - return 0; - } - size--; - rect += 4; - } - } - else if (ibuf->planes <= 24) { - while (size > 0) { - putc(rect[2], file); - putc(rect[1], file); - if (putc(rect[0], file) == EOF) { - return 0; - } - size--; - rect += 4; - } - } - else if (ibuf->planes <= 32) { - while (size > 0) { - putc(rect[2], file); - putc(rect[1], file); - putc(rect[0], file); - if (putc(rect[3], file) == EOF) { - return 0; - } - size--; - rect += 4; - } - } - else { - return 0; - } - - return 1; -} - -bool imb_savetarga(struct ImBuf *ibuf, const char *filepath, int UNUSED(flags)) -{ - char buf[TARGA_HEADER_SIZE] = {0}; - FILE *fildes; - bool ok = false; - - buf[16] = (ibuf->planes + 0x7) & ~0x7; - if (ibuf->planes > 8) { - buf[2] = 10; - } - else { - buf[2] = 11; - } - - if (ibuf->foptions.flag & RAWTGA) { - buf[2] &= ~8; - } - - buf[8] = 0; - buf[9] = 0; - buf[10] = 0; - buf[11] = 0; - - buf[12] = ibuf->x & 0xff; - buf[13] = ibuf->x >> 8; - buf[14] = ibuf->y & 0xff; - buf[15] = ibuf->y >> 8; - - /* Don't forget to indicate that your 32 bit - * targa uses 8 bits for the alpha channel! */ - if (ibuf->planes == 32) { - buf[17] |= 0x08; - } - fildes = BLI_fopen(filepath, "wb"); - if (!fildes) { - return 0; - } - - if (fwrite(buf, 1, TARGA_HEADER_SIZE, fildes) != TARGA_HEADER_SIZE) { - fclose(fildes); - return 0; - } - - if (ibuf->foptions.flag & RAWTGA) { - ok = dumptarga(ibuf, fildes); - } - else { - switch ((ibuf->planes + 7) >> 3) { - case 1: - ok = makebody_tga(ibuf, fildes, tga_out1); - break; - case 2: - ok = makebody_tga(ibuf, fildes, tga_out2); - break; - case 3: - ok = makebody_tga(ibuf, fildes, tga_out3); - break; - case 4: - ok = makebody_tga(ibuf, fildes, tga_out4); - break; - } - } - - fclose(fildes); - return ok; -} - -static bool checktarga(TARGA *tga, const uchar *mem, const size_t size) -{ - if (size < TARGA_HEADER_SIZE) { - return false; - } - - tga->numid = mem[0]; - tga->maptyp = mem[1]; - tga->imgtyp = mem[2]; - - tga->maporig = GSS(mem + 3); - tga->mapsize = GSS(mem + 5); - tga->mapbits = mem[7]; - tga->xorig = GSS(mem + 8); - tga->yorig = GSS(mem + 10); - tga->xsize = GSS(mem + 12); - tga->ysize = GSS(mem + 14); - tga->pixsize = mem[16]; - tga->imgdes = mem[17]; - - if (tga->maptyp > 1) { - return false; - } - switch (tga->imgtyp) { - case 1: /* raw cmap */ - case 2: /* raw rgb */ - case 3: /* raw b&w */ - case 9: /* cmap */ - case 10: /* rgb */ - case 11: /* b&w */ - break; - default: - return false; - } - if (tga->mapsize && tga->mapbits > 32) { - return false; - } - if (tga->xsize <= 0) { - return false; - } - if (tga->ysize <= 0) { - return false; - } - if (tga->pixsize > 32) { - return false; - } - if (tga->pixsize == 0) { - return false; - } - return true; -} - -bool imb_is_a_targa(const uchar *buf, size_t size) -{ - TARGA tga; - - return checktarga(&tga, buf, size); -} - -static void complete_partial_load(struct ImBuf *ibuf, uint *rect) -{ - int size = (ibuf->x * ibuf->y) - (rect - ibuf->rect); - if (size) { - printf("decodetarga: incomplete file, %.1f%% missing\n", - 100 * ((float)size / (ibuf->x * ibuf->y))); - - /* Not essential but makes displaying partially rendered TGA's less ugly. */ - memset(rect, 0, size); - } - else { - /* shouldn't happen */ - printf("decodetarga: incomplete file, all pixels written\n"); - } -} - -static void decodetarga(struct ImBuf *ibuf, const uchar *mem, size_t mem_size, int psize) -{ - const uchar *mem_end = mem + mem_size; - int count, col, size; - uint *rect; - uchar *cp = (uchar *)&col; - - if (ibuf == NULL) { - return; - } - if (ibuf->rect == NULL) { - return; - } - - size = ibuf->x * ibuf->y; - rect = ibuf->rect; - - /* set alpha */ - cp[0] = 0xff; - cp[1] = cp[2] = 0; - - while (size > 0) { - count = *mem++; - - if (mem > mem_end) { - goto partial_load; - } - - if (count >= 128) { - // if (count == 128) printf("TARGA: 128 in file !\n"); - count -= 127; - - if (psize & 2) { - if (psize & 1) { - /* Order = BGRA. */ - cp[0] = mem[3]; - cp[1] = mem[0]; - cp[2] = mem[1]; - cp[3] = mem[2]; - // col = (mem[3] << 24) + (mem[0] << 16) + (mem[1] << 8) + mem[2]; - mem += 4; - } - else { - cp[1] = mem[0]; - cp[2] = mem[1]; - cp[3] = mem[2]; - // col = 0xff000000 + (mem[0] << 16) + (mem[1] << 8) + mem[2]; - mem += 3; - } - } - else { - if (psize & 1) { - cp[0] = mem[0]; - cp[1] = mem[1]; - mem += 2; - } - else { - col = *mem++; - } - } - - size -= count; - if (size >= 0) { - while (count > 0) { - *rect++ = col; - count--; - } - } - } - else { - count++; - size -= count; - if (size >= 0) { - while (count > 0) { - if (psize & 2) { - if (psize & 1) { - /* Order = BGRA. */ - cp[0] = mem[3]; - cp[1] = mem[0]; - cp[2] = mem[1]; - cp[3] = mem[2]; - // col = (mem[3] << 24) + (mem[0] << 16) + (mem[1] << 8) + mem[2]; - mem += 4; - } - else { - cp[1] = mem[0]; - cp[2] = mem[1]; - cp[3] = mem[2]; - // col = 0xff000000 + (mem[0] << 16) + (mem[1] << 8) + mem[2]; - mem += 3; - } - } - else { - if (psize & 1) { - cp[0] = mem[0]; - cp[1] = mem[1]; - mem += 2; - } - else { - col = *mem++; - } - } - *rect++ = col; - count--; - - if (mem > mem_end) { - goto partial_load; - } - } - - if (mem > mem_end) { - goto partial_load; - } - } - } - } - if (size) { - printf("decodetarga: count would overwrite %d pixels\n", -size); - } - return; - -partial_load: - complete_partial_load(ibuf, rect); -} - -static void ldtarga(struct ImBuf *ibuf, const uchar *mem, size_t mem_size, int psize) -{ - const uchar *mem_end = mem + mem_size; - int col, size; - uint *rect; - uchar *cp = (uchar *)&col; - - if (ibuf == NULL) { - return; - } - if (ibuf->rect == NULL) { - return; - } - - size = ibuf->x * ibuf->y; - rect = ibuf->rect; - - /* set alpha */ - cp[0] = 0xff; - cp[1] = cp[2] = 0; - - while (size > 0) { - if (mem > mem_end) { - goto partial_load; - } - - if (psize & 2) { - if (psize & 1) { - /* Order = BGRA. */ - cp[0] = mem[3]; - cp[1] = mem[0]; - cp[2] = mem[1]; - cp[3] = mem[2]; - // col = (mem[3] << 24) + (mem[0] << 16) + (mem[1] << 8) + mem[2]; - mem += 4; - } - else { - /* set alpha for 24 bits colors */ - cp[1] = mem[0]; - cp[2] = mem[1]; - cp[3] = mem[2]; - // col = 0xff000000 + (mem[0] << 16) + (mem[1] << 8) + mem[2]; - mem += 3; - } - } - else { - if (psize & 1) { - cp[0] = mem[0]; - cp[1] = mem[1]; - mem += 2; - } - else { - col = *mem++; - } - } - *rect++ = col; - size--; - } - return; - -partial_load: - complete_partial_load(ibuf, rect); -} - -ImBuf *imb_loadtarga(const uchar *mem, size_t mem_size, int flags, char colorspace[IM_MAX_SPACE]) -{ - TARGA tga; - struct ImBuf *ibuf; - int count, size; - uint *rect, *cmap = NULL /*, mincol = 0*/, cmap_max = 0; - int32_t cp_data; - uchar *cp = (uchar *)&cp_data; - - if (checktarga(&tga, mem, mem_size) == 0) { - return NULL; - } - - colorspace_set_default_role(colorspace, IM_MAX_SPACE, COLOR_ROLE_DEFAULT_BYTE); - - if (flags & IB_test) { - ibuf = IMB_allocImBuf(tga.xsize, tga.ysize, tga.pixsize, 0); - } - else { - ibuf = IMB_allocImBuf(tga.xsize, tga.ysize, (tga.pixsize + 0x7) & ~0x7, IB_rect); - } - - if (ibuf == NULL) { - return NULL; - } - ibuf->ftype = IMB_FTYPE_TGA; - if (tga.imgtyp < 4) { - ibuf->foptions.flag |= RAWTGA; - } - mem = mem + TARGA_HEADER_SIZE + tga.numid; - - cp[0] = 0xff; - cp[1] = cp[2] = 0; - - if (tga.mapsize) { - /* Load color map. */ - // mincol = tga.maporig; /* UNUSED */ - cmap_max = tga.mapsize; - cmap = MEM_callocN(sizeof(uint) * cmap_max, "targa cmap"); - - for (count = 0; count < cmap_max; count++) { - switch (tga.mapbits >> 3) { - case 4: - cp[0] = mem[3]; - cp[1] = mem[0]; - cp[2] = mem[1]; - cp[3] = mem[2]; - mem += 4; - break; - case 3: - cp[1] = mem[0]; - cp[2] = mem[1]; - cp[3] = mem[2]; - mem += 3; - break; - case 2: - cp[1] = mem[1]; - cp[0] = mem[0]; - mem += 2; - break; - case 1: - cp_data = *mem++; - break; - } - cmap[count] = cp_data; - } - - ibuf->planes = tga.mapbits; - if (tga.mapbits != 32) { /* Set alpha bits. */ - cmap[0] &= BIG_LONG(0x00ffffffl); - } - } - - if (flags & IB_test) { - if (cmap) { - MEM_freeN(cmap); - } - return ibuf; - } - - if (!ELEM(tga.imgtyp, 1, 9)) { /* happens sometimes (ugh) */ - if (cmap) { - MEM_freeN(cmap); - cmap = NULL; - } - } - - switch (tga.imgtyp) { - case 1: - case 2: - case 3: - if (tga.pixsize <= 8) { - ldtarga(ibuf, mem, mem_size, 0); - } - else if (tga.pixsize <= 16) { - ldtarga(ibuf, mem, mem_size, 1); - } - else if (tga.pixsize <= 24) { - ldtarga(ibuf, mem, mem_size, 2); - } - else if (tga.pixsize <= 32) { - ldtarga(ibuf, mem, mem_size, 3); - } - break; - case 9: - case 10: - case 11: - if (tga.pixsize <= 8) { - decodetarga(ibuf, mem, mem_size, 0); - } - else if (tga.pixsize <= 16) { - decodetarga(ibuf, mem, mem_size, 1); - } - else if (tga.pixsize <= 24) { - decodetarga(ibuf, mem, mem_size, 2); - } - else if (tga.pixsize <= 32) { - decodetarga(ibuf, mem, mem_size, 3); - } - break; - } - - if (cmap) { - /* apply color map */ - rect = ibuf->rect; - for (size = ibuf->x * ibuf->y; size > 0; size--, rect++) { - int cmap_index = *rect; - if (cmap_index >= 0 && cmap_index < cmap_max) { - *rect = cmap[cmap_index]; - } - } - - MEM_freeN(cmap); - } - - if (tga.pixsize == 16) { - uint col; - rect = ibuf->rect; - for (size = ibuf->x * ibuf->y; size > 0; size--, rect++) { - col = *rect; - cp = (uchar *)rect; - mem = (uchar *)&col; - - cp[3] = ((mem[1] << 1) & 0xf8); - cp[2] = ((mem[0] & 0xe0) >> 2) + ((mem[1] & 0x03) << 6); - cp[1] = ((mem[0] << 3) & 0xf8); - cp[1] += cp[1] >> 5; - cp[2] += cp[2] >> 5; - cp[3] += cp[3] >> 5; - cp[0] = 0xff; - } - ibuf->planes = 24; - } - - if (ELEM(tga.imgtyp, 3, 11)) { - uchar *crect; - uint *lrect, col; - - crect = (uchar *)ibuf->rect; - lrect = (uint *)ibuf->rect; - - for (size = ibuf->x * ibuf->y; size > 0; size--) { - col = *lrect++; - - crect[0] = 255; - crect[1] = crect[2] = crect[3] = col; - crect += 4; - } - } - - if (tga.imgdes & 0x20) { - IMB_flipy(ibuf); - } - - if (ibuf->rect) { - IMB_convert_rgba_to_abgr(ibuf); - } - - return ibuf; -} diff --git a/source/blender/imbuf/intern/tiff.c b/source/blender/imbuf/intern/tiff.c deleted file mode 100644 index 8ba06165df4..00000000000 --- a/source/blender/imbuf/intern/tiff.c +++ /dev/null @@ -1,832 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -/** \file - * \ingroup imbuf - */ - -/** - * Provides TIFF file loading and saving for Blender, via libtiff. - * - * The task of loading is complicated somewhat by the fact that Blender has - * already loaded the file into a memory buffer. libtiff is not well - * configured to handle files in memory, so a client wrapper is written to - * surround the memory and turn it into a virtual file. Currently, reading - * of TIFF files is done using libtiff's RGBAImage support. This is a - * high-level routine that loads all images as 32-bit RGBA, handling all the - * required conversions between many different TIFF types internally. - * - * Saving supports RGB, RGBA and BW (gray-scale) images correctly, with - * 8 bits per channel in all cases. The "deflate" compression algorithm is - * used to compress images. - */ - -#include - -#include "imbuf.h" - -#include "BLI_endian_defines.h" -#include "BLI_math.h" -#include "BLI_utildefines.h" - -#include "BKE_global.h" - -#include "IMB_imbuf.h" -#include "IMB_imbuf_types.h" - -#include "IMB_filetype.h" - -#include "IMB_colormanagement.h" -#include "IMB_colormanagement_intern.h" - -#include - -#ifdef WIN32 -# include "utfconv.h" -#endif - -/* -------------------------------------------------------------------- */ -/** \name Local Declarations - * \{ */ - -/* Reading and writing of an in-memory TIFF file. */ -static tsize_t imb_tiff_ReadProc(thandle_t handle, tdata_t data, tsize_t n); -static tsize_t imb_tiff_WriteProc(thandle_t handle, tdata_t data, tsize_t n); -static toff_t imb_tiff_SeekProc(thandle_t handle, toff_t ofs, int whence); -static int imb_tiff_CloseProc(thandle_t handle); -static toff_t imb_tiff_SizeProc(thandle_t handle); -static int imb_tiff_DummyMapProc(thandle_t fd, tdata_t *pbase, toff_t *psize); -static void imb_tiff_DummyUnmapProc(thandle_t fd, tdata_t base, toff_t size); - -/** Structure for in-memory TIFF file. */ -typedef struct ImbTIFFMemFile { - /** Location of first byte of TIFF file. */ - const uchar *mem; - /** Current offset within the file. */ - toff_t offset; - /** Size of the TIFF file. */ - tsize_t size; -} ImbTIFFMemFile; -#define IMB_TIFF_GET_MEMFILE(x) ((ImbTIFFMemFile *)(x)) - -/** \} */ - -/* -------------------------------------------------------------------- */ -/** \name Function Implementations - * \{ */ - -static void imb_tiff_DummyUnmapProc( - thandle_t fd, - tdata_t base, - /* Cannot be const, because this function implements #TIFFUnmapFileProc. - * NOLINTNEXTLINE: readability-non-const-parameter. */ - toff_t size) -{ - (void)fd; - (void)base; - (void)size; -} - -static int imb_tiff_DummyMapProc( - thandle_t fd, - tdata_t *pbase, - /* Cannot be const, because this function implements #TIFFMapFileProc. - * NOLINTNEXTLINE: readability-non-const-parameter. */ - toff_t *psize) -{ - (void)fd; - (void)pbase; - (void)psize; - - return 0; -} - -/** - * Reads data from an in-memory TIFF file. - * - * \param handle: Handle of the TIFF file (pointer to #ImbTIFFMemFile). - * \param data: Buffer to contain data (treat as (void *)). - * \param n: Number of bytes to read. - * - * \return Number of bytes actually read. - * 0 = EOF. - */ -static tsize_t imb_tiff_ReadProc(thandle_t handle, tdata_t data, tsize_t n) -{ - tsize_t nRemaining, nCopy; - ImbTIFFMemFile *mfile; - void *srcAddr; - - /* get the pointer to the in-memory file */ - mfile = IMB_TIFF_GET_MEMFILE(handle); - if (!mfile || !mfile->mem) { - fprintf(stderr, "imb_tiff_ReadProc: !mfile || !mfile->mem!\n"); - return 0; - } - - /* find the actual number of bytes to read (copy) */ - nCopy = n; - if ((tsize_t)mfile->offset >= mfile->size) { - nRemaining = 0; - } - else { - nRemaining = mfile->size - mfile->offset; - } - - if (nCopy > nRemaining) { - nCopy = nRemaining; - } - - /* on EOF, return immediately and read (copy) nothing */ - if (nCopy <= 0) { - return 0; - } - - /* all set -> do the read (copy) */ - srcAddr = (void *)&(mfile->mem[mfile->offset]); - memcpy((void *)data, srcAddr, nCopy); - mfile->offset += nCopy; /* advance file ptr by copied bytes */ - return nCopy; -} - -/** - * Writes data to an in-memory TIFF file. - * - * NOTE: The current Blender implementation should not need this function. - * It is simply a stub. - */ -static tsize_t imb_tiff_WriteProc(thandle_t handle, tdata_t data, tsize_t n) -{ - (void)handle; - (void)data; - (void)n; - - printf("imb_tiff_WriteProc: this function should not be called.\n"); - return (-1); -} - -/** - * Seeks to a new location in an in-memory TIFF file. - * - * \param handle: Handle of the TIFF file (pointer to #ImbTIFFMemFile). - * \param ofs: Offset value (interpreted according to whence below). - * \param whence: This can be one of three values: - * SEEK_SET - The offset is set to ofs bytes. - * SEEK_CUR - The offset is set to its current location plus ofs bytes. - * SEEK_END - (This is unsupported and will return -1, indicating an - * error). - * - * \return Resulting offset location within the file, measured in bytes from - * the beginning of the file. (-1) indicates an error. - */ -static toff_t imb_tiff_SeekProc(thandle_t handle, toff_t ofs, int whence) -{ - ImbTIFFMemFile *mfile; - toff_t new_offset; - - /* get the pointer to the in-memory file */ - mfile = IMB_TIFF_GET_MEMFILE(handle); - if (!mfile || !mfile->mem) { - fprintf(stderr, "imb_tiff_SeekProc: !mfile || !mfile->mem!\n"); - return (-1); - } - - /* find the location we plan to seek to */ - switch (whence) { - case SEEK_SET: - new_offset = ofs; - break; - case SEEK_CUR: - new_offset = mfile->offset + ofs; - break; - default: - /* no other types are supported - return an error */ - fprintf(stderr, - "imb_tiff_SeekProc: " - "Unsupported TIFF SEEK type.\n"); - return (-1); - } - - /* set the new location */ - mfile->offset = new_offset; - return mfile->offset; -} - -/** - * Closes (virtually) an in-memory TIFF file. - * - * NOTE: All this function actually does is sets the data pointer within the - * TIFF file to NULL. That should trigger assertion errors if attempts - * are made to access the file after that point. However, no such - * attempts should ever be made (in theory). - * - * \param handle: Handle of the TIFF file (pointer to #ImbTIFFMemFile). - * - * \return 0 - */ -static int imb_tiff_CloseProc(thandle_t handle) -{ - ImbTIFFMemFile *mfile; - - /* get the pointer to the in-memory file */ - mfile = IMB_TIFF_GET_MEMFILE(handle); - if (!mfile || !mfile->mem) { - fprintf(stderr, "imb_tiff_CloseProc: !mfile || !mfile->mem!\n"); - return 0; - } - - /* virtually close the file */ - mfile->mem = NULL; - mfile->offset = 0; - mfile->size = 0; - - return 0; -} - -/** - * Returns the size of an in-memory TIFF file in bytes. - * - * \return Size of file (in bytes). - */ -static toff_t imb_tiff_SizeProc(thandle_t handle) -{ - ImbTIFFMemFile *mfile; - - /* get the pointer to the in-memory file */ - mfile = IMB_TIFF_GET_MEMFILE(handle); - if (!mfile || !mfile->mem) { - fprintf(stderr, "imb_tiff_SizeProc: !mfile || !mfile->mem!\n"); - return 0; - } - - /* return the size */ - return (toff_t)(mfile->size); -} - -static TIFF *imb_tiff_client_open(ImbTIFFMemFile *memFile, const uchar *mem, size_t size) -{ - /* open the TIFF client layer interface to the in-memory file */ - memFile->mem = mem; - memFile->offset = 0; - memFile->size = size; - - return TIFFClientOpen("(Blender TIFF Interface Layer)", - "r", - (thandle_t)(memFile), - imb_tiff_ReadProc, - imb_tiff_WriteProc, - imb_tiff_SeekProc, - imb_tiff_CloseProc, - imb_tiff_SizeProc, - imb_tiff_DummyMapProc, - imb_tiff_DummyUnmapProc); -} - -/** \} */ - -/* -------------------------------------------------------------------- */ -/** \name Load TIFF - * \{ */ - -/** - * Checks whether a given memory buffer contains a TIFF file. - * - * This method uses the format identifiers from: - * http://www.faqs.org/faqs/graphics/fileformats-faq/part4/section-9.html - * The first four bytes of big-endian and little-endian TIFF files - * respectively are (hex): - * 4d 4d 00 2a - * 49 49 2a 00 - * Note that TIFF files on *any* platform can be either big- or little-endian; - * it's not platform-specific. - * - * AFAICT, libtiff doesn't provide a method to do this automatically, and - * hence my manual comparison. - Jonathan Merritt (lancelet) 4th Sept 2005. - */ -#define IMB_TIFF_NCB 4 /* number of comparison bytes used */ -bool imb_is_a_tiff(const uchar *buf, size_t size) -{ - const char big_endian[IMB_TIFF_NCB] = {0x4d, 0x4d, 0x00, 0x2a}; - const char lil_endian[IMB_TIFF_NCB] = {0x49, 0x49, 0x2a, 0x00}; - if (size < IMB_TIFF_NCB) { - return false; - } - - return ((memcmp(big_endian, buf, IMB_TIFF_NCB) == 0) || - (memcmp(lil_endian, buf, IMB_TIFF_NCB) == 0)); -} - -static void scanline_contig_16bit(float *rectf, const ushort *sbuf, int scanline_w, int spp) -{ - int i; - for (i = 0; i < scanline_w; i++) { - rectf[i * 4 + 0] = sbuf[i * spp + 0] / 65535.0; - rectf[i * 4 + 1] = (spp >= 3) ? sbuf[i * spp + 1] / 65535.0 : sbuf[i * spp + 0] / 65535.0; - rectf[i * 4 + 2] = (spp >= 3) ? sbuf[i * spp + 2] / 65535.0 : sbuf[i * spp + 0] / 65535.0; - rectf[i * 4 + 3] = (spp == 4) ? (sbuf[i * spp + 3] / 65535.0) : 1.0; - } -} - -static void scanline_contig_32bit(float *rectf, const float *fbuf, int scanline_w, int spp) -{ - int i; - for (i = 0; i < scanline_w; i++) { - rectf[i * 4 + 0] = fbuf[i * spp + 0]; - rectf[i * 4 + 1] = (spp >= 3) ? fbuf[i * spp + 1] : fbuf[i * spp + 0]; - rectf[i * 4 + 2] = (spp >= 3) ? fbuf[i * spp + 2] : fbuf[i * spp + 0]; - rectf[i * 4 + 3] = (spp == 4) ? fbuf[i * spp + 3] : 1.0f; - } -} - -static void scanline_separate_16bit(float *rectf, const ushort *sbuf, int scanline_w, int chan) -{ - int i; - for (i = 0; i < scanline_w; i++) { - rectf[i * 4 + chan] = sbuf[i] / 65535.0; - } -} - -static void scanline_separate_32bit(float *rectf, const float *fbuf, int scanline_w, int chan) -{ - int i; - for (i = 0; i < scanline_w; i++) { - rectf[i * 4 + chan] = fbuf[i]; - } -} - -static void imb_read_tiff_resolution(ImBuf *ibuf, TIFF *image) -{ - uint16_t unit; - float xres; - float yres; - - TIFFGetFieldDefaulted(image, TIFFTAG_RESOLUTIONUNIT, &unit); - TIFFGetFieldDefaulted(image, TIFFTAG_XRESOLUTION, &xres); - TIFFGetFieldDefaulted(image, TIFFTAG_YRESOLUTION, &yres); - - if (unit == RESUNIT_CENTIMETER) { - ibuf->ppm[0] = (double)xres * 100.0; - ibuf->ppm[1] = (double)yres * 100.0; - } - else { - ibuf->ppm[0] = (double)xres / 0.0254; - ibuf->ppm[1] = (double)yres / 0.0254; - } -} - -/* - * Use the libTIFF scanline API to read a TIFF image. - * This method is most flexible and can handle multiple different bit depths - * and RGB channel orderings. - */ -static int imb_read_tiff_pixels(ImBuf *ibuf, TIFF *image) -{ - ImBuf *tmpibuf = NULL; - int success = 0; - short bitspersample, spp, config; - size_t scanline; - int ib_flag = 0, row, chan; - float *fbuf = NULL; - ushort *sbuf = NULL; - - TIFFGetField(image, TIFFTAG_BITSPERSAMPLE, &bitspersample); - TIFFGetField(image, TIFFTAG_SAMPLESPERPIXEL, &spp); /* number of 'channels' */ - TIFFGetField(image, TIFFTAG_PLANARCONFIG, &config); - - if (spp == 4) { - /* HACK: this is really tricky hack, which is only needed to force libtiff - * do not touch RGB channels when there's alpha channel present - * The thing is: libtiff will premul RGB if alpha mode is set to - * unassociated, which really conflicts with blender's assumptions - * - * Alternative would be to unpremul after load, but it'll be really - * lossy and unwanted behavior - * - * So let's keep this thing here for until proper solution is found (sergey) - */ - - ushort extraSampleTypes[1]; - extraSampleTypes[0] = EXTRASAMPLE_ASSOCALPHA; - TIFFSetField(image, TIFFTAG_EXTRASAMPLES, 1, extraSampleTypes); - } - - imb_read_tiff_resolution(ibuf, image); - - scanline = TIFFScanlineSize(image); - - if (bitspersample == 32) { - ib_flag = IB_rectfloat; - fbuf = (float *)_TIFFmalloc(scanline); - if (!fbuf) { - goto cleanup; - } - } - else if (bitspersample == 16) { - ib_flag = IB_rectfloat; - sbuf = (ushort *)_TIFFmalloc(scanline); - if (!sbuf) { - goto cleanup; - } - } - else { - ib_flag = IB_rect; - } - - tmpibuf = IMB_allocImBuf(ibuf->x, ibuf->y, ibuf->planes, ib_flag); - if (!tmpibuf) { - goto cleanup; - } - - /* simple RGBA image */ - if (!ELEM(bitspersample, 32, 16)) { - success |= TIFFReadRGBAImage(image, ibuf->x, ibuf->y, tmpibuf->rect, 0); - } - /* contiguous channels: RGBRGBRGB */ - else if (config == PLANARCONFIG_CONTIG) { - for (row = 0; row < ibuf->y; row++) { - size_t ib_offset = (size_t)ibuf->x * 4 * ((size_t)ibuf->y - ((size_t)row + 1)); - - if (bitspersample == 32) { - success |= TIFFReadScanline(image, fbuf, row, 0); - scanline_contig_32bit(tmpibuf->rect_float + ib_offset, fbuf, ibuf->x, spp); - } - else if (bitspersample == 16) { - success |= TIFFReadScanline(image, sbuf, row, 0); - scanline_contig_16bit(tmpibuf->rect_float + ib_offset, sbuf, ibuf->x, spp); - } - } - /* Separate channels: RRRGGGBBB. */ - } - else if (config == PLANARCONFIG_SEPARATE) { - - /* imbufs always have 4 channels of data, so we iterate over all of them - * but only fill in from the TIFF scanline where necessary. */ - for (chan = 0; chan < 4; chan++) { - for (row = 0; row < ibuf->y; row++) { - size_t ib_offset = (size_t)ibuf->x * 4 * ((size_t)ibuf->y - ((size_t)row + 1)); - - if (bitspersample == 32) { - if (chan == 3 && spp == 3) { /* fill alpha if only RGB TIFF */ - copy_vn_fl(fbuf, ibuf->x, 1.0f); - } - else if (chan >= spp) { /* For gray-scale, duplicate first channel into G and B. */ - success |= TIFFReadScanline(image, fbuf, row, 0); - } - else { - success |= TIFFReadScanline(image, fbuf, row, chan); - } - scanline_separate_32bit(tmpibuf->rect_float + ib_offset, fbuf, ibuf->x, chan); - } - else if (bitspersample == 16) { - if (chan == 3 && spp == 3) { /* fill alpha if only RGB TIFF */ - copy_vn_ushort(sbuf, ibuf->x, 65535); - } - else if (chan >= spp) { /* For gray-scale, duplicate first channel into G and B. */ - success |= TIFFReadScanline(image, fbuf, row, 0); - } - else { - success |= TIFFReadScanline(image, sbuf, row, chan); - } - scanline_separate_16bit(tmpibuf->rect_float + ib_offset, sbuf, ibuf->x, chan); - } - } - } - } - - if (success) { - /* Code seems to be not needed for 16 bits TIFF, on PPC G5 OSX (ton) */ - if (bitspersample < 16) { - if (ENDIAN_ORDER == B_ENDIAN) { - IMB_convert_rgba_to_abgr(tmpibuf); - } - } - - /* assign rect last */ - if (tmpibuf->rect_float) { - ibuf->rect_float = tmpibuf->rect_float; - } - else { - ibuf->rect = tmpibuf->rect; - } - ibuf->mall |= ib_flag; - ibuf->flags |= ib_flag; - - tmpibuf->mall &= ~ib_flag; - } - -cleanup: - if (bitspersample == 32) { - _TIFFfree(fbuf); - } - else if (bitspersample == 16) { - _TIFFfree(sbuf); - } - - IMB_freeImBuf(tmpibuf); - - return success; -} - -void imb_inittiff(void) -{ - if (!(G.debug & G_DEBUG)) { - TIFFSetErrorHandler(NULL); - } -} - -ImBuf *imb_loadtiff(const uchar *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE]) -{ - TIFF *image = NULL; - ImBuf *ibuf = NULL; - ImbTIFFMemFile memFile; - uint32_t width, height; - short spp; - int ib_depth; - - /* Check whether or not we have a TIFF file. */ - if (imb_is_a_tiff(mem, size) == 0) { - return NULL; - } - - /* both 8 and 16 bit PNGs are default to standard byte colorspace */ - colorspace_set_default_role(colorspace, IM_MAX_SPACE, COLOR_ROLE_DEFAULT_BYTE); - - image = imb_tiff_client_open(&memFile, mem, size); - - if (image == NULL) { - printf("imb_loadtiff: could not open TIFF IO layer.\n"); - return NULL; - } - - /* allocate the image buffer */ - TIFFGetField(image, TIFFTAG_IMAGEWIDTH, &width); - TIFFGetField(image, TIFFTAG_IMAGELENGTH, &height); - TIFFGetField(image, TIFFTAG_SAMPLESPERPIXEL, &spp); - - ib_depth = spp * 8; - - ibuf = IMB_allocImBuf(width, height, ib_depth, 0); - if (ibuf) { - ibuf->ftype = IMB_FTYPE_TIF; - } - else { - fprintf(stderr, - "imb_loadtiff: could not allocate memory for TIFF " - "image.\n"); - TIFFClose(image); - return NULL; - } - - /* get alpha mode from file header */ - if (flags & IB_alphamode_detect) { - if (spp == 4) { - ushort extra, *extraSampleTypes; - const int found = TIFFGetField(image, TIFFTAG_EXTRASAMPLES, &extra, &extraSampleTypes); - - if (found && (extraSampleTypes[0] == EXTRASAMPLE_ASSOCALPHA)) { - ibuf->flags |= IB_alphamode_premul; - } - } - } - - /* if testing, we're done */ - if (flags & IB_test) { - TIFFClose(image); - return ibuf; - } - - /* read pixels */ - if (!imb_read_tiff_pixels(ibuf, image)) { - fprintf(stderr, "imb_loadtiff: Failed to read tiff image.\n"); - TIFFClose(image); - return NULL; - } - - /* close the client layer interface to the in-memory file */ - TIFFClose(image); - - /* return successfully */ - return ibuf; -} - -/** \} */ - -/* -------------------------------------------------------------------- */ -/** \name Save TIFF - * \{ */ - -bool imb_savetiff(ImBuf *ibuf, const char *filepath, int flags) -{ - TIFF *image = NULL; - uint16_t samplesperpixel, bitspersample; - size_t npixels; - uchar *pixels = NULL; - uchar *from = NULL, *to = NULL; - ushort *pixels16 = NULL, *to16 = NULL; - float *fromf = NULL; - float xres, yres; - int x, y, from_i, to_i, i; - int compress_mode = COMPRESSION_NONE; - - /* check for a valid number of bytes per pixel. Like the PNG writer, - * the TIFF writer supports 1, 3 or 4 bytes per pixel, corresponding - * to gray, RGB, RGBA respectively. */ - samplesperpixel = (uint16_t)((ibuf->planes + 7) >> 3); - if ((samplesperpixel > 4) || (samplesperpixel == 2)) { - fprintf(stderr, - "imb_savetiff: unsupported number of bytes per " - "pixel: %d\n", - samplesperpixel); - return 0; - } - - if ((ibuf->foptions.flag & TIF_16BIT) && ibuf->rect_float) { - bitspersample = 16; - } - else { - bitspersample = 8; - } - - if (ibuf->foptions.flag & TIF_COMPRESS_DEFLATE) { - compress_mode = COMPRESSION_DEFLATE; - } - else if (ibuf->foptions.flag & TIF_COMPRESS_LZW) { - compress_mode = COMPRESSION_LZW; - } - else if (ibuf->foptions.flag & TIF_COMPRESS_PACKBITS) { - compress_mode = COMPRESSION_PACKBITS; - } - - /* open TIFF file for writing */ - if (flags & IB_mem) { - /* Failed to allocate TIFF in memory. */ - fprintf(stderr, - "imb_savetiff: creation of in-memory TIFF files is " - "not yet supported.\n"); - return 0; - } - - /* create image as a file */ -#ifdef WIN32 - wchar_t *wname = alloc_utf16_from_8(filepath, 0); - image = TIFFOpenW(wname, "w"); - free(wname); -#else - image = TIFFOpen(filepath, "w"); -#endif - - if (image == NULL) { - fprintf(stderr, "imb_savetiff: could not open TIFF for writing.\n"); - return 0; - } - - /* allocate array for pixel data */ - npixels = ibuf->x * ibuf->y; - if (bitspersample == 16) { - pixels16 = (ushort *)_TIFFmalloc(npixels * samplesperpixel * sizeof(ushort)); - } - else { - pixels = (uchar *)_TIFFmalloc(npixels * samplesperpixel * sizeof(uchar)); - } - - if (pixels == NULL && pixels16 == NULL) { - fprintf(stderr, "imb_savetiff: could not allocate pixels array.\n"); - TIFFClose(image); - return 0; - } - - /* setup pointers */ - if (bitspersample == 16) { - fromf = ibuf->rect_float; - to16 = pixels16; - } - else { - from = (uchar *)ibuf->rect; - to = pixels; - } - - /* setup samples per pixel */ - TIFFSetField(image, TIFFTAG_BITSPERSAMPLE, bitspersample); - TIFFSetField(image, TIFFTAG_SAMPLESPERPIXEL, samplesperpixel); - - if (samplesperpixel == 4) { - ushort extraSampleTypes[1]; - - if (bitspersample == 16) { - extraSampleTypes[0] = EXTRASAMPLE_ASSOCALPHA; - } - else { - extraSampleTypes[0] = EXTRASAMPLE_UNASSALPHA; - } - - /* RGBA images */ - TIFFSetField(image, TIFFTAG_EXTRASAMPLES, 1, extraSampleTypes); - TIFFSetField(image, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB); - } - else if (samplesperpixel == 3) { - /* RGB images */ - TIFFSetField(image, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB); - } - else if (samplesperpixel == 1) { - /* Gray-scale images, 1 channel */ - TIFFSetField(image, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK); - } - - /* copy pixel data. While copying, we flip the image vertically. */ - const int channels_in_float = ibuf->channels ? ibuf->channels : 4; - for (x = 0; x < ibuf->x; x++) { - for (y = 0; y < ibuf->y; y++) { - from_i = ((size_t)channels_in_float) * (y * ibuf->x + x); - to_i = samplesperpixel * ((ibuf->y - y - 1) * ibuf->x + x); - - if (pixels16) { - /* convert from float source */ - float rgb[4]; - - if (ELEM(channels_in_float, 3, 4)) { - if (ibuf->float_colorspace || (ibuf->colormanage_flag & IMB_COLORMANAGE_IS_DATA)) { - /* Float buffer was managed already, no need in color - * space conversion. - */ - copy_v3_v3(rgb, &fromf[from_i]); - } - else { - /* Standard linear-to-SRGB conversion if float buffer wasn't managed. */ - linearrgb_to_srgb_v3_v3(rgb, &fromf[from_i]); - } - if (channels_in_float == 4) { - rgb[3] = fromf[from_i + 3]; - } - else { - rgb[3] = 1.0f; - } - } - else { - if (ibuf->float_colorspace || (ibuf->colormanage_flag & IMB_COLORMANAGE_IS_DATA)) { - rgb[0] = fromf[from_i]; - } - else { - rgb[0] = linearrgb_to_srgb(fromf[from_i]); - } - rgb[1] = rgb[2] = rgb[0]; - rgb[3] = 1.0f; - } - - for (i = 0; i < samplesperpixel; i++, to_i++) { - to16[to_i] = unit_float_to_ushort_clamp(rgb[i]); - } - } - else { - for (i = 0; i < samplesperpixel; i++, to_i++, from_i++) { - to[to_i] = from[from_i]; - } - } - } - } - - /* write the actual TIFF file */ - TIFFSetField(image, TIFFTAG_IMAGEWIDTH, ibuf->x); - TIFFSetField(image, TIFFTAG_IMAGELENGTH, ibuf->y); - TIFFSetField(image, TIFFTAG_ROWSPERSTRIP, ibuf->y); - TIFFSetField(image, TIFFTAG_COMPRESSION, compress_mode); - TIFFSetField(image, TIFFTAG_FILLORDER, FILLORDER_MSB2LSB); - TIFFSetField(image, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG); - - if (ibuf->ppm[0] > 0.0 && ibuf->ppm[1] > 0.0) { - xres = (float)(ibuf->ppm[0] * 0.0254); - yres = (float)(ibuf->ppm[1] * 0.0254); - } - else { - xres = yres = IMB_DPI_DEFAULT; - } - - TIFFSetField(image, TIFFTAG_XRESOLUTION, xres); - TIFFSetField(image, TIFFTAG_YRESOLUTION, yres); - TIFFSetField(image, TIFFTAG_RESOLUTIONUNIT, RESUNIT_INCH); - if (TIFFWriteEncodedStrip(image, - 0, - (bitspersample == 16) ? (uchar *)pixels16 : pixels, - (size_t)ibuf->x * ibuf->y * samplesperpixel * bitspersample / 8) == - -1) { - fprintf(stderr, "imb_savetiff: Could not write encoded TIFF.\n"); - TIFFClose(image); - if (pixels) { - _TIFFfree(pixels); - } - if (pixels16) { - _TIFFfree(pixels16); - } - return 1; - } - - /* close the TIFF file */ - TIFFClose(image); - if (pixels) { - _TIFFfree(pixels); - } - if (pixels16) { - _TIFFfree(pixels16); - } - return 1; -} - -/** \} */ diff --git a/source/blender/imbuf/intern/util.c b/source/blender/imbuf/intern/util.c index d2fb6dc584d..1543ac1c7f2 100644 --- a/source/blender/imbuf/intern/util.c +++ b/source/blender/imbuf/intern/util.c @@ -41,26 +41,18 @@ #define UTIL_DEBUG 0 const char *imb_ext_image[] = { - ".png", ".tga", ".bmp", ".jpg", ".jpeg", ".sgi", ".rgb", ".rgba", -#ifdef WITH_TIFF - ".tif", ".tiff", ".tx", -#endif + ".png", ".tga", ".bmp", ".jpg", ".jpeg", ".sgi", ".rgb", ".rgba", ".tif", ".tiff", ".tx", #ifdef WITH_OPENJPEG ".jp2", ".j2c", #endif -#ifdef WITH_HDR - ".hdr", -#endif -#ifdef WITH_DDS - ".dds", -#endif + ".hdr", ".dds", #ifdef WITH_CINEON ".dpx", ".cin", #endif #ifdef WITH_OPENEXR ".exr", #endif - ".psd", ".pdd", ".psb", + ".psd", ".pdd", ".psb", #ifdef WITH_WEBP ".webp", #endif diff --git a/source/blender/imbuf/intern/util_gpu.c b/source/blender/imbuf/intern/util_gpu.c index 6ea3bf73363..5128776d0d6 100644 --- a/source/blender/imbuf/intern/util_gpu.c +++ b/source/blender/imbuf/intern/util_gpu.c @@ -80,7 +80,6 @@ static const char *imb_gpu_get_swizzle(const ImBuf *ibuf) } /* Return false if no suitable format was found. */ -#ifdef WITH_DDS static bool IMB_gpu_get_compressed_format(const ImBuf *ibuf, eGPUTextureFormat *r_texture_format) { /* For DDS we only support data, scene linear and sRGB. Converting to @@ -102,7 +101,6 @@ static bool IMB_gpu_get_compressed_format(const ImBuf *ibuf, eGPUTextureFormat * } return true; } -#endif /** * Apply colormanagement and scale buffer if needed. @@ -326,7 +324,6 @@ GPUTexture *IMB_create_gpu_texture(const char *name, } } -#ifdef WITH_DDS if (ibuf->ftype == IMB_FTYPE_DDS) { eGPUTextureFormat compressed_format; if (!IMB_gpu_get_compressed_format(ibuf, &compressed_format)) { @@ -356,7 +353,6 @@ GPUTexture *IMB_create_gpu_texture(const char *name, /* Fallback to uncompressed texture. */ fprintf(stderr, " falling back to uncompressed.\n"); } -#endif eGPUDataFormat data_format; eGPUTextureFormat tex_format; diff --git a/source/blender/io/gpencil/CMakeLists.txt b/source/blender/io/gpencil/CMakeLists.txt index 725919a1622..120c813d9e4 100644 --- a/source/blender/io/gpencil/CMakeLists.txt +++ b/source/blender/io/gpencil/CMakeLists.txt @@ -70,6 +70,11 @@ if(WITH_HARU) ) list(APPEND LIB ${HARU_LIBRARIES} + + # Haru needs `TIFFFaxBlackCodes` & `TIFFFaxWhiteCodes` symbols from TIFF. + # Can be removed with Haru 2.4.0. They should be shipping with their own + # Fax codes defined by default from that version onwards. + ${TIFF_LIBRARY} ) add_definitions(-DWITH_HARU) endif() diff --git a/source/blender/makesrna/intern/CMakeLists.txt b/source/blender/makesrna/intern/CMakeLists.txt index 46dd420bbf0..5d5e5cdcbb3 100644 --- a/source/blender/makesrna/intern/CMakeLists.txt +++ b/source/blender/makesrna/intern/CMakeLists.txt @@ -245,26 +245,14 @@ if(WITH_IMAGE_OPENEXR) add_definitions(-DWITH_OPENEXR) endif() -if(WITH_IMAGE_TIFF) - add_definitions(-DWITH_TIFF) -endif() - if(WITH_IMAGE_OPENJPEG) add_definitions(-DWITH_OPENJPEG) endif() -if(WITH_IMAGE_DDS) - add_definitions(-DWITH_DDS) -endif() - if(WITH_IMAGE_CINEON) add_definitions(-DWITH_CINEON) endif() -if(WITH_IMAGE_HDR) - add_definitions(-DWITH_HDR) -endif() - if(WITH_IMAGE_WEBP) add_definitions(-DWITH_WEBP) endif() diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 9bf2cf21107..fe8ec52f1ef 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -280,12 +280,8 @@ const EnumPropertyItem rna_enum_curve_fit_method_items[] = { "Output image in uncompressed Targa format"}, #if 0 /* UNUSED (so far) */ -# ifdef WITH_DDS -# define R_IMF_ENUM_DDS \ - {R_IMF_IMTYPE_DDS, "DDS", ICON_FILE_IMAGE, "DDS", "Output image in DDS format"}, -# else -# define R_IMF_ENUM_DDS -# endif +# define R_IMF_ENUM_DDS \ + {R_IMF_IMTYPE_DDS, "DDS", ICON_FILE_IMAGE, "DDS", "Output image in DDS format"}, #endif #ifdef WITH_OPENJPEG @@ -327,23 +323,15 @@ const EnumPropertyItem rna_enum_curve_fit_method_items[] = { # define R_IMF_ENUM_EXR #endif -#ifdef WITH_HDR -# define R_IMF_ENUM_HDR \ - {R_IMF_IMTYPE_RADHDR, \ - "HDR", \ - ICON_FILE_IMAGE, \ - "Radiance HDR", \ - "Output image in Radiance HDR format"}, -#else -# define R_IMF_ENUM_HDR -#endif +#define R_IMF_ENUM_HDR \ + {R_IMF_IMTYPE_RADHDR, \ + "HDR", \ + ICON_FILE_IMAGE, \ + "Radiance HDR", \ + "Output image in Radiance HDR format"}, -#ifdef WITH_TIFF -# define R_IMF_ENUM_TIFF \ - {R_IMF_IMTYPE_TIFF, "TIFF", ICON_FILE_IMAGE, "TIFF", "Output image in TIFF format"}, -#else -# define R_IMF_ENUM_TIFF -#endif +#define R_IMF_ENUM_TIFF \ + {R_IMF_IMTYPE_TIFF, "TIFF", ICON_FILE_IMAGE, "TIFF", "Output image in TIFF format"}, #ifdef WITH_WEBP # define R_IMF_ENUM_WEBP \ @@ -5726,7 +5714,6 @@ static void rna_def_scene_image_format_data(BlenderRNA *brna) }; # endif -# ifdef WITH_TIFF static const EnumPropertyItem tiff_codec_items[] = { {R_IMF_TIFF_CODEC_NONE, "NONE", 0, "None", ""}, {R_IMF_TIFF_CODEC_DEFLATE, "DEFLATE", 0, "Deflate", ""}, @@ -5734,7 +5721,6 @@ static void rna_def_scene_image_format_data(BlenderRNA *brna) {R_IMF_TIFF_CODEC_PACKBITS, "PACKBITS", 0, "Pack Bits", ""}, {0, NULL, 0, NULL, NULL}, }; -# endif static const EnumPropertyItem color_management_items[] = { {R_IMF_COLOR_MANAGEMENT_FOLLOW_SCENE, "FOLLOW_SCENE", 0, "Follow Scene", ""}, @@ -5851,14 +5837,12 @@ static void rna_def_scene_image_format_data(BlenderRNA *brna) RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); # endif -# ifdef WITH_TIFF /* TIFF */ prop = RNA_def_property(srna, "tiff_codec", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "tiff_codec"); RNA_def_property_enum_items(prop, tiff_codec_items); RNA_def_property_ui_text(prop, "Compression", "Compression mode for TIFF"); RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL); -# endif /* Cineon and DPX */ diff --git a/source/blender/python/intern/CMakeLists.txt b/source/blender/python/intern/CMakeLists.txt index aa24ca385c1..ab857f1c16c 100644 --- a/source/blender/python/intern/CMakeLists.txt +++ b/source/blender/python/intern/CMakeLists.txt @@ -208,14 +208,6 @@ if(WITH_IMAGE_CINEON) add_definitions(-DWITH_CINEON) endif() -if(WITH_IMAGE_DDS) - add_definitions(-DWITH_DDS) -endif() - -if(WITH_IMAGE_HDR) - add_definitions(-DWITH_HDR) -endif() - if(WITH_IMAGE_OPENEXR) add_definitions(-DWITH_OPENEXR) endif() @@ -224,10 +216,6 @@ if(WITH_IMAGE_OPENJPEG) add_definitions(-DWITH_OPENJPEG) endif() -if(WITH_IMAGE_TIFF) - add_definitions(-DWITH_TIFF) -endif() - if(WITH_WEBP) add_definitions(-DWITH_WEBP) endif() diff --git a/source/blender/python/intern/bpy_app_build_options.c b/source/blender/python/intern/bpy_app_build_options.c index f4596f50cd0..e6aeb7a6628 100644 --- a/source/blender/python/intern/bpy_app_build_options.c +++ b/source/blender/python/intern/bpy_app_build_options.c @@ -135,17 +135,11 @@ static PyObject *make_builtopts_info(void) SetObjIncref(Py_False); #endif -#ifdef WITH_DDS + /* DDS */ SetObjIncref(Py_True); -#else - SetObjIncref(Py_False); -#endif -#ifdef WITH_HDR + /* HDR */ SetObjIncref(Py_True); -#else - SetObjIncref(Py_False); -#endif #ifdef WITH_OPENEXR SetObjIncref(Py_True); @@ -159,11 +153,8 @@ static PyObject *make_builtopts_info(void) SetObjIncref(Py_False); #endif -#ifdef WITH_TIFF + /* TIFF */ SetObjIncref(Py_True); -#else - SetObjIncref(Py_False); -#endif #ifdef WITH_INPUT_NDOF SetObjIncref(Py_True); diff --git a/tests/python/CMakeLists.txt b/tests/python/CMakeLists.txt index 7c5b785d846..224aa983175 100644 --- a/tests/python/CMakeLists.txt +++ b/tests/python/CMakeLists.txt @@ -946,18 +946,12 @@ else() if(WITH_IMAGE_CINEON) set(OPTIONAL_FORMATS "${OPTIONAL_FORMATS} CINEON") endif() - if(WITH_IMAGE_HDR) - set(OPTIONAL_FORMATS "${OPTIONAL_FORMATS} HDR") - endif() if(WITH_IMAGE_OPENEXR) set(OPTIONAL_FORMATS "${OPTIONAL_FORMATS} OPENEXR") endif() if(WITH_IMAGE_OPENJPEG) set(OPTIONAL_FORMATS "${OPTIONAL_FORMATS} OPENJPEG") endif() - if(WITH_IMAGE_TIFF) - set(OPTIONAL_FORMATS "${OPTIONAL_FORMATS} TIFF") - endif() if(WITH_IMAGE_WEBP) set(OPTIONAL_FORMATS "${OPTIONAL_FORMATS} WEBP") endif() diff --git a/tests/python/bl_imbuf_load.py b/tests/python/bl_imbuf_load.py index 5e0559aaef5..9ccc25168e4 100644 --- a/tests/python/bl_imbuf_load.py +++ b/tests/python/bl_imbuf_load.py @@ -119,16 +119,12 @@ class ImBufLoadTest(ImBufTest): self.check("*.exr") def test_load_hdr(self): - self.skip_if_format_missing("HDR") - self.check("*.hdr") def test_load_targa(self): self.check("*.tga") def test_load_tiff(self): - self.skip_if_format_missing("TIFF") - self.check("*.tif") def test_load_jpeg(self): @@ -141,8 +137,6 @@ class ImBufLoadTest(ImBufTest): self.check("*.j2c") def test_load_dpx(self): - self.skip_if_format_missing("CINEON") - self.check("*.dpx") def test_load_cineon(self): diff --git a/tests/python/bl_imbuf_save.py b/tests/python/bl_imbuf_save.py index 33c249365ae..acebfbf881b 100644 --- a/tests/python/bl_imbuf_save.py +++ b/tests/python/bl_imbuf_save.py @@ -130,8 +130,6 @@ class ImBufSaveTest(ImBufTest): self.check(src="rgba32", ext="exr", settings={"file_format": "OPEN_EXR", "color_mode": "RGBA", "color_depth": "32", "exr_codec": "ZIP"}) def test_save_hdr(self): - self.skip_if_format_missing("HDR") - self.check(src="rgba08", ext="hdr", settings={"file_format": "HDR", "color_mode": "BW"}) self.check(src="rgba08", ext="hdr", settings={"file_format": "HDR", "color_mode": "RGB"}) @@ -157,8 +155,6 @@ class ImBufSaveTest(ImBufTest): self.check(src="rgba32", ext="tga", settings={"file_format": "TARGA_RAW", "color_mode": "RGBA"}) def test_save_tiff(self): - self.skip_if_format_missing("TIFF") - self.check(src="rgba08", ext="tif", settings={"file_format": "TIFF", "color_mode": "BW", "color_depth": "8", "tiff_codec": "DEFLATE"}) self.check(src="rgba08", ext="tif", settings={"file_format": "TIFF", "color_mode": "RGB", "color_depth": "8", "tiff_codec": "LZW"}) self.check(src="rgba08", ext="tif", settings={"file_format": "TIFF", "color_mode": "RGBA", "color_depth": "8", "tiff_codec": "PACKBITS"}) @@ -216,8 +212,6 @@ class ImBufSaveTest(ImBufTest): self.check(src="rgba32", ext="jp2", settings={"file_format": "JPEG2000", "color_mode": "RGBA", "color_depth": "16", "jpeg2k_codec": "JP2", "use_jpeg2k_cinema_preset": False, "use_jpeg2k_cinema_48": False, "use_jpeg2k_ycc": True, "quality": 70}) def test_save_dpx(self): - self.skip_if_format_missing("CINEON") - self.check(src="rgba08", ext="dpx", settings={"file_format": "DPX", "color_mode": "RGB", "color_depth": "8", "use_cineon_log": False}) self.check(src="rgba08", ext="dpx", settings={"file_format": "DPX", "color_mode": "RGB", "color_depth": "12", "use_cineon_log": False}) self.check(src="rgba08", ext="dpx", settings={"file_format": "DPX", "color_mode": "RGB", "color_depth": "16", "use_cineon_log": False}) -- 2.30.2 From 1f3949f1cffa4fb82fd5a46535e6959e7f00f0c0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 12 Apr 2023 15:53:20 +1000 Subject: [PATCH 37/47] Fix building WITH_CINEON=OFF --- source/blender/imbuf/CMakeLists.txt | 4 +++- source/blender/imbuf/intern/filetype.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/source/blender/imbuf/CMakeLists.txt b/source/blender/imbuf/CMakeLists.txt index 600cf7b5172..085a749176b 100644 --- a/source/blender/imbuf/CMakeLists.txt +++ b/source/blender/imbuf/CMakeLists.txt @@ -30,7 +30,6 @@ set(SRC intern/filter.c intern/format_bmp.cc intern/format_dds.cc - intern/format_dpx.cc intern/format_hdr.cc intern/format_png.cc intern/format_psd.cc @@ -137,6 +136,9 @@ if(WITH_CODEC_FFMPEG) endif() if(WITH_IMAGE_CINEON) + list(APPEND SRC + intern/format_dpx.cc + ) list(APPEND LIB bf_imbuf_cineon ) diff --git a/source/blender/imbuf/intern/filetype.c b/source/blender/imbuf/intern/filetype.c index fd62ee087d8..4548104214d 100644 --- a/source/blender/imbuf/intern/filetype.c +++ b/source/blender/imbuf/intern/filetype.c @@ -81,6 +81,7 @@ const ImFileType IMB_FILE_TYPES[] = { .filetype = IMB_FTYPE_IMAGIC, .default_save_role = COLOR_ROLE_DEFAULT_BYTE, }, +#ifdef WITH_CINEON { .init = NULL, .exit = NULL, @@ -93,7 +94,6 @@ const ImFileType IMB_FILE_TYPES[] = { .filetype = IMB_FTYPE_DPX, .default_save_role = COLOR_ROLE_DEFAULT_FLOAT, }, -#ifdef WITH_CINEON { .init = NULL, .exit = NULL, -- 2.30.2 From ddb692888211cba649215fe6083d5fcab2848f5b Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 12 Apr 2023 15:53:21 +1000 Subject: [PATCH 38/47] GHOST/Wayland: resize the EGL buffer & change surface scale immediately There is no need to postpone these operations when configuring the frame only postpone committing the surface change. Deferring these operations caused flickering when moving windows between monitors of different scale on both GNOME & KDE. --- intern/ghost/intern/GHOST_WindowWayland.cc | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/intern/ghost/intern/GHOST_WindowWayland.cc b/intern/ghost/intern/GHOST_WindowWayland.cc index ab29926685a..e1b7b3c2924 100644 --- a/intern/ghost/intern/GHOST_WindowWayland.cc +++ b/intern/ghost/intern/GHOST_WindowWayland.cc @@ -138,8 +138,6 @@ enum eGWL_PendingWindowActions { * The state of the window frame has changed, apply the state from #GWL_Window::frame_pending. */ PENDING_WINDOW_FRAME_CONFIGURE = 0, - /** The EGL buffer must be resized to match #GWL_WindowFrame::size. */ - PENDING_EGL_WINDOW_RESIZE, # ifdef GHOST_OPENGL_ALPHA /** Draw an opaque region behind the window. */ PENDING_OPAQUE_SET, @@ -149,8 +147,6 @@ enum eGWL_PendingWindowActions { * this window is visible on may have changed. Recalculate the windows scale. */ PENDING_OUTPUT_SCALE_UPDATE, - - PENDING_WINDOW_SURFACE_SCALE, /** * The surface needs a commit to run. * Use this to avoid committing immediately which can cause flickering when other operations @@ -669,9 +665,6 @@ static void gwl_window_pending_actions_handle(GWL_Window *win) if (actions[PENDING_WINDOW_FRAME_CONFIGURE]) { gwl_window_frame_update_from_pending(win); } - if (actions[PENDING_EGL_WINDOW_RESIZE]) { - wl_egl_window_resize(win->egl_window, UNPACK2(win->frame.size), 0, 0); - } # ifdef GHOST_OPENGL_ALPHA if (actions[PENDING_OPAQUE_SET]) { win->ghost_window->setOpaque(); @@ -680,9 +673,6 @@ static void gwl_window_pending_actions_handle(GWL_Window *win) if (actions[PENDING_OUTPUT_SCALE_UPDATE]) { win->ghost_window->outputs_changed_update_scale(); } - if (actions[PENDING_WINDOW_SURFACE_SCALE]) { - wl_surface_set_buffer_scale(win->wl_surface, win->frame.buffer_scale); - } if (actions[PENDING_WINDOW_SURFACE_COMMIT]) { wl_surface_commit(win->wl_surface); } @@ -727,19 +717,11 @@ static void gwl_window_frame_update_from_pending_no_lock(GWL_Window *win) } if (surface_needs_egl_resize) { -#ifdef USE_EVENT_BACKGROUND_THREAD - gwl_window_pending_actions_tag(win, PENDING_EGL_WINDOW_RESIZE); -#else wl_egl_window_resize(win->egl_window, UNPACK2(win->frame.size), 0, 0); -#endif } if (surface_needs_buffer_scale) { -#ifdef USE_EVENT_BACKGROUND_THREAD - gwl_window_pending_actions_tag(win, PENDING_WINDOW_SURFACE_SCALE); -#else wl_surface_set_buffer_scale(win->wl_surface, win->frame.buffer_scale); -#endif } if (surface_needs_commit) { -- 2.30.2 From 28a8a3c086175bbbf3566054c19764fd07884cff Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 12 Apr 2023 15:53:23 +1000 Subject: [PATCH 39/47] Fix crash on startup under the RIVER Wayland compositor Defer acting on the tag to update scale as it caused the window to use the wrong scale on startup & exit. GTK/KDE applications seem to postpone updating scale so use this by default as glitches with scale tend to be caused by updating the scale too frequently instead of not quickly enough. --- intern/ghost/intern/GHOST_WindowWayland.cc | 23 +++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/intern/ghost/intern/GHOST_WindowWayland.cc b/intern/ghost/intern/GHOST_WindowWayland.cc index e1b7b3c2924..4ffb6c20539 100644 --- a/intern/ghost/intern/GHOST_WindowWayland.cc +++ b/intern/ghost/intern/GHOST_WindowWayland.cc @@ -147,6 +147,18 @@ enum eGWL_PendingWindowActions { * this window is visible on may have changed. Recalculate the windows scale. */ PENDING_OUTPUT_SCALE_UPDATE, + + /** + * Workaround for a bug/glitch in WLROOTS based compositors (RIVER for e.g.). + * Deferring the scale update one even-loop cycle resolves a bug + * where the output enter/exit events cause the surface buffer being an invalid size. + * + * While these kinds of glitches might be ignored in some cases, + * this caused newly created windows to immediately loose the connection to WAYLAND + * (crashing from a user perspective). + */ + PENDING_OUTPUT_SCALE_UPDATE_DEFERRED, + /** * The surface needs a commit to run. * Use this to avoid committing immediately which can cause flickering when other operations @@ -670,6 +682,12 @@ static void gwl_window_pending_actions_handle(GWL_Window *win) win->ghost_window->setOpaque(); } # endif + if (actions[PENDING_OUTPUT_SCALE_UPDATE_DEFERRED]) { + gwl_window_pending_actions_tag(win, PENDING_OUTPUT_SCALE_UPDATE); + /* Force postponing scale update to ensure all scale information has been taken into account + * before the actual update is performed. Failing to do so tends to cause flickering. */ + actions[PENDING_OUTPUT_SCALE_UPDATE] = false; + } if (actions[PENDING_OUTPUT_SCALE_UPDATE]) { win->ghost_window->outputs_changed_update_scale(); } @@ -1918,7 +1936,10 @@ GHOST_TSuccess GHOST_WindowWayland::notify_decor_redraw() void GHOST_WindowWayland::outputs_changed_update_scale_tag() { #ifdef USE_EVENT_BACKGROUND_THREAD - gwl_window_pending_actions_tag(window_, PENDING_OUTPUT_SCALE_UPDATE); + + /* NOTE: if deferring causes problems, it could be isolated to the first scale initialization + * See: #GWL_WindowFrame::is_scale_init. */ + gwl_window_pending_actions_tag(window_, PENDING_OUTPUT_SCALE_UPDATE_DEFERRED); #else outputs_changed_update_scale(); #endif -- 2.30.2 From 13d9a6c9294803fa3b6e14bb12eeacbf0f5d64a5 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 12 Apr 2023 17:20:55 +1000 Subject: [PATCH 40/47] Cleanup: improve comments for makesrna dependency workaround --- source/blender/makesrna/intern/makesrna.c | 39 ++++++++++++++--------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c index 3592ecd84c8..a5ede32ec34 100644 --- a/source/blender/makesrna/intern/makesrna.c +++ b/source/blender/makesrna/intern/makesrna.c @@ -98,9 +98,13 @@ static void rna_generate_static_parameter_prototypes(FILE *f, } \ (void)0 +/** + * \return 1 when the file was renamed, 0 when no action was taken, -1 on error. + */ static int replace_if_different(const char *tmpfile, const char *dep_files[]) { - /* return 0; */ /* use for testing had edited rna */ + /* Use for testing hand edited `rna_*_gen.c` files. */ + // return 0; #define REN_IF_DIFF \ { \ @@ -124,9 +128,9 @@ static int replace_if_different(const char *tmpfile, const char *dep_files[]) return -1; \ } \ remove(tmpfile); \ - return 1 - - /* end REN_IF_DIFF */ + return 1; \ + ((void)0) + /* End `REN_IF_DIFF`. */ FILE *fp_new = NULL, *fp_org = NULL; int len_new, len_org; @@ -136,7 +140,7 @@ static int replace_if_different(const char *tmpfile, const char *dep_files[]) char orgfile[4096]; strcpy(orgfile, tmpfile); - orgfile[strlen(orgfile) - strlen(TMP_EXT)] = '\0'; /* strip '.tmp' */ + orgfile[strlen(orgfile) - strlen(TMP_EXT)] = '\0'; /* Strip `.tmp`. */ fp_org = fopen(orgfile, "rb"); @@ -144,12 +148,17 @@ static int replace_if_different(const char *tmpfile, const char *dep_files[]) REN_IF_DIFF; } - /* XXX, trick to work around dependency problem - * assumes dep_files is in the same dir as makesrna.c, which is true for now. */ + /* NOTE(@ideasman42): trick to work around dependency problem. + * The issue is as follows: When `makesrna.c` or any of the `rna_*.c` files being newer than + * their generated output, the build-system detects that the `rna_*_gen.c` file is out-dated and + * requests the `rna_*_gen.c` files are re-generated (even if this function always returns 0). + * It happens *every* rebuild, slowing incremental builds which isn't practical for development. + * + * This is only an issue for `Unix Makefiles`, `Ninja` generator doesn't have this problem. */ if (1) { - /* first check if makesrna.c is newer than generated files - * for development on makesrna.c you may want to disable this */ + /* First check if `makesrna.c` is newer than generated files. + * For development on `makesrna.c` you may want to disable this. */ if (file_older(orgfile, __FILE__)) { REN_IF_DIFF; } @@ -158,18 +167,18 @@ static int replace_if_different(const char *tmpfile, const char *dep_files[]) REN_IF_DIFF; } - /* now check if any files we depend on are newer than any generated files */ + /* Now check if any files we depend on are newer than any generated files. */ if (dep_files) { int pass; for (pass = 0; dep_files[pass]; pass++) { const char from_path[4096] = __FILE__; char *p1, *p2; - /* dir only */ + /* Only the directory (base-name). */ p1 = strrchr(from_path, '/'); p2 = strrchr(from_path, '\\'); strcpy((p1 > p2 ? p1 : p2) + 1, dep_files[pass]); - /* account for build deps, if makesrna.c (this file) is newer */ + /* Account for build dependencies, if `makesrna.c` (this file) is newer. */ if (file_older(orgfile, from_path)) { REN_IF_DIFF; } @@ -181,7 +190,7 @@ static int replace_if_different(const char *tmpfile, const char *dep_files[]) fp_new = fopen(tmpfile, "rb"); if (fp_new == NULL) { - /* shouldn't happen, just to be safe */ + /* Shouldn't happen, just to be safe. */ CLOG_ERROR(&LOG, "open error: \"%s\"", tmpfile); fclose(fp_org); return -1; @@ -202,7 +211,7 @@ static int replace_if_different(const char *tmpfile, const char *dep_files[]) REN_IF_DIFF; } - /* now compare the files... */ + /* Now compare the files: */ arr_new = MEM_mallocN(sizeof(char) * len_new, "rna_cmp_file_new"); arr_org = MEM_mallocN(sizeof(char) * len_org, "rna_cmp_file_org"); @@ -232,7 +241,7 @@ static int replace_if_different(const char *tmpfile, const char *dep_files[]) #undef REN_IF_DIFF } -/* Helper to solve keyword problems with C/C++ */ +/* Helper to solve keyword problems with C/C++. */ static const char *rna_safe_id(const char *id) { -- 2.30.2 From 022652beb9bdf5040446da926313cb762cd8f61a Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Wed, 12 Apr 2023 10:10:12 +0200 Subject: [PATCH 41/47] Fix #106794: Changing active camera changes other viewport local cameras f36543c5f552 took care of syncing multiple viewport`s cameras, but wasnt fully meeting intentions [which was to only do this if both viewports are locked to the scene camera]. Check was only done for the viewport this was executed in (if this was locked to the scene camera, it would change all other viewports as well), now also check if the target viewport prefers to use its own local camera instead and skip it in that case. Pull Request: https://projects.blender.org/blender/blender/pulls/106799 --- source/blender/editors/space_view3d/view3d_view.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index b8df5056ca4..bd17c673dc8 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -179,7 +179,8 @@ static void sync_viewport_camera_smoothview(bContext *C, if (other_v3d->camera == ob) { continue; } - if (v3d->scenelock) { + /* Checking the other view is needed to prevent local cameras being modified. */ + if (v3d->scenelock && other_v3d->scenelock) { ListBase *lb = (space_link == area->spacedata.first) ? &area->regionbase : &space_link->regionbase; for (ARegion *other_region = lb->first; other_region != NULL; -- 2.30.2 From 1771ded381125409a578ca57093f79219fe5cf79 Mon Sep 17 00:00:00 2001 From: Jesse Yurkovich Date: Wed, 12 Apr 2023 10:23:34 +0200 Subject: [PATCH 42/47] Fix: Call OpenImageIO correctly when creating grayscale images The call to `channel_sum` requires that the `weights` array is at least as large as the number of channels in the originating buffer. Switch to use the span overload as well since the method that takes a raw weights array is deprecated. Thanks to @aras_p for debugging the issue. Pull Request: https://projects.blender.org/blender/blender/pulls/106847 --- source/blender/imbuf/intern/oiio/openimageio_support.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/imbuf/intern/oiio/openimageio_support.cc b/source/blender/imbuf/intern/oiio/openimageio_support.cc index b1395cefddd..93c56ee89ba 100644 --- a/source/blender/imbuf/intern/oiio/openimageio_support.cc +++ b/source/blender/imbuf/intern/oiio/openimageio_support.cc @@ -297,9 +297,9 @@ bool imb_oiio_write(const WriteContext &ctx, const char *filepath, const ImageSp /* Grayscale images need to be based on luminance weights rather than only * using a single channel from the source. */ if (file_spec.nchannels == 1) { - float weights[3]; + float weights[4]{}; IMB_colormanagement_get_luminance_coefficients(weights); - ImageBufAlgo::channel_sum(final_buf, orig_buf, weights); + ImageBufAlgo::channel_sum(final_buf, orig_buf, {weights, orig_buf.nchannels()}); } else { final_buf = std::move(orig_buf); -- 2.30.2 From 007c9e4e47552ff77971d2bb80be720f27b03fd1 Mon Sep 17 00:00:00 2001 From: Damien Picard Date: Wed, 5 Apr 2023 01:43:15 +0200 Subject: [PATCH 43/47] Fix #106427: Vector Math node does not appear in node search When trying to search for the Vector Math node with a translated interface, the node did not come up because it did not use the proper translation context. The Vector Math node's RNA had a translation context added in db87e2a638, in order for the Floor operation to be disambiguated. I made a mistake and added the context to the entire node struct instead of just the Operation prop. This had the result that the Vector Math was searched with an empty context in the search menu, but could not be found. Replacing the translation context from the struct to the property fixes the issue, and actually allows disambiguating operations such as Floor, which wasn't achieved previously. Pull Request: https://projects.blender.org/blender/blender/pulls/106579 --- source/blender/makesrna/intern/rna_nodetree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 0e76d3560d7..2399cfe74e3 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -5014,7 +5014,7 @@ static void def_vector_math(StructRNA *srna) RNA_def_property_enum_sdna(prop, NULL, "custom1"); RNA_def_property_enum_items(prop, rna_enum_node_vec_math_items); RNA_def_property_ui_text(prop, "Operation", ""); - RNA_def_struct_translation_context(srna, BLT_I18NCONTEXT_ID_NODETREE); + RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_NODETREE); RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_ShaderNode_socket_update"); } -- 2.30.2 From 3f4f975228c9f86ab90223bc5a61630738018cf1 Mon Sep 17 00:00:00 2001 From: Damien Picard Date: Sat, 8 Apr 2023 20:35:15 +0200 Subject: [PATCH 44/47] I18n: fix footer in the text editor when loading an external file When loading an external file in the text editor, the footer text stating "File: " or "File: (unsaved)" was not translated, because the translation happened after string formatting, and the message was thus not found in the po files. Pull Request: https://projects.blender.org/blender/blender/pulls/106716 --- scripts/startup/bl_ui/space_text.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/startup/bl_ui/space_text.py b/scripts/startup/bl_ui/space_text.py index d4060721661..bf8fd1c8fbe 100644 --- a/scripts/startup/bl_ui/space_text.py +++ b/scripts/startup/bl_ui/space_text.py @@ -66,12 +66,12 @@ class TEXT_HT_footer(Header): if text.filepath: if text.is_dirty: row.label( - text=iface_("File: *%s (unsaved)" % text.filepath), + text=iface_("File: *%s (unsaved)") % text.filepath, translate=False, ) else: row.label( - text=iface_("File: %s" % text.filepath), + text=iface_("File: %s") % text.filepath, translate=False, ) else: -- 2.30.2 From ac09d18e4e7cca56cb33352ce750ea7e5568c7bb Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Wed, 12 Apr 2023 12:47:22 +0200 Subject: [PATCH 45/47] Fix #106840: Add-ons not loading from custom script directories `script_paths()` wasn't updated correctly, but that was hidden by some compabtibility logic that was in the patch earlier. Only with my last change to the PR before merging it that was removed and the error became quite visible. --- scripts/modules/bpy/utils/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/modules/bpy/utils/__init__.py b/scripts/modules/bpy/utils/__init__.py index 406016d82a0..e76559c07a0 100644 --- a/scripts/modules/bpy/utils/__init__.py +++ b/scripts/modules/bpy/utils/__init__.py @@ -355,7 +355,7 @@ def script_paths(*, subdir=None, user_pref=True, check_all=False, use_user=True) :arg subdir: Optional subdir. :type subdir: string - :arg user_pref: Include the user preference script path. + :arg user_pref: Include the user preference script paths. :type user_pref: bool :arg check_all: Include local, user and system paths rather just the paths Blender uses. :type check_all: bool @@ -387,6 +387,9 @@ def script_paths(*, subdir=None, user_pref=True, check_all=False, use_user=True) if use_user: base_paths.append(path_user) + if user_pref: + base_paths.extend(script_paths_pref()) + scripts = [] for path in base_paths: if not path: -- 2.30.2 From da75495ada0083b2c4a555179dc0df2b83a476a5 Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Wed, 12 Apr 2023 13:04:54 +0200 Subject: [PATCH 46/47] Fix user add-ons not showing up with "User" filter in Preferences Mistake in ba25023d22, updated the drawing code with the wrong function call. So when setting the add-ons category to "User", add-ons installed in the user paths (custom paths configured in Preferences) wouldn't show up. --- scripts/startup/bl_ui/space_userpref.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/startup/bl_ui/space_userpref.py b/scripts/startup/bl_ui/space_userpref.py index fc4cc0e15b8..531c9283988 100644 --- a/scripts/startup/bl_ui/space_userpref.py +++ b/scripts/startup/bl_ui/space_userpref.py @@ -1951,7 +1951,7 @@ class USERPREF_PT_addons(AddOnPanel, Panel): addon_user_dirs = tuple( p for p in ( - *[os.path.join(pref_p, "addons") for pref_p in bpy.utils.script_path_user()], + *[os.path.join(pref_p, "addons") for pref_p in bpy.utils.script_paths_pref()], bpy.utils.user_resource('SCRIPTS', path="addons"), ) if p -- 2.30.2 From e91d8c2003a3af56feeddd2d13729bb2ab0217a2 Mon Sep 17 00:00:00 2001 From: Ankit Meel Date: Wed, 12 Apr 2023 11:59:52 +0530 Subject: [PATCH 47/47] macOS/Linker: support mold and lld If someone buys "sold", mold should work on macOS too. With lld, Blender (700 MB) intel i5: 26s -> 17s. --- CMakeLists.txt | 8 +++--- .../cmake/platform/platform_apple.cmake | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f8e3460f09..a31a8e92485 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -645,15 +645,15 @@ if(WIN32) endif() # Compiler tool-chain. -if(UNIX AND NOT APPLE) +if(UNIX) if(CMAKE_COMPILER_IS_GNUCC) option(WITH_LINKER_GOLD "Use ld.gold linker which is usually faster than ld.bfd" ON) mark_as_advanced(WITH_LINKER_GOLD) - option(WITH_LINKER_LLD "Use ld.lld linker which is usually faster than ld.gold" OFF) - mark_as_advanced(WITH_LINKER_LLD) endif() if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") - option(WITH_LINKER_MOLD "Use ld.mold linker which is usually faster than ld.gold & ld.lld." OFF) + option(WITH_LINKER_LLD "Use ld.lld linker which is usually faster than ld.gold" OFF) + mark_as_advanced(WITH_LINKER_LLD) + option(WITH_LINKER_MOLD "Use ld.mold linker which is usually faster than ld.gold & ld.lld. Needs \"sold\" subscription on macOS." OFF) mark_as_advanced(WITH_LINKER_MOLD) endif() endif() diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index 942e86f617d..20114191c52 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -451,6 +451,31 @@ if(WITH_COMPILER_CCACHE) endif() endif() +unset(_custom_LINKER_FUSE_FLAG) +if(WITH_LINKER_LLD) + find_program(LLD_PROGRAM ld.lld) + if(LLD_PROGRAM) + set(_custom_LINKER_FUSE_FLAG "-fuse-ld=lld") + else() + message(WARNING "LLD linker NOT found, disabling WITH_LINKER_LLD") + set(WITH_LINKER_LLD OFF) + endif() +endif() +if(WITH_LINKER_MOLD) + find_program(MOLD_PROGRAM mold) + if(MOLD_PROGRAM) + set(_custom_LINKER_FUSE_FLAG "-fuse-ld=mold") + else() + message(WARNING "Mold linker NOT found, disabling WITH_LINKER_MOLD") + set(WITH_LINKER_MOLD OFF) + endif() +endif() + +if(_custom_LINKER_FUSE_FLAG) + add_link_options(${_custom_LINKER_FUSE_FLAG}) +endif() + + if(WITH_COMPILER_ASAN) list(APPEND PLATFORM_BUNDLED_LIBRARIES ${COMPILER_ASAN_LIBRARY}) endif() -- 2.30.2